@snf/access-qa-bot 1.0.0-beta.1 → 2.0.0-rc.1

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # ACCESS Q&A Bot
1
+ # Q&A Bot
2
2
 
3
- A React component and Web Component for integrating the ACCESS Q&A Bot into your application.
3
+ A React component and Web Component for integrating the Q&A Bot into your application. The bot can operate in two modes: **floating** (chat button that opens/closes a window) or **embedded** (always visible inline).
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,175 +8,329 @@ A React component and Web Component for integrating the ACCESS Q&A Bot into your
8
8
  npm install @snf/access-qa-bot
9
9
  ```
10
10
 
11
- ## Usage
11
+ ## Developing React App
12
12
 
13
- ### As a React Component
13
+ ```bash
14
+ npm install
15
+ npm run start
16
+ ```
14
17
 
15
- ```jsx
16
- import React, { useState } from 'react';
17
- import { QABot } from 'access-qa-bot';
18
+ ## Running the Demo
18
19
 
19
- function MyApp() {
20
- const [isOpen, setIsOpen] = useState(false);
21
- const isLoggedIn = true; // Determine based on your auth logic
22
-
23
- return (
24
- <div className="app">
25
- <h1>My React Application</h1>
26
-
27
- <button onClick={() => setIsOpen(!isOpen)}>
28
- {isOpen ? 'Close' : 'Open'} Q&A Bot
29
- </button>
30
-
31
- <QABot
32
- isLoggedIn={isLoggedIn}
33
- defaultOpen={isOpen}
34
- onClose={() => setIsOpen(false)}
35
- welcome="Welcome to the ACCESS Q&A Bot!"
36
- prompt="How can I help you today?"
37
- apiKey={process.env.REACT_APP_API_KEY}
38
- />
39
- </div>
40
- );
41
- }
20
+ This will serve the index.html file in the root directory, which demonsrates two different ways to integrate the bot.
21
+
22
+ ```bash
23
+ npm run build:lib
24
+ npm run build
25
+ npx serve
26
+ ```
27
+
28
+
29
+ ### Floating vs Embedded Modes
30
+
31
+ The Q&A Bot supports two display modes:
32
+
33
+ - **Floating Mode** (default): Shows a chat button that opens/closes a floating chat window
34
+ - **Embedded Mode**: Always visible, embedded directly in the page content
35
+
36
+ **All integration methods support both modes**, but have different defaults:
37
+
38
+ | Method | Default Mode | Override |
39
+ |--------|--------------|----------|
40
+ | Element ID (`#qa-bot`) | Floating | Set `embedded: true` |
41
+ | CSS Class (`.embedded-qa-bot`) | Embedded | n/a |
42
+ | JavaScript API | Floating | Set `embedded: true` |
43
+ | Custom Element (`<qa-bot>`) | Floating | Add `embedded` attribute |
44
+
45
+ ## Integration Methods
46
+
47
+ ### Method 1: Auto-Detection by Element ID (Floating by Default)
48
+
49
+ Simply add a div with id `qa-bot` to your HTML:
50
+
51
+ ```html
52
+ <script src="https://unpkg.com/@snf/access-qa-bot@0.2.0/dist/access-qa-bot.standalone.js"></script>
53
+
54
+ <!-- Automatically creates a floating chat button -->
55
+ <div id="qa-bot"></div>
42
56
  ```
43
57
 
44
- ### As a Web Component
58
+ ### Method 2: Auto-Detection by CSS Class (Embedded by Default)
45
59
 
46
- #### Method 1: Using HTML directly
60
+ Use the `embedded-qa-bot` class with optional data attributes:
47
61
 
48
62
  ```html
49
63
  <script src="https://unpkg.com/@snf/access-qa-bot@0.2.0/dist/access-qa-bot.standalone.js"></script>
50
64
 
51
- <access-qa-bot
52
- welcome="Welcome to the Q&A Bot!"
53
- prompt="Ask me anything about ACCESS..."
54
- is-logged-in
55
- default-open>
56
- </access-qa-bot>
65
+ <!-- Automatically creates an embedded chat widget -->
66
+ <div class="embedded-qa-bot"
67
+ data-welcome="Hello!"></div>
57
68
  ```
58
69
 
59
- #### Method 2: Creating programmatically
70
+ ### Method 3: Programmatic JavaScript API (Floating by Default)
71
+
72
+ Call the `qaBot()` function with full control:
60
73
 
61
74
  ```html
62
75
  <script src="https://unpkg.com/@snf/access-qa-bot@0.2.0/dist/access-qa-bot.standalone.js"></script>
63
76
 
64
- <div id="qa-container"></div>
77
+ <div id="my-bot-container"></div>
65
78
 
66
79
  <script>
67
- const container = document.getElementById('qa-container');
68
- const qaBot = document.createElement('access-qa-bot');
69
- qaBot.setAttribute('welcome', 'Hello!');
70
- qaBot.setAttribute('prompt', 'Ask something...');
71
- qaBot.setAttribute('is-logged-in', '');
72
- container.appendChild(qaBot);
80
+ // Check if user is logged in by looking for auth cookie
81
+ function isUserLoggedIn() {
82
+ return document.cookie.split(';').some(cookie => {
83
+ return cookie.trim().startsWith('SESSaccesscisso=');
84
+ });
85
+ }
86
+
87
+ window.addEventListener('load', function() {
88
+ const botController = qaBot({
89
+ target: document.getElementById('my-bot-container'),
90
+ embedded: false, // false = floating (default), true = embedded
91
+ welcome: "Custom welcome message!",
92
+ isLoggedIn: isUserLoggedIn(),
93
+ defaultOpen: false,
94
+ });
95
+
96
+ // Use the controller to interact with the bot
97
+ botController.addMessage("Hello from JavaScript!");
98
+ botController.openChat(); // Only works in floating mode
99
+ });
73
100
  </script>
74
101
  ```
75
102
 
76
- #### Method 3: Using the JavaScript API
103
+ ### Method 4: Custom Web Component Element (Floating by Default)
104
+
105
+ Use the `<qa-bot>` custom element directly in your HTML:
77
106
 
78
107
  ```html
79
108
  <script src="https://unpkg.com/@snf/access-qa-bot@0.2.0/dist/access-qa-bot.standalone.js"></script>
80
109
 
81
- <div id="js-api-container"></div>
82
-
83
110
  <script>
84
- window.addEventListener('load', function() {
85
- if (window.accessQABot && window.accessQABot.qAndATool) {
86
- window.accessQABot.qAndATool({
87
- target: document.getElementById('js-api-container'),
88
- welcome: "This is created using the JavaScript API!",
89
- prompt: "Ask a question about ACCESS...",
90
- isLoggedIn: true,
91
- embedded: true,
92
- defaultOpen: true
93
- });
111
+ // Check if user is logged in by looking for auth cookie
112
+ function isUserLoggedIn() {
113
+ return document.cookie.split(';').some(cookie => {
114
+ return cookie.trim().startsWith('SESSaccesscisso=');
115
+ });
116
+ }
117
+
118
+ // Set login status dynamically when page loads
119
+ window.addEventListener('load', function() {
120
+ const botElement = document.querySelector('qa-bot');
121
+ if (botElement && isUserLoggedIn()) {
122
+ botElement.setAttribute('is-logged-in', '');
94
123
  }
95
- });
124
+ });
96
125
  </script>
126
+
127
+ <!-- Floating mode (default) -->
128
+ <qa-bot
129
+ welcome="Welcome to the Q&A Bot!"
130
+ default-open
131
+ ring-effect>
132
+ </qa-bot>
133
+
134
+ <!-- Embedded mode -->
135
+ <qa-bot
136
+ embedded
137
+ welcome="This is an embedded bot!">
138
+ </qa-bot>
97
139
  ```
98
140
 
99
- ### Direct Deployment via jsDelivr CDN
141
+ **Custom Element Attributes:**
142
+ - `api-key` - API key for authentication
143
+ - `default-open` - Initially open floating chat (boolean attribute)
144
+ - `embedded` - Use embedded mode (boolean attribute)
145
+ - `is-logged-in` - User is logged in (boolean attribute)
146
+ - `login-url` - URL for login redirect
147
+ - `ring-effect` - Enable phone ring animation on tooltip (boolean attribute)
148
+ - `welcome` - Welcome message
100
149
 
101
- For websites that don't use npm packages, you can directly include the ACCESS Q&A Bot using jsDelivr CDN:
150
+ **Accessing the Custom Element Programmatically:**
151
+ ```javascript
152
+ // Get reference to the custom element
153
+ const botElement = document.querySelector('qa-bot');
154
+
155
+ // Call methods directly on the element
156
+ botElement.addMessage("Hello World!");
157
+ botElement.setBotIsLoggedIn(true);
158
+ botElement.openChat(); // Floating mode only
159
+ botElement.closeChat(); // Floating mode only
160
+ botElement.toggleChat(); // Floating mode only
161
+ ```
102
162
 
103
- ```html
104
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/necyberteam/qa-bot@v0.2.0/build/static/css/main.css">
105
- <div style="display:none;" id="qa-bot">
106
- &nbsp;
107
- </div>
108
- <script src="https://cdn.jsdelivr.net/gh/necyberteam/qa-bot@v0.2.0/build/static/js/main.js"></script>
109
- <script src="https://cdn.jsdelivr.net/gh/necyberteam/qa-bot@v0.2.0/build/static/js/453.chunk.js"></script>
163
+ ## Programmatic Control
164
+
165
+ When using the JavaScript API, you get a controller object with these methods:
166
+
167
+ ```javascript
168
+ const botController = qaBot({...});
169
+
170
+ // Add a message to the chat
171
+ botController.addMessage("Hello World!");
172
+
173
+ // Set user login status
174
+ botController.setBotIsLoggedIn(true);
175
+
176
+ // Control chat window (floating mode only)
177
+ botController.openChat();
178
+ botController.closeChat();
179
+ botController.toggleChat();
180
+
181
+ // Cleanup
182
+ botController.destroy();
110
183
  ```
111
184
 
112
- Replace `v0.2.0` with the specific version you want to use. This method provides the React version of the bot and automatically initializes it when the page loads.
185
+ ## As a React Component
113
186
 
114
- ## Properties
187
+ For React applications, import and use the component directly:
188
+
189
+ ```jsx
190
+ import React, { useRef, useState } from 'react';
191
+ import { QABot, qaBot } from '@snf/access-qa-bot';
192
+
193
+ function MyApp() {
194
+ const [isLoggedIn, setIsLoggedIn] = useState(false);
195
+ const botRef = useRef();
196
+
197
+ const handleAddMessage = () => {
198
+ botRef.current?.addMessage("Hello from React!");
199
+ };
200
+
201
+ // You can also use the programmatic API in React if needed
202
+ const handleCreateProgrammaticBot = () => {
203
+ const container = document.getElementById('programmatic-bot');
204
+ if (container) {
205
+ qaBot({
206
+ target: container,
207
+ embedded: true,
208
+ welcome: "Programmatically created bot!",
209
+ isLoggedIn: isLoggedIn,
210
+ });
211
+ }
212
+ };
213
+
214
+ return (
215
+ <div className="app">
216
+ <h1>My React Application</h1>
217
+
218
+ <button onClick={handleAddMessage}>
219
+ Send Message to Bot
220
+ </button>
221
+
222
+ <button onClick={handleCreateProgrammaticBot}>
223
+ Create Programmatic Bot
224
+ </button>
225
+
226
+ <QABot
227
+ ref={botRef}
228
+ embedded={false} // true for embedded, false for floating
229
+ isLoggedIn={isLoggedIn}
230
+ defaultOpen={false}
231
+ welcome="Welcome to the ACCESS Q&A Bot!"
232
+ apiKey={process.env.REACT_APP_API_KEY}
233
+ />
234
+
235
+ <div id="programmatic-bot"></div>
236
+ </div>
237
+ );
238
+ }
239
+ ```
240
+
241
+ ## Configuration Properties
115
242
 
116
243
  | Property | Type | Description |
117
244
  |----------|------|-------------|
118
- | welcome | string | Welcome message shown to the user |
119
- | prompt | string | Text shown in the input field |
120
- | embedded | boolean | Display in embedded mode |
121
- | isLoggedIn / is-logged-in | boolean | Whether the user is logged in |
122
- | isAnonymous / is-anonymous | boolean | Whether the user is anonymous |
123
- | disabled | boolean | Disable the chat input |
124
- | defaultOpen / default-open | boolean | Whether the chat is initially open |
125
- | apiKey / api-key | string | API key for authentication |
126
- | onClose | function | Callback when the chat is closed (React only) |
245
+ | `apiKey` / `api-key` | string | API key for authentication (defaults to demo key) |
246
+ | `defaultOpen` / `default-open` | boolean | Whether floating chat opens initially (ignored in embedded mode) |
247
+ | `embedded` | boolean | **false** = floating mode, **true** = embedded mode |
248
+ | `isLoggedIn` / `is-logged-in` | boolean | Sets initial login state and reacts to changes |
249
+ | `loginUrl` / `login-url` | string | URL to redirect for login (default: '/login') |
250
+ | `ringEffect` / `ring-effect` | boolean | Enable phone ring animation on tooltip (floating mode only) |
251
+ | `welcome` | string | Welcome message shown to the user |
127
252
 
128
- ## Events
253
+ ### CSS Custom Properties (Theming)
129
254
 
130
- When using as a Web Component, you can listen for the following events:
255
+ Customize the appearance by setting CSS custom properties on the container:
131
256
 
132
- ```javascript
133
- document.querySelector('access-qa-bot').addEventListener('qabot-close', () => {
134
- console.log('Chat was closed');
135
- });
257
+ ```html
258
+ <div id="qa-bot" style="
259
+ --primary-color: #007bff;
260
+ --secondary-color: #6c757d;
261
+ --font-family: 'Arial', sans-serif;
262
+ "></div>
136
263
  ```
137
264
 
138
- ## Disambiguating all the different html files here
265
+ ## Direct CDN Deployment
139
266
 
140
- - **index.html**: The main demo file showcasing React-based integration methods with three different approaches to integrate the QA Bot: auto-mounting to a specific div ID, using class-based selectors, and explicitly calling the JavaScript function.
267
+ For websites that don't use npm, include directly via CDN:
141
268
 
142
- - **public/index.html**: The standard React application template file created by Create React App. This serves as the base HTML template that gets processed during the React build process.
143
-
144
- - **build/index.html**: The minified production version of the public/index.html file after the build process has completed. This contains all the necessary script and link tags to load the compiled React application.
269
+ ```html
270
+ <!-- CSS (optional, for embedded styling) -->
271
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/necyberteam/qa-bot@v0.2.0/build/static/css/main.css">
145
272
 
146
- - **web-component-demo.html**: A standalone demo specifically showcasing the Web Component implementation (using the custom `<access-qa-bot>` element). This demonstrates three integration methods: standard floating button, embedded mode, and using the JavaScript API with the Web Component.
273
+ <!-- JavaScript -->
274
+ <script src="https://cdn.jsdelivr.net/gh/necyberteam/qa-bot@v0.2.0/dist/access-qa-bot.standalone.js"></script>
147
275
 
148
- The **index.html** file is focused on the React component usage, while **web-component-demo.html** focuses on the Web Component usage, providing complete examples for both integration approaches.
276
+ <!-- Your content -->
277
+ <div id="qa-bot"></div>
278
+ ```
149
279
 
150
280
  ## Development and Testing
151
281
 
152
- ### Development Server
153
- When running the default development script (`npm start` or `yarn start`), the application serves the content from the `public` directory using React's development server. This shows the default React implementation with hot reloading enabled. Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
154
-
282
+ ### Development Server (React Implementation)
155
283
  ```bash
156
- # Start the development server (React implementation)
157
284
  npm start
285
+ # Opens http://localhost:3000 with React dev server
158
286
  ```
159
287
 
160
- ### Testing Standalone Demo Files
161
- To test the standalone demo files (`index.html` and `web-component-demo.html`) at the root level, you need to:
162
-
163
- 1. Stop the development server (if running)
164
- 2. Build the project (`npm run build`)
165
- 3. Serve the root directory using a static file server:
166
-
288
+ ### Testing Standalone Integration
167
289
  ```bash
168
- # After building, serve the files from root
290
+ # Build the library and project
291
+ npm run build:lib
292
+ npm run build
293
+
294
+ # Serve the standalone demo files
169
295
  npx serve
296
+
297
+ # Then visit:
298
+ # http://localhost:3000/index.html (integration demos)
299
+ # http://localhost:3000/web-component-demo.html (web component demos)
170
300
  ```
171
301
 
172
- Then you can access:
173
- - The React demo at `/index.html` (or just `/`)
174
- - The Web Component demo at `/web-component-demo.html`
302
+ ## File Structure Guide
303
+
304
+ - **`index.html`** - Main demo showing all integration methods
305
+ - **`web-component-demo.html`** - Web Component specific demos
306
+ - **`public/index.html`** - React app template (Create React App)
307
+ - **`build/index.html`** - Built React app
308
+ - **`src/`** - Source code
309
+ - **`components/QABot.js`** - Main React component
310
+ - **`web-component.js`** - Web Component implementation
311
+ - **`lib.js`** - JavaScript API
312
+
313
+ ## Important Notes
314
+
315
+ 1. **Embedded vs Floating**:
316
+ - Embedded mode is always visible and ignores `defaultOpen`
317
+ - Floating mode shows a chat button; `defaultOpen` controls initial state
318
+ - Chat window controls (`openChat`, `closeChat`, `toggleChat`) only work in floating mode
319
+
320
+ 2. **Ring Effect**:
321
+ - Only works in floating mode when the tooltip is visible
322
+ - Triggers a phone-like ring animation to draw attention
323
+ - Activates once when the bot is first loaded (500ms delay)
324
+ - Won't repeat if user has already interacted with the chat
325
+
326
+ 3. **Auto-Detection**: The standalone script automatically detects and initializes:
327
+ - `#qa-bot` → Floating mode
328
+ - `.embedded-qa-bot` → Embedded mode
175
329
 
176
- This allows testing both integration approaches (React components and Web Components) in their respective demo environments.
330
+ 4. **API Key**: Defaults to demo key if not provided
177
331
 
178
- Note: The standalone demos rely on the built files in the `dist` and `build` directories, so make sure to build the project before testing.
332
+ 5. **Browser Support**: Uses modern browser features; consider polyfills for older browsers
179
333
 
180
- ## Browser Support
334
+ ## Examples Repository
181
335
 
182
- The Web Component implementation uses modern browser features. For older browsers, consider using a polyfill.
336
+ See the demo files in this repository for complete working examples of all integration methods.
@@ -1,2 +1,2 @@
1
- body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.rcb-chat-header-container{border-bottom:1px solid #ccc;color:#fff;display:flex;justify-content:space-between;max-height:55px;padding:12px}.rcb-chat-header{display:flex;flex-direction:row}.rcb-bot-avatar{background-size:cover;border-radius:50%;height:30px;margin-right:12px;width:30px}.rcb-message-prompt-container.visible{align-items:center;animation:rcb-animation-pop-in .3s ease-in-out;bottom:0;display:flex;justify-content:center;margin:auto;opacity:1;pointer-events:auto;position:-webkit-sticky;position:sticky}.rcb-message-prompt-container.hidden{height:0;opacity:0;pointer-events:none;visibility:hidden}.rcb-message-prompt-text{background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;font-size:12px;padding:6px 12px;transition:color .3s ease,border-color .3s ease;z-index:9999}.rcb-message-prompt-container.hidden .rcb-message-prompt-text{padding:0}.rcb-user-message-container{display:flex;flex-direction:row;justify-content:right}.rcb-user-message{border-radius:22px;font-size:15px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-right:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:right;white-space:pre-wrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rcb-user-message-offset{margin-right:50px}.rcb-user-message-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-message-user-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:-10px;margin-right:6px;margin-top:9px;width:40px}.rcb-bot-message-container{display:flex;flex-direction:row}.rcb-bot-message{border-radius:22px;font-size:15px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-left:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:left;white-space:pre-wrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rcb-bot-message-offset{margin-left:50px}.rcb-bot-message-entry{animation:rcb-animation-bot-message-entry .3s ease-in backwards}.rcb-message-bot-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:6px;margin-right:-10px;margin-top:9px;width:40px}.rcb-typing-indicator{align-items:center;display:flex}.rcb-dot{animation:rcb-animation-bot-typing 1s infinite;background-color:#ccc;border-radius:50%;height:8px;margin-right:4px;width:8px}.rcb-dot:nth-child(2){animation-delay:.2s}.rcb-dot:nth-child(3){animation-delay:.4s}.rcb-chat-body-container{height:100%;overflow-x:hidden;overflow-y:scroll;padding-bottom:16px;position:relative;touch-action:pan-y;width:100%}.rcb-chat-body-container::-webkit-scrollbar-track{background-color:#f1f1f1}.rcb-chat-body-container::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.rcb-chat-body-container::-webkit-scrollbar-thumb:hover{background-color:#cfcfcf}.rcb-chat-body-container::-webkit-scrollbar-corner{background-color:#f1f1f1}.rcb-checkbox-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;padding-top:12px}.rcb-checkbox-offset{margin-left:50px!important}.rcb-checkbox-row-container{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:flex;gap:5px;max-height:32px;min-height:30px;overflow:hidden;width:80%}.rcb-checkbox-row-container:hover{box-shadow:0 0 5px #0003}.rcb-checkbox-row{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.rcb-checkbox-mark{align-items:center;background-color:#f2f2f2;border:none;border-radius:50%;cursor:pointer;display:flex;height:20px;justify-content:center;margin-right:10px;transition:all .3s ease;width:20px}.rcb-checkbox-mark:hover{background-color:#c2c2c2}.rcb-checkbox-mark:before{content:"✓";transition:all .3s ease}.rcb-checkbox-label{font-size:14px}.rcb-checkbox-next-button{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-block;font-size:24px;max-height:32px;min-height:30px;text-align:center;width:80%}.rcb-checkbox-next-button:before{content:"→"}.rcb-checkbox-next-button:hover{box-shadow:0 0 5px #0003}.rcb-options-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;max-width:70%;padding-top:12px}.rcb-options-offset{margin-left:50px!important}.rcb-options{align-items:center;animation:rcb-animation-options-entry .5s ease-out;border-radius:20px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;overflow:hidden;padding:10px 20px;transition:background-color .3s ease}.rcb-options:hover{box-shadow:0 0 5px #0003}.rcb-line-break-container{align-items:center;display:flex;justify-content:center;max-height:45px;padding-bottom:5px;padding-top:10px}.rcb-line-break-text{color:#adadad;font-size:12px;padding:6px 12px}.rcb-spinner-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-spinner{animation:rcb-animation-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;height:22px;width:22px}.rcb-chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;padding:8px 16px}.rcb-chat-input::placeholder{color:#999}.rcb-chat-input-textarea{background-color:#fff;border:none;border-radius:4px;color:#000;flex:1 1;font-family:inherit;font-size:16px;height:auto;min-height:38px;outline:none;overflow-y:scroll;padding:8px;resize:none;touch-action:none}.rcb-chat-input-textarea::-webkit-scrollbar,.rcb-chat-input-textarea::-webkit-scrollbar-thumb{background-color:initial}.rcb-chat-input-textarea::-webkit-scrollbar-thumb:hover{background-color:initial}.rcb-chat-input-char-counter{font-size:14px;margin-left:8px;margin-top:3px}.rcb-chat-footer-container{align-items:flex-end;background-color:#f2f2f2;border-top:1px solid #ccc;color:#000;display:flex;font-size:12px;justify-content:space-between;max-height:55px;padding:12px 16px 8px 10px}.rcb-chat-footer,.rcb-toggle-button{display:flex;flex-direction:row}.rcb-toggle-button{border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0003;cursor:pointer;height:75px;position:fixed;right:20px;width:75px;z-index:9999}.rcb-toggle-button.rcb-button-hide{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}.rcb-toggle-button.rcb-button-show{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-toggle-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:inherit;height:100%;margin:auto;width:100%}.rcb-badge,.rcb-toggle-icon{align-items:center;display:flex;justify-content:center}.rcb-badge{background-color:red;border-radius:50%;color:#fff;height:25px;position:absolute;right:-6px;top:-6px;width:25px}.rcb-chat-tooltip{border-radius:20px;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:20px;padding:16px;position:fixed;transition:transform .3s ease;white-space:nowrap;z-index:9999}.rcb-chat-tooltip-tail{border-style:solid;border-width:10px 0 10px 10px;content:"";margin-top:-10px;position:absolute;right:-10px;top:50%}.rcb-chat-tooltip.rcb-tooltip-hide{animation:rcb-animation-tooltip-out .5s ease-in-out;opacity:0;visibility:hidden}.rcb-chat-tooltip.rcb-tooltip-show{animation:rcb-animation-tooltip-in .5s ease-in-out;opacity:1;visibility:visible}.rcb-toast-prompt{animation:rcb-animation-pop-in .3s ease-in-out;background-color:#fff;border:.5px solid #7a7a7a;border-radius:5px;color:#7a7a7a;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 12px;text-align:center;transition:color .3s ease,border-color .3s ease;width:100%;z-index:9999}.rcb-toast-prompt-container{align-items:center;animation:popIn .3s ease-in-out;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:50%;margin:200 auto auto;opacity:1;pointer-events:auto;position:absolute;transform:translate(-50%)}.rcb-media-display-image-container,.rcb-media-display-video-container{border-radius:22px;margin-right:16px;margin-top:8px;padding:16px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rcb-media-display-offset{margin-right:50px!important}.rcb-media-display-image{border-radius:22px;height:auto;object-fit:cover;width:100%}.rcb-media-display-video{background-color:#000;border-radius:22px;height:auto;width:100%}.rcb-media-display-audio{border-radius:22px;height:auto;margin-right:16px;margin-top:8px;width:100%}.rcb-media-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-attach-button-disabled,.rcb-attach-button-enabled{background-size:cover;border-radius:6px;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-attach-button-disabled input[type=file],.rcb-attach-button-enabled input[type=file]{display:none;height:100%;position:absolute;width:100%}.rcb-attach-button-enabled{cursor:pointer}.rcb-attach-button-disabled{opacity:.5}.rcb-attach-button-enabled:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-attach-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-attach-icon-disabled,.rcb-attach-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;height:24px;margin-top:2px;transition:background-image .3s ease;width:24px}.rcb-attach-icon-enabled{cursor:pointer}.rcb-emoji-button-disabled,.rcb-emoji-button-enabled{background-size:cover;border-radius:6px;cursor:pointer;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-emoji-icon-disabled,.rcb-emoji-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;font-size:20px;height:24px;margin-top:2px;position:relative;width:24px}.rcb-emoji-icon-enabled{cursor:pointer}.rcb-emoji-icon-disabled{opacity:.5}.rcb-emoji-button-enabled:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-emoji-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-emoji-button-popup{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;max-height:200px;overflow-y:auto;padding:8px;position:absolute;transform:translateY(calc(-100% - 30px));width:158px}.rcb-emoji{cursor:pointer;font-size:24px;padding:3px;transition:transform .2s ease-in-out}.rcb-emoji:hover{transform:scale(1.2)}.rcb-audio-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-audio-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-audio-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-close-chat-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-close-chat-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-close-chat-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-notification-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-notification-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-notification-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-voice-button-disabled,.rcb-voice-button-enabled{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:all .3s ease;width:32px}.rcb-voice-button-enabled{border:1px solid red;box-shadow:0 0 3px #ff000080}.rcb-voice-button-enabled:hover{border:1px solid #3d0000}.rcb-voice-button-disabled{border:1px;border-color:#0003;border-style:solid}.rcb-voice-button-disabled:hover{box-shadow:0 0 3px #8a0000}.rcb-voice-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:60%;object-fit:cover;width:60%}.rcb-voice-icon.on{animation:rcb-animation-ping 1s infinite}.rcb-send-button{border:none;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:background-color .3s ease;width:51px}.rcb-send-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:50%;object-fit:cover;transform:translateY(20%);width:50%}.rcb-view-history-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-view-history-button{align-items:center;background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;max-width:60%;padding:6px 12px;transition:color .3s ease,border-color .3s ease}.rcb-view-history-button>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-chatbot-global{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;z-index:9999}.rcb-chat-window{background-color:#fff;border-radius:10px;bottom:20px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;height:550px;overflow:hidden;position:fixed;right:20px;transition:all .3s ease;width:375px}.rcb-window-embedded .rcb-chat-window{bottom:auto;opacity:1;position:relative;right:auto;visibility:visible}.rcb-window-open .rcb-chat-window{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-window-close .rcb-chat-window{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}@keyframes rcb-animation-expand{0%{opacity:0;transform:translate(100%,100%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-collapse{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(0)}}@keyframes rcb-animation-ping{0%{filter:brightness(100%);opacity:1}50%{filter:brightness(50%);opacity:.8}}@keyframes rcb-animation-bot-message-entry{0%{opacity:0;transform:translate(-100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-user-message-entry{0%{opacity:0;transform:translate(100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-bot-typing{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes rcb-animation-pop-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes rcb-animations-checkboxes-entry{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes rcb-animation-options-entry{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rcb-animation-tooltip-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes rcb-animation-tooltip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes rcb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.embedded-qa-bot .rcb-chat-window{width:100%!important}.embedded-qa-bot .rcb-footer{display:none}.embedded-chat-container{border-radius:8px;box-shadow:0 2px 8px #0003;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.embedded-chat-container.closed{height:60px;overflow:hidden}.access-qa-bot.hidden{display:none}.embedded-bot-container{border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;padding:0}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.embedded-qa-bot .rcb-input-container{background-color:#fff;border-top:1px solid #e0e0e0;padding-top:10px}.qa-bot-container{max-width:100%;width:100%}.embedded-chat-closed{align-items:center;background-color:#107180;border-radius:8px 8px 0 0;box-shadow:0 2px 8px #0003;color:#fff;display:flex;height:60px;justify-content:space-between;left:0;padding:0 15px;position:absolute;right:0;top:0;z-index:1}.embedded-chat-closed .title-with-icon{align-items:center;display:flex;font-weight:700}.embedded-chat-closed .bot-icon{background-image:url(https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;margin-right:8px;width:24px}.embedded-chat-chevron{align-items:center;color:#fff;display:flex;font-size:24px;height:40px;justify-content:center;margin-left:8px;transition:transform .2s;-webkit-user-select:none;user-select:none;width:40px}.embedded-chat-open{border-radius:8px;position:relative}.embedded-chat-content,.embedded-chat-open{display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.embedded-chat-content{border-radius:0 0 8px 8px}.embedded-close-button{background:#0000;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;margin-left:10px;padding:0 5px}.embedded-close-button:hover{color:#333}@media (max-width:768px){.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}}@media (max-width:480px){.embedded-chat-container.open{height:350px}}.rcb-toggle-button.rcb-button-show{background-color:#1a5b6e;background-position:50%;background-repeat:no-repeat;background-size:72%}.rcb-chat-window{max-height:600px;max-width:100%;width:550px!important}.rcb-chat-window .rcb-bot-avatar{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:0}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:#107180}.rcb-chat-window .rcb-bot-message a{color:#fff;text-decoration:none}.rcb-chat-window .rcb-bot-message a:hover{text-decoration:underline}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}
1
+ body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.rcb-chat-header-container{border-bottom:1px solid #ccc;color:#fff;display:flex;justify-content:space-between;max-height:55px;padding:12px}.rcb-chat-header{display:flex;flex-direction:row}.rcb-bot-avatar{background-size:cover;border-radius:50%;height:30px;margin-right:12px;width:30px}.rcb-message-prompt-container.visible{align-items:center;animation:rcb-animation-pop-in .3s ease-in-out;bottom:0;display:flex;justify-content:center;margin:auto;opacity:1;pointer-events:auto;position:-webkit-sticky;position:sticky}.rcb-message-prompt-container.hidden{height:0;opacity:0;pointer-events:none;visibility:hidden}.rcb-message-prompt-text{background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;font-size:12px;padding:6px 12px;transition:color .3s ease,border-color .3s ease;z-index:9999}.rcb-message-prompt-container.hidden .rcb-message-prompt-text{padding:0}.rcb-user-message-container{display:flex;flex-direction:row;justify-content:right}.rcb-user-message{border-radius:22px;font-size:15px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-right:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:right;white-space:pre-wrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rcb-user-message-offset{margin-right:50px}.rcb-user-message-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-message-user-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:-10px;margin-right:6px;margin-top:9px;width:40px}.rcb-bot-message-container{display:flex;flex-direction:row}.rcb-bot-message{border-radius:22px;font-size:15px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-left:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:left;white-space:pre-wrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rcb-bot-message-offset{margin-left:50px}.rcb-bot-message-entry{animation:rcb-animation-bot-message-entry .3s ease-in backwards}.rcb-message-bot-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:6px;margin-right:-10px;margin-top:9px;width:40px}.rcb-typing-indicator{align-items:center;display:flex}.rcb-dot{animation:rcb-animation-bot-typing 1s infinite;background-color:#ccc;border-radius:50%;height:8px;margin-right:4px;width:8px}.rcb-dot:nth-child(2){animation-delay:.2s}.rcb-dot:nth-child(3){animation-delay:.4s}.rcb-chat-body-container{height:100%;overflow-x:hidden;overflow-y:scroll;padding-bottom:16px;position:relative;touch-action:pan-y;width:100%}.rcb-chat-body-container::-webkit-scrollbar-track{background-color:#f1f1f1}.rcb-chat-body-container::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.rcb-chat-body-container::-webkit-scrollbar-thumb:hover{background-color:#cfcfcf}.rcb-chat-body-container::-webkit-scrollbar-corner{background-color:#f1f1f1}.rcb-checkbox-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;padding-top:12px}.rcb-checkbox-offset{margin-left:50px!important}.rcb-checkbox-row-container{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:flex;gap:5px;max-height:32px;min-height:30px;overflow:hidden;width:80%}.rcb-checkbox-row-container:hover{box-shadow:0 0 5px #0003}.rcb-checkbox-row{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.rcb-checkbox-mark{align-items:center;background-color:#f2f2f2;border:none;border-radius:50%;cursor:pointer;display:flex;height:20px;justify-content:center;margin-right:10px;transition:all .3s ease;width:20px}.rcb-checkbox-mark:hover{background-color:#c2c2c2}.rcb-checkbox-mark:before{content:"✓";transition:all .3s ease}.rcb-checkbox-label{font-size:14px}.rcb-checkbox-next-button{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-block;font-size:24px;max-height:32px;min-height:30px;text-align:center;width:80%}.rcb-checkbox-next-button:before{content:"→"}.rcb-checkbox-next-button:hover{box-shadow:0 0 5px #0003}.rcb-options-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;max-width:70%;padding-top:12px}.rcb-options-offset{margin-left:50px!important}.rcb-options{align-items:center;animation:rcb-animation-options-entry .5s ease-out;border-radius:20px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;overflow:hidden;padding:10px 20px;transition:background-color .3s ease}.rcb-options:hover{box-shadow:0 0 5px #0003}.rcb-line-break-container{align-items:center;display:flex;justify-content:center;max-height:45px;padding-bottom:5px;padding-top:10px}.rcb-line-break-text{color:#adadad;font-size:12px;padding:6px 12px}.rcb-spinner-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-spinner{animation:rcb-animation-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;height:22px;width:22px}.rcb-chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;padding:8px 16px}.rcb-chat-input::placeholder{color:#999}.rcb-chat-input-textarea{background-color:#fff;border:none;border-radius:4px;color:#000;flex:1 1;font-family:inherit;font-size:16px;height:auto;min-height:38px;outline:none;overflow-y:scroll;padding:8px;resize:none;touch-action:none}.rcb-chat-input-textarea::-webkit-scrollbar,.rcb-chat-input-textarea::-webkit-scrollbar-thumb{background-color:initial}.rcb-chat-input-textarea::-webkit-scrollbar-thumb:hover{background-color:initial}.rcb-chat-input-char-counter{font-size:14px;margin-left:8px;margin-top:3px}.rcb-chat-footer-container{align-items:flex-end;background-color:#f2f2f2;border-top:1px solid #ccc;color:#000;display:flex;font-size:12px;justify-content:space-between;max-height:55px;padding:12px 16px 8px 10px}.rcb-chat-footer,.rcb-toggle-button{display:flex;flex-direction:row}.rcb-toggle-button{border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0003;cursor:pointer;height:75px;position:fixed;right:20px;width:75px;z-index:9999}.rcb-toggle-button.rcb-button-hide{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}.rcb-toggle-button.rcb-button-show{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-toggle-icon{background-position:50%;background-size:cover;border-radius:inherit;height:100%;margin:auto;width:100%}.rcb-badge,.rcb-toggle-icon{align-items:center;display:flex;justify-content:center}.rcb-badge{background-color:red;border-radius:50%;color:#fff;height:25px;position:absolute;right:-6px;top:-6px;width:25px}.rcb-chat-tooltip{border-radius:20px;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:20px;padding:16px;position:fixed;transition:transform .3s ease;white-space:nowrap;z-index:9999}.rcb-chat-tooltip-tail{border-style:solid;border-width:10px 0 10px 10px;content:"";margin-top:-10px;position:absolute;right:-10px;top:50%}.rcb-chat-tooltip.rcb-tooltip-hide{animation:rcb-animation-tooltip-out .5s ease-in-out;opacity:0;visibility:hidden}.rcb-chat-tooltip.rcb-tooltip-show{animation:rcb-animation-tooltip-in .5s ease-in-out;opacity:1;visibility:visible}.rcb-toast-prompt{animation:rcb-animation-pop-in .3s ease-in-out;background-color:#fff;border:.5px solid #7a7a7a;border-radius:5px;color:#7a7a7a;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 12px;text-align:center;transition:color .3s ease,border-color .3s ease;width:100%;z-index:9999}.rcb-toast-prompt-container{align-items:center;animation:popIn .3s ease-in-out;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:50%;margin:200 auto auto;opacity:1;pointer-events:auto;position:absolute;transform:translate(-50%)}.rcb-media-display-image-container,.rcb-media-display-video-container{border-radius:22px;margin-right:16px;margin-top:8px;padding:16px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.rcb-media-display-offset{margin-right:50px!important}.rcb-media-display-image{border-radius:22px;height:auto;object-fit:cover;width:100%}.rcb-media-display-video{background-color:#000;border-radius:22px;height:auto;width:100%}.rcb-media-display-audio{border-radius:22px;height:auto;margin-right:16px;margin-top:8px;width:100%}.rcb-media-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-attach-button-disabled,.rcb-attach-button-enabled{background-size:cover;border-radius:6px;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-attach-button-disabled input[type=file],.rcb-attach-button-enabled input[type=file]{display:none;height:100%;position:absolute;width:100%}.rcb-attach-button-enabled{cursor:pointer}.rcb-attach-button-disabled{opacity:.5}.rcb-attach-button-enabled:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-attach-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-attach-icon-disabled,.rcb-attach-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;height:24px;margin-top:2px;transition:background-image .3s ease;width:24px}.rcb-attach-icon-enabled{cursor:pointer}.rcb-emoji-button-disabled,.rcb-emoji-button-enabled{background-size:cover;border-radius:6px;cursor:pointer;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-emoji-icon-disabled,.rcb-emoji-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;font-size:20px;height:24px;margin-top:2px;position:relative;width:24px}.rcb-emoji-icon-enabled{cursor:pointer}.rcb-emoji-icon-disabled{opacity:.5}.rcb-emoji-button-enabled:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-emoji-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-emoji-button-popup{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;max-height:200px;overflow-y:auto;padding:8px;position:absolute;transform:translateY(calc(-100% - 30px));width:158px}.rcb-emoji{cursor:pointer;font-size:24px;padding:3px;transition:transform .2s ease-in-out}.rcb-emoji:hover{transform:scale(1.2)}.rcb-audio-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-audio-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-audio-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-close-chat-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-close-chat-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-close-chat-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-notification-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-notification-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-notification-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-voice-button-disabled,.rcb-voice-button-enabled{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:all .3s ease;width:32px}.rcb-voice-button-enabled{border:1px solid red;box-shadow:0 0 3px #ff000080}.rcb-voice-button-enabled:hover{border:1px solid #3d0000}.rcb-voice-button-disabled{border:1px;border-color:#0003;border-style:solid}.rcb-voice-button-disabled:hover{box-shadow:0 0 3px #8a0000}.rcb-voice-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:60%;object-fit:cover;width:60%}.rcb-voice-icon.on{animation:rcb-animation-ping 1s infinite}.rcb-send-button{border:none;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:background-color .3s ease;width:51px}.rcb-send-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:50%;object-fit:cover;transform:translateY(20%);width:50%}.rcb-view-history-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-view-history-button{align-items:center;background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;max-width:60%;padding:6px 12px;transition:color .3s ease,border-color .3s ease}.rcb-view-history-button>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-chatbot-global{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;z-index:9999}.rcb-chat-window{background-color:#fff;border-radius:10px;bottom:20px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;height:550px;overflow:hidden;position:fixed;right:20px;transition:all .3s ease;width:375px}.rcb-window-embedded .rcb-chat-window{bottom:auto;opacity:1;position:relative;right:auto;visibility:visible}.rcb-window-open .rcb-chat-window{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-window-close .rcb-chat-window{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}@keyframes rcb-animation-expand{0%{opacity:0;transform:translate(100%,100%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-collapse{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(0)}}@keyframes rcb-animation-ping{0%{filter:brightness(100%);opacity:1}50%{filter:brightness(50%);opacity:.8}}@keyframes rcb-animation-bot-message-entry{0%{opacity:0;transform:translate(-100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-user-message-entry{0%{opacity:0;transform:translate(100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-bot-typing{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes rcb-animation-pop-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes rcb-animations-checkboxes-entry{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes rcb-animation-options-entry{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rcb-animation-tooltip-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes rcb-animation-tooltip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes rcb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.rcb-toggle-icon{background-color:initial!important;background-position:calc(50% - 1px) calc(50% + 2px);background-repeat:no-repeat;background-size:62%}.rcb-chat-window{max-height:600px;max-width:100%;width:550px!important}.rcb-chat-window .rcb-bot-avatar{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:0}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:#107180}.rcb-chat-window .rcb-bot-message a{color:#fff;text-decoration:none}.rcb-chat-window .rcb-bot-message a:hover{text-decoration:underline}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .user-login-icon{display:flex!important}.qa-bot.bot-logged-in .user-login-icon svg{transform:scale(1.3) translateY(-2px)}.rcb-tooltip-show.phone-ring{animation:phone-ring 3s ease-out!important;z-index:10000!important}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}}@media (max-width:480px){.embedded-chat-container.open{height:350px}}
2
2
  /*# sourceMappingURL=main.css.map*/