ai12z 3.3.3 → 3.3.4
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/dist/cjs/ai12z-bot-f357d89d.js +2613 -0
- package/dist/cjs/ai12z-bot-f357d89d.js.map +1 -0
- package/dist/cjs/ai12z-bot.cjs.entry.js +1 -1
- package/dist/cjs/ai12z-chat_3.cjs.entry.js +46 -36
- package/dist/cjs/ai12z-chat_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ai12z-knowledge-box-005b5b85.js +384 -0
- package/dist/cjs/ai12z-knowledge-box-005b5b85.js.map +1 -0
- package/dist/cjs/ai12z-knowledge-box.cjs.entry.js +1 -1
- package/dist/cjs/dynamic-form.cjs.entry.js +35 -31
- package/dist/cjs/dynamic-form.cjs.entry.js.map +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/collection/components/ai12z-bot/ai12z-bot.js +51 -30
- package/dist/collection/components/ai12z-bot/ai12z-bot.js.map +1 -1
- package/dist/collection/components/ai12z-cta/components/Chat.js +46 -36
- package/dist/collection/components/ai12z-cta/components/Chat.js.map +1 -1
- package/dist/collection/components/ai12z-cta/components/DynamicForm.js +35 -31
- package/dist/collection/components/ai12z-cta/components/DynamicForm.js.map +1 -1
- package/dist/collection/components/ai12z-knowledge-box/ai12z-knowledge-box.js +45 -30
- package/dist/collection/components/ai12z-knowledge-box/ai12z-knowledge-box.js.map +1 -1
- package/dist/collection/global/survey-core.min.css +6 -0
- package/dist/esm/ai12z-bot-77e7fbec.js +2611 -0
- package/dist/esm/ai12z-bot-77e7fbec.js.map +1 -0
- package/dist/esm/ai12z-bot.entry.js +1 -1
- package/dist/esm/ai12z-chat_3.entry.js +46 -36
- package/dist/esm/ai12z-chat_3.entry.js.map +1 -1
- package/dist/esm/ai12z-knowledge-box-71a10937.js +382 -0
- package/dist/esm/ai12z-knowledge-box-71a10937.js.map +1 -0
- package/dist/esm/ai12z-knowledge-box.entry.js +1 -1
- package/dist/esm/dynamic-form.entry.js +35 -31
- package/dist/esm/dynamic-form.entry.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/library/index.esm.js +1 -1
- package/dist/library/library.esm.js +1 -1
- package/dist/library/{p-3e968bf1.entry.js → p-03269530.entry.js} +2 -2
- package/dist/library/p-08bbb4b8.entry.js +2 -0
- package/dist/library/p-08bbb4b8.entry.js.map +1 -0
- package/dist/library/{p-af76a7c6.entry.js → p-32558909.entry.js} +2 -2
- package/dist/library/{p-d567093b.entry.js → p-706e3933.entry.js} +2 -2
- package/dist/library/p-706e3933.entry.js.map +1 -0
- package/dist/library/p-a8e4dffd.js +2 -0
- package/dist/library/p-a8e4dffd.js.map +1 -0
- package/dist/library/p-c5f0d025.js +2 -0
- package/dist/library/p-c5f0d025.js.map +1 -0
- package/dist/types/components/ai12z-bot/ai12z-bot.d.ts +4 -0
- package/dist/types/components/ai12z-cta/components/Chat.d.ts +3 -0
- package/dist/types/components/ai12z-cta/components/DynamicForm.d.ts +3 -5
- package/dist/types/components/ai12z-knowledge-box/ai12z-knowledge-box.d.ts +3 -1
- package/package.json +6 -6
- package/dist/cjs/ai12z-bot-74f5836f.js +0 -2592
- package/dist/cjs/ai12z-bot-74f5836f.js.map +0 -1
- package/dist/cjs/ai12z-knowledge-box-30117a83.js +0 -369
- package/dist/cjs/ai12z-knowledge-box-30117a83.js.map +0 -1
- package/dist/collection/global/survey.min.css +0 -6
- package/dist/esm/ai12z-bot-6f64c1b4.js +0 -2590
- package/dist/esm/ai12z-bot-6f64c1b4.js.map +0 -1
- package/dist/esm/ai12z-knowledge-box-f0962b9a.js +0 -367
- package/dist/esm/ai12z-knowledge-box-f0962b9a.js.map +0 -1
- package/dist/library/p-03ec5034.js +0 -2
- package/dist/library/p-03ec5034.js.map +0 -1
- package/dist/library/p-28892eb0.entry.js +0 -2
- package/dist/library/p-28892eb0.entry.js.map +0 -1
- package/dist/library/p-a6392d09.js +0 -2
- package/dist/library/p-a6392d09.js.map +0 -1
- package/dist/library/p-d567093b.entry.js.map +0 -1
- /package/dist/library/{p-3e968bf1.entry.js.map → p-03269530.entry.js.map} +0 -0
- /package/dist/library/{p-af76a7c6.entry.js.map → p-32558909.entry.js.map} +0 -0
|
@@ -0,0 +1,2613 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index = require('./index-171f7ecf.js');
|
|
4
|
+
const index$3 = require('./index-286c64af.js');
|
|
5
|
+
const showdown = require('./showdown-f472e772.js');
|
|
6
|
+
const index$2 = require('./index-8a74626f.js');
|
|
7
|
+
const logger$1 = require('./logger-63779020.js');
|
|
8
|
+
const utils = require('./utils-e03d1710.js');
|
|
9
|
+
const index$1 = require('./index-19719993.js');
|
|
10
|
+
const globalStore = require('./global-store-1279b6b4.js');
|
|
11
|
+
|
|
12
|
+
// ILiveAgentProvider.ts
|
|
13
|
+
const envMode = index.Env.DATA_MODE ;
|
|
14
|
+
// Additional methods can be added as needed for more functionality
|
|
15
|
+
// This interface defines the contract for a Live Agent provider, allowing for chat management and message handling.
|
|
16
|
+
// Implementations of this interface would handle the specifics of interacting with a live chat service.
|
|
17
|
+
|
|
18
|
+
class EventBus {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.events = new Map();
|
|
21
|
+
}
|
|
22
|
+
on(event, listener) {
|
|
23
|
+
if (!this.events.has(event)) {
|
|
24
|
+
this.events.set(event, new Set());
|
|
25
|
+
}
|
|
26
|
+
this.events.get(event).add(listener);
|
|
27
|
+
}
|
|
28
|
+
off(event, listener) {
|
|
29
|
+
var _a;
|
|
30
|
+
(_a = this.events.get(event)) === null || _a === void 0 ? void 0 : _a.delete(listener);
|
|
31
|
+
}
|
|
32
|
+
emit(event, data) {
|
|
33
|
+
var _a;
|
|
34
|
+
(_a = this.events.get(event)) === null || _a === void 0 ? void 0 : _a.forEach(listener => listener(data));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const ChatEventBus = new EventBus();
|
|
38
|
+
|
|
39
|
+
const logger = new logger$1.Logger("SalesforceLiveAgentProvider", {
|
|
40
|
+
logLevel: logger$1.LogLevel.Info, // Set to Debug for detailed logs",
|
|
41
|
+
remoteLoggingUrl: "",
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* Refactor the salesforce implementation with the Messaging for In-App and Web REST API instead of chatter
|
|
45
|
+
*/
|
|
46
|
+
class SalesforceLiveAgentProvider {
|
|
47
|
+
constructor() {
|
|
48
|
+
this.configSettings = null;
|
|
49
|
+
this.sessionContext = null;
|
|
50
|
+
this.endpointSSE = "";
|
|
51
|
+
this.configSettings = null;
|
|
52
|
+
this.sessionContext = null;
|
|
53
|
+
this.endpointSSE = utils.getEndpoint(envMode);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Authenticates with Salesforce MIAW and retrieves an access token.
|
|
57
|
+
* This method should be called before starting a chat session.
|
|
58
|
+
* @throws {Error} If authentication fails.
|
|
59
|
+
* @returns {Promise<void>}
|
|
60
|
+
* @memberof SalesforceLiveAgentProvider
|
|
61
|
+
* @description This method sends a POST request to the Salesforce MIAW authorization endpoint to obtain an access token.
|
|
62
|
+
* The access token is stored in the session context for subsequent API calls.
|
|
63
|
+
*/
|
|
64
|
+
async authenticate() {
|
|
65
|
+
var _a, _b, _c;
|
|
66
|
+
const response = await fetch(`${(_a = this.configSettings) === null || _a === void 0 ? void 0 : _a.instanceUrl}/iamessage/api/v2/authorization/unauthenticated/access-token`, {
|
|
67
|
+
method: "POST",
|
|
68
|
+
headers: { "Content-Type": "application/json" },
|
|
69
|
+
body: JSON.stringify({
|
|
70
|
+
orgId: (_b = this.configSettings) === null || _b === void 0 ? void 0 : _b.orgId,
|
|
71
|
+
esDeveloperName: (_c = this.configSettings) === null || _c === void 0 ? void 0 : _c.messagingChannelId,
|
|
72
|
+
capabilitiesVersion: "1",
|
|
73
|
+
platform: "Web",
|
|
74
|
+
context: {
|
|
75
|
+
appName: "DemoMessagingClient",
|
|
76
|
+
clientVersion: "1.0.0",
|
|
77
|
+
},
|
|
78
|
+
}),
|
|
79
|
+
});
|
|
80
|
+
if (!response.ok) {
|
|
81
|
+
throw new Error(`Failed to authenticate with Salesforce MIAW: [error]: ${response.status} ${response.statusText}`);
|
|
82
|
+
}
|
|
83
|
+
const data = await response.json();
|
|
84
|
+
if (!this.sessionContext)
|
|
85
|
+
this.sessionContext = {};
|
|
86
|
+
this.sessionContext.accessToken = data.accessToken;
|
|
87
|
+
this.sessionContext.sessionId = data.lastEventId;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Starts a new chat session with Salesforce Live Agent.
|
|
91
|
+
* This method should be called after authentication to initiate a chat session.
|
|
92
|
+
* @throws {Error} If starting the chat session fails.
|
|
93
|
+
* @returns {Promise<void>}
|
|
94
|
+
* @memberof SalesforceLiveAgentProvider
|
|
95
|
+
* @description This method creates a new conversation in Salesforce and sets up the session context.
|
|
96
|
+
* It emits a "liveAgentReady" event when the session is successfully started.
|
|
97
|
+
*/
|
|
98
|
+
async startSession() {
|
|
99
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
100
|
+
const conversationId = crypto.randomUUID().toLowerCase();
|
|
101
|
+
const conversationResponse = await fetch(`${(_a = this.configSettings) === null || _a === void 0 ? void 0 : _a.instanceUrl}/iamessage/api/v2/conversation`, {
|
|
102
|
+
method: "POST",
|
|
103
|
+
headers: {
|
|
104
|
+
"Content-Type": "application/json",
|
|
105
|
+
"Authorization": `Bearer ${(_b = this.sessionContext) === null || _b === void 0 ? void 0 : _b.accessToken}`,
|
|
106
|
+
},
|
|
107
|
+
body: JSON.stringify({
|
|
108
|
+
conversationId: conversationId,
|
|
109
|
+
esDeveloperName: (_c = this.configSettings) === null || _c === void 0 ? void 0 : _c.messagingChannelId,
|
|
110
|
+
routingAttributes: {
|
|
111
|
+
recordId: (_d = this.sessionContext) === null || _d === void 0 ? void 0 : _d.conversationId,
|
|
112
|
+
},
|
|
113
|
+
}),
|
|
114
|
+
});
|
|
115
|
+
if (!conversationResponse.ok) {
|
|
116
|
+
throw new Error(`Conversation start failed: ${conversationResponse.status} ${conversationResponse.statusText}`);
|
|
117
|
+
}
|
|
118
|
+
// const conversationData: any = await conversationResponse.json()
|
|
119
|
+
if (conversationResponse.ok) {
|
|
120
|
+
// console.log("Conversation started successfully", conversationResponse)
|
|
121
|
+
this.sessionContext.conversationId = conversationId;
|
|
122
|
+
ChatEventBus.emit("liveAgentReady", undefined);
|
|
123
|
+
// console.log(this.sessionContext?.initialMessages)
|
|
124
|
+
// Send initial message to the agent here need to format the message properly
|
|
125
|
+
// Iterate the initialmessages and create a user friendly display message with contact user: for user input and bot: as bot response
|
|
126
|
+
let formatInitialMessages = "";
|
|
127
|
+
if (((_e = this.sessionContext) === null || _e === void 0 ? void 0 : _e.initialMessages) && ((_f = this.sessionContext) === null || _f === void 0 ? void 0 : _f.initialMessages.length) > 0) {
|
|
128
|
+
(_g = this.sessionContext.initialMessages[0]) === null || _g === void 0 ? void 0 : _g.messages.forEach((message) => {
|
|
129
|
+
if (!(message === null || message === void 0 ? void 0 : message.text))
|
|
130
|
+
return;
|
|
131
|
+
// strip the <p> </p> tags from the message
|
|
132
|
+
message.text = message.text.replace(/<\/?p>/g, "");
|
|
133
|
+
if (message === null || message === void 0 ? void 0 : message.isUser) {
|
|
134
|
+
formatInitialMessages += `User: ${message.text}\n`;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
formatInitialMessages += `Bot: ${message.text}\n`;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
// console.log("Formatted Initial Messages", formatInitialMessages)
|
|
142
|
+
if (formatInitialMessages) {
|
|
143
|
+
this.sendMessage({ isNewSession: true, sessionId: ((_h = this.sessionContext) === null || _h === void 0 ? void 0 : _h.sessionId) || "", message: formatInitialMessages });
|
|
144
|
+
}
|
|
145
|
+
// await this.pollMessages("")
|
|
146
|
+
this.listenToMessages();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Initializes the Salesforce Live Agent provider and starts listening for messages.
|
|
151
|
+
* This should be called after the user has authenticated and is ready to start a chat session.
|
|
152
|
+
*/
|
|
153
|
+
async initialize(startChatOptions) {
|
|
154
|
+
var _a, _b, _c;
|
|
155
|
+
logger.debug("Initializing Salesforce Live Agent Provider");
|
|
156
|
+
if (!this.configSettings) {
|
|
157
|
+
this.configSettings = (startChatOptions === null || startChatOptions === void 0 ? void 0 : startChatOptions.config) || this.configSettings;
|
|
158
|
+
}
|
|
159
|
+
if (!((_a = this.configSettings) === null || _a === void 0 ? void 0 : _a.instanceUrl) || !((_b = this.configSettings) === null || _b === void 0 ? void 0 : _b.orgId) || !((_c = this.configSettings) === null || _c === void 0 ? void 0 : _c.messagingChannelId)) {
|
|
160
|
+
throw new Error("Missing required configuration settings for Salesforce Live Agent Provider");
|
|
161
|
+
}
|
|
162
|
+
if (!this.sessionContext) {
|
|
163
|
+
this.sessionContext = {
|
|
164
|
+
accessToken: "",
|
|
165
|
+
lastMessageReadTime: 0,
|
|
166
|
+
sessionId: "",
|
|
167
|
+
initialMessages: (startChatOptions === null || startChatOptions === void 0 ? void 0 : startChatOptions.messageHistory) || [],
|
|
168
|
+
isActive: false,
|
|
169
|
+
conversationId: (startChatOptions === null || startChatOptions === void 0 ? void 0 : startChatOptions.conversationId) || crypto.randomUUID().toLowerCase(),
|
|
170
|
+
userId: (startChatOptions === null || startChatOptions === void 0 ? void 0 : startChatOptions.userId) || "",
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
try {
|
|
174
|
+
await this.authenticate();
|
|
175
|
+
await this.startSession();
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
logger.error("Error initializing Salesforce Live Agent Provider:", error);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
parseMessageEntries(entries) {
|
|
183
|
+
const filteredEntries = entries.filter(entry => {
|
|
184
|
+
var _a, _b, _c, _d;
|
|
185
|
+
return entry.entryType === "Message" && ((_c = (_b = (_a = entry.entryPayload) === null || _a === void 0 ? void 0 : _a.abstractMessage) === null || _b === void 0 ? void 0 : _b.staticContent) === null || _c === void 0 ? void 0 : _c.text) && ((_d = entry.sender) === null || _d === void 0 ? void 0 : _d.role) != "EndUser";
|
|
186
|
+
});
|
|
187
|
+
const mappedEntries = filteredEntries.map(entry => {
|
|
188
|
+
const result = {
|
|
189
|
+
id: entry.entryPayload.abstractMessage.id,
|
|
190
|
+
content: entry.entryPayload.abstractMessage.staticContent.text,
|
|
191
|
+
sender: {
|
|
192
|
+
role: this.mapSenderRole(entry.sender.role),
|
|
193
|
+
displayName: entry.senderDisplayName || "Unknown",
|
|
194
|
+
},
|
|
195
|
+
timestamp: entry.clientTimestamp,
|
|
196
|
+
};
|
|
197
|
+
return result;
|
|
198
|
+
});
|
|
199
|
+
return mappedEntries;
|
|
200
|
+
}
|
|
201
|
+
handleParticipantChange(event) {
|
|
202
|
+
try {
|
|
203
|
+
logger.debug("Participant change event received:", event.data);
|
|
204
|
+
if (!event.data)
|
|
205
|
+
return;
|
|
206
|
+
// Parse the event data
|
|
207
|
+
const data = JSON.parse(event.data);
|
|
208
|
+
const entries = JSON.parse(data.conversationEntry.entryPayload).entries;
|
|
209
|
+
let entryAddEventMessage = [];
|
|
210
|
+
entries.forEach((entry) => {
|
|
211
|
+
var _a, _b;
|
|
212
|
+
const conId = crypto.randomUUID();
|
|
213
|
+
if (entry.operation === "add" && entry.participant.role.toLowerCase() === "agent") {
|
|
214
|
+
entryAddEventMessage.push({
|
|
215
|
+
id: conId,
|
|
216
|
+
isUser: false,
|
|
217
|
+
conversationId: conId,
|
|
218
|
+
type: "system",
|
|
219
|
+
text: `${entry.displayName} has joined the chat`,
|
|
220
|
+
timestamp: new Date(),
|
|
221
|
+
sender: {
|
|
222
|
+
role: "agent",
|
|
223
|
+
displayName: (_a = entry === null || entry === void 0 ? void 0 : entry.displayName) !== null && _a !== void 0 ? _a : "System",
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (entry.operation === "remove" && entry.participant.role.toLowerCase() === "agent") {
|
|
228
|
+
entryAddEventMessage.push({
|
|
229
|
+
id: conId,
|
|
230
|
+
type: "system",
|
|
231
|
+
text: `${entry.displayName} has left the chat`,
|
|
232
|
+
conversationId: conId,
|
|
233
|
+
isUser: false,
|
|
234
|
+
timestamp: new Date(),
|
|
235
|
+
sender: {
|
|
236
|
+
role: "agent",
|
|
237
|
+
displayName: (_b = entry === null || entry === void 0 ? void 0 : entry.displayName) !== null && _b !== void 0 ? _b : "System",
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
// return entryAddEventMessage ?? []
|
|
243
|
+
if ((entryAddEventMessage === null || entryAddEventMessage === void 0 ? void 0 : entryAddEventMessage.length) > 0) {
|
|
244
|
+
// Emit the event to notify the parent component
|
|
245
|
+
ChatEventBus.emit("AGENT_EVENT", entryAddEventMessage);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
logger.error("Error handling participant change event:", error);
|
|
250
|
+
// Handle error appropriately, e.g., log it or notify the user
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
mapEntriesToMessages(entries) {
|
|
254
|
+
const mappedEntries = entries.map((entry) => ({
|
|
255
|
+
id: entry.entryPayload.abstractMessage.id,
|
|
256
|
+
text: entry.entryPayload.abstractMessage.staticContent.text,
|
|
257
|
+
sender: {
|
|
258
|
+
role: this.mapSenderRole(entry.sender.role),
|
|
259
|
+
displayName: entry.senderDisplayName || "Unknown",
|
|
260
|
+
},
|
|
261
|
+
type: entry.sender.role === "endUser" ? "user" : "ai",
|
|
262
|
+
timestamp: new Date(entry.timestamp),
|
|
263
|
+
isUser: false,
|
|
264
|
+
conversationId: entry.entryPayload.abstractMessage.id,
|
|
265
|
+
}));
|
|
266
|
+
return mappedEntries;
|
|
267
|
+
}
|
|
268
|
+
handleParticipantMessage(event) {
|
|
269
|
+
var _a, _b;
|
|
270
|
+
try {
|
|
271
|
+
if (!event.data)
|
|
272
|
+
return;
|
|
273
|
+
// Parse the event data
|
|
274
|
+
const data = JSON.parse(event.data);
|
|
275
|
+
/**
|
|
276
|
+
* Ignore messages from EndUser role
|
|
277
|
+
* This is to prevent processing messages that are not relevant to the agent's response
|
|
278
|
+
*/
|
|
279
|
+
if (((_b = (_a = data === null || data === void 0 ? void 0 : data.conversationEntry) === null || _a === void 0 ? void 0 : _a.sender) === null || _b === void 0 ? void 0 : _b.role) === "EndUser") {
|
|
280
|
+
logger.debug("Ignoring message from EndUser role");
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const entryPayload = JSON.parse(data.conversationEntry.entryPayload);
|
|
284
|
+
data.conversationEntry.entryPayload = entryPayload;
|
|
285
|
+
const messageEntries = this.mapEntriesToMessages([data.conversationEntry]);
|
|
286
|
+
if ((messageEntries === null || messageEntries === void 0 ? void 0 : messageEntries.length) > 0) {
|
|
287
|
+
// Emit the event to notify the parent component
|
|
288
|
+
ChatEventBus.emit("AGENT_MESSAGE", messageEntries);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
logger.error("Error handling participant message event:", error);
|
|
293
|
+
// Handle error appropriately, e.g., log it or notify the user
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
mapSenderRole(role) {
|
|
297
|
+
const normalizedRole = role.toLowerCase();
|
|
298
|
+
if (normalizedRole === "chatbot")
|
|
299
|
+
return "agent";
|
|
300
|
+
if (normalizedRole === "enduser")
|
|
301
|
+
return "endUser";
|
|
302
|
+
return "unknown";
|
|
303
|
+
}
|
|
304
|
+
listenToMessages() {
|
|
305
|
+
var _a, _b, _c;
|
|
306
|
+
logger.debug("Listening to messages from Salesforce Live Agent");
|
|
307
|
+
// this.endpointSSE = "http://localhost:5050"
|
|
308
|
+
const eventSource = new EventSource(`${this.endpointSSE}/bot/liveagent/sse?token=${(_a = this.sessionContext) === null || _a === void 0 ? void 0 : _a.accessToken}&org_id=${(_b = this.configSettings) === null || _b === void 0 ? void 0 : _b.orgId}&sse_url=${(_c = this.configSettings) === null || _c === void 0 ? void 0 : _c.instanceUrl}`, {
|
|
309
|
+
withCredentials: true,
|
|
310
|
+
});
|
|
311
|
+
if (!eventSource) {
|
|
312
|
+
logger.error("Failed to create EventSource");
|
|
313
|
+
throw new Error("Failed to create EventSource");
|
|
314
|
+
}
|
|
315
|
+
eventSource.onerror = () => {
|
|
316
|
+
logger.error("❌ SSE Error: Connection lost or error occurred");
|
|
317
|
+
// Handle error, e.g., retry connection or notify user
|
|
318
|
+
ChatEventBus.emit("AGENT_ERROR", true);
|
|
319
|
+
// Optionally, you can close the EventSource if needed
|
|
320
|
+
eventSource.close();
|
|
321
|
+
};
|
|
322
|
+
eventSource.onopen = () => {
|
|
323
|
+
logger.debug("✅ SSE Connection Established");
|
|
324
|
+
// ChatEventBus.emit("liveAgentReady", undefined)
|
|
325
|
+
};
|
|
326
|
+
eventSource.onmessage = event => {
|
|
327
|
+
var _a, _b;
|
|
328
|
+
try {
|
|
329
|
+
const parsedEventData = JSON.parse(event.data);
|
|
330
|
+
logger.debug("📡 Message Received on entrytype:", (_a = parsedEventData === null || parsedEventData === void 0 ? void 0 : parsedEventData.conversationEntry) === null || _a === void 0 ? void 0 : _a.entryType, " --- ", event.data);
|
|
331
|
+
// Handle incoming messages if needed
|
|
332
|
+
switch ((_b = parsedEventData === null || parsedEventData === void 0 ? void 0 : parsedEventData.conversationEntry) === null || _b === void 0 ? void 0 : _b.entryType) {
|
|
333
|
+
case "RoutingResult":
|
|
334
|
+
case "RoutingWorkResult":
|
|
335
|
+
logger.debug("Conversation Routing Result:", event.data);
|
|
336
|
+
// Handle conversation routing result if needed
|
|
337
|
+
ChatEventBus.emit("AGENT_SESSION_CREATED", true);
|
|
338
|
+
ChatEventBus.emit("AGENT_EVENT", []);
|
|
339
|
+
break;
|
|
340
|
+
case "ParticipantChanged":
|
|
341
|
+
logger.debug("Conversation ParticipantChanged event received:", event === null || event === void 0 ? void 0 : event.data);
|
|
342
|
+
this.handleParticipantChange(event);
|
|
343
|
+
break;
|
|
344
|
+
case "Message":
|
|
345
|
+
this.handleParticipantMessage(event);
|
|
346
|
+
break;
|
|
347
|
+
case "CloseConversation":
|
|
348
|
+
ChatEventBus.emit("CONVERSATION_CLOSED", true);
|
|
349
|
+
eventSource.close();
|
|
350
|
+
break;
|
|
351
|
+
case "DeliveryAcknowledgement":
|
|
352
|
+
case "ReadAcknowledgement":
|
|
353
|
+
logger.debug("Conversation event received:", event === null || event === void 0 ? void 0 : event.data);
|
|
354
|
+
// Handle conversation close if needed
|
|
355
|
+
// ChatEventBus.emit("AGENT_EVENT", event.data)
|
|
356
|
+
break;
|
|
357
|
+
case "TypingStartedIndicator":
|
|
358
|
+
ChatEventBus.emit("TYPING_STARTED", true);
|
|
359
|
+
break;
|
|
360
|
+
case "TypingStoppedIndicator":
|
|
361
|
+
logger.debug("Typing indicator received:", event.data);
|
|
362
|
+
// Handle typing indicator if needed
|
|
363
|
+
ChatEventBus.emit("TYPING_STOPPED", true);
|
|
364
|
+
break;
|
|
365
|
+
case "StreamingToken":
|
|
366
|
+
logger.debug("Streaming token received", event.data);
|
|
367
|
+
// Handle streaming token if needed
|
|
368
|
+
// ChatEventBus.emit("streamingTokenReceived", event.data)
|
|
369
|
+
break;
|
|
370
|
+
case "ProgressIndicator":
|
|
371
|
+
logger.debug("Progress indicator received", event.data);
|
|
372
|
+
// Handle progress indicator if needed
|
|
373
|
+
// ChatEventBus.emit("progressIndicatorReceived", event.data)
|
|
374
|
+
break;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
catch (e) {
|
|
378
|
+
logger.error("Failed to parse event data:", e);
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
/** Interface Implementation */
|
|
384
|
+
/**
|
|
385
|
+
* @param startChatOptions
|
|
386
|
+
* @description This method initializes the Salesforce Live Agent provider and starts a chat session.
|
|
387
|
+
* It authenticates with Salesforce, starts a new conversation, and sets up the session context.
|
|
388
|
+
* It emits a "liveAgentReady" event when the session is successfully started.
|
|
389
|
+
* @throws {Error} If initialization fails.
|
|
390
|
+
* @returns {Promise<void>}
|
|
391
|
+
* @memberof SalesforceLiveAgentProvider
|
|
392
|
+
*
|
|
393
|
+
*
|
|
394
|
+
*/
|
|
395
|
+
async startChat(startChatOptions) {
|
|
396
|
+
this.initialize(startChatOptions);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
*
|
|
400
|
+
* @param sendMessageOptions
|
|
401
|
+
* @description This method sends a message to the Salesforce Live Agent.
|
|
402
|
+
* It constructs a POST request to the Salesforce MIAW API to send the message.
|
|
403
|
+
* @throws {Error} If sending the message fails.
|
|
404
|
+
* @returns {Promise<void>}
|
|
405
|
+
* @memberof SalesforceLiveAgentProvider
|
|
406
|
+
*
|
|
407
|
+
*/
|
|
408
|
+
async sendMessage(sendMessageOptions) {
|
|
409
|
+
var _a, _b, _c, _d;
|
|
410
|
+
const res = await fetch(`${(_a = this.configSettings) === null || _a === void 0 ? void 0 : _a.instanceUrl}/iamessage/api/v2/conversation/${(_b = this.sessionContext) === null || _b === void 0 ? void 0 : _b.conversationId}/message`, {
|
|
411
|
+
method: "POST",
|
|
412
|
+
headers: {
|
|
413
|
+
"Authorization": `Bearer ${(_c = this.sessionContext) === null || _c === void 0 ? void 0 : _c.accessToken}`,
|
|
414
|
+
"Content-Type": "application/json",
|
|
415
|
+
},
|
|
416
|
+
body: JSON.stringify({
|
|
417
|
+
message: {
|
|
418
|
+
id: crypto.randomUUID(),
|
|
419
|
+
messageType: "StaticContentMessage",
|
|
420
|
+
staticContent: {
|
|
421
|
+
formatType: "Text",
|
|
422
|
+
text: sendMessageOptions === null || sendMessageOptions === void 0 ? void 0 : sendMessageOptions.message,
|
|
423
|
+
},
|
|
424
|
+
},
|
|
425
|
+
esDeveloperName: (_d = this.configSettings) === null || _d === void 0 ? void 0 : _d.messagingChannelId,
|
|
426
|
+
isNewMessagingSession: (sendMessageOptions === null || sendMessageOptions === void 0 ? void 0 : sendMessageOptions.isNewSession) || false,
|
|
427
|
+
language: "",
|
|
428
|
+
}),
|
|
429
|
+
});
|
|
430
|
+
if (!res.ok)
|
|
431
|
+
throw new Error("Failed to send message");
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
*
|
|
435
|
+
* @param _sessionId
|
|
436
|
+
* @returns
|
|
437
|
+
* @description This method polls for new messages in the Salesforce Live Agent conversation.
|
|
438
|
+
* It sends a GET request to the Salesforce MIAW API to retrieve conversation entries.
|
|
439
|
+
* It processes the entries and emits a "messageReceived" event with the new messages.
|
|
440
|
+
* @throws {Error} If polling fails.
|
|
441
|
+
* @returns {Promise<string[] | any>}
|
|
442
|
+
* @memberof SalesforceLiveAgentProvider
|
|
443
|
+
*/
|
|
444
|
+
async pollMessages(_sessionId) {
|
|
445
|
+
return new Promise(async (resolve, reject) => {
|
|
446
|
+
this.sessionContext.lastMessageReadTime = 0;
|
|
447
|
+
const poll = async () => {
|
|
448
|
+
var _a, _b, _c;
|
|
449
|
+
try {
|
|
450
|
+
const url = new URL(`${(_a = this.configSettings) === null || _a === void 0 ? void 0 : _a.instanceUrl}/iamessage/api/v2/conversation/${(_b = this.sessionContext) === null || _b === void 0 ? void 0 : _b.conversationId}/entries`);
|
|
451
|
+
url.searchParams.append("limit", "50");
|
|
452
|
+
url.searchParams.append("direction", "FromEnd");
|
|
453
|
+
url.searchParams.append("startTimestamp", `${this.sessionContext.lastMessageReadTime}`);
|
|
454
|
+
const response = await fetch(url.toString(), {
|
|
455
|
+
method: "GET",
|
|
456
|
+
headers: {
|
|
457
|
+
Authorization: `Bearer ${(_c = this.sessionContext) === null || _c === void 0 ? void 0 : _c.accessToken}`,
|
|
458
|
+
},
|
|
459
|
+
});
|
|
460
|
+
const data = await response.json();
|
|
461
|
+
const unsortedEntries = this.parseMessageEntries(data.conversationEntries);
|
|
462
|
+
const sortedEntries = unsortedEntries.sort((a, b) => a.timestamp - b.timestamp);
|
|
463
|
+
const entries = sortedEntries.map(entry => {
|
|
464
|
+
var _a;
|
|
465
|
+
return ({
|
|
466
|
+
text: entry.content,
|
|
467
|
+
isUser: false,
|
|
468
|
+
id: entry.id,
|
|
469
|
+
timestamp: new Date(entry.timestamp),
|
|
470
|
+
images: [],
|
|
471
|
+
conversationId: entry.id,
|
|
472
|
+
formModel: "",
|
|
473
|
+
surveyDomId: "",
|
|
474
|
+
sender: {
|
|
475
|
+
role: entry.sender.role === "endUser" ? "user" : "ai",
|
|
476
|
+
displayName: (_a = entry === null || entry === void 0 ? void 0 : entry.sender) === null || _a === void 0 ? void 0 : _a.displayName,
|
|
477
|
+
},
|
|
478
|
+
});
|
|
479
|
+
});
|
|
480
|
+
if ((entries === null || entries === void 0 ? void 0 : entries.length) > 0) {
|
|
481
|
+
this.sessionContext.lastMessageReadTime = new Date().getTime();
|
|
482
|
+
ChatEventBus.emit("messageReceived", entries);
|
|
483
|
+
}
|
|
484
|
+
resolve(entries);
|
|
485
|
+
// No messages yet, poll again after delay
|
|
486
|
+
setTimeout(poll, 5000);
|
|
487
|
+
}
|
|
488
|
+
catch (err) {
|
|
489
|
+
logger.error("Error on Polling", err.toString());
|
|
490
|
+
reject(err);
|
|
491
|
+
}
|
|
492
|
+
};
|
|
493
|
+
await poll();
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
*
|
|
498
|
+
* @param sessionId
|
|
499
|
+
* @returns
|
|
500
|
+
* @description This method checks if the chat session is active.
|
|
501
|
+
* It checks the session context to determine if the session is active.
|
|
502
|
+
*/
|
|
503
|
+
async isChatActive(sessionId) {
|
|
504
|
+
logger.debug("sessionId", sessionId);
|
|
505
|
+
if (!this.sessionContext)
|
|
506
|
+
return false;
|
|
507
|
+
return this.sessionContext.isActive;
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
*
|
|
511
|
+
* @param sessionId
|
|
512
|
+
* @description This method ends the chat session with Salesforce Live Agent.
|
|
513
|
+
* It sends a POST request to the Salesforce MIAW API to close the conversation.
|
|
514
|
+
*/
|
|
515
|
+
async endChat(_sessionId) {
|
|
516
|
+
var _a, _b, _c, _d, _e;
|
|
517
|
+
// console.log("this.sessionContext?.conversationId", this.sessionContext?.conversationId)
|
|
518
|
+
if ((_a = this.sessionContext) === null || _a === void 0 ? void 0 : _a.conversationId) {
|
|
519
|
+
const res = await fetch(`${(_b = this.configSettings) === null || _b === void 0 ? void 0 : _b.instanceUrl}/iamessage/api/v2/conversation/${(_c = this.sessionContext) === null || _c === void 0 ? void 0 : _c.conversationId}?esDeveloperName=${(_d = this.configSettings) === null || _d === void 0 ? void 0 : _d.messagingChannelId}`, {
|
|
520
|
+
method: "DELETE",
|
|
521
|
+
headers: {
|
|
522
|
+
"Authorization": `Bearer ${(_e = this.sessionContext) === null || _e === void 0 ? void 0 : _e.accessToken}`,
|
|
523
|
+
"Content-Type": "application/json",
|
|
524
|
+
},
|
|
525
|
+
});
|
|
526
|
+
if (!(res === null || res === void 0 ? void 0 : res.ok)) {
|
|
527
|
+
logger.warn(`Failed to end the chat`);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
*
|
|
533
|
+
* @param sessionId
|
|
534
|
+
* @returns
|
|
535
|
+
* @description This method retrieves the chat transcript for the given session ID.
|
|
536
|
+
* It returns an array of messages from the session context.
|
|
537
|
+
*/
|
|
538
|
+
async getTranscript(sessionId) {
|
|
539
|
+
logger.debug("sessionId", sessionId);
|
|
540
|
+
if (!this.sessionContext)
|
|
541
|
+
return [];
|
|
542
|
+
return this.sessionContext.initialMessages || [];
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
class LiveAgentProvider {
|
|
547
|
+
constructor() { }
|
|
548
|
+
static getProvider(provider) {
|
|
549
|
+
switch (provider !== null && provider !== void 0 ? provider : this.provider) {
|
|
550
|
+
case "salesforce":
|
|
551
|
+
this.providerInstance = new SalesforceLiveAgentProvider();
|
|
552
|
+
break;
|
|
553
|
+
default:
|
|
554
|
+
throw new Error("Unsupported Live Agent provider");
|
|
555
|
+
}
|
|
556
|
+
return this.providerInstance;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
LiveAgentProvider.provider = "salesforce";
|
|
560
|
+
|
|
561
|
+
/** Refactor the below to code to handle the liveagent events and integrate with the chat system ai12z-bot.tsx */
|
|
562
|
+
class LiveAgentEventHandler {
|
|
563
|
+
constructor() {
|
|
564
|
+
this.logger = new logger$1.Logger("LiveAgentEventHandler", {
|
|
565
|
+
logLevel: logger$1.LogLevel.Warn, // Set log level based on environment or configuration
|
|
566
|
+
});
|
|
567
|
+
/**
|
|
568
|
+
* Called when the `messageReceived` event is emitted.
|
|
569
|
+
* Adds the new message to our state, triggering a UI update.
|
|
570
|
+
*/
|
|
571
|
+
this.handleAgentMessage = (message) => {
|
|
572
|
+
let combinesMessage = "";
|
|
573
|
+
if ((message === null || message === void 0 ? void 0 : message.length) > 0) {
|
|
574
|
+
for (const msg of message) {
|
|
575
|
+
combinesMessage += (msg === null || msg === void 0 ? void 0 : msg.text) + "\n\n";
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
return combinesMessage;
|
|
579
|
+
};
|
|
580
|
+
this.sendMessage = (sendMessage) => {
|
|
581
|
+
if (this.liveAgentProvider) {
|
|
582
|
+
this.logger.debug("Sending message to Live Agent:", sendMessage.message);
|
|
583
|
+
this.liveAgentProvider.sendMessage(sendMessage);
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
this.logger.warn("Live Agent provider is not initialized. Cannot send message.");
|
|
587
|
+
}
|
|
588
|
+
};
|
|
589
|
+
this.disconnectLiveAgent = () => {
|
|
590
|
+
if (this.liveAgentProvider) {
|
|
591
|
+
this.logger.debug("Disconnecting from Live Agent");
|
|
592
|
+
this.liveAgentProvider.endChat("");
|
|
593
|
+
}
|
|
594
|
+
else {
|
|
595
|
+
this.logger.warn("Live Agent provider is not initialized. Cannot disconnect.");
|
|
596
|
+
}
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
addAgentEventMessage(eventMessages) {
|
|
600
|
+
// I have to return a div element with the agent events as a list
|
|
601
|
+
const entryParent = document.createElement("div");
|
|
602
|
+
eventMessages.forEach((eventMsg) => {
|
|
603
|
+
// this.addAgentDivEvent(eventMsg, currentDomId)
|
|
604
|
+
const entry = document.createElement("div");
|
|
605
|
+
entry.className = "py-2 border-b border-gray-200 text-center";
|
|
606
|
+
const label = document.createElement("span");
|
|
607
|
+
label.className = "text-[10px] font-medium text-gray-500 tracking-wide"; // "text-xs font-semibold text-gray-600"
|
|
608
|
+
label.textContent = (eventMsg === null || eventMsg === void 0 ? void 0 : eventMsg.text) || "Agent event";
|
|
609
|
+
entry.appendChild(label);
|
|
610
|
+
entryParent.appendChild(entry);
|
|
611
|
+
});
|
|
612
|
+
return entryParent;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Connects to the specified Live Agent provider and sets up event listeners.
|
|
616
|
+
* @param name - The name of the Live Agent provider (e.g., "salesforce", "custom", "ldesk").
|
|
617
|
+
* @param chatOptions - Options for starting the chat session.
|
|
618
|
+
*/
|
|
619
|
+
async connectToLiveAgent(name = "salesforce", chatOptions) {
|
|
620
|
+
try {
|
|
621
|
+
this.logger.debug("Connected to Live Agent", name, " --- ", chatOptions);
|
|
622
|
+
switch (name) {
|
|
623
|
+
case "salesforce":
|
|
624
|
+
this.logger.debug("Using Salesforce Live Agent Provider");
|
|
625
|
+
this.liveAgentProvider = LiveAgentProvider.getProvider(name);
|
|
626
|
+
this.liveAgentProvider.startChat(chatOptions);
|
|
627
|
+
break;
|
|
628
|
+
case "custom":
|
|
629
|
+
this.logger.debug("Using Custom Live Agent Provider");
|
|
630
|
+
break;
|
|
631
|
+
case "liveagent":
|
|
632
|
+
this.logger.debug("Using LiveAgent Live Agent Provider");
|
|
633
|
+
break;
|
|
634
|
+
default:
|
|
635
|
+
throw new Error(`Unsupported Live Agent provider: ${name}`);
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
catch (error) {
|
|
639
|
+
this.logger.error("Error connecting to Live Agent:", error);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
const ai12zBotCss = ":host{font-family:var(--ai12zBot-v2-font-family) !important;font-size:var(--ai12zBot-v2-font-size) !important}.floating-icon{position:fixed;cursor:pointer;top:90%;transform:translateY(-50%);background-color:var(--ai12z-bot-primary-bgcolor);color:var(--ai12z-bot-primary-color);padding:10px;border-radius:50%;box-shadow:0 2px 5px rgba(0, 0, 0, 0.2);z-index:1000;}.custom-floating-icon{position:fixed;cursor:pointer;top:90%;transform:translateY(-50%);z-index:1000}.left{left:10px}.right{right:10px}.minimizebtn{margin:10px}.chat-window.minimized{width:350px;height:50px;overflow:hidden}.chat-window{position:fixed;bottom:20px;background-color:var(--ai12z-bot-primary-color);border:1px solid #ccc;box-shadow:0 2px 10px rgba(0, 0, 0, 0.2);display:flex;flex-direction:column;border-radius:10px;z-index:1000;opacity:0;transform:translateY(20px);transition:opacity 0.3s ease,\n transform 0.3s ease}.chat-left{left:70px}.chat-right{right:70px}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px) scale(0.9)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeOutSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(20px) scale(0.9)}}.chat-window-open{animation:fadeInSlideUp 0.4s ease-out forwards;pointer-events:auto}.chat-window-close{pointer-events:none;animation:fadeOutSlideDown 0.3s ease-in forwards}.chat-header{background-color:var(--ai12z-bot-primary-bgcolor);color:var(--ai12z-bot-primary-color);padding:10px;display:flex;align-items:center;border-top-left-radius:10px;border-top-right-radius:10px;height:56px}.chat-name{flex-grow:1}.avatar{width:30px;height:30px;border-radius:50%;margin-right:10px}.header-title{margin:0 0 0 14px;padding:1px 0;font-size:14px;line-height:14px}.chat-body{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;overflow-x:hidden;}.chat-body::-webkit-scrollbar{width:5px;height:5px;}.chat-body::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px;}.message{padding:10px;border-radius:15px;font-size:14px;line-height:1.4;word-wrap:break-word}.message-user{align-self:flex-end;color:var(--ai12z-bot-primary-color);}.message-text{max-width:100%;display:inline-block;position:relative}.message-bot{align-self:flex-start;background-color:var(--ai12z-bot-secondary-bgcolor);color:var(--ai12z-bot-secondary-color);border-top-left-radius:0;flex-direction:row;border-radius:7px}.msg-wrapper{display:flex}.bot-avatar{width:30px;height:30px;border-radius:50%;margin-right:10px}.message-content{display:flex;flex-direction:column;align-items:flex-start;max-width:fit-content}.message-timestamp{font-size:0.75rem;color:var(--ai12z-bot-text-mute);margin-top:2px;align-self:flex-end;}.chat-footer{flex-direction:column;padding:10px;display:flex;border-bottom-left-radius:10px;border-bottom-right-radius:10px;border-top:1px solid var(--ai12z-bot-primary-bgcolor)}.chat-footer textarea{flex-grow:1;padding:5px;border-radius:6px;margin-right:5px;resize:none;scrollbar-width:thin;overflow:hidden}.chat-footer textarea:focus{outline:none;border-color:var(--ai12z-bot-primary-bgcolor)}.chat-footer button{color:var(--ai12z-bot-primary-bgcolor)}.chat-footers button{color:var(--ai12z-bot-primary-color);border:none;padding:5px 10px;border-radius:3px;cursor:pointer}.close-btn{background:none;border:none;color:var(--ai12z-bot-primary-color);font-size:20px;cursor:pointer}.timestamp{font-size:10px;color:var(--ai12z-bot-text-mute);margin:14px 0;text-align:center;text-transform:uppercase}span.prose{font-size:14px;}.message-user span.prose{color:var(--ai12z-bot-primary-color);background-color:var(--ai12z-bot-primary-bgcolor);padding:10px;border-radius:6px}#fileInput{display:none}.custom-attachment{cursor:pointer;display:flex;align-items:center;justify-content:center}.image-Container{position:relative;display:inline-block;margin-right:10px}.delete-image{opacity:3;position:absolute;right:3px;top:0;cursor:pointer;line-height:10px}.ai12zBtn{background-color:var(--ai12zBot-v2-button-background) !important;color:var(--ai12zBot-v2-button-font-color);padding:5px 10px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;margin:5px}.hamburger{font-size:30px;background:none;border:none;color:white;cursor:pointer;padding-right:12px}@keyframes zoomIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes zoomOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}.menu{position:absolute;top:55px;left:0;width:200px;background-color:var(--ai12z-bot-nav-bgcolor);color:var(--ai12z-bot-primary-color);overflow:hidden;transform-origin:top left}.menu.open{animation:zoomIn 0.5s forwards;}.menu.closed{animation:zoomOut 0.5s forwards;}.menu ul{list-style-type:none;padding:10px}.custom-privacy{color:var(--ai12z-bot-privacy-color);padding-bottom:10px;padding-left:5px;margin-top:auto;}.menu ul li{padding:10px;cursor:pointer}@media (max-width: 768px){.hide-chatbot{display:none}.chat-window{width:100% !important;height:100% !important;right:0%;bottom:0%}.pagination-controls button{padding:5px 5px}}.follow-up{display:flex;cursor:pointer;gap:0.5rem;color:var(--ai12z-bot-followup-color);font-size:var(--ai12z-bot-followup-font-size)}.custom-svg-checkbox{margin-top:0.25rem;width:1rem;height:1rem;position:absolute}.follow-up-input{appearance:none;width:1rem;height:1rem;border-width:2px;flex-shrink:0;margin-top:0.25rem;border-radius:0.125rem;border-color:rgb(59 130 246)}.follow-up-input:checked{background-color:var(--ai12z-bot-followup-bg-color);border-width:0px}.bubble-width{width:90%}";
|
|
645
|
+
const Ai12zBotStyle0 = ai12zBotCss;
|
|
646
|
+
|
|
647
|
+
const tailwindMinCss = "/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-bold);font-weight:600}.prose :where(astrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotestrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthstrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose]*)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose]*)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:\"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\"}.prose :where(blockquotep:first-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:open-quote}.prose :where(blockquotep:last-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose]*)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose]*)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:\"`\"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:\"`\"}.prose :where(acode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h1code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h2code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.875em}.prose :where(h3code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.9em}.prose :where(h4code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotecode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthcode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:none}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose]*)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(theadth):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbodytr):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbodytr:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-width:0}.prose :where(tbodytd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose]*)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(.prose>ul>lip):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(ulul,ulol,olul,olol):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(theadth:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(theadth:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(tbodytd,tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbodytd:first-child,tfoottd:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(tbodytd:last-child,tfoottd:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-12{bottom:3rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-\\[-2px\\]{bottom:-2px}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:1rem}.left-5{left:1.25rem}.left-\\[3px\\]{left:3px}.right-0{right:0}.right-4{right:1rem}.right-7{right:1.75rem}.right-8{right:2rem}.top-0{top:0}.z-10{z-index:10}.z-30{z-index:30}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.m-\\[-1px\\]{margin:-1px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-0\\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.ms-2{margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.size-6{height:1.5rem;width:1.5rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\\[1px\\]{height:1px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:20rem}.min-h-\\[calc\\(100\\%-1px\\)\\]{min-height:calc(100% - 1px)}.min-h-fit{min-height:fit-content}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-11\\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\\[1px\\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.min-w-\\[200px\\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\\[1_1_0\\]{flex:1 1 0}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.translate-y-\\[0\\.5px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[0\\.5px\\]{--tw-translate-y:0.5px}.rotate-45{--tw-rotate:45deg}.rotate-45,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-2{column-gap:.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-\\[10px\\]{padding:10px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-\\[14px\\]{padding-right:14px}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.text-\\[\\#001E5B\\]{--tw-text-opacity:1;color:rgb(0 30 91/var(--tw-text-opacity))}.text-\\[\\#0344D1\\]{--tw-text-opacity:1;color:rgb(3 68 209/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-slate-900\\/10{--tw-ring-color:rgba(15,23,42,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[ko_memo\\:\\\"\\+n\\+\\\"\\]{ko_memo:\"+n+\"}.after\\:invisible:after{content:var(--tw-content);visibility:hidden}.after\\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.hover\\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\\:bg-gradient-to-t:hover{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:outline:focus{outline-style:solid}.focus\\:outline-2:focus{outline-width:2px}.focus\\:outline-offset-2:focus{outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-0:focus,.focus\\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity))}.focus\\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-transparent:disabled,.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.peer:checked~.peer-checked\\:block{display:block}:is(.dark.dark\\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark.dark\\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}:is(.dark.dark\\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-800){--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:is(.dark.dark\\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}:is(.dark.dark\\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark.dark\\:hover\\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}:is(.dark.dark\\:focus\\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}@media (min-width:640px){.sm\\:h-3{height:.75rem}.sm\\:w-3{width:.75rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\\:right-0{right:0}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:ml-2{margin-left:.5rem}.md\\:mt-6{margin-top:1.5rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:grid{display:grid}.md\\:h-4{height:1rem}.md\\:h-96{height:24rem}.md\\:h-auto{height:auto}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.333333%}.md\\:w-2\\/3{width:66.666667%}.md\\:w-4{width:1rem}.md\\:max-w-xl{max-width:36rem}.md\\:flex-none{flex:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:gap-4{gap:1rem}.md\\:gap-x-3{column-gap:.75rem}.md\\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\\:p-2{padding:.5rem}.md\\:p-2\\.5{padding:.625rem}.md\\:p-4{padding:1rem}.md\\:pl-0{padding-left:0}.md\\:pl-3{padding-left:.75rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}}.rtl\\:rotate-180:where([dir=rtl],[dir=rtl]*){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\\:space-x-reverse:where([dir=rtl],[dir=rtl]*)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}";
|
|
648
|
+
const Ai12zBotStyle1 = tailwindMinCss;
|
|
649
|
+
|
|
650
|
+
const ai12zChatbotCss = ":host{--wes-c-icon-color:#fff;--fab-bottom:26px;--xsf-ai12z-zindex-isexpanded-10:20020;--ai-toolbar-icon-color:#2095ae;--xsf-ai12z-zindex-0:19979;--xsf-ai12z-zindex-10:19989;--xsf-ai12z-fab-bottom:26px}.modal-overlay{position:absolute;height:100%;width:100%;z-index:var(--xsf-ai12z-zindex-0);background-color:#2e2e2e99}.layout{pointer-events:none;position:fixed;inset:0;height:100dvh;width:99dvw;justify-content:flex-end;grid-template-rows:auto 1fr auto;grid-template-areas:\"left toolbar right\"\n \"left main right\"\n \"left footer right\";padding-top:96px;transition-property:grid-template-columns, padding-top;z-index:19979}.layout.is-open .modal{pointer-events:auto}.layout.is-expanded ai12z-bot{pointer-events:auto}.layout.is-open.is-expanded .modal{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);z-index:var(--xsf-ai12z-zindex-isexpanded-10)}.layout.is-open .user-input-fieldset{background-image:none;padding:0px;background:none}.layout.is-expanded .user-input-fieldset{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.layout.is-open .grow-wrap>.textarea,.layout.is-open .grow-wrap>button,.layout.is-open .grow-wrap:after{border-color:var(--ai12zBot-v2-searchbar-open-border-color);}.layout.is-expanded .grow-wrap:after{display:none}.layout.is-open.is-expanded .user-input{z-index:var(--xsf-ai12z-zindex-isexpanded-10)}.layout.is-open .user-input{z-index:var(--xsf-ai12z-zindex-10)}.text-body2{font-size:16px;line-height:1.5;letter-spacing:-0.12px;font-weight:400}.modal-toolbar-icon{color:var(--ai12zBot-v2-toolbar-icon-color, inherit);width:1rem;height:1rem}.search-flex{flex:1 1 0%}.show-grid{display:grid}.hide-title{padding:0px;opacity:0;height:0px}.user-msg{background-color:var(--ai12zBot-v2-user-bubble-background);color:var(--ai12zBot-v2-user-bubble-font-color)}.text-body4{font-size:var(--ai12zBot-v2-timestamp-font-size);line-height:1.5;letter-spacing:0.03px;font-weight:400;color:var(--ai12zBot-v2-timestamp-font-color)}.isContent{background:var(--ai12zBot-v2-content-background);padding:10px}.default-botAvatar{color:var(--ai12zBot-v2-default-avatar-color)}.searchform{opacity:1;transform:none}.user-input{margin-left:auto;margin-right:auto;width:100%;max-width:840px;min-width:340px;grid-area:footer}.main{margin-left:auto;margin-right:auto;width:100%;max-width:840px;min-width:340px;margin-top:7px}.heading{color:var(--ai12zBot-v2-title-color)}.dropdown-item-button{display:flex;width:100%;cursor:pointer;align-items:center;-moz-column-gap:8px;column-gap:8px;border-radius:0.25rem;--tw-border-opacity:1;--tw-bg-opacity:1;background-color:var(--ai12zBot-v2-dropdown-bgcolor);padding:8px 24px;font-weight:500;--tw-text-opacity:1;color:var(--ai12zBot-v2-dropdown-font-color);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:75ms}.helptext{padding:0px;opacity:0;height:0px}.minimize-input{transform:translateY(calc(-100% - 4px))}.ai-text-caption{font-size:12px;line-height:1.5;letter-spacing:0.2px;font-weight:400}.fab>button{background:var(--ai12zBot-v2-fab-button-background);}.user-input-fieldset{background:var(--ai12zBot-v2-searchbar-background)}.return-text-color{color:rgb(255, 255, 255)}.ai-minimize-icon svg{fill:currentColor;height:1em;width:1em}.hide-form{opacity:0;transform:none}.show-form{opacity:1;transform:none}.ai-minimize-icon{color:var(--wes-c-icon-color, inherit)}.fab{bottom:var(--fab-bottom, 30px)}.text-body1{font-size:var(--ai12zBot-v2-title-font-size);line-height:1.5;letter-spacing:-0.12px;font-weight:400}#message-submit{margin-right:6px;margin-bottom:7px;background-color:var(--ai12zBot-v2-searchbar-submit-bgcolor)}.ai-icon{color:var(--ai12zBot-v2-searchbar-submit-color);font-size:24px;width:1.5rem;height:1.5rem}.plus-icon{color:var(--ai12zBot-v2-searchbar-plus-icon-color);font-size:24px;width:1.5rem;height:1.5rem}.grow-wrap>.textarea,.grow-wrap:after{min-height:48px;align-content:center;border-radius:1.5rem;border-width:1px;border-style:solid;border:1px solid var(--ai12zBot-v2-searchbar-border-color);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:8px 48px;text-indent:2px;font-size:16px;line-height:1.5;letter-spacing:-0.12px;font-weight:400;--tw-text-opacity:1;color:rgb(46 46 46 / var(--tw-text-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);--tw-ring-inset:inset;--tw-ring-offset-width:0px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:0.15s}.grow-wrap>.textarea,.grow-wrap:after{grid-area:1 / 1 / 2 / 2}.modal{position:relative;grid-column:span 1 / span 1;grid-column-start:2;grid-row:span 3 / span 3;grid-row-start:1;display:grid;border-top-left-radius:0;border-top-right-radius:0;background-position:center;box-shadow:0 16px 32px -4px #18181829,\n 0 12px 24px -4px #18181814;background-image:var(--ai12zBot-v2-modal-backgroundImage);background-repeat:no-repeat;background-size:100vw 100vh;grid-template-columns:subgrid;grid-template-rows:subgrid;z-index:var(--xsf-ai12z-zindex-10);transition:0.3sease-out;transition-property:grid-template-columns}.dropdown-menu{pointer-events:none;opacity:0;z-index:10;background-color:var(--ai12zBot-v2-dropdown-bgcolor);transform:translateY(-10px);transition:opacity 0.3s ease,\n transform 0.3s ease}.dropdown-menu.show{pointer-events:auto;opacity:1;pointer-events:auto;transform:translateY(0);background-color:var(--ai12zBot-v2-dropdown-bgcolor)}.copy-btn{color:var(--ai12zBot-v2-copy-btn-color)}.thumbs-up{fill:var(--ai12zBot-v2-feedback-selected);width:1.5rem}.thumbs-down{fill:var( --ai12zBot-v2-feedback-selected);width:1.5rem}.chat-thumbs-up{color:var(--ai12zBot-v2-feedback-color)}.thumbs-container{justify-content:flex-start;align-items:center}.back-btn svg{fill:var(--ai12zBot-v2-back-button-color)}.dropdown-item{background-color:var(--ai12zBot-v2-dropdown-bgcolor)}.bot-name{color:var(--ai12zBot-v2-bot-name-color);font-weight:var(--ai12zBot-v2-bot-name-font-weight)}.ai12z-link{color:var(--ai12zBot-v2-link-color);text-decoration:underline}.ai12z-link:hover{color:var(--ai12zBot-v2-link-hover-color);text-decoration:underline}.toolbar{height:52px;grid-area:toolbar}@media (min-width: 1024px){.modal{background-size:80vw 100vh}}@media (min-width: 1024px){.layout.is-expanded{grid-template-columns:1fr minmax(340px, 80dvw) 1fr !important}}@media (min-width: 768px){.layout.is-expanded{-moz-column-gap:48px;column-gap:48px}}@media (max-width: 767px){.layout.is-open{padding-top:0px !important;grid-template-columns:0fr minmax(340px, 1fr) 0fr !important}}@media (max-width: 767px){.fab{right:30px;bottom:var(--xsf-ai12z-fab-bottom, 26px)}}";
|
|
651
|
+
const Ai12zBotStyle2 = ai12zChatbotCss;
|
|
652
|
+
|
|
653
|
+
const surveyCoreMinCss = "/*!\n * surveyjs - Survey JavaScript library v2.3.4\n * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/\n * License: MIT (http://www.opensource.org/licenses/mit-license.php)\n */\n@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format(\"woff2\");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format(\"woff2\");unicode-range:U+1F00-1FFF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format(\"woff2\");unicode-range:U+0370-03FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format(\"woff2\");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format(\"woff2\");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format(\"woff2\");unicode-range:U+1F00-1FFF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format(\"woff2\");unicode-range:U+0370-03FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format(\"woff2\");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format(\"woff2\");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format(\"woff2\");unicode-range:U+1F00-1FFF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format(\"woff2\");unicode-range:U+0370-03FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format(\"woff2\");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif}:root{--sjs-transition-duration: 150ms}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes changeHeight{from{height:var(--animation-height-from)}to{height:var(--animation-height-to)}}@keyframes moveInWithOverflow{from{overflow:hidden;height:var(--animation-height-from);min-height:var(--animation-height-from);margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0}99%{overflow:hidden;margin-top:var(--animation-margin-top);margin-bottom:var(--animation-margin-bottom);padding-top:var(--animation-padding-top);padding-bottom:var(--animation-padding-bottom);border-top-width:var(--animation-border-top-width);border-bottom-width:var(--animation-border-bottom-width);height:var(--animation-height-to);min-height:var(--animation-height-to)}to{overflow:visible;margin-top:var(--animation-margin-top);margin-bottom:var(--animation-margin-bottom);padding-top:var(--animation-padding-top);padding-bottom:var(--animation-padding-bottom);border-top-width:var(--animation-border-top-width);border-bottom-width:var(--animation-border-bottom-width);height:var(--animation-height-to);min-height:var(--animation-height-to)}}@keyframes moveIn{from{height:0}to{height:var(--animation-height)}}@keyframes paddingFadeIn{from{padding-top:0;padding-bottom:0}to{padding-bottom:var(--animation-padding-bottom);padding-top:var(--animation-padding-top)}}.sv-action-bar{display:flex;box-sizing:content-box;position:relative;align-items:center;margin-left:auto;overflow:hidden;white-space:nowrap}.sv-action-bar-separator{display:inline-block;width:1px;height:24px;vertical-align:middle;margin-right:16px;background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sv-action-bar--default-size-mode .sv-action-bar-separator{margin:0 var(--sjs-base-unit, var(--base-unit, 8px))}.sv-action-bar--small-size-mode .sv-action-bar-separator{margin:0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-action-bar-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:var(--sjs-base-unit, var(--base-unit, 8px));box-sizing:border-box;border:none;border-radius:calc(0.5*(var(--sjs-corner-radius, 4px)));background-color:rgba(0,0,0,0);color:var(--sjs-general-forecolor, var(--foreground, #161616));cursor:pointer;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));overflow-x:hidden;white-space:nowrap}button.sv-action-bar-item{overflow:hidden}.sv-action-bar--default-size-mode .sv-action-bar-item{height:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));margin:0 var(--sjs-base-unit, var(--base-unit, 8px))}.sv-action-bar--small-size-mode .sv-action-bar-item{height:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px);margin:0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-action:first-of-type .sv-action-bar-item{margin-inline-start:0}.sv-action:last-of-type .sv-action-bar-item{margin-inline-end:0}.sv-action-bar--default-size-mode .sv-action-bar-item__title--with-icon{margin-inline-start:var(--sjs-base-unit, var(--base-unit, 8px))}.sv-action-bar--small-size-mode .sv-action-bar-item__title--with-icon{margin-inline-start:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-action-bar-item__icon svg{display:block}.sv-action-bar-item__icon use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-action-bar-item:hover,.sv-action-bar-item:focus{outline:none;background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sv-action-bar-item:active,.sv-action-bar-item.svc-toolbar__item--pressed{opacity:.5}.sv-action-bar-item.svc-toolbar__item--active{outline:none}.sv-action-bar-item:disabled{opacity:.25;cursor:default}.sv-action-bar-item__title{color:inherit;vertical-align:middle;white-space:nowrap}.sv-action-bar-item--secondary .sv-action-bar-item__icon use{fill:var(--sjs-secondary-backcolor, var(--secondary, #ff9814))}.sv-action-bar-item--active .sv-action-bar-item__icon use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-action-bar-item-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;height:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:var(--sjs-base-unit, var(--base-unit, 8px));box-sizing:border-box;border:none;border-radius:calc(0.5*(var(--sjs-corner-radius, 4px)));background-color:rgba(0,0,0,0);cursor:pointer;line-height:calc(1.5*(var(--sjs-font-size, 16px)));font-size:var(--sjs-font-size, 16px);font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)))}.sv-expand-action:before{content:\"\";display:inline-block;background-image:url(\"data:image/svg+xml,%3C%3Fxml version=%271.0%27 encoding=%27utf-8%27%3F%3E%3C%21-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0%29 --%3E%3Csvg version=%271.1%27 id=%27Layer_1%27 xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 x=%270px%27 y=%270px%27 viewBox=%270 0 10 10%27 style=%27enable-background:new 0 0 10 10;%27 xml:space=%27preserve%27%3E%3Cstyle type=%27text/css%27%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class=%27st0%27 points=%272,2 0,4 5,9 10,4 8,2 5,5 %27/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:center center;height:10px;width:12px;margin:auto 8px}.sv-expand-action--expanded:before{transform:rotate(180deg)}.sv-dots{width:48px}.sv-dots__item{width:100%}.sv-dots__item .sv-action-bar-item__icon{margin:auto}.sv-action--hidden{width:0px;height:0px;overflow:hidden;visibility:hidden}.sv-action--hidden .sv-action__content{min-width:fit-content}.sv-action__content{display:flex;flex-direction:row;align-items:center}.sv-action__content>*{flex:0 0 auto}.sv-action--space{margin-left:auto}.sv-action-bar-item--pressed:not(.sv-action-bar-item--active){background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));opacity:50%}.sv-dragged-element-shortcut{height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));min-width:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:calc(4.5*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:var(--sjs-general-backcolor, var(--background, #fff));padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));cursor:grabbing;position:absolute;z-index:10000;box-shadow:0px 8px 16px rgba(0,0,0,.1);font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-size, 16px);padding-left:calc(2.5*(var(--sjs-base-unit, var(--base-unit, 8px))));line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sv-matrixdynamic__drag-icon{padding-top:calc(1.75*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-matrixdynamic__drag-icon:after{content:\" \";display:block;height:calc(0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(2.5*(var(--sjs-base-unit, var(--base-unit, 8px))));border:1px solid #e7e7e7;box-sizing:border-box;border-radius:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));cursor:move;margin-top:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-matrixdynamic-dragged-row{cursor:grabbing;position:absolute;z-index:10000;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)))}.sv-matrixdynamic-dragged-row .sd-table__row{box-shadow:var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));background-color:var(--sjs-general-backcolor, var(--background, #fff));display:flex;flex-grow:0;flex-shrink:0;align-items:center;line-height:0}.sv-matrixdynamic-dragged-row .sd-table__cell.sd-table__cell--drag>div{background-color:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));min-height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell--header.sd-table__cell--drag,.sd-table__cell.sd-table__cell--drag{padding-right:0;padding-left:0}.sd-question--mobile .sd-table__cell--header.sd-table__cell--drag,.sd-question--mobile .sd-table__cell.sd-table__cell--drag{display:none}.sv-matrix-row--drag-drop-ghost-mod td{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sv-matrix-row--drag-drop-ghost-mod td>*{visibility:hidden}.sv-drag-drop-choices-shortcut{cursor:grabbing;position:absolute;z-index:10000;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));min-width:100px;max-width:400px}.sv-drag-drop-choices-shortcut .sv-ranking-item{height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-drag-drop-choices-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-viewer,.sv-drag-drop-choices-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-editor{overflow:hidden;white-space:nowrap}.sv-drag-drop-choices-shortcut__content.sv-drag-drop-choices-shortcut__content{min-width:100px;box-shadow:var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));background-color:var(--sjs-general-backcolor, var(--background, #fff));border-radius:calc(4.5*var(--sjs-base-unit, var(--base-unit, 8px)));padding-right:calc(2*var(--sjs-base-unit, var(--base-unit, 8px)));margin-left:0}.sv-drag-drop-image-picker-shortcut{cursor:grabbing;position:absolute;z-index:10000;box-shadow:var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));background-color:var(--sjs-general-backcolor, var(--background, #fff));padding:calc(.5*var(--sjs-base-unit, var(--base-unit, 8px)));border-radius:calc(.5*var(--sjs-base-unit, var(--base-unit, 8px)))}sv-popup{display:block;position:absolute}.sv-popup{position:fixed;left:0;top:0;width:100vw;outline:none;z-index:2000;height:100vh}.sv-dropdown-popup{height:0}.sv-popup.sv-popup-inner{height:0}.sv-popup-inner>.sv-popup__container{margin-top:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-list__item--with-icon .sv-popup-inner>.sv-popup__container{margin-top:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-popup--menu-popup>.sv-popup__container{background:var(--lbr-popup-menu-background-color-global, var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3)));border-radius:var(--lbr-popup-menu-corner-radius, var(--sjs-corner-radius, 4px));box-shadow:var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1))}.sv-popup--menu-popup>.sv-popup__container>.sv-popup__body-content{background-color:var(--lbr-popup-menu-background-color, var(--sjs-general-backcolor, var(--background, #fff)));border-radius:var(--lbr-popup-menu-corner-radius, var(--sjs-corner-radius, 4px));height:100%}.sv-popup__container{position:absolute;padding:0}.sv-popup__content{min-width:100%;height:100%;display:flex;flex-direction:column;min-height:0;position:relative}.sv-popup__body-content{width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;max-height:90vh;max-width:100vw}.sv-popup--modal-popup{display:flex;align-items:center;justify-content:center;background-color:var(--lbr-dialog-screen-color, var(--background-semitransparent, rgba(144, 144, 144, 0.5)));padding:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(15*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box}.sv-popup--modal-popup>.sv-popup__container{position:static;display:flex;background-color:var(--lbr-dialog-background-color, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9)));border-radius:var(--lbr-dialog-corner-radius, calc(2 * (var(--sjs-corner-radius, 4px))));box-shadow:var(--lbr-dialog-shadow-2-offset-x, 0px) var(--lbr-dialog-shadow-2-offset-y, 2px) var(--lbr-dialog-shadow-2-blur, 6px) var(--lbr-dialog-shadow-2-spread, 0px) var(--lbr-dialog-shadow-2-color, rgba(0, 0, 0, 0.1)),var(--lbr-dialog-shadow-1-offset-x, 0px) var(--lbr-dialog-shadow-1-offset-y, 8px) var(--lbr-dialog-shadow-1-blur, 16px) var(--lbr-dialog-shadow-1-spread, 0px) var(--lbr-dialog-shadow-1-color, rgba(0, 0, 0, 0.1))}.sv-popup--modal-popup>.sv-popup__container>.sv-popup__body-content{padding:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));height:auto;min-width:452px;gap:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-popup--modal-popup .sv-popup__body-footer .sv-modal-footer-action-bar{overflow:visible}.sv-popup--modal-popup .sv-popup__scrolling-content{padding:2px;margin:-2px}.sd-root-modern--mobile .sv-popup--modal-popup .sv-popup__body-content{min-width:auto}.sv-popup--confirm .sv-popup__body-content .sv-string-viewer{color:var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));align-self:self-start;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-size, 16px);font-style:normal;font-weight:400;line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sv-popup__scrolling-content{height:100%;overflow:auto;display:flex;flex-direction:column}.sv-popup__scrolling-content::-webkit-scrollbar,.sv-popup__scrolling-content *::-webkit-scrollbar{height:6px;width:6px;background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sv-popup__scrolling-content::-webkit-scrollbar-thumb,.sv-popup__scrolling-content *::-webkit-scrollbar-thumb{background:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)))}.sv-popup--show-pointer.sv-popup--top .sv-popup__pointer{transform:translate(calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px))))) rotate(180deg)}.sv-popup--show-pointer.sv-popup--bottom .sv-popup__pointer{transform:translate(calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))), calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sv-popup--show-pointer.sv-popup--right .sv-popup__container{transform:translate(var(--sjs-base-unit, var(--base-unit, 8px)))}.sv-popup--show-pointer.sv-popup--right .sv-popup__container .sv-popup__pointer{transform:translate(-12px, -4px) rotate(-90deg)}.sv-popup--show-pointer.sv-popup--left .sv-popup__container{transform:translate(calc(-1 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sv-popup--show-pointer.sv-popup--left .sv-popup__container .sv-popup__pointer{transform:translate(-4px, -4px) rotate(90deg)}.sv-popup__pointer{display:block;position:absolute}.sv-popup__pointer:after{content:\" \";display:block;width:0;height:0;border-left:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0);border-right:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0);border-bottom:var(--sjs-base-unit, var(--base-unit, 8px)) solid var(--sjs-general-backcolor, var(--background, #fff));align-self:center}.sv-popup__body-header{font-family:Open Sans;font-size:calc(1.5*(var(--sjs-font-size, 16px)));line-height:calc(2*(var(--sjs-font-size, 16px)));font-style:normal;font-weight:700;color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sv-popup__body-footer{display:flex}.sv-popup__body-footer .sv-action-bar{gap:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));overflow:visible}.sv-popup--menu-phone,.sv-popup--menu-tablet{z-index:2001;padding:0;width:100%;height:var(--sv-popup-overlay-height, 100vh)}.sv-popup--menu-phone .sv-popup__body-footer-item,.sv-popup--menu-tablet .sv-popup__body-footer-item{width:100%}.sv-popup--menu-phone .sv-popup__body-footer .sv-action-bar,.sv-popup--menu-tablet .sv-popup__body-footer .sv-action-bar{width:100%;justify-content:flex-start}.sv-popup--menu-phone .sv-popup__body-footer .sv-action-bar .sv-action,.sv-popup--menu-tablet .sv-popup__body-footer .sv-action-bar .sv-action{flex:0 0 auto}.sv-popup--menu-phone .sv-popup__body-footer,.sv-popup--menu-tablet .sv-popup__body-footer{padding:var(--lbr-popup-menu-footer-padding-top, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-popup-menu-footer-padding-right, 0px) var(--lbr-popup-menu-footer-padding-bottom, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-popup-menu-footer-padding-left, 0px);border-top:var(--lbr-popup-menu-footer-border-width-top, 1px) solid var(--lbr-popup-menu-footer-border-color, var(--sjs-border-light, var(--border-light, #eaeaea)));background:var(--lbr-popup-menu-footer-background-color, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9)))}.sv-popup--menu-phone .sv-list__filter,.sv-popup--menu-tablet .sv-list__filter{display:flex;align-items:center;margin-bottom:0;padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-popup--menu-phone .sv-list,.sv-popup--menu-tablet .sv-list{flex-grow:1}.sv-popup--menu-phone .sv-list__filter-icon,.sv-popup--menu-tablet .sv-list__filter-icon{position:static;height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-popup--menu-phone .sv-list__empty-container,.sv-popup--menu-tablet .sv-list__empty-container{display:flex;flex-direction:column;justify-content:center;flex-grow:1}.sv-popup--menu-phone .sv-list__filter-clear-button,.sv-popup--menu-tablet .sv-list__filter-clear-button{height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));appearance:none;border:none;border-radius:100%;background-color:rgba(0,0,0,0)}.sv-popup--menu-phone .sv-list__filter-clear-button svg,.sv-popup--menu-tablet .sv-list__filter-clear-button svg{height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-popup--menu-phone .sv-list__filter-clear-button svg use,.sv-popup--menu-tablet .sv-list__filter-clear-button svg use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-popup--menu-phone .sv-list__filter-clear-button:hover,.sv-popup--menu-tablet .sv-list__filter-clear-button:hover{border-radius:var(--lbr-popup-menu-search-clear-button-corner-radius, 1024px);background:var(--lbr-popup-menu-search-clear-button-background-color-hovered, var(--sjs-special-red-light, rgba(229, 10, 62, 0.1)))}.sv-popup--menu-phone .sv-list__filter-clear-button:hover use,.sv-popup--menu-tablet .sv-list__filter-clear-button:hover use{fill:var(--lbr-popup-menu-search-clear-button-icon-color-hovered, var(--sjs-special-red, #E50A3E))}.sv-popup--menu-phone .sv-list__input,.sv-popup--menu-tablet .sv-list__input{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px))}.sv-popup--menu-phone .sv-list__item:hover .sv-list__item-body,.sv-popup--menu-phone .sv-list__item:focus .sv-list__item-body,.sv-popup--menu-phone .sv-list__item--focused .sv-list__item-body,.sv-popup--menu-tablet .sv-list__item:hover .sv-list__item-body,.sv-popup--menu-tablet .sv-list__item:focus .sv-list__item-body,.sv-popup--menu-tablet .sv-list__item--focused .sv-list__item-body{background:var(--sjs-general-backcolor, var(--background, #fff))}.sv-popup--menu-phone .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-phone .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-phone .sv-list__item--focused.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-tablet .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-tablet .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-tablet .sv-list__item--focused.sv-list__item--selected .sv-list__item-body{background:var(--sjs-primary-backcolor, var(--primary, #19b394));color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));font-weight:600}.sv-popup--menu-phone.sv-multi-select-list .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-phone.sv-multi-select-list .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-phone.sv-multi-select-list .sv-list__item--focused.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-tablet.sv-multi-select-list .sv-list__item:hover.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-tablet.sv-multi-select-list .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,.sv-popup--menu-tablet.sv-multi-select-list .sv-list__item--focused.sv-list__item--selected .sv-list__item-body{background:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));color:var(--sjs-general-forecolor, var(--foreground, #161616));font-weight:400}.sv-popup--menu-phone>.sv-popup__container{width:100%;height:calc(var(--sv-popup-overlay-height, 100vh));max-width:100vw;max-height:calc(var(--sv-popup-overlay-height, 100vh));border:unset;box-shadow:unset;box-sizing:content-box;background:var(--lbr-popup-menu-background-color-global, var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3)))}.sv-popup--menu-phone>.sv-popup__container>.sv-popup__body-content{background-color:var(--lbr-popup-menu-background-color, var(--sjs-general-backcolor, var(--background, #fff)));max-height:var(--sv-popup-overlay-height, 100vh);max-width:100vw;height:calc(var(--sv-popup-overlay-height, 100vh))}.sv-popup--menu-tablet{background:var(--lbr-dialog-screen-color, var(--background-semitransparent, rgba(144, 144, 144, 0.5)))}.sv-popup--menu-tablet>.sv-popup__container{border:unset;box-sizing:content-box;background:var(--lbr-popup-menu-background-color-global, var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3)));--sv-popup-overlay-max-height: calc(var(--sv-popup-overlay-height, 100vh) - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);--sv-popup-overlay-max-width: calc(100% - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);position:absolute;transform:translate(-50%, -50%);left:50%;top:50%;max-height:var(--sv-popup-overlay-max-height);min-height:min(var(--sv-popup-overlay-max-height),30*(var(--sjs-base-unit, var(--base-unit, 8px))));height:auto;width:auto;min-width:min(40*(var(--sjs-base-unit, var(--base-unit, 8px))),var(--sv-popup-overlay-max-width));max-width:var(--sv-popup-overlay-max-width);border-radius:var(--lbr-popup-menu-corner-radius, var(--sjs-corner-radius, 4px));overflow:hidden;box-shadow:var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1))}.sv-popup--menu-tablet>.sv-popup__container>.sv-popup__body-content{background-color:var(--lbr-popup-menu-background-color, var(--sjs-general-backcolor, var(--background, #fff)));max-width:100vw;max-height:calc(var(--sv-popup-overlay-height, 100vh) - var(--sjs-base-unit, var(--base-unit, 8px))*8);min-height:min(var(--sv-popup-overlay-max-height),30*(var(--sjs-base-unit, var(--base-unit, 8px))));height:auto}.sv-popup--menu-tablet .sv-popup__content,.sv-popup--menu-tablet .sv-popup__scrolling-content,.sv-popup--menu-tablet .sv-list__container{flex-grow:1}.sv-popup--visible{opacity:1}.sv-popup--hidden{opacity:0}.sv-popup--enter{animation-name:fadeIn;animation-fill-mode:forwards;animation-duration:.15s}.sv-popup--modal-popup.sv-popup--enter{animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-duration:.25s}.sv-popup--leave{animation-direction:reverse;animation-name:fadeIn;animation-fill-mode:forwards;animation-duration:.15s}.sv-popup--modal-popup.sv-popup--leave{animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-duration:.25s}.sv-popup--hidden{opacity:0}@keyframes modalMoveUp{from{transform:translateY(64px)}to{transform:translateY(0)}}.sv-popup--modal-popup.sv-popup--leave .sv-popup__container,.sv-popup--modal-popup.sv-popup--enter .sv-popup__container{animation-name:modalMoveUp;animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-fill-mode:forwards;animation-duration:.25s}.sv-popup--modal-popup.sv-popup--leave .sv-popup__container{animation-direction:reverse;animation-timing-function:cubic-bezier(0.42, 0, 1, 1)}.sv-button-group{display:flex;align-items:center;flex-direction:row;font-size:var(--sjs-font-size, 16px);overflow-x:auto;border:1px solid var(--sjs-border-default, var(--border, #d6d6d6))}.sv-button-group:focus-within{box-shadow:0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394));border-color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-button-group__item{display:flex;box-sizing:border-box;flex-direction:row;justify-content:center;align-items:center;appearance:none;flex-grow:1;flex-basis:0;padding:11px calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));line-height:calc(1.5*(var(--sjs-font-size, 16px)));outline:none;font-size:var(--sjs-font-size, 16px);font-weight:400;background:var(--sjs-general-backcolor, var(--background, #fff));cursor:pointer;color:var(--sjs-general-forecolor, var(--foreground, #161616));position:relative}.sv-button-group__item:not(:last-of-type){border-right:1px solid var(--sjs-border-default, var(--border, #d6d6d6))}.sv-button-group__item--hover:hover{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sv-button-group__item-icon{display:block;height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-button-group__item-icon use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-button-group__item--selected{font-weight:600;color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-button-group__item--selected .sv-button-group__item-icon use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-button-group__item--selected:hover{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sv-button-group__item-decorator{display:flex;align-items:center;white-space:nowrap}.sv-button-group__item-caption{display:block}.sv-button-group__item-icon+.sv-button-group__item-caption{margin-left:var(--sjs-base-unit, var(--base-unit, 8px))}.sv-button-group__item--disabled{color:var(--sjs-general-forecolor, var(--foreground, #161616));cursor:default}.sv-button-group__item--disabled .sv-button-group__item-decorator{opacity:.25;font-weight:normal}.sv-button-group__item--disabled .sv-button-group__item-icon use{fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sv-button-group__item--disabled:hover{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sv-button-group:focus-within{box-shadow:0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394));border-color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-visuallyhidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sv-hidden{display:none !important}.sv-title-actions{display:flex;align-items:center;width:100%}.sv-title-actions__title{flex-wrap:wrap;max-width:90%;min-width:50%;white-space:initial}.sv-action-title-bar{min-width:56px}.sv-title-actions .sv-title-actions__title{flex-wrap:wrap;flex:0 1 auto;max-width:unset;min-width:unset}.sv-title-actions .sv-action-title-bar{flex:1 1 auto;justify-content:flex-end;min-width:unset}.sv_window{position:fixed;bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:var(--sjs-base-unit, var(--base-unit, 8px));border:1px solid var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)));box-shadow:var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));background-clip:padding-box;z-index:100;max-height:50vh;overflow:auto;box-sizing:border-box;background:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));width:calc(100% - 4*(var(--sjs-base-unit, var(--base-unit, 8px)))) !important}@-moz-document url-prefix(){.sv_window,.sv_window *{scrollbar-width:thin;scrollbar-color:var(--sjs-border-default, var(--border, #d6d6d6)) rgba(0,0,0,0)}}.sv_window::-webkit-scrollbar,.sv_window *::-webkit-scrollbar{width:12px;height:12px;background-color:rgba(0,0,0,0)}.sv_window::-webkit-scrollbar-thumb,.sv_window *::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:32px;background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sv_window::-webkit-scrollbar-track,.sv_window *::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.sv_window::-webkit-scrollbar-thumb:hover,.sv_window *::-webkit-scrollbar-thumb:hover{border:2px solid rgba(0,0,0,0);background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sv_window_root-content{height:100%}.sv_window--full-screen{top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));max-height:100%;width:initial !important;max-width:initial !important}.sv_window_header{display:flex;justify-content:flex-end}.sv_window_content{overflow:hidden}.sv_window--collapsed{height:initial}.sv_window--collapsed .sv_window_header{height:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:var(--sjs-base-unit, var(--base-unit, 8px)) var(--sjs-base-unit, var(--base-unit, 8px)) var(--sjs-base-unit, var(--base-unit, 8px)) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:var(--sjs-base-unit, var(--base-unit, 8px));display:flex;background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));box-sizing:content-box}.sv_window--collapsed .sv_window_content{display:none}.sv_window--collapsed .sv_window_buttons_container{margin-top:0;margin-right:0}.sv_window_header_title_collapsed{color:var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-weight:600;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));flex:1;display:flex;justify-content:flex-start;align-items:center}.sv_window_header_description{color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));font-feature-settings:\"salt\" on;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sv_window_buttons_container{position:fixed;margin-top:var(--sjs-base-unit, var(--base-unit, 8px));margin-right:var(--sjs-base-unit, var(--base-unit, 8px));display:flex;gap:var(--sjs-base-unit, var(--base-unit, 8px));z-index:10000}.sv_window_button{display:flex;padding:var(--sjs-base-unit, var(--base-unit, 8px));justify-content:center;align-items:center;border-radius:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));cursor:pointer}.sv_window_button:hover,.sv_window_button:active{background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)))}.sv_window_button:hover svg use,.sv_window_button:hover svg path,.sv_window_button:active svg use,.sv_window_button:active svg path{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv_window_button:active{opacity:.5}.sv_window_button svg use,.sv_window_button svg path{fill:var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45))}sv-brand-info,.sv-brand-info{z-index:1;position:relative;margin-top:1px}.sv-brand-info{font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));text-align:right;color:#161616;padding:24px 40px}.sv-brand-info a{color:#161616;text-decoration-line:underline}.sd-body--static .sv-brand-info{padding-top:0;margin-top:16px}.sd-body--responsive .sv-brand-info{padding-top:16px;margin-top:-8px}.sd-root-modern--mobile .sv-brand-info{padding:48px 24px 8px 24px;margin-top:0;text-align:center}.sv-brand-info__text{font-weight:600;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));color:#161616}.sv-brand-info__logo{display:inline-block}.sv-brand-info__logo img{width:118px}.sv-brand-info__terms{font-weight:400;font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px);padding-top:4px}.sv-brand-info__terms a{color:#909090}.sd-body--responsive .sv-brand-info{padding-right:0;padding-left:0}.sv-ranking{outline:none;user-select:none;-webkit-user-select:none}.sv-ranking-item{cursor:pointer;position:relative;opacity:1}.sv-ranking-item:focus .sv-ranking-item__icon--hover{visibility:hidden}.sv-ranking-item:hover:not(:focus) .sv-ranking-item__icon--hover{visibility:visible}.sv-question--disabled .sv-ranking-item:hover .sv-ranking-item__icon--hover{visibility:hidden}.sv-ranking-item:focus{outline:none}.sv-ranking-item:focus .sv-ranking-item__icon--focus{visibility:visible;top:calc(0.6*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-item:focus .sv-ranking-item__index{background:var(--sjs-general-backcolor, var(--background, #fff));outline:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-ranking-item__content.sv-ranking-item__content{display:flex;align-items:center;line-height:1em;padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0px;border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-item__icon-container{position:relative;left:0;bottom:0;flex-shrink:0;width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));align-self:flex-start;padding-left:var(--sjs-base-unit, var(--base-unit, 8px));padding-right:var(--sjs-base-unit, var(--base-unit, 8px));margin-left:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:content-box}.sv-ranking-item--disabled.sv-ranking-item--disabled,.sv-ranking-item--readonly.sv-ranking-item--readonly,.sv-ranking-item--preview.sv-ranking-item--preview{cursor:initial;user-select:initial;-webkit-user-select:initial}.sv-ranking-item--disabled.sv-ranking-item--disabled .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon,.sv-ranking-item--readonly.sv-ranking-item--readonly .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon,.sv-ranking-item--preview.sv-ranking-item--preview .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon{visibility:hidden}.sv-ranking-item__icon.sv-ranking-item__icon{visibility:hidden;fill:var(--sjs-primary-backcolor, var(--primary, #19b394));position:absolute;top:var(--sjs-base-unit, var(--base-unit, 8px));width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-item__index.sv-ranking-item__index{display:flex;flex-shrink:0;align-items:center;justify-content:center;background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));border-radius:100%;border:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid rgba(0,0,0,0);width:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));line-height:calc(1.5*(var(--sjs-font-size, 16px)));box-sizing:border-box;font-weight:600;margin-left:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))));transition:outline var(--sjs-transition-duration, 150ms),background var(--sjs-transition-duration, 150ms);outline:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid rgba(0,0,0,0);align-self:self-start}.sv-ranking-item__index.sv-ranking-item__index svg{fill:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));width:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));height:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))}.sv-ranking-item__text{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));margin:0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));overflow-wrap:break-word;word-break:normal;align-self:self-start;padding-top:var(--sjs-base-unit, var(--base-unit, 8px));padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sv-ranking-item__text .sv-string-viewer,.sv-ranking-item__text .sv-string-editor{overflow:initial;white-space:pre-line}.sd-ranking--disabled .sv-ranking-item__text{color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));opacity:.25}.sv-ranking-item--disabled .sv-ranking-item__text{color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));opacity:.25}.sv-ranking-item--readonly .sv-ranking-item__index{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sv-ranking-item--preview .sv-ranking-item__index{background-color:rgba(0,0,0,0);border:1px solid var(--sjs-general-forecolor, var(--foreground, #161616));box-sizing:border-box}.sv-ranking-item__ghost.sv-ranking-item__ghost{display:none;background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(31*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));z-index:1;position:absolute;left:0;top:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}[dir=rtl] .sv-ranking-item__ghost{left:initilal;right:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-item--ghost{height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-item--ghost .sv-ranking-item__text .sv-string-viewer,.sv-ranking-item--ghost .sv-ranking-item__text .sv-string-editor{white-space:unset}.sv-ranking-item--ghost .sv-ranking-item__ghost{display:block}.sv-ranking-item--ghost .sv-ranking-item__content{visibility:hidden}.sv-ranking-item--drag .sv-ranking-item__content{box-shadow:var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking--drag .sv-ranking-item:hover .sv-ranking-item__icon{visibility:hidden}.sv-ranking-item--drag .sv-ranking-item__icon--hover{visibility:visible}.sv-ranking--mobile .sv-ranking-item__icon--hover{visibility:visible;fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-ranking--mobile.sv-ranking--drag .sv-ranking-item--ghost .sv-ranking-item__icon.sv-ranking-item__icon--hover{visibility:hidden}.sv-ranking--mobile.sv-ranking-shortcut{max-width:80%}.sv-ranking--mobile .sv-ranking-item__index.sv-ranking-item__index{margin-left:0}.sv-ranking--mobile .sd-element--with-frame .sv-ranking-item__icon{margin-left:0}.sv-ranking--design-mode .sv-ranking-item:hover .sv-ranking-item__icon{visibility:hidden}.sv-ranking--disabled{opacity:.8}.sv-ranking-shortcut[hidden]{display:none}.sv-ranking-shortcut .sv-ranking-item__icon{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-ranking-shortcut .sv-ranking-item__text{margin-right:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-shortcut .sv-ranking-item__icon--hover{visibility:visible}.sv-ranking-shortcut .sv-ranking-item__icon{width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));top:var(--sjs-base-unit, var(--base-unit, 8px))}.sv-ranking-shortcut .sv-ranking-item__content{padding-left:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-shortcut .sv-ranking-item__icon-container{margin-left:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-shortcut{cursor:grabbing;position:absolute;z-index:10000;border-radius:calc(12.5*var(--sjs-base-unit, var(--base-unit, 8px)));min-width:100px;max-width:400px;box-shadow:var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));background-color:var(--sjs-general-backcolor, var(--background, #fff));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)))}.sv-ranking-shortcut .sv-ranking-item{height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-viewer,.sv-ranking-shortcut .sv-ranking-item .sv-ranking-item__text .sv-string-editor{overflow:hidden;white-space:nowrap}.sv-ranking--select-to-rank{display:flex}.sv-ranking--select-to-rank-vertical{flex-direction:column-reverse}.sv-ranking--select-to-rank-vertical .sv-ranking__containers-divider{margin:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0;height:1px}.sv-ranking--select-to-rank-vertical .sv-ranking__container--empty{padding-top:var(--sjs-base-unit, var(--base-unit, 8px));padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px));display:flex;justify-content:center;align-items:center}.sv-ranking-item--animate-item-removing{animation-name:moveIn,fadeIn;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:linear;animation-duration:var(--sjs-ranking-move-out-duration, 150ms),var(--sjs-ranking-fade-out-duration, 100ms);animation-delay:var(--sjs-ranking-move-out-delay, 0ms),0s}.sv-ranking-item--animate-item-adding{animation-name:moveIn,fadeIn;opacity:0;animation-fill-mode:forwards;animation-timing-function:linear;animation-duration:var(--sjs-ranking-move-in-duration, 150ms),var(--sjs-ranking-fade-in-duration, 100ms);animation-delay:0s,var(--sjs-ranking-fade-in-delay, 150ms)}.sv-ranking-item--animate-item-adding-empty{animation-name:fadeIn;opacity:0;animation-timing-function:linear;animation-duration:var(--sjs-ranking-fade-in-duration, 100ms);animation-delay:0}.sv-ranking-item--animate-item-removing-empty{animation-name:fadeIn;animation-direction:reverse;animation-timing-function:linear;animation-duration:var(--sjs-ranking-fade-out-duration, 100ms);animation-delay:0}@keyframes sv-animate-item-opacity-reverse-keyframes{0%{opacity:0}100%{opacity:1}}@keyframes sv-animate-item-opacity-keyframes{0%{opacity:1}100%{opacity:0}}.sv-ranking--select-to-rank-horizontal .sv-ranking__container{max-width:calc(50% - 1px)}.sv-ranking--select-to-rank-horizontal .sv-ranking__containers-divider{width:1px}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item{left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item{left:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder{padding-left:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder{padding-right:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking__container-placeholder{color:var(--sjs-font-questiondescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));white-space:normal;display:flex;justify-content:center;align-items:center;height:100%;padding-top:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box}.sv-ranking__container{flex:1}.sv-ranking__container--empty{box-sizing:border-box;text-align:center}.sv-ranking__containers-divider{background:var(--sjs-border-default, var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16))))}.sv-ranking__container--from .sv-ranking-item__icon--focus{display:none}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item{left:0 !important;padding-left:16px}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item .sv-ranking-item__ghost{left:initial}.sv-ranking--select-to-rank-swap-areas{flex-direction:row-reverse}.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--to .sv-ranking-item{padding-left:0;left:-24px !important}.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--from .sv-ranking-item{padding-left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));left:0}.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--from .sv-ranking-item__ghost.sv-ranking-item__ghost{left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder{padding-right:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-left:0}.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item__ghost.sv-ranking-item__ghost{right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking--select-to-rank-swap-areas .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder{padding-left:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-right:0}.sd-question--mobile .sv-ranking-item__icon-container,.sd-root-modern.sd-root-modern--mobile .sv-ranking-item__icon-container{margin-left:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;justify-content:flex-end;padding:0;width:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-list{margin:0;padding:var(--lbr-popup-menu-padding-top, 4px) var(--lbr-popup-menu-padding-right, 4px) var(--lbr-popup-menu-padding-bottom, 4px) var(--lbr-popup-menu-padding-left, 4px);overflow-y:auto;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));list-style-type:none}.sv-list__empty-container{width:100%;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));box-sizing:border-box;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;padding:var(--lbr-placeholder-padding-top, 16px) var(--lbr-placeholder-padding-right, 64px) var(--lbr-placeholder-padding-bottom, 16px) var(--lbr-placeholder-padding-left, 64px);flex-direction:column;justify-content:center;align-items:center;gap:var(--lbr-placeholder-gap, 4px);align-self:stretch}.sv-list__empty-text{line-height:calc(1.5*(var(--sjs-font-size, 16px)));font-size:var(--sjs-font-size, 16px);font-weight:400;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list__item{width:100%;align-items:center;box-sizing:border-box;color:var(--sjs-general-forecolor, var(--foreground, #161616));cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-list__item-body{--sjs-list-item-padding-left-default: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));--sjs-list-item-padding-left: calc(var(--sjs-list-item-level) * var(--sjs-list-item-padding-left-default));position:relative;width:100%;align-items:center;box-sizing:border-box;padding-block:var(--sjs-base-unit, var(--base-unit, 8px));padding-inline-end:calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:var(--sjs-list-item-padding-left, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-weight:normal;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));cursor:pointer;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--sjs-transition-duration, 150ms),color var(--sjs-transition-duration, 150ms)}.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected){outline:none}.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-list__item-body{border:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-border-light, var(--border-light, #eaeaea));border-radius:var(--sjs-corner-radius, 4px);padding-block:calc(0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-end:calc(7.75*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:calc(1.75*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-list__item:hover,.sv-list__item:focus{outline:none}.sv-list__item:focus .sv-list__item-body,.sv-list__item--hovered>.sv-list__item-body{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sv-list__item--with-icon.sv-list__item--with-icon{padding:0}.sv-list__item--with-icon.sv-list__item--with-icon>.sv-list__item-body{padding-top:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));gap:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex}.sv-list__item-icon{float:left;flex-shrink:0;width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-list__item-icon svg{display:block}.sv-list__item-icon use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list-item__marker-icon{position:absolute;right:var(--sjs-base-unit, var(--base-unit, 8px));width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));flex-shrink:0;padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:content-box}.sv-list-item__marker-icon svg{display:block}.sv-list-item__marker-icon use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}[dir=rtl] .sv-list__item-icon,[style*=\"direction:rtl\"] .sv-list__item-icon,[style*=\"direction: rtl\"] .sv-list__item-icon{float:right}.sv-list__item-separator{margin:var(--sjs-base-unit, var(--base-unit, 8px)) 0;height:1px;background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sv-list--filtering .sv-list__item-separator{display:none}.sv-list__item.sv-list__item--selected>.sv-list__item-body,.sv-list__item.sv-list__item--selected:hover>.sv-list__item-body,.sv-list__item.sv-list__item--selected.sv-list__item--focused>.sv-list__item-body,.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused>.sv-list__item-body,li:focus .sv-list__item.sv-list__item--selected>.sv-list__item-body{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));font-weight:600}.sv-list__item.sv-list__item--selected .sv-list__item-icon use,.sv-list__item.sv-list__item--selected:hover .sv-list__item-icon use,.sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list__item-icon use,.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list__item-icon use,li:focus .sv-list__item.sv-list__item--selected .sv-list__item-icon use{fill:var(--sjs-general-backcolor, var(--background, #fff))}.sv-list__item.sv-list__item--selected .sv-list-item__marker-icon use,.sv-list__item.sv-list__item--selected:hover .sv-list-item__marker-icon use,.sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list-item__marker-icon use,.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list-item__marker-icon use,li:focus .sv-list__item.sv-list__item--selected .sv-list-item__marker-icon use{fill:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sv-multi-select-list .sv-list__item.sv-list__item--selected .sv-list__item-body,.sv-multi-select-list .sv-list__item.sv-list__item--selected:hover .sv-list__item-body{background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-weight:400}.sv-list__item--group-selected>.sv-list__item-body{background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-weight:400}.sv-list__item--group-selected>.sv-list__item-body use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list__item.sv-list__item--disabled .sv-list__item-body{cursor:default;color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list__item span{white-space:nowrap}.sv-list__item-text--wrap span{white-space:normal;word-wrap:break-word}.sv-list__container{position:relative;display:flex;height:100%;flex-direction:column;display:flex;min-height:0}.sv-list__filter{border-bottom:1px solid var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)))}.sv-list__filter-icon{display:block;position:absolute;top:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));inset-inline-start:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-list__filter-icon .sv-svg-icon{width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-list__filter-icon .sv-svg-icon use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;background:rgba(0,0,0,0);box-sizing:border-box;width:100%;min-width:calc(30*(var(--sjs-base-unit, var(--base-unit, 8px))));outline:none;font-size:var(--sjs-font-size, 16px);color:var(--sjs-general-forecolor, var(--foreground, #161616));padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:calc(7*(var(--sjs-base-unit, var(--base-unit, 8px))));line-height:calc(1.5*(var(--sjs-font-size, 16px)));border:none}.sv-list__input::placeholder{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list__input:disabled,.sv-list__input:disabled::placeholder{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv-list__loading-indicator{pointer-events:none}.sv-list__loading-indicator .sv-list__item-body{background-color:rgba(0,0,0,0)}.sv-scroll__wrapper{position:relative;height:100%;display:flex;flex-direction:column}.sv-scroll__scroller{box-sizing:border-box;flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;-ms-overflow-style:none;scrollbar-width:none}.sv-scroll__scroller::-webkit-scrollbar{display:none}.sv-scroll__scrollbar{position:absolute;top:0;bottom:0;overflow-y:scroll;overflow-x:hidden;width:fit-content;margin-inline-start:-1px;visibility:hidden;z-index:30;inset-inline-end:0;inset-inline-start:initial}@-moz-document url-prefix(){.sv-scroll__scrollbar{scrollbar-width:thin;scrollbar-color:var(--ctr-scrollbar-background-color, var(--sjs-border-25-overlay, rgba(0, 0, 0, 0.1490196078))) rgba(0,0,0,0)}}.sv-scroll__wrapper:hover .sv-scroll__scrollbar{visibility:visible}.sv-scroll__scrollbar-sizer{width:1px}.sv-scroll__container{width:100%;flex-grow:1;display:flex;flex-direction:column}.sv-save-data_root{position:fixed;left:50%;bottom:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));background:var(--sjs-general-backcolor, var(--background, #fff));opacity:0;padding:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));box-shadow:var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));border-radius:calc(2*(var(--sjs-corner-radius, 4px)));color:var(--sjs-general-forecolor, var(--foreground, #161616));min-width:calc(30*(var(--sjs-base-unit, var(--base-unit, 8px))));text-align:center;z-index:1600;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));display:flex;flex-direction:row;justify-content:center;align-items:center;transform:translateX(-50%) translateY(calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))));transition-timing-function:ease-in;transition-property:transform,opacity;transition-delay:.25s;transition:.5s}.sv-save-data_root.sv-save-data_root--shown{transition-timing-function:ease-out;transition-property:transform,opacity;transform:translateX(-50%) translateY(0);transition-delay:.25s;opacity:.75}.sv-save-data_root span{display:flex;flex-grow:1}.sv-save-data_root .sv-action-bar{display:flex;flex-grow:0;flex-shrink:0}.sv-save-data_root--shown.sv-save-data_success,.sv-save-data_root--shown.sv-save-data_error{opacity:1}.sv-save-data_root.sv-save-data_root--with-buttons{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-save-data_root.sv-save-data_error{background-color:var(--sjs-special-red, var(--red, #e60a3e));color:var(--sjs-general-backcolor, var(--background, #fff));font-weight:600;gap:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-save-data_root.sv-save-data_error .sv-save-data_button{font-weight:600;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));height:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));color:#fff;background-color:var(--sjs-special-red, var(--red, #e60a3e));border:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid #fff;border-radius:calc(1.5*(var(--sjs-corner-radius, 4px)));padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;align-items:center}.sv-save-data_root.sv-save-data_error .sv-save-data_button:hover,.sv-save-data_root.sv-save-data_error .sv-save-data_button:focus{color:var(--sjs-special-red, var(--red, #e60a3e));background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sv-save-data_root.sv-save-data_success{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));color:#fff;font-weight:600}.sv-string-viewer.sv-string-viewer--multiline{white-space:pre-wrap;word-break:break-word}.sd-element{padding-left:var(--sv-element-add-padding-left, 0px);padding-right:var(--sv-element-add-padding-right, 0px)}.sd-element__title{outline:none}.sd-element__title.sd-element__title--disabled{opacity:.25}.sd-root--readonly .sd-element__title.sd-element__title--disabled{opacity:1}.sd-element--invisible{opacity:.35}.sd-title.sd-element__title{font-family:var(--sjs-font-questiontitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-questiontitle-weight, 600);color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-element__header .sv-string-editor{max-width:100%;white-space:normal}.sd-element__title{font-size:0;line-height:0;position:static;margin:0}.sd-element__title .sd-element__num{font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px);color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-element__title span{font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))))}.sd-element__title .sv-title-actions__title{font-size:0;line-height:0}.sd-element__title .sv-title-actions__title{white-space:nowrap}.sd-element__title .sv-string-viewer{white-space:normal}.sd-element__title .sv-string-viewer.sv-string-viewer--multiline{white-space:pre-wrap}.sd-element__title.sd-element__title--singleinput span{--page-title-font-size: var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));font-family:var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagetitle-weight, 700);font-size:var(--page-title-font-size);color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));position:static;line-height:calc(1.33*(var(--page-title-font-size)));margin:0 0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0px}.sd-element__num{float:left;padding-top:calc(0.625*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(0.375*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:0;padding-inline-end:var(--sjs-base-unit, var(--base-unit, 8px));width:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px);color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));margin-inline-start:calc(-5*(var(--sjs-base-unit, var(--base-unit, 8px))));text-align:end;box-sizing:border-box;white-space:nowrap;flex-shrink:0}.sd-page__num+span,.sd-element__num+span{float:left;width:0}[dir=rtl] .sd-element__num,[style*=\"direction:rtl\"] .sd-element__num,[style*=\"direction: rtl\"] .sd-element__num{float:right}[dir=rtl] .sd-element__title--collapsed .sd-element__title-expandable-svg,[style*=\"direction:rtl\"] .sd-element__title--collapsed .sd-element__title-expandable-svg,[style*=\"direction: rtl\"] .sd-element__title--collapsed .sd-element__title-expandable-svg{transform:rotate(180deg)}.sd-element__title--num-inline .sd-element__num{float:none;margin-inline-start:0;width:auto;padding-inline-start:0;padding-inline-end:0}.sd-element__title--num-inline .sd-element__num+span{float:none;width:auto}.sd-element__title--expandable.sd-element__title--expandable{position:relative;display:block}.sd-element__title-expandable-svg{display:inline-block;width:var(--lbr-question-panel-expand-button-icon-width, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-question-panel-expand-button-icon-height, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));position:absolute;inset-inline-start:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));top:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-element__title-expandable-svg use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-element--with-frame{border-radius:var(--sjs-questionpanel-cornerRadius, var(--sjs-corner-radius, 4px));box-sizing:border-box;padding-top:var(--sd-base-padding);padding-left:calc(var(--sd-base-padding) + var(--sv-element-add-padding-left, 0px));padding-right:calc(var(--sd-base-padding) + var(--sv-element-add-padding-right, 0px));padding-bottom:var(--sd-base-padding);background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15))}.sd-element--with-frame.sd-element--compact{border:1px solid var(--sjs-border-default, var(--border, #d6d6d6));border-radius:var(--sjs-questionpanel-cornerRadius, var(--sjs-corner-radius, 4px));box-shadow:none;background-color:rgba(0,0,0,0)}@keyframes elementMoveIn{from{flex-basis:0;flex-grow:0;max-width:0;min-width:0;width:0;height:0;padding-left:0;overflow:hidden}to{height:var(--animation-height);flex-basis:var(--animation-width);width:var(--animation-width);min-width:var(--animation-width);padding-left:var(--animation-padding-left);overflow:visible}}.sd-element-wrapper--enter{animation-name:elementMoveIn,fadeIn;animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-fill-mode:forwards;animation-duration:var(--sjs-element-move-in-duration, 250ms),var(--sjs-element-fade-in-duration, 500ms);animation-delay:0s,var(--sjs-element-fade-in-delay, 100ms);opacity:0}.sd-element-wrapper--leave{animation-name:elementMoveIn,fadeIn;animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-fill-mode:forwards;animation-direction:reverse;animation-duration:var(--sjs-element-move-out-duration, 250ms),var(--sjs-element-fade-out-duration, 150ms);animation-delay:var(--sjs-element-move-out-delay, 0ms),0s}.sd-element__content{box-sizing:border-box}.sd-element__content--enter,.sd-element__content--leave{--animation-padding-top: 0;--animation-padding-bottom: 0}.sd-element__content--enter{animation-name:fadeIn,moveInWithOverflow;min-height:0 !important;opacity:0;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-duration:var(--sjs-expand-fade-in-duration, 500ms),var(--sjs-expand-move-in-duration, 150ms);animation-delay:var(--sjs-expand-fade-in-delay, 150ms),0s,0s}.sd-element__content--leave{animation-name:fadeIn,moveInWithOverflow;min-height:0 !important;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-duration:var(--sjs-collapse-fade-out-duration, 150ms),var(--sjs-collapse-move-out-duration, 250ms);animation-delay:0s,var(--sjs-collapse-move-out-delay, 100ms),var(--sjs-collapse-move-out-delay, 100ms)}.sd-element--expandable.sd-elemenet--expandable--animating>.sd-element__header:focus-within,.sd-element--expandable.sd-elemenet--expandable--animating>.sd-element__header:hover{background-color:rgba(0,0,0,0)}.sd-elemenet--expandable--animating.sd-element--expandable{transition-property:padding-top,padding-bottom}.sd-elemenet--expandable--animating.sd-element--expandable>.sd-element__header{transition-property:padding-top,padding-bottom}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded{transition-timing-function:cubic-bezier(0, 0, 0.58, 1);transition-duration:var(--sjs-expand-move-in-duration, 150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded>.sd-element__header{transition-timing-function:cubic-bezier(0, 0, 0.58, 1);transition-duration:var(--sjs-expand-move-in-duration, 150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded>.sd-element__header .sd-element__title:before{transition-duration:var(--sjs-expand-move-in-duration, 150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed{transition-timing-function:cubic-bezier(0, 0, 0.58, 1);transition-duration:var(--sjs-collapse-move-out-duration, 250ms);transition-delay:var(--sjs-collapse-move-out-delay, 100ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed>.sd-element__header{transition-timing-function:cubic-bezier(0, 0, 0.58, 1);transition-duration:var(--sjs-collapse-move-out-duration, 250ms);transition-delay:var(--sjs-collapse-move-out-delay, 100ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed>.sd-element__header .sd-element__title:before{transition-duration:var(--sjs-collapse-move-out-duration, 250ms);transition-delay:var(--sjs-collapse-move-out-delay, 100ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--complex:not(.sd-question--empty)>.sd-element__header--location-top:after{display:block;opacity:0;height:0;--animation-height: 1px;animation-name:fadeIn,moveIn;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-delay:var(--sjs-expand-fade-in-delay, 150ms),0s;animation-duration:var(--sjs-expand-fade-in-duration, 500ms),var(--sjs-expand-move-in-duration, 150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--complex:not(.sd-question--empty).sd-element--collapsed .sd-element__header--location-top:after{animation-direction:reverse;opacity:1;height:1px;animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-delay:0s,var(--sjs-collapse-move-out-delay, 100ms);animation-duration:var(--sjs-collapse-fade-out-duration, 150ms),var(--sjs-collapse-move-out-duration, 250ms)}.sd-question{position:relative}.sd-question--no-pointer-events .sd-selectbase label,.sd-question--no-pointer-events .sd-rating label{pointer-events:none}.sd-element__erbox--above-element{margin-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question__erbox--below-question{margin-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question__content--support-container-queries{container-type:inline-size}.sd-question--title-top>.sd-question__erbox--above-question{margin-bottom:calc(.5*var(--sd-base-vertical-padding))}.sd-question--description-under-input>.sd-question__erbox--below-question,.sd-question--title-bottom>.sd-question__erbox--below-question{margin-top:calc(.25*var(--sd-base-vertical-padding) + .5*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-element--with-frame>.sd-element__erbox--above-element{margin-bottom:var(--sd-base-padding);border-radius:var(--sjs-corner-radius, 4px) var(--sjs-corner-radius, 4px) 0 0}.sd-question--left>.sd-element__erbox--above-element{margin-bottom:0}.sd-element--with-frame.sd-question--left>.sd-element__erbox--above-element{margin-bottom:calc(1*var(--sd-base-vertical-padding))}.sd-element--with-frame>.sd-question__erbox--below-question{margin-top:auto;border-radius:0 0 var(--sjs-corner-radius, 4px) var(--sjs-corner-radius, 4px)}.sd-element--with-frame.sd-question--title-top>.sd-question__erbox--above-question{margin-bottom:calc(.5*var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-element--with-frame.sd-question--description-under-input>.sd-question__erbox--below-question,.sd-element--with-frame.sd-question--title-bottom>.sd-question__erbox--below-question{margin-top:calc(.5*var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-question__header{width:100%}.sd-question__header--location-top{padding-bottom:calc(.5*var(--sd-base-vertical-padding))}.sd-question__header--location--bottom{padding-top:calc(.375*var(--sd-base-vertical-padding))}.sd-element--with-frame.sd-question--title-top{padding-top:var(--sd-base-vertical-padding)}.sd-element--with-frame.sd-question--error-top{padding-top:0}.sd-element--with-frame.sd-question--error-bottom{padding-bottom:0;display:flex;flex-direction:column}.sd-element--with-frame.sd-question--error-bottom>.sd-question__content{margin-bottom:var(--sd-base-padding)}.sd-element--with-frame>.sd-element__erbox{margin-left:calc(-1*var(--sd-base-padding));margin-right:calc(-1*var(--sd-base-padding));width:calc(100% + 2*var(--sd-base-padding));position:sticky;left:calc(-1*var(--sd-base-padding))}.sd-scrollable .sd-question__content{overflow-x:auto;padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-question__header--location--left{display:inline-block;width:auto;vertical-align:top;margin-top:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--left{display:flex;flex-wrap:wrap;flex-direction:row;column-gap:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));row-gap:calc(.25*var(--sd-base-vertical-padding))}.sd-question__content--left{display:inline-block;flex:1;margin-top:calc(.25*var(--sd-base-vertical-padding)) 0;max-width:100%}.sd-element--with-frame>.sd-question__content--left{margin:0}.sd-question__required-text{color:var(--sjs-special-red, var(--red, #e60a3e));vertical-align:top}.sd-question__comment-area{font-size:var(--sjs-font-size, 16px);margin-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;flex-direction:column;gap:var(--sjs-base-unit, var(--base-unit, 8px));color:var(--sjs-general-forecolor, var(--foreground, #161616));white-space:normal}.sd-question__placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));justify-content:center;min-height:calc(24*(var(--sjs-base-unit, var(--base-unit, 8px))));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)))}.sd-question__placeholder>div .sv-string-viewer,.sd-question__placeholder>span .sv-string-viewer{white-space:pre-line}.sd-scrollable-container:not(.sd-scrollable-container--compact){width:max-content;overflow:visible;max-width:100%}.sd-question__title--empty .sv-string-viewer{display:inline-block;height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))))}.sd-question__content{box-sizing:border-box}.sd-singleinput__title{font-family:var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagetitle-weight, 700);font-size:var(--page-title-font-size);color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));position:static;line-height:calc(1.33*(var(--page-title-font-size)));margin:0 0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0px}.sd-error{display:block;padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:var(--sjs-corner-radius, 4px);line-height:var(--sjs-font-size, 16px);font-size:calc(0.75*(var(--sjs-font-size, 16px)));font-weight:600;text-align:left;color:var(--sjs-special-red, var(--red, #e60a3e));white-space:normal;width:100%;background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));box-sizing:border-box}.sd-element--expanded>.sd-element__header,.sd-element--collapsed>.sd-element__header{cursor:pointer}.sd-element--collapsed>.sd-element__header{padding:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sd-base-padding);box-sizing:border-box;background-color:var(--sjs-general-backcolor, var(--background, #fff));margin-inline-start:calc(-1*var(--sd-base-padding));width:calc(100% + 2*var(--sd-base-padding))}.sd-element--collapsed.sd-element--with-frame{padding-top:0;padding-bottom:0}.sd-element--collapsed.sd-element--with-frame>.sd-element__header{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:var(--sjs-questionpanel-cornerRadius, var(--sjs-corner-radius, 4px))}.sd-element--collapsed>.sd-element__header:focus-within,.sd-element--collapsed>.sd-element__header:hover{background-color:var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))}.sd-element--collapsed.sd-element--nested>.sd-element__header:hover,.sd-element--collapsed.sd-element--nested>.sd-element__header:focus-within{box-shadow:0 calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0 0 var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9)),0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0 var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))}.sd-element--complex.sd-element--with-frame{padding-top:0}.sd-element--complex.sd-element--nested-with-borders>.sd-element__erbox,.sd-element--complex.sd-element--with-frame>.sd-element__erbox{margin-top:0;margin-bottom:0}.sd-element--complex>.sd-element__header:after{content:\" \";display:block;height:1px;position:relative;background:var(--sjs-border-light, var(--border-light, #eaeaea));bottom:0}.sd-element--complex.sd-element--with-frame>.sd-element__header{padding-top:var(--sd-base-vertical-padding);padding-bottom:var(--sd-base-vertical-padding)}.sd-element--collapsed.sd-element--complex>.sd-element__header{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-element--nested.sd-element--complex>.sd-element__header--location-top:after{bottom:calc(-0.5*var(--sd-base-vertical-padding))}.sd-element--nested-with-borders{border:1px solid var(--sjs-border-light, var(--border-light, #eaeaea));border-radius:calc(var(--sjs-corner-radius, 4px) - 4px);box-sizing:border-box;padding-left:var(--sd-base-padding);padding-right:var(--sd-base-padding)}.sd-element--nested-with-borders>.sd-element__header--location-top{padding-top:calc(.5*var(--sd-base-vertical-padding));padding-bottom:calc(.5*var(--sd-base-vertical-padding))}.sd-element--nested-with-borders>.sd-element__erbox{margin-left:calc(-1*var(--sd-base-padding));margin-right:calc(-1*var(--sd-base-padding));width:calc(100% + 2*var(--sd-base-padding))}.sd-element--nested-with-borders>.sd-question__erbox--below-question{bottom:0;margin-top:0}.sd-element--nested-with-borders.sd-element--collapsed>.sd-element__header--location-top:hover,.sd-element--nested-with-borders.sd-element--collapsed>.sd-element__header--location-top:focus-within{box-shadow:none}.sd-element--nested-with-borders>.sd-element__header--location-top:after,.sd-element--complex.sd-element--with-frame>.sd-element__header--location-top:after{bottom:calc(-1*var(--sd-base-vertical-padding));inset-inline-start:calc(-1*var(--sd-base-padding));width:calc(100% + 2*var(--sd-base-padding))}.sd-element--collapsed.sd-element--complex>.sd-element__header--location-top:after{display:none}.sd-question--empty.sd-question--complex>.sd-question__content{padding-top:0;padding-bottom:0}.sd-question--empty.sd-question--complex>.sd-question__content:first-of-type{padding-top:var(--sd-base-padding)}.sd-question--empty.sd-question--complex>.sd-question__header--location-top{padding-bottom:calc(.5*var(--sd-base-vertical-padding))}.sd-question--empty.sd-question--complex>.sd-question__header--location-top:after{display:none}.sd-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:static;width:100%;box-sizing:border-box;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight, 400);color:var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));background-color:var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));border:none;border-radius:var(--sjs-editorpanel-cornerRadius, var(--sjs-corner-radius, 4px));text-align:start;box-shadow:var(--sjs-shadow-inner, inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms);display:block}.sd-input:focus{box-shadow:var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-input.sd-input:focus{outline:none}input.sd-input:disabled:not(.sd-input--disabled),textarea.sd-input:disabled:not(.sd-input--disabled){opacity:1}.sd-input--disabled{background-color:var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))))}.sd-input--readonly{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-input.sd-input--preview{background:none;box-shadow:none;transition:none;border-bottom:1px solid var(--sjs-general-forecolor, var(--foreground, #161616));border-radius:0;padding-left:0;padding-right:0}.sd-input::placeholder{color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sd-input.sd-input--disabled,.sd-input.sd-input--disabled::placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616));opacity:.25}.sd-input.sd-input--readonly{color:var(--sjs-general-forecolor, var(--foreground, #161616));box-shadow:none;transition:none}.sd-input.sd-input--readonly::placeholder{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-root--readonly .sd-input--disabled,.sd-root--readonly .sd-input--disabled::placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-input--error{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-text__content{position:relative}.sd-text__character-counter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-text__character-counter:focus-within{padding-inline-end:calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-text__character-counter.sd-text__character-counter--big:focus-within{padding-inline-end:calc(11*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-remaining-character-counter{display:none;flex-direction:row;justify-content:flex-end;align-items:flex-end;padding:0px;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));line-height:calc(1.5*(var(--sjs-font-size, 16px)));font-size:var(--sjs-font-size, 16px);color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));position:absolute;inset-inline-end:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));inset-block-end:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-text__content:focus-within .sd-remaining-character-counter,.sd-comment__content:focus-within .sd-remaining-character-counter,.sd-multipletext__content:focus-within .sd-remaining-character-counter,.sd-matrix__question-wrapper:focus-within .sd-remaining-character-counter{display:flex}.sd-input[type=time],.sd-input[type=date],.sd-input[type=datetime-local],.sd-input[type=week],.sd-input[type=month],.sd-input[type=tel],.sd-input[type=password],.sd-input[type=url],.sd-input[type=email],.sd-input[type=color],.sd-input[type=range]{box-sizing:content-box;width:calc(100% - 4*var(--sjs-base-unit, var(--base-unit, 8px)));height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))))}.sd-input[type=time].sd-text__character-counter:focus-within,.sd-input[type=date].sd-text__character-counter:focus-within,.sd-input[type=datetime-local].sd-text__character-counter:focus-within,.sd-input[type=week].sd-text__character-counter:focus-within,.sd-input[type=month].sd-text__character-counter:focus-within,.sd-input[type=tel].sd-text__character-counter:focus-within,.sd-input[type=password].sd-text__character-counter:focus-within,.sd-input[type=url].sd-text__character-counter:focus-within,.sd-input[type=email].sd-text__character-counter:focus-within,.sd-input[type=color].sd-text__character-counter:focus-within,.sd-input[type=range].sd-text__character-counter:focus-within{width:calc(100% - 10*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-input[type=range]::-webkit-slider-runnable-track{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));border-radius:var(--sjs-base-unit, var(--base-unit, 8px));height:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:100%;border:2px solid var(--sjs-primary-backcolor, var(--primary, #19b394));box-shadow:inset 0 0 0 2px var(--background, #fff);background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-input[type=range]::-moz-range-track{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));border-radius:var(--sjs-base-unit, var(--base-unit, 8px));height:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-input[type=range]::-moz-range-thumb{-webkit-appearance:none;appearance:none;margin-top:calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:100%;border:2px solid var(--sjs-primary-backcolor, var(--primary, #19b394));box-shadow:inset 0 0 0 2px var(--background, #fff);background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-comment{display:block;height:auto;min-width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));min-height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));max-width:100%}.sd-comment__content{position:relative}.sd-panel{position:relative}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header{padding-top:0;padding-bottom:calc(.5*var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header:after{content:none}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__title{--page-title-font-size: var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));font-family:var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagetitle-weight, 700);font-size:var(--page-title-font-size);color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));position:static;line-height:calc(1.33*(var(--page-title-font-size)));margin:0 0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0px}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__title span{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-element__num{padding:initial;margin:initial;float:initial;width:initial}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__description{font-family:var(--sjs-font-pagedescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagedescription-weight, 400);font-size:var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px));color:var(--sjs-font-pagedescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));position:static;line-height:calc(1.5*(var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px))));margin:0 0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__required-text{display:none}.sd-panel.sd-panel--as-page>.sd-panel__errbox{margin:0 0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0;padding:calc(.5*var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px))) var(--sd-base-padding)}.sd-panel.sd-panel--as-page>.sd-panel__content{padding-top:0}.sd-root--compact .sd-panel--as-page>.sd-panel__errbox{margin:0 0 var(--sd-base-vertical-padding) 0}.sd-row~.sd-row .sd-panel--as-page{padding-top:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel__required-text{color:var(--sjs-special-red, var(--red, #e60a3e))}.sd-panel__footer{box-sizing:border-box;padding-left:calc(var(--sd-base-padding) - 3*var(--sjs-base-unit, var(--base-unit, 8px)));margin-left:calc(-1*var(--sd-base-padding));width:calc(100% + 2*var(--sd-base-padding));margin-bottom:calc(-1*var(--sd-base-padding) + .5*var(--sd-base-vertical-padding));margin-top:calc(.5*var(--sd-base-vertical-padding));border-top:1px solid var(--sjs-border-light, var(--border-light, #eaeaea));padding-top:calc(.5*var(--sd-base-vertical-padding))}.sd-panel--as-page .sd-panel__footer{padding:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0 0;margin:0;border:none;width:initial}.sd-panel__content{padding-top:var(--sd-base-padding)}.sd-panel.sd-element--nested>.sd-panel__content{padding-bottom:var(--sd-base-padding);--animation-padding-top: var(--sd-base-padding)}.sd-panel__content{--animation-padding-top: var(--sd-base-padding)}.sjs_sp_placeholder{color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));display:flex;align-items:center;justify-content:center;position:absolute;z-index:1;user-select:none;pointer-events:none;width:100%;height:100%}.sjs_sp_container{position:relative;max-width:100%;border:1px dashed var(--sjs-border-default, var(--border, #d6d6d6));box-sizing:content-box}.sjs_sp_container>div>canvas:focus{outline:none}.sd-question--readonly .sjs_sp_container,.sd-question--preview .sjs_sp_container{border:none}.sd-question--readonly .sjs_sp_placeholder,.sd-question--preview .sjs_sp_placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sjs_sp_controls{position:absolute;left:0;bottom:0}.sjs_sp_controls>button{user-select:none}.sjs_sp_controls.sd-signaturepad__controls{right:var(--sjs-base-unit, var(--base-unit, 8px));top:var(--sjs-base-unit, var(--base-unit, 8px));left:auto;bottom:auto}.sd-question--signature.sd-question--error .sjs_sp_placeholder{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-signaturepad__background-image{position:absolute;top:0;left:0;object-fit:cover}.sd-signaturepad__loading-indicator{width:100%;height:100%;position:absolute;left:0;top:0}.sd-signaturepad__loading-indicator .sd-loading-indicator{position:absolute;right:var(--sjs-base-unit, var(--base-unit, 8px));top:var(--sjs-base-unit, var(--base-unit, 8px))}.sjs_sp_canvas{position:relative;max-width:100%;display:block}.sjs_sp__background-image{position:absolute;top:0;left:0;object-fit:cover;max-width:100%;width:100%;height:100%}.sd-checkbox__decorator{border-radius:calc(0.5*(var(--sjs-corner-radius, 4px)))}.sd-checkbox__svg{display:block;width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-checkbox__svg use{fill:rgba(0,0,0,0);transition:fill var(--sjs-transition-duration, 150ms)}.sd-checkbox--checked .sd-checkbox__svg use{fill:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__svg use{fill:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-checkbox--checked .sd-checkbox__control:focus+.sd-checkbox__decorator .sd-checkbox__svg use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-checkbox--checked.sd-checkbox--readonly .sd-checkbox__svg use{fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-checkbox--checked.sd-checkbox--preview .sd-checkbox__svg use{fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-matrixdynamic__btn.sd-matrixdynamic__add-btn{position:sticky;left:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));z-index:12}.sd-question--mobile .sd-matrixdynamic__footer::before{z-index:12;content:\" \";display:block;position:relative;height:1px;background-color:var(--sjs-border-light, var(--border-light, #eaeaea));left:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));top:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(100% + 6*var(--sjs-base-unit, var(--base-unit, 8px)));z-index:12}.sd-matrixdynamic__footer:first-child{padding-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdynamic__footer:first-child::before{display:none}.sd-matrixdynamic__footer{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-action.sd-matrixdynamic__remove-btn{opacity:.5}.sd-action.sd-matrixdynamic__remove-btn .sd-action__icon{width:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))))}.sd-matrixdynamic__btn{appearance:none;background:rgba(0,0,0,0);border:none;line-height:calc(1.5*(var(--sjs-font-size, 16px)));font-size:var(--sjs-font-size, 16px);font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:600;padding:var(--sjs-base-unit, var(--base-unit, 8px)) 0}.sd-matrixdynamic__drag-element{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdynamic__drag-element:hover{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sd-matrixdynamic__drag-element:after{content:\" \";display:block;height:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border:1px solid var(--sjs-border-default, var(--border, #d6d6d6));box-sizing:border-box;border-radius:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdynamic__placeholder .sd-matrixdynamic__add-btn{margin-left:0}.sd-table__row:hover .sd-drag-element__svg{visibility:visible}.sd-table__cell.sd-table__cell--drag>div{display:flex;justify-content:flex-end;align-items:center;margin-left:calc(-4*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));min-height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-drag-element__svg{width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));display:block;cursor:pointer;visibility:hidden}.sd-drag-element__svg use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}@keyframes borderAnimation{from{border-width:0px}to{border-width:8px}}@keyframes paddingAnimation{from{padding-top:0;padding-bottom:0}to{padding-top:24px;padding-bottom:32px}}@keyframes empty{}.sd-table__row--leave,.sd-table__row--enter{animation-name:empty;--move-whole-animation-duration: calc(var(--move-animation-duration) + var(--move-animation-delay));--fade-whole-animation-duration: calc(var(--fade-animation-duration) + var(--fade-animation-delay));animation-duration:max(var(--fade-whole-animation-duration),var(--move-whole-animation-duration))}.sd-table__row--leave>td,.sd-table__row--enter>td{animation-name:borderAnimation;animation-direction:var(--animation-direction);animation-timing-function:var(--animation-timing-function);animation-duration:var(--move-animation-duration);animation-fill-mode:forwards;animation-delay:var(--move-animation-delay)}.sd-table__row--leave>td>div,.sd-table__row--enter>td>div{animation-name:fadeIn,moveInWithOverflow;opacity:0;animation-direction:var(--animation-direction);animation-timing-function:var(--animation-timing-function);animation-fill-mode:forwards;animation-duration:var(--fade-animation-duration),var(--move-animation-duration);animation-delay:var(--fade-animation-delay),var(--move-animation-delay)}.sd-table__row--enter{--move-animation-delay: 0s;--move-animation-duration: var(--sjs-matrix-row-move-in-duration, 150ms);--fade-animation-duration: var(--sjs-matrix-row-fade-in-duration, 250ms);--fade-animation-delay: var(--sjs-matrix-row-fade-in-delay, 150ms);--animation-direction: normal;--animation-timing-function: cubic-bezier(0, 0, 0.58, 1)}.sd-table__row--leave{--move-animation-delay: var(--sjs-matrix-row-move-out-delay, 100ms);--move-animation-duration: var(--sjs-matrix-row-move-out-duration, 250ms);--fade-animation-duration: var(--sjs-matrix-row-fade-out-duration, 100ms);--fade-animation-delay: 0s;--animation-direction: reverse;--animation-timing-function: cubic-bezier(0.42, 0, 1, 1)}.sd-table__row--detail.sd-table__row--enter>td,.sd-table__row--detail.sd-table__row--leave>td{animation-name:borderAnimation,paddingAnimation;animation-duration:var(--move-animation-duration);animation-fill-mode:forwards;animation-direction:var(--animation-direction);animation-timing-function:var(--animation-timing-function)}.sd-table__row--detail.sd-table__row--enter{--move-animation-delay: 0s;--move-animation-duration: var(--sjs-matrix-detail-row-move-in-duration, 150ms);--fade-animation-duration: var(--sjs-matrix-detail-row-fade-in-duration, 500ms);--fade-animation-delay: var(--sjs-matrix-detail-row-fade-in-delay, 150ms);--animation-direction: normal;--animation-timing-function: cubic-bezier(0, 0, 0.58, 1)}.sd-table__row--detail.sd-table__row--leave{--move-animation-delay: var(--sjs-matrix-detail-row-move-out-delay, 100ms);--move-animation-duration: var(--sjs-matrix-detail-row-move-out-duration, 250ms);--fade-animation-duration: var(--sjs-matrix-detail-row-fade-out-duration, 150ms);--fade-animation-delay: 0s;--animation-direction: reverse;--animation-timing-function: cubic-bezier(0.42, 0, 1, 1)}.sd-table{width:100%;background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));border-collapse:separate;border-spacing:0;white-space:normal}.sd-table>thead>tr>th{border-top:0;border-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid rgba(0,0,0,0)}.sd-table__cell{border-top:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0);border-bottom:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0);border-left:none;border-right:none;background-clip:padding-box;box-sizing:content-box}.sd-table.sd-table--columnsautowidth .sd-table__cell:not(.sd-table__cell--actions):not(.sd-table__cell--action):not(.sd-table__cell--empty.sd-table__cell--error){width:10000px}.sd-table__row:first-of-type>.sd-table__cell{border-top:0}.sd-table__row:last-of-type>.sd-table__cell{border-bottom:0}.sd-table--align-top .sd-table__cell{vertical-align:top}.sd-table--no-header{padding-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-table--no-header{padding-top:0}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table .sd-question__content{padding-bottom:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:calc(-0.25*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-top:var(--sjs-base-unit, var(--base-unit, 8px));margin-top:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__header~.sd-question__content{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));--animation-padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__header~.sd-question__content .sd-table--no-header{padding-top:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table.sd-question--error-top>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:0}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content>.sd-row:not(:first-of-type) .sd-question--table>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content>.sd-row:not(:first-of-type) .sd-question--table.sd-question--error-top>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__header~.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content>.sd-row:not(:first-of-type) .sd-question--table>.sd-question__header~.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows{margin-left:var(--sjs-base-unit, var(--base-unit, 8px));margin-right:var(--sjs-base-unit, var(--base-unit, 8px));width:calc(100% - 2*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__cell:not(.sd-table__cell--header):first-of-type{padding-left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__cell:last-of-type{padding-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:first-of-type>.sd-table__cell{border-top:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0)}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:last-of-type>.sd-table__cell{border-bottom:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0)}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions),.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type{border-top-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));border-bottom-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions).sd-matrix__text--checked,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type.sd-matrix__text--checked{background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-input,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-input{background-color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error) .sd-item__decorator,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error) .sd-item__decorator{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--checked .sd-item__decorator,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--checked .sd-item__decorator{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--checked .sd-item__control:focus+.sd-item__decorator,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--checked .sd-item__control:focus+.sd-item__decorator{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--readonly.sd-item--checked .sd-item__decorator,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--readonly.sd-item--checked .sd-item__decorator{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--preview.sd-item--preview .sd-item__decorator,.sd-question:not(.sd-question--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--preview.sd-item--preview .sd-item__decorator{background-color:rgba(0,0,0,0)}.sd-table__cell{font-weight:normal;font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));padding:0 var(--sjs-base-unit, var(--base-unit, 8px));color:var(--sjs-general-forecolor, var(--foreground, #161616));text-align:center}.sd-table__cell:not(.sd-table__cell--empty):not(.sd-table__cell--actions):not(:empty){min-width:calc(15*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell .sd-item{text-align:initial}.sd-table__cell--error{border:none;padding:0 var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__cell--error .sd-question__erbox{margin:0}.sd-table__cell--error-top{vertical-align:bottom;padding-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__cell--error-bottom{vertical-align:top;padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__cell--item .sd-selectbase__item{text-align:center;justify-content:center}.sd-table__cell--item .sd-selectbase__label{justify-content:center}.sd-question--disabled .sd-table__cell{opacity:.25}.sd-root--readonly .sd-question--disabled .sd-table__cell{opacity:1}.sd-table__cell--header .sv-vue-title-additional-div,.sd-table__cell--header{font-size:0;line-height:0}.sd-table__cell--header span{font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));font-weight:var(--sjs-font-questiontitle-weight, 600)}.sd-table__cell--header{font-weight:600;color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));vertical-align:top;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__cell--header:not(.sd-table__cell--empty){min-width:calc(15*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdropdown .sd-table__cell--header.sd-table__cell--empty{min-width:calc(15*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdropdown .sd-table__cell--header.sd-table__cell--action{min-width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty){min-width:calc(15*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--dropdown,.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--rating{min-width:calc(22*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--boolean{min-width:calc(18*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell--footer{text-align:end;padding-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__cell--footer-total{font-weight:600;text-align:start}.sd-table__cell--detail-panel{border-top:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0);padding:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px)) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));border-bottom:var(--sjs-base-unit, var(--base-unit, 8px)) solid rgba(0,0,0,0)}.sd-table__cell--actions .sv-action-bar,.sd-matrixdynamic__add-btn .sv-action-bar{overflow:visible}.sd-table__cell--actions:not(.sd-table__cell--vertical){width:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__cell--actions:not(.sd-table__cell--vertical):not(.sd-table__cell--drag):first-of-type{padding-left:0;width:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));min-width:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell--detail-button{border:none;background:rgba(0,0,0,0);border-radius:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:var(--sjs-base-unit, var(--base-unit, 8px));transition:background var(--sjs-transition-duration, 150ms)}.sd-table__cell--detail-button svg{display:block;width:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));height:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));fill:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));transition:fill var(--sjs-transition-duration, 150ms)}.sd-table__cell--detail-button:hover,.sd-table__cell--detail-button:focus{background:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));outline:none}.sd-table__cell--detail-button:hover svg,.sd-table__cell--detail-button:focus svg{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-table__cell--actions{white-space:nowrap}.sd-table__cell--actions.sd-table__cell--vertical .sd-action-bar{justify-content:center}.sd-table__cell--row-text{font-weight:var(--sjs-font-questiontitle-weight, 600);color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));text-align:start;min-width:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) var(--sjs-base-unit, var(--base-unit, 8px))}.sd-matrix__question-wrapper{position:relative}.sd-table__question-wrapper:not(:focus-within):hover{position:relative}.sd-table__cell--actions:not(.sd-table__cell--vertical),.sd-table__cell--empty,.sd-table__cell--row-text,.sd-table__cell--footer-total,.sd-matrix__cell:first-of-type,.sd-matrix tr>td:first-of-type{position:sticky;background-color:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));z-index:12}.sd-table__cell--actions:not(.sd-table__cell--vertical):first-of-type,.sd-table__cell--empty:first-of-type,.sd-table__cell--row-text:first-of-type,.sd-table__cell--footer-total:first-of-type,.sd-matrix__cell:first-of-type:first-of-type,.sd-matrix tr>td:first-of-type:first-of-type{left:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell--actions:not(.sd-table__cell--vertical):last-of-type,.sd-table__cell--empty:last-of-type,.sd-table__cell--row-text:last-of-type,.sd-table__cell--footer-total:last-of-type,.sd-matrix__cell:first-of-type:last-of-type,.sd-matrix tr>td:first-of-type:last-of-type{right:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell--actions:not(.sd-table__cell--vertical):last-child .sd-action-bar{margin-right:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));justify-content:flex-end;background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))))}.sd-question.sd-question--table{position:relative;overflow-x:auto}.sd-question--table.sd-element--collapsed,.sd-question--table.sd-element--nested{overflow-x:visible}.sd-question--table .sd-question__header--location--left{z-index:12}.sd-table-wrapper{display:flex;margin:0 calc(-1*var(--sd-base-padding));width:fit-content;min-width:calc(100% + 2*var(--sd-base-padding))}.sd-table-wrapper:before,.sd-table-wrapper:after{content:\"\";display:block;position:sticky;min-height:100%;width:calc(var(--sd-base-padding) - var(--sjs-base-unit, var(--base-unit, 8px)));flex-shrink:0;background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));z-index:11}.sd-table-wrapper::before{left:calc(-1*var(--sd-base-padding))}.sd-table-wrapper:after{right:calc(-1*var(--sd-base-padding))}.sd-table-wrapper>*{flex-basis:100%}.sd-element--with-frame.sd-element--compact .sd-table{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-element--with-frame.sd-element--compact .sd-table-wrapper:before,.sd-element--with-frame.sd-element--compact .sd-table-wrapper:after{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-element--with-frame.sd-element--compact .sd-table__cell--actions:not(.sd-table__cell--vertical):last-child .sd-action-bar{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-element--with-frame.sd-element--compact .sd-table__cell--actions:not(.sd-table__cell--vertical),.sd-element--with-frame.sd-element--compact .sd-table__cell--empty,.sd-element--with-frame.sd-element--compact .sd-table__cell--row-text,.sd-element--with-frame.sd-element--compact .sd-table__cell--footer-total,.sd-element--with-frame.sd-element--compact .sd-matrix__cell:first-of-type,.sd-element--with-frame.sd-element--compact .sd-matrix tr>td:first-of-type{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-question--table>.sd-question__header,.sd-question--table .sd-question__description--under-input .sv-string-viewer{position:sticky;left:0}.sd-question--table>.sd-question__content{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));--animation-padding-top: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));min-width:min-content}.sd-question--table.sd-element--nested>.sd-question__content{min-width:auto;overflow-x:auto}.sd-question--table.sd-element--nested>.sd-question__content,.sd-question--table:not(.sd-element--with-frame):not(.sd-element--nested){padding-right:var(--sd-base-padding);margin-right:calc(-1*var(--sd-base-padding));padding-left:var(--sd-base-padding);margin-left:calc(-1*var(--sd-base-padding));box-sizing:content-box}.sd-row--multiple .sd-question--table.sd-element--nested>.sd-question__content{padding-right:calc(var(--sd-base-padding) + 2px)}.sd-question--scroll{overflow-x:scroll}.sd-table__row-disabled>.sd-table__cell{opacity:.25}.sd-question--mobile.sd-question.sd-question--table>.sd-question__content{padding-top:0;--animation-padding-top: 0}.sd-question--mobile.sd-question--table,.sd-question--mobile.sd-question--scroll{overflow-x:visible}.sd-question--mobile>.sd-question__content{min-width:auto}.sd-question--mobile .sd-table-wrapper{width:auto}.sd-question--mobile .sd-table{display:block;width:calc(100% - 2*var(--sd-base-padding) + 2*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-question--mobile .sd-table>tbody{display:block}.sd-question--mobile .sd-table>tfoot{display:block}.sd-question--mobile .sd-table__cell.sd-matrix__cell{display:flex;align-items:flex-start;border-top:none;border-bottom:none}.sd-question--mobile .sd-table__cell.sd-matrix__cell .sd-matrix__responsive-title{margin-left:var(--sjs-base-unit, var(--base-unit, 8px));text-align:start}.sd-question--mobile .sd-table__cell.sd-matrix__cell:first-of-type{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question--mobile .sd-table thead{display:none}.sd-question--mobile .sd-table tr{display:flex;flex-direction:column}.sd-question--mobile .sd-matrix__table .sd-table__row{padding-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question--mobile .sd-table__row{padding-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table__row--expanded .sd-table__cell-action--show-detail-mobile{display:none}.sd-question--mobile .sd-table:not(.sd-matrix__table) .sd-table__row{padding-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table:not(.sd-matrix__table) .sd-table__row.sd-table__row--has-end-actions{padding-bottom:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions){padding-bottom:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions):not(:last-of-type){padding-bottom:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions):not(:last-of-type)::after{bottom:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table:not(.sd-matrix__table) tfoot tr::before,.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--expanded)::after{z-index:12;content:\" \";display:block;position:relative;height:1px;background-color:var(--sjs-border-light, var(--border-light, #eaeaea));left:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(100% + 4*var(--sjs-base-unit, var(--base-unit, 8px)));z-index:12}.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--expanded)::after{bottom:0}.sd-question--mobile .sd-table:not(.sd-matrix__table) tr:last-of-type::after{display:none}.sd-question--mobile .sd-table:not(.sd-matrix__table) tfoot tr{padding-top:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table:not(.sd-matrix__table) tfoot tr::before{background-color:rgba(0,0,0,0)}.sd-question--mobile .sd-table:not(.sd-table--has-footer) .sd-table__row:last-of-type .sd-table__cell-action--show-detail-mobile,.sd-question--mobile .sd-table:not(.sd-table--has-footer) .sd-table__row:last-of-type .sd-table__cell-action--remove-row{margin-bottom:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-matrix__label{justify-content:flex-start}.sd-question--mobile .sd-table__cell{border-top:none;border-bottom:none;display:block;padding-top:0;padding-bottom:0;text-align:start}.sd-question--mobile .sd-table__cell{margin-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table__cell--error{margin-top:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table__cell--error.sd-table__cell--error-bottom .sd-question__erbox{margin-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question--mobile .sd-table__cell:first-of-type,.sd-question--mobile .sd-matrix__cell{margin-top:0}.sd-question--mobile .sd-table__cell--footer:not(.sd-question--answered){display:none}.sd-question--mobile .sd-table__responsive-title{padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px));font-weight:600;display:block;text-align:start}.sd-question--mobile .sd-table__responsive-title .sv-string-viewer{white-space:normal}.sd-question--mobile .sd-table--no-header{padding-top:0}.sd-question--mobile .sd-table--no-header .sd-table__responsive-title{display:none}.sd-question--mobile .sd-table__cell--detail-panel{padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.sd-question--mobile .sd-table__cell--detail-panel .sd-panel__content{padding-top:0}.sd-question--mobile .sd-table__cell.sd-table__cell--actions{width:auto;margin-top:var(--sjs-base-unit, var(--base-unit, 8px));margin-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question--mobile .sd-table__cell.sd-table__cell--actions .sd-action-bar{margin-right:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));background:var(--sjs-general-backcolor, var(--background, #fff))}.sd-question--mobile .sd-table__cell.sd-table__cell--actions #show-detail-mobile{flex-grow:1}.sd-question--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn{opacity:1;padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn .sd-action__icon{display:none}.sd-question--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn:after{content:attr(title)}.sd-question--mobile .sd-matrixdynamic__footer{padding-top:var(--sjs-base-unit, var(--base-unit, 8px));margin-bottom:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table__cell--footer-total:not(.sd-matrix__cell),.sd-question--mobile .sd-table__cell--row-text:not(.sd-matrix__cell){color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-question--mobile .sd-matrixdropdown.sd-table tr::after{bottom:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-matrixdropdown.sd-table tr:last-child:after{content:none}.sd-question--mobile .sd-table__cell.sd-table__cell--error-top{margin-top:0}.sd-question--mobile .sd-table__cell--error-top:first-of-type~.sd-table__cell:nth-of-type(2){margin-top:0}.sd-question--mobile .sd-table__cell--error-top .sd-question__erbox{margin-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-question--mobile .sd-table__cell--error-top:first-of-type .sd-question__erbox{margin-top:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-question--mobile .sd-table__question-wrapper .sd-boolean-root{margin:initial}.sd-table__cell--detail-panel .sd-panel__content{padding-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-table__question-wrapper .sd-boolean-root{margin:auto}.sd-table__cell--footer .sd-table__question-wrapper--expression .sd-expression{padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border-bottom:1px solid var(--sjs-border-light, var(--border-light, #eaeaea));font-size:var(--sjs-font-size, 16px);font-weight:600;line-height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-table__cell--footer .sd-table__question-wrapper--left{text-align:start}.sd-table__cell--footer .sd-table__question-wrapper--center{text-align:center}.sd-table__cell--footer .sd-table__question-wrapper--right{text-align:end}.sd-table.sd-matrixdynamic{table-layout:auto}.sd-page{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0 calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));width:100%;box-sizing:border-box}.sd-root-modern--mobile .sd-page{padding:0}.sd-page .sd-page__title{--page-title-font-size: var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));font-family:var(--sjs-font-pagetitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagetitle-weight, 700);font-size:var(--page-title-font-size);color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)));position:static;line-height:calc(1.33*(var(--page-title-font-size)));margin:0 0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0px}.sd-page .sd-page__description{font-family:var(--sjs-font-pagedescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagedescription-weight, 400);font-size:var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px));color:var(--sjs-font-pagedescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));position:static;line-height:calc(1.5*(var(--sjs-font-pagedescription-size, var(--sjs-font-size, 16px))));margin:0 0 calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-page__errbox{padding:calc(.5*var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px))) var(--sd-base-padding)}.sd-page__title~.sd-page__errbox,.sd-page__description~.sd-page__errbox{margin-top:calc(.5*var(--sd-base-vertical-padding) + var(--sjs-base-unit, var(--base-unit, 8px)));margin-bottom:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-root--compact .sd-page__title~.sd-page__errbox,.sd-root--compact .sd-page__description~.sd-page__errbox{margin-bottom:0}.sd-row{display:flex;flex-direction:row;width:100%;box-sizing:border-box;margin-top:var(--sd-base-vertical-padding)}.sd-row.sd-page__row{margin-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-page__row.sd-row--compact{margin-top:var(--sd-base-vertical-padding)}.sd-row:first-of-type{margin-top:0}.sd-page__title~.sd-row.sd-page__row:not(.sd-row--compact),.sd-page__description~.sd-row.sd-page__row:not(.sd-row--compact){margin-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-page__title~.sd-page__row.sd-row--compact,.sd-page__description~.sd-page__row.sd-row--compact{margin-top:var(--sd-base-vertical-padding)}.sd-page__title~.sd-page__row.sd-row.sd-row--enter.sd-row-delayed-enter,.sd-page__description~.sd-page__row.sd-row.sd-row--enter.sd-row-delayed-enter{margin-top:0}.sd-row.sd-page__row:not(.sd-row--compact)~.sd-row.sd-page__row:not(.sd-row--compact){margin-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-row.sd-page__row:not(.sd-row--compact)~.sd-page__row.sd-row.sd-row--enter.sd-row-delayed-enter{margin-top:0}.sd-row--multiple{row-gap:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:calc(-1*var(--sd-base-padding));width:calc(100% + var(--sd-base-padding));flex-wrap:wrap}.sd-row--multiple>div{box-sizing:border-box;--animation-padding-left: calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));padding-left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;align-items:stretch}.sd-panel.sd-panel--as-page>.sd-panel__content>.sd-row--multiple:not(.sd-row--compact){margin-left:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(100% + var(--base-unit)*2)}.sd-panel:not(.sd-panel--as-page) .sd-row--multiple{row-gap:var(--sd-base-vertical-padding)}.sd-panel:not(.sd-panel--as-page) .sd-row--multiple>div{--animation-padding-left: var(--sd-base-padding);padding-left:var(--sd-base-padding)}.sd-row--multiple.sd-row--compact>div{--animation-padding-left: var(--sd-base-padding);padding-left:var(--sd-base-padding)}.sd-page__row.sd-row--multiple{margin-left:calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(100% + 2*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-page__row.sd-row--multiple.sd-row--compact{padding:0;row-gap:var(--sd-base-vertical-padding);margin-left:calc(-1*var(--sd-base-padding));width:calc(100% + var(--sd-base-padding))}.sd-row__panel{box-sizing:border-box;width:100%}.sd-row__question{box-sizing:border-box;width:100%;white-space:nowrap}.sd-row.sd-row--enter{margin-top:0}.sd-row--enter{animation-fill-mode:forwards;animation-name:fadeIn,moveInWithOverflow;min-height:0 !important;opacity:0;height:0;animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-delay:var(--sjs-row-fade-in-delay, 150ms),0s,0s;animation-duration:var(--sjs-row-fade-in-duration, 500ms),var(--sjs-row-move-in-duration, 150ms),var(--sjs-row-move-in-duration, 150ms)}.sd-row--delayed-enter{animation-delay:calc(var(--sjs-row-fade-in-delay, 150ms) + var(--sjs-row-fade-in-animation-delay, 400ms)),var(--sjs-row-fade-in-animation-delay, 400ms),var(--sjs-row-fade-in-animation-delay, 400ms)}.sd-row--leave{animation-name:fadeIn,moveInWithOverflow;animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-fill-mode:forwards;animation-direction:reverse;min-height:0 !important;animation-delay:0s,var(--sjs-row-move-out-delay, 100ms),var(--sjs-row-move-out-delay, 100ms);animation-duration:var(--sjs-row-fade-out-duration, 150ms),var(--sjs-row-move-out-duration, 250ms),var(--sjs-row-move-out-duration, 250ms)}.sd-row--enter .sd-element-wrapper--enter{animation:none}.sd-row--leave .sd-element-wrapper--leave{animation:none}.sv-skeleton-element{min-height:50px}.sd-title{display:block;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;color:var(--sjs-general-forecolor, var(--foreground, #161616));flex-direction:row;white-space:normal}.sd-title.sd-container-modern__title{display:flex;align-items:center;padding:var(--sd-page-vertical-padding) var(--sd-page-vertical-padding);font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));gap:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));box-shadow:0px 2px 0px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-title.sd-container-modern__title .sd-logo.sv-logo--right{margin-left:auto}.sd-title.sd-container-modern__title .sd-logo__image{margin-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-header__text{display:flex;flex-direction:column;gap:var(--sjs-base-unit, var(--base-unit, 8px));flex-grow:1}.sd-header__text .sd-title{--survey-title-font-size: var(--sjs-font-surveytitle-size, calc(2 * (var(--sjs-font-size, 16px))));font-size:var(--survey-title-font-size);line-height:calc(1.25*(var(--survey-title-font-size)));color:var(--sjs-font-surveytitle-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));font-family:var(--sjs-font-surveytitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-surveytitle-weight, 700)}.sd-header__text h3{line-height:calc(2.5*(var(--sjs-font-size, 16px)))}.sd-header__text h5{font-size:var(--sjs-font-size, 16px);font-weight:400;line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sd-header__text .sd-description{--survey-description-font-size: var(--sjs-font-surveydescription-size, var(--sjs-font-size, 16px));font-size:var(--survey-description-font-size);line-height:calc(1.5*(var(--survey-description-font-size)));color:var(--sjs-font-surveydescription-color, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));font-family:var(--sjs-font-surveydescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-surveydescription-weight, 400)}.sd-title .sv-title-actions{width:100%;justify-content:space-between}.sd-root-modern .sd-container-modern__title{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sd-root-modern .sd-container-modern__title .sd-header__text h3{margin:0}.sd-root-modern .sd-container-modern__title .sd-description{margin:0;color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-title .sv-title-actions{align-items:flex-start;width:calc(100% + 3*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-title .sv-title-actions .sv-title-actions__title{flex-wrap:wrap;flex:0 1 auto;max-width:calc(100% - 3*var(--sjs-base-unit, var(--base-unit, 8px)));white-space:initial;min-width:unset}.sd-root--compact .sd-title .sv-title-actions{width:100%}.sd-action-title-bar{flex:1 9 auto;min-width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));justify-content:flex-end;margin:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-action-title-bar .sv-action{flex:0 0 auto}.sd-action-title-bar.sd-action-bar--empty{min-width:0}.sd-description{font-style:normal;font-family:var(--sjs-font-questiondescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-questiondescription-weight, 400);color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));font-size:var(--sjs-font-questiondescription-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiondescription-size, var(--sjs-font-size, 16px))));white-space:normal}.sd-description.sd-question__description--under-input{padding-top:calc(.375*var(--sd-base-vertical-padding))}.sd-element__header .sd-description{margin-top:calc(.25*var(--sd-base-vertical-padding) - .5*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-item{display:flex;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-item--disabled.sd-item--disabled .sd-item__decorator,.sd-item__decorator{display:flex;align-items:center;justify-content:center;width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box;background-color:var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));border:none;flex-shrink:0;margin-top:calc((1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))) - 3*(var(--sjs-base-unit, var(--base-unit, 8px))))/2);box-shadow:var(--sjs-shadow-inner, inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms),background var(--sjs-transition-duration, 150ms)}.sd-item--readonly.sd-item--readonly.sd-item:not(.sd-item--checked) .sd-item__control:focus+.sd-item__decorator,.sd-item--readonly.sd-item--readonly .sd-item__decorator{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));box-shadow:none;transition:none}.sd-item--preview.sd-item--preview .sd-item__decorator{background-color:rgba(0,0,0,0);box-shadow:none;transition:none}.sd-item--checked .sd-item__decorator{box-shadow:none}.sd-item__control:focus+.sd-item__decorator{background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));outline:none;box-shadow:var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-item--allowhover:not(.sd-item--readonly) .sd-selectbase__label:hover .sd-item__decorator{background:var(--sjs-editorpanel-hovercolor, var(--sjs-general-backcolor-dim-dark, rgb(243, 243, 243)));outline:none}.sd-item--checked .sd-item__decorator{background:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-item__control-label{font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-style:normal;font-weight:var(--sjs-font-editorfont-weight, 400);line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));white-space:normal;width:100%;text-align:start;min-width:0}.sd-item__control-label .sv-string-viewer{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.sd-item--disabled .sd-item__control-label{color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));opacity:.25}.sd-root--readonly .sd-item--disabled .sd-item__control-label{color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-item--error .sd-item__decorator{background:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-selectbase{border:none;margin:0;padding:0;min-inline-size:0;min-width:0}.sd-selectbase--row{border:none;margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-selectbase--multi-column{display:flex;flex:1 1 0px;flex-wrap:nowrap;overflow:auto;padding:2px;margin:-2px}.sd-selectbase__label{display:inline-flex;position:relative;gap:var(--sjs-base-unit, var(--base-unit, 8px));vertical-align:top;max-width:100%}.sd-selectbase__column{vertical-align:top}.sd-selectbase__column{display:block;box-sizing:border-box;flex:1 1 0px;max-width:100%}.sd-selectbase__column:not(:last-child){padding-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-selectbase__column.sv-q-column-1{width:100%}.sd-item--enter,.sd-item--leave{animation-name:moveInWithOverflow,fadeIn;opacity:0;animation-fill-mode:forwards;animation-timing-function:linear;animation-direction:var(--animation-direction);animation-duration:var(--move-animation-duration),var(--fade-animation-duration);animation-delay:var(--move-animation-delay),var(--fade-animation-delay)}.sd-item--enter{--animation-direction: normal;--move-animation-duration: var(--sjs-ranking-move-in-duration, 150ms);--move-animation-delay: 0s;--fade-animation-duration: var(--sjs-ranking-fade-in-duration, 100ms);--fade-animation-delay: var(--sjs-ranking-fade-in-delay, 150ms)}.sd-item--leave{--animation-direction: reverse;--move-animation-duration: var(--sjs-ranking-move-out-duration, 150ms);--move-animation-delay: var(--sjs-ranking-move-out-delay, 0ms);--fade-animation-duration: var(--sjs-ranking-fade-out-duration, 100ms);--fade-animation-delay: 0s}div[class*=sv-q-column-]:not(:first-of-type) .sd-item--enter{--move-animation-duration: 0s;--fade-animation-delay: 0s}.sd-selectbase__other{margin-top:0}.sd-selectbase__other:not(:last-of-type){margin-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-radio__decorator{border-radius:50%}.sd-radio__decorator:after{content:\" \";display:block;width:var(--sjs-base-unit, var(--base-unit, 8px));height:var(--sjs-base-unit, var(--base-unit, 8px));border-radius:50%;background-color:rgba(0,0,0,0);transition:background-color var(--sjs-transition-duration, 150ms)}.sd-radio--checked .sd-radio__decorator:after{content:\" \";display:block;width:var(--sjs-base-unit, var(--base-unit, 8px));height:var(--sjs-base-unit, var(--base-unit, 8px));border-radius:50%;background-color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-radio--checked.sd-radio--disabled .sd-radio__decorator:after{background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-radio--checked.sd-radio--readonly .sd-radio__decorator:after{background-color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-radio--checked.sd-radio--preview .sd-radio__decorator:after{display:none}.sd-radio--checked.sd-radio--preview .sd-radio__decorator .sd-radio__svg{fill:var(--sjs-general-forecolor, var(--foreground, #161616));display:block;width:calc(2.5*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-radio--checked .sd-radio__control:focus+.sd-radio__decorator:after{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-radio__svg{display:none}.sd-visuallyhidden{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px)}.sd-matrix fieldset{border:none;padding:0;margin:0}.sd-matrix__label{display:flex;position:relative;justify-content:center}.sd-matrix__text{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrix__text--checked{background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-matrix__cell:first-of-type{font-weight:var(--sjs-font-questiontitle-weight, 600);text-align:start}:root{--sd-rating-bad-color: var(--sjs-special-red, var(--red, #e60a3e));--sd-rating-normal-color: var(--sjs-special-yellow, var(--yellow, #ff9814));--sd-rating-good-color: var(--sjs-special-green, var(--green, #19b394));--sd-rating-bad-color-light: var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));--sd-rating-normal-color-light: var(--sjs-special-yellow-light, var(--yellow-light, rgba(255, 152, 20, 0.1)));--sd-rating-good-color-light: var(--sjs-special-green-light, var(--green-light, rgba(25, 179, 148, 0.1)))}.sd-rating{overflow-x:auto;min-height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating fieldset{display:flex;border:none;padding:0 0 2px 0;flex-wrap:nowrap;gap:var(--sjs-base-unit, var(--base-unit, 8px));margin-inline-start:0;align-items:center}.sd-rating.sd-rating--wrappable fieldset{flex-wrap:wrap;min-width:0}.sd-rating.sd-rating--labels-top fieldset{padding-top:calc(4.5*(var(--sjs-base-unit, var(--base-unit, 8px))));position:relative}.sd-rating.sd-rating--labels-top fieldset .sd-rating__min-text{position:absolute;margin:0;left:0;top:0;border:0}.sd-rating.sd-rating--labels-top fieldset .sd-rating__max-text{position:absolute;margin:0;right:0;top:0;border:0}.sd-rating.sd-rating--labels-bottom fieldset{padding-bottom:calc(4.5*(var(--sjs-base-unit, var(--base-unit, 8px))));position:relative}.sd-rating.sd-rating--labels-bottom fieldset .sd-rating__min-text{position:absolute;margin:0;left:0;bottom:0;border:0}.sd-rating.sd-rating--labels-bottom fieldset .sd-rating__max-text{position:absolute;margin:0;right:0;bottom:0;border:0}.sd-rating.sd-rating--labels-diagonal fieldset{padding-top:calc(4.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(4.5*(var(--sjs-base-unit, var(--base-unit, 8px))));position:relative}.sd-rating.sd-rating--labels-diagonal fieldset .sd-rating__min-text{position:absolute;margin:0;left:0;top:0;border:0}.sd-rating.sd-rating--labels-diagonal fieldset .sd-rating__max-text{position:absolute;margin:0;right:0;bottom:0;border:0}.sd-rating--small{min-height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));margin:auto}.sd-rating--small fieldset{padding:0;gap:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-rating__item{position:relative;background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));white-space:nowrap;padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2.5*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));text-align:center;border:0px solid rgba(0,0,0,0);color:var(--sjs-general-forecolor, var(--foreground, #161616));fill:var(--sjs-general-forecolor, var(--foreground, #161616));font-size:var(--sjs-font-size, 16px);box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),inset 0 0 0 0px var(--sjs-general-backcolor, var(--background, #fff));transition:box-shadow var(--sjs-transition-duration, 150ms),background-color var(--sjs-transition-duration, 150ms)}.sd-rating__item--fixed-size{width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:0}legend+.sd-rating__item,legend+sv-ng-rating-item-smiley+.sd-rating__item-smiley,legend+sv-ng-rating-item+.sd-rating__item{margin-inline-start:2px}.sd-rating__item--error{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));box-shadow:0px 1px 2px rgba(0,0,0,0);border:none}.sd-rating__item.sd-rating__item--disabled{color:var(--sjs-general-forecolor, var(--foreground, #161616));fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--disabled{color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));fill:var(--sjs-general-forecolor, var(--foreground, #161616));background-color:var(--lbr-dialog-screen-color, var(--background-semitransparent, rgba(144, 144, 144, 0.5)));border:none}.sd-rating__item.sd-rating__item--readonly{fill:rgba(0,0,0,0);background-color:rgba(0,0,0,0);border:2px solid var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)));box-shadow:none;transform:none}.sd-rating__item.sd-rating__item--readonly .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--readonly{border-color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--readonly .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item.sd-rating__item--preview{fill:rgba(0,0,0,0);background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);box-shadow:none;transform:none}.sd-rating__item.sd-rating__item--preview:focus-within{box-shadow:none}.sd-rating__item.sd-rating__item--preview .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--preview{border-color:var(--sjs-general-forecolor, var(--foreground, #161616));border-width:1px}.sd-rating__item.sd-rating__item--selected.sd-rating__item--preview .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-question--disabled .sd-rating__item-text{opacity:.25}.sd-rating__item--allowhover:hover{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-rating__item:focus-within{box-shadow:0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item--selected{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));font-weight:600;box-shadow:0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item--selected:focus-within{box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),inset 0 0 0 4px var(--sjs-general-backcolor, var(--background, #fff)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item-smiley{position:relative;border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));white-space:nowrap;padding:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box;min-width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));min-height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;justify-content:center;align-items:center;text-align:center;border:2px solid var(--sjs-border-default, var(--border, #d6d6d6));color:var(--sjs-general-forecolor, var(--foreground, #161616));fill:var(--sjs-border-default, var(--border, #d6d6d6));box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),inset 0 0 0 0px var(--sjs-general-backcolor, var(--background, #fff));transition:box-shadow var(--sjs-transition-duration, 150ms),background-color var(--sjs-transition-duration, 150ms)}.sd-rating__item-smiley svg{display:block;width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-smiley--small{padding:calc(0.625*(var(--sjs-base-unit, var(--base-unit, 8px))));min-width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));min-height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));border-width:1px}.sd-rating__item-smiley--small svg{width:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within{box-shadow:0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item-smiley--colored.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within{box-shadow:0 0 0 1px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-rating__item-smiley--small.sd-rating__item-smiley--selected:focus-within{box-shadow:inset 0 0 0 2px var(--sjs-general-backcolor, var(--background, #fff)),0 0 0 1px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)))}legend+.sd-rating__item-smiley,legend+sv-ng-rating-item+.sd-rating__item-smiley{margin-inline-start:2px}.sd-rating__item-smiley--scale-colored{border-color:var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));fill:var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));transition:box-shadow var(--sjs-transition-duration, 150ms),opacity var(--sjs-transition-duration, 150ms),background-color var(--sjs-transition-duration, 150ms)}.sd-rating__item-smiley--error{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));border-color:rgba(0,0,0,0);fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-rating__item-smiley--error.sd-rating__item-smiley--scale-colored:hover{fill:var(--sd-rating-item-color, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)))}.sd-rating__item-smiley--error.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected){opacity:initial}.sd-rating__item-smiley.sd-rating__item-smiley--disabled{opacity:.5}.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--disabled{opacity:initial;fill:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-rating__item-smiley.sd-rating__item-smiley--readonly{fill:var(--sjs-border-default, var(--border, #d6d6d6));border-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--readonly{fill:var(--sjs-general-forecolor, var(--foreground, #161616));border-color:var(--sjs-general-forecolor, var(--foreground, #161616));background-color:unset}.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview{border:1px solid var(--sjs-general-forecolor, var(--foreground, #161616));fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview:focus-within{box-shadow:none}.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview svg{margin:1px}.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview{fill:var(--sjs-general-backcolor, var(--background, #fff));background-color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item-smiley--allowhover:hover{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));border-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-rating__item-smiley:focus-within{border:none;box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item-smiley:focus-within{border:none;box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item-smiley--selected{background-color:var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));border-color:var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));fill:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));font-weight:600}.sd-rating__item-smiley--selected:focus-within{border:0px solid var(--sjs-general-backcolor, var(--background, #fff));box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),inset 0 0 0 4px var(--sjs-general-backcolor, var(--background, #fff)),0 0 0 2px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected){opacity:.25}.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected).sd-rating__item-smiley--allowhover:hover{background-color:var(--sd-rating-item-color-light, var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248))));border-color:var(--sd-rating-item-color, var(--sjs-border-default, var(--border, #d6d6d6)));opacity:.5}.sd-rating__item-smiley--rate-colored:not(.sd-rating__item-smiley--selected).sd-rating__item-smiley--allowhover:hover{opacity:.5}.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected):focus-within{opacity:1;box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within{opacity:1;box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 1px var(--sd-rating-item-color, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--selected,.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--readonly,.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--preview{opacity:1}.sd-rating__item-star{position:relative;width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:content-box}.sd-rating__item-star:not(:first-of-type){padding-left:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-star:not(:last-of-type){padding-right:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-right:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-star svg{stroke:var(--sjs-border-default, var(--border, #d6d6d6));stroke-width:2px;fill:rgba(0,0,0,0);width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));display:block;position:absolute;transition:stroke var(--sjs-transition-duration, 150ms),opacity var(--sjs-transition-duration, 150ms),fill var(--sjs-transition-duration, 150ms)}.sd-rating__item-star .sv-star{opacity:1}.sd-rating__item-star .sv-star-2{opacity:0}.sd-rating__item-star--small{width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-star--small svg{width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-star--small.sd-rating__item-star--selected svg{stroke-width:1px}.sd-rating__item-star--selected svg{stroke:rgba(0,0,0,0);fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item-star--selected:nth-child(1) svg{transition-delay:0ms}.sd-rating__item-star--selected:nth-child(2) svg{transition-delay:25ms}.sd-rating__item-star--selected:nth-child(3) svg{transition-delay:50ms}.sd-rating__item-star--selected:nth-child(4) svg{transition-delay:75ms}.sd-rating__item-star--selected:nth-child(5) svg{transition-delay:100ms}.sd-rating__item-star--selected:nth-child(6) svg{transition-delay:125ms}.sd-rating__item-star--selected:nth-child(7) svg{transition-delay:150ms}.sd-rating__item-star--selected:nth-child(8) svg{transition-delay:175ms}.sd-rating__item-star--selected:nth-child(9) svg{transition-delay:200ms}.sd-rating__item-star--selected:nth-child(10) svg{transition-delay:225ms}.sd-rating__item-star--selected:nth-child(11) svg{transition-delay:250ms}.sd-rating__item-star--selected:nth-child(12) svg{transition-delay:275ms}.sd-rating__item-star--selected:nth-child(13) svg{transition-delay:300ms}.sd-rating__item-star--selected:nth-child(14) svg{transition-delay:325ms}.sd-rating__item-star--selected:nth-child(15) svg{transition-delay:350ms}.sd-rating__item-star--selected:nth-child(16) svg{transition-delay:375ms}.sd-rating__item-star--selected:nth-child(17) svg{transition-delay:400ms}.sd-rating__item-star--selected:nth-child(18) svg{transition-delay:425ms}.sd-rating__item-star--selected:nth-child(19) svg{transition-delay:450ms}.sd-rating__item-star--selected:nth-child(20) svg{transition-delay:475ms}.sd-rating__item-star--selected:nth-child(21) svg{transition-delay:500ms}.sd-rating__item-star--selected:nth-child(22) svg{transition-delay:525ms}.sd-rating__item-star--selected:nth-child(23) svg{transition-delay:550ms}.sd-rating__item-star--selected:nth-child(24) svg{transition-delay:575ms}.sd-rating__item-star--selected:nth-child(25) svg{transition-delay:600ms}.sd-rating__item-star--error svg{stroke:none;fill:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-rating__item-star--disabled{opacity:.5}.sd-rating__item-star--disabled svg{stroke:var(--sjs-border-default, var(--border, #d6d6d6));fill:none}.sd-rating__item-star--selected.sd-rating__item-star--disabled svg{stroke:none;fill:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-rating__item-star--readonly svg{stroke:var(--sjs-border-default, var(--border, #d6d6d6));fill:none}.sd-rating__item-star--selected.sd-rating__item-star--readonly svg{stroke:none;fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item-star--preview svg{stroke:var(--sjs-general-forecolor, var(--foreground, #161616));stroke-width:1px;fill:none}.sd-rating__item-star--selected.sd-rating__item-star--preview svg{stroke:none;fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-rating__item-star:not(.sd-rating__item-star--preview):focus-within svg{stroke:var(--sjs-primary-backcolor, var(--primary, #19b394));fill:rgba(0,0,0,0)}.sd-rating__item-star--unhighlighted svg{stroke:rgba(0,0,0,0);fill:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-rating__item-star--highlighted svg{stroke:var(--sjs-border-default, var(--border, #d6d6d6));fill:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview).sd-rating__item-star--unhighlighted:focus-within svg{stroke:var(--sjs-border-default, var(--border, #d6d6d6));fill:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within svg{stroke:var(--sjs-primary-backcolor, var(--primary, #19b394));fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within .sv-star{opacity:0}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within .sv-star-2{opacity:1}.sd-rating__item-text.sd-rating__item-text{font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight, 400);color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));display:inline-block;box-sizing:border-box;transition:color var(--sjs-transition-duration, 150ms)}.sd-rating__item-text.sd-rating__item-text.sd-rating__min-text,.sd-rating__item-text.sd-rating__item-text.sd-rating__max-text{margin-top:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));border:2px solid rgba(0,0,0,0)}.sd-rating__item-text.sd-rating__item-text.sd-rating__min-text{margin-right:var(--sjs-base-unit, var(--base-unit, 8px));border-left:0px}.sd-rating__item-text.sd-rating__item-text.sd-rating__max-text{margin-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-rating__item-text.sd-rating__item-text .sv-string-editor{white-space:nowrap}.sd-rating__item-text.sd-rating__item-text.sd-rating__item--fixed-size{min-width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating__item-text.sd-rating__item-text::after{display:block;content:attr(data-text);font-weight:600;height:0;color:rgba(0,0,0,0);overflow:hidden;visibility:hidden}.sd-rating--wrappable .sd-rating__item-text{max-width:100%}.sd-rating--wrappable .sd-rating__item-text .sv-string-viewer{max-width:100%;text-overflow:ellipsis;overflow:hidden;display:block}.sd-rating__item:focus-within .sd-rating__item-text.sd-rating__item-text{border:none}.sd-rating__item--selected .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));font-weight:inherit;border:none}.sd-rating-dropdown-item{display:flex;width:100%;justify-content:space-between;align-items:center;gap:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-rating-dropdown-item_description{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-weight:normal;font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px)}.sv-list__item.sv-list__item--selected .sd-rating-dropdown-item_description{color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sv-ranking-item--error .sv-ranking-item__index{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));box-shadow:0px 1px 2px rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.sd-element--with-frame .sv-ranking-item{left:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking.sd-ranking--readonly{user-select:initial;-webkit-user-select:initial}.sv-ranking.sd-ranking--readonly.sv-ranking--select-to-rank-empty-value .sv-ranking__containers-divider{visibility:hidden}.sv-ranking.sd-ranking--readonly .sv-ranking__container--empty{visibility:hidden}.sv-ranking.sd-ranking--preview{user-select:initial;-webkit-user-select:initial}.sv-ranking.sd-ranking--preview.sv-ranking--select-to-rank-empty-value .sv-ranking__containers-divider{visibility:hidden}.sv-ranking.sd-ranking--preview .sv-ranking__container--empty{visibility:hidden}@container (max-width: 496px){.sv-ranking--select-to-rank-horizontal{flex-direction:column-reverse}.sv-ranking--select-to-rank-horizontal .sv-ranking__containers-divider{margin:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0;height:1px;width:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty{padding-top:var(--sjs-base-unit, var(--base-unit, 8px));padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px));display:flex;justify-content:center;align-items:center}.sv-ranking--select-to-rank-horizontal .sv-ranking__container{max-width:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item{left:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item{left:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder{padding-left:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-right:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder{padding-right:initial}}@container (max-width: 176px){.sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder{margin-left:calc(-5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-right:calc(-5*(var(--sjs-base-unit, var(--base-unit, 8px))))}}.sd-element--with-frame .sv-ranking--mobile .sv-ranking-item__icon-container{margin-left:0;margin-right:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-element--with-frame .sv-ranking--mobile .sv-ranking-item{left:0}.sv-ranking-item__content.sd-ranking-item__content{line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sv-dragdrop-movedown{transform:translate(0, 0);animation:svdragdropmovedown .1s;animation-timing-function:ease-in-out}@keyframes svdragdropmovedown{0%{transform:translate(0, -50px)}100%{transform:translate(0, 0)}}.sv-dragdrop-moveup{transform:translate(0, 0);animation:svdragdropmoveup .1s;animation-timing-function:ease-in-out}@keyframes svdragdropmoveup{0%{transform:translate(0, 50px)}100%{transform:translate(0, 0)}}.sv-dropdown_select-wrapper{position:relative}.sv-dropdown_select-wrapper use{fill:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)))}.sd-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-inline-end:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-block:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));opacity:1;display:flex;justify-content:space-between;word-spacing:normal}.sd-dropdown[disabled]{pointer-events:none}select.sd-dropdown{padding-inline-start:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-end:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-block:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-dropdown--empty:not(.sd-input--disabled),.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__value{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-dropdown__input-field-component{height:auto}.sd-dropdown option{color:var(--sjs-general-forecolor, var(--foreground, #161616));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-size, 16px)}.sd-dropdown input[readonly]{pointer-events:none}.sd-dropdown__value{width:100%;min-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight, 400);color:var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));position:relative;margin-block:var(--sjs-base-unit, var(--base-unit, 8px));margin-inline:0}.sd-dropdown-action-bar{overflow:unset;gap:calc(0.25*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));margin-inline-start:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-editor-button-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;background:rgba(0,0,0,0);display:flex;padding:var(--sjs-base-unit, var(--base-unit, 8px));justify-content:center;align-items:center;align-self:stretch;border-radius:calc(0.125*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));cursor:pointer}.sd-editor-button-item:hover{background:var(--lbr-editor-button-background-color-hovered, var(--sjs-general-backcolor-dim-dark, #f3f3f3));transition:background var(--sjs-transition-duration, 150ms)}.sd-input--readonly .sd-editor-button-item:hover,.sd-input--readonly .sd-editor-button-item:focus{background:rgba(0,0,0,0)}.sd-editor-button-item--pressed{opacity:var(--lbr-editor-button-icon-opacity-pressed, 0.5);background:var(--lbr-editor-button-background-color-hovered, var(--sjs-general-backcolor-dim-dark, #f3f3f3));transition-property:opacity,background-color;transition-duration:var(--sjs-transition-duration, 150ms)}.sv-editor-button-item__icon{width:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))))}.sv-editor-button-item__icon use{pointer-events:none}.sd-question--readonly .sd-editor-button-item{opacity:var(--lbr-editor-button-icon-opacity-disabled, 0.25);cursor:default}.sd-dropdown_chevron-button{position:absolute;width:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));top:0;bottom:0;inset-inline-end:0;display:flex;justify-content:center;align-items:center;padding-inline-end:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:content-box;cursor:pointer}.sd-dropdown_chevron-button-svg{width:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))))}.sd-dropdown_chevron-button-svg use{pointer-events:none}.sd-question--readonly .sd-dropdown_chevron-button use{opacity:.24}.sd-input.sd-dropdown:focus-within{box-shadow:var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-input.sd-dropdown.sd-input--readonly{box-shadow:none;transition:none}.sd-dropdown__filter-string-input{position:absolute;left:0;top:0;bottom:0;width:100%;max-width:100%;border:none;outline:none;padding:0;font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight, 400);color:var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));background-color:rgba(0,0,0,0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;appearance:none}.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__filter-string-input::placeholder{color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)))}.sd-dropdown__filter-string-input::placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616));width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;appearance:none}.sd-dropdown__hint-prefix{color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));display:flex;align-items:center}.sd-dropdown__hint-prefix span{white-space:pre}.sd-dropdown__hint-suffix{display:flex;color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)))}.sd-dropdown__hint-suffix span{white-space:pre}.sd-dropdown.sd-input--disabled .sv-string-viewer,.sd-dropdown.sd-input--readonly .sv-string-viewer,.sd-dropdown.sd-input--preview .sv-string-viewer{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.sv-dropdown-popup .sd-list__item-body{line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));font-weight:var(--sjs-font-editorfont-weight, 400);font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));padding-inline-end:calc(1.75*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-block:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:calc(1.75*(var(--sjs-base-unit, var(--base-unit, 8px))));border:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid rgba(0,0,0,0);border-radius:var(--sjs-corner-radius, 4px);transition:border-color var(--sjs-transition-duration, 150ms)}.sv-dropdown-popup .sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-list__item-body{border:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-border-light, var(--border-light, #eaeaea));padding-inline-end:calc(1.75*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-block:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-start:calc(1.75*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-dropdown-popup.sv-popup--menu-tablet .sd-list__item-body,.sv-dropdown-popup.sv-popup--menu-phone .sd-list__item-body{font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));font-weight:400}.sv-dropdown-popup.sv-single-select-list.sv-popup--leave .sd-list__item.sv-list__item--selected .sv-list__item-body{font-weight:normal;color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));background-color:rgba(0,0,0,0)}.sv-dropdown-popup.sv-popup--menu-popup.sv-popup--top .sv-popup__container{transform:translateY(-2px)}.sv-dropdown-popup.sv-popup--menu-popup.sv-popup--bottom .sv-popup__container{transform:translateY(2px)}[dir=rtl] .sd-dropdown,[style*=\"direction:rtl\"] .sd-dropdown,[style*=\"direction: rtl\"] .sd-dropdown{background-position:left calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) top 50%,0 0}.sv-list-item--custom-value .sv-list__item-body{font-weight:bold;color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-input.sd-tagbox:not(.sd-tagbox--empty).sd-input--editable{height:auto;padding-inline-start:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-input.sd-tagbox:not(.sd-tagbox--empty).sd-input--editable .sd-tagbox__value{padding:0}.sd-tagbox.sd-input--disabled .sd-tagbox__value,.sd-tagbox.sd-input--readonly .sd-tagbox__value,.sd-tagbox.sd-input--preview .sd-tagbox__value{white-space:normal}.sd-tagbox_clean-button{height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));padding:calc(0.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));margin:auto 0}.sd-input.sd-tagbox:focus-within{box-shadow:var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sv-tagbox__item{position:relative;display:flex;align-items:center;padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));border-radius:calc(0.5*(var(--sjs-corner-radius, 4px)));box-shadow:inset 0 0 0 var(--lbr-tag-box-item-border-width, 0) var(--lbr-tag-box-item-border-color, rgba(255, 255, 255, 0));max-width:calc(100% - var(--sjs-base-unit, var(--base-unit, 8px)));box-sizing:border-box}.sv-tagbox__item-text{color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));min-width:calc(5.5*(var(--sjs-base-unit, var(--base-unit, 8px))));text-align:center;font-weight:600}.sv-tagbox__item-text span{display:block;text-overflow:ellipsis;overflow:hidden}.sv-tagbox__item:hover .sd-tagbox-item_clean-button,.sv-tagbox__item:focus .sd-tagbox-item_clean-button,.sv-tagbox__item:focus-within .sd-tagbox-item_clean-button{align-self:center;opacity:1}.sd-tagbox-item_clean-button{display:flex;position:absolute;inset-inline-end:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:0;padding-inline-start:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));background:linear-gradient(270deg, var(--sjs-primary-backcolor, var(--primary, #19b394)) 53.12%, rgba(25, 179, 148, 0) 100%);opacity:0;transition:opacity var(--sjs-transition-duration, 150ms)}.sd-tagbox-item_clean-button-svg{display:block;padding:calc(0.25*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));width:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));height:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));box-sizing:content-box}.sd-tagbox-item_clean-button-svg:hover{border-radius:100px;background:var(--sjs-primary-forecolor-light, var(--primary-foreground-disabled, rgba(255, 255, 255, 0.25)))}.sd-tagbox-item_clean-button-svg use{fill:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-tagbox__value.sd-dropdown__value{position:relative;gap:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;flex-wrap:wrap;flex-grow:1;align-content:center;padding-inline:unset;margin-inline:unset;margin-block:unset}.sd-tagbox__filter-string-input{width:100%;height:100%;display:flex;flex-grow:1}.sd-tagbox__placeholder{position:absolute;top:0;left:0;max-width:100%;width:auto;height:100%;text-align:start;cursor:text;pointer-events:none;color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}[dir=rtl] .sd-tagbox-item_clean-button,[style*=\"direction:rtl\"] .sd-tagbox-item_clean-button,[style*=\"direction: rtl\"] .sd-tagbox-item_clean-button{background:linear-gradient(90deg, var(--sjs-primary-backcolor, var(--primary, #19b394)) 53.12%, rgba(25, 179, 148, 0) 100%)}.sd-tagbox.sd-tagbox--empty .sd-tagbox__hint,.sd-tagbox.sd-tagbox--empty .sd-tagbox__hint-suffix-wrapper,.sd-tagbox.sd-tagbox--empty .sd-tagbox__filter-string-input{width:100%;height:100%}.sd-tagbox__hint{display:flex;flex-grow:1;max-width:100%}.sd-tagbox__hint-suffix-wrapper{position:relative;width:100%}.sd-dropdown__hint-suffix.sd-tagbox__hint-suffix{line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:100%;display:flex;align-items:center}.sd-dropdown__hint-prefix.sd-tagbox__hint-prefix{line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:100%;display:flex;align-items:center;max-width:50%;justify-content:flex-end}.sd-imagepicker{padding:0;border:none;gap:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));width:100%;margin:0}.sd-imagepicker--static{display:flex;flex-wrap:wrap}.sd-imagepicker--responsive{display:grid}.sd-imagepicker--column{align-items:flex-start;flex-direction:column}@supports not (aspect-ratio: 1/1){.sd-imagepicker>div{margin-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}}.sd-imagepicker__item img,.sd-imagepicker__item .sd-imagepicker__image-container>div{border-radius:var(--sjs-corner-radius, 4px);background-color:var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))}.sd-imagepicker__item-decorator{position:relative;display:flex;flex-direction:column;align-items:center}.sd-imagepicker__label{position:relative}.sd-imagepicker__label .sd-visuallyhidden{height:100%;margin:0}.sd-imagepicker__image-container{position:relative}.sd-imagepicker__check-decorator{display:block;opacity:0;position:absolute;top:var(--sjs-base-unit, var(--base-unit, 8px));right:var(--sjs-base-unit, var(--base-unit, 8px));padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box;border-radius:100%;background-color:var(--sjs-general-backcolor, var(--background, #fff));z-index:1;transition:opacity var(--sjs-transition-duration, 150ms)}.sd-imagepicker__check-icon{display:block;width:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-imagepicker__item--checked .sd-imagepicker__check-decorator{opacity:1}.sd-imagepicker__item--error .sd-imagepicker__image-container::before{display:block;position:absolute;content:\" \";left:0;top:0;width:100%;height:100%;background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));border-radius:var(--sjs-corner-radius, 4px);background:linear-gradient(0deg, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))), var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))))}.sd-imagepicker__item:focus-within .sd-imagepicker__image{opacity:.5}.sd-imagepicker__item--allowhover:not(.sd-imagepicker__item--readonly,.sd-imagepicker__item--preview) .sd-imagepicker__image:hover{opacity:.5}.sd-imagepicker__image{display:block;box-sizing:border-box;max-width:100%;transition:opacity var(--sjs-transition-duration, 150ms)}.sd-imagepicker__text{font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));margin-top:var(--sjs-base-unit, var(--base-unit, 8px));color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-imagepicker__no-image{display:flex;background-color:var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));inset-block-start:0}.sd-imagepicker__no-image-svg{height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));margin:auto}.sd-imagepicker__no-image-svg use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));opacity:.5}.sd-imagepicker__column{display:flex;flex-direction:column;gap:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));align-items:flex-start;padding-right:0}.sd-imagepicker__column.sd-selectbase__column{min-width:0}.sd-imagepicker__column .sd-imagepicker__item{width:100%}.sd-imagepicker__column .sd-imagepicker__text{width:100%;display:inline-block;overflow:hidden;text-overflow:ellipsis;text-align:center}.sd-selectbase__column.sd-imagepicker__column:not(:last-child){padding-right:0}.sd-imagepicker__item--readonly .sd-imagepicker__check-icon{fill:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-imagepicker__item--preview .sd-imagepicker__check-decorator{display:none}.sd-imagepicker__item--preview .sd-imagepicker__image{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.25}.sd-imagepicker__item--preview.sd-imagepicker__item--checked .sd-imagepicker__image{-webkit-filter:grayscale(0%);filter:grayscale(0%);opacity:1}.sd-image__image{display:block;max-width:100%;border-radius:var(--sjs-corner-radius, 4px)}.sd-image__image--adaptive{width:100%;height:auto;max-width:calc(80*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-image__no-image{background:var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9));min-width:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));min-height:calc(27.5*(var(--sjs-base-unit, var(--base-unit, 8px))));width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.sd-image__no-image use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));opacity:.5}.sd-question--image{width:100%}.sd-html{white-space:initial}.sd-html{font-size:var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight, 400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing, 0);line-height:var(--sjs-article-font-default-lineHeight, 28px);text-indent:var(--sjs-article-font-default-paragraphIndent, 0px);text-transform:var(--sjs-article-font-default-textCase, \"none\");color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)))}.sd-html h1{font-size:var(--sjs-article-font-xx-large-fontSize, calc(4 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-xx-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-xx-large-fontWeight, 700);font-style:var(--sjs-article-font-xx-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-xx-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-xx-large-letterSpacing, 0);line-height:var(--sjs-article-font-xx-large-lineHeight, 64px);text-indent:var(--sjs-article-font-xx-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-xx-large-textCase, \"none\")}.sd-html h2{font-size:var(--sjs-article-font-x-large-fontSize, calc(3 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-x-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-x-large-fontWeight, 700);font-style:var(--sjs-article-font-x-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-x-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-x-large-letterSpacing, 0);line-height:var(--sjs-article-font-x-large-lineHeight, 56px);text-indent:var(--sjs-article-font-x-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-x-large-textCase, \"none\")}.sd-html h3{font-size:var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight, 700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing, 0);line-height:var(--sjs-article-font-large-lineHeight, 40px);text-indent:var(--sjs-article-font-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-html h4,.sd-html h5,.sd-html h6{font-size:var(--sjs-article-font-medium-fontSize, calc(1.5 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-medium-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-medium-fontWeight, 700);font-style:var(--sjs-article-font-medium-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-medium-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-medium-letterSpacing, 0);line-height:var(--sjs-article-font-medium-lineHeight, 32px);text-indent:var(--sjs-article-font-medium-paragraphIndent, 0px);text-transform:var(--sjs-article-font-medium-textCase, \"none\")}.sd-html td,.sd-html span,.sd-html div,.sd-html p{font-size:var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight, 400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing, 0);line-height:var(--sjs-article-font-default-lineHeight, 28px);text-indent:var(--sjs-article-font-default-paragraphIndent, 0px);text-transform:var(--sjs-article-font-default-textCase, \"none\")}.sd-html a{color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-html button{display:flex;align-items:center;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));vertical-align:baseline;text-align:center;background-color:var(--sjs-general-backcolor, var(--background, #fff));border:none;border-radius:var(--sjs-corner-radius, 4px);cursor:pointer;user-select:none;outline:solid calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) rgba(0,0,0,0);color:var(--sjs-primary-backcolor, var(--primary, #19b394));font-weight:600;font-style:normal;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms)}.sd-html button:hover{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-html button:focus{box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-html button span{display:flex;align-items:center;flex-grow:1;justify-content:center}.sd-html--nested{color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-expression{color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));font-size:var(--sjs-font-size, 16px);white-space:break-spaces}.sd-question__content--left .sd-expression{line-height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-progress{height:2px;background-color:var(--sjs-border-light, var(--border-light, #eaeaea));position:relative}.sd-progress__bar{position:relative;height:100%;background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));overflow:hidden}.sd-progress__text{position:absolute;margin-top:var(--sjs-base-unit, var(--base-unit, 8px));padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));right:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));color:var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px);font-weight:600}@media only screen and (min-width: 1000px){.sd-progress__text{margin-left:5%}}@media only screen and (max-width: 1000px){.sd-progress__text{margin-left:10px}}.sd-body__progress--top{margin-bottom:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));position:sticky;top:0;z-index:50}.sd-body__progress--bottom .sd-progress__text{margin-top:calc(-3.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-root--sticky-top .sd-progress__text{border-radius:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));color:var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91));opacity:.75;background:var(--sjs-general-backcolor, var(--background, #fff));box-shadow:var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15))}.sd-boolean{display:flex;width:max-content;position:relative;gap:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:var(--sjs-editorpanel-backcolor, var(--sjs-editor-background, var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));box-shadow:var(--sjs-shadow-inner, inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms)}.sd-boolean.sd-boolean--allowhover:focus-within{box-shadow:var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-boolean__thumb,.sd-boolean__label{display:block;font-family:var(--sjs-font-editorfont-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight, 400);font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-boolean__switch{display:flex;padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));align-items:center;position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));overflow:hidden}.sd-boolean.sd-boolean--checked .sd-boolean__label--true,.sd-boolean:not(.sd-boolean--checked):not(sd-boolean--indeterminate) .sd-boolean__label--false{color:rgba(0,0,0,0);transition-duration:.15s;transition-property:color;transition-timing-function:linear}.sd-boolean.sd-boolean--indeterminate .sd-boolean__switch{display:none}.sd-boolean--indeterminate .sd-boolean__thumb{display:none}.sd-boolean__thumb{position:absolute;left:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));transform:translateX(0);background-color:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));transition-duration:.2s;transition-property:transform,left;transition-timing-function:linear;color:var(--sjs-primary-backcolor, var(--primary, #19b394));font-weight:600;z-index:2}.sd-boolean__thumb .sv-string-viewer.sv-string-viewer--multiline{white-space:nowrap}.sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,.sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb{left:calc(100% - .5*var(--sjs-base-unit, var(--base-unit, 8px)));transform:translateX(-100%)}[dir=rtl] .sd-boolean__thumb,[style*=\"direction:rtl\"] .sd-boolean__thumb,[style*=\"direction: rtl\"] .sd-boolean__thumb{left:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));right:unset;transform:translateX(100%)}[dir=rtl] .sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,[dir=rtl] .sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb,[style*=\"direction:rtl\"] .sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,[style*=\"direction:rtl\"] .sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb,[style*=\"direction: rtl\"] .sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,[style*=\"direction: rtl\"] .sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb{left:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));right:unset;transform:translateX(0)}.sd-boolean--exchanged.sd-boolean:not(.sd-boolean--checked):not(sd-boolean--indeterminate) .sd-boolean__label--false,.sd-boolean--exchanged.sd-boolean.sd-boolean--checked .sd-boolean__label--true{color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)))}.sd-boolean--disabled{pointer-events:none}.sd-boolean--disabled .sd-boolean__thumb,.sd-boolean--disabled .sd-boolean__label{color:var(--sjs-general-forecolor, var(--foreground, #161616));opacity:.25}.sd-boolean--readonly{pointer-events:none;box-shadow:none;transition:none;background:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-boolean--readonly .sd-boolean__thumb{box-shadow:inset 0px 0px 0px 2px var(--sjs-general-forecolor, var(--foreground, #161616));transition:none;color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-boolean--preview{pointer-events:none;box-shadow:none;transition:none;background:rgba(0,0,0,0)}.sd-boolean--preview .sd-boolean__thumb{border:1px solid var(--sjs-general-forecolor, var(--foreground, #161616));box-shadow:none;transition:none;color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-boolean--preview.sd-boolean--checked .sd-boolean__thumb,.sd-boolean--preview.sd-boolean--indeterminate .sd-boolean__thumb{margin-left:auto}.sd-boolean--preview .sd-checkbox__label--preview{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-boolean__thumb-ghost{z-index:1;border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:rgba(0,0,0,0);transition:background-color var(--sjs-transition-duration, 150ms)}.sd-boolean.sd-boolean--allowhover .sd-boolean__thumb-ghost:hover{background-color:var(--sjs-editorpanel-hovercolor, var(--sjs-general-backcolor-dim-dark, rgb(243, 243, 243)))}.sd-boolean--error{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}:root{--sjs-postcss-fix-slider-path-height: var(--lbr-slider-path-height, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));--sjs-postcss-fix-slider-path-color: var(--lbr-slider-path-color);--sjs-postcss-fix-slider-path-color-filled: var(--lbr-slider-path-color-filled);--sjs-postcss-fix-slider-thumb-width: var(--lbr-slider-thumb-width, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));--sjs-postcss-fix-slider-thumb-height: var(--lbr-slider-thumb-height, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));--sjs-postcss-fix-slider-thumb-color: var(--lbr-slider-thumb-color, var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));--sjs-postcss-fix-slider-tooltip-pointer-width: var(--lbr-tooltip-pointer-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));--sjs-postcss-fix-slider-tooltip-pointer-height: var(--lbr-tooltip-pointer-height, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px)))));--sjs-postcss-fix-slider-path-height-preview: var(--lbr-slider-path-height-preview, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sd-slider{position:relative;display:flex;width:100%;margin-top:var(--lbr-slider-margin-top, var(--sjs-base-unit, var(--base-unit, 8px)));flex-direction:column;gap:var(--lbr-slider-gap, var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-slider-container{position:relative;min-height:var(--sjs-postcss-fix-slider-thumb-height);cursor:pointer;margin-left:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-right:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-slider-container__slider{position:relative}.sd-slider__track{position:absolute;height:var(--sjs-postcss-fix-slider-path-height);top:calc(var(--sjs-postcss-fix-slider-thumb-height)/2 - var(--sjs-postcss-fix-slider-path-height)/2)}.sd-slider__inverse-track{background:var(--sjs-postcss-fix-slider-path-color, var(--sjs-border-light, var(--border-light, #eaeaea)))}.sd-slider__inverse-track::after,.sd-slider__inverse-track::before{background:var(--sjs-postcss-fix-slider-path-color, var(--sjs-border-light, var(--border-light, #eaeaea)))}.sd-slider__inverse-track--left{left:0}.sd-slider__inverse-track--left::before{position:absolute;content:\"\";height:var(--sjs-postcss-fix-slider-path-height);width:var(--sjs-base-unit, var(--base-unit, 8px));left:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));border-top-left-radius:10px;border-bottom-left-radius:10px}.sd-slider__inverse-track--right{right:0}.sd-slider__inverse-track--right::after{position:absolute;content:\"\";height:var(--sjs-postcss-fix-slider-path-height);width:var(--sjs-base-unit, var(--base-unit, 8px));right:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));border-top-right-radius:10px;border-bottom-right-radius:10px}.sd-slider__range-track{left:0;background:var(--sjs-postcss-fix-slider-path-color-filled, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-slider__range-track::before{position:absolute;content:\"\";height:var(--sjs-postcss-fix-slider-path-height);width:var(--sjs-base-unit, var(--base-unit, 8px));left:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));border-top-left-radius:10px;border-bottom-left-radius:10px;background:var(--sjs-postcss-fix-slider-path-color-filled, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-slider__range-track::after{position:absolute;content:\"\";height:var(--sjs-postcss-fix-slider-path-height);width:var(--sjs-base-unit, var(--base-unit, 8px));right:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));border-top-right-radius:10px;border-bottom-right-radius:10px;background:var(--sjs-postcss-fix-slider-path-color-filled, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-slider__thumb-container{position:absolute;margin-left:calc(var(--sjs-postcss-fix-slider-thumb-width)/-2);z-index:2;cursor:pointer;display:flex;justify-content:center;align-items:center;flex-shrink:0;width:var(--sjs-postcss-fix-slider-thumb-width);height:var(--sjs-postcss-fix-slider-thumb-height);border-radius:var(--lbr-slider-thumb-corner-radius, 1024px)}.sd-slider__input:hover+.sd-slider__thumb-container .sd-slider__tooltip--on-hover{opacity:1}.sd-slider__input:hover+.sd-slider__thumb-container .sd-slider__thumb-dot{width:var(--lbr-slider-thumb-dot-width-hovering, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-thumb-dot-height-hovering, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sd-slider__thumb-container--indeterminate .sd-slider__thumb-dot{background:var(--lbr-slider-thumb-dot-color-undefined, transparent)}.sd-slider__thumb-container--focused .sd-slider__thumb{box-shadow:none;border:var(--lbr-slider-thumb-border-width-focused, 2px) solid var(--lbr-slider-thumb-border-color-focused, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-slider__thumb-container--focused .sd-slider__tooltip--on-hover{opacity:1}.sd-slider__thumb{display:flex;padding:var(--lbr-slider-thumb-padding-top, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-slider-thumb-padding-right, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-slider-thumb-padding-bottom, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-slider-thumb-padding-left, calc(0.75 * (var(--sjs-base-unit, var(--base-unit, 8px)))));justify-content:center;align-items:center;border-radius:var(--lbr-slider-thumb-corner-radius, 1024px);background:var(--sjs-postcss-fix-slider-thumb-color);box-shadow:var(--lbr-slider-thumb-shadow-offset-x, 0px) var(--lbr-slider-thumb-shadow-offset-y, 1px) var(--lbr-slider-thumb-shadow-blur, 2px) var(--lbr-slider-thumb-shadow-spread, 0px) var(--lbr-slider-thumb-shadow-color, rgba(0, 0, 0, 0.15))}.sd-slider__thumb-dot{display:flex;border-radius:var(--lbr-slider-thumb-dot-corner-radius, 1024px);background:var(--lbr-slider-thumb-dot-color, var(--sjs-primary-backcolor, var(--primary, #19b394)));width:var(--lbr-slider-thumb-dot-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-thumb-dot-height, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));transition:width var(--sjs-transition-duration, 150ms),height var(--sjs-transition-duration, 150ms)}.sd-slider__tooltip{opacity:1;position:absolute;bottom:calc(100% + var(--sjs-postcss-fix-slider-tooltip-pointer-height));box-shadow:var(--lbr-tooltip-shadow-2-offset-x, 0px) var(--lbr-tooltip-shadow-2-offset-y, 1px) var(--lbr-tooltip-shadow-2-blur, 2px) var(--lbr-tooltip-shadow-2-spread, 0px) var(--lbr-tooltip-shadow-2-color, rgba(0, 0, 0, 0.15)),var(--lbr-tooltip-shadow-1-offset-x, 0px) var(--lbr-tooltip-shadow-1-offset-y, 2px) var(--lbr-tooltip-shadow-1-blur, 6px) var(--lbr-tooltip-shadow-1-spread, 0px) var(--lbr-tooltip-shadow-1-color, rgba(0, 0, 0, 0.1));display:flex;flex-direction:column;user-select:none;border-radius:var(--lbr-tooltip-corder-radius, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));transition:opacity var(--sjs-transition-duration, 150ms)}.sd-slider__tooltip-panel{padding:var(--lbr-tooltip-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-tooltip-padding-right, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-tooltip-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-tooltip-padding-left, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));border-radius:var(--lbr-tooltip-corder-radius, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));background:var(--lbr-tooltip-background-color, var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));display:flex;justify-content:center;align-items:center}.sd-slider__tooltip-panel::after{content:\" \";width:calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height)*1.41);height:calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height)*1.41);background:var(--lbr-tooltip-background-color, var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))));position:absolute;box-shadow:var(--ctr-tooltip-shadow-1-offset-x, 0px) var(--ctr-tooltip-shadow-1-offset-y, 2px) var(--ctr-tooltip-shadow-1-blur, 8px) var(--ctr-tooltip-shadow-1-spread, 0px) var(--ctr-tooltip-shadow-1-color, var(--sjs-special-glow, rgba(0, 76, 68, 0.1019607843))),var(--ctr-tooltip-shadow-2-offset-x, 0px) var(--ctr-tooltip-shadow-2-offset-y, 1px) var(--ctr-tooltip-shadow-2-blur, 2px) var(--ctr-tooltip-shadow-2-spread, 0px) var(--ctr-tooltip-shadow-2-color, var(--sjs-special-shadow, rgba(0, 0, 0, 0.2509803922)));bottom:calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height)*1.41/-1);left:calc(50% - var(--sjs-postcss-fix-slider-tooltip-pointer-height)*1.41);clip-path:polygon(-100% -100%, -100% 200%, 200% 200%);transform:translate(calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) / 1.41), calc(var(--sjs-postcss-fix-slider-tooltip-pointer-height) / -1.41)) rotate(-45deg)}.sd-slider__tooltip-value{font-family:var(--lbr-font-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-size:var(--lbr-font-small-size, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));font-weight:600;line-height:var(--lbr-font-small-line-height, size(2));color:var(--lbr-tooltip-text-color, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-slider__tooltip--on-hover{opacity:0}.sd-slider-labels-container{user-select:none;margin-left:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-right:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-slider-labels-container>div{user-select:none;position:relative;display:flex;align-items:center;min-height:var(--sjs-postcss-fix-slider-thumb-height)}.sd-slider__label{user-select:none;cursor:pointer;color:var(--sjs-general-forecolor, var(--foreground, #161616));position:absolute;width:var(--sjs-postcss-fix-slider-thumb-width);display:flex;flex-direction:column;align-items:center;gap:var(--lbr-slider-label-gap, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));margin-left:calc(var(--sjs-postcss-fix-slider-thumb-width)/-2)}.sd-slider__label--long:first-child{align-items:flex-start}.sd-slider__label--long:last-child{align-items:flex-end}.sd-slider__label-tick{display:flex;width:var(--lbr-slider-label-tick-width, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-label-tick-height, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));flex-direction:column;align-items:flex-start;background:var(--lbr-slider-label-tick-color, var(--sjs-border-default, var(--border, #d6d6d6)))}.sd-slider__label-text{color:var(--lbr-slider-label-text-color, var(--sjs-font-editorfont-color, var(--sjs-general-forecolor, rgba(0, 0, 0, 0.91))));text-align:center;font-family:var(--lbr-font-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-size:var(--lbr-font-default-size, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));font-style:normal;font-weight:400;line-height:var(--lbr-font-default-line-height, calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}input[type=range].sd-slider__input{position:absolute;pointer-events:none;-webkit-appearance:none;z-index:4;height:var(--sjs-postcss-fix-slider-thumb-height);top:0;width:100%;opacity:0;margin:0}input[type=range][name=range-input].sd-slider__input{z-index:3}input[type=range][name=range-input].sd-slider__input:hover+.sd-slider-container .sd-slider__tooltip--on-hover{opacity:1}input[type=range].sd-slider__input:focus::-webkit-slider-runnable-track{background:rgba(0,0,0,0);border:rgba(0,0,0,0)}input[type=range].sd-slider__input::-webkit-slider-runnable-track{margin:0 calc(var(--sjs-postcss-fix-slider-thumb-width)/-2);height:var(--sjs-postcss-fix-slider-path-height)}input[type=range].sd-slider__input::-moz-range-track{margin:0 calc(var(--sjs-postcss-fix-slider-thumb-width)/-2);height:var(--sjs-postcss-fix-slider-path-height)}input[type=range].sd-slider__input:focus{outline:none}input[type=range].sd-slider__input::-webkit-slider-thumb{pointer-events:all;height:67px;width:var(--sjs-postcss-fix-slider-thumb-width);border-radius:0px;border:0 none;background:var(--sjs-primary-backcolor, var(--primary, #19b394));-webkit-appearance:none;cursor:pointer;top:-50px;position:relative}input[type=range][name=range-input].sd-slider__input::-webkit-slider-thumb{height:var(--sjs-postcss-fix-slider-thumb-height);top:0}input[type=range].sd-slider__input::-moz-range-thumb{pointer-events:all;height:75px;width:var(--sjs-postcss-fix-slider-thumb-width);border-radius:0px;border:0 none;background:var(--sjs-primary-backcolor, var(--primary, #19b394));-webkit-appearance:none;cursor:pointer;top:-20px;position:relative}input[type=range][name=range-input].sd-slider__input::-moz-range-thumb{height:var(--sjs-postcss-fix-slider-thumb-height);top:0}input[type=range].sd-slider__input::-ms-fill-lower{background:rgba(0,0,0,0);border:0 none}input[type=range].sd-slider__input::-ms-fill-upper{background:rgba(0,0,0,0);border:0 none}input[type=range].sd-slider__input::-ms-tooltip{display:none}:root{--sjs-range-slider-range-input-thumb-width: 0px;--sjs-range-slider-range-input-thumb-left: 0;--sjs-range-slider-range-input-thumb-position: absolute}input[type=range][name=range-input].sd-slider__input::-webkit-slider-thumb{width:var(--sjs-range-slider-range-input-thumb-width, 0px);left:var(--sjs-range-slider-range-input-thumb-left, 0);position:var(--sjs-range-slider-range-input-thumb-position, relative)}input[type=range][name=range-input].sd-slider__input::-moz-range-thumb{width:var(--sjs-range-slider-range-input-thumb-width, 0px);left:var(--sjs-range-slider-range-input-thumb-left, 0);position:var(--sjs-range-slider-range-input-thumb-position, relative)}.sd-question--readonly .sd-slider__tooltip,.sd-question--preview .sd-slider__tooltip{display:none}.sd-question--readonly .sd-slider__input,.sd-question--readonly .sd-slider-container,.sd-question--readonly .sd-slider__thumb-container,.sd-question--readonly .sd-slider__label{cursor:default}.sd-question--readonly input[type=range].sd-slider__input::-webkit-slider-thumb{cursor:default}.sd-question--readonly input[type=range].sd-slider__input::-moz-range-thumb{cursor:default}.sd-question--readonly .sd-slider__input:hover+.sd-slider__thumb-container .sd-slider__thumb-dot{width:var(--lbr-slider-thumb-dot-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-thumb-dot-height, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sd-question--readonly .sd-slider__thumb-container--focused .sd-slider__thumb{box-shadow:none;border:var(--lbr-slider-thumb-border-width-read-only, 2px) solid var(--lbr-slider-thumb-border-color-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--readonly .sd-slider__thumb{box-shadow:none;border:var(--lbr-slider-thumb-border-width-read-only, 2px) solid var(--lbr-slider-thumb-border-color-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--readonly .sd-slider__thumb .sd-slider__thumb-dot{background:rgba(0,0,0,0)}.sd-question--readonly .sd-slider__inverse-track{background:var(--lbr-slider-path-color-read-only, var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248))))}.sd-question--readonly .sd-slider__inverse-track::after,.sd-question--readonly .sd-slider__inverse-track::before{background:var(--lbr-slider-path-color-read-only, var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248))))}.sd-question--readonly .sd-slider__range-track{background:var(--lbr-slider-path-color-filled-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--readonly .sd-slider__range-track::before{background:var(--lbr-slider-path-color-filled-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--readonly .sd-slider__range-track::after{background:var(--lbr-slider-path-color-filled-read-only, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--readonly .sd-slider__label-tick{background:var(--lbr-slider-label-tick-color, var(--sjs-border-light, var(--border-light, #eaeaea)))}.sd-question--preview .sd-slider--single .sd-slider__inverse-track--left::before{background:var(--lbr-slider-path-color-filled-preview, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--preview .sd-slider__track{top:calc(var(--sjs-postcss-fix-slider-thumb-height)/2 - var(--sjs-postcss-fix-slider-path-height-preview)/2)}.sd-question--preview .sd-slider__input:hover+.sd-slider__thumb-container .sd-slider__thumb-dot{width:var(--lbr-slider-thumb-dot-width-preivew, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-thumb-dot-height-preview, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sd-question--preview .sd-slider__thumb-container--focused .sd-slider__thumb{box-shadow:none;border:none}.sd-question--preview .sd-slider__thumb{box-shadow:none;padding:0}.sd-question--preview .sd-slider__thumb .sd-slider__thumb-dot{width:var(--lbr-slider-thumb-dot-width-preivew, calc(0.125 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-thumb-dot-height-preview, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));background:var(--lbr-slider-thumb-dot-color-preview, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)))}.sd-question--preview .sd-slider__inverse-track{height:var(--sjs-postcss-fix-slider-path-height-preview);background:var(--lbr-slider-path-color-preview, var(--sjs-border-light, var(--border-light, #eaeaea)))}.sd-question--preview .sd-slider__inverse-track::after,.sd-question--preview .sd-slider__inverse-track::before{height:var(--sjs-postcss-fix-slider-path-height-preview);background:var(--lbr-slider-path-color-preview, var(--sjs-border-light, var(--border-light, #eaeaea)))}.sd-question--preview .sd-slider__range-track{height:var(--sjs-postcss-fix-slider-path-height-preview);background:var(--lbr-slider-path-color-filled-preview, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--preview .sd-slider__range-track::before{height:var(--sjs-postcss-fix-slider-path-height-preview);display:none}.sd-question--preview .sd-slider__range-track::after{height:var(--sjs-postcss-fix-slider-path-height-preview);display:none}.sd-question--preview .sd-slider--negative-scale .sd-slider__inverse-track--left::before{background:var(--lbr-slider-path-color-preview, var(--sjs-border-light, var(--border-light, #eaeaea)))}.sd-question--preview .sd-slider__label-tick{background:var(--lbr-slider-label-tick-color-preview, var(--sjs-general-forecolor, var(--foreground, #161616)))}.sd-question--error .sd-slider__inverse-track{background:var(--lbr-slider-path-color-error, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))))}.sd-question--error .sd-slider__inverse-track::after,.sd-question--error .sd-slider__inverse-track::before{background:var(--lbr-slider-path-color-error, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))))}.sd-question--error .sd-slider__range-track{background:var(--lbr-slider-path-color-filled-error, var(--sjs-special-red, var(--red, #e60a3e)))}.sd-question--error .sd-slider__range-track::before{background:var(--lbr-slider-path-color-filled-error, var(--sjs-special-red, var(--red, #e60a3e)))}.sd-question--error .sd-slider__range-track::after{background:var(--lbr-slider-path-color-filled-error, var(--sjs-special-red, var(--red, #e60a3e)))}.sd-question--error .sd-slider__thumb-dot{background:var(--lbr-slider-thumb-dot-color-error, var(--sjs-special-red, var(--red, #e60a3e)))}.sd-slider--design-mode .sd-slider__input,.sd-slider--design-mode .sd-slider-container,.sd-slider--design-mode .sd-slider__thumb-container,.sd-slider--design-mode .sd-slider__label{cursor:default}.sd-slider--design-mode input[type=range].sd-slider__input::-webkit-slider-thumb{cursor:default}.sd-slider--design-mode input[type=range].sd-slider__input::-moz-range-thumb{cursor:default}.sd-slider--design-mode .sd-slider__input:hover+.sd-slider__thumb-container .sd-slider__tooltip--on-hover{opacity:0}.sd-slider--design-mode .sd-slider__input:hover+.sd-slider__thumb-container .sd-slider__thumb-dot{width:var(--lbr-slider-thumb-dot-width-hovering, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-slider-thumb-dot-height-hovering, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))))}.sd-slider--design-mode input[type=range][name=range-input].sd-slider__input:hover+.sd-slider-container .sd-slider__tooltip--on-hover{opacity:0}.sd-slider--negative-scale .sd-slider__range-track::before{display:none}.sd-slider--negative-scale .sd-slider__range-track::after{display:none}.sd-slider--animated-thumb-mode .sd-slider__thumb-container{transition:left var(--sjs-transition-duration, 150ms)}.sd-slider--animated-thumb-mode .sd-slider__track{transition:left var(--sjs-transition-duration, 150ms),right var(--sjs-transition-duration, 150ms),width var(--sjs-transition-duration, 150ms)}[dir=rtl] .sd-slider,[dir=rtl] .sd-slider__label-text,[dir=rtl] .sd-slider__input,[dir=rtl] .sd-slider__tooltip-value,[style*=\"direction:rtl\"] .sd-slider,[style*=\"direction:rtl\"] .sd-slider__label-text,[style*=\"direction:rtl\"] .sd-slider__input,[style*=\"direction:rtl\"] .sd-slider__tooltip-value,[style*=\"direction: rtl\"] .sd-slider,[style*=\"direction: rtl\"] .sd-slider__label-text,[style*=\"direction: rtl\"] .sd-slider__input,[style*=\"direction: rtl\"] .sd-slider__tooltip-value{transform:scale(-1, 1)}[dir=rtl] .sd-slider__label-text,[dir=rtl] .sd-slider__tooltip-value,[style*=\"direction:rtl\"] .sd-slider__label-text,[style*=\"direction:rtl\"] .sd-slider__tooltip-value,[style*=\"direction: rtl\"] .sd-slider__label-text,[style*=\"direction: rtl\"] .sd-slider__tooltip-value{direction:ltr}.sd-paneldynamic .sd-progress{position:absolute;left:0;right:0;height:2px;z-index:2;transform:translateY(-1px)}.sd-paneldynamic>.sd-panel{padding-top:1px;padding-bottom:calc(.5*var(--sd-base-vertical-padding))}.sd-paneldynamic .sd-paneldynamic__panel-wrapper>.sd-panel>.sd-panel__header{padding-top:var(--sd-base-vertical-padding);padding-bottom:0}.sd-paneldynamic .sd-paneldynamic__panel-wrapper>.sd-panel>.sd-panel__header:after{display:none}.sd-paneldynamic .sd-paneldynamic__panel-wrapper>.sd-panel>.sd-panel__header>.sd-panel__title{color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sd-question--readonly .sd-paneldynamic .sd-question__placeholder,.sd-question--preview .sd-paneldynamic .sd-question__placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-paneldynamic__separator{display:none}.sd-paneldynamic__panel-wrapper{box-sizing:border-box;padding-bottom:calc(1*var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper:after{display:table;clear:both;content:\" \"}.sd-paneldynamic__footer .sd-paneldynamic__separator,.sd-paneldynamic__panel-wrapper--list~.sd-paneldynamic__panel-wrapper--list:before{content:\" \";display:block;position:absolute;left:0;right:0;margin:0;border-color:var(--sjs-border-light, var(--border-light, #eaeaea));background:var(--sjs-border-light, var(--border-light, #eaeaea));height:1px;border:none}.sd-paneldynamic__separator:only-child{display:none}.sd-paneldynamic__panel-wrapper--in-row{display:flex;flex-direction:row;align-items:center}.sd-paneldynamic__footer{clear:both}.sd-paneldynamic__footer .sd-paneldynamic__prev-btn,.sd-paneldynamic__footer .sd-paneldynamic__next-btn{display:block}.sd-paneldynamic__footer .sd-paneldynamic__prev-btn svg,.sd-paneldynamic__footer .sd-paneldynamic__next-btn svg{width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__footer .sd-paneldynamic__add-btn,.sd-paneldynamic__footer .sd-paneldynamic__progress-text,.sd-paneldynamic__footer .sd-paneldynamic__progress--bottom{display:initial}.sd-paneldynamic__buttons-container{display:flex;align-items:center;padding:calc(var(--sd-base-vertical-padding) - var(--sjs-base-unit, var(--base-unit, 8px))) 0}.sd-paneldynamic__progress-container{display:flex;align-items:center;margin-left:auto;margin-right:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__progress-text{font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));margin:0;margin-right:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__prev-btn,.sd-paneldynamic__next-btn{width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__prev-btn .sv-svg-icon,.sd-paneldynamic__next-btn .sv-svg-icon{display:block}.sd-paneldynamic__prev-btn{margin-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__next-btn{margin-left:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));transform:rotate(180deg)}.sd-paneldynamic__placeholder .sd-paneldynamic__add-btn{display:initial;margin-left:0}.sd-question--empty.sd-question--paneldynamic>.sd-question__content{padding-bottom:var(--sd-base-padding);--animation-padding-bottom: var(--sd-base-padding)}.sd-question--paneldynamic:not(.sd-question--empty)>.sd-question__content>.sd-question__comment-area{padding-bottom:var(--sd-base-padding)}.sd-paneldynamic__buttons-container .sd-action-bar{width:100%;margin:0 calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(100% + 6*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-paneldynamic__panel-footer{border-top:none;position:relative;top:calc(.5*var(--sd-base-vertical-padding));margin-right:calc(-3*(var(--sjs-base-unit, var(--base-unit, 8px))));justify-content:flex-end}.sd-paneldynamic__panel-footer .sv-action:not(.sv-action--hidden){margin-bottom:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__tabs-container{padding-top:var(--sd-base-padding)}.sd-paneldynamic__tabs-container .sd-tabs-toolbar{margin:0 0 -1px calc(-2*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(100% + 4*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-paneldynamic__tabs-container:after{content:\" \";display:block;height:1px;position:relative;background:var(--sjs-border-light, var(--border-light, #eaeaea));bottom:0;inset-inline-start:calc(-1*var(--sd-base-padding));width:calc(100% + 2*var(--sd-base-padding))}.sd-paneldynamic__tabs-container--with-header{padding-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-tabs-toolbar.sv-action-bar{align-items:flex-start;z-index:1}.sd-tabs-toolbar.sd-tabs-toolbar--left{justify-content:flex-start}.sd-tabs-toolbar.sd-tabs-toolbar--right{justify-content:flex-end}.sd-tabs-toolbar.sd-tabs-toolbar--center{justify-content:center}.sd-tab-item{margin:0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-tab-item{padding:var(--sjs-base-unit, var(--base-unit, 8px)) 0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;box-sizing:border-box;border:none;background-color:rgba(0,0,0,0);cursor:pointer;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));overflow-x:hidden;white-space:nowrap;box-shadow:inset 0px 0px 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms)}.sd-tab-item:hover,.sd-tab-item:focus-visible{outline:none;box-shadow:inset 0px -2px 0px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-tab-item.sd-tab-item--pressed{color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));box-shadow:inset 0px -2px 0px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-tab-item--icon{padding:var(--sjs-base-unit, var(--base-unit, 8px));width:auto;border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-tab-item--icon use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));opacity:.5}.sd-tab-item--icon:hover,.sd-tab-item--icon.sd-tab-item--pressed{background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));box-shadow:none}.sd-tab-item--icon:hover use,.sd-tab-item--icon.sd-tab-item--pressed use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-tab-item--icon:hover use{opacity:1}.sd-tabs-toolbar .sv-dots{width:auto}.sd-tabs-toolbar .sv-dots.sv-action--hidden{width:0}.sd-tab-item__title{line-height:calc(1.5*(var(--sjs-font-size, 16px)));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;align-items:center}.sd-question__title~.sd-tabs-toolbar{margin-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab{padding-bottom:0}.sd-element--collapsed .sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab{padding-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab::after{content:none}.sd-question--paneldynamic.sd-element--with-frame{padding-bottom:0}.sd-paneldynamic__panels-container{position:relative;overflow:hidden;margin-left:calc(-1*var(--sd-base-padding));padding-left:var(--sd-base-padding);margin-right:calc(-1*var(--sd-base-padding));padding-right:var(--sd-base-padding)}.sd-paneldynamic__panel-wrapper{box-sizing:border-box}@keyframes movePanel{from{transform:translateX(var(--sjs-pd-tab-move-margin))}to{transform:translateX(0)}}.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-left,.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-right{--sjs-pd-tab-animation-delay: 0ms;animation-name:movePanel,changeHeight,paddingFadeIn,fadeIn;animation-duration:var(--sjs-pd-tab-move-in-duration, 250ms),var(--sjs-pd-tab-height-change-duration, 250ms),var(--sjs-pd-tab-height-change-duration, 250ms),var(--sjs-pd-tab-fade-in-duration, 250ms);animation-delay:calc(var(--sjs-pd-tab-move-in-delay, 100ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-fade-in-delay, 100ms) + var(--sjs-pd-tab-animation-delay));animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-fill-mode:forwards;opacity:0;padding-bottom:0;transform:translateX(var(--sjs-pd-tab-move-margin));height:var(--animation-height-from);--animation-padding-top: 0;--animation-padding-bottom: calc(1 * var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-left{--sjs-pd-tab-move-margin: calc(1 * var(--sjs-pd-tab-move-in-margin, 50%))}.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-right{--sjs-pd-tab-move-margin: calc(-1 * var(--sjs-pd-tab-move-in-margin, 50%))}.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-left,.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-right{animation-name:fadeIn,movePanel;animation-duration:var(--sjs-pd-tab-fade-out-duration, 250ms),var(--sjs-pd-tab-move-out-duration, 250ms);animation-delay:var(--sjs-pd-tab-fade-out-delay, 0ms),var(--sjs-pd-tab-move-out-delay, 0ms);animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-direction:reverse;animation-fill-mode:forwards;position:absolute;left:var(--sd-base-padding);top:0;width:calc(100% - 2*var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-left{--sjs-pd-tab-move-margin: calc(-1 * var(--sjs-pd-tab-move-out-margin, 50%))}.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-right{--sjs-pd-tab-move-margin: calc(1 * var(--sjs-pd-tab-move-out-margin, 50%))}.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-adding{animation-name:fadeIn,changeHeight,paddingFadeIn;animation-duration:var(--sjs-pd-tab-add-fade-in-duration, 500ms),var(--sjs-pd-tab-height-change-duration, 250ms),var(--sjs-pd-tab-height-change-duration, 250ms);animation-delay:calc(var(--sjs-pd-tab-add-fade-in-delay, 250ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay, 0ms) + var(--sjs-pd-tab-animation-delay));animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-fill-mode:forwards;transform:translateX(0)}.sd-paneldynamic__panel-wrapper--enter.sv-pd-animation-removing{--sjs-pd-tab-animation-delay: var(--sjs-pd-tab-remove-fade-in-delay, 150ms)}.sd-paneldynamic__panel-wrapper--leave.sv-pd-animation-removing{animation-name:fadeIn;animation-duration:var(--sjs-pd-tab-remove-fade-out-duration, 150ms);animation-delay:var(--sjs-pd-tab-remove-fade-out-delay, 0ms);animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-direction:reverse;animation-fill-mode:forwards;position:absolute;left:var(--sd-base-padding);top:0;width:calc(100% - 2*var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper--enter,.sd-paneldynamic__panel-wrapper--leave{animation-name:fadeIn,moveInWithOverflow;animation-fill-mode:forwards;--animation-padding-top: 0;--animation-padding-bottom: calc(1 * var(--sd-base-padding));min-height:0 !important}.sd-paneldynamic__panel-wrapper--enter{opacity:0;animation-timing-function:cubic-bezier(0, 0, 0.58, 1);animation-duration:var(--sjs-pd-list-fade-in-duration, 500ms),var(--sjs-pd-list-move-in-duration, 250ms),var(--sjs-pd-list-move-in-duration, 250ms);animation-delay:var(--sjs-pd-list-fade-in-delay, 250ms),0s,0s}.sd-paneldynamic__panel-wrapper--leave{animation-direction:reverse;animation-timing-function:cubic-bezier(0.42, 0, 1, 1);animation-duration:var(--sjs-pd-list-fade-out-duration, 150ms),var(--sjs-pd-list-move-out-duration, 250ms),var(--sjs-pd-list-move-out-duration, 250ms);animation-delay:0s,var(--sjs-pd-list-move-out-delay, 100ms),var(--sjs-pd-list-move-out-delay, 100ms);--animation-padding-bottom: calc(1 * var(--sd-base-padding))}.sd-file{position:relative;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));min-height:calc(36*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box;padding:0 calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-file .sv-action-bar{padding:var(--sjs-base-unit, var(--base-unit, 8px)) 0;justify-content:center;position:absolute;width:100%;left:0;bottom:0}.sd-file .sv-action-bar .sv-action-bar-item{height:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));color:var(--sjs-general-forecolor-light, var(--foreground-light, #909090));border-radius:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-file .sv-action-bar #fileIndex .sv-action-bar-item{padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0;font-weight:600}.sd-file .sv-action-bar #fileIndex .sv-action-bar-item:hover{background-color:var(--sjs-general-backcolor, var(--background, #fff))}.sd-file .sv-action-bar #fileIndex .sv-action-bar-item:disabled{opacity:initial}.sd-file__decorator{display:flex;flex-direction:column;position:absolute;position:absolute;left:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))));width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:center;border:1px dashed var(--sjs-border-default, var(--border, #d6d6d6));container-type:inline-size}.sd-file--answered .sd-file__decorator{container-type:unset}.sd-file__decorator--drag{z-index:1;border:1px solid var(--sjs-primary-backcolor, var(--primary, #19b394));background:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));box-shadow:inset 0 0 0 1px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-file__drag-area-placeholder{text-align:center;white-space:normal;color:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));padding:0 calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))))}@container (max-width: 496px){.sd-file__drag-area-placeholder{padding:0 var(--sjs-base-unit, var(--base-unit, 8px))}}@container (max-width: 176px){.sd-file__drag-area-placeholder{display:none}.sd-file__decorator .sd-action{padding:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-file__decorator .sd-action .sv-svg-icon{margin-left:0}.sd-file__decorator .sd-file__actions-container{flex-direction:column}.sd-file__decorator .sd-file__actions-container span{display:none}}.sd-root-modern--mobile .sd-file__decorator{padding:0 calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-file__choose-btn--text{display:block;font-weight:600;color:var(--sjs-primary-backcolor, var(--primary, #19b394));cursor:pointer}.sd-file__choose-btn--text .sv-svg-icon{margin-left:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-file__choose-btn--icon>span{display:none}.sd-file__wrapper{width:max-content;max-width:100%}.sd-file__actions-container{margin-top:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));flex-wrap:wrap;justify-content:center}.sd-file__actions-container .sv-action--hidden{display:none}.sd-file--answered .sd-file__actions-container{z-index:2;margin-top:0;gap:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-file--answered .sd-file__actions-container{top:var(--sjs-base-unit, var(--base-unit, 8px));right:var(--sjs-base-unit, var(--base-unit, 8px));position:absolute}.sd-file--chose-btn--as .sd-file--answered .sd-file__actions-container{inset-inline-end:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))) + 5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-file__list{display:flex;position:relative;overflow:hidden;box-sizing:content-box;flex-direction:row;padding:calc(10.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0;min-height:calc(15*(var(--sjs-base-unit, var(--base-unit, 8px))));max-height:calc(15*(var(--sjs-base-unit, var(--base-unit, 8px))));width:100%}.sd-file__page{display:flex;left:0;align-items:stretch;justify-content:center;gap:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(100% - 21*var(--sjs-base-unit, var(--base-unit, 8px)));width:100%;position:absolute}@keyframes file-page-to-right{from{opacity:1;left:0}to{opacity:0;left:100%}}@keyframes file-page-from-right{from{opacity:0;left:100%}to{opacity:1;left:0}}@keyframes file-page-from-left{from{opacity:0;left:-100%}to{opacity:1;left:0}}@keyframes file-page-to-left{from{opacity:1;left:0}to{opacity:0;left:-100%}}.sd-file__page--leave-to-right,.sd-file__page--enter-from-right,.sd-file__page--leave-to-left,.sd-file__page--enter-from-left{animation-duration:.5s;animation-fill-mode:forwards}.sd-file__page--leave-to-right{animation-name:file-page-to-right}.sd-file__page--enter-from-right{animation-name:file-page-from-right}.sd-file__page--leave-to-left{animation-name:file-page-to-left}.sd-file__page--enter-from-left{animation-name:file-page-from-left}.sd-file__preview-item{position:relative;display:flex;align-items:stretch;flex-direction:column;min-height:100%;width:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));margin:0;cursor:pointer}.sd-file__preview-item .sd-file__default-image{width:calc(9*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(9*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-file__preview-item .sd-file__default-image use{fill:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)))}.sd-file__preview-item:hover .sd-file__remove-file-button{opacity:1}.sd-file__preview-item:hover .sd-file__sign a{text-decoration:underline}.sd-file__sign{margin-top:var(--sjs-base-unit, var(--base-unit, 8px));text-align:center;font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px)}.sd-file__sign a{display:block;text-decoration:none;color:var(--sjs-font-questiontitle-color, var(--sjs-general-forecolor, var(--foreground, #161616)));white-space:normal;word-break:break-all;width:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));min-width:100%;max-width:100%;overflow:hidden;max-height:calc(3*(var(--sjs-font-size, 16px)));text-overflow:ellipsis;line-height:var(--sjs-font-size, 16px);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.sd-file__remove-file-button{display:block;opacity:0;position:absolute;left:100%;top:0;transform:translate(-50%, -50%);transition:opacity var(--sjs-transition-duration, 150ms)}.sd-file__image-wrapper--default-image .sd-file__remove-file-button{left:50%;top:50%;transform:translate(calc(3.5 * var(--sjs-base-unit, var(--base-unit, 8px)) - 50% - 1.5px), calc(-4.25 * var(--sjs-base-unit, var(--base-unit, 8px)) - 50% + 1.5px))}.sd-file__decorator--error{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-file__image-wrapper{position:relative;text-align:center;display:flex;align-items:center;justify-content:center;width:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));min-height:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));background:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-file__image-wrapper img:not(.sd-file__default-image){display:block;max-width:100%;max-height:100%;width:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(12*(var(--sjs-base-unit, var(--base-unit, 8px))));object-fit:contain}.sd-file__image-wrapper--default-image{background:rgba(0,0,0,0)}.sd-file--single .sd-file__preview-item .sd-file__remove-file-button{display:none}.sd-file--single-image{height:calc(36*var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-file--single-image .sd-file__page{height:100%}.sd-file--single-image .sd-file__preview-item{width:100%;margin:0}.sd-file--single-image .sd-file__list{position:absolute;left:0;padding:0;height:100%;max-height:100%;width:100%}.sd-file--single-image .sd-file__image-wrapper{background-color:var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))}.sd-file--single-image .sd-file__image-wrapper{min-height:100%;min-width:100%}.sd-file--single-image .sd-file__image-wrapper img{width:100%;height:100%}.sd-file--single-image .sd-file__sign{position:absolute;margin:0;width:100%;min-height:100%}.sd-file--single-image .sd-file__sign a{color:rgba(0,0,0,0);width:100%;min-width:100%;max-width:100%;height:100%;outline:none}.sd-file__image-wrapper.sd-file__image-wrapper--default-image{background:rgba(0,0,0,0)}.sd-file>input:focus+.sd-file__decorator .sd-file__choose-btn.sd-file__choose-btn--icon use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-file>input:focus+.sd-file__decorator .sd-file__choose-btn:not(.sd-file__choose-btn--icon){background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)))}.sd-file__drag-area{position:static;width:100%}.sd-file__change-camera-button{position:absolute;z-index:2;left:var(--sjs-base-unit, var(--base-unit, 8px));top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-file__close-camera-button{position:absolute;z-index:2;right:var(--sjs-base-unit, var(--base-unit, 8px));top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-context-btn.sd-file__take-picture-button{background-color:var(--sjs-special-red, var(--red, #e60a3e));position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-context-btn.sd-file__take-picture-button:hover,.sd-context-btn.sd-file__take-picture-button:focus{box-shadow:0 0 0 2px var(--sjs-special-red, var(--red, #e60a3e))}.sd-context-btn.sd-file__take-picture-button .sv-svg-icon{height:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-context-btn.sd-file__take-picture-button .sv-svg-icon use{fill:var(--sjs-general-backcolor, var(--background, #fff))}.sd-file__video-container{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)));position:absolute;top:0;left:0;width:100%;height:100%}.sd-file__loading-indicator{width:100%;height:100%;box-sizing:border-box;position:absolute;border:1px dashed var(--sjs-border-default, var(--border, #d6d6d6));left:0}.sd-file__loading-indicator .sd-loading-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.sd-file__choose-file-btn--disabled{opacity:.25;cursor:default}.sd-file--readonly .sd-context-btn{display:none}.sd-file--readonly .sd-file__decorator{border-color:rgba(0,0,0,0)}.sd-file--readonly .sd-file__actions-container{display:none}.sd-file--readonly .sd-file__image-wrapper{background:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-file--readonly .sd-file__drag-area-placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-file--preview .sd-context-btn{display:none}.sd-file--preview .sd-file__decorator{border-color:rgba(0,0,0,0)}.sd-file--preview .sd-file__image-wrapper{background:rgba(0,0,0,0)}.sd-file--preview .sd-file__actions-container{display:none}.sd-file--preview .sd-file__drag-area-placeholder{color:var(--sjs-general-forecolor, var(--foreground, #161616))}.sd-hidden{display:none !important}.sd-body__navigation .sd-btn{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))));font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))))}.sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--action){background-color:var(--sjs-general-backcolor-dim-light, var(--background-dim-light, #f9f9f9))}.sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--action):hover{background-color:var(--sjs-editorpanel-hovercolor, var(--sjs-general-backcolor-dim-dark, rgb(243, 243, 243)))}.sd-root-modern--mobile .sd-body__navigation .sv-action:not(.sv-action--hidden),.sd-root-modern--mobile .sd-body__navigation .sd-btn{flex-grow:1}.sd-root-modern--mobile .sd-body__navigation .sd-btn{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body__navigation .sv-action--hidden{display:none}.sd-btn{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));background:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));border-radius:var(--sjs-corner-radius, 4px);cursor:pointer;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-weight:600;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)));text-align:center;color:var(--sjs-primary-backcolor, var(--primary, #19b394));border:none;outline:none;box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms),background var(--sjs-transition-duration, 150ms)}.sd-btn--small{flex-grow:1;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-btn:hover{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-btn:focus-visible{box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-btn:disabled{color:var(--sjs-general-forecolor, var(--foreground, #161616));opacity:.25;pointer-events:none}.sd-btn--action{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-btn--action:hover{color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));background-color:var(--sjs-primary-backcolor-dark, rgb(20, 164, 139))}.sd-btn--action:disabled{color:var(--sjs-primary-forecolor-light, var(--primary-foreground-disabled, rgba(255, 255, 255, 0.25)));pointer-events:none}.sd-btn--danger{background-color:var(--sjs-special-red, var(--red, #e60a3e));color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-btn--danger:hover{background-color:var(--sjs-special-red, var(--red, #e60a3e));color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-btn--danger:disabled{color:var(--sjs-special-red-forecolor, #ffffff);pointer-events:none}.sd-body{width:100%;box-sizing:border-box}.sd-body .sd-body__page{min-width:min(100%,300px)}.sd-body .sd-body__timer{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0;box-sizing:border-box}.sd-body.sd-body--static{max-width:calc(90*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:auto;margin-right:auto;padding-top:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(10*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body.sd-body--static .sd-body__timer,.sd-body.sd-body--static .sd-body__navigation,.sd-body.sd-body--static .sd-body__page{margin-left:0;margin-right:0}.sd-body.sd-body--static .sd-body__navigation{padding-top:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body.sd-body--static .sd-body__navigation.sd-action-bar{padding-left:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-right:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body.sd-body--responsive{max-width:initial;padding:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box}.sd-body.sd-body--responsive .sd-page{padding:0}.sd-body.sd-body--responsive .sd-body__timer,.sd-body.sd-body--responsive .sd-body__navigation{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-body.sd-body--responsive .sd-body__navigation{padding-top:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body.sd-body--responsive.sd-body--with-timer{max-width:calc(100% + var(--sd-timer-size)*-1.4444444444 + 6*var(--sjs-base-unit, var(--base-unit, 8px)));margin-left:auto;margin-right:auto}.sd-root-modern--mobile .sd-body.sd-body--with-timer.sd-body--responsive{max-width:initial;margin-left:0;margin-right:0}.sd-root-modern--mobile .sd-body.sd-body--responsive,.sd-root-modern--mobile .sd-body.sd-body--static{padding:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-root-modern--mobile .sd-body.sd-body--responsive .sd-body__navigation,.sd-root-modern--mobile .sd-body.sd-body--static .sd-body__navigation{padding-left:0;padding-right:0;padding-bottom:0}.sd-root--compact .sd-body.sd-body--responsive .sd-body__navigation,.sd-root--compact .sd-body.sd-body--static .sd-body__navigation{padding-top:calc(7*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body__navigation.sd-action-bar{box-sizing:border-box;padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));flex-wrap:wrap;gap:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-body--empty{min-height:400px;text-align:center;padding-top:180px;box-sizing:border-box}.sd-body--empty,.sd-body--loading{font-size:var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight, 400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing, 0);line-height:var(--sjs-article-font-default-lineHeight, 28px);text-indent:var(--sjs-article-font-default-paragraphIndent, 0px);text-transform:var(--sjs-article-font-default-textCase, \"none\");color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)))}.sd-body--empty h1,.sd-body--loading h1{font-size:var(--sjs-article-font-xx-large-fontSize, calc(4 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-xx-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-xx-large-fontWeight, 700);font-style:var(--sjs-article-font-xx-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-xx-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-xx-large-letterSpacing, 0);line-height:var(--sjs-article-font-xx-large-lineHeight, 64px);text-indent:var(--sjs-article-font-xx-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-xx-large-textCase, \"none\")}.sd-body--empty h2,.sd-body--loading h2{font-size:var(--sjs-article-font-x-large-fontSize, calc(3 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-x-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-x-large-fontWeight, 700);font-style:var(--sjs-article-font-x-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-x-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-x-large-letterSpacing, 0);line-height:var(--sjs-article-font-x-large-lineHeight, 56px);text-indent:var(--sjs-article-font-x-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-x-large-textCase, \"none\")}.sd-body--empty h3,.sd-body--loading h3{font-size:var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight, 700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing, 0);line-height:var(--sjs-article-font-large-lineHeight, 40px);text-indent:var(--sjs-article-font-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-body--empty h4,.sd-body--empty h5,.sd-body--empty h6,.sd-body--loading h4,.sd-body--loading h5,.sd-body--loading h6{font-size:var(--sjs-article-font-medium-fontSize, calc(1.5 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-medium-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-medium-fontWeight, 700);font-style:var(--sjs-article-font-medium-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-medium-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-medium-letterSpacing, 0);line-height:var(--sjs-article-font-medium-lineHeight, 32px);text-indent:var(--sjs-article-font-medium-paragraphIndent, 0px);text-transform:var(--sjs-article-font-medium-textCase, \"none\")}.sd-body--empty td,.sd-body--empty span,.sd-body--empty div,.sd-body--empty p,.sd-body--loading td,.sd-body--loading span,.sd-body--loading div,.sd-body--loading p{font-size:var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight, 400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing, 0);line-height:var(--sjs-article-font-default-lineHeight, 28px);text-indent:var(--sjs-article-font-default-paragraphIndent, 0px);text-transform:var(--sjs-article-font-default-textCase, \"none\")}.sd-body--empty a,.sd-body--loading a{color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-body--empty button,.sd-body--loading button{display:flex;align-items:center;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));vertical-align:baseline;text-align:center;background-color:var(--sjs-general-backcolor, var(--background, #fff));border:none;border-radius:var(--sjs-corner-radius, 4px);cursor:pointer;user-select:none;outline:solid calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) rgba(0,0,0,0);color:var(--sjs-primary-backcolor, var(--primary, #19b394));font-weight:600;font-style:normal;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms)}.sd-body--empty button:hover,.sd-body--loading button:hover{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-body--empty button:focus,.sd-body--loading button:focus{box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-body--empty button span,.sd-body--loading button span{display:flex;align-items:center;flex-grow:1;justify-content:center}.sd-root_background-image{background-position-x:center;position:absolute;top:0;bottom:0;left:0;right:0}.sd-multipletext{width:100%;table-layout:fixed;border-spacing:0;height:1px}.sd-multipletext__cell{height:100%}.sd-multipletext__cell:not(:first-of-type){padding-left:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-multipletext__item-container.sd-input:focus-within{box-shadow:var(--sjs-shadow-inner-reset, inset 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-multipletext__item-container{display:flex;align-items:flex-start;height:100%;padding-top:0;padding-bottom:0}.sd-multipletext__item-container .sd-input{padding-top:0;padding-right:0;padding-bottom:0;border:none;box-shadow:none}.sd-multipletext__item-container .sd-input,.sd-multipletext__item-title{margin-top:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-multipletext__item-title{font-size:0;line-height:0}.sd-multipletext__item-title span{font-size:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))))}.sd-multipletext__item-title{height:calc(100% - var(--sjs-base-unit, var(--base-unit, 8px))*3);max-width:30%;padding-right:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border-right:1px solid var(--sjs-border-default, var(--border, #d6d6d6));white-space:normal;color:var(--sjs-font-editorfont-placeholdercolor, var(--sjs-general-forecolor-light, var(--foreground-light, #909090)));box-sizing:content-box}.sd-question--preview .sd-multipletext__item-title{border:none}.sd-multipletext__item{flex-grow:1}.sd-multipletext__content .sd-multipletext__item-container{position:relative}.sd-multipletext__item-container--error{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-multipletext__item-container--error .sd-input--error{background-color:rgba(0,0,0,0)}.sd-multipletext-item__character-counter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-question__content:focus-within .sd-multipletext-item__character-counter{padding-inline-end:calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-multipletext__cell{padding-left:0;padding-right:0;padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px));padding-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-multipletext__cell--error-bottom,.sd-multipletext__row:first-of-type .sd-multipletext__cell{padding-top:0}.sd-multipletext__cell--error-top,.sd-multipletext__row:last-of-type .sd-multipletext__cell{padding-bottom:0}.sd-multipletext__cell--error .sd-question__erbox{margin:0}.sd-multipletext .sd-input .sd-input{background:rgba(0,0,0,0)}.sd-action{appearance:none;border:none;display:flex;align-items:center;gap:var(--sjs-base-unit, var(--base-unit, 8px));background:rgba(0,0,0,0);padding:var(--sjs-base-unit, var(--base-unit, 8px)) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));color:var(--sjs-primary-backcolor, var(--primary, #19b394));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));font-weight:600;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));outline:none;transition:background-color var(--sjs-transition-duration, 150ms);box-sizing:content-box}.sd-action--negative{color:var(--sjs-special-red, var(--red, #e60a3e))}.sd-action--icon{padding:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-action__icon{margin-left:calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-action__icon use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-action--icon .sd-action__icon{margin-left:0}.sd-action--icon use{fill:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));transition:fill var(--sjs-transition-duration, 150ms)}svg.sd-action--icon{fill:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)))}.sd-action:disabled,.sd-action--disabled{color:var(--sjs-general-forecolor, var(--foreground, #161616));cursor:default;opacity:.25;pointer-events:none}.sd-action:disabled use,.sd-action--disabled use{fill:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)))}.sd-action:not(.sd-action--pressed):hover,.sd-action:not(.sd-action--pressed):focus{outline:none;background-color:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));cursor:pointer;opacity:1}.sd-action:not(.sd-action--pressed):hover.sd-action--icon,.sd-action:not(.sd-action--pressed):focus.sd-action--icon{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-action:not(.sd-action--pressed):hover.sd-action--negative,.sd-action:not(.sd-action--pressed):focus.sd-action--negative{background-color:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))}.sd-action:not(.sd-action--pressed):hover.sd-action--negative.sd-action--icon use,.sd-action:not(.sd-action--pressed):focus.sd-action--negative.sd-action--icon use{fill:var(--sjs-special-red, var(--red, #e60a3e))}.sd-action:not(.sd-action--pressed):hover:active,.sd-action:not(.sd-action--pressed):focus:active{opacity:.5}.sd-action__icon{display:block;width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-action--pressed:not(.sd-action--active){background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));opacity:.5}.sd-action-bar>.sv-dots{width:auto}.sd-action-bar>.sv-action--hidden{width:0}.sd-action.sv-dots__item{width:auto}.sd-action-bar{display:flex;align-items:center}.sd-action-bar .sv-action:not(:last-child) .sv-action__content{padding-right:0}.sd-context-btn{background-color:var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff))));padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:calc(12.5*(var(--sjs-base-unit, var(--base-unit, 8px))));border:none;outline:none;cursor:pointer}.sd-context-btn .sv-svg-icon{margin:0}.sd-context-btn svg{display:block;width:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))));height:calc(1.5*(var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))))}.sd-context-btn use{fill:var(--sjs-font-questiondescription-color, var(--sjs-general-forecolor-light, rgba(0, 0, 0, 0.45)));transition:fill var(--sjs-transition-duration, 150ms)}.sd-context-btn:hover use,.sd-context-btn:focus use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-context-btn:hover.sd-context-btn--negative use,.sd-context-btn:focus.sd-context-btn--negative use{fill:var(--sjs-special-red, var(--red, #e60a3e))}.sd-context-btn:disabled{opacity:.25}.sd-context-btn--small{padding:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-context-btn--small svg{width:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px));height:var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px))}.sd-context-btn--with-border{--box-shadow-color: var(--sjs-border-default, var(--border, #d6d6d6));box-shadow:0 0 0 1px var(--box-shadow-color)}.sd-context-btn--colorful use{fill:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-context-btn--colorful.sd-context-btn--negative use{fill:var(--sjs-special-red, var(--red, #e60a3e))}.sd-context-btn--colorful:focus,.sd-context-btn--colorful:hover{background:linear-gradient(var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1))), var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)))),linear-gradient(var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))), var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))))}.sd-context-btn--colorful:focus.sd-context-btn--negative,.sd-context-btn--colorful:hover.sd-context-btn--negative{background:linear-gradient(var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))), var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)))),linear-gradient(var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))), var(--sjs-questionpanel-backcolor, var(--sjs-question-background, var(--sjs-general-backcolor, var(--background, #fff)))))}.sd-context-btn--colorful:focus.sd-context-btn--with-border,.sd-context-btn--colorful:hover.sd-context-btn--with-border{--box-shadow-color: var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-context-btn--colorful:focus.sd-context-btn--with-border.sd-context-btn--negative,.sd-context-btn--colorful:hover.sd-context-btn--with-border.sd-context-btn--negative{--box-shadow-color: var(--sjs-special-red, var(--red, #e60a3e))}.sd-completedpage,.sd-body--loading,.sd-completed-before-page{align-items:center;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:bold;box-sizing:border-box;text-align:center;height:auto;font-size:var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight, 400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing, 0);line-height:var(--sjs-article-font-default-lineHeight, 28px);text-indent:var(--sjs-article-font-default-paragraphIndent, 0px);text-transform:var(--sjs-article-font-default-textCase, \"none\");color:var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91)))}.sd-completedpage h1,.sd-body--loading h1,.sd-completed-before-page h1{font-size:var(--sjs-article-font-xx-large-fontSize, calc(4 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-xx-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-xx-large-fontWeight, 700);font-style:var(--sjs-article-font-xx-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-xx-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-xx-large-letterSpacing, 0);line-height:var(--sjs-article-font-xx-large-lineHeight, 64px);text-indent:var(--sjs-article-font-xx-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-xx-large-textCase, \"none\")}.sd-completedpage h2,.sd-body--loading h2,.sd-completed-before-page h2{font-size:var(--sjs-article-font-x-large-fontSize, calc(3 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-x-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-x-large-fontWeight, 700);font-style:var(--sjs-article-font-x-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-x-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-x-large-letterSpacing, 0);line-height:var(--sjs-article-font-x-large-lineHeight, 56px);text-indent:var(--sjs-article-font-x-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-x-large-textCase, \"none\")}.sd-completedpage h3,.sd-body--loading h3,.sd-completed-before-page h3{font-size:var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight, 700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing, 0);line-height:var(--sjs-article-font-large-lineHeight, 40px);text-indent:var(--sjs-article-font-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-completedpage h4,.sd-completedpage h5,.sd-completedpage h6,.sd-body--loading h4,.sd-body--loading h5,.sd-body--loading h6,.sd-completed-before-page h4,.sd-completed-before-page h5,.sd-completed-before-page h6{font-size:var(--sjs-article-font-medium-fontSize, calc(1.5 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-medium-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-medium-fontWeight, 700);font-style:var(--sjs-article-font-medium-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-medium-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-medium-letterSpacing, 0);line-height:var(--sjs-article-font-medium-lineHeight, 32px);text-indent:var(--sjs-article-font-medium-paragraphIndent, 0px);text-transform:var(--sjs-article-font-medium-textCase, \"none\")}.sd-completedpage td,.sd-completedpage span,.sd-completedpage div,.sd-completedpage p,.sd-body--loading td,.sd-body--loading span,.sd-body--loading div,.sd-body--loading p,.sd-completed-before-page td,.sd-completed-before-page span,.sd-completed-before-page div,.sd-completed-before-page p{font-size:var(--sjs-article-font-default-fontSize, var(--sjs-font-size, 16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight, 400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing, 0);line-height:var(--sjs-article-font-default-lineHeight, 28px);text-indent:var(--sjs-article-font-default-paragraphIndent, 0px);text-transform:var(--sjs-article-font-default-textCase, \"none\")}.sd-completedpage a,.sd-body--loading a,.sd-completed-before-page a{color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-completedpage button,.sd-body--loading button,.sd-completed-before-page button{display:flex;align-items:center;padding:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));vertical-align:baseline;text-align:center;background-color:var(--sjs-general-backcolor, var(--background, #fff));border:none;border-radius:var(--sjs-corner-radius, 4px);cursor:pointer;user-select:none;outline:solid calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px)))) rgba(0,0,0,0);color:var(--sjs-primary-backcolor, var(--primary, #19b394));font-weight:600;font-style:normal;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-size:var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px));line-height:calc(1.5*(var(--sjs-font-questiontitle-size, var(--sjs-font-size, 16px))));box-shadow:var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15)),0 0 0 0px var(--sjs-primary-backcolor, var(--primary, #19b394));transition:box-shadow var(--sjs-transition-duration, 150ms)}.sd-completedpage button:hover,.sd-body--loading button:hover,.sd-completed-before-page button:hover{background-color:var(--sjs-questionpanel-hovercolor, var(--sjs-general-backcolor-dark, rgb(248, 248, 248)))}.sd-completedpage button:focus,.sd-body--loading button:focus,.sd-completed-before-page button:focus{box-shadow:var(--sjs-shadow-small-reset, 0px 0px 0px 0px rgba(0, 0, 0, 0.15)),0 0 0 2px var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-completedpage button span,.sd-body--loading button span,.sd-completed-before-page button span{display:flex;align-items:center;flex-grow:1;justify-content:center}.sd-completedpage:not(:has(>*)),.sd-body--loading:not(:has(>*)),.sd-completed-before-page:not(:has(>*)){font-size:var(--sjs-article-font-large-fontSize, calc(2 * (var(--sjs-font-size, 16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight, 700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing, 0);line-height:var(--sjs-article-font-large-lineHeight, 40px);text-indent:var(--sjs-article-font-large-paragraphIndent, 0px);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-completedpage{padding:calc(17*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0 calc(6*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-completedpage:has(>*){padding:calc(13*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-body--loading,.sd-completed-before-page{padding:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0 calc(4*(var(--sjs-base-unit, var(--base-unit, 8px)))) 0}.sd-body--loading:has(>*),.sd-completed-before-page:has(>*){padding:0}.sd-progress-buttons__image-button-left{display:none}.sd-progress-buttons__image-button-right{display:none}.sd-progress-buttons__image-button--hidden{visibility:hidden}.sd-progress-buttons__page-description{display:none}.sd-progress-buttons{padding:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));display:flex;flex-direction:column}.sd-progress-buttons__list-container{display:flex;overflow:hidden;margin:0 calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons__connector{display:none}.sd-progress-buttons__list{display:inline-flex;flex-direction:row;flex-grow:1;margin:0 auto;padding:0}.sd-progress-buttons__list li{display:flex;flex-grow:1;flex-shrink:1;flex-basis:0;position:relative;flex-wrap:nowrap;text-align:center;flex-direction:column;cursor:pointer}.sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{display:block;content:\"\";height:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));opacity:.5;position:absolute;bottom:calc(1.125*(var(--sjs-base-unit, var(--base-unit, 8px))));right:calc(50% + 10px);width:calc(100% - 20px);pointer-events:none}.sd-progress-buttons__list li .sd-progress-buttons__button{position:relative;display:flex;content:attr(data-page-number);width:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(0*(var(--sjs-base-unit, var(--base-unit, 8px))));margin:calc(0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));border:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid rgba(0,0,0,0);border-radius:50%;align-self:center;z-index:1;font-size:calc(0.75*(var(--sjs-font-size, 16px)));font-weight:600;line-height:var(--sjs-font-size, 16px);justify-content:center;color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));box-sizing:content-box}.sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-background{position:absolute;width:calc(2.5*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));top:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));left:calc(-1.25*(var(--sjs-base-unit, var(--base-unit, 8px))));z-index:-2}.sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-content{position:absolute;width:100%;height:100%;top:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));left:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));background-color:var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45));opacity:.5;z-index:-1;border:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid rgba(0,0,0,0);border-radius:50%;box-sizing:content-box}.sd-progress-buttons__list li:hover .sd-progress-buttons__button{color:var(--sjs-primary-backcolor, var(--primary, #19b394));padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px))));border:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));background-color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff))}.sd-progress-buttons__list li:hover .sd-progress-buttons__button .sd-progress-buttons__button-background{left:calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons__list li:hover .sd-progress-buttons__button .sd-progress-buttons__button-content{top:calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));left:calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))));border:calc(0.75*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));background-color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--passed:not(:first-child)>.sd-progress-buttons__connector{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--passed .sd-progress-buttons__button{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-progress-buttons__list .sd-progress-buttons__list-element--passed .sd-progress-buttons__button .sd-progress-buttons__button-content{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--current:not(:first-child)>.sd-progress-buttons__connector{background-color:var(--sjs-primary-backcolor, var(--primary, #19b394));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button{border:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));background-color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));color:var(--sjs-primary-backcolor, var(--primary, #19b394));padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))));margin:calc(0.25*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button .sd-progress-buttons__button-background{left:calc(-0.75*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button .sd-progress-buttons__button-content{border:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px)))) solid var(--sjs-primary-backcolor, var(--primary, #19b394));background-color:var(--sjs-primary-forecolor, var(--primary-foreground, #fff));opacity:1}.sd-progress-buttons__page-title{display:flex;justify-content:center;align-items:center;font-size:calc(0.75*(var(--sjs-font-size, 16px)));font-weight:600;line-height:var(--sjs-font-size, 16px);flex-grow:1;text-align:center;padding:0 calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));color:var(--lbr-step-progress-bar-step-title-text-color, var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91))))}.sd-progress-buttons__header .sd-progress-buttons__page-title{margin-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-progress-buttons__footer .sd-progress-buttons__page-title{margin-top:var(--sjs-base-unit, var(--base-unit, 8px));margin-bottom:0;justify-content:flex-end;padding:0;color:var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45))}.sd-progress-buttons--bottom{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(4*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));flex-direction:column-reverse}.sd-progress-buttons--bottom .sd-progress-buttons__list li{flex-direction:column-reverse}.sd-progress-buttons--bottom .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{top:calc(1.125*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons--bottom .sd-progress-buttons__page-title{margin-top:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:0}.sd-progress-buttons--bottom .sd-progress-buttons__header .sd-progress-buttons__page-title{margin-top:var(--sjs-base-unit, var(--base-unit, 8px));margin-bottom:0}.sd-progress-buttons--bottom .sd-progress-buttons__footer .sd-progress-buttons__page-title{margin-top:0;margin-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-progress-buttons--numbered .sd-progress-buttons__list-container{margin:0 calc(-1*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{bottom:calc(2.175*(var(--sjs-base-unit, var(--base-unit, 8px))));right:calc(50% + 18px);width:calc(100% - 36px)}.sd-progress-buttons--numbered .sd-progress-buttons__list li .sd-progress-buttons__button{width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons--numbered .sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-background{height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(4.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons--numbered .sd-progress-buttons__list li:hover .sd-progress-buttons__button{padding:calc(0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons--with-titles .sd-progress-buttons__list-container{margin:0}.sd-root-modern--mobile .sd-progress-buttons__list,.sd-progress-buttons--no-titles .sd-progress-buttons__list{justify-content:space-between;width:100%}.sd-root-modern--mobile .sd-progress-buttons__list li,.sd-progress-buttons--no-titles .sd-progress-buttons__list li{flex-grow:0}.sd-progress-buttons--bottom.sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{top:calc(2.175*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-root-modern--mobile .sd-progress-buttons{padding:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px)))) calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-progress-buttons--fit-survey-width{max-width:calc(90*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box;width:100%;margin:auto}[dir=rtl] .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction:rtl\"] .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction: rtl\"] .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{right:unset;left:calc(50% + 10px)}[dir=rtl] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction:rtl\"] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction: rtl\"] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{right:unset;left:calc(50% + 20px)}.sv_progress-toc{padding:var(--lbr-toc-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-toc-padding-right, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-toc-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-toc-padding-left, var(--sjs-base-unit, var(--base-unit, 8px)));background:var(--lbr-toc-background-color, var(--sjs-general-backcolor, var(--background, #fff)));min-width:calc(32*(var(--sjs-base-unit, var(--base-unit, 8px))));max-width:calc(42*(var(--sjs-base-unit, var(--base-unit, 8px))));height:100%;box-sizing:border-box}.sv_progress-toc .sv-list{padding:0}.sv_progress-toc .sv-list__item.sv-list__item--selected .sv-list__item-body{background:var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1)));color:var(--sjs-general-forecolor, var(--foreground, #161616));font-weight:400}.sv_progress-toc .sv-list__item span{white-space:break-spaces}.sv_progress-toc .sv-list__item-body{padding-inline-start:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-inline-end:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:var(--sjs-corner-radius, 4px);padding-top:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));padding-bottom:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv_progress-toc use{fill:var(--sjs-general-forecolor-light, var(--foreground-light, #909090))}.sv_progress-toc--left{border-right:var(--lbr-toc-border-width-right, 1px) solid var(--lbr-toc-border-color, var(--sjs-border-default, var(--border, #d6d6d6)))}.sv_progress-toc--right{border-left:var(--lbr-toc-border-width-right, 1px) solid var(--lbr-toc-border-color, var(--sjs-border-default, var(--border, #d6d6d6)))}.sv_progress-toc--mobile{position:fixed;top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));right:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));width:auto;min-width:auto;height:auto;background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));z-index:15;border-radius:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv_progress-toc--mobile>div{width:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv_progress-toc--mobile:hover{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3))}.sd-title+.sv-components-row>.sv-components-column .sv_progress-toc:not(.sv_progress-toc--mobile),.sd-title~.sv-components-row>.sv-components-column .sv_progress-toc:not(.sv_progress-toc--mobile){margin-top:2px}.sv_progress-toc.sv_progress-toc--sticky{position:sticky;height:auto;overflow-y:auto;top:0}.sd-list__item-body{padding-block:calc(1.5*(var(--sjs-base-unit, var(--base-unit, 8px))));border-radius:var(--sjs-corner-radius, 4px);font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sd-list__item.sd-list__item--focused:not(.sd-list__item--selected){outline:none}.sd-list__item.sd-list__item--focused:not(.sd-list__item--selected) .sd-list__item-body{padding-block:calc(1.25*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-timer{z-index:2;position:fixed;bottom:calc(var(--sd-timer-size)/144*32);right:var(--sjs-base-unit, var(--base-unit, 8px));background:#fff;width:var(--sd-timer-size);height:var(--sd-timer-size);margin-right:calc(var(--sd-timer-size)/144*32);display:flex;border-radius:100%;padding:calc(var(--sd-timer-size)/144*8);box-shadow:var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));box-sizing:border-box}.sd-timer--top{top:calc(var(--sd-timer-size)/144*32);margin-top:calc(4*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-bottom:calc(-1*var(--sd-timer-size))}.sd-timer--bottom{bottom:calc(var(--sd-timer-size)/144*32);margin-top:calc(var(--sd-timer-size)*-1.2222222222)}.sd-timer__progress{--sd-timer-stroke-background-color: var(--background-dim, #f3f3f3);--sd-timer-stroke-background-width: 2px;stroke-linecap:round;height:100%;width:100%;transform:rotate(-90deg);stroke:var(--sjs-primary-backcolor, var(--primary, #19b394));stroke-dashoffset:0;fill:none;stroke-width:4px}.sd-timer__progress--animation{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}.sd-timer__text-container{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:var(--sjs-base-unit, var(--base-unit, 8px));color:var(--sjs-primary-backcolor, var(--primary, #19b394));font-weight:700;font-size:calc(var(--sd-timer-size)/144*32)}.sd-timer__text--major{color:var(--sjs-primary-backcolor, var(--primary, #19b394));font-weight:700;font-size:calc(var(--sd-timer-size)/144*32)}.sd-timer__text--minor{color:var(--lbr-timer-text-color-secondary, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));font-size:var(--lbr-font-default-size, var(--sjs-font-size, 16px));font-style:normal;font-weight:600;line-height:var(--lbr-font-default-line-height, calc(1.5 * (var(--sjs-font-size, 16px))));margin-top:calc(-0.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-header{position:relative;background-color:var(--sjs-header-backcolor, transparent)}.sv-header__background-color--accent{background-color:var(--sjs-header-backcolor, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sv-header__overlap{padding-bottom:calc(8*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:content-box}.sv-header__overlap~div .sd-body,.sv-header__overlap~div .sv-body{margin-top:calc(-14*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-root-modern--mobile .sv-header__overlap{padding-bottom:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-root-modern--mobile .sv-header__overlap~div .sd-body,.sd-root-modern--mobile .sv-header__overlap~div .sv-body{margin-top:calc(-5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-header__overlap.sv-header__without-background{margin-bottom:0;padding-bottom:0}.sv-header__overlap.sv-header__without-background~div .sd-body,.sv-header__overlap.sv-header__without-background~div .sv-body{margin-top:0}.sv-header__without-background .sv-header--mobile,.sv-header__without-background .sv-header__content{padding-bottom:0}.sd-body .sv-header__content{padding-top:0;padding-bottom:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-header__content{padding:calc(5*(var(--sjs-base-unit, var(--base-unit, 8px))));box-sizing:border-box;height:100%;position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;row-gap:var(--lbr-cover-row-gap, var(--lbr-spacing-x150, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))));column-gap:var(--lbr-cover-column-gap, var(--lbr-spacing-x6, calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))))))}.sv-header--height-auto .sv-header__content{grid-template-rows:auto;height:auto}.sv-header--height-auto .sv-header__cell:not(.sv-header__cell--empty) .sv-header__cell-content{position:relative;min-height:100%;min-width:100%}.sv-header--height-auto .sv-header__cell--right .sv-header__cell-content{left:100%;transform:translateX(-100%)}.sv-header__content--static{max-width:calc(90*(var(--sjs-base-unit, var(--base-unit, 8px))));margin-left:auto;margin-right:auto}.sv-header__background-image{width:100%;height:100%;position:absolute;top:0;left:0;right:0;border:0;background-position-x:center}.sv-header__background-image--contain{background-repeat:no-repeat}.sv-header__cell{position:relative}.sv-header__cell-content{display:flex;flex-direction:column;position:absolute;width:max-content;max-width:300%;top:0;bottom:0}.sv-header__cell--left .sv-header__cell-content{left:0}.sv-header__cell--center .sv-header__cell-content{min-width:100%;left:50%;transform:translateX(-50%)}.sv-header__cell--right .sv-header__cell-content{right:0}.sv-header__logo{display:flex}.sv-header__logo img{display:block}.sv-header__title{display:flex}.sv-header__title .sd-title{--header-title-font-size: var(--sjs-font-headertitle-size, calc(2 * (var(--sjs-font-size, 16px))));font-size:var(--header-title-font-size);line-height:calc(1.25*(var(--header-title-font-size)));color:var(--sjs-font-headertitle-color, var(--sjs-font-pagetitle-color, var(--sjs-general-dim-forecolor, rgba(0, 0, 0, 0.91))));font-family:var(--sjs-font-headertitle-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-headertitle-weight, 700);margin:0}.sv-header__logo~.sv-header__title{margin-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-header__logo~.sv-header__description{margin-top:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sv-header__title~.sv-header__description{margin-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sv-header__description{display:flex}.sv-header__description .sd-description{--header-description-font-size: var(--sjs-font-headerdescription-size, 20px);font-size:var(--header-description-font-size);line-height:calc(1.5*(var(--header-description-font-size)));color:var(--sjs-font-headerdescription-color, var(--sjs-font-pagedescription-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45))));font-family:var(--sjs-font-headerdescription-family, var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family))));font-weight:var(--sjs-font-headerdescription-weight, 400);margin:0}.sv-header__background-color--accent .sv-header__title .sd-title{color:var(--sjs-font-headertitle-color, var(--sjs-primary-forecolor, var(--primary-foreground, #fff)))}.sv-header__background-color--accent .sv-header__description .sd-description{color:var(--sjs-font-headerdescription-color, var(--sjs-primary-forecolor, var(--primary-foreground, #fff)))}.sv-header__content .sd-header__text h3{margin:0}.sv-header--mobile{padding:calc(3*(var(--sjs-base-unit, var(--base-unit, 8px))));position:relative;z-index:1}.sv-header--mobile .sv-header__logo img{max-width:100%}@keyframes rotationAnimation{from{rotate:0deg}to{rotate:360deg}}.sd-loading-indicator{height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-loading-indicator .sv-svg-icon{height:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));width:calc(6*(var(--sjs-base-unit, var(--base-unit, 8px))));animation-name:rotationAnimation;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:1s}.sd-loading-indicator .sv-svg-icon use{fill:var(--lbr-placeholder-loading-circle-color-spin, var(--sjs-primary-backcolor, var(--primary, #19b394)))}sv-components-container,.sd-components-container{display:flex}.sv-components-row{display:flex;flex-direction:row;width:100%}.sv-components-column{display:flex;flex-direction:column}.sv-components-column--expandable{flex-grow:1}.sv-components-row>.sv-components-column--expandable{width:1px}.sd-breadcrumbs{display:flex;align-items:center;align-content:center;gap:var(--lbr-breadcrumbs-gap, var(--sjs-base-unit, var(--base-unit, 8px)));align-self:stretch;flex-wrap:wrap;padding-bottom:var(--lbr-page-header-breadcrumbs-margin-bottom, 20px)}.sd-breadcrumbs-item{color:var(--lbr-breadcrumbs-item-text-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sd-breadcrumbs-item__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:0;box-sizing:border-box;border:none;background-color:rgba(0,0,0,0);cursor:pointer;color:unset;font-size:unset;font-family:unset;overflow-x:hidden;white-space:nowrap}.sd-breadcrumbs-separator{display:flex;width:var(--lbr-breadcrumbs-item-separator-icon-width, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));height:var(--lbr-breadcrumbs-item-separator-icon-height, calc(1.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));justify-content:center;align-items:center}.sd-breadcrumbs-separator use{fill:var(--lbr-breadcrumbs-item-separator-color, var(--sjs-general-dim-forecolor-light, rgba(0, 0, 0, 0.45)))}.sd-summary{border-radius:var(--lbr-data-table-corner-radius, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px)))));background:var(--lbr-data-table-background-color, var(--sjs-general-backcolor, var(--background, #fff)));box-shadow:var(--lbr-data-table-shadow-offset-x, 0px) var(--lbr-data-table-shadow-offset-y, 1px) var(--lbr-data-table-shadow-blur, 2px) var(--lbr-data-table-shadow-spread, 0px) var(--lbr-data-table-shadow-color, rgba(0, 0, 0, 0.15));overflow:hidden}.sd-summary-row{display:flex;padding:var(--lbr-data-table-row-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-data-table-row-padding-right, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))) var(--lbr-data-table-row-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-data-table-row-padding-left, calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px)))));align-items:flex-start;gap:var(--lbr-data-table-row-gap, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));flex:1 0 0;align-self:stretch;border-bottom:var(--lbr-data-table-row-border-width-bottom, 1px) solid var(--lbr-data-table-row-border-color, var(--sjs-border-light, var(--border-light, #eaeaea)));background:var(--lbr-data-table-row-background-color, var(--sjs-general-backcolor, var(--background, #fff)))}.sd-summary-row__content{display:flex;padding:var(--lbr-data-table-row-text-margin-top, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) 0px var(--lbr-data-table-row-text-margin-bottom, calc(0.5 * (var(--sjs-base-unit, var(--base-unit, 8px))))) 0px;align-items:flex-start;gap:var(--lbr-data-table-row-gap, calc(4 * (var(--sjs-base-unit, var(--base-unit, 8px)))));flex:1 0 0;color:var(--lbr-data-table-row-text-color-title, var(--sjs-general-forecolor, var(--foreground, #161616)));font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-size, 16px);line-height:calc(1.5*(var(--sjs-font-size, 16px)))}.sd-summary-row__actions{display:flex;align-items:flex-start;gap:var(--lbr-data-table-actions-gap, var(--sjs-base-unit, var(--base-unit, 8px)));opacity:0;transition:opacity var(--sjs-transition-duration, 150ms)}.sd-summary-row:hover .sd-summary-row__actions,.sd-question--mobile .sd-summary-row__actions{opacity:1}.sd-summary-row-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:0;box-sizing:border-box;border:none;background-color:rgba(0,0,0,0);cursor:pointer;color:unset;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));overflow-x:hidden;white-space:nowrap;display:flex;padding:var(--lbr-action-button-padding-top, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-action-button-padding-right-icon-only, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-action-button-padding-bottom, var(--sjs-base-unit, var(--base-unit, 8px))) var(--lbr-action-button-padding-left-icon-only, var(--sjs-base-unit, var(--base-unit, 8px)));justify-content:center;align-items:center;gap:var(--lbr-action-button-gap, var(--sjs-base-unit, var(--base-unit, 8px)));border-radius:var(--lbr-action-button-corner-radius, 1024px);transition:background-color var(--sjs-transition-duration, 150ms)}.sd-summary-row-action:hover,.sd-summary-row-action:focus{outline:none;background-color:var(--lbr-action-button-background-color-hovered-positive, var(--sjs-primary-backcolor-light, var(--primary-light, rgba(25, 179, 148, 0.1))))}.sd-summary-row-action:active,.sd-summary-row-action.svc-toolbar__item--pressed{opacity:.5}.sd-summary-row-action.svc-toolbar__item--active{outline:none}.sd-summary-row-action:disabled{opacity:.25;cursor:default}.sd-summary-row-action .sv-svg-icon{width:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))));height:calc(2*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-summary-row-action--edit use{fill:var(--lbr-action-button-icon-color-positive, var(--sjs-primary-backcolor, var(--primary, #19b394)))}.sd-summary-row-action--delete:hover,.sd-summary-row-action--delete:focus{outline:none;background-color:var(--lbr-action-button-background-color-hovered-negative, var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1))))}.sd-summary-row-action--delete use{fill:var(--lbr-action-button-icon-color-negative, var(--sjs-special-red, var(--red, #e60a3e)))}.sd-root-modern,.sd-container-modern{--sd-base-padding: calc(5 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-base-vertical-padding: calc(4 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-page-vertical-padding: calc(3 * var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-root-modern.sd-root-modern--mobile,.sd-root-modern--mobile .sd-container-modern{--sd-base-padding: calc(3 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-base-vertical-padding: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-page-vertical-padding: calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-root-modern.sd-root-modern--mobile .sd-element__num{float:none;margin-inline-start:0;width:auto;padding-inline-start:0;padding-inline-end:0}.sd-root-modern.sd-root-modern--mobile .sd-element__num+span{float:none;width:auto}.sd-root-modern.sd-root-modern--mobile .sd-element__title-expandable-svg{inset-inline-start:calc(-2.5*(var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-root-modern.sd-root-modern--mobile .sd-title.sd-container-modern__title{flex-direction:column}.sd-root-modern.sd-root-modern--mobile .sd-header__text{min-width:100%}.sd-multipletext--mobile .sd-multipletext__cell{display:block}.sd-multipletext--mobile .sd-multipletext__cell:not(:first-of-type){padding-left:0;padding-top:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-multipletext--mobile .sd-multipletext__cell :not(:last-of-type){padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-multipletext--mobile .sd-multipletext__item-container{padding-top:var(--sjs-base-unit, var(--base-unit, 8px));padding-bottom:var(--sjs-base-unit, var(--base-unit, 8px))}.sd-multipletext--mobile .sd-multipletext__item-title{max-width:none;border-right:none;width:100%;padding:var(--sjs-base-unit, var(--base-unit, 8px)) 0;margin:0}.sd-multipletext--mobile .sd-multipletext__item{flex-basis:0;min-width:0}.sd-multipletext--mobile .sd-multipletext__item .sd-input{padding:0;margin:0}.sd-multipletext--mobile .sd-multipletext__item-container--answered,.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within{flex-direction:column}.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item-title,.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item-title{padding:0}.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item-title span,.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item-title span{font-size:calc(0.75*(var(--sjs-font-size, 16px)));line-height:var(--sjs-font-size, 16px)}.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item,.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item{flex-basis:auto;min-width:auto;width:100%}.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item .sd-input,.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item .sd-input{width:100%}.sd-selectbase--mobile .sd-selectbase--multi-column{flex-direction:column}.sd-selectbase--mobile .sd-selectbase--multi-column .sd-selectbase__column:not(:last-child){padding-right:0}body{--sv-defaultV2-mark: true}.sd-root-modern{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);--sd-mobile-width: 600px;--sd-timer-size: calc(18 * var(--sjs-base-unit, var(--base-unit, 8px)));width:100%;font-family:var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));position:relative}@-moz-document url-prefix(){.sd-root-modern,.sd-root-modern *{scrollbar-width:thin;scrollbar-color:var(--sjs-border-default, var(--border, #d6d6d6)) rgba(0,0,0,0)}}.sd-root-modern::-webkit-scrollbar,.sd-root-modern *::-webkit-scrollbar{width:12px;height:12px;background-color:rgba(0,0,0,0)}.sd-root-modern::-webkit-scrollbar-thumb,.sd-root-modern *::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:32px;background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-root-modern::-webkit-scrollbar-track,.sd-root-modern *::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.sd-root-modern::-webkit-scrollbar-thumb:hover,.sd-root-modern *::-webkit-scrollbar-thumb:hover{border:2px solid rgba(0,0,0,0);background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sd-root-modern form{position:relative}.sd-root-modern--animation-disabled *{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.sd-root-modern.sd-root-modern--full-container{width:100%;height:100%;overflow:auto;position:relative}.sd-root-modern--mobile{--sd-timer-size: calc(9 * var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-root-modern__wrapper{position:relative}.sd-root-modern__wrapper--has-image{min-height:100%}.sd-root-modern--full-container .sd-root-modern__wrapper--fixed{position:static;width:100%;height:100%}.sd-root-modern--full-container .sd-root-modern__wrapper--fixed form{width:100%;height:100%;max-height:100%}.sv-popup .sv-popup__scrolling-content{box-sizing:content-box}@-moz-document url-prefix(){.sv-popup .sv-popup__scrolling-content,.sv-popup .sv-popup__scrolling-content *{scrollbar-width:thin;scrollbar-color:var(--sjs-border-default, var(--border, #d6d6d6)) rgba(0,0,0,0)}}.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar,.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar{width:12px;height:12px;background-color:rgba(0,0,0,0)}.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-thumb,.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:32px;background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-track,.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-thumb:hover,.sv-popup .sv-popup__scrolling-content *::-webkit-scrollbar-thumb:hover{border:2px solid rgba(0,0,0,0);background-color:var(--sjs-border-default, var(--border, #d6d6d6))}.sv-components-container-center{position:sticky;top:0}.sv-root--sticky-top .sv-components-container-center{z-index:15}.sv-root--sticky-top.sd-progress--pages .sv-components-container-center,.sv-root--sticky-top.sd-progress--buttons .sv-components-container-center{background-color:var(--sjs-general-backcolor-dim, var(--background-dim, #f3f3f3));box-shadow:var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)),var(--sjs-shadow-small, 0px 1px 2px 0px rgba(0, 0, 0, 0.15))}.sv-components-container-right,.sv-components-container-left{width:fit-content}\n";
|
|
654
|
+
const Ai12zBotStyle3 = surveyCoreMinCss;
|
|
655
|
+
|
|
656
|
+
const Ai12zBot = class {
|
|
657
|
+
constructor(hostRef) {
|
|
658
|
+
index.registerInstance(this, hostRef);
|
|
659
|
+
this.messageSent = index.createEvent(this, "messageSent", 7);
|
|
660
|
+
this.messageReceived = index.createEvent(this, "messageReceived", 7);
|
|
661
|
+
this.close = index.createEvent(this, "close", 7);
|
|
662
|
+
this.open = index.createEvent(this, "open", 7);
|
|
663
|
+
this.minimize = index.createEvent(this, "minimize", 7);
|
|
664
|
+
this.errored = index.createEvent(this, "errored", 7);
|
|
665
|
+
this.formSubmitted = index.createEvent(this, "formSubmitted", 7);
|
|
666
|
+
this.cdnPath = "https://cdn.ai12z.net/assets/bot";
|
|
667
|
+
this.surveyCDNPath = "https://cdn.ai12z.net/pkg/surveyjs";
|
|
668
|
+
this.styles = [
|
|
669
|
+
// `${this.cdnPath}/v1/survey.min.css`,
|
|
670
|
+
// `https://unpkg.com/survey-core/defaultV2.min.css`,
|
|
671
|
+
// `${this.cdnPath}/v1/survey-core.min.css`,
|
|
672
|
+
// `https://unpkg.com/survey-core@2.3.4/survey-core.min.css`,
|
|
673
|
+
`https://unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/default.min.css`,
|
|
674
|
+
];
|
|
675
|
+
this.liveAgentEventHandler = new LiveAgentEventHandler();
|
|
676
|
+
this.customStyle = "";
|
|
677
|
+
this.customJS = "";
|
|
678
|
+
this.dataOverrideFunction = null;
|
|
679
|
+
this.imagesBase64List = [];
|
|
680
|
+
this.toggleBot = e => {
|
|
681
|
+
e.stopPropagation();
|
|
682
|
+
this.isToggled = !this.isToggled;
|
|
683
|
+
};
|
|
684
|
+
this.checkHistory = () => {
|
|
685
|
+
const storedMessages = localStorage.getItem(`${this.visitorID}`);
|
|
686
|
+
let chatHistory = [];
|
|
687
|
+
if (storedMessages) {
|
|
688
|
+
chatHistory = JSON.parse(storedMessages);
|
|
689
|
+
chatHistory = chatHistory.filter(item => { var _a; return item.projectId === ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId); });
|
|
690
|
+
}
|
|
691
|
+
this.showHistory = chatHistory.length > 0 && this.botSettings.botVersion === "v1" ? true : false;
|
|
692
|
+
// console.log("showHistory", this.showHistory)
|
|
693
|
+
};
|
|
694
|
+
this.alertResults = sender => {
|
|
695
|
+
var _a, _b, _c;
|
|
696
|
+
// console.log("Survey results", sender.keyName)
|
|
697
|
+
this.formSubmitted.emit(sender.data);
|
|
698
|
+
// console.log("survey results", sender.jsonObj)
|
|
699
|
+
// const results = JSON.stringify(sender.data)
|
|
700
|
+
let results = JSON.parse(JSON.stringify(sender.data));
|
|
701
|
+
// results.description = sender.jsonObj.description ? sender.jsonObj.description : ""
|
|
702
|
+
// const completedHtml = sender.jsonObj.completedHtml ? sender.jsonObj.completedHtml : "Thank You!"
|
|
703
|
+
// const completeText = sender.jsonObj.completeText ? sender.jsonObj.completeText : "Submit"
|
|
704
|
+
results.description = this.resolveLocalized(sender.jsonObj.description, "");
|
|
705
|
+
const completedHtml = this.resolveLocalized(sender.jsonObj.completedHtml, "Thank You!");
|
|
706
|
+
const completeText = this.resolveLocalized(sender.jsonObj.completeText, "Submit");
|
|
707
|
+
// Object.assign(results.data, { description: sender.jsonObj.description })
|
|
708
|
+
// console.log("sender", results)
|
|
709
|
+
// const query = "Here is the data you requested:" + results
|
|
710
|
+
// this.query = query
|
|
711
|
+
const domId = (_c = (_b = (_a = sender.implementor) === null || _a === void 0 ? void 0 : _a.renderedElement) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : sender.domId;
|
|
712
|
+
// const surveyDataId = domId.replace("surveyElement-", "")
|
|
713
|
+
// sender.implementor.renderedElement.innerHTML = `<p><b>Thank you</b></p>`
|
|
714
|
+
// console.log("messages", this.messages)
|
|
715
|
+
const idx = this.messages.findIndex(item => item.surveyDomId === domId);
|
|
716
|
+
this.currentDomId = this.messages[idx].id;
|
|
717
|
+
this.surveyDomId = domId;
|
|
718
|
+
this.updateConversations(completedHtml, {});
|
|
719
|
+
const jsonData = `This JSON is from a form submission [${sender.keyName}]: ${JSON.stringify(results, null, 2)}. There is no need to show the form [${sender.keyName}] again.`;
|
|
720
|
+
// this.sendJSON(results, completeText)
|
|
721
|
+
this.sendMessage(jsonData, completeText);
|
|
722
|
+
// const lastMessage = {
|
|
723
|
+
// text: "",
|
|
724
|
+
// isUser: false,
|
|
725
|
+
// id: `chatbot-${generateUUID()}`,
|
|
726
|
+
// timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }),
|
|
727
|
+
// images: [],
|
|
728
|
+
// conversationId: this.conversationId,
|
|
729
|
+
// formModel: {},
|
|
730
|
+
// surveyDomId: "",
|
|
731
|
+
// }
|
|
732
|
+
// this.currentDomId = lastMessage.id
|
|
733
|
+
// this.surveyDomId = domId
|
|
734
|
+
// if (idx === -1) {
|
|
735
|
+
// // this.handleSubmit(null, query, "survey-res", false, null)
|
|
736
|
+
// this.messages.splice(this.messages.length - 1, 1)
|
|
737
|
+
// this.messages = [...this.messages, lastMessage]
|
|
738
|
+
// } else {
|
|
739
|
+
// this.messages = [...this.messages.slice(0, idx), lastMessage, ...this.messages.slice(idx + 1)]
|
|
740
|
+
// }
|
|
741
|
+
this.scrollToBottom();
|
|
742
|
+
// this.invokeSocket()
|
|
743
|
+
};
|
|
744
|
+
this.renderSurvey = chat => {
|
|
745
|
+
var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
746
|
+
window["Survey"].Serializer.addProperty("survey", {
|
|
747
|
+
name: "keyName:string",
|
|
748
|
+
visible: false, // makes it appear in Survey Creator
|
|
749
|
+
category: "general", // optional, groups the property
|
|
750
|
+
default: "", // optional default value
|
|
751
|
+
});
|
|
752
|
+
let formModel = (_c = (_b = (_a = chat.controlData) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.source) !== null && _c !== void 0 ? _c : chat.controlData;
|
|
753
|
+
if (typeof formModel === "object") {
|
|
754
|
+
formModel.keyName = chat.keyName;
|
|
755
|
+
}
|
|
756
|
+
else {
|
|
757
|
+
formModel = JSON.parse(formModel);
|
|
758
|
+
formModel.keyName = chat.keyName;
|
|
759
|
+
}
|
|
760
|
+
let supportedLocales;
|
|
761
|
+
if (formModel) {
|
|
762
|
+
supportedLocales = utils.getAllLanguagesInSurvey(formModel);
|
|
763
|
+
}
|
|
764
|
+
// console.log("supportedLocales", supportedLocales)
|
|
765
|
+
let locale = "default";
|
|
766
|
+
if (((_d = this.dataAttributes) === null || _d === void 0 ? void 0 : _d.lang) && supportedLocales.has(this.dataAttributes.lang)) {
|
|
767
|
+
locale = this.dataAttributes.lang;
|
|
768
|
+
}
|
|
769
|
+
else {
|
|
770
|
+
const browserLang = utils.getBroswerLang();
|
|
771
|
+
if (supportedLocales.has(browserLang)) {
|
|
772
|
+
locale = browserLang;
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
window["Survey"].surveyLocalization.currentLocale = locale;
|
|
776
|
+
const survey = new window["Survey"].Model(formModel);
|
|
777
|
+
if (this.surveyDomId === "") {
|
|
778
|
+
return;
|
|
779
|
+
}
|
|
780
|
+
const domELe = (_f = this.el.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelector(`#${this.surveyDomId}`);
|
|
781
|
+
if (domELe) {
|
|
782
|
+
survey.domId = this.surveyDomId;
|
|
783
|
+
survey.render(domELe);
|
|
784
|
+
// window["jQuery"](domELe).Survey({ model: survey })
|
|
785
|
+
}
|
|
786
|
+
else {
|
|
787
|
+
console.error("Survey Element not found");
|
|
788
|
+
}
|
|
789
|
+
if (typeof ((_h = (_g = chat.controlData) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.source) == "object" || typeof chat.controlData === "object") {
|
|
790
|
+
this.hideCompleteButton((_l = (_k = (_j = chat.controlData) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.source) !== null && _l !== void 0 ? _l : chat.controlData, survey);
|
|
791
|
+
}
|
|
792
|
+
else {
|
|
793
|
+
this.hideCompleteButton(JSON.parse((_p = (_o = (_m = chat.controlData) === null || _m === void 0 ? void 0 : _m.data) === null || _o === void 0 ? void 0 : _o.source) !== null && _p !== void 0 ? _p : chat.controlData), survey);
|
|
794
|
+
}
|
|
795
|
+
// survey.completeText = "Submit"
|
|
796
|
+
survey.showCompletedPage = false;
|
|
797
|
+
if (chat.theme) {
|
|
798
|
+
survey.applyTheme(JSON.parse(chat.theme));
|
|
799
|
+
}
|
|
800
|
+
survey.onAfterRenderQuestionInput.add(function (_, options) {
|
|
801
|
+
options.htmlElement.name = options.question.name;
|
|
802
|
+
});
|
|
803
|
+
survey.onComplete.add(this.alertResults);
|
|
804
|
+
};
|
|
805
|
+
this.handleButtonClick = (label) => (_event) => {
|
|
806
|
+
this.inputEl.value = label;
|
|
807
|
+
this.handleSend(label);
|
|
808
|
+
};
|
|
809
|
+
this.handleMessage = (data, aiMessageId) => {
|
|
810
|
+
var _a;
|
|
811
|
+
const converter = new showdown.showdown.Converter();
|
|
812
|
+
// const aiMessageBubble = document.getElementById(aiMessageId);
|
|
813
|
+
const aiMessageBubble = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#${aiMessageId}`);
|
|
814
|
+
// const aiMessageBubble = this.element.querySelector('.ai12z-suggest-answer')
|
|
815
|
+
if (!aiMessageBubble) {
|
|
816
|
+
console.error(`Message bubble with ID ${aiMessageId} not found.`);
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
819
|
+
var bubbleText = aiMessageBubble.getAttribute("data-bubbleText") || "";
|
|
820
|
+
bubbleText = bubbleText + data;
|
|
821
|
+
aiMessageBubble.setAttribute("data-bubbleText", bubbleText);
|
|
822
|
+
// Assuming data is a string containing the message content
|
|
823
|
+
let html = converter.makeHtml(bubbleText);
|
|
824
|
+
// Append new content to the existing chat bubble
|
|
825
|
+
aiMessageBubble.innerHTML = html;
|
|
826
|
+
};
|
|
827
|
+
this.updateScreenSize = () => {
|
|
828
|
+
// console.log("updateScreenSize")
|
|
829
|
+
if (window.innerWidth <= 767) {
|
|
830
|
+
this.isMinimized = this.isOpened ? false : true;
|
|
831
|
+
}
|
|
832
|
+
// if (window.innerWidth < 640) {
|
|
833
|
+
// this.isMinimized = this.isOpened ? false : true
|
|
834
|
+
// } else if (window.innerWidth < 768) {
|
|
835
|
+
// this.isMinimized = this.isOpened ? false : true
|
|
836
|
+
// } else {
|
|
837
|
+
// console.log("content", this.isContent)
|
|
838
|
+
// this.isMinimized = this.isExpanded ? false : true
|
|
839
|
+
// this.isExpanded = true
|
|
840
|
+
// }
|
|
841
|
+
};
|
|
842
|
+
this.handleSend = eleValue => {
|
|
843
|
+
// console.log("handle send", eleValue)
|
|
844
|
+
if (eleValue.trim().length === 0 && this.imagesBase64List.length === 0) {
|
|
845
|
+
return;
|
|
846
|
+
}
|
|
847
|
+
this.questionCounter = this.questionCounter + 1;
|
|
848
|
+
localStorage.setItem(`ai12z-bot-data`, JSON.stringify({ qCounter: this.questionCounter }));
|
|
849
|
+
const inputValue = eleValue;
|
|
850
|
+
if (this.inputEl) {
|
|
851
|
+
this.inputEl.value = inputValue;
|
|
852
|
+
}
|
|
853
|
+
if (this.messages.length === 0 && this.botSettings.autoResetTimer > 0) {
|
|
854
|
+
this.startTimer();
|
|
855
|
+
}
|
|
856
|
+
if (this.showWelcomeScreen && this.botSettings.botVersion === "v1") {
|
|
857
|
+
this.showWelcomeScreen = false;
|
|
858
|
+
}
|
|
859
|
+
if (this.messages.length === 0) {
|
|
860
|
+
this.socketConnection();
|
|
861
|
+
}
|
|
862
|
+
// if (inputValue.trim()) {
|
|
863
|
+
const now = new Date();
|
|
864
|
+
const timestamp = now.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
|
|
865
|
+
// Add the new message to the chat
|
|
866
|
+
this.messages = [
|
|
867
|
+
...this.messages,
|
|
868
|
+
{
|
|
869
|
+
text: inputValue,
|
|
870
|
+
isUser: true,
|
|
871
|
+
id: `user-${utils.generateUUID()}`,
|
|
872
|
+
timestamp: timestamp,
|
|
873
|
+
images: this.imagesBase64List,
|
|
874
|
+
conversationId: this.conversationId,
|
|
875
|
+
formModel: {},
|
|
876
|
+
surveyDomId: "",
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
text: this.botSettings.maxQuestion > 0 && this.questionCounter > this.botSettings.maxQuestion ? this.botSettings.msgLimit : "",
|
|
880
|
+
isUser: false,
|
|
881
|
+
id: `chatbot-${utils.generateUUID()}`,
|
|
882
|
+
timestamp: "",
|
|
883
|
+
images: [],
|
|
884
|
+
conversationId: this.conversationId,
|
|
885
|
+
formModel: {},
|
|
886
|
+
surveyDomId: "",
|
|
887
|
+
},
|
|
888
|
+
];
|
|
889
|
+
if (this.messages.length === 2) {
|
|
890
|
+
this.visitorID = utils.getOrCreateVisitorId();
|
|
891
|
+
}
|
|
892
|
+
this.checkHistory();
|
|
893
|
+
setTimeout(() => {
|
|
894
|
+
this.scrollToBottom();
|
|
895
|
+
}, 100);
|
|
896
|
+
if (this.botSettings.maxQuestion > 0 && this.questionCounter > this.botSettings.maxQuestion) {
|
|
897
|
+
console.log("Max question limit reached");
|
|
898
|
+
this.inputEl.value = "";
|
|
899
|
+
}
|
|
900
|
+
else {
|
|
901
|
+
this.currentDomId = this.messages[this.messages.length - 1].id;
|
|
902
|
+
if (this.isLiveAgent) {
|
|
903
|
+
this.liveAgentEventHandler.sendMessage({ sessionId: "", message: this.inputEl.value });
|
|
904
|
+
if (this.inputEl.value) {
|
|
905
|
+
this.inputEl.value = "";
|
|
906
|
+
}
|
|
907
|
+
this.query = "";
|
|
908
|
+
}
|
|
909
|
+
else {
|
|
910
|
+
this.checkLiveAgentMode();
|
|
911
|
+
this.invokeSocket();
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
// this.invokeSocket()
|
|
915
|
+
const parent = this.el.shadowRoot.querySelector("#previewContainer");
|
|
916
|
+
if (parent) {
|
|
917
|
+
parent.innerHTML = "";
|
|
918
|
+
}
|
|
919
|
+
this.imagesBase64List = [];
|
|
920
|
+
this.rowCount = 1;
|
|
921
|
+
this.showSubmit = false;
|
|
922
|
+
// }
|
|
923
|
+
};
|
|
924
|
+
this.disableFeedback = (id) => {
|
|
925
|
+
const thumbsUp = this.el.shadowRoot.querySelector(`#thumbsUp_${id}`);
|
|
926
|
+
const thumbsDown = this.el.shadowRoot.querySelector(`#thumbsDown_${id}`);
|
|
927
|
+
thumbsUp.classList.add("not-allowed");
|
|
928
|
+
thumbsUp.setAttribute("disabled", "true");
|
|
929
|
+
thumbsDown.classList.add("not-allowed");
|
|
930
|
+
thumbsDown.setAttribute("disabled", "true");
|
|
931
|
+
};
|
|
932
|
+
this.thumbsUp = (id, insightId) => {
|
|
933
|
+
const thumbsUp = this.el.shadowRoot.querySelector(`#thumbsUp_${id}`);
|
|
934
|
+
thumbsUp.classList.add("thumbs-up");
|
|
935
|
+
thumbsUp.innerHTML = `
|
|
936
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
|
937
|
+
<path d="M7.493 18.5c-.425 0-.82-.236-.975-.632A7.48 7.48 0 0 1 6 15.125c0-1.75.599-3.358 1.602-4.634.151-.192.373-.309.6-.397.473-.183.89-.514 1.212-.924a9.042 9.042 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75A.75.75 0 0 1 15 2a2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H14.23c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23h-.777ZM2.331 10.727a11.969 11.969 0 0 0-.831 4.398 12 12 0 0 0 .52 3.507C2.28 19.482 3.105 20 3.994 20H4.9c.445 0 .72-.498.523-.898a8.963 8.963 0 0 1-.924-3.977c0-1.708.476-3.305 1.302-4.666.245-.403-.028-.959-.5-.959H4.25c-.832 0-1.612.453-1.918 1.227Z" />
|
|
938
|
+
</svg>
|
|
939
|
+
`;
|
|
940
|
+
this.disableFeedback(id);
|
|
941
|
+
utils.sendFeedback(this.dataKey, this.dataMode, insightId, { value: 1 });
|
|
942
|
+
// this.feedback.emit({ insightId: insightId, feedback: { value: 1 } })
|
|
943
|
+
};
|
|
944
|
+
this.thumbsDown = (id, insightId) => {
|
|
945
|
+
const thumbsDown = this.el.shadowRoot.querySelector(`#thumbsDown_${id}`);
|
|
946
|
+
thumbsDown.classList.add("thumbs-down");
|
|
947
|
+
thumbsDown.innerHTML = `
|
|
948
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
|
949
|
+
<path d="M15.73 5.5h1.035A7.465 7.465 0 0 1 18 9.625a7.465 7.465 0 0 1-1.235 4.125h-.148c-.806 0-1.534.446-2.031 1.08a9.04 9.04 0 0 1-2.861 2.4c-.723.384-1.35.956-1.653 1.715a4.499 4.499 0 0 0-.322 1.672v.633A.75.75 0 0 1 9 22a2.25 2.25 0 0 1-2.25-2.25c0-1.152.26-2.243.723-3.218.266-.558-.107-1.282-.725-1.282H3.622c-1.026 0-1.945-.694-2.054-1.715A12.137 12.137 0 0 1 1.5 12.25c0-2.848.992-5.464 2.649-7.521C4.537 4.247 5.136 4 5.754 4H9.77a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23ZM21.669 14.023c.536-1.362.831-2.845.831-4.398 0-1.22-.182-2.398-.52-3.507-.26-.85-1.084-1.368-1.973-1.368H19.1c-.445 0-.72.498-.523.898.591 1.2.924 2.55.924 3.977a8.958 8.958 0 0 1-1.302 4.666c-.245.403.028.959.5.959h1.053c.832 0 1.612-.453 1.918-1.227Z" />
|
|
950
|
+
</svg>
|
|
951
|
+
`;
|
|
952
|
+
this.disableFeedback(id);
|
|
953
|
+
utils.sendFeedback(this.dataKey, this.dataMode, insightId, { value: -1 });
|
|
954
|
+
// this.feedback.emit({ insightId: insightId, feedback: { value: -1 } })
|
|
955
|
+
};
|
|
956
|
+
this.liveAgentButtonText = "Talk to a liveagent";
|
|
957
|
+
this.isLiveAgentEnabled = false;
|
|
958
|
+
this.isTypingIndicatorVisible = false;
|
|
959
|
+
this.dataKey = "";
|
|
960
|
+
this.dataMode = index.Env.DATA_MODE // "local", "dev", or "prod"
|
|
961
|
+
;
|
|
962
|
+
this.configId = undefined;
|
|
963
|
+
this.dataAttributes = {};
|
|
964
|
+
this.excludeTags = [];
|
|
965
|
+
this.includeTags = [];
|
|
966
|
+
this.botSettings = {};
|
|
967
|
+
this.canRender = true;
|
|
968
|
+
this.copied = false;
|
|
969
|
+
this.isPlayed = false;
|
|
970
|
+
this.voiceType = "default";
|
|
971
|
+
this.voice = "en-US";
|
|
972
|
+
this.showSubmit = false;
|
|
973
|
+
this.hideAllButtons = false;
|
|
974
|
+
this.showMenu = false;
|
|
975
|
+
this.isProse = true // Flag to track if prose mode is enabled
|
|
976
|
+
;
|
|
977
|
+
this.isLiveAgent = false;
|
|
978
|
+
this.showWelcomeScreen = true;
|
|
979
|
+
this.showHistory = false;
|
|
980
|
+
this.conversationId = "";
|
|
981
|
+
this.surveyDomId = "";
|
|
982
|
+
this.searchResults = {};
|
|
983
|
+
this.buttons = [];
|
|
984
|
+
this.currentDomId = "";
|
|
985
|
+
this.messages = [];
|
|
986
|
+
this.questionCounter = 0;
|
|
987
|
+
this.isChatOpen = false;
|
|
988
|
+
this.visitorID = undefined;
|
|
989
|
+
this.timestamp = "";
|
|
990
|
+
this.rowCount = 1;
|
|
991
|
+
this.isBot = false;
|
|
992
|
+
this.conversationHistory = [];
|
|
993
|
+
this.query = "";
|
|
994
|
+
this.scriptArray = [];
|
|
995
|
+
this.isAnimated = false;
|
|
996
|
+
this.isMinimized = false;
|
|
997
|
+
this.isOpened = false;
|
|
998
|
+
this.isContent = false;
|
|
999
|
+
this.isExpanded = undefined;
|
|
1000
|
+
this.isToggled = false;
|
|
1001
|
+
this.showTextarea = false // Changing this will trigger a re-render
|
|
1002
|
+
;
|
|
1003
|
+
this.showPrivacy = false // Changing this will trigger a re-render
|
|
1004
|
+
;
|
|
1005
|
+
this.isRendered = false // Flag to track if the component has been rendered
|
|
1006
|
+
;
|
|
1007
|
+
}
|
|
1008
|
+
buttonClickHandler(event) {
|
|
1009
|
+
this.showWelcomeScreen = false;
|
|
1010
|
+
// this.hideInput = false
|
|
1011
|
+
this.query = event.detail.action;
|
|
1012
|
+
this.handleSend(event.detail.label);
|
|
1013
|
+
}
|
|
1014
|
+
sendQueryToBotHandler(event) {
|
|
1015
|
+
this.showWelcomeScreen = false;
|
|
1016
|
+
// this.hideInput = false
|
|
1017
|
+
this.query = event.detail;
|
|
1018
|
+
this.handleSend(event.detail);
|
|
1019
|
+
}
|
|
1020
|
+
deleteChatHistoryHandler(event) {
|
|
1021
|
+
const chatHistory = this.getConversationHistory();
|
|
1022
|
+
const updatedHistory = chatHistory.filter(item => item.conversationId !== event.detail.conversationId);
|
|
1023
|
+
localStorage.setItem(`${this.visitorID}`, JSON.stringify(updatedHistory));
|
|
1024
|
+
this.conversationHistory = updatedHistory;
|
|
1025
|
+
}
|
|
1026
|
+
chatClickHandler(event) {
|
|
1027
|
+
this.messages = event.detail;
|
|
1028
|
+
this.showWelcomeScreen = false;
|
|
1029
|
+
// this.hideInput = false
|
|
1030
|
+
this.showHistory = false;
|
|
1031
|
+
}
|
|
1032
|
+
openChatHandler(_event) {
|
|
1033
|
+
this.isChatOpen = true;
|
|
1034
|
+
}
|
|
1035
|
+
formSubmittedHandler(event) {
|
|
1036
|
+
event.stopPropagation();
|
|
1037
|
+
this.formSubmitted.emit(event.detail.data);
|
|
1038
|
+
}
|
|
1039
|
+
handleClickOutside(event) {
|
|
1040
|
+
// Check if the clicked target is outside the menu
|
|
1041
|
+
const target = event.target;
|
|
1042
|
+
if (this.isToggled && this.menuV2Ref && !this.menuV2Ref.contains(target)) {
|
|
1043
|
+
// console.log("Clicked outside the menu, closing...")
|
|
1044
|
+
this.isToggled = false;
|
|
1045
|
+
}
|
|
1046
|
+
if (this.showMenu && this.plusIconRef && !this.plusIconRef.contains(target)) {
|
|
1047
|
+
this.showMenu = false;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
loadRecaptchaV3(siteKey) {
|
|
1051
|
+
return new Promise((resolve, reject) => {
|
|
1052
|
+
if (!document.querySelector("#recaptcha-script")) {
|
|
1053
|
+
const script = document.createElement("script");
|
|
1054
|
+
script.src = `https://www.google.com/recaptcha/api.js?render=${siteKey}`;
|
|
1055
|
+
script.id = "recaptcha-script";
|
|
1056
|
+
script.async = true;
|
|
1057
|
+
script.onload = () => {
|
|
1058
|
+
resolve();
|
|
1059
|
+
};
|
|
1060
|
+
script.onerror = err => {
|
|
1061
|
+
console.error("Failed to load reCAPTCHA script", err);
|
|
1062
|
+
reject(new Error("Failed to load reCAPTCHA script. Invalid siteKey or network error."));
|
|
1063
|
+
};
|
|
1064
|
+
document.head.appendChild(script);
|
|
1065
|
+
}
|
|
1066
|
+
else {
|
|
1067
|
+
resolve();
|
|
1068
|
+
}
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
componentDidLoad() {
|
|
1072
|
+
globalStore.setBotElement(this.el); // register globally
|
|
1073
|
+
if (typeof window !== "undefined" && !window.Handlebars) {
|
|
1074
|
+
window.Handlebars = index$1.Handlebars;
|
|
1075
|
+
}
|
|
1076
|
+
// console.log("Bot Settings getAssetPath")
|
|
1077
|
+
// this.updateScreenSize()
|
|
1078
|
+
window.addEventListener("resize", this.updateScreenSize.bind(this));
|
|
1079
|
+
// debugger;
|
|
1080
|
+
document.addEventListener("click", this.handleClickOutside.bind(this));
|
|
1081
|
+
const ai12zHeading = document.createElement("script");
|
|
1082
|
+
ai12zHeading.text = `
|
|
1083
|
+
var ai12zChat = window["ai12z"] = {}
|
|
1084
|
+
`;
|
|
1085
|
+
document.head.appendChild(ai12zHeading);
|
|
1086
|
+
this.el.shadowRoot.appendChild(ai12zHeading);
|
|
1087
|
+
// this.loadStyles()
|
|
1088
|
+
this.loadScriptsSequentially();
|
|
1089
|
+
}
|
|
1090
|
+
async loadScriptsSequentially() {
|
|
1091
|
+
try {
|
|
1092
|
+
// 2. Load Survey Core
|
|
1093
|
+
await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.core.min.js`);
|
|
1094
|
+
// 3. Load Survey i18n
|
|
1095
|
+
await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/survey.i18n.min.js`);
|
|
1096
|
+
// 4. Load Survey themes
|
|
1097
|
+
await this.loadScript(`${this.surveyCDNPath}/survey-core@2.3.4/themes/index.min.js`);
|
|
1098
|
+
// 6. Load Survey UI
|
|
1099
|
+
await this.loadScript(`${this.surveyCDNPath}/survey-js-ui@2.3.4/survey-js-ui.min.js`);
|
|
1100
|
+
console.log("All Survey.js scripts loaded successfully");
|
|
1101
|
+
this.loadStyles();
|
|
1102
|
+
}
|
|
1103
|
+
catch (error) {
|
|
1104
|
+
console.error("Failed to load Survey.js scripts:", error);
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
loadScript(src) {
|
|
1108
|
+
return new Promise((resolve, reject) => {
|
|
1109
|
+
if (document.querySelector(`script[src="${src}"]`)) {
|
|
1110
|
+
resolve();
|
|
1111
|
+
return;
|
|
1112
|
+
}
|
|
1113
|
+
const script = document.createElement("script");
|
|
1114
|
+
script.src = src;
|
|
1115
|
+
script.async = false;
|
|
1116
|
+
script.onload = () => resolve();
|
|
1117
|
+
script.onerror = () => reject(new Error(`Failed to load script: ${src}`));
|
|
1118
|
+
// Load in document head for global access
|
|
1119
|
+
// document.head.appendChild(script)
|
|
1120
|
+
this.el.shadowRoot.appendChild(script);
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
loadStyles() {
|
|
1124
|
+
for (const style of this.styles) {
|
|
1125
|
+
const loadStyle = document.createElement("link");
|
|
1126
|
+
loadStyle.rel = "stylesheet";
|
|
1127
|
+
loadStyle.href = style;
|
|
1128
|
+
loadStyle.onerror = err => {
|
|
1129
|
+
console.error("Failed to load style:", err);
|
|
1130
|
+
};
|
|
1131
|
+
this.el.shadowRoot.appendChild(loadStyle);
|
|
1132
|
+
}
|
|
1133
|
+
}
|
|
1134
|
+
disconnectedCallback() {
|
|
1135
|
+
// Remove event listener when component is destroyed
|
|
1136
|
+
document.removeEventListener("click", this.handleClickOutside.bind(this));
|
|
1137
|
+
window.removeEventListener("resize", this.updateScreenSize);
|
|
1138
|
+
// clearInterval(this.timer)
|
|
1139
|
+
}
|
|
1140
|
+
async sendMessage(message, displayText) {
|
|
1141
|
+
this.query = message;
|
|
1142
|
+
if (!this.isChatOpen) {
|
|
1143
|
+
this.isChatOpen = true;
|
|
1144
|
+
}
|
|
1145
|
+
this.handleSend(displayText !== null && displayText !== void 0 ? displayText : message);
|
|
1146
|
+
}
|
|
1147
|
+
async sendQuery(query) {
|
|
1148
|
+
console.warn("sendQuery mehtdod is deprecated, use sendMessage instead");
|
|
1149
|
+
this.handleSend(query);
|
|
1150
|
+
}
|
|
1151
|
+
async sendJSON(jsonData, displayText) {
|
|
1152
|
+
this.query = JSON.stringify(jsonData);
|
|
1153
|
+
if (!this.isChatOpen) {
|
|
1154
|
+
this.isChatOpen = true;
|
|
1155
|
+
}
|
|
1156
|
+
this.handleSend(displayText);
|
|
1157
|
+
}
|
|
1158
|
+
setLocalData() {
|
|
1159
|
+
const botData = { qCounter: this.questionCounter };
|
|
1160
|
+
localStorage.setItem(`ai12z-bot-data`, JSON.stringify(botData));
|
|
1161
|
+
}
|
|
1162
|
+
async openBot(expanded = false) {
|
|
1163
|
+
this.openChat(expanded);
|
|
1164
|
+
}
|
|
1165
|
+
async action(type, options) {
|
|
1166
|
+
var _a;
|
|
1167
|
+
// this.isChatOpen = !this.isChatOpen
|
|
1168
|
+
if (type === "open") {
|
|
1169
|
+
this.openChat((_a = options === null || options === void 0 ? void 0 : options.expanded) !== null && _a !== void 0 ? _a : false);
|
|
1170
|
+
}
|
|
1171
|
+
if (type === "minimize" && this.isOpened) {
|
|
1172
|
+
this.minimizeChat();
|
|
1173
|
+
}
|
|
1174
|
+
const getVisitorKey = localStorage.getItem(`ai12z-visitorId`);
|
|
1175
|
+
this.visitorID = "ai12z-" + getVisitorKey;
|
|
1176
|
+
this.checkHistory();
|
|
1177
|
+
if (type === "close") {
|
|
1178
|
+
this.isChatOpen = false;
|
|
1179
|
+
this.searchResults = {};
|
|
1180
|
+
this.surveyDomId = "";
|
|
1181
|
+
this.showWelcomeScreen = true;
|
|
1182
|
+
this.showHistory = this.messages.length > 0 ? true : false;
|
|
1183
|
+
// this.saveConversation()
|
|
1184
|
+
this.messages = [...[]];
|
|
1185
|
+
this.conversationId = "";
|
|
1186
|
+
this.close.emit("close");
|
|
1187
|
+
clearInterval(this.timer);
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
async processDataOverride(data) {
|
|
1191
|
+
// Check if a custom override function has been set
|
|
1192
|
+
if (this.dataOverrideFunction && typeof this.dataOverrideFunction === "function") {
|
|
1193
|
+
try {
|
|
1194
|
+
return await this.dataOverrideFunction(data);
|
|
1195
|
+
}
|
|
1196
|
+
catch (error) {
|
|
1197
|
+
console.error("Error in custom processDataOverride:", error);
|
|
1198
|
+
throw error;
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
// Default implementation - return the data as-is
|
|
1202
|
+
return data;
|
|
1203
|
+
}
|
|
1204
|
+
// Method to set the override function
|
|
1205
|
+
async setProcessDataOverride(overrideFunction) {
|
|
1206
|
+
this.dataOverrideFunction = overrideFunction;
|
|
1207
|
+
}
|
|
1208
|
+
openChat(expanded = false) {
|
|
1209
|
+
// console.log("expanded ??")
|
|
1210
|
+
this.isOpened = true;
|
|
1211
|
+
this.isExpanded = expanded;
|
|
1212
|
+
this.isMinimized = false;
|
|
1213
|
+
this.isContent = false;
|
|
1214
|
+
this.open.emit("open");
|
|
1215
|
+
this.toggleTextarea();
|
|
1216
|
+
}
|
|
1217
|
+
async executeRecaptcha(configId, siteKey) {
|
|
1218
|
+
try {
|
|
1219
|
+
await this.loadRecaptchaV3(siteKey);
|
|
1220
|
+
await new Promise((resolve, reject) => {
|
|
1221
|
+
if (window.grecaptcha && typeof window.grecaptcha.ready === "function") {
|
|
1222
|
+
window.grecaptcha.ready(() => resolve());
|
|
1223
|
+
}
|
|
1224
|
+
else {
|
|
1225
|
+
reject(new Error("grecaptcha not available or ready() not a function"));
|
|
1226
|
+
}
|
|
1227
|
+
});
|
|
1228
|
+
if (!window.grecaptcha || typeof window.grecaptcha.execute !== "function") {
|
|
1229
|
+
throw new Error("grecaptcha.execute is not available. Possibly due to invalid site key.");
|
|
1230
|
+
}
|
|
1231
|
+
const token = await window.grecaptcha.execute(siteKey, { action: "open_chat" });
|
|
1232
|
+
if (!token) {
|
|
1233
|
+
throw new Error("reCAPTCHA token is empty. Possibly invalid site key.");
|
|
1234
|
+
}
|
|
1235
|
+
const result = await this.verifyRecaptchaToken(token, configId);
|
|
1236
|
+
return result;
|
|
1237
|
+
}
|
|
1238
|
+
catch (err) {
|
|
1239
|
+
console.error("executeRecaptcha error:", err);
|
|
1240
|
+
throw err;
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
async verifyRecaptchaToken(captchaToken, configId) {
|
|
1244
|
+
try {
|
|
1245
|
+
const payload = {
|
|
1246
|
+
apiKey: this.dataKey,
|
|
1247
|
+
configId,
|
|
1248
|
+
configType: "bot",
|
|
1249
|
+
token: captchaToken,
|
|
1250
|
+
};
|
|
1251
|
+
const data = await utils.verifyRecaptcha(payload, this.dataMode);
|
|
1252
|
+
if (data) {
|
|
1253
|
+
console.log("reCAPTCHA verified successfully by backend!");
|
|
1254
|
+
return data; // Return the data
|
|
1255
|
+
}
|
|
1256
|
+
else {
|
|
1257
|
+
console.warn("Bot activity suspected. Verification failed.", data["error-codes"]);
|
|
1258
|
+
this.errored.emit({ message: "Bot verification failed", codes: data["error-codes"] });
|
|
1259
|
+
throw new Error("Bot verification failed: reCAPTCHA was unsuccessful");
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
catch (err) {
|
|
1263
|
+
console.error("Failed to contact backend for reCAPTCHA verification:", err);
|
|
1264
|
+
this.errored.emit({ message: "reCAPTCHA backend error", error: err });
|
|
1265
|
+
throw err;
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
minimizeChat() {
|
|
1269
|
+
this.isOpened = false;
|
|
1270
|
+
// this.isContent = false
|
|
1271
|
+
this.isContent = this.isExpanded ? true : false;
|
|
1272
|
+
this.isMinimized = this.isExpanded ? false : true;
|
|
1273
|
+
this.isAnimated = false;
|
|
1274
|
+
this.updateScreenSize();
|
|
1275
|
+
this.minimize.emit("minimize");
|
|
1276
|
+
}
|
|
1277
|
+
get mainObject() {
|
|
1278
|
+
if (!window["ai12z"]) {
|
|
1279
|
+
window["ai12z"] = {};
|
|
1280
|
+
}
|
|
1281
|
+
return window["ai12z"];
|
|
1282
|
+
}
|
|
1283
|
+
adjustHeight() {
|
|
1284
|
+
if (this.inputEl) {
|
|
1285
|
+
this.inputEl.style.height = "auto";
|
|
1286
|
+
this.inputEl.style.height = this.inputEl.scrollHeight + "px";
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
connectedCallback() {
|
|
1290
|
+
//this.parseMyObjectProp(this.myObject);
|
|
1291
|
+
utils.checkStatus(this.dataKey, this.dataMode).then(enable => {
|
|
1292
|
+
this.canRender = enable;
|
|
1293
|
+
// if (!enable) {
|
|
1294
|
+
// console.log("ai12z canRender", this.canRender)
|
|
1295
|
+
// }
|
|
1296
|
+
});
|
|
1297
|
+
this.configBot();
|
|
1298
|
+
}
|
|
1299
|
+
componentWillLoad() {
|
|
1300
|
+
this.checkCustomSlot();
|
|
1301
|
+
this.timestamp = this.formatTimestamp(new Date());
|
|
1302
|
+
this.updateScreenSize();
|
|
1303
|
+
// this.socketConnection()
|
|
1304
|
+
// this.configBot()
|
|
1305
|
+
}
|
|
1306
|
+
configBot() {
|
|
1307
|
+
const payload = {
|
|
1308
|
+
apiKey: this.dataKey,
|
|
1309
|
+
configId: this.configId,
|
|
1310
|
+
configType: "bot",
|
|
1311
|
+
};
|
|
1312
|
+
utils.getConfig(payload, this.dataMode).then(data => {
|
|
1313
|
+
var _a, _b, _c;
|
|
1314
|
+
if (data) {
|
|
1315
|
+
// console.log("bot settings", data)
|
|
1316
|
+
this.botSettings = data;
|
|
1317
|
+
if (!this.botSettings.botVersion) {
|
|
1318
|
+
this.botSettings.botVersion = "v1"; // Default to v1 if not specified
|
|
1319
|
+
}
|
|
1320
|
+
if (this.botSettings.botVersion === "v2" && !this.botSettings.isExpanded && !this.isBot) {
|
|
1321
|
+
// this.botSettings.imageUpload = true
|
|
1322
|
+
this.isMinimized = true;
|
|
1323
|
+
}
|
|
1324
|
+
if (this.botSettings.theme) {
|
|
1325
|
+
let themeLink = "";
|
|
1326
|
+
if (this.botSettings.theme !== "custom") {
|
|
1327
|
+
themeLink = `${this.cdnPath}/v2/themes/theme-${this.botSettings.theme}.css`;
|
|
1328
|
+
}
|
|
1329
|
+
else {
|
|
1330
|
+
themeLink = this.botSettings.customTheme;
|
|
1331
|
+
}
|
|
1332
|
+
const linkEl = document.createElement("link");
|
|
1333
|
+
linkEl.setAttribute("rel", "stylesheet");
|
|
1334
|
+
linkEl.setAttribute("href", themeLink);
|
|
1335
|
+
document.head.appendChild(linkEl);
|
|
1336
|
+
}
|
|
1337
|
+
else {
|
|
1338
|
+
const linkEl = document.createElement("link");
|
|
1339
|
+
linkEl.setAttribute("rel", "stylesheet");
|
|
1340
|
+
linkEl.setAttribute("href", `${this.cdnPath}/v2/themes/theme-default.css`);
|
|
1341
|
+
document.head.appendChild(linkEl);
|
|
1342
|
+
}
|
|
1343
|
+
if (this.botSettings.welcome) {
|
|
1344
|
+
if (this.botSettings.welcome.styles) {
|
|
1345
|
+
this.insertStyles(this.botSettings.welcome.styles);
|
|
1346
|
+
}
|
|
1347
|
+
if (this.botSettings.welcome.scripts) {
|
|
1348
|
+
const scriptEl = document.createElement("script");
|
|
1349
|
+
scriptEl.setAttribute("type", "text/javascript");
|
|
1350
|
+
scriptEl.setAttribute("src", this.botSettings.welcome.scripts);
|
|
1351
|
+
(_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(scriptEl);
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
1354
|
+
// console.log("isbot", this.isBot)
|
|
1355
|
+
if (this.botSettings.isExpanded && !this.isBot) {
|
|
1356
|
+
this.isExpanded = true;
|
|
1357
|
+
this.isMinimized = false;
|
|
1358
|
+
if ((_b = data === null || data === void 0 ? void 0 : data.v3) === null || _b === void 0 ? void 0 : _b.siteKey) {
|
|
1359
|
+
this.executeRecaptcha(data._id, data.v3.siteKey)
|
|
1360
|
+
.then(response => {
|
|
1361
|
+
if (response) {
|
|
1362
|
+
this.isRendered = true;
|
|
1363
|
+
}
|
|
1364
|
+
})
|
|
1365
|
+
.catch(err => {
|
|
1366
|
+
console.error("Recaptcha verification failed:", err);
|
|
1367
|
+
this.isRendered = false;
|
|
1368
|
+
});
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
else {
|
|
1372
|
+
this.isMinimized = true;
|
|
1373
|
+
}
|
|
1374
|
+
if (!this.botSettings.linkTarget) {
|
|
1375
|
+
this.botSettings.linkTarget = "_blank";
|
|
1376
|
+
}
|
|
1377
|
+
if (this.botSettings.botVersion === "v2") {
|
|
1378
|
+
const getVisitorKey = localStorage.getItem(`ai12z-visitorId`);
|
|
1379
|
+
this.visitorID = "ai12z-" + getVisitorKey;
|
|
1380
|
+
this.toggleTextarea();
|
|
1381
|
+
}
|
|
1382
|
+
if (this.botSettings.privacyTemplate && this.botSettings.privacyTemplate !== "") {
|
|
1383
|
+
this.showPrivacy = true;
|
|
1384
|
+
}
|
|
1385
|
+
if (this.botSettings.customCSS) {
|
|
1386
|
+
this.customStyle = this.botSettings.customCSS;
|
|
1387
|
+
this.insertStyles(this.botSettings.customCSS);
|
|
1388
|
+
}
|
|
1389
|
+
if (this.botSettings.customJS) {
|
|
1390
|
+
this.customJS = this.botSettings.customJS;
|
|
1391
|
+
const scriptEl = document.createElement("script");
|
|
1392
|
+
scriptEl.setAttribute("type", "text/javascript");
|
|
1393
|
+
scriptEl.setAttribute("src", this.botSettings.customJS);
|
|
1394
|
+
(_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.appendChild(scriptEl);
|
|
1395
|
+
}
|
|
1396
|
+
if (this.botSettings.audioType) {
|
|
1397
|
+
this.voiceType = this.botSettings.audioType;
|
|
1398
|
+
this.voice = this.botSettings.voice;
|
|
1399
|
+
}
|
|
1400
|
+
this.isRendered = true; // Set the flag to true after rendering
|
|
1401
|
+
}
|
|
1402
|
+
});
|
|
1403
|
+
}
|
|
1404
|
+
insertStyles(linkURL) {
|
|
1405
|
+
const linkEl = document.createElement("link");
|
|
1406
|
+
linkEl.setAttribute("rel", "stylesheet");
|
|
1407
|
+
linkEl.setAttribute("href", linkURL);
|
|
1408
|
+
const shadowRoot = this.el.shadowRoot;
|
|
1409
|
+
if (shadowRoot) {
|
|
1410
|
+
shadowRoot.appendChild(linkEl);
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
checkCustomSlot() {
|
|
1414
|
+
const slot = this.el["children"];
|
|
1415
|
+
let slotHasContent = slot && slot.length > 0;
|
|
1416
|
+
// console.log("slotcontent", slotHasContent)
|
|
1417
|
+
if (slotHasContent) {
|
|
1418
|
+
for (var i = 0; i < slot.length; i++) {
|
|
1419
|
+
// console.log(slot[i])
|
|
1420
|
+
if (slot[i].tagName.toLowerCase() === "bot" || slot[i].getAttribute("slot") === "bot") {
|
|
1421
|
+
this.isBot = true;
|
|
1422
|
+
this.isExpanded = false;
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1427
|
+
watchStateHandler(_newValue, _oldValue) {
|
|
1428
|
+
this.socket.off("response");
|
|
1429
|
+
this.socket.off("end_response");
|
|
1430
|
+
// console.log("currentDomId changed")
|
|
1431
|
+
// console.log("questionCounter", this.botSettings.maxQuestion)
|
|
1432
|
+
if (this.botSettings.maxQuestion === undefined || this.botSettings.maxQuestion === 0) {
|
|
1433
|
+
this.botSettings.maxQuestion = 0;
|
|
1434
|
+
this.handleBotMessages();
|
|
1435
|
+
}
|
|
1436
|
+
else if (this.questionCounter <= this.botSettings.maxQuestion) {
|
|
1437
|
+
this.handleBotMessages();
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
generateMessage() {
|
|
1441
|
+
return {
|
|
1442
|
+
text: "",
|
|
1443
|
+
isUser: false,
|
|
1444
|
+
id: `chatbot-${utils.generateUUID()}`,
|
|
1445
|
+
timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }),
|
|
1446
|
+
images: [],
|
|
1447
|
+
conversationId: this.conversationId,
|
|
1448
|
+
formModel: {},
|
|
1449
|
+
surveyDomId: "",
|
|
1450
|
+
};
|
|
1451
|
+
}
|
|
1452
|
+
hideSpinner(chatData) {
|
|
1453
|
+
// Logic for hiding the spinner (assumed to return a Promise if async is needed)
|
|
1454
|
+
return new Promise(resolve => {
|
|
1455
|
+
const renderedBubble = this.el.shadowRoot.querySelector(`#${chatData.id}`);
|
|
1456
|
+
if (renderedBubble) {
|
|
1457
|
+
renderedBubble.querySelector("#spinner").style.display = "none";
|
|
1458
|
+
}
|
|
1459
|
+
// Assume some async action here, then resolve
|
|
1460
|
+
// console.log("Spinner hidden")
|
|
1461
|
+
resolve(true);
|
|
1462
|
+
});
|
|
1463
|
+
}
|
|
1464
|
+
async processTemplateData(chatData, data) {
|
|
1465
|
+
var _a, _b, _c;
|
|
1466
|
+
// Step 1: Hide the spinner
|
|
1467
|
+
await this.hideSpinner(chatData);
|
|
1468
|
+
let handletemplate;
|
|
1469
|
+
let currentResponse;
|
|
1470
|
+
if (data.controlType === "template") {
|
|
1471
|
+
const currentTemplate = (_a = data.controlData) === null || _a === void 0 ? void 0 : _a.template;
|
|
1472
|
+
currentResponse = (_b = data.controlData) === null || _b === void 0 ? void 0 : _b.data.source;
|
|
1473
|
+
handletemplate = index$1.Handlebars.compile((_c = currentTemplate[0]) === null || _c === void 0 ? void 0 : _c.content);
|
|
1474
|
+
}
|
|
1475
|
+
// Step 3: Append the control element if both it and the target container exist
|
|
1476
|
+
const targetContainer = this.el.shadowRoot.querySelector(`#${chatData.id}`);
|
|
1477
|
+
if (targetContainer) {
|
|
1478
|
+
index$1.Handlebars.registerHelper("processArray", function (array) {
|
|
1479
|
+
if (!Array.isArray(array)) {
|
|
1480
|
+
return ""; // Return an empty string if the input is not an array
|
|
1481
|
+
}
|
|
1482
|
+
return new index$1.Handlebars.SafeString(JSON.stringify(array));
|
|
1483
|
+
});
|
|
1484
|
+
// console.log("data", data.controlData)
|
|
1485
|
+
if (data.controlData && data.controlData.data) {
|
|
1486
|
+
data.controlData.data.msgId = chatData.id; //`msg-${chatData.id}`
|
|
1487
|
+
}
|
|
1488
|
+
targetContainer.innerHTML = handletemplate({ msgId: `${chatData.id}`, source: currentResponse, llm: data.controlData.data.llm, isBot: true });
|
|
1489
|
+
targetContainer.classList.add("overflow-x-auto");
|
|
1490
|
+
targetContainer.classList.add("scroll-nobar");
|
|
1491
|
+
setTimeout(() => {
|
|
1492
|
+
this.renderTemplateData(chatData);
|
|
1493
|
+
}, 1000);
|
|
1494
|
+
// Step 4: Wait until the control element is rendered
|
|
1495
|
+
await this.waitForElementRender(targetContainer);
|
|
1496
|
+
// Step 5: Retrieve the content and emit the updated data
|
|
1497
|
+
chatData.text = targetContainer.innerHTML;
|
|
1498
|
+
this.messages = this.messages.map(item => (item.id === chatData.id ? chatData : item));
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
renderTemplateData(chatData) {
|
|
1502
|
+
// console.log(`#${chatData.id}`)
|
|
1503
|
+
if (!this.mainObject[`${chatData.id}`]) {
|
|
1504
|
+
this.mainObject[`${chatData.id}`] = {};
|
|
1505
|
+
}
|
|
1506
|
+
const scripts = this.el.shadowRoot.querySelectorAll(`#${chatData.id} script`);
|
|
1507
|
+
scripts.forEach(script => {
|
|
1508
|
+
var _a;
|
|
1509
|
+
const newScript = document.createElement("script");
|
|
1510
|
+
newScript.type = "text/javascript";
|
|
1511
|
+
// If it's an external script (with `src`), copy the `src` attribute
|
|
1512
|
+
if (script.src) {
|
|
1513
|
+
newScript.src = script.src;
|
|
1514
|
+
}
|
|
1515
|
+
else {
|
|
1516
|
+
// If it's inline, set the JavaScript code as the content of the new <script> element
|
|
1517
|
+
// newScript.innerHTML = `const source = ${JSON.stringify(chatData.data.source)};\n`
|
|
1518
|
+
// newScript.innerHTML += `const llm = ${JSON.stringify(chatData.data.llm)};\n`
|
|
1519
|
+
newScript.innerHTML += script.innerHTML;
|
|
1520
|
+
}
|
|
1521
|
+
// Append the new script to the document body to execute it
|
|
1522
|
+
if (!newScript.src) {
|
|
1523
|
+
this.scriptArray.push(newScript);
|
|
1524
|
+
}
|
|
1525
|
+
(_a = script.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(script);
|
|
1526
|
+
// Optionally, remove the old <script> tag from the DOM
|
|
1527
|
+
if (newScript.src && !this.el.shadowRoot.querySelector(`script[src="${newScript.src}"]`)) {
|
|
1528
|
+
this.el.shadowRoot.appendChild(newScript);
|
|
1529
|
+
}
|
|
1530
|
+
else {
|
|
1531
|
+
const scriptDom = this.el.shadowRoot.querySelector(`script[type="text/javascript"]`);
|
|
1532
|
+
// console.log("scriptDom", scriptDom)
|
|
1533
|
+
// console.log("newScript", newScript)
|
|
1534
|
+
if (scriptDom && !newScript.src) {
|
|
1535
|
+
// console.log("scriptDom", this.scriptArray)
|
|
1536
|
+
if (this.scriptArray.length > 0) {
|
|
1537
|
+
this.scriptArray.forEach(script => {
|
|
1538
|
+
if (!script.src && script.innerHTML !== newScript.innerHTML) {
|
|
1539
|
+
this.el.shadowRoot.appendChild(newScript);
|
|
1540
|
+
}
|
|
1541
|
+
});
|
|
1542
|
+
}
|
|
1543
|
+
else {
|
|
1544
|
+
// console.log("ele", this.el.shadowRoot)
|
|
1545
|
+
this.el.shadowRoot.appendChild(newScript);
|
|
1546
|
+
}
|
|
1547
|
+
// this.el.shadowRoot.appendChild(newScript)
|
|
1548
|
+
}
|
|
1549
|
+
else {
|
|
1550
|
+
// console.log("scriptDom not found")
|
|
1551
|
+
this.el.shadowRoot.appendChild(newScript);
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
});
|
|
1555
|
+
// Step 4: Ensure Google Charts is loaded, then call the `drawGoogleChart` function
|
|
1556
|
+
setTimeout(() => {
|
|
1557
|
+
this.initializeScript(chatData.id);
|
|
1558
|
+
}, 1000);
|
|
1559
|
+
}
|
|
1560
|
+
initializeScript(id) {
|
|
1561
|
+
if (typeof this.mainObject[`${id}`]["onLoadCallback"] === "function") {
|
|
1562
|
+
this.mainObject[`${id}`]["onLoadCallback"]();
|
|
1563
|
+
}
|
|
1564
|
+
// window["google"]?.charts.load("current", { packages: ["corechart"] })
|
|
1565
|
+
// window["google"]?.charts.setOnLoadCallback()
|
|
1566
|
+
}
|
|
1567
|
+
async processChatData(chatData, data) {
|
|
1568
|
+
var _a, _b, _c, _d, _f, _g;
|
|
1569
|
+
// Step 1: Hide the spinner
|
|
1570
|
+
await this.hideSpinner(chatData);
|
|
1571
|
+
if ((_b = (_a = data.controlData) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.source) {
|
|
1572
|
+
data.controlData.data.source.customCss = this.customStyle || "";
|
|
1573
|
+
data.controlData.data.source.customJs = this.customJS || "";
|
|
1574
|
+
}
|
|
1575
|
+
data.isExpanded = this.isExpanded;
|
|
1576
|
+
// Step 2: Get the control element based on control type
|
|
1577
|
+
const controlElement = utils.getComponentByControlType(data, "bot");
|
|
1578
|
+
const tmpControlType = (_g = (_f = (_d = (_c = data.controlData) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.source) === null || _f === void 0 ? void 0 : _f.carousel) === null || _g === void 0 ? void 0 : _g.type;
|
|
1579
|
+
// Step 3: Append the control element if both it and the target container exist
|
|
1580
|
+
const targetContainer = this.el.shadowRoot.querySelector(`#${chatData.id}`);
|
|
1581
|
+
if (targetContainer && controlElement) {
|
|
1582
|
+
targetContainer.appendChild(controlElement);
|
|
1583
|
+
targetContainer["style"].width = "98%";
|
|
1584
|
+
if (tmpControlType === "custom" || tmpControlType === "list" || tmpControlType === "slider") {
|
|
1585
|
+
targetContainer.classList.remove("p-2.5");
|
|
1586
|
+
targetContainer.classList.add("p-0");
|
|
1587
|
+
targetContainer.classList.add("md:p-2.5");
|
|
1588
|
+
}
|
|
1589
|
+
// Step 4: Wait until the control element is rendered
|
|
1590
|
+
await this.waitForComponentFullyLoaded(controlElement);
|
|
1591
|
+
// console.log("targetContainer", targetContainer)
|
|
1592
|
+
// Step 5: Retrieve the content and emit the updated data
|
|
1593
|
+
chatData.text = targetContainer.innerHTML;
|
|
1594
|
+
this.messages = this.messages.map(item => (item.id === chatData.id ? chatData : item));
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
waitForComponentFullyLoaded(element) {
|
|
1598
|
+
return new Promise((resolve) => {
|
|
1599
|
+
// Check if component emits ready event
|
|
1600
|
+
const handleReady = () => {
|
|
1601
|
+
element.removeEventListener('componentReady', handleReady);
|
|
1602
|
+
resolve();
|
|
1603
|
+
};
|
|
1604
|
+
element.addEventListener('componentReady', handleReady);
|
|
1605
|
+
// Fallback check for data attribute
|
|
1606
|
+
const checkAttribute = () => {
|
|
1607
|
+
// console.log("getattr",element.getAttribute('data-component-ready'))
|
|
1608
|
+
if (element.getAttribute('data-component-ready') === 'true') {
|
|
1609
|
+
element.removeEventListener('componentReady', handleReady);
|
|
1610
|
+
resolve();
|
|
1611
|
+
return;
|
|
1612
|
+
}
|
|
1613
|
+
setTimeout(checkAttribute, 100);
|
|
1614
|
+
};
|
|
1615
|
+
// Start both checks
|
|
1616
|
+
setTimeout(checkAttribute, 100);
|
|
1617
|
+
// Ultimate fallback
|
|
1618
|
+
setTimeout(() => {
|
|
1619
|
+
element.removeEventListener('componentReady', handleReady);
|
|
1620
|
+
resolve();
|
|
1621
|
+
}, 15000);
|
|
1622
|
+
});
|
|
1623
|
+
}
|
|
1624
|
+
// Helper function to detect when the target element is rendered
|
|
1625
|
+
waitForElementRender(element, timeout = 2000) {
|
|
1626
|
+
return new Promise((resolve, _reject) => {
|
|
1627
|
+
const checkReady = () => {
|
|
1628
|
+
// Customize your readiness check as needed
|
|
1629
|
+
if (element && element.childNodes.length > 0) {
|
|
1630
|
+
resolve();
|
|
1631
|
+
return true;
|
|
1632
|
+
}
|
|
1633
|
+
return false;
|
|
1634
|
+
};
|
|
1635
|
+
if (checkReady())
|
|
1636
|
+
return;
|
|
1637
|
+
const observer = new MutationObserver(() => {
|
|
1638
|
+
if (checkReady()) {
|
|
1639
|
+
observer.disconnect();
|
|
1640
|
+
}
|
|
1641
|
+
});
|
|
1642
|
+
observer.observe(element, {
|
|
1643
|
+
childList: true,
|
|
1644
|
+
subtree: true,
|
|
1645
|
+
});
|
|
1646
|
+
// Fallback timeout to avoid infinite wait
|
|
1647
|
+
setTimeout(() => {
|
|
1648
|
+
observer.disconnect();
|
|
1649
|
+
resolve(); // or reject('Timeout') if you want to enforce it
|
|
1650
|
+
}, timeout);
|
|
1651
|
+
});
|
|
1652
|
+
// const observer = new MutationObserver(_mutations => {
|
|
1653
|
+
// resolve()
|
|
1654
|
+
// observer.disconnect()
|
|
1655
|
+
// })
|
|
1656
|
+
// observer.observe(element, { childList: true, subtree: true })
|
|
1657
|
+
// })
|
|
1658
|
+
}
|
|
1659
|
+
handleBotMessages() {
|
|
1660
|
+
// const domId = this.messages[this.messages.length - 1].id
|
|
1661
|
+
this.socket.on("response", event => {
|
|
1662
|
+
this.handleMessage(event.data, `${this.currentDomId}`); // Use the unique ID to handle messages
|
|
1663
|
+
});
|
|
1664
|
+
this.socket.on("end_response", data => {
|
|
1665
|
+
// console.log("end_response")
|
|
1666
|
+
this.messageReceived.emit(data);
|
|
1667
|
+
const converter = new showdown.showdown.Converter();
|
|
1668
|
+
let finalHtml = converter.makeHtml(data.answer);
|
|
1669
|
+
// document.getElementById("messageId").innerHTML = finalHtml;
|
|
1670
|
+
finalHtml = this.updateAnchorTags(finalHtml);
|
|
1671
|
+
finalHtml = utils.updateButtonEvents(finalHtml).body;
|
|
1672
|
+
this.buttons = utils.updateButtonEvents(finalHtml).buttons;
|
|
1673
|
+
this.searchResults = data;
|
|
1674
|
+
this.conversationId = data.conversationId;
|
|
1675
|
+
if (finalHtml.indexOf("[control") > -1) {
|
|
1676
|
+
// console.log("controlType", data.controlType)
|
|
1677
|
+
switch (data.controlType) {
|
|
1678
|
+
case "form":
|
|
1679
|
+
this.surveyDomId = "surveyElement-" + utils.generateUUID();
|
|
1680
|
+
finalHtml = finalHtml.replace(RegExp(/\[[^>]*]/gm), `<div id=${this.surveyDomId} style="width:${this.botSettings.botVersion === "v1" ? "330px" : "100%"}" class="survey-container"></div>`);
|
|
1681
|
+
// finalHtml = `<div id=${this.surveyDomId} style="width:${this.botSettings.botVersion === "v1" ? "330px" : "100%"}"></div>`
|
|
1682
|
+
this.el.shadowRoot.querySelector(`#${this.currentDomId}`).innerHTML = finalHtml;
|
|
1683
|
+
this.updateConversations(finalHtml, data);
|
|
1684
|
+
break;
|
|
1685
|
+
case "carousel":
|
|
1686
|
+
case "list":
|
|
1687
|
+
case "template":
|
|
1688
|
+
// if (data.controlType && data.controlType !== null) {
|
|
1689
|
+
// const newContent = splitContent(finalHtml)
|
|
1690
|
+
// finalHtml = newContent.before
|
|
1691
|
+
// this.updateConversations(finalHtml, data)
|
|
1692
|
+
// const newMessage = this.generateMessage()
|
|
1693
|
+
// this.messages = [...this.messages, newMessage]
|
|
1694
|
+
// setTimeout(() => {
|
|
1695
|
+
// data.controlType === "template" ? this.processTemplateData(newMessage, data) : this.processChatData(newMessage, data)
|
|
1696
|
+
// }, 2000)
|
|
1697
|
+
// if (newContent.after.trim().length > 0) {
|
|
1698
|
+
// const afterMessage = this.generateMessage()
|
|
1699
|
+
// afterMessage.text = newContent.after
|
|
1700
|
+
// this.messages = [...this.messages, afterMessage]
|
|
1701
|
+
// setTimeout(() => {
|
|
1702
|
+
// if (afterMessage.id) {
|
|
1703
|
+
// const bubbleEle = this.el.shadowRoot.querySelector(`#${afterMessage.id}`)
|
|
1704
|
+
// if (bubbleEle && (bubbleEle.querySelector("#spinner") as HTMLElement)) {
|
|
1705
|
+
// ;(bubbleEle.querySelector("#spinner") as HTMLElement).style.display = "none"
|
|
1706
|
+
// }
|
|
1707
|
+
// }
|
|
1708
|
+
// }, 500)
|
|
1709
|
+
// }
|
|
1710
|
+
// }
|
|
1711
|
+
if (data.controlType) {
|
|
1712
|
+
const newContent = utils.splitContent(finalHtml);
|
|
1713
|
+
finalHtml = newContent.before;
|
|
1714
|
+
this.updateConversations(finalHtml, data);
|
|
1715
|
+
const newMessage = this.generateMessage();
|
|
1716
|
+
const messagesToAdd = [newMessage];
|
|
1717
|
+
// Add after message if any
|
|
1718
|
+
if (newContent.after.trim()) {
|
|
1719
|
+
const afterMessage = this.generateMessage();
|
|
1720
|
+
afterMessage.text = newContent.after;
|
|
1721
|
+
afterMessage.id = afterMessage.id || `chatbot-${utils.generateUUID()}`;
|
|
1722
|
+
messagesToAdd.push(afterMessage);
|
|
1723
|
+
}
|
|
1724
|
+
// 🔥 Single batched update
|
|
1725
|
+
this.messages = [...this.messages, ...messagesToAdd];
|
|
1726
|
+
// 🔁 Wait for DOM update (1 frame + microtask delay)
|
|
1727
|
+
requestAnimationFrame(() => {
|
|
1728
|
+
setTimeout(() => {
|
|
1729
|
+
if (data.controlType === "template") {
|
|
1730
|
+
this.processTemplateData(newMessage, data);
|
|
1731
|
+
}
|
|
1732
|
+
else {
|
|
1733
|
+
this.processChatData(newMessage, data);
|
|
1734
|
+
}
|
|
1735
|
+
// Hide spinner for afterMessage if exists
|
|
1736
|
+
const afterMessage = messagesToAdd[1];
|
|
1737
|
+
if (afterMessage === null || afterMessage === void 0 ? void 0 : afterMessage.id) {
|
|
1738
|
+
const bubbleEle = this.el.shadowRoot.querySelector(`#${afterMessage.id}`);
|
|
1739
|
+
const spinner = bubbleEle === null || bubbleEle === void 0 ? void 0 : bubbleEle.querySelector("#spinner");
|
|
1740
|
+
if (spinner)
|
|
1741
|
+
spinner.style.display = "none";
|
|
1742
|
+
}
|
|
1743
|
+
}, 0);
|
|
1744
|
+
});
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1748
|
+
else {
|
|
1749
|
+
const currentDomElement = this.el.shadowRoot.querySelector(`#${this.currentDomId}`);
|
|
1750
|
+
if (currentDomElement) {
|
|
1751
|
+
currentDomElement.style.width = "auto";
|
|
1752
|
+
}
|
|
1753
|
+
this.el.shadowRoot.querySelector(`#${this.currentDomId}`).innerHTML = finalHtml;
|
|
1754
|
+
this.updateConversations(finalHtml, data);
|
|
1755
|
+
}
|
|
1756
|
+
this.saveConversation();
|
|
1757
|
+
this.scrollToBottom();
|
|
1758
|
+
});
|
|
1759
|
+
}
|
|
1760
|
+
updateAnchorTags(htmlContent) {
|
|
1761
|
+
const parser = new DOMParser();
|
|
1762
|
+
const doc = parser.parseFromString(htmlContent, "text/html");
|
|
1763
|
+
const anchorTags = Array.from(doc.querySelectorAll("a"));
|
|
1764
|
+
anchorTags.forEach(anchor => {
|
|
1765
|
+
// console.log("targtet")
|
|
1766
|
+
anchor.setAttribute("target", this.botSettings.linkTarget);
|
|
1767
|
+
anchor.classList.add("ai12z-link");
|
|
1768
|
+
});
|
|
1769
|
+
// Update the htmlContent with the modified anchor tags
|
|
1770
|
+
return doc.body.innerHTML;
|
|
1771
|
+
}
|
|
1772
|
+
updateConversations(finalHtml, data) {
|
|
1773
|
+
var _a, _b, _c, _d, _f, _g;
|
|
1774
|
+
const updatedmsg = {
|
|
1775
|
+
id: this.currentDomId,
|
|
1776
|
+
text: finalHtml,
|
|
1777
|
+
isUser: false,
|
|
1778
|
+
timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }),
|
|
1779
|
+
images: [],
|
|
1780
|
+
conversationId: this.conversationId,
|
|
1781
|
+
formModel: (_d = (_c = (_b = (_a = data.controlData) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.source) !== null && _c !== void 0 ? _c : data.controlData) !== null && _d !== void 0 ? _d : {},
|
|
1782
|
+
surveyDomId: this.surveyDomId,
|
|
1783
|
+
controlType: data.controlType,
|
|
1784
|
+
thumbsId: `${utils.generateUUID()}`,
|
|
1785
|
+
showIcon: data.controlType ? false : true,
|
|
1786
|
+
insightId: (_f = data === null || data === void 0 ? void 0 : data.insightId) !== null && _f !== void 0 ? _f : null,
|
|
1787
|
+
sender: (_g = data === null || data === void 0 ? void 0 : data.sender) !== null && _g !== void 0 ? _g : null,
|
|
1788
|
+
};
|
|
1789
|
+
this.addEventListeners(`#${this.currentDomId}`);
|
|
1790
|
+
this.messages = this.messages.map(item => (item.id === this.currentDomId ? updatedmsg : item));
|
|
1791
|
+
requestAnimationFrame(() => this.checkHighlightcode(this.currentDomId));
|
|
1792
|
+
}
|
|
1793
|
+
checkHighlightcode(highlightcodeId = "") {
|
|
1794
|
+
var _a;
|
|
1795
|
+
try {
|
|
1796
|
+
// Guard clause: Ensure highlightcodeId is provided
|
|
1797
|
+
if (!highlightcodeId) {
|
|
1798
|
+
console.warn("highlightcodeId is empty");
|
|
1799
|
+
this.isProse = true;
|
|
1800
|
+
return;
|
|
1801
|
+
}
|
|
1802
|
+
index$2.hljs.configure({
|
|
1803
|
+
ignoreUnescapedHTML: true,
|
|
1804
|
+
});
|
|
1805
|
+
// Get the target element by ID from shadow DOM
|
|
1806
|
+
const container = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#${highlightcodeId}`);
|
|
1807
|
+
if (!container) {
|
|
1808
|
+
console.warn(`Element with id '${highlightcodeId}' not found in shadowRoot`);
|
|
1809
|
+
this.isProse = true;
|
|
1810
|
+
return;
|
|
1811
|
+
}
|
|
1812
|
+
// Select all <pre> elements inside the target container
|
|
1813
|
+
const preElements = container.querySelectorAll("pre");
|
|
1814
|
+
if (preElements.length > 0) {
|
|
1815
|
+
// this.isProse = false
|
|
1816
|
+
container.classList.remove("prose");
|
|
1817
|
+
preElements.forEach(pre => {
|
|
1818
|
+
if (pre.dataset.highlighted) {
|
|
1819
|
+
console.warn("Element previously highlighted...");
|
|
1820
|
+
return;
|
|
1821
|
+
}
|
|
1822
|
+
index$2.hljs.highlightElement(pre);
|
|
1823
|
+
});
|
|
1824
|
+
}
|
|
1825
|
+
else {
|
|
1826
|
+
if (this.messages[this.messages.length - 1].controlType !== "form") {
|
|
1827
|
+
container.classList.add("prose");
|
|
1828
|
+
}
|
|
1829
|
+
// container.classList.add("prose")
|
|
1830
|
+
// this.isProse = true
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
catch (error) {
|
|
1834
|
+
console.error("Error in highlightcode:", error);
|
|
1835
|
+
this.isProse = true;
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
watchSurveyDomIdHandler(_newValue, _oldValue) {
|
|
1839
|
+
setTimeout(() => {
|
|
1840
|
+
this.renderSurvey(this.searchResults);
|
|
1841
|
+
}, 1000);
|
|
1842
|
+
}
|
|
1843
|
+
resolveLocalized(value, fallback = "") {
|
|
1844
|
+
if (!value)
|
|
1845
|
+
return fallback;
|
|
1846
|
+
if (typeof value === "string") {
|
|
1847
|
+
return value;
|
|
1848
|
+
}
|
|
1849
|
+
let defaultLang;
|
|
1850
|
+
if (this.dataAttributes && this.dataAttributes.lang) {
|
|
1851
|
+
// You can use this.dataAttributes.lang here
|
|
1852
|
+
defaultLang = this.dataAttributes.lang;
|
|
1853
|
+
}
|
|
1854
|
+
console.log("defaultLang", defaultLang);
|
|
1855
|
+
if (typeof value === "object") {
|
|
1856
|
+
return value[defaultLang] || value[utils.getBroswerLang()] || value.default || fallback;
|
|
1857
|
+
}
|
|
1858
|
+
return fallback;
|
|
1859
|
+
}
|
|
1860
|
+
hideCompleteButton(form, survey) {
|
|
1861
|
+
var _a, _b;
|
|
1862
|
+
survey.completeText = (_a = form === null || form === void 0 ? void 0 : form.completeText) !== null && _a !== void 0 ? _a : "Submit";
|
|
1863
|
+
survey.completedHTML = (_b = form === null || form === void 0 ? void 0 : form.completedHtml) !== null && _b !== void 0 ? _b : "Thank You!";
|
|
1864
|
+
if (form && form.pages) {
|
|
1865
|
+
form.pages.forEach((page) => {
|
|
1866
|
+
if (page.elements) {
|
|
1867
|
+
// console.log("page.elements", page.elements)
|
|
1868
|
+
page.elements.forEach((element) => {
|
|
1869
|
+
if (element.type === "html") {
|
|
1870
|
+
if (element.html.includes("<iframe")) {
|
|
1871
|
+
survey.showCompleteButton = false;
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
});
|
|
1875
|
+
}
|
|
1876
|
+
});
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
1879
|
+
addEventListeners(msgId) {
|
|
1880
|
+
const container = this.el.shadowRoot.querySelector(msgId);
|
|
1881
|
+
if (container) {
|
|
1882
|
+
this.buttons.forEach(button => {
|
|
1883
|
+
const buttonElement = container.querySelector(`#${button.id}`);
|
|
1884
|
+
if (buttonElement) {
|
|
1885
|
+
const originalCall = buttonElement.getAttribute("data-original-click"); // Ensure type safety or handle undefined
|
|
1886
|
+
if (!originalCall) {
|
|
1887
|
+
console.warn(`originalClickHandler is not defined for button with id: ${button.id}`);
|
|
1888
|
+
return;
|
|
1889
|
+
}
|
|
1890
|
+
// const match = originalCall.match(/^(\w+)\s*\((.*)\)$/) // extract name and arguments
|
|
1891
|
+
const match = originalCall.match(/^(\w+)\s*\(([\s\S]*)\)$/);
|
|
1892
|
+
// console.log("match", match)
|
|
1893
|
+
if (match) {
|
|
1894
|
+
const funcName = match[1];
|
|
1895
|
+
const argsStr = match[2]; // string of args, like "'param', true"
|
|
1896
|
+
const self = this;
|
|
1897
|
+
const func = self[funcName];
|
|
1898
|
+
buttonElement.addEventListener("click", () => {
|
|
1899
|
+
if (typeof this[funcName] === "function") {
|
|
1900
|
+
try {
|
|
1901
|
+
// console.log("args", argsStr)
|
|
1902
|
+
// Evaluate arguments safely
|
|
1903
|
+
switch (funcName) {
|
|
1904
|
+
case "sendQuery":
|
|
1905
|
+
const args = eval(`[${argsStr}]`);
|
|
1906
|
+
args[0] = button.label;
|
|
1907
|
+
func.apply(self, args);
|
|
1908
|
+
break;
|
|
1909
|
+
case "sendMessage":
|
|
1910
|
+
const msgArgs = eval(`[${argsStr}]`);
|
|
1911
|
+
func.apply(self, msgArgs);
|
|
1912
|
+
break;
|
|
1913
|
+
case "sendJSON":
|
|
1914
|
+
const tempArgs = argsStr.match(/^'(.*?)'\s*,\s*'(.*?)'$/);
|
|
1915
|
+
const rawObjectStr = tempArgs[1]
|
|
1916
|
+
.replace(/([{,])\s*(\w+)\s*:/g, '$1"$2":') // quote keys
|
|
1917
|
+
.replace(/:\s*'([^']*)'/g, ': "$1"'); // convert single to double quotes
|
|
1918
|
+
const parsedObj = JSON.parse(rawObjectStr);
|
|
1919
|
+
const jsonArgs = [parsedObj, tempArgs[2]];
|
|
1920
|
+
func.apply(self, jsonArgs);
|
|
1921
|
+
break;
|
|
1922
|
+
}
|
|
1923
|
+
}
|
|
1924
|
+
catch (err) {
|
|
1925
|
+
console.error(`Error invoking ${funcName}:`, err);
|
|
1926
|
+
}
|
|
1927
|
+
}
|
|
1928
|
+
else {
|
|
1929
|
+
console.warn(`Function ${funcName} not found on this`);
|
|
1930
|
+
}
|
|
1931
|
+
});
|
|
1932
|
+
// buttonElement.addEventListener("click", this.handleButtonClick(button.label))
|
|
1933
|
+
}
|
|
1934
|
+
}
|
|
1935
|
+
});
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1938
|
+
formatTimestamp(date) {
|
|
1939
|
+
const today = new Date();
|
|
1940
|
+
today.setHours(0, 0, 0, 0);
|
|
1941
|
+
const options = {
|
|
1942
|
+
weekday: "long",
|
|
1943
|
+
hour: "numeric",
|
|
1944
|
+
minute: "numeric",
|
|
1945
|
+
hour12: true,
|
|
1946
|
+
};
|
|
1947
|
+
const formatter = new Intl.DateTimeFormat("en-US", options);
|
|
1948
|
+
const formattedDate = formatter.format(date);
|
|
1949
|
+
if (date.toDateString() === today.toDateString()) {
|
|
1950
|
+
return `Today, ${formattedDate.split(" ").slice(1).join(" ")}`;
|
|
1951
|
+
}
|
|
1952
|
+
else {
|
|
1953
|
+
return formattedDate;
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
async socketConnection() {
|
|
1957
|
+
let a12z_EndPoint = utils.getEndpoint(this.dataMode);
|
|
1958
|
+
this.socket = index$3.lookup(a12z_EndPoint, { transports: ["polling"] });
|
|
1959
|
+
await new Promise(resolve => {
|
|
1960
|
+
this.socket.on("connect", () => {
|
|
1961
|
+
// console.log("Connected to Socket.IO server")
|
|
1962
|
+
resolve();
|
|
1963
|
+
});
|
|
1964
|
+
});
|
|
1965
|
+
this.socket.on("connect_error", error => {
|
|
1966
|
+
this.errored.emit(error);
|
|
1967
|
+
console.error("Connection error:", error);
|
|
1968
|
+
});
|
|
1969
|
+
this.socket.on("disconnect", () => {
|
|
1970
|
+
// console.log("Disconnected from Socket.IO server")
|
|
1971
|
+
this.socket.off("response");
|
|
1972
|
+
// Handle disconnection if needed
|
|
1973
|
+
});
|
|
1974
|
+
}
|
|
1975
|
+
invokeSocket() {
|
|
1976
|
+
const data = {
|
|
1977
|
+
apiKey: this.dataKey,
|
|
1978
|
+
query: this.query !== "" ? this.query : this.inputEl.value,
|
|
1979
|
+
conversationId: this.conversationId,
|
|
1980
|
+
event: "evaluate_query",
|
|
1981
|
+
attributes: this.dataAttributes,
|
|
1982
|
+
excludeTags: this.excludeTags,
|
|
1983
|
+
includeTags: this.includeTags,
|
|
1984
|
+
base64Images: this.imagesBase64List,
|
|
1985
|
+
meta: utils.getMetaInfo(),
|
|
1986
|
+
};
|
|
1987
|
+
// Call the override method to allow developer processing
|
|
1988
|
+
this.processDataOverride(data)
|
|
1989
|
+
.then(processedData => {
|
|
1990
|
+
// If null is returned, stop execution
|
|
1991
|
+
if (processedData === null || processedData === undefined) {
|
|
1992
|
+
console.log("Data processing returned null, stopping execution");
|
|
1993
|
+
return;
|
|
1994
|
+
}
|
|
1995
|
+
this.messageSent.emit(JSON.stringify(processedData));
|
|
1996
|
+
this.socket.emit("evaluate_query", processedData, (error, _response) => {
|
|
1997
|
+
if (error) {
|
|
1998
|
+
this.errored.emit(error);
|
|
1999
|
+
console.error("Error:", error);
|
|
2000
|
+
}
|
|
2001
|
+
});
|
|
2002
|
+
if (this.inputEl) {
|
|
2003
|
+
this.inputEl.value = "";
|
|
2004
|
+
this.adjustHeight();
|
|
2005
|
+
}
|
|
2006
|
+
this.query = "";
|
|
2007
|
+
})
|
|
2008
|
+
.catch(error => {
|
|
2009
|
+
console.error("Error in processDataOverride:", error);
|
|
2010
|
+
this.errored.emit(error);
|
|
2011
|
+
});
|
|
2012
|
+
}
|
|
2013
|
+
onInputChange(files) {
|
|
2014
|
+
if (files.length > 0) {
|
|
2015
|
+
this.uploadImage(files);
|
|
2016
|
+
}
|
|
2017
|
+
else {
|
|
2018
|
+
console.error(files.length === 0 || "NO IMAGE UPLOADED");
|
|
2019
|
+
return false;
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
uploadImage(files) {
|
|
2023
|
+
let newFile;
|
|
2024
|
+
let tempImagesBase64List = [];
|
|
2025
|
+
if (files.length > 10 || this.imagesBase64List.length > 10) {
|
|
2026
|
+
// this.showErrorMessage = true
|
|
2027
|
+
// console.error('You can upload a maximum of 10 images once at a time.');
|
|
2028
|
+
return;
|
|
2029
|
+
}
|
|
2030
|
+
for (var i = 0; i < files.length; i++) {
|
|
2031
|
+
const mimeType = files[i].type;
|
|
2032
|
+
if (!mimeType.match("image.*")) {
|
|
2033
|
+
console.log("file is not an image");
|
|
2034
|
+
return;
|
|
2035
|
+
}
|
|
2036
|
+
newFile = files[i];
|
|
2037
|
+
const reader = new FileReader();
|
|
2038
|
+
reader.onload = () => {
|
|
2039
|
+
const imagePreviewContainer = this.el.shadowRoot.querySelector("#previewContainer");
|
|
2040
|
+
const base64Image = `data:${mimeType};base64,${reader.result.split(",")[1]}`;
|
|
2041
|
+
this.imagesBase64List.push(base64Image);
|
|
2042
|
+
tempImagesBase64List = this.imagesBase64List;
|
|
2043
|
+
const newDiv = document.createElement("div");
|
|
2044
|
+
newDiv.classList.add("image-Container");
|
|
2045
|
+
newDiv.classList.add("sc-ai12z-input-form");
|
|
2046
|
+
const img = document.createElement("img");
|
|
2047
|
+
img.setAttribute("src", reader.result);
|
|
2048
|
+
img.style.width = "70px";
|
|
2049
|
+
img.style.height = "50px";
|
|
2050
|
+
const deleteSpan = document.createElement("span");
|
|
2051
|
+
deleteSpan.textContent = "x";
|
|
2052
|
+
deleteSpan.classList.add("delete-image");
|
|
2053
|
+
deleteSpan.classList.add("sc-ai12z-input-form");
|
|
2054
|
+
imagePreviewContainer.appendChild(newDiv);
|
|
2055
|
+
newDiv.appendChild(img);
|
|
2056
|
+
newDiv.appendChild(deleteSpan);
|
|
2057
|
+
deleteSpan.onclick = function (event) {
|
|
2058
|
+
let imgSrc = event.target["previousSibling"] ? event.target["previousSibling"].src : null;
|
|
2059
|
+
let index = tempImagesBase64List.indexOf(imgSrc);
|
|
2060
|
+
if (index > -1) {
|
|
2061
|
+
tempImagesBase64List.splice(index, 1);
|
|
2062
|
+
}
|
|
2063
|
+
newDiv.remove();
|
|
2064
|
+
};
|
|
2065
|
+
// console.log('uploading finished, emitting an image blob to the outside world');
|
|
2066
|
+
};
|
|
2067
|
+
reader.readAsDataURL(newFile);
|
|
2068
|
+
reader.onloadend = () => {
|
|
2069
|
+
console.log("upload finished");
|
|
2070
|
+
};
|
|
2071
|
+
reader.onerror = err => {
|
|
2072
|
+
console.error("something went wrong...", err);
|
|
2073
|
+
};
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2076
|
+
getConversationHistory() {
|
|
2077
|
+
const storedData = localStorage.getItem(`${this.visitorID}`);
|
|
2078
|
+
return storedData ? JSON.parse(storedData) : [];
|
|
2079
|
+
}
|
|
2080
|
+
/**
|
|
2081
|
+
* Calculate the size of a string in bytes (UTF-8 encoding)
|
|
2082
|
+
*/
|
|
2083
|
+
getStringSize(str) {
|
|
2084
|
+
return new Blob([str]).size;
|
|
2085
|
+
}
|
|
2086
|
+
/**
|
|
2087
|
+
* Get the current size of localStorage in bytes
|
|
2088
|
+
*/
|
|
2089
|
+
getLocalStorageSize() {
|
|
2090
|
+
let totalSize = 0;
|
|
2091
|
+
for (const key in localStorage) {
|
|
2092
|
+
if (localStorage.hasOwnProperty(key)) {
|
|
2093
|
+
const value = localStorage.getItem(key) || "";
|
|
2094
|
+
totalSize += this.getStringSize(key + value);
|
|
2095
|
+
}
|
|
2096
|
+
}
|
|
2097
|
+
return totalSize;
|
|
2098
|
+
}
|
|
2099
|
+
/**
|
|
2100
|
+
* Clean up old conversations based on date to free up storage space
|
|
2101
|
+
* @param conversations Array of conversations to clean up
|
|
2102
|
+
* @param maxSizeBytes Maximum size in bytes before cleanup
|
|
2103
|
+
* @returns Cleaned up conversations array
|
|
2104
|
+
*/
|
|
2105
|
+
cleanupOldConversations(conversations, maxSizeBytes = 2 * 1024 * 1024) {
|
|
2106
|
+
const currentSize = this.getLocalStorageSize();
|
|
2107
|
+
// If we're under the size limit, no cleanup needed
|
|
2108
|
+
if (currentSize <= maxSizeBytes) {
|
|
2109
|
+
return conversations;
|
|
2110
|
+
}
|
|
2111
|
+
// Sort conversations by date (oldest first) for cleanup
|
|
2112
|
+
const sortedConversations = [...conversations].sort((a, b) => {
|
|
2113
|
+
const dateA = new Date(a.date).getTime();
|
|
2114
|
+
const dateB = new Date(b.date).getTime();
|
|
2115
|
+
return dateA - dateB;
|
|
2116
|
+
});
|
|
2117
|
+
let cleanedConversations = [...sortedConversations];
|
|
2118
|
+
let estimatedSize = this.getStringSize(JSON.stringify(cleanedConversations));
|
|
2119
|
+
// Remove oldest conversations until we're under the size limit
|
|
2120
|
+
while (estimatedSize > maxSizeBytes && cleanedConversations.length > 1) {
|
|
2121
|
+
cleanedConversations.shift();
|
|
2122
|
+
estimatedSize = this.getStringSize(JSON.stringify(cleanedConversations));
|
|
2123
|
+
}
|
|
2124
|
+
// If we still have size issues, clean up old messages from remaining conversations
|
|
2125
|
+
if (estimatedSize > maxSizeBytes) {
|
|
2126
|
+
cleanedConversations = cleanedConversations.map(conversation => {
|
|
2127
|
+
if (conversation.messages && conversation.messages.length > 10) {
|
|
2128
|
+
// Keep only the last 10 messages in each conversation
|
|
2129
|
+
conversation.messages = conversation.messages.slice(-10);
|
|
2130
|
+
}
|
|
2131
|
+
return conversation;
|
|
2132
|
+
});
|
|
2133
|
+
}
|
|
2134
|
+
return cleanedConversations;
|
|
2135
|
+
}
|
|
2136
|
+
saveConversation() {
|
|
2137
|
+
var _a, _b;
|
|
2138
|
+
let pastMessages = this.getConversationHistory();
|
|
2139
|
+
// Update or add current conversation
|
|
2140
|
+
if (pastMessages.length > 0) {
|
|
2141
|
+
let conversationExists = pastMessages.filter(item => { var _a; return item.conversationId === this.conversationId && item.projectId === ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId); });
|
|
2142
|
+
if (conversationExists.length > 0) {
|
|
2143
|
+
conversationExists[0].messages = this.messages;
|
|
2144
|
+
conversationExists[0].date = new Date(); // Update the date when conversation is modified
|
|
2145
|
+
}
|
|
2146
|
+
else {
|
|
2147
|
+
pastMessages.push({
|
|
2148
|
+
conversationId: this.conversationId,
|
|
2149
|
+
projectId: (_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId,
|
|
2150
|
+
date: new Date(),
|
|
2151
|
+
messages: this.messages,
|
|
2152
|
+
});
|
|
2153
|
+
}
|
|
2154
|
+
}
|
|
2155
|
+
else {
|
|
2156
|
+
pastMessages.push({
|
|
2157
|
+
conversationId: this.conversationId,
|
|
2158
|
+
projectId: (_b = this.botSettings) === null || _b === void 0 ? void 0 : _b.pId,
|
|
2159
|
+
date: new Date(),
|
|
2160
|
+
messages: this.messages,
|
|
2161
|
+
});
|
|
2162
|
+
}
|
|
2163
|
+
if (this.messages.length > 0) {
|
|
2164
|
+
// Clean up old conversations if storage is getting full
|
|
2165
|
+
const cleanedMessages = this.cleanupOldConversations(pastMessages);
|
|
2166
|
+
try {
|
|
2167
|
+
localStorage.setItem(`${this.visitorID}`, JSON.stringify(cleanedMessages));
|
|
2168
|
+
// Log storage usage for debugging
|
|
2169
|
+
// const storageSize = this.getLocalStorageSize()
|
|
2170
|
+
// const storageMB = (storageSize / (1024 * 1024)).toFixed(2)
|
|
2171
|
+
}
|
|
2172
|
+
catch (error) {
|
|
2173
|
+
// If storage is full, try more aggressive cleanup
|
|
2174
|
+
if (error.name === "QuotaExceededError") {
|
|
2175
|
+
const aggressiveCleanup = this.cleanupOldConversations(pastMessages, 1 * 1024 * 1024); // 1MB limit
|
|
2176
|
+
try {
|
|
2177
|
+
localStorage.setItem(`${this.visitorID}`, JSON.stringify(aggressiveCleanup));
|
|
2178
|
+
}
|
|
2179
|
+
catch (secondError) {
|
|
2180
|
+
console.error("AI12Z: Even aggressive cleanup failed:", secondError);
|
|
2181
|
+
// Clear all conversation history as last resort
|
|
2182
|
+
localStorage.removeItem(`${this.visitorID}`);
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2188
|
+
loadConversation() {
|
|
2189
|
+
this.showWelcomeScreen = false;
|
|
2190
|
+
// this.hideInput = true
|
|
2191
|
+
// this.messages = []
|
|
2192
|
+
const storedMessages = localStorage.getItem(`${this.visitorID}`);
|
|
2193
|
+
if (storedMessages) {
|
|
2194
|
+
this.conversationHistory = JSON.parse(storedMessages);
|
|
2195
|
+
this.conversationHistory = this.conversationHistory.filter(item => { var _a; return item.projectId === ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId); });
|
|
2196
|
+
// console.log("conversationHistory", this.conversationHistory)
|
|
2197
|
+
// this.messages = chatHistory.map(item => ({ ...item }))
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
handleKeyDown(ev) {
|
|
2201
|
+
var _a;
|
|
2202
|
+
if (ev.key === "Enter" && !ev.shiftKey) {
|
|
2203
|
+
// console.log("down arrow pressed")
|
|
2204
|
+
ev.preventDefault();
|
|
2205
|
+
if (((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.value.trim().length) > 0) {
|
|
2206
|
+
this.handleSend(this.inputEl.value);
|
|
2207
|
+
}
|
|
2208
|
+
}
|
|
2209
|
+
}
|
|
2210
|
+
startTimer() {
|
|
2211
|
+
// const startTime = Date.now()
|
|
2212
|
+
this.timer = setInterval(() => {
|
|
2213
|
+
this.questionCounter = 0;
|
|
2214
|
+
// const endTime = Date.now()
|
|
2215
|
+
// console.log(`Timer executed after ${endTime - startTime} milliseconds`)
|
|
2216
|
+
localStorage.setItem(`ai12z-bot-data`, JSON.stringify({ qCounter: this.questionCounter }));
|
|
2217
|
+
}, this.botSettings.autoResetTimer);
|
|
2218
|
+
}
|
|
2219
|
+
scrollToBottom() {
|
|
2220
|
+
const container = this.el.shadowRoot.querySelector(".chat-body");
|
|
2221
|
+
if (container) {
|
|
2222
|
+
container.scroll({
|
|
2223
|
+
top: container.scrollHeight,
|
|
2224
|
+
behavior: "smooth",
|
|
2225
|
+
});
|
|
2226
|
+
}
|
|
2227
|
+
}
|
|
2228
|
+
// Function to trigger the text-to-speech
|
|
2229
|
+
async speakText(msg) {
|
|
2230
|
+
if (this.voiceType === "default") {
|
|
2231
|
+
if ("speechSynthesis" in window) {
|
|
2232
|
+
const voices = window.speechSynthesis.getVoices();
|
|
2233
|
+
const voice = voices.find(voice => voice.name === this.voice);
|
|
2234
|
+
this.isPlayed = true;
|
|
2235
|
+
const utterance = new SpeechSynthesisUtterance(msg); // Create a speech synthesis utterance
|
|
2236
|
+
utterance.lang = "en-US"; // Set the language, you can change this as needed
|
|
2237
|
+
utterance.rate = 1;
|
|
2238
|
+
utterance.pitch = 1;
|
|
2239
|
+
utterance.voice = voice;
|
|
2240
|
+
// Speak the text
|
|
2241
|
+
window.speechSynthesis.speak(utterance);
|
|
2242
|
+
}
|
|
2243
|
+
else {
|
|
2244
|
+
alert("Speech Synthesis API is not supported in your browser.");
|
|
2245
|
+
}
|
|
2246
|
+
}
|
|
2247
|
+
if (this.voiceType === "google") {
|
|
2248
|
+
const base64audiocontent = await utils.getAudioContent(this.dataKey, this.dataMode, msg, this.voice);
|
|
2249
|
+
const audioBlob = utils.base64ToBlob(base64audiocontent.audio_content, "audio/mpeg");
|
|
2250
|
+
const audioUrl = URL.createObjectURL(audioBlob);
|
|
2251
|
+
// Create the audio element
|
|
2252
|
+
this.audioElement = new Audio(audioUrl);
|
|
2253
|
+
this.audioElement.onended = () => {
|
|
2254
|
+
// this.isPlaying = false
|
|
2255
|
+
this.isPlayed = false;
|
|
2256
|
+
};
|
|
2257
|
+
if (this.audioElement.paused) {
|
|
2258
|
+
this.audioElement.play();
|
|
2259
|
+
this.isPlayed = true;
|
|
2260
|
+
}
|
|
2261
|
+
else {
|
|
2262
|
+
this.audioElement.pause();
|
|
2263
|
+
this.audioElement.currentTime = 0;
|
|
2264
|
+
this.audioElement.src = ""; // Remove the audio source
|
|
2265
|
+
this.audioElement = null; // Dereference the object
|
|
2266
|
+
this.isPlayed = false;
|
|
2267
|
+
}
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
defaultTemplate() {
|
|
2271
|
+
var _a, _b;
|
|
2272
|
+
return (index.h("div", { class: { "prose": true, "floating-icon": !this.isBot, "right": ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.botPosition) === "right", "left": ((_b = this.botSettings) === null || _b === void 0 ? void 0 : _b.botPosition) === "left" } }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "white", height: "30px", width: "30px", version: "1.1", id: "Capa_1", viewBox: "0 0 60.019 60.019" }, index.h("g", null, index.h("path", { d: "M59.888,47.514l-3.839-11.518c2.056-3.615,3.14-7.716,3.14-11.893c0-13.286-10.809-24.095-24.095-24.095 c-8.242,0-15.824,4.223-20.219,11.007c3.089-1.291,6.477-2.007,10.029-2.007C39.294,9.01,51,20.716,51,35.104 c0,3.996-0.905,7.783-2.518,11.172l10.263,2.701c0.085,0.022,0.17,0.033,0.255,0.033c0.006,0,0.014-0.001,0.02,0 c0.553,0,1-0.448,1-1C60.019,47.829,59.972,47.66,59.888,47.514z" }), index.h("path", { d: "M24.905,11.01C11.619,11.01,0.81,21.819,0.81,35.104c0,4.176,1.084,8.277,3.14,11.893L0.051,58.693 c-0.116,0.349-0.032,0.732,0.219,1C0.462,59.898,0.727,60.01,1,60.01c0.085,0,0.17-0.011,0.255-0.033l12.788-3.365 c3.35,1.694,7.097,2.587,10.862,2.587C38.191,59.199,49,48.39,49,35.104S38.191,11.01,24.905,11.01z M41.246,26.799 c-0.152,0.083-0.317,0.123-0.479,0.123c-0.354,0-0.696-0.188-0.878-0.519c-2.795-5.097-8.115-8.679-13.883-9.349 c-0.549-0.063-0.941-0.56-0.878-1.108c0.063-0.548,0.558-0.942,1.108-0.878c6.401,0.743,12.304,4.718,15.406,10.373 C41.908,25.926,41.73,26.534,41.246,26.799z" })))));
|
|
2273
|
+
}
|
|
2274
|
+
handleFollowUp(_e) {
|
|
2275
|
+
// console.log("follow up", e)
|
|
2276
|
+
this.messages = [...[]];
|
|
2277
|
+
this.conversationId = "";
|
|
2278
|
+
this.showWelcomeScreen = true;
|
|
2279
|
+
}
|
|
2280
|
+
showButton(e) {
|
|
2281
|
+
if (e.target.value.length > 0) {
|
|
2282
|
+
this.showSubmit = true;
|
|
2283
|
+
}
|
|
2284
|
+
else {
|
|
2285
|
+
this.showSubmit = false;
|
|
2286
|
+
}
|
|
2287
|
+
}
|
|
2288
|
+
toggleTextarea() {
|
|
2289
|
+
// console.log("toggleTextarea", this.showTextarea)
|
|
2290
|
+
this.showTextarea = false; // Remove textarea
|
|
2291
|
+
setTimeout(() => {
|
|
2292
|
+
this.showTextarea = true; // Re-add textarea after a short delay
|
|
2293
|
+
// console.log("toggleTextarea2", this.showTextarea)
|
|
2294
|
+
}, 50); // Small delay ensures the element is fully unmounted
|
|
2295
|
+
}
|
|
2296
|
+
checkLiveAgentMode() {
|
|
2297
|
+
var _a, _b;
|
|
2298
|
+
const isLiveAgentConfigured = ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.liveagent) && Object.keys((_b = this.botSettings) === null || _b === void 0 ? void 0 : _b.liveagent).length > 0;
|
|
2299
|
+
/**
|
|
2300
|
+
* Check if live agent is enabled
|
|
2301
|
+
* If live agent is configured and there are more than one messages in the chat,
|
|
2302
|
+
* then enable live agent mode.
|
|
2303
|
+
* This is to ensure that live agent mode is only enabled after the user has interacted with the bot
|
|
2304
|
+
* and there is a conversation history to refer to.
|
|
2305
|
+
* This prevents the live agent from being connected immediately when the chat is opened.
|
|
2306
|
+
*/
|
|
2307
|
+
this.isLiveAgentEnabled = isLiveAgentConfigured && this.messages.length > 1;
|
|
2308
|
+
}
|
|
2309
|
+
disconnectLiveChat() {
|
|
2310
|
+
this.liveAgentEventHandler.disconnectLiveAgent();
|
|
2311
|
+
}
|
|
2312
|
+
async connectLiveChat() {
|
|
2313
|
+
var _a, _b, _c, _d;
|
|
2314
|
+
const liveAgentProviderNames = Object.keys((_b = (_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.liveagent) !== null && _b !== void 0 ? _b : {});
|
|
2315
|
+
if (liveAgentProviderNames.length === 0) {
|
|
2316
|
+
console.error("No live agent provider found in bot settings");
|
|
2317
|
+
return;
|
|
2318
|
+
}
|
|
2319
|
+
if (liveAgentProviderNames.length > 1) {
|
|
2320
|
+
console.warn("Multiple live agent providers found, using the first one");
|
|
2321
|
+
}
|
|
2322
|
+
let liveAgentSettings = (_d = (_c = this.botSettings) === null || _c === void 0 ? void 0 : _c.liveagent[liveAgentProviderNames[0]]) !== null && _d !== void 0 ? _d : null;
|
|
2323
|
+
if (!liveAgentSettings) {
|
|
2324
|
+
console.error("No live agent settings found for the provider", liveAgentProviderNames[0]);
|
|
2325
|
+
return;
|
|
2326
|
+
}
|
|
2327
|
+
if (liveAgentSettings) {
|
|
2328
|
+
const conversationExists = this.getConversationHistory();
|
|
2329
|
+
let messageHistory = conversationExists.filter(item => { var _a; return item.conversationId === this.conversationId && item.projectId === ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId); });
|
|
2330
|
+
this.isTypingIndicatorVisible = true;
|
|
2331
|
+
liveAgentSettings = {
|
|
2332
|
+
config: liveAgentSettings,
|
|
2333
|
+
userId: this.visitorID,
|
|
2334
|
+
conversationId: this.conversationId,
|
|
2335
|
+
messageHistory: messageHistory,
|
|
2336
|
+
};
|
|
2337
|
+
if (liveAgentProviderNames[0] === "liveagent") {
|
|
2338
|
+
if (!this.liveAgentRef) {
|
|
2339
|
+
this.isTypingIndicatorVisible = false;
|
|
2340
|
+
console.error("LiveAgent reference is not set");
|
|
2341
|
+
return;
|
|
2342
|
+
}
|
|
2343
|
+
await this.liveAgentRef.startChat();
|
|
2344
|
+
}
|
|
2345
|
+
else {
|
|
2346
|
+
this.liveAgentEventHandler.connectToLiveAgent(liveAgentProviderNames[0], liveAgentSettings);
|
|
2347
|
+
ChatEventBus.on("AGENT_SESSION_CREATED", () => {
|
|
2348
|
+
this.isLiveAgent = true;
|
|
2349
|
+
this.liveAgentButtonText = "End liveagent chat";
|
|
2350
|
+
});
|
|
2351
|
+
ChatEventBus.on("AGENT_EVENT", (event) => {
|
|
2352
|
+
this.isTypingIndicatorVisible = false;
|
|
2353
|
+
if ((event === null || event === void 0 ? void 0 : event.length) > 0) {
|
|
2354
|
+
const agentEventMessages = this.liveAgentEventHandler.addAgentEventMessage(event);
|
|
2355
|
+
if (agentEventMessages) {
|
|
2356
|
+
const currentDomElement = this.el.shadowRoot.querySelector(`#${this.currentDomId}`);
|
|
2357
|
+
if (currentDomElement) {
|
|
2358
|
+
// Append the agent event messages to the current message bubble
|
|
2359
|
+
currentDomElement.parentNode.appendChild(agentEventMessages);
|
|
2360
|
+
}
|
|
2361
|
+
if (this.inputEl) {
|
|
2362
|
+
this.inputEl.value = "";
|
|
2363
|
+
}
|
|
2364
|
+
}
|
|
2365
|
+
}
|
|
2366
|
+
});
|
|
2367
|
+
ChatEventBus.on("TYPING_STARTED", (status) => {
|
|
2368
|
+
this.isTypingIndicatorVisible = status;
|
|
2369
|
+
});
|
|
2370
|
+
ChatEventBus.on("TYPING_STOPPED", (_status) => {
|
|
2371
|
+
this.isTypingIndicatorVisible = false;
|
|
2372
|
+
});
|
|
2373
|
+
ChatEventBus.on("AGENT_MESSAGE", (message) => {
|
|
2374
|
+
var _a;
|
|
2375
|
+
const retMessage = this.liveAgentEventHandler.handleAgentMessage(message);
|
|
2376
|
+
if (retMessage) {
|
|
2377
|
+
const aiMessageBubble = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#${this.currentDomId}`);
|
|
2378
|
+
if (aiMessageBubble) {
|
|
2379
|
+
const converter = new showdown.showdown.Converter();
|
|
2380
|
+
let bubbleText = aiMessageBubble.getAttribute("data-bubbleText") || "";
|
|
2381
|
+
bubbleText = `${bubbleText} \n\n ${retMessage}`;
|
|
2382
|
+
aiMessageBubble.setAttribute("data-bubbleText", bubbleText);
|
|
2383
|
+
let html = converter.makeHtml(bubbleText);
|
|
2384
|
+
this.updateConversations(html, message[0]);
|
|
2385
|
+
}
|
|
2386
|
+
setTimeout(() => {
|
|
2387
|
+
this.scrollToBottom();
|
|
2388
|
+
}, 10);
|
|
2389
|
+
}
|
|
2390
|
+
});
|
|
2391
|
+
ChatEventBus.on("AGENT_ERROR", () => {
|
|
2392
|
+
addEventMessage("Something went wrong with liveagent");
|
|
2393
|
+
this.isLiveAgent = false;
|
|
2394
|
+
this.isTypingIndicatorVisible = false;
|
|
2395
|
+
this.liveAgentEventHandler.disconnectLiveAgent();
|
|
2396
|
+
});
|
|
2397
|
+
ChatEventBus.on("CONVERSATION_CLOSED", () => {
|
|
2398
|
+
addEventMessage("Conversation closed with liveagent");
|
|
2399
|
+
this.isLiveAgent = false;
|
|
2400
|
+
this.isTypingIndicatorVisible = false;
|
|
2401
|
+
this.liveAgentButtonText = "Talk to a liveagent";
|
|
2402
|
+
});
|
|
2403
|
+
}
|
|
2404
|
+
const addEventMessage = (_message) => {
|
|
2405
|
+
const agentEventMessages = this.liveAgentEventHandler.addAgentEventMessage([
|
|
2406
|
+
{
|
|
2407
|
+
text: _message,
|
|
2408
|
+
},
|
|
2409
|
+
]);
|
|
2410
|
+
if (agentEventMessages) {
|
|
2411
|
+
const currentDomElement = this.el.shadowRoot.querySelector(`#${this.currentDomId}`);
|
|
2412
|
+
if (currentDomElement) {
|
|
2413
|
+
// Append the agent event messages to the current message bubble
|
|
2414
|
+
currentDomElement.parentNode.appendChild(agentEventMessages);
|
|
2415
|
+
}
|
|
2416
|
+
}
|
|
2417
|
+
};
|
|
2418
|
+
}
|
|
2419
|
+
}
|
|
2420
|
+
// Function to copy the text to clipboard
|
|
2421
|
+
copyToClipboard(text) {
|
|
2422
|
+
navigator.clipboard
|
|
2423
|
+
.write([
|
|
2424
|
+
new ClipboardItem({
|
|
2425
|
+
"text/html": new Blob([text], { type: "text/html" }),
|
|
2426
|
+
"text/plain": new Blob([utils.removeHtmlTags(text)], { type: "text/plain" }),
|
|
2427
|
+
}),
|
|
2428
|
+
])
|
|
2429
|
+
.then(() => {
|
|
2430
|
+
// console.log("Text copied to clipboard", text)
|
|
2431
|
+
this.copied = true; // Set a flag to show copied state
|
|
2432
|
+
setTimeout(() => {
|
|
2433
|
+
this.copied = false; // Reset copied state after 2 seconds
|
|
2434
|
+
}, 2000);
|
|
2435
|
+
});
|
|
2436
|
+
}
|
|
2437
|
+
render() {
|
|
2438
|
+
var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
2439
|
+
if (!this.canRender) {
|
|
2440
|
+
return (index.h(index.Host, null, index.h("span", { style: { display: "none" } }, "Failed to load ai12z bot control due to insufficient fund")));
|
|
2441
|
+
}
|
|
2442
|
+
return (index.h("div", null, this.botSettings.botVersion !== "v1" && this.isRendered && (index.h("div", { class: `pt-0 show-grid ${this.isAnimated ? "transition ease-out duration-300" : ""} layout ${this.isOpened ? "is-open" : ""} ${this.isExpanded ? "is-expanded" : ""} search-flex`, style: {
|
|
2443
|
+
gridTemplateColumns: `0fr minmax(${(_a = this.botSettings.minWidth) !== null && _a !== void 0 ? _a : "340px"}, ${(_b = this.botSettings.maxWidth) !== null && _b !== void 0 ? _b : "375px"}) 0fr`,
|
|
2444
|
+
paddingTop: (_d = (_c = this.botSettings) === null || _c === void 0 ? void 0 : _c.paddingTop) !== null && _d !== void 0 ? _d : "96px",
|
|
2445
|
+
} }, index.h("div", { class: `modal-overlay`, role: "button", "aria-label": "Close Modal", style: {
|
|
2446
|
+
display: this.isExpanded && this.isOpened ? "grid" : "none",
|
|
2447
|
+
opacity: this.isExpanded && this.isOpened ? "1" : "0",
|
|
2448
|
+
pointerEvents: this.isExpanded && this.isOpened ? "all" : "none",
|
|
2449
|
+
} }), index.h("div", { class: "modal", "data-testid": "modal", "aria-hidden": "false", role: "dialog", "aria-modal": "true", tabindex: "-1", style: { display: this.isOpened ? "grid" : "none", opacity: this.isOpened ? "1" : "0", transform: this.isOpened ? "none" : "translateY(100%)" } }, index.h("div", { class: "flex bg-white overflow-hidden border-b border-gray-90 border-solid md:pl-3 pl-4 justify-end md:rounded-t-xl items-center toolbar" }, index.h("div", { class: "flex gap-1 toolbar-overflow-actions" }, this.isLiveAgentEnabled && ((_g = (_f = this.botSettings) === null || _f === void 0 ? void 0 : _f.liveagent) === null || _g === void 0 ? void 0 : _g.liveagent) && (index.h("live-agent-chat", { config: (_j = (_h = this.botSettings) === null || _h === void 0 ? void 0 : _h.liveagent) === null || _j === void 0 ? void 0 : _j.liveagent, ref: el => (this.liveAgentRef = el) })), !this.showHistory && (index.h("button", { class: "rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-6 w-6", tabindex: "0", "aria-label": "options menu", "aria-haspopup": "menu", "aria-expanded": "false", "aria-controls": "toolbar-dropdown-menu", onClick: e => {
|
|
2450
|
+
e.preventDefault();
|
|
2451
|
+
e.stopPropagation();
|
|
2452
|
+
this.toggleBot(e);
|
|
2453
|
+
} }, index.h("i", { class: "block wes-icon--loading text-body2 modal-toolbar-icon " }, index.h("svg", { viewBox: "0 0 24 24", id: "align-left-2", "data-name": "Flat Line", xmlns: "http://www.w3.org/2000/svg", class: "icon flat-line", fill: "currentColor" }, index.h("g", { id: "SVGRepo_bgCarrier", "stroke-width": "0" }), index.h("g", { id: "SVGRepo_tracerCarrier", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("g", { id: "SVGRepo_iconCarrier" }, index.h("path", { id: "primary", d: "M3,12H17M3,6H21M3,18H13", style: { fill: "none", stroke: "currentColor" } })))))), this.showHistory && (index.h("button", { class: "w-6 h-6 back-btn", onClick: e => {
|
|
2454
|
+
e.preventDefault();
|
|
2455
|
+
e.stopPropagation();
|
|
2456
|
+
this.showHistory = false;
|
|
2457
|
+
this.showWelcomeScreen = true;
|
|
2458
|
+
// this.hideInput = false
|
|
2459
|
+
this.isOpened = true;
|
|
2460
|
+
this.isMinimized = false;
|
|
2461
|
+
this.isAnimated = true;
|
|
2462
|
+
} }, index.h("i", null, index.h("svg", { viewBox: "0 0 200 200", "data-name": "Layer 1", id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20" }, index.h("g", { id: "SVGRepo_bgCarrier", "stroke-width": "0" }), index.h("g", { id: "SVGRepo_tracerCarrier", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("g", { id: "SVGRepo_iconCarrier" }, index.h("title", null), index.h("path", { d: "M160,89.75H56l53-53a9.67,9.67,0,0,0,0-14,9.67,9.67,0,0,0-14,0l-56,56a30.18,30.18,0,0,0-8.5,18.5c0,1-.5,1.5-.5,2.5a6.34,6.34,0,0,0,.5,3,31.47,31.47,0,0,0,8.5,18.5l56,56a9.9,9.9,0,0,0,14-14l-52.5-53.5H160a10,10,0,0,0,0-20Z" })))))), index.h("div", { id: "dropdown-menu", role: "menu", class: `flex flex-col gap-y-1 grow-wrap absolute bg-white border-b border-gray-80 border-solid rounded-lg shadow-lg p-2 mt-4 min-w-[200px] left-5 overflow-hidden ${this.isToggled ? "show" : ""} dropdown-menu`, style: { height: "auto" }, ref: el => (this.menuV2Ref = el) }, (_l = (_k = this.botSettings) === null || _k === void 0 ? void 0 : _k.buttons) === null || _l === void 0 ? void 0 :
|
|
2463
|
+
_l.map(button => (index.h("div", { class: "w-full dropdown-item", role: "menuitem", tabindex: "-1" }, index.h("button", { class: "dropdown-item-button", onClick: e => {
|
|
2464
|
+
this.toggleBot(e);
|
|
2465
|
+
this.showHistory = false;
|
|
2466
|
+
this.showWelcomeScreen = true;
|
|
2467
|
+
this.handleSend(button.label);
|
|
2468
|
+
} }, button.label)))), index.h("div", { class: "w-full dropdown-item", role: "menuitem", tabindex: "-1" }, index.h("button", { class: "dropdown-item-button", onClick: e => {
|
|
2469
|
+
this.toggleBot(e);
|
|
2470
|
+
this.showHistory = true;
|
|
2471
|
+
// this.hideInput = true
|
|
2472
|
+
this.loadConversation();
|
|
2473
|
+
// console.log("this.show", this.conversationHistory)
|
|
2474
|
+
} }, "View Recent chat")), index.h("div", { class: "w-full dropdown-item", role: "menuitem", tabindex: "-1" }, index.h("button", { class: "dropdown-item-button", onClick: ev => {
|
|
2475
|
+
ev.preventDefault();
|
|
2476
|
+
this.messages = [...[]];
|
|
2477
|
+
this.conversationId = "";
|
|
2478
|
+
this.isOpened = false;
|
|
2479
|
+
this.isMinimized = this.isExpanded ? false : true;
|
|
2480
|
+
this.showWelcomeScreen = true;
|
|
2481
|
+
this.toggleBot(ev);
|
|
2482
|
+
this.showHistory = false;
|
|
2483
|
+
this.close.emit("close");
|
|
2484
|
+
} }, "End conversation")), this.isLiveAgentEnabled && index.h("div", { class: "w-full dropdown-item", role: "menuitem", tabindex: "-1" }, this.checkLiveAgentMode(), index.h("button", { class: `dropdown-item-button ${!this.isLiveAgentEnabled ? "opacity-50 cursor-not-allowed pointer-events-none" : "opacity-100 cursor-pointer"}`, style: { opacity: !this.isLiveAgentEnabled ? "0.5" : "1", cursor: !this.isLiveAgentEnabled ? "not-allowed" : "pointer" }, onClick: ev => {
|
|
2485
|
+
ev.preventDefault();
|
|
2486
|
+
if (!this.isLiveAgentEnabled)
|
|
2487
|
+
return;
|
|
2488
|
+
if (this.isLiveAgent) {
|
|
2489
|
+
this.disconnectLiveChat();
|
|
2490
|
+
}
|
|
2491
|
+
else {
|
|
2492
|
+
this.connectLiveChat();
|
|
2493
|
+
}
|
|
2494
|
+
} }, this.liveAgentButtonText)))), ((_m = this.botSettings) === null || _m === void 0 ? void 0 : _m.botLogo) && index.h("img", { src: (_o = this.botSettings) === null || _o === void 0 ? void 0 : _o.botLogo, class: "w-8 h-8 rounded-lg" }), index.h("h2", { class: "flex-1 pl-2 heading text-body1" }, (_p = this.botSettings) === null || _p === void 0 ? void 0 : _p.botName), index.h("div", { class: "buttons flex gap-2 p-[10px]" }, index.h("button", { class: "rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-6 w-6 hidden md:flex", tabindex: "0", onClick: () => {
|
|
2495
|
+
this.isExpanded = !this.isExpanded;
|
|
2496
|
+
this.isAnimated = true;
|
|
2497
|
+
}, "aria-label": "Collapse Agentforce to Side Panel" }, index.h("i", { class: "wes-block wes-icon--loading wes-text-body2 modal-toolbar-icon" }, this.isExpanded && (index.h("svg", { viewBox: "0 0 32 32", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M18.215 14.7076H27.692C28.3074 14.7076 28.492 14.0307 27.9997 13.5383L24.9843 10.4614L30.5228 4.86149C30.8305 4.5538 30.8305 3.99995 30.5228 3.69226L28.2459 1.41536C27.9382 1.16921 27.4459 1.16921 27.0767 1.4769L21.5381 7.01532L18.3997 3.99995C17.9073 3.50765 17.2304 3.69226 17.2304 4.30764V13.7845C17.2304 14.2153 17.7843 14.7076 18.215 14.7076ZM13.7847 17.2308H4.30766C3.69227 17.2308 3.50765 17.9077 3.99996 18.4L7.01537 21.4769L1.47686 27.0769C1.16917 27.3846 1.16917 27.9384 1.47686 28.2461L3.75381 30.523C4.0615 30.8307 4.55381 30.8307 4.92305 30.523L10.5231 24.923L13.6616 27.9384C14.0924 28.4923 14.7693 28.3076 14.7693 27.6923V18.2769C14.7693 17.8462 14.2154 17.2308 13.7847 17.2308Z" }))), !this.isExpanded && (index.h("svg", { viewBox: "0 0 32 32", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M30.0308 1.23071H20.4923C19.8769 1.23071 19.6923 1.78455 20.1846 2.27686L23.2 5.29222L17.6615 10.8306C17.3538 11.1383 17.3538 11.6306 17.6615 11.9999L19.9384 14.2768C20.2461 14.5845 20.7384 14.5845 21.1077 14.2768L26.7077 8.67681L29.7231 11.6922C30.2154 12.1845 30.7692 11.9999 30.7692 11.3845V1.90763C30.7692 1.5384 30.4 1.23071 30.0308 1.23071ZM2.15379 30.7692H11.6307C12.2461 30.7692 12.4307 30.0923 11.9384 29.6L8.92303 26.5231L14.4615 20.9231C14.7692 20.6154 14.7692 20.0616 14.4615 19.7539L12.1846 17.477C11.8769 17.1693 11.3846 17.1693 11.0153 17.477L5.47687 23.0154L2.39995 20C1.8461 19.5077 1.23071 19.6923 1.23071 20.3077V29.7846C1.23071 30.2153 1.72302 30.7692 2.15379 30.7692Z" }))))), index.h("button", { class: "rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-6 w-6", tabindex: "0", "data-testid": "modal-minimize", "aria-label": "Minimize", onClick: () => {
|
|
2498
|
+
this.isOpened = false;
|
|
2499
|
+
// this.isContent = false
|
|
2500
|
+
this.isContent = this.isExpanded && this.botSettings.isExpanded ? true : false;
|
|
2501
|
+
this.isMinimized = this.isExpanded && this.botSettings.isExpanded ? false : true;
|
|
2502
|
+
this.isAnimated = false;
|
|
2503
|
+
this.updateScreenSize();
|
|
2504
|
+
this.minimize.emit("minimize");
|
|
2505
|
+
} }, index.h("i", { class: "block wes-icon--loading text-body2 modal-toolbar-icon" }, index.h("svg", { viewBox: "0 0 26 26", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M25 24.25C25 24.65 24.65 25 24.25 25H1.75C1.35 25 1 24.65 1 24.25V22.75C1 22.35 1.35 22 1.75 22H24.25C24.65 22 25 22.35 25 22.75V24.25Z" })))))), index.h("div", { class: "flex-1 flex flex-col main" }, index.h("div", { class: "h-full flex flex-col chat-body" }, index.h("div", { class: "px-5 flex-[1_1_0] min-h-[calc(100%-1px)] flex flex-col gap-y-3 @md:px-3 messages-container", role: "region", "aria-label": "messages" }, this.showWelcomeScreen && index.h("div", { class: "@md:px-6 pb-3 @md:pb-7 @md:pt-8 pt-5 text-display5", innerHTML: (_r = (_q = this.botSettings) === null || _q === void 0 ? void 0 : _q.welcome) === null || _r === void 0 ? void 0 : _r.message }), this.messages.length > 0 &&
|
|
2506
|
+
!this.showHistory &&
|
|
2507
|
+
this.messages.map((message, idx) => {
|
|
2508
|
+
var _a, _b, _c;
|
|
2509
|
+
// const showAvatar = !message.isUser && (idx === this.messages.length - 1 || this.messages[idx + 1]?.isUser === true)
|
|
2510
|
+
const email = "";
|
|
2511
|
+
return (index.h("div", { class: `flex pb-3 gap-x-2 @md:gap-x-3
|
|
2512
|
+
${message.isUser ? "self-end" : ""}
|
|
2513
|
+
${message.isUser ? "justify-end" : ""} end-user-message message-item`, style: { opacity: "1", transform: "none" } }, message.isUser && (index.h("div", { class: "flex flex-col items-end" }, index.h("div", { "data-testid": "message", class: "break-words @md:text-body2 box-border @md:pr-4 flex-1 rounded-lg py-2 px-4 user-msg text-body3", innerHTML: message.text }, (_a = message === null || message === void 0 ? void 0 : message.images) === null || _a === void 0 ? void 0 : _a.map(img => {
|
|
2514
|
+
return index.h("img", { src: img, class: "thumbnail", alt: "thumbnail" });
|
|
2515
|
+
})), index.h("div", { class: "text-gray-30 pt-2 text-right text-body4" }, "Sent ", message.timestamp))), !message.isUser && (index.h("div", { class: "avatar-column" }, index.h("chat-avatar", { id: `la${message.id}`, senderType: (message === null || message === void 0 ? void 0 : message.sender) ? "agent" : "bot", avatarUrl: (_b = this.botSettings) === null || _b === void 0 ? void 0 : _b.botAvatar }))), !message.isUser && (index.h("div", { class: "flex flex-col", style: { width: "100%" } }, index.h("div", { "data-testid": "message", class: {
|
|
2516
|
+
"prose": message.controlType === "form" ? false : true,
|
|
2517
|
+
"transition-all": true,
|
|
2518
|
+
"duration-300": true,
|
|
2519
|
+
"opacity-100": this.isProse,
|
|
2520
|
+
"opacity-90": !this.isProse,
|
|
2521
|
+
"max-w-full break-words @md:text-body2 box-border @md:pr-4 flex-1 rounded-lg text-gray-30 pr-2 text-body3": true,
|
|
2522
|
+
}, innerHTML: message.text, id: message.id }, message.text === "" && (index.h("div", { class: "w-full rounded-md", id: "spinner" }, index.h("div", { class: "flex animate-pulse space-x-4" }, index.h("div", { class: "flex-1 space-y-3 py-1" }, index.h("div", { class: "h-4 rounded bg-gray-200" }), index.h("div", { class: "space-y-3" }, index.h("div", { class: "grid grid-cols-3 gap-4" }, index.h("div", { class: "col-span-2 h-4 rounded bg-gray-200" }), index.h("div", { class: "col-span-1 h-4 rounded bg-gray-200" })), index.h("div", { class: "h-4 rounded bg-gray-200" }))))))), message.text !== "" && message.showIcon && index.h("div", { class: "thumbs-container flex gap-2 mt-2" }, this.isPlayed && (index.h("button", { class: "copy-btn", onClick: () => {
|
|
2523
|
+
this.isPlayed = false;
|
|
2524
|
+
window.speechSynthesis.cancel();
|
|
2525
|
+
if (this.audioElement) {
|
|
2526
|
+
this.audioElement.pause();
|
|
2527
|
+
this.audioElement.currentTime = 0;
|
|
2528
|
+
this.audioElement.src = ""; // Remove the audio source
|
|
2529
|
+
this.audioElement = null; // Dereference the object
|
|
2530
|
+
}
|
|
2531
|
+
// this.isPlayed = false
|
|
2532
|
+
} }, index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "icon-md-heavy" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM9.5 8.5C8.94772 8.5 8.5 8.94772 8.5 9.5V14.5C8.5 15.0523 8.94772 15.5 9.5 15.5H14.5C15.0523 15.5 15.5 15.0523 15.5 14.5V9.5C15.5 8.94772 15.0523 8.5 14.5 8.5H9.5Z", fill: "currentColor" })))), !this.isPlayed && (index.h("button", { class: "copy-btn", onClick: () => this.speakText(utils.removeHtmlTags(message.text)) }, index.h("svg", { class: "w-6 h-6", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M11 4.9099C11 4.47485 10.4828 4.24734 10.1621 4.54132L6.67572 7.7372C6.49129 7.90626 6.25019 8.00005 6 8.00005H4C3.44772 8.00005 3 8.44776 3 9.00005V15C3 15.5523 3.44772 16 4 16H6C6.25019 16 6.49129 16.0938 6.67572 16.2629L10.1621 19.4588C10.4828 19.7527 11 19.5252 11 19.0902V4.9099ZM8.81069 3.06701C10.4142 1.59714 13 2.73463 13 4.9099V19.0902C13 21.2655 10.4142 22.403 8.81069 20.9331L5.61102 18H4C2.34315 18 1 16.6569 1 15V9.00005C1 7.34319 2.34315 6.00005 4 6.00005H5.61102L8.81069 3.06701ZM20.3166 6.35665C20.8019 6.09313 21.409 6.27296 21.6725 6.75833C22.5191 8.3176 22.9996 10.1042 22.9996 12.0001C22.9996 13.8507 22.5418 15.5974 21.7323 17.1302C21.4744 17.6185 20.8695 17.8054 20.3811 17.5475C19.8927 17.2896 19.7059 16.6846 19.9638 16.1962C20.6249 14.9444 20.9996 13.5175 20.9996 12.0001C20.9996 10.4458 20.6064 8.98627 19.9149 7.71262C19.6514 7.22726 19.8312 6.62017 20.3166 6.35665ZM15.7994 7.90049C16.241 7.5688 16.8679 7.65789 17.1995 8.09947C18.0156 9.18593 18.4996 10.5379 18.4996 12.0001C18.4996 13.3127 18.1094 14.5372 17.4385 15.5604C17.1357 16.0222 16.5158 16.1511 16.0539 15.8483C15.5921 15.5455 15.4632 14.9255 15.766 14.4637C16.2298 13.7564 16.4996 12.9113 16.4996 12.0001C16.4996 10.9859 16.1653 10.0526 15.6004 9.30063C15.2687 8.85905 15.3578 8.23218 15.7994 7.90049Z", fill: "currentColor" })))), index.h("button", { id: `thumbsUp_${message.thumbsId}`, onClick: () => this.thumbsUp(message.thumbsId, message.insightId), class: "chat-thumbs-up" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-6 h-6" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z" }))), index.h("button", { id: `thumbsDown_${message.thumbsId}`, onClick: () => this.thumbsDown(message.thumbsId, message.insightId), class: "chat-thumbs-up" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "w-6 h-6" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148.593 1.2.925 2.55.925 3.977 0 1.487-.36 2.89-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54" }))), index.h("button", { class: "copy-btn", onClick: () => this.copyToClipboard(message.text) }, !this.copied && (index.h("svg", { class: "w-6 h-6", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M7 5C7 3.34315 8.34315 2 10 2H19C20.6569 2 22 3.34315 22 5V14C22 15.6569 20.6569 17 19 17H17V19C17 20.6569 15.6569 22 14 22H5C3.34315 22 2 20.6569 2 19V10C2 8.34315 3.34315 7 5 7H7V5ZM9 7H14C15.6569 7 17 8.34315 17 10V15H19C19.5523 15 20 14.5523 20 14V5C20 4.44772 19.5523 4 19 4H10C9.44772 4 9 4.44772 9 5V7ZM5 9C4.44772 9 4 9.44772 4 10V19C4 19.5523 4.44772 20 5 20H14C14.5523 20 15 19.5523 15 19V10C15 9.44772 14.5523 9 14 9H5Z", fill: "currentColor" }))), this.copied && (index.h("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "w-6 h-6" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M19.8198 6.19526C20.0601 6.45561 20.0601 6.87772 19.8198 7.13807L9.9736 17.8047C9.73328 18.0651 9.34364 18.0651 9.10332 17.8047L4.18024 12.4714C3.93992 12.2111 3.93992 11.7889 4.18024 11.5286C4.42056 11.2682 4.8102 11.2682 5.05053 11.5286L9.53846 16.3905L18.9495 6.19526C19.1898 5.93491 19.5794 5.93491 19.8198 6.19526Z", fill: "currentColor" })))), index.h("button", { class: "copy-btn" }, index.h("a", { href: `mailto:${email}?subject=${encodeURIComponent((_c = this.messages[idx - 1]) === null || _c === void 0 ? void 0 : _c.text)}&body=${encodeURIComponent(utils.removeHtmlTags(message.text))}`, target: "_blank" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", stroke: "currentColor", "stroke-width": "0.3", class: "w-6 h-6" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M3.75 5.25L3 6V18L3.75 18.75H20.25L21 18V6L20.25 5.25H3.75ZM4.5 7.6955V17.25H19.5V7.69525L11.9999 14.5136L4.5 7.6955ZM18.3099 6.75H5.68986L11.9999 12.4864L18.3099 6.75Z", fill: "currentColor" }), " ")))), index.h("div", { class: "text-gray-30 pt-2 text-body4" }, this.botSettings.botName, " \u2022 ", message.timestamp)))));
|
|
2533
|
+
}), this.showHistory && (index.h("chatbot-history", { chatList: this.conversationHistory, botName: (_s = this.botSettings) === null || _s === void 0 ? void 0 : _s.botName, styles: this.customStyle, scripts: this.customJS })), index.h("div", { class: "h-px pt-2px", style: { overflowAnchor: "auto" } })), index.h("div", { "aria-live": "polite", class: "absolute w-[1px] h-[1px] p-0 m-[-1px] overflow-hidden whitespace-nowrap border-0" })))), index.h("form", { "data-testid": "user-input", class: `relative pointer-events-auto ${this.isOpened ? "p-2.5" : ""} searchform user-input`, role: "region", "aria-label": "Message Area", "aria-hidden": "false", style: { opacity: !this.isMinimized ? "1" : "0", transform: "translateX(0)", pointerEvents: !this.isMinimized ? "auto" : "none" } }, !this.isOpened && (index.h("div", { class: `absolute right-4 md:right-0 border-2 border-white border-solid rounded-full ${this.isContent ? "" : "top-0"} minimize-input` }, index.h("button", { class: "rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-gray-500 bg-opacity-60 hover:bg-opacity-80 h-5 w-5", tabindex: "0", onClick: e => {
|
|
2534
|
+
e.preventDefault();
|
|
2535
|
+
this.isMinimized = !this.isMinimized;
|
|
2536
|
+
} }, index.h("i", { class: "block ai-minimize-icon ai-text-caption" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "52", width: "52", viewBox: "0 0 520 520", fill: "#fff" }, index.h("path", { d: "M500 275c0 8-7 15-15 15H35c-8 0-15-7-15-15v-30c0-8 7-15 15-15h450c8 0 15 7 15 15z" })))))), index.h("fieldset", { class: `flex flex-col @md:mx-0 @md:rounded-t-xl transition-colors ${this.isMinimized && !this.isExpanded ? "" : "p-4 user-input-fieldset"}` }, !this.isExpanded && this.isOpened && this.messages.length === 0 && (index.h("privacy-modal", { show: this.showPrivacy, message: this.botSettings.privacyTemplate })), index.h("div", { class: "flex-1 align-bottom" }, this.isTypingIndicatorVisible && (index.h("div", { class: "flex items-center justify-center w-full h-12" }, index.h("typing-indicator", null))), index.h("div", { class: "grow-wrap show-grid after:whitespace-pre-wrap after:invisible relative", "data-replicated-value": "", "aria-disabled": "false" }, this.botSettings.imageUpload && (index.h("div", { "aria-disabled": "true", class: `absolute flex items-center left-0 bottom-0 h-full pl-4 pr-2 ${this.hideAllButtons ? "hidden" : ""} ${this.isContent ? "hidden" : ""} agent-input-icon` }, index.h("button", { class: "plus-icon", onClick: e => {
|
|
2537
|
+
e.stopPropagation();
|
|
2538
|
+
e.preventDefault();
|
|
2539
|
+
this.showMenu = !this.showMenu;
|
|
2540
|
+
} }, index.h("i", { class: "plus-icon wes-block wes-text-body1" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", width: "20", height: "20" }, index.h("path", { d: "M10.75 4.75a.75.75 0 0 0-1.5 0v4.5h-4.5a.75.75 0 0 0 0 1.5h4.5v4.5a.75.75 0 0 0 1.5 0v-4.5h4.5a.75.75 0 0 0 0-1.5h-4.5v-4.5Z" })))), index.h("div", { class: `absolute bottom-6 left-0 w-44 bg-white rounded-lg shadow-lg transition-all duration-300 ease-in-out z-10
|
|
2541
|
+
${this.showMenu ? "opacity-100 scale-100 pointer-events-auto" : "opacity-0 scale-90 pointer-events-none"}` }, index.h("ul", { class: "space-y-2", ref: el => (this.plusIconRef = el) }, index.h("li", { class: "px-4 py-2 hover:bg-gray-100 cursor-pointer flex", onClick: () => {
|
|
2542
|
+
this.uploadElem.click();
|
|
2543
|
+
// this.isOpen = false
|
|
2544
|
+
this.showMenu = false;
|
|
2545
|
+
} }, index.h("input", { type: "file", multiple: true, name: "files[]", id: "fileInput", accept: "image/*", class: "image-upload__input", onChange: ($event) => {
|
|
2546
|
+
// this.isImage = true
|
|
2547
|
+
this.onInputChange($event.target.files);
|
|
2548
|
+
}, ref: el => (this.uploadElem = el) }), index.h("div", { class: "mr-1" }, index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "h-5 w-5 shrink-0" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M18.0322 5.02393C17.7488 5.00078 17.3766 5 16.8 5H11.5002C11.3 6 11.0989 6.91141 10.8903 7.85409C10.7588 8.44955 10.6432 8.97304 10.3675 9.41399C10.1262 9.80009 9.80009 10.1262 9.41399 10.3675C8.97304 10.6432 8.44955 10.7588 7.85409 10.8903C7.81276 10.8994 7.77108 10.9086 7.72906 10.9179L5.21693 11.4762C5.1442 11.4924 5.07155 11.5001 5 11.5002V16.8C5 17.3766 5.00078 17.7488 5.02393 18.0322C5.04612 18.3038 5.0838 18.4045 5.109 18.454C5.20487 18.6422 5.35785 18.7951 5.54601 18.891C5.59546 18.9162 5.69617 18.9539 5.96784 18.9761C6.25118 18.9992 6.62345 19 7.2 19H10C10.5523 19 11 19.4477 11 20C11 20.5523 10.5523 21 10 21H7.16144C6.6343 21 6.17954 21 5.80497 20.9694C5.40963 20.9371 5.01641 20.8658 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3.13419 18.9836 3.06287 18.5904 3.03057 18.195C2.99997 17.8205 2.99998 17.3657 3 16.8385L3 11C3 8.92477 4.02755 6.93324 5.4804 5.4804C6.93324 4.02755 8.92477 3 11 3L16.8385 3C17.3657 2.99998 17.8205 2.99997 18.195 3.03057C18.5904 3.06287 18.9836 3.13419 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C20.8658 5.01641 20.9371 5.40963 20.9694 5.80497C21 6.17954 21 6.6343 21 7.16144V10C21 10.5523 20.5523 11 20 11C19.4477 11 19 10.5523 19 10V7.2C19 6.62345 18.9992 6.25118 18.9761 5.96784C18.9539 5.69617 18.9162 5.59546 18.891 5.54601C18.7951 5.35785 18.6422 5.20487 18.454 5.109C18.4045 5.0838 18.3038 5.04612 18.0322 5.02393ZM5.28014 9.41336L7.2952 8.96556C8.08861 8.78925 8.24308 8.74089 8.35381 8.67166C8.48251 8.59121 8.59121 8.48251 8.67166 8.35381C8.74089 8.24308 8.78925 8.08861 8.96556 7.2952L9.41336 5.28014C8.51014 5.59289 7.63524 6.15398 6.89461 6.89461C6.15398 7.63524 5.59289 8.51014 5.28014 9.41336ZM17 15C17 14.4477 17.4477 14 18 14C18.5523 14 19 14.4477 19 15V17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H19V21C19 21.5523 18.5523 22 18 22C17.4477 22 17 21.5523 17 21V19H15C14.4477 19 14 18.5523 14 18C14 17.4477 14.4477 17 15 17H17V15Z", fill: "currentColor" }))), index.h("div", null, "Upload Images")))))), index.h("div", { class: `${this.isContent ? "hidden" : ""} textarea` }, index.h("div", { id: "previewContainer" }), this.showTextarea && (index.h("textarea", { class: `resize-none overflow-hidden text-ellipsis focus:outline-none w-full ${this.hideAllButtons ? "hidden" : ""}`, "data-testid": "user-input-textarea", rows: this.rowCount, name: "userMessage", placeholder: (_u = (_t = this.botSettings) === null || _t === void 0 ? void 0 : _t.botPlaceholderText) !== null && _u !== void 0 ? _u : "Ask me anything",
|
|
2549
|
+
// aria-labelledby="message-submit"
|
|
2550
|
+
ref: el => (this.inputEl = el), onKeyUp: _e => {
|
|
2551
|
+
this.adjustHeight();
|
|
2552
|
+
}, onKeyDown: e => {
|
|
2553
|
+
this.handleKeyDown(e);
|
|
2554
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
2555
|
+
this.isOpened = true;
|
|
2556
|
+
}
|
|
2557
|
+
} }))), this.botSettings.enableMic && (index.h("label", { class: `absolute bottom-0 ${this.isContent ? "hidden" : ""} ${this.hideAllButtons ? "w-full" : "right-8"}` }, index.h("audio-recorder", { "component-type": "bot", onStartRecord: _ev => {
|
|
2558
|
+
// console.log("test", ev)
|
|
2559
|
+
this.hideAllButtons = true;
|
|
2560
|
+
}, onStopRecord: _ev => {
|
|
2561
|
+
this.hideAllButtons = false;
|
|
2562
|
+
}, onSendTranscript: ev => {
|
|
2563
|
+
// console.log("ev", ev)
|
|
2564
|
+
setTimeout(() => {
|
|
2565
|
+
// console.log("input", this.inputEl)
|
|
2566
|
+
if (this.inputEl) {
|
|
2567
|
+
this.inputEl.value = ev.detail;
|
|
2568
|
+
this.adjustHeight();
|
|
2569
|
+
this.showSubmit = true;
|
|
2570
|
+
}
|
|
2571
|
+
}, 1000);
|
|
2572
|
+
}, style: { width: this.hideAllButtons ? "100%" : "10%" } }))), index.h("label", { class: `absolute right-0 bottom-0 ${this.isContent ? "hidden" : ""} ${this.hideAllButtons ? "hidden" : ""}` }, index.h("button", { class: "text-white transition rounded-full p-1.5 self-center btn-bg-color",
|
|
2573
|
+
// class="rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-8 w-8"
|
|
2574
|
+
tabindex: "-1", id: "message-submit",
|
|
2575
|
+
// type="submit"
|
|
2576
|
+
onClick: e => {
|
|
2577
|
+
var _a;
|
|
2578
|
+
e.preventDefault();
|
|
2579
|
+
if ((!this.inputEl || this.inputEl.value.trim() === "") && this.imagesBase64List && this.imagesBase64List.length === 0) {
|
|
2580
|
+
return;
|
|
2581
|
+
}
|
|
2582
|
+
this.isOpened = true;
|
|
2583
|
+
// this.handleMessageSubmit(e)
|
|
2584
|
+
this.handleSend((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.value);
|
|
2585
|
+
} }, index.h("i", { class: "block ai-icon text-body1" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", fill: "currentColor", class: "size-6" }, index.h("path", { "fill-rule": "evenodd", d: "M8 14a.75.75 0 0 1-.75-.75V4.56L4.03 7.78a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1-1.06 1.06L8.75 4.56v8.69A.75.75 0 0 1 8 14Z", "clip-rule": "evenodd" }))))), index.h("button", { class: `${this.isContent && !this.isMinimized ? "block" : "hidden"} rounded-full isContent`, "aria-label": "Return to AI", onClick: ev => {
|
|
2586
|
+
ev.preventDefault();
|
|
2587
|
+
this.isContent = false;
|
|
2588
|
+
this.isOpened = true;
|
|
2589
|
+
this.isExpanded = true;
|
|
2590
|
+
} }, index.h("div", { class: "font-bold text-body2 text-white hidden md:flex pl-3 items-center" }, "Return to AI", index.h("i", { class: "inline-block pl-3 ai-minimize-icon block wes-icon--loading text-body1 return-text-color" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 16", fill: "none" }, index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M1.30775 9.15362H14.077C14.4231 9.15362 14.577 9.5767 14.3462 9.80747L10.6539 13.4998C10.4231 13.7305 10.4231 14.0767 10.6539 14.3075L11.5001 15.1536C11.7308 15.3844 12.077 15.3844 12.3077 15.1536L19.0385 8.38439C19.2693 8.15362 19.2693 7.80747 19.0385 7.5767L12.3077 0.845928C12.077 0.615159 11.7308 0.615159 11.5001 0.845928L10.6924 1.65362C10.4616 1.88439 10.4616 2.23054 10.6924 2.46131L14.3847 6.15362C14.6154 6.42285 14.4616 6.84593 14.1154 6.84593H1.34621C1.03852 6.84593 0.769287 7.0767 0.769287 7.38439V8.53824C0.769287 8.84593 1.00006 9.15362 1.30775 9.15362Z", fill: "white" })))))), this.isExpanded && !this.isOpened && index.h("privacy-modal", { show: this.showPrivacy, message: this.botSettings.privacyTemplate })))), index.h("div", {
|
|
2591
|
+
// slot="bot"
|
|
2592
|
+
class: "pointer-events-auto fixed right-7 whitespace-nowrap transition-transform duration-300 ease-in-out fab", style: {
|
|
2593
|
+
opacity: this.isMinimized ? "1" : "0",
|
|
2594
|
+
transform: this.isMinimized ? "translateX(0)" : "translateX(-100%)",
|
|
2595
|
+
pointerEvents: this.isMinimized ? "auto" : "none",
|
|
2596
|
+
transformOrigin: "50% 50% 0px",
|
|
2597
|
+
}, onClick: () => {
|
|
2598
|
+
this.openChat();
|
|
2599
|
+
}
|
|
2600
|
+
}, this.isBot && index.h("slot", { name: "bot" }), !this.isBot && (index.h("button", { class: "rounded-full flex cursor-pointer items-center pr-[14px] md:gap-x-3 focus:outline focus:outline-2 focus:outline-offset-2 focus:outline-blue-focused", tabindex: "0" }, index.h("div", { class: "w-10 h-10 flex items-center justify-center bg-white rounded-full border relative" }, this.botSettings.botLaunchIcon && index.h("img", { src: this.botSettings.botLaunchIcon, alt: "bot icon", class: "w-8 h-8 rounded-lg" }), !this.botSettings.botLaunchIcon && (index.h("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", stroke: "#2095ae" }, index.h("g", { "stroke-width": "0" }), index.h("g", { "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("g", null, " ", index.h("path", { d: "M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z", stroke: "#2095ae", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), " ")))), index.h("span", { class: "bot-name" }, "Ask ", (_v = this.botSettings) === null || _v === void 0 ? void 0 :
|
|
2601
|
+
_v.botName))))))));
|
|
2602
|
+
}
|
|
2603
|
+
get el() { return index.getElement(this); }
|
|
2604
|
+
static get watchers() { return {
|
|
2605
|
+
"currentDomId": ["watchStateHandler"],
|
|
2606
|
+
"surveyDomId": ["watchSurveyDomIdHandler"]
|
|
2607
|
+
}; }
|
|
2608
|
+
};
|
|
2609
|
+
Ai12zBot.style = Ai12zBotStyle0 + (Ai12zBotStyle1 + (Ai12zBotStyle2 + Ai12zBotStyle3));
|
|
2610
|
+
|
|
2611
|
+
exports.Ai12zBot = Ai12zBot;
|
|
2612
|
+
|
|
2613
|
+
//# sourceMappingURL=ai12z-bot-f357d89d.js.map
|