@davi-ai/retorik-framework 3.2.5 → 3.2.6

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.
@@ -1004,7 +1004,9 @@ const $c992daa94f6a13bb$export$5a678fd51bd89633 = (value, instanceId)=>$c992daa9
1004
1004
  const $c992daa94f6a13bb$export$f0c096b4ecd7115d = (value, instanceId)=>$c992daa94f6a13bb$var$eventDispatch('retorik_setCurrentSubView', [
1005
1005
  value
1006
1006
  ], instanceId);
1007
- const $c992daa94f6a13bb$export$d4c8c6daac289378 = (value, instanceId)=>$c992daa94f6a13bb$var$eventDispatch('retorik_sendActivity', [
1007
+ /**
1008
+ * deprecated since v3.2.6
1009
+ */ const $c992daa94f6a13bb$export$d4c8c6daac289378 = (value, instanceId)=>$c992daa94f6a13bb$var$eventDispatch('retorik_sendActivity', [
1008
1010
  value
1009
1011
  ], instanceId);
1010
1012
  const $c992daa94f6a13bb$export$d1f60bb847ecc604 = (value, instanceId)=>$c992daa94f6a13bb$var$eventDispatch('retorik_addDetailedAttachmentTrigger', [
@@ -1547,6 +1549,8 @@ $parcel$export(module.exports, "default", () => $da2b200601eaecd0$export$2e2bcd8
1547
1549
 
1548
1550
  var $jubFc = parcelRequire("jubFc");
1549
1551
 
1552
+ var $1x02c = parcelRequire("1x02c");
1553
+
1550
1554
  var $4ucVo = parcelRequire("4ucVo");
1551
1555
 
1552
1556
  var $cT90l = parcelRequire("cT90l");
@@ -1582,7 +1586,7 @@ const $da2b200601eaecd0$var$initialState = {
1582
1586
  mediumLandscape: false,
1583
1587
  characterLoaded: false
1584
1588
  };
1585
- const $da2b200601eaecd0$var$createViewStore = (setAdaptiveCardHostConfig)=>{
1589
+ const $da2b200601eaecd0$var$createViewStore = (enabledFeaturesRef, setAdaptiveCardHostConfig)=>{
1586
1590
  return (0, $bZRJW$createStore)((set, get)=>{
1587
1591
  return {
1588
1592
  ...$da2b200601eaecd0$var$initialState,
@@ -1624,7 +1628,10 @@ const $da2b200601eaecd0$var$createViewStore = (setAdaptiveCardHostConfig)=>{
1624
1628
  });
1625
1629
  },
1626
1630
  setRoute: (value)=>{
1627
- set({
1631
+ if (value === (0, $4ucVo.Routes).News) enabledFeaturesRef.current?.includes('news') ? set({
1632
+ route: value
1633
+ }) : console.log('Retorik Framework > tried to switch to the news while the feature is not activated in Retorik Studio');
1634
+ else set({
1628
1635
  route: value
1629
1636
  });
1630
1637
  },
@@ -1667,8 +1674,15 @@ const $da2b200601eaecd0$export$d13b2577cb75f2ad = (selector)=>{
1667
1674
  return (0, $bZRJW$useStore)(store, selector);
1668
1675
  };
1669
1676
  const $da2b200601eaecd0$var$ViewProvider = ({ children: children })=>{
1677
+ const enabledFeatures = (0, $1x02c.useRetorikStore)((state)=>state.enabledFeatures);
1678
+ const enabledFeaturesRef = (0, $bZRJW$useRef)(enabledFeatures);
1670
1679
  const setAdaptiveCardHostConfig = (0, $jubFc.useAdaptiveCardStore)((state)=>state.actions.setAdaptiveCardHostConfig);
1671
- const [store] = (0, $bZRJW$useState)(()=>$da2b200601eaecd0$var$createViewStore(setAdaptiveCardHostConfig));
1680
+ const [store] = (0, $bZRJW$useState)(()=>$da2b200601eaecd0$var$createViewStore(enabledFeaturesRef, setAdaptiveCardHostConfig));
1681
+ (0, $bZRJW$useEffect)(()=>{
1682
+ enabledFeaturesRef.current = enabledFeatures;
1683
+ }, [
1684
+ enabledFeatures
1685
+ ]);
1672
1686
  return /*#__PURE__*/ (0, $bZRJW$jsx)($da2b200601eaecd0$var$ViewContext.Provider, {
1673
1687
  value: store,
1674
1688
  children: children
@@ -1677,995 +1691,1001 @@ const $da2b200601eaecd0$var$ViewProvider = ({ children: children })=>{
1677
1691
  var $da2b200601eaecd0$export$2e2bcd8739ae039 = $da2b200601eaecd0$var$ViewProvider;
1678
1692
 
1679
1693
  });
1680
- parcelRegister("cT90l", function(module, exports) {
1694
+ parcelRegister("1x02c", function(module, exports) {
1681
1695
 
1682
- $parcel$export(module.exports, "mobileBreakpoint", () => $adb8114d28dbbc13$export$2e65b7c7134e01f0);
1683
- $parcel$export(module.exports, "mediumBreakpoint", () => $adb8114d28dbbc13$export$91e4bf93df95a062);
1684
- $parcel$export(module.exports, "CDNCharactersAddress", () => $adb8114d28dbbc13$export$2475544086fd222b);
1685
- $parcel$export(module.exports, "CDNImagesAddress", () => $adb8114d28dbbc13$export$f718170a6537817b);
1686
- $parcel$export(module.exports, "CDNAudioAddress", () => $adb8114d28dbbc13$export$eefca12493f9e9b9);
1687
- $parcel$export(module.exports, "studioRetorik", () => $adb8114d28dbbc13$export$c398bfda6cfa19ff);
1688
- $parcel$export(module.exports, "studioRetorikDev", () => $adb8114d28dbbc13$export$9adff68f093278ec);
1689
- $parcel$export(module.exports, "studioRetorikStaging", () => $adb8114d28dbbc13$export$409889737849a04f);
1690
- $parcel$export(module.exports, "studioRetorikExperimental", () => $adb8114d28dbbc13$export$a4481ccc388fce2a);
1691
- $parcel$export(module.exports, "docsRetorik", () => $adb8114d28dbbc13$export$1f4373411c991e56);
1692
- $parcel$export(module.exports, "openRoute", () => $adb8114d28dbbc13$export$d6542303192de6db);
1693
- $parcel$export(module.exports, "openRouteAPIKey", () => $adb8114d28dbbc13$export$6f60da16472d34a7);
1694
- $parcel$export(module.exports, "webchatTokenRetrievalAddress", () => $adb8114d28dbbc13$export$d9e38c0112bbdae6);
1695
- $parcel$export(module.exports, "defaultDirectLineAddress", () => $adb8114d28dbbc13$export$342c646308e8fa62);
1696
- $parcel$export(module.exports, "hospitalityApiAddress", () => $adb8114d28dbbc13$export$1ca3e229e23d7f42);
1697
- $parcel$export(module.exports, "telemetryAddress", () => $adb8114d28dbbc13$export$1e8c600abff9ea62);
1698
- $parcel$export(module.exports, "googleMapsAddress", () => $adb8114d28dbbc13$export$f3c31933b33f3693);
1699
- $parcel$export(module.exports, "DEFAULT_LANGUAGE_DATA", () => $adb8114d28dbbc13$export$8828fbbb6034a09b);
1700
- $parcel$export(module.exports, "DEFAULT_VIEWS", () => $adb8114d28dbbc13$export$9bbca248acc786d3);
1701
- $parcel$export(module.exports, "DEFAULT_SUB_VIEWS", () => $adb8114d28dbbc13$export$890576ebf405f6b7);
1702
- $parcel$export(module.exports, "mobileDisplays", () => $adb8114d28dbbc13$export$78f16669b353a880);
1703
- $parcel$export(module.exports, "widgetDisplays", () => $adb8114d28dbbc13$export$909f4c209eb70365);
1704
- $parcel$export(module.exports, "landscapeDisplays", () => $adb8114d28dbbc13$export$baf53ca377ebf861);
1705
- $parcel$export(module.exports, "borneDisplays", () => $adb8114d28dbbc13$export$a8576d98c9c928de);
1706
- $parcel$export(module.exports, "commonColors", () => $adb8114d28dbbc13$export$c0da64553318f2cb);
1707
- $parcel$export(module.exports, "nonResponseInducingEvents", () => $adb8114d28dbbc13$export$6a32bf5257e620e1);
1708
- $parcel$export(module.exports, "rtlLanguages", () => $adb8114d28dbbc13$export$882049267ad78ff6);
1696
+ $parcel$export(module.exports, "useRetorikStore", () => $aab770e2a22c2c28$export$bd22554f31e5f96f);
1697
+ $parcel$export(module.exports, "default", () => $aab770e2a22c2c28$export$2e2bcd8739ae039);
1709
1698
 
1710
- var $4ucVo = parcelRequire("4ucVo");
1711
- const $adb8114d28dbbc13$export$2e65b7c7134e01f0 = 600;
1712
- const $adb8114d28dbbc13$export$91e4bf93df95a062 = 1300;
1713
- const $adb8114d28dbbc13$export$66b40c15080ce99b = 'https://cdn.retorik.ai';
1714
- const $adb8114d28dbbc13$export$2475544086fd222b = `${$adb8114d28dbbc13$export$66b40c15080ce99b}/spiritenginehtml5/characters`;
1715
- const $adb8114d28dbbc13$export$f718170a6537817b = `${$adb8114d28dbbc13$export$66b40c15080ce99b}/retorik-framework/imagefiles`;
1716
- const $adb8114d28dbbc13$export$eefca12493f9e9b9 = `${$adb8114d28dbbc13$export$66b40c15080ce99b}/retorik-framework/audiofiles`;
1717
- const $adb8114d28dbbc13$export$c398bfda6cfa19ff = 'https://studio.retorik.ai';
1718
- const $adb8114d28dbbc13$export$9adff68f093278ec = 'https://dev.studio.retorik.ai';
1719
- const $adb8114d28dbbc13$export$409889737849a04f = 'https://preview.studio.retorik.ai';
1720
- const $adb8114d28dbbc13$export$a4481ccc388fce2a = 'https://experimental.studio.retorik.ai';
1721
- const $adb8114d28dbbc13$export$1f4373411c991e56 = 'https://docs.retorik.ai';
1722
- const $adb8114d28dbbc13$export$d6542303192de6db = 'https://api.openrouteservice.org/v2/directions';
1723
- const $adb8114d28dbbc13$export$6f60da16472d34a7 = '5b3ce3597851110001cf62483cfd6bd46f934b7d96f108a35e0f08b8';
1724
- const $adb8114d28dbbc13$export$dc91bcad81fffb1f = 'https://api.open-meteo.com/v1/forecast?';
1725
- const $adb8114d28dbbc13$export$68b4ac416ba801c6 = '&daily=weathercode,temperature_2m_max,temperature_2m_min&timezone=auto&current_weather=true';
1726
- const $adb8114d28dbbc13$export$d9e38c0112bbdae6 = 'K2.ContentFields.WebChat/api/GetWebchatToken';
1727
- const $adb8114d28dbbc13$export$342c646308e8fa62 = 'https://directline.botframework.com/v3/directline';
1728
- const $adb8114d28dbbc13$export$1ca3e229e23d7f42 = 'api/hospitality/Emergency';
1729
- const $adb8114d28dbbc13$export$1e8c600abff9ea62 = 'https://telemetry.retorik.ai/otlp-http/v1/traces';
1730
- const $adb8114d28dbbc13$export$f3c31933b33f3693 = 'https://www.google.com/maps/dir/?api=1&';
1731
- const $adb8114d28dbbc13$export$8828fbbb6034a09b = {
1732
- default: 'fr-FR',
1733
- all: [
1734
- 'fr-FR'
1735
- ]
1736
- };
1737
- const $adb8114d28dbbc13$export$9bbca248acc786d3 = [
1738
- {
1739
- view: (0, $4ucVo.AvailableViews).home,
1740
- indice: 1
1741
- },
1742
- {
1743
- view: (0, $4ucVo.AvailableViews).emergency,
1744
- indice: 2
1745
- }
1746
- ];
1747
- const $adb8114d28dbbc13$export$890576ebf405f6b7 = [
1748
- {
1749
- view: (0, $4ucVo.AvailableSubViews).history,
1750
- indice: 1
1751
- },
1752
- {
1753
- view: (0, $4ucVo.AvailableSubViews).tutorial,
1754
- indice: 2
1755
- }
1756
- ];
1757
- const $adb8114d28dbbc13$export$78f16669b353a880 = [
1758
- (0, $4ucVo.DeviceType).mobile,
1759
- (0, $4ucVo.DeviceType).widget
1760
- ];
1761
- const $adb8114d28dbbc13$export$909f4c209eb70365 = [
1762
- (0, $4ucVo.DeviceType).widget,
1763
- (0, $4ucVo.DeviceType).widgetBorne,
1764
- (0, $4ucVo.DeviceType).widgetLandscape
1765
- ];
1766
- const $adb8114d28dbbc13$export$baf53ca377ebf861 = [
1767
- (0, $4ucVo.DeviceType).landscape,
1768
- (0, $4ucVo.DeviceType).widgetLandscape
1769
- ];
1770
- const $adb8114d28dbbc13$export$a8576d98c9c928de = [
1771
- (0, $4ucVo.DeviceType).borne,
1772
- (0, $4ucVo.DeviceType).widgetBorne
1773
- ];
1774
- const $adb8114d28dbbc13$export$c0da64553318f2cb = {
1775
- primary: '#00D7FF',
1776
- secondary: '#1999B1',
1777
- black: '#101219',
1778
- whereToEatColor: '#FC952E',
1779
- whereToSleepColor: '#9F007D',
1780
- tobeSeenColor: '#76AB2A',
1781
- tobeDoneColor: '#E23C2A',
1782
- localProductsColor: '#AFB942',
1783
- servicesColor: '#00C8BC',
1784
- agendaColor: '#865DA2',
1785
- occupantColor: '#6DEDBC'
1786
- };
1787
- const $adb8114d28dbbc13$export$6a32bf5257e620e1 = [
1788
- 'davi.closewindow',
1789
- 'setuser',
1790
- 'davi.gdprconsent'
1791
- ];
1792
- const $adb8114d28dbbc13$export$882049267ad78ff6 = [
1793
- 'ar',
1794
- 'fa',
1795
- 'he',
1796
- 'ps',
1797
- 'ur'
1798
- ];
1799
1699
 
1800
- });
1801
1700
 
1802
- parcelRegister("82K9w", function(module, exports) {
1803
1701
 
1804
- $parcel$export(module.exports, "widgetDefault", () => $938bb59f49c318a8$export$4aebf65ed07cf17b);
1805
- $parcel$export(module.exports, "defaultThemeDark", () => $938bb59f49c318a8$export$d80fe84b82195dbd);
1806
- $parcel$export(module.exports, "defaultThemeLight", () => $938bb59f49c318a8$export$1196b7bf97f3d16c);
1807
1702
 
1808
- var $cT90l = parcelRequire("cT90l");
1809
- const $938bb59f49c318a8$export$4aebf65ed07cf17b = {
1810
- rgb: 'rgb(112, 112, 112)'
1703
+ var $4ucVo = parcelRequire("4ucVo");
1704
+
1705
+ var $1TxAn = parcelRequire("1TxAn");
1706
+
1707
+ var $lgmOB = parcelRequire("lgmOB");
1708
+ const $aab770e2a22c2c28$var$defaultConfiguration = {
1709
+ subtitles: false
1811
1710
  };
1812
- const $938bb59f49c318a8$export$d80fe84b82195dbd = {
1813
- ...(0, $cT90l.commonColors),
1814
- companyName: '#000',
1815
- loader: {
1816
- animation: (0, $cT90l.commonColors).primary,
1817
- background: 'rgba(18,18,18,0.7)',
1818
- text: '#FFF',
1819
- toggle: {
1820
- text: '#000',
1821
- background: (0, $cT90l.commonColors).primary
1822
- },
1823
- button: {
1824
- background: {
1825
- default: 'transparent',
1826
- hover: 'transparent'
1827
- },
1828
- border: {
1829
- default: (0, $cT90l.commonColors).primary,
1830
- hover: '#FFF'
1831
- },
1832
- text: {
1833
- default: (0, $cT90l.commonColors).primary,
1834
- hover: '#FFF'
1835
- }
1836
- }
1837
- },
1838
- card: {
1839
- frame: {
1840
- background: '#2B2B2B',
1841
- border: 'transparent',
1842
- text: '#F7F3F6'
1843
- },
1844
- button: {
1845
- background: {
1846
- default: 'transparent',
1847
- hover: 'transparent'
1848
- },
1849
- border: {
1850
- default: (0, $cT90l.commonColors).primary,
1851
- hover: '#FFF'
1852
- },
1853
- text: {
1854
- default: (0, $cT90l.commonColors).primary,
1855
- hover: '#FFF'
1856
- }
1857
- },
1858
- discoverButton: {
1859
- background: {
1860
- default: '#eaebf0',
1861
- hover: 'transparent'
1862
- },
1863
- border: {
1864
- default: 'transparent',
1865
- hover: '#FFF'
1866
- },
1867
- text: {
1868
- default: '#575F6B',
1869
- hover: '#FFF'
1870
- }
1871
- }
1872
- },
1873
- textMode: {
1874
- panel: {
1875
- background: 'rgba(255, 255, 255, 0.9)',
1876
- border: 'transparent',
1877
- conversationUser: '#FFF',
1878
- conversationBot: '#2C2C2C',
1879
- backgroundUser: (0, $cT90l.commonColors).secondary,
1880
- backgroundBot: '#F0F0F0'
1881
- }
1882
- },
1883
- vocalMode: {
1884
- subtitles: {
1885
- text: '#FFF',
1886
- background: '#000'
1887
- }
1888
- },
1889
- formInput: {
1890
- text: {
1891
- default: (0, $cT90l.commonColors).secondary,
1892
- hover: '#FFF'
1893
- },
1894
- inputRadioCheckbox: {
1895
- unchecked: {
1896
- background: '#434141',
1897
- border: '#818181'
1898
- },
1899
- checked: {
1900
- background: (0, $cT90l.commonColors).primary,
1901
- border: (0, $cT90l.commonColors).primary,
1902
- item: '#000'
1903
- }
1904
- },
1905
- inputButton: {
1906
- background: {
1907
- default: (0, $cT90l.commonColors).black,
1908
- hover: (0, $cT90l.commonColors).primary
1909
- },
1910
- border: {
1911
- default: (0, $cT90l.commonColors).primary,
1912
- hover: '#FFF'
1913
- },
1914
- text: {
1915
- default: '#FFF',
1916
- hover: '#FFF'
1917
- }
1918
- },
1919
- likert: {
1920
- default: 'transparent',
1921
- hover: '#E8B712'
1922
- }
1923
- }
1924
- };
1925
- const $938bb59f49c318a8$export$1196b7bf97f3d16c = {
1926
- ...(0, $cT90l.commonColors),
1927
- companyName: '#000',
1928
- loader: {
1929
- animation: (0, $cT90l.commonColors).primary,
1930
- background: 'rgba(18,18,18,0.7)',
1931
- text: '#FFF',
1932
- toggle: {
1933
- text: '#000',
1934
- background: (0, $cT90l.commonColors).primary
1935
- },
1936
- button: {
1937
- background: {
1938
- default: 'transparent',
1939
- hover: 'transparent'
1940
- },
1941
- border: {
1942
- default: (0, $cT90l.commonColors).primary,
1943
- hover: '#FFF'
1944
- },
1945
- text: {
1946
- default: (0, $cT90l.commonColors).primary,
1947
- hover: '#FFF'
1948
- }
1949
- }
1950
- },
1951
- card: {
1952
- frame: {
1953
- background: '#2B2B2B',
1954
- border: 'transparent',
1955
- text: '#F7F3F6'
1956
- },
1957
- button: {
1958
- background: {
1959
- default: 'transparent',
1960
- hover: 'transparent'
1961
- },
1962
- border: {
1963
- default: (0, $cT90l.commonColors).primary,
1964
- hover: '#FFF'
1965
- },
1966
- text: {
1967
- default: (0, $cT90l.commonColors).primary,
1968
- hover: '#FFF'
1969
- }
1970
- },
1971
- discoverButton: {
1972
- background: {
1973
- default: '#eaebf0',
1974
- hover: 'transparent'
1975
- },
1976
- border: {
1977
- default: 'transparent',
1978
- hover: '#FFF'
1979
- },
1980
- text: {
1981
- default: '#575F6B',
1982
- hover: '#FFF'
1983
- }
1984
- }
1985
- },
1986
- textMode: {
1987
- panel: {
1988
- background: 'rgba(255, 255, 255, 0.9)',
1989
- border: 'transparent',
1990
- conversationUser: '#FFF',
1991
- conversationBot: '#2C2C2C',
1992
- backgroundUser: (0, $cT90l.commonColors).secondary,
1993
- backgroundBot: '#F0F0F0'
1994
- }
1995
- },
1996
- vocalMode: {
1997
- subtitles: {
1998
- text: '#FFF',
1999
- background: '#000'
2000
- }
2001
- },
2002
- formInput: {
2003
- text: {
2004
- default: (0, $cT90l.commonColors).secondary,
2005
- hover: '#FFF'
2006
- },
2007
- inputRadioCheckbox: {
2008
- unchecked: {
2009
- background: '#434141',
2010
- border: '#818181'
2011
- },
2012
- checked: {
2013
- background: (0, $cT90l.commonColors).primary,
2014
- border: (0, $cT90l.commonColors).primary,
2015
- item: '#000'
2016
- }
2017
- },
2018
- inputButton: {
2019
- background: {
2020
- default: (0, $cT90l.commonColors).black,
2021
- hover: (0, $cT90l.commonColors).primary
2022
- },
2023
- border: {
2024
- default: (0, $cT90l.commonColors).primary,
2025
- hover: '#FFF'
2026
- },
2027
- text: {
2028
- default: '#FFF',
2029
- hover: '#FFF'
2030
- }
2031
- },
2032
- likert: {
2033
- default: 'transparent',
2034
- hover: '#E8B712'
2035
- }
2036
- }
2037
- };
2038
-
2039
- });
2040
-
2041
-
2042
- parcelRegister("i1rfm", function(module, exports) {
2043
-
2044
- $parcel$export(module.exports, "useSpeechStore", () => $244e94971d503466$export$f299240efcda25a2);
2045
- $parcel$export(module.exports, "default", () => $244e94971d503466$export$2e2bcd8739ae039);
2046
-
2047
-
2048
-
2049
-
2050
- var $j67YK = parcelRequire("j67YK");
2051
-
2052
- var $4ucVo = parcelRequire("4ucVo");
2053
-
2054
- var $cW5Dh = parcelRequire("cW5Dh");
2055
- const $244e94971d503466$var$initialState = {
2056
- ponyfillCredentials: undefined,
2057
- useContinuousRecognition: false,
2058
- customVoice: undefined,
2059
- voice: null,
2060
- mode: (0, $4ucVo.Mode).text,
2061
- disableSound: false,
2062
- speaking: false,
2063
- muted: false,
2064
- cancel: false,
2065
- boundaryData: [],
2066
- visemeData: [],
2067
- singleVisemeAdded: null,
2068
- multiVisemesAdded: [],
2069
- currentOrLastPlayedActivity: undefined,
2070
- isMicrophoneAllowed: false,
2071
- showMicrophoneModal: false,
2072
- permissionStatus: (0, $4ucVo.PermissionStatus).waiting,
2073
- activeRecognitionState: (0, $4ucVo.RecognitionState).Closed,
2074
- lastRecognitionInterim: '',
2075
- streamingReplyToId: null,
2076
- streamingQueue: [],
2077
- streamingReplyToIdToIgnore: null,
2078
- speechRecognitionDynamicGrammars: [],
2079
- externalTextToSpeech: undefined
1711
+ const $aab770e2a22c2c28$var$initialState = {
1712
+ configuration: $aab770e2a22c2c28$var$defaultConfiguration,
1713
+ addressData: {},
1714
+ canFocusSendBox: false,
1715
+ sendBoxRef: null,
1716
+ sendBoxPlaceHolder: undefined,
1717
+ fromTextToVocal: false,
1718
+ baseAddress: '',
1719
+ subtitlesInConfiguration: false,
1720
+ displaySubtitles: false,
1721
+ agentData: undefined,
1722
+ gpuData: undefined,
1723
+ loaderClosed: false,
1724
+ appAvailable: false,
1725
+ currentLayout: (0, $4ucVo.ContainerParent).agent,
1726
+ userAlreadySet: false,
1727
+ isWaitingForResponse: false,
1728
+ instantIsWaitingForResponse: false,
1729
+ skipLoader: false,
1730
+ displayAgentInNews: true,
1731
+ submitDelayBeforeSendingMessage: undefined,
1732
+ disableHistory: false,
1733
+ environmentPreset: "apartment",
1734
+ customScripts: [],
1735
+ customCSS: [],
1736
+ enabledFeatures: []
2080
1737
  };
2081
- const $244e94971d503466$var$createSpeechStore = (setRetorikEvent, getListStatus, setListStatus, setLastListActivity, setUserTyping)=>{
1738
+ let $aab770e2a22c2c28$var$timer = null;
1739
+ $aab770e2a22c2c28$var$timer = setTimeout(()=>{
1740
+ return true;
1741
+ }, 1000);
1742
+ const $aab770e2a22c2c28$var$createRetorikStore = ()=>{
2082
1743
  return (0, $bZRJW$createStore)((set, get)=>{
2083
1744
  return {
2084
- ...$244e94971d503466$var$initialState,
1745
+ ...$aab770e2a22c2c28$var$initialState,
2085
1746
  actions: {
2086
- setPonyfillFactoryCredentials: (value)=>{
1747
+ setConfiguration: (value)=>{
2087
1748
  set({
2088
- ponyfillCredentials: value
1749
+ configuration: value
2089
1750
  });
2090
1751
  },
2091
- setUseContinuousRecognition: (deviceType, options)=>{
2092
- if (options?.enableContinuousRecognitionOnAllDevices) set({
2093
- useContinuousRecognition: true
1752
+ setAddressData: (value)=>{
1753
+ set({
1754
+ addressData: value
2094
1755
  });
2095
- else if (options?.enableContinuousRecognitionOn) switch(deviceType){
2096
- case (0, $4ucVo.DeviceType).mobile:
2097
- set({
2098
- useContinuousRecognition: !!options.enableContinuousRecognitionOn.mobile
2099
- });
2100
- break;
2101
- case (0, $4ucVo.DeviceType).widget:
2102
- case (0, $4ucVo.DeviceType).widgetLandscape:
2103
- case (0, $4ucVo.DeviceType).widgetBorne:
2104
- set({
2105
- useContinuousRecognition: !!options.enableContinuousRecognitionOn.widget
2106
- });
2107
- break;
2108
- case (0, $4ucVo.DeviceType).landscape:
2109
- set({
2110
- useContinuousRecognition: !!options.enableContinuousRecognitionOn.desktop
2111
- });
2112
- break;
2113
- case (0, $4ucVo.DeviceType).borne:
2114
- set({
2115
- useContinuousRecognition: !!options.enableContinuousRecognitionOn.borne
2116
- });
2117
- break;
2118
- default:
2119
- set({
2120
- useContinuousRecognition: false
2121
- });
2122
- break;
2123
- }
2124
- else set({
2125
- useContinuousRecognition: false
1756
+ },
1757
+ setSendBoxRef: (value)=>{
1758
+ set({
1759
+ sendBoxRef: value
2126
1760
  });
2127
1761
  },
2128
- setCustomVoice: (value)=>{
1762
+ focusSendBox: ()=>{
1763
+ const sendBox = get().sendBoxRef;
1764
+ sendBox && document.activeElement !== sendBox && sendBox.focus();
1765
+ },
1766
+ setCanFocusSendBox: (value)=>{
2129
1767
  set({
2130
- customVoice: value
1768
+ canFocusSendBox: value
2131
1769
  });
2132
1770
  },
2133
- setVoice: (value)=>{
1771
+ setSendBoxPlaceHolder: (value)=>{
2134
1772
  set({
2135
- voice: value
1773
+ sendBoxPlaceHolder: value
2136
1774
  });
2137
1775
  },
2138
- setMode: (value)=>{
1776
+ setLayout: (value)=>{
2139
1777
  set({
2140
- mode: value
1778
+ currentLayout: value
2141
1779
  });
2142
- setLastListActivity(undefined);
2143
- value !== (0, $4ucVo.Mode).text && setUserTyping(false);
2144
- !get().disableSound && get().actions.setMuted(value === (0, $4ucVo.Mode).text);
2145
1780
  },
2146
- setDisableSound: (value)=>{
1781
+ setUserAlreadySet: (value)=>{
2147
1782
  set({
2148
- disableSound: value
1783
+ userAlreadySet: value
2149
1784
  });
2150
1785
  },
2151
- setSpeaking: (value)=>{
2152
- set(()=>{
2153
- return value === false ? {
2154
- speaking: value,
2155
- visemeData: [],
2156
- singleVisemeAdded: null,
2157
- multiVisemesAdded: []
2158
- } : {
2159
- speaking: value
2160
- };
1786
+ setEnvironmentPreset: (value)=>{
1787
+ set({
1788
+ environmentPreset: value
2161
1789
  });
2162
- setRetorikEvent(value ? (0, $4ucVo.RetorikEvent).SpeechStarted : (0, $4ucVo.RetorikEvent).SpeechEnded);
2163
1790
  },
2164
- setMuted: (value)=>{
1791
+ setFromTextToVocal: (value)=>{
2165
1792
  set({
2166
- muted: value
1793
+ fromTextToVocal: value
2167
1794
  });
2168
1795
  },
2169
- toggleMuted: ()=>{
2170
- set((state)=>({
2171
- muted: !state.muted
2172
- }));
1796
+ setBaseAddress: (value)=>{
1797
+ set({
1798
+ baseAddress: value
1799
+ });
2173
1800
  },
2174
- cancelCurrentUtterance: ()=>{
1801
+ setLoaderClosed: (value)=>{
2175
1802
  set({
2176
- cancel: true
1803
+ loaderClosed: value
2177
1804
  });
2178
1805
  },
2179
- resetCancelCurrentUtterance: ()=>{
1806
+ setAppAvailable: (value)=>{
2180
1807
  set({
2181
- cancel: false
1808
+ appAvailable: value
2182
1809
  });
2183
1810
  },
2184
- setBoundaryData: (value)=>{
1811
+ setSubtitlesInConfiguration: (value)=>{
2185
1812
  set({
2186
- boundaryData: value
1813
+ subtitlesInConfiguration: value,
1814
+ displaySubtitles: value
2187
1815
  });
2188
1816
  },
2189
- setVisemeData: (value)=>{
1817
+ setDisplaySubtitles: (value)=>{
2190
1818
  set({
2191
- visemeData: value,
2192
- multiVisemesAdded: value
1819
+ displaySubtitles: value
2193
1820
  });
2194
1821
  },
2195
- addViseme: (value)=>{
1822
+ toggleSubtitles: ()=>{
2196
1823
  set((state)=>({
2197
- visemeData: [
2198
- ...state.visemeData,
2199
- value
2200
- ],
2201
- singleVisemeAdded: value
1824
+ displaySubtitles: !state.displaySubtitles
2202
1825
  }));
2203
1826
  },
2204
- setCurrentOrLastPlayedActivity: (value)=>{
2205
- set({
2206
- currentOrLastPlayedActivity: value
2207
- });
2208
- if (value?.attachmentLayout?.toLowerCase() === 'davilist') {
2209
- if (getListStatus() !== (0, $4ucVo.ListStatus).opened) setListStatus((0, $4ucVo.ListStatus).available);
1827
+ setAgentData: async (value)=>{
1828
+ // Test GPU to use bodyengine or fall back to spiritengine. Tier at least 1 for mobile, 2 for desktop
1829
+ const gpuTier = await (0, $bZRJW$getGPUTier)();
1830
+ let gpuTestSupportsBodyengine = false;
1831
+ if (gpuTier.tier > 0) {
1832
+ if (gpuTier.type === 'FALLBACK') gpuTestSupportsBodyengine = true;
1833
+ else gpuTestSupportsBodyengine = gpuTier.tier > 1;
1834
+ }
1835
+ const url = typeof value === 'string' ? value : value.url;
1836
+ let data = await (0, $lgmOB.default)(url);
1837
+ if (data?.useBodyEngineThree && !gpuTestSupportsBodyengine) {
1838
+ console.log('Retorik Framework > graphic capacity too low to use bodyengine, the application will switch to spiritengine');
1839
+ data = await (0, $lgmOB.default)(data?.gender === 'female' ? (0, $1TxAn.characters).zahra : (0, $1TxAn.characters).rowan);
1840
+ }
1841
+ if (data && typeof value !== 'string') {
1842
+ value.name && (data.name = value.name);
1843
+ value.animationsUrl && (data.animationsUrl = value.animationsUrl);
2210
1844
  }
2211
- },
2212
- setIsMicrophoneAllowed: (value)=>{
2213
1845
  set({
2214
- isMicrophoneAllowed: value
1846
+ gpuData: gpuTier,
1847
+ agentData: data
2215
1848
  });
2216
1849
  },
2217
- setShowMicrophoneModal: (value)=>{
2218
- set({
2219
- showMicrophoneModal: value
2220
- });
1850
+ setTimerForWaiting: ()=>{
1851
+ $aab770e2a22c2c28$var$timer = setTimeout(()=>{
1852
+ set({
1853
+ isWaitingForResponse: true
1854
+ });
1855
+ $aab770e2a22c2c28$var$timer = null;
1856
+ }, 1000);
2221
1857
  },
2222
- toggleMicrophone: (fromExpectedInput)=>{
2223
- if (get().mode === (0, $4ucVo.Mode).text) get().actions.setActiveRecognitionState((0, $4ucVo.RecognitionState).Closed);
2224
- else switch(get().activeRecognitionState){
2225
- // Do nothing if we are in a transition state
2226
- case (0, $4ucVo.RecognitionState).Initializing:
2227
- case (0, $4ucVo.RecognitionState).Closing:
2228
- return;
2229
- case (0, $4ucVo.RecognitionState).Listening:
2230
- get().actions.setActiveRecognitionState((0, $4ucVo.RecognitionState).ForceClosing);
2231
- get().actions.cancelCurrentUtterance();
2232
- break;
2233
- case (0, $4ucVo.RecognitionState).Closed:
2234
- get().actions.setActiveRecognitionState((0, $4ucVo.RecognitionState).Initializing);
2235
- !fromExpectedInput && get().actions.cancelCurrentUtterance();
2236
- break;
1858
+ setIsWaitingForResponse: (value)=>{
1859
+ if (value) {
1860
+ set({
1861
+ instantIsWaitingForResponse: true
1862
+ });
1863
+ !$aab770e2a22c2c28$var$timer && get().actions.setTimerForWaiting();
1864
+ } else {
1865
+ $aab770e2a22c2c28$var$timer && clearTimeout($aab770e2a22c2c28$var$timer);
1866
+ $aab770e2a22c2c28$var$timer = null;
1867
+ set({
1868
+ instantIsWaitingForResponse: false,
1869
+ isWaitingForResponse: false
1870
+ });
2237
1871
  }
2238
1872
  },
2239
- askPermission: async ()=>{
1873
+ setSkipLoader: (value)=>{
2240
1874
  set({
2241
- showMicrophoneModal: true
2242
- });
2243
- (0, $cW5Dh.default)().then((permission)=>{
2244
- // Hide modal window and open microphone if this one is allowed
2245
- if (permission === (0, $4ucVo.PermissionStatus).allowed) {
2246
- set({
2247
- permissionStatus: permission,
2248
- isMicrophoneAllowed: true,
2249
- showMicrophoneModal: false
2250
- });
2251
- get().actions.toggleMicrophone();
2252
- } else set({
2253
- permissionStatus: permission,
2254
- isMicrophoneAllowed: false
2255
- });
1875
+ skipLoader: value
2256
1876
  });
2257
1877
  },
2258
- setActiveRecognitionState: (value)=>{
1878
+ setDisplayAgentInNews: (value)=>{
2259
1879
  set({
2260
- activeRecognitionState: value
1880
+ displayAgentInNews: value
2261
1881
  });
2262
1882
  },
2263
- setLastRecognitionInterim: (value)=>{
1883
+ setSubmitDelayBeforeSendingMessage: (value)=>{
2264
1884
  set({
2265
- lastRecognitionInterim: value
1885
+ submitDelayBeforeSendingMessage: value
2266
1886
  });
2267
1887
  },
2268
- setStreamingReplyToId: (value)=>{
1888
+ setDisableHistory: (value)=>{
2269
1889
  set({
2270
- streamingReplyToId: value
2271
- });
2272
- },
2273
- addToStreamingQueue: (value)=>{
2274
- if (value.replyToId) {
2275
- if (value.replyToId !== get().streamingReplyToIdToIgnore) {
2276
- // Set replyToId and new queue if replyToId is different from the current one
2277
- if (get().streamingReplyToId !== value.replyToId) set({
2278
- streamingReplyToId: value.replyToId,
2279
- streamingQueue: [
2280
- value
2281
- ]
2282
- });
2283
- else set({
2284
- streamingQueue: [
2285
- ...get().streamingQueue,
2286
- value
2287
- ]
2288
- });
2289
- }
2290
- } else set({
2291
- streamingQueue: [
2292
- ...get().streamingQueue,
2293
- value
2294
- ]
1890
+ disableHistory: value
2295
1891
  });
2296
1892
  },
2297
- // If "twice" parameter is true, let's remove 2 elements instead of one (used with the message at the end of a streaming that should not be spoken)
2298
- removeFirstFromStreamingQueue: (twice)=>{
2299
- set((state)=>({
2300
- streamingQueue: state.streamingQueue.slice(twice ? 2 : 1)
2301
- }));
2302
- },
2303
- killCurrentStreaming: ()=>{
1893
+ setCustomScripts: (value)=>{
2304
1894
  set({
2305
- streamingReplyToIdToIgnore: get().streamingReplyToId,
2306
- streamingQueue: []
1895
+ customScripts: value
2307
1896
  });
2308
1897
  },
2309
- checkActivityReplyToId: (replyToId)=>{
2310
- get().streamingReplyToId !== replyToId && get().actions.killCurrentStreaming();
2311
- },
2312
- addSpeechRecognitionDynamicGrammar: (value)=>{
2313
- const currentGrammars = get().speechRecognitionDynamicGrammars;
2314
- // For each value, verifiy if it doesn't exist in the array yet
2315
- if (Array.isArray(value)) {
2316
- const valuesToAdd = [];
2317
- value.forEach((val)=>{
2318
- !currentGrammars.includes(val) && valuesToAdd.push(val);
2319
- });
2320
- valuesToAdd.length && set({
2321
- speechRecognitionDynamicGrammars: [
2322
- ...currentGrammars,
2323
- ...valuesToAdd
2324
- ]
2325
- });
2326
- } else !currentGrammars.includes(value) && set({
2327
- speechRecognitionDynamicGrammars: [
2328
- ...currentGrammars,
2329
- value
2330
- ]
1898
+ setCustomCSS: (value)=>{
1899
+ set({
1900
+ customCSS: value
2331
1901
  });
2332
1902
  },
2333
- playExternalSynthesis: (value)=>{
1903
+ setEnabledFeatures: (value)=>{
2334
1904
  set({
2335
- externalTextToSpeech: value
1905
+ enabledFeatures: value
2336
1906
  });
2337
1907
  },
2338
- resetSpeechStore: ()=>{
1908
+ resetRetorikStore: ()=>{
2339
1909
  set({
2340
- ...$244e94971d503466$var$initialState
1910
+ ...$aab770e2a22c2c28$var$initialState
2341
1911
  });
2342
1912
  }
2343
1913
  }
2344
- };
2345
- });
2346
- };
2347
- const $244e94971d503466$var$SpeechContext = /*#__PURE__*/ (0, $bZRJW$createContext)(null);
2348
- const $244e94971d503466$export$f299240efcda25a2 = (selector)=>{
2349
- const store = (0, $bZRJW$useContext)($244e94971d503466$var$SpeechContext);
2350
- if (!store) throw new Error('Retorik Framework > useSpeechStore must be used within SpeechProvider');
2351
- return (0, $bZRJW$useStore)(store, selector);
2352
- };
2353
- const $244e94971d503466$var$SpeechProvider = ({ children: children })=>{
2354
- const { setRetorikEvent: setRetorikEvent, getListStatus: getListStatus, setListStatus: setListStatus, setLastListActivity: setLastListActivity, setUserTyping: setUserTyping } = (0, $j67YK.useUtilsStore)((state)=>state.actions);
2355
- const [store] = (0, $bZRJW$useState)(()=>$244e94971d503466$var$createSpeechStore(setRetorikEvent, getListStatus, setListStatus, setLastListActivity, setUserTyping));
2356
- return /*#__PURE__*/ (0, $bZRJW$jsx)($244e94971d503466$var$SpeechContext.Provider, {
2357
- value: store,
2358
- children: children
2359
- });
2360
- };
2361
- var $244e94971d503466$export$2e2bcd8739ae039 = $244e94971d503466$var$SpeechProvider;
2362
-
2363
- });
2364
- parcelRegister("cW5Dh", function(module, exports) {
2365
-
2366
- $parcel$export(module.exports, "default", () => $1c5c9ed09d1921fe$export$2e2bcd8739ae039);
2367
-
2368
- var $4ucVo = parcelRequire("4ucVo");
2369
- const $1c5c9ed09d1921fe$var$getMicrophonePermission = async ()=>{
2370
- try {
2371
- return navigator.mediaDevices.getUserMedia({
2372
- audio: true
2373
- }).then((stream)=>{
2374
- return stream ? (0, $4ucVo.PermissionStatus).allowed : (0, $4ucVo.PermissionStatus).refused;
2375
- }, (reason)=>{
2376
- console.log('Retorik Framework > microphone permission refused : ', reason);
2377
- return (0, $4ucVo.PermissionStatus).refused;
2378
- }).catch((error)=>{
2379
- console.log('Retorik Framework > microphone permission refused : ', error);
2380
- return (0, $4ucVo.PermissionStatus).error;
2381
- });
2382
- } catch (error) {
2383
- console.log('Retorik Framework > microphone permission refused : ', error);
2384
- return (0, $4ucVo.PermissionStatus).error;
1914
+ };
1915
+ });
1916
+ };
1917
+ const $aab770e2a22c2c28$var$RetorikContext = /*#__PURE__*/ (0, $bZRJW$createContext)(null);
1918
+ const $aab770e2a22c2c28$export$bd22554f31e5f96f = (selector)=>{
1919
+ const store = (0, $bZRJW$useContext)($aab770e2a22c2c28$var$RetorikContext);
1920
+ if (!store) throw new Error('Retorik Framework > useRetorikStore must be used within RetorikProvider');
1921
+ return (0, $bZRJW$useStore)(store, selector);
1922
+ };
1923
+ const $aab770e2a22c2c28$var$RetorikProvider = ({ children: children })=>{
1924
+ const [store] = (0, $bZRJW$useState)(()=>$aab770e2a22c2c28$var$createRetorikStore());
1925
+ return /*#__PURE__*/ (0, $bZRJW$jsx)($aab770e2a22c2c28$var$RetorikContext.Provider, {
1926
+ value: store,
1927
+ children: children
1928
+ });
1929
+ };
1930
+ var $aab770e2a22c2c28$export$2e2bcd8739ae039 = $aab770e2a22c2c28$var$RetorikProvider;
1931
+
1932
+ });
1933
+ parcelRegister("1TxAn", function(module, exports) {
1934
+
1935
+ $parcel$export(module.exports, "characters", () => $f413faac4683ad46$export$30a86d91af8ff6e6);
1936
+
1937
+ var $cT90l = parcelRequire("cT90l");
1938
+ const $f413faac4683ad46$export$30a86d91af8ff6e6 = {
1939
+ alice: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/alice`,
1940
+ greg: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/greg`,
1941
+ jeanmarc: `${(0, $cT90l.CDNCharactersAddress)}/jean-marc`,
1942
+ jessica: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/jessica`,
1943
+ jessica_short: `${(0, $cT90l.CDNCharactersAddress)}/medium-shot/jessica`,
1944
+ ikaa: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/ikaa`,
1945
+ karine: `${(0, $cT90l.CDNCharactersAddress)}/karine`,
1946
+ lea: `${(0, $cT90l.CDNCharactersAddress)}/lea`,
1947
+ prosper: `${(0, $cT90l.CDNCharactersAddress)}/prosper`,
1948
+ raphael: `${(0, $cT90l.CDNCharactersAddress)}/raphael`,
1949
+ rowan: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/rowan`,
1950
+ rowan_short: `${(0, $cT90l.CDNCharactersAddress)}/medium-shot/rowan`,
1951
+ zahra: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/zahra`
1952
+ };
1953
+
1954
+ });
1955
+ parcelRegister("cT90l", function(module, exports) {
1956
+
1957
+ $parcel$export(module.exports, "mobileBreakpoint", () => $adb8114d28dbbc13$export$2e65b7c7134e01f0);
1958
+ $parcel$export(module.exports, "mediumBreakpoint", () => $adb8114d28dbbc13$export$91e4bf93df95a062);
1959
+ $parcel$export(module.exports, "CDNCharactersAddress", () => $adb8114d28dbbc13$export$2475544086fd222b);
1960
+ $parcel$export(module.exports, "CDNImagesAddress", () => $adb8114d28dbbc13$export$f718170a6537817b);
1961
+ $parcel$export(module.exports, "CDNAudioAddress", () => $adb8114d28dbbc13$export$eefca12493f9e9b9);
1962
+ $parcel$export(module.exports, "studioRetorik", () => $adb8114d28dbbc13$export$c398bfda6cfa19ff);
1963
+ $parcel$export(module.exports, "studioRetorikDev", () => $adb8114d28dbbc13$export$9adff68f093278ec);
1964
+ $parcel$export(module.exports, "studioRetorikStaging", () => $adb8114d28dbbc13$export$409889737849a04f);
1965
+ $parcel$export(module.exports, "studioRetorikExperimental", () => $adb8114d28dbbc13$export$a4481ccc388fce2a);
1966
+ $parcel$export(module.exports, "docsRetorik", () => $adb8114d28dbbc13$export$1f4373411c991e56);
1967
+ $parcel$export(module.exports, "openRoute", () => $adb8114d28dbbc13$export$d6542303192de6db);
1968
+ $parcel$export(module.exports, "openRouteAPIKey", () => $adb8114d28dbbc13$export$6f60da16472d34a7);
1969
+ $parcel$export(module.exports, "webchatTokenRetrievalAddress", () => $adb8114d28dbbc13$export$d9e38c0112bbdae6);
1970
+ $parcel$export(module.exports, "defaultDirectLineAddress", () => $adb8114d28dbbc13$export$342c646308e8fa62);
1971
+ $parcel$export(module.exports, "hospitalityApiAddress", () => $adb8114d28dbbc13$export$1ca3e229e23d7f42);
1972
+ $parcel$export(module.exports, "telemetryAddress", () => $adb8114d28dbbc13$export$1e8c600abff9ea62);
1973
+ $parcel$export(module.exports, "googleMapsAddress", () => $adb8114d28dbbc13$export$f3c31933b33f3693);
1974
+ $parcel$export(module.exports, "DEFAULT_LANGUAGE_DATA", () => $adb8114d28dbbc13$export$8828fbbb6034a09b);
1975
+ $parcel$export(module.exports, "DEFAULT_VIEWS", () => $adb8114d28dbbc13$export$9bbca248acc786d3);
1976
+ $parcel$export(module.exports, "DEFAULT_SUB_VIEWS", () => $adb8114d28dbbc13$export$890576ebf405f6b7);
1977
+ $parcel$export(module.exports, "mobileDisplays", () => $adb8114d28dbbc13$export$78f16669b353a880);
1978
+ $parcel$export(module.exports, "widgetDisplays", () => $adb8114d28dbbc13$export$909f4c209eb70365);
1979
+ $parcel$export(module.exports, "landscapeDisplays", () => $adb8114d28dbbc13$export$baf53ca377ebf861);
1980
+ $parcel$export(module.exports, "borneDisplays", () => $adb8114d28dbbc13$export$a8576d98c9c928de);
1981
+ $parcel$export(module.exports, "commonColors", () => $adb8114d28dbbc13$export$c0da64553318f2cb);
1982
+ $parcel$export(module.exports, "nonResponseInducingEvents", () => $adb8114d28dbbc13$export$6a32bf5257e620e1);
1983
+ $parcel$export(module.exports, "rtlLanguages", () => $adb8114d28dbbc13$export$882049267ad78ff6);
1984
+
1985
+ var $4ucVo = parcelRequire("4ucVo");
1986
+ const $adb8114d28dbbc13$export$2e65b7c7134e01f0 = 600;
1987
+ const $adb8114d28dbbc13$export$91e4bf93df95a062 = 1300;
1988
+ const $adb8114d28dbbc13$export$66b40c15080ce99b = 'https://cdn.retorik.ai';
1989
+ const $adb8114d28dbbc13$export$2475544086fd222b = `${$adb8114d28dbbc13$export$66b40c15080ce99b}/spiritenginehtml5/characters`;
1990
+ const $adb8114d28dbbc13$export$f718170a6537817b = `${$adb8114d28dbbc13$export$66b40c15080ce99b}/retorik-framework/imagefiles`;
1991
+ const $adb8114d28dbbc13$export$eefca12493f9e9b9 = `${$adb8114d28dbbc13$export$66b40c15080ce99b}/retorik-framework/audiofiles`;
1992
+ const $adb8114d28dbbc13$export$c398bfda6cfa19ff = 'https://studio.retorik.ai';
1993
+ const $adb8114d28dbbc13$export$9adff68f093278ec = 'https://dev.studio.retorik.ai';
1994
+ const $adb8114d28dbbc13$export$409889737849a04f = 'https://preview.studio.retorik.ai';
1995
+ const $adb8114d28dbbc13$export$a4481ccc388fce2a = 'https://experimental.studio.retorik.ai';
1996
+ const $adb8114d28dbbc13$export$1f4373411c991e56 = 'https://docs.retorik.ai';
1997
+ const $adb8114d28dbbc13$export$d6542303192de6db = 'https://api.openrouteservice.org/v2/directions';
1998
+ const $adb8114d28dbbc13$export$6f60da16472d34a7 = '5b3ce3597851110001cf62483cfd6bd46f934b7d96f108a35e0f08b8';
1999
+ const $adb8114d28dbbc13$export$dc91bcad81fffb1f = 'https://api.open-meteo.com/v1/forecast?';
2000
+ const $adb8114d28dbbc13$export$68b4ac416ba801c6 = '&daily=weathercode,temperature_2m_max,temperature_2m_min&timezone=auto&current_weather=true';
2001
+ const $adb8114d28dbbc13$export$d9e38c0112bbdae6 = 'K2.ContentFields.WebChat/api/GetWebchatToken';
2002
+ const $adb8114d28dbbc13$export$342c646308e8fa62 = 'https://directline.botframework.com/v3/directline';
2003
+ const $adb8114d28dbbc13$export$1ca3e229e23d7f42 = 'api/hospitality/Emergency';
2004
+ const $adb8114d28dbbc13$export$1e8c600abff9ea62 = 'https://telemetry.retorik.ai/otlp-http/v1/traces';
2005
+ const $adb8114d28dbbc13$export$f3c31933b33f3693 = 'https://www.google.com/maps/dir/?api=1&';
2006
+ const $adb8114d28dbbc13$export$8828fbbb6034a09b = {
2007
+ default: 'fr-FR',
2008
+ all: [
2009
+ 'fr-FR'
2010
+ ]
2011
+ };
2012
+ const $adb8114d28dbbc13$export$9bbca248acc786d3 = [
2013
+ {
2014
+ view: (0, $4ucVo.AvailableViews).home,
2015
+ indice: 1
2016
+ },
2017
+ {
2018
+ view: (0, $4ucVo.AvailableViews).emergency,
2019
+ indice: 2
2020
+ }
2021
+ ];
2022
+ const $adb8114d28dbbc13$export$890576ebf405f6b7 = [
2023
+ {
2024
+ view: (0, $4ucVo.AvailableSubViews).history,
2025
+ indice: 1
2026
+ },
2027
+ {
2028
+ view: (0, $4ucVo.AvailableSubViews).tutorial,
2029
+ indice: 2
2030
+ }
2031
+ ];
2032
+ const $adb8114d28dbbc13$export$78f16669b353a880 = [
2033
+ (0, $4ucVo.DeviceType).mobile,
2034
+ (0, $4ucVo.DeviceType).widget
2035
+ ];
2036
+ const $adb8114d28dbbc13$export$909f4c209eb70365 = [
2037
+ (0, $4ucVo.DeviceType).widget,
2038
+ (0, $4ucVo.DeviceType).widgetBorne,
2039
+ (0, $4ucVo.DeviceType).widgetLandscape
2040
+ ];
2041
+ const $adb8114d28dbbc13$export$baf53ca377ebf861 = [
2042
+ (0, $4ucVo.DeviceType).landscape,
2043
+ (0, $4ucVo.DeviceType).widgetLandscape
2044
+ ];
2045
+ const $adb8114d28dbbc13$export$a8576d98c9c928de = [
2046
+ (0, $4ucVo.DeviceType).borne,
2047
+ (0, $4ucVo.DeviceType).widgetBorne
2048
+ ];
2049
+ const $adb8114d28dbbc13$export$c0da64553318f2cb = {
2050
+ primary: '#00D7FF',
2051
+ secondary: '#1999B1',
2052
+ black: '#101219',
2053
+ whereToEatColor: '#FC952E',
2054
+ whereToSleepColor: '#9F007D',
2055
+ tobeSeenColor: '#76AB2A',
2056
+ tobeDoneColor: '#E23C2A',
2057
+ localProductsColor: '#AFB942',
2058
+ servicesColor: '#00C8BC',
2059
+ agendaColor: '#865DA2',
2060
+ occupantColor: '#6DEDBC'
2061
+ };
2062
+ const $adb8114d28dbbc13$export$6a32bf5257e620e1 = [
2063
+ 'davi.closewindow',
2064
+ 'setuser',
2065
+ 'davi.gdprconsent'
2066
+ ];
2067
+ const $adb8114d28dbbc13$export$882049267ad78ff6 = [
2068
+ 'ar',
2069
+ 'fa',
2070
+ 'he',
2071
+ 'ps',
2072
+ 'ur'
2073
+ ];
2074
+
2075
+ });
2076
+
2077
+
2078
+ parcelRegister("lgmOB", function(module, exports) {
2079
+
2080
+ $parcel$export(module.exports, "default", () => $c1d32cdebca129b8$export$2e2bcd8739ae039);
2081
+ var // Get data from the json file located at the root of the folder at the address agentUrl
2082
+ $c1d32cdebca129b8$export$2e2bcd8739ae039 = async (agentUrl)=>{
2083
+ const responseData = await fetch(`${agentUrl}/manifest.json`).then((data)=>{
2084
+ return data.json();
2085
+ }).then((json)=>{
2086
+ return json;
2087
+ }).catch((error)=>{
2088
+ console.log(error);
2089
+ return null;
2090
+ });
2091
+ // Set urls to retrieve the animations and a portrait of the agent
2092
+ if (responseData !== null) {
2093
+ responseData.url = responseData.character ? `${agentUrl}/${responseData.character}` : agentUrl;
2094
+ responseData.portrait = agentUrl + '/' + responseData.portrait;
2095
+ responseData.useBodyEngineThree = !!responseData.character;
2096
+ }
2097
+ return responseData;
2098
+ };
2099
+
2100
+ });
2101
+
2102
+
2103
+ parcelRegister("82K9w", function(module, exports) {
2104
+
2105
+ $parcel$export(module.exports, "widgetDefault", () => $938bb59f49c318a8$export$4aebf65ed07cf17b);
2106
+ $parcel$export(module.exports, "defaultThemeDark", () => $938bb59f49c318a8$export$d80fe84b82195dbd);
2107
+ $parcel$export(module.exports, "defaultThemeLight", () => $938bb59f49c318a8$export$1196b7bf97f3d16c);
2108
+
2109
+ var $cT90l = parcelRequire("cT90l");
2110
+ const $938bb59f49c318a8$export$4aebf65ed07cf17b = {
2111
+ rgb: 'rgb(112, 112, 112)'
2112
+ };
2113
+ const $938bb59f49c318a8$export$d80fe84b82195dbd = {
2114
+ ...(0, $cT90l.commonColors),
2115
+ companyName: '#000',
2116
+ loader: {
2117
+ animation: (0, $cT90l.commonColors).primary,
2118
+ background: 'rgba(18,18,18,0.7)',
2119
+ text: '#FFF',
2120
+ toggle: {
2121
+ text: '#000',
2122
+ background: (0, $cT90l.commonColors).primary
2123
+ },
2124
+ button: {
2125
+ background: {
2126
+ default: 'transparent',
2127
+ hover: 'transparent'
2128
+ },
2129
+ border: {
2130
+ default: (0, $cT90l.commonColors).primary,
2131
+ hover: '#FFF'
2132
+ },
2133
+ text: {
2134
+ default: (0, $cT90l.commonColors).primary,
2135
+ hover: '#FFF'
2136
+ }
2137
+ }
2138
+ },
2139
+ card: {
2140
+ frame: {
2141
+ background: '#2B2B2B',
2142
+ border: 'transparent',
2143
+ text: '#F7F3F6'
2144
+ },
2145
+ button: {
2146
+ background: {
2147
+ default: 'transparent',
2148
+ hover: 'transparent'
2149
+ },
2150
+ border: {
2151
+ default: (0, $cT90l.commonColors).primary,
2152
+ hover: '#FFF'
2153
+ },
2154
+ text: {
2155
+ default: (0, $cT90l.commonColors).primary,
2156
+ hover: '#FFF'
2157
+ }
2158
+ },
2159
+ discoverButton: {
2160
+ background: {
2161
+ default: '#eaebf0',
2162
+ hover: 'transparent'
2163
+ },
2164
+ border: {
2165
+ default: 'transparent',
2166
+ hover: '#FFF'
2167
+ },
2168
+ text: {
2169
+ default: '#575F6B',
2170
+ hover: '#FFF'
2171
+ }
2172
+ }
2173
+ },
2174
+ textMode: {
2175
+ panel: {
2176
+ background: 'rgba(255, 255, 255, 0.9)',
2177
+ border: 'transparent',
2178
+ conversationUser: '#FFF',
2179
+ conversationBot: '#2C2C2C',
2180
+ backgroundUser: (0, $cT90l.commonColors).secondary,
2181
+ backgroundBot: '#F0F0F0'
2182
+ }
2183
+ },
2184
+ vocalMode: {
2185
+ subtitles: {
2186
+ text: '#FFF',
2187
+ background: '#000'
2188
+ }
2189
+ },
2190
+ formInput: {
2191
+ text: {
2192
+ default: (0, $cT90l.commonColors).secondary,
2193
+ hover: '#FFF'
2194
+ },
2195
+ inputRadioCheckbox: {
2196
+ unchecked: {
2197
+ background: '#434141',
2198
+ border: '#818181'
2199
+ },
2200
+ checked: {
2201
+ background: (0, $cT90l.commonColors).primary,
2202
+ border: (0, $cT90l.commonColors).primary,
2203
+ item: '#000'
2204
+ }
2205
+ },
2206
+ inputButton: {
2207
+ background: {
2208
+ default: (0, $cT90l.commonColors).black,
2209
+ hover: (0, $cT90l.commonColors).primary
2210
+ },
2211
+ border: {
2212
+ default: (0, $cT90l.commonColors).primary,
2213
+ hover: '#FFF'
2214
+ },
2215
+ text: {
2216
+ default: '#FFF',
2217
+ hover: '#FFF'
2218
+ }
2219
+ },
2220
+ likert: {
2221
+ default: 'transparent',
2222
+ hover: '#E8B712'
2223
+ }
2224
+ }
2225
+ };
2226
+ const $938bb59f49c318a8$export$1196b7bf97f3d16c = {
2227
+ ...(0, $cT90l.commonColors),
2228
+ companyName: '#000',
2229
+ loader: {
2230
+ animation: (0, $cT90l.commonColors).primary,
2231
+ background: 'rgba(18,18,18,0.7)',
2232
+ text: '#FFF',
2233
+ toggle: {
2234
+ text: '#000',
2235
+ background: (0, $cT90l.commonColors).primary
2236
+ },
2237
+ button: {
2238
+ background: {
2239
+ default: 'transparent',
2240
+ hover: 'transparent'
2241
+ },
2242
+ border: {
2243
+ default: (0, $cT90l.commonColors).primary,
2244
+ hover: '#FFF'
2245
+ },
2246
+ text: {
2247
+ default: (0, $cT90l.commonColors).primary,
2248
+ hover: '#FFF'
2249
+ }
2250
+ }
2251
+ },
2252
+ card: {
2253
+ frame: {
2254
+ background: '#2B2B2B',
2255
+ border: 'transparent',
2256
+ text: '#F7F3F6'
2257
+ },
2258
+ button: {
2259
+ background: {
2260
+ default: 'transparent',
2261
+ hover: 'transparent'
2262
+ },
2263
+ border: {
2264
+ default: (0, $cT90l.commonColors).primary,
2265
+ hover: '#FFF'
2266
+ },
2267
+ text: {
2268
+ default: (0, $cT90l.commonColors).primary,
2269
+ hover: '#FFF'
2270
+ }
2271
+ },
2272
+ discoverButton: {
2273
+ background: {
2274
+ default: '#eaebf0',
2275
+ hover: 'transparent'
2276
+ },
2277
+ border: {
2278
+ default: 'transparent',
2279
+ hover: '#FFF'
2280
+ },
2281
+ text: {
2282
+ default: '#575F6B',
2283
+ hover: '#FFF'
2284
+ }
2285
+ }
2286
+ },
2287
+ textMode: {
2288
+ panel: {
2289
+ background: 'rgba(255, 255, 255, 0.9)',
2290
+ border: 'transparent',
2291
+ conversationUser: '#FFF',
2292
+ conversationBot: '#2C2C2C',
2293
+ backgroundUser: (0, $cT90l.commonColors).secondary,
2294
+ backgroundBot: '#F0F0F0'
2295
+ }
2296
+ },
2297
+ vocalMode: {
2298
+ subtitles: {
2299
+ text: '#FFF',
2300
+ background: '#000'
2301
+ }
2302
+ },
2303
+ formInput: {
2304
+ text: {
2305
+ default: (0, $cT90l.commonColors).secondary,
2306
+ hover: '#FFF'
2307
+ },
2308
+ inputRadioCheckbox: {
2309
+ unchecked: {
2310
+ background: '#434141',
2311
+ border: '#818181'
2312
+ },
2313
+ checked: {
2314
+ background: (0, $cT90l.commonColors).primary,
2315
+ border: (0, $cT90l.commonColors).primary,
2316
+ item: '#000'
2317
+ }
2318
+ },
2319
+ inputButton: {
2320
+ background: {
2321
+ default: (0, $cT90l.commonColors).black,
2322
+ hover: (0, $cT90l.commonColors).primary
2323
+ },
2324
+ border: {
2325
+ default: (0, $cT90l.commonColors).primary,
2326
+ hover: '#FFF'
2327
+ },
2328
+ text: {
2329
+ default: '#FFF',
2330
+ hover: '#FFF'
2331
+ }
2332
+ },
2333
+ likert: {
2334
+ default: 'transparent',
2335
+ hover: '#E8B712'
2336
+ }
2385
2337
  }
2386
2338
  };
2387
- var $1c5c9ed09d1921fe$export$2e2bcd8739ae039 = $1c5c9ed09d1921fe$var$getMicrophonePermission;
2388
2339
 
2389
2340
  });
2390
2341
 
2391
2342
 
2392
- parcelRegister("1x02c", function(module, exports) {
2343
+ parcelRegister("i1rfm", function(module, exports) {
2393
2344
 
2394
- $parcel$export(module.exports, "useRetorikStore", () => $aab770e2a22c2c28$export$bd22554f31e5f96f);
2395
- $parcel$export(module.exports, "default", () => $aab770e2a22c2c28$export$2e2bcd8739ae039);
2345
+ $parcel$export(module.exports, "useSpeechStore", () => $244e94971d503466$export$f299240efcda25a2);
2346
+ $parcel$export(module.exports, "default", () => $244e94971d503466$export$2e2bcd8739ae039);
2396
2347
 
2397
2348
 
2398
2349
 
2399
2350
 
2351
+ var $j67YK = parcelRequire("j67YK");
2400
2352
 
2401
2353
  var $4ucVo = parcelRequire("4ucVo");
2402
2354
 
2403
- var $1TxAn = parcelRequire("1TxAn");
2404
-
2405
- var $lgmOB = parcelRequire("lgmOB");
2406
- const $aab770e2a22c2c28$var$defaultConfiguration = {
2407
- subtitles: false
2408
- };
2409
- const $aab770e2a22c2c28$var$initialState = {
2410
- configuration: $aab770e2a22c2c28$var$defaultConfiguration,
2411
- addressData: {},
2412
- canFocusSendBox: false,
2413
- sendBoxRef: null,
2414
- sendBoxPlaceHolder: undefined,
2415
- fromTextToVocal: false,
2416
- baseAddress: '',
2417
- subtitlesInConfiguration: false,
2418
- displaySubtitles: false,
2419
- agentData: undefined,
2420
- gpuData: undefined,
2421
- loaderClosed: false,
2422
- appAvailable: false,
2423
- currentLayout: (0, $4ucVo.ContainerParent).agent,
2424
- userAlreadySet: false,
2425
- isWaitingForResponse: false,
2426
- instantIsWaitingForResponse: false,
2427
- skipLoader: false,
2428
- displayAgentInNews: true,
2429
- submitDelayBeforeSendingMessage: undefined,
2430
- disableHistory: false,
2431
- environmentPreset: "apartment",
2432
- customScripts: [],
2433
- customCSS: []
2355
+ var $cW5Dh = parcelRequire("cW5Dh");
2356
+ const $244e94971d503466$var$initialState = {
2357
+ ponyfillCredentials: undefined,
2358
+ useContinuousRecognition: false,
2359
+ customVoice: undefined,
2360
+ voice: null,
2361
+ mode: (0, $4ucVo.Mode).text,
2362
+ disableSound: false,
2363
+ speaking: false,
2364
+ muted: false,
2365
+ cancel: false,
2366
+ boundaryData: [],
2367
+ visemeData: [],
2368
+ singleVisemeAdded: null,
2369
+ multiVisemesAdded: [],
2370
+ currentOrLastPlayedActivity: undefined,
2371
+ isMicrophoneAllowed: false,
2372
+ showMicrophoneModal: false,
2373
+ permissionStatus: (0, $4ucVo.PermissionStatus).waiting,
2374
+ activeRecognitionState: (0, $4ucVo.RecognitionState).Closed,
2375
+ lastRecognitionInterim: '',
2376
+ streamingReplyToId: null,
2377
+ streamingQueue: [],
2378
+ streamingReplyToIdToIgnore: null,
2379
+ speechRecognitionDynamicGrammars: [],
2380
+ externalTextToSpeech: undefined
2434
2381
  };
2435
- let $aab770e2a22c2c28$var$timer = null;
2436
- $aab770e2a22c2c28$var$timer = setTimeout(()=>{
2437
- return true;
2438
- }, 1000);
2439
- const $aab770e2a22c2c28$var$createSpeechStore = ()=>{
2382
+ const $244e94971d503466$var$createSpeechStore = (setRetorikEvent, getListStatus, setListStatus, setLastListActivity, setUserTyping)=>{
2440
2383
  return (0, $bZRJW$createStore)((set, get)=>{
2441
2384
  return {
2442
- ...$aab770e2a22c2c28$var$initialState,
2385
+ ...$244e94971d503466$var$initialState,
2443
2386
  actions: {
2444
- setConfiguration: (value)=>{
2387
+ setPonyfillFactoryCredentials: (value)=>{
2445
2388
  set({
2446
- configuration: value
2389
+ ponyfillCredentials: value
2447
2390
  });
2448
2391
  },
2449
- setAddressData: (value)=>{
2392
+ setUseContinuousRecognition: (deviceType, options)=>{
2393
+ if (options?.enableContinuousRecognitionOnAllDevices) set({
2394
+ useContinuousRecognition: true
2395
+ });
2396
+ else if (options?.enableContinuousRecognitionOn) switch(deviceType){
2397
+ case (0, $4ucVo.DeviceType).mobile:
2398
+ set({
2399
+ useContinuousRecognition: !!options.enableContinuousRecognitionOn.mobile
2400
+ });
2401
+ break;
2402
+ case (0, $4ucVo.DeviceType).widget:
2403
+ case (0, $4ucVo.DeviceType).widgetLandscape:
2404
+ case (0, $4ucVo.DeviceType).widgetBorne:
2405
+ set({
2406
+ useContinuousRecognition: !!options.enableContinuousRecognitionOn.widget
2407
+ });
2408
+ break;
2409
+ case (0, $4ucVo.DeviceType).landscape:
2410
+ set({
2411
+ useContinuousRecognition: !!options.enableContinuousRecognitionOn.desktop
2412
+ });
2413
+ break;
2414
+ case (0, $4ucVo.DeviceType).borne:
2415
+ set({
2416
+ useContinuousRecognition: !!options.enableContinuousRecognitionOn.borne
2417
+ });
2418
+ break;
2419
+ default:
2420
+ set({
2421
+ useContinuousRecognition: false
2422
+ });
2423
+ break;
2424
+ }
2425
+ else set({
2426
+ useContinuousRecognition: false
2427
+ });
2428
+ },
2429
+ setCustomVoice: (value)=>{
2450
2430
  set({
2451
- addressData: value
2431
+ customVoice: value
2452
2432
  });
2453
2433
  },
2454
- setSendBoxRef: (value)=>{
2434
+ setVoice: (value)=>{
2455
2435
  set({
2456
- sendBoxRef: value
2436
+ voice: value
2457
2437
  });
2458
2438
  },
2459
- focusSendBox: ()=>{
2460
- const sendBox = get().sendBoxRef;
2461
- sendBox && document.activeElement !== sendBox && sendBox.focus();
2439
+ setMode: (value)=>{
2440
+ set({
2441
+ mode: value
2442
+ });
2443
+ setLastListActivity(undefined);
2444
+ value !== (0, $4ucVo.Mode).text && setUserTyping(false);
2445
+ !get().disableSound && get().actions.setMuted(value === (0, $4ucVo.Mode).text);
2462
2446
  },
2463
- setCanFocusSendBox: (value)=>{
2447
+ setDisableSound: (value)=>{
2464
2448
  set({
2465
- canFocusSendBox: value
2449
+ disableSound: value
2466
2450
  });
2467
2451
  },
2468
- setSendBoxPlaceHolder: (value)=>{
2452
+ setSpeaking: (value)=>{
2453
+ set(()=>{
2454
+ return value === false ? {
2455
+ speaking: value,
2456
+ visemeData: [],
2457
+ singleVisemeAdded: null,
2458
+ multiVisemesAdded: []
2459
+ } : {
2460
+ speaking: value
2461
+ };
2462
+ });
2463
+ setRetorikEvent(value ? (0, $4ucVo.RetorikEvent).SpeechStarted : (0, $4ucVo.RetorikEvent).SpeechEnded);
2464
+ },
2465
+ setMuted: (value)=>{
2469
2466
  set({
2470
- sendBoxPlaceHolder: value
2467
+ muted: value
2471
2468
  });
2472
2469
  },
2473
- setLayout: (value)=>{
2470
+ toggleMuted: ()=>{
2471
+ set((state)=>({
2472
+ muted: !state.muted
2473
+ }));
2474
+ },
2475
+ cancelCurrentUtterance: ()=>{
2474
2476
  set({
2475
- currentLayout: value
2477
+ cancel: true
2476
2478
  });
2477
2479
  },
2478
- setUserAlreadySet: (value)=>{
2480
+ resetCancelCurrentUtterance: ()=>{
2479
2481
  set({
2480
- userAlreadySet: value
2482
+ cancel: false
2483
+ });
2484
+ },
2485
+ setBoundaryData: (value)=>{
2486
+ set({
2487
+ boundaryData: value
2488
+ });
2489
+ },
2490
+ setVisemeData: (value)=>{
2491
+ set({
2492
+ visemeData: value,
2493
+ multiVisemesAdded: value
2481
2494
  });
2482
2495
  },
2483
- setEnvironmentPreset: (value)=>{
2496
+ addViseme: (value)=>{
2497
+ set((state)=>({
2498
+ visemeData: [
2499
+ ...state.visemeData,
2500
+ value
2501
+ ],
2502
+ singleVisemeAdded: value
2503
+ }));
2504
+ },
2505
+ setCurrentOrLastPlayedActivity: (value)=>{
2506
+ set({
2507
+ currentOrLastPlayedActivity: value
2508
+ });
2509
+ if (value?.attachmentLayout?.toLowerCase() === 'davilist') {
2510
+ if (getListStatus() !== (0, $4ucVo.ListStatus).opened) setListStatus((0, $4ucVo.ListStatus).available);
2511
+ }
2512
+ },
2513
+ setIsMicrophoneAllowed: (value)=>{
2484
2514
  set({
2485
- environmentPreset: value
2515
+ isMicrophoneAllowed: value
2486
2516
  });
2487
2517
  },
2488
- setFromTextToVocal: (value)=>{
2518
+ setShowMicrophoneModal: (value)=>{
2489
2519
  set({
2490
- fromTextToVocal: value
2520
+ showMicrophoneModal: value
2491
2521
  });
2492
2522
  },
2493
- setBaseAddress: (value)=>{
2523
+ toggleMicrophone: (fromExpectedInput)=>{
2524
+ if (get().mode === (0, $4ucVo.Mode).text) get().actions.setActiveRecognitionState((0, $4ucVo.RecognitionState).Closed);
2525
+ else switch(get().activeRecognitionState){
2526
+ // Do nothing if we are in a transition state
2527
+ case (0, $4ucVo.RecognitionState).Initializing:
2528
+ case (0, $4ucVo.RecognitionState).Closing:
2529
+ return;
2530
+ case (0, $4ucVo.RecognitionState).Listening:
2531
+ get().actions.setActiveRecognitionState((0, $4ucVo.RecognitionState).ForceClosing);
2532
+ get().actions.cancelCurrentUtterance();
2533
+ break;
2534
+ case (0, $4ucVo.RecognitionState).Closed:
2535
+ get().actions.setActiveRecognitionState((0, $4ucVo.RecognitionState).Initializing);
2536
+ !fromExpectedInput && get().actions.cancelCurrentUtterance();
2537
+ break;
2538
+ }
2539
+ },
2540
+ askPermission: async ()=>{
2494
2541
  set({
2495
- baseAddress: value
2542
+ showMicrophoneModal: true
2543
+ });
2544
+ (0, $cW5Dh.default)().then((permission)=>{
2545
+ // Hide modal window and open microphone if this one is allowed
2546
+ if (permission === (0, $4ucVo.PermissionStatus).allowed) {
2547
+ set({
2548
+ permissionStatus: permission,
2549
+ isMicrophoneAllowed: true,
2550
+ showMicrophoneModal: false
2551
+ });
2552
+ get().actions.toggleMicrophone();
2553
+ } else set({
2554
+ permissionStatus: permission,
2555
+ isMicrophoneAllowed: false
2556
+ });
2496
2557
  });
2497
2558
  },
2498
- setLoaderClosed: (value)=>{
2559
+ setActiveRecognitionState: (value)=>{
2499
2560
  set({
2500
- loaderClosed: value
2561
+ activeRecognitionState: value
2501
2562
  });
2502
2563
  },
2503
- setAppAvailable: (value)=>{
2564
+ setLastRecognitionInterim: (value)=>{
2504
2565
  set({
2505
- appAvailable: value
2566
+ lastRecognitionInterim: value
2506
2567
  });
2507
2568
  },
2508
- setSubtitlesInConfiguration: (value)=>{
2569
+ setStreamingReplyToId: (value)=>{
2509
2570
  set({
2510
- subtitlesInConfiguration: value,
2511
- displaySubtitles: value
2571
+ streamingReplyToId: value
2512
2572
  });
2513
2573
  },
2514
- setDisplaySubtitles: (value)=>{
2515
- set({
2516
- displaySubtitles: value
2574
+ addToStreamingQueue: (value)=>{
2575
+ if (value.replyToId) {
2576
+ if (value.replyToId !== get().streamingReplyToIdToIgnore) {
2577
+ // Set replyToId and new queue if replyToId is different from the current one
2578
+ if (get().streamingReplyToId !== value.replyToId) set({
2579
+ streamingReplyToId: value.replyToId,
2580
+ streamingQueue: [
2581
+ value
2582
+ ]
2583
+ });
2584
+ else set({
2585
+ streamingQueue: [
2586
+ ...get().streamingQueue,
2587
+ value
2588
+ ]
2589
+ });
2590
+ }
2591
+ } else set({
2592
+ streamingQueue: [
2593
+ ...get().streamingQueue,
2594
+ value
2595
+ ]
2517
2596
  });
2518
2597
  },
2519
- toggleSubtitles: ()=>{
2598
+ // If "twice" parameter is true, let's remove 2 elements instead of one (used with the message at the end of a streaming that should not be spoken)
2599
+ removeFirstFromStreamingQueue: (twice)=>{
2520
2600
  set((state)=>({
2521
- displaySubtitles: !state.displaySubtitles
2601
+ streamingQueue: state.streamingQueue.slice(twice ? 2 : 1)
2522
2602
  }));
2523
2603
  },
2524
- setAgentData: async (value)=>{
2525
- // Test GPU to use bodyengine or fall back to spiritengine. Tier at least 1 for mobile, 2 for desktop
2526
- const gpuTier = await (0, $bZRJW$getGPUTier)();
2527
- let gpuTestSupportsBodyengine = false;
2528
- if (gpuTier.tier > 0) {
2529
- if (gpuTier.type === 'FALLBACK') gpuTestSupportsBodyengine = true;
2530
- else gpuTestSupportsBodyengine = gpuTier.tier > 1;
2531
- }
2532
- const url = typeof value === 'string' ? value : value.url;
2533
- let data = await (0, $lgmOB.default)(url);
2534
- if (data?.useBodyEngineThree && !gpuTestSupportsBodyengine) {
2535
- console.log('Retorik Framework > graphic capacity too low to use bodyengine, the application will switch to spiritengine');
2536
- data = await (0, $lgmOB.default)(data?.gender === 'female' ? (0, $1TxAn.characters).zahra : (0, $1TxAn.characters).rowan);
2537
- }
2538
- if (data && typeof value !== 'string') {
2539
- value.name && (data.name = value.name);
2540
- value.animationsUrl && (data.animationsUrl = value.animationsUrl);
2541
- }
2604
+ killCurrentStreaming: ()=>{
2542
2605
  set({
2543
- gpuData: gpuTier,
2544
- agentData: data
2606
+ streamingReplyToIdToIgnore: get().streamingReplyToId,
2607
+ streamingQueue: []
2545
2608
  });
2546
2609
  },
2547
- setTimerForWaiting: ()=>{
2548
- $aab770e2a22c2c28$var$timer = setTimeout(()=>{
2549
- set({
2550
- isWaitingForResponse: true
2551
- });
2552
- $aab770e2a22c2c28$var$timer = null;
2553
- }, 1000);
2610
+ checkActivityReplyToId: (replyToId)=>{
2611
+ get().streamingReplyToId !== replyToId && get().actions.killCurrentStreaming();
2554
2612
  },
2555
- setIsWaitingForResponse: (value)=>{
2556
- if (value) {
2557
- set({
2558
- instantIsWaitingForResponse: true
2613
+ addSpeechRecognitionDynamicGrammar: (value)=>{
2614
+ const currentGrammars = get().speechRecognitionDynamicGrammars;
2615
+ // For each value, verifiy if it doesn't exist in the array yet
2616
+ if (Array.isArray(value)) {
2617
+ const valuesToAdd = [];
2618
+ value.forEach((val)=>{
2619
+ !currentGrammars.includes(val) && valuesToAdd.push(val);
2559
2620
  });
2560
- !$aab770e2a22c2c28$var$timer && get().actions.setTimerForWaiting();
2561
- } else {
2562
- $aab770e2a22c2c28$var$timer && clearTimeout($aab770e2a22c2c28$var$timer);
2563
- $aab770e2a22c2c28$var$timer = null;
2564
- set({
2565
- instantIsWaitingForResponse: false,
2566
- isWaitingForResponse: false
2621
+ valuesToAdd.length && set({
2622
+ speechRecognitionDynamicGrammars: [
2623
+ ...currentGrammars,
2624
+ ...valuesToAdd
2625
+ ]
2567
2626
  });
2568
- }
2569
- },
2570
- setSkipLoader: (value)=>{
2571
- set({
2572
- skipLoader: value
2573
- });
2574
- },
2575
- setDisplayAgentInNews: (value)=>{
2576
- set({
2577
- displayAgentInNews: value
2578
- });
2579
- },
2580
- setSubmitDelayBeforeSendingMessage: (value)=>{
2581
- set({
2582
- submitDelayBeforeSendingMessage: value
2583
- });
2584
- },
2585
- setDisableHistory: (value)=>{
2586
- set({
2587
- disableHistory: value
2588
- });
2589
- },
2590
- setCustomScripts: (value)=>{
2591
- set({
2592
- customScripts: value
2627
+ } else !currentGrammars.includes(value) && set({
2628
+ speechRecognitionDynamicGrammars: [
2629
+ ...currentGrammars,
2630
+ value
2631
+ ]
2593
2632
  });
2594
2633
  },
2595
- setCustomCSS: (value)=>{
2634
+ playExternalSynthesis: (value)=>{
2596
2635
  set({
2597
- customCSS: value
2636
+ externalTextToSpeech: value
2598
2637
  });
2599
2638
  },
2600
- resetRetorikStore: ()=>{
2639
+ resetSpeechStore: ()=>{
2601
2640
  set({
2602
- ...$aab770e2a22c2c28$var$initialState
2641
+ ...$244e94971d503466$var$initialState
2603
2642
  });
2604
2643
  }
2605
2644
  }
2606
2645
  };
2607
2646
  });
2608
2647
  };
2609
- const $aab770e2a22c2c28$var$RetorikContext = /*#__PURE__*/ (0, $bZRJW$createContext)(null);
2610
- const $aab770e2a22c2c28$export$bd22554f31e5f96f = (selector)=>{
2611
- const store = (0, $bZRJW$useContext)($aab770e2a22c2c28$var$RetorikContext);
2612
- if (!store) throw new Error('Retorik Framework > useRetorikStore must be used within RetorikProvider');
2648
+ const $244e94971d503466$var$SpeechContext = /*#__PURE__*/ (0, $bZRJW$createContext)(null);
2649
+ const $244e94971d503466$export$f299240efcda25a2 = (selector)=>{
2650
+ const store = (0, $bZRJW$useContext)($244e94971d503466$var$SpeechContext);
2651
+ if (!store) throw new Error('Retorik Framework > useSpeechStore must be used within SpeechProvider');
2613
2652
  return (0, $bZRJW$useStore)(store, selector);
2614
2653
  };
2615
- const $aab770e2a22c2c28$var$RetorikProvider = ({ children: children })=>{
2616
- const [store] = (0, $bZRJW$useState)(()=>$aab770e2a22c2c28$var$createSpeechStore());
2617
- return /*#__PURE__*/ (0, $bZRJW$jsx)($aab770e2a22c2c28$var$RetorikContext.Provider, {
2654
+ const $244e94971d503466$var$SpeechProvider = ({ children: children })=>{
2655
+ const { setRetorikEvent: setRetorikEvent, getListStatus: getListStatus, setListStatus: setListStatus, setLastListActivity: setLastListActivity, setUserTyping: setUserTyping } = (0, $j67YK.useUtilsStore)((state)=>state.actions);
2656
+ const [store] = (0, $bZRJW$useState)(()=>$244e94971d503466$var$createSpeechStore(setRetorikEvent, getListStatus, setListStatus, setLastListActivity, setUserTyping));
2657
+ return /*#__PURE__*/ (0, $bZRJW$jsx)($244e94971d503466$var$SpeechContext.Provider, {
2618
2658
  value: store,
2619
2659
  children: children
2620
2660
  });
2621
2661
  };
2622
- var $aab770e2a22c2c28$export$2e2bcd8739ae039 = $aab770e2a22c2c28$var$RetorikProvider;
2623
-
2624
- });
2625
- parcelRegister("1TxAn", function(module, exports) {
2626
-
2627
- $parcel$export(module.exports, "characters", () => $f413faac4683ad46$export$30a86d91af8ff6e6);
2628
-
2629
- var $cT90l = parcelRequire("cT90l");
2630
- const $f413faac4683ad46$export$30a86d91af8ff6e6 = {
2631
- alice: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/alice`,
2632
- greg: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/greg`,
2633
- jeanmarc: `${(0, $cT90l.CDNCharactersAddress)}/jean-marc`,
2634
- jessica: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/jessica`,
2635
- jessica_short: `${(0, $cT90l.CDNCharactersAddress)}/medium-shot/jessica`,
2636
- ikaa: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/ikaa`,
2637
- karine: `${(0, $cT90l.CDNCharactersAddress)}/karine`,
2638
- lea: `${(0, $cT90l.CDNCharactersAddress)}/lea`,
2639
- prosper: `${(0, $cT90l.CDNCharactersAddress)}/prosper`,
2640
- raphael: `${(0, $cT90l.CDNCharactersAddress)}/raphael`,
2641
- rowan: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/rowan`,
2642
- rowan_short: `${(0, $cT90l.CDNCharactersAddress)}/medium-shot/rowan`,
2643
- zahra: `${(0, $cT90l.CDNCharactersAddress)}/long-shot/zahra`
2644
- };
2662
+ var $244e94971d503466$export$2e2bcd8739ae039 = $244e94971d503466$var$SpeechProvider;
2645
2663
 
2646
2664
  });
2665
+ parcelRegister("cW5Dh", function(module, exports) {
2647
2666
 
2648
- parcelRegister("lgmOB", function(module, exports) {
2667
+ $parcel$export(module.exports, "default", () => $1c5c9ed09d1921fe$export$2e2bcd8739ae039);
2649
2668
 
2650
- $parcel$export(module.exports, "default", () => $c1d32cdebca129b8$export$2e2bcd8739ae039);
2651
- var // Get data from the json file located at the root of the folder at the address agentUrl
2652
- $c1d32cdebca129b8$export$2e2bcd8739ae039 = async (agentUrl)=>{
2653
- const responseData = await fetch(`${agentUrl}/manifest.json`).then((data)=>{
2654
- return data.json();
2655
- }).then((json)=>{
2656
- return json;
2657
- }).catch((error)=>{
2658
- console.log(error);
2659
- return null;
2660
- });
2661
- // Set urls to retrieve the animations and a portrait of the agent
2662
- if (responseData !== null) {
2663
- responseData.url = responseData.character ? `${agentUrl}/${responseData.character}` : agentUrl;
2664
- responseData.portrait = agentUrl + '/' + responseData.portrait;
2665
- responseData.useBodyEngineThree = !!responseData.character;
2669
+ var $4ucVo = parcelRequire("4ucVo");
2670
+ const $1c5c9ed09d1921fe$var$getMicrophonePermission = async ()=>{
2671
+ try {
2672
+ return navigator.mediaDevices.getUserMedia({
2673
+ audio: true
2674
+ }).then((stream)=>{
2675
+ return stream ? (0, $4ucVo.PermissionStatus).allowed : (0, $4ucVo.PermissionStatus).refused;
2676
+ }, (reason)=>{
2677
+ console.log('Retorik Framework > microphone permission refused : ', reason);
2678
+ return (0, $4ucVo.PermissionStatus).refused;
2679
+ }).catch((error)=>{
2680
+ console.log('Retorik Framework > microphone permission refused : ', error);
2681
+ return (0, $4ucVo.PermissionStatus).error;
2682
+ });
2683
+ } catch (error) {
2684
+ console.log('Retorik Framework > microphone permission refused : ', error);
2685
+ return (0, $4ucVo.PermissionStatus).error;
2666
2686
  }
2667
- return responseData;
2668
2687
  };
2688
+ var $1c5c9ed09d1921fe$export$2e2bcd8739ae039 = $1c5c9ed09d1921fe$var$getMicrophonePermission;
2669
2689
 
2670
2690
  });
2671
2691
 
@@ -4311,7 +4331,7 @@ var $c54ebc4ba0100ff1$export$2e2bcd8739ae039 = $c54ebc4ba0100ff1$var$activityMid
4311
4331
  });
4312
4332
 
4313
4333
  parcelRegister("iT1WI", function(module, exports) {
4314
- module.exports = JSON.parse("{\"name\":\"@davi-ai/retorik-framework\",\"version\":\"3.2.5\",\"description\":\"Retorik Framework package\",\"author\":\"DAVI\",\"license\":\"MIT\",\"repository\":\"none\",\"main\":\"dist/index.js\",\"module\":\"dist/index.modern.js\",\"types\":\"dist/index.d.ts\",\"source\":\"src/index.tsx\",\"standalone\":\"standalone/index.js\",\"targets\":{\"standalone\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"standalone\"},\"module\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\"}},\"engines\":{\"node\":\">=10\"},\"scripts\":{\"build\":\"parcel build\",\"start\":\"parcel watch\",\"test\":\"jest --env=jsdom --reporters=jest-junit\",\"test-console\":\"jest --env=jsdom\",\"test-update-snapshots\":\"jest --env=jsdom --updateSnapshot\",\"test-coverage-console\":\"jest --env=jsdom --reporters=jest-junit --coverage\",\"test-coverage\":\"jest --env=jsdom --reporters=jest-junit --coverage --coverageReporters=cobertura\",\"report\":\"npx parcel build src/index.tsx --reporter @parcel/reporter-bundle-analyzer\",\"credentials\":\"vsts-npm-auth -config .npmrc\"},\"peerDependencies\":{\"react\":\"18.3.1\",\"react-dom\":\"18.3.1\"},\"devDependencies\":{\"@babel/core\":\"^7.19.1\",\"@babel/plugin-proposal-decorators\":\"^7.24.7\",\"@babel/plugin-proposal-private-property-in-object\":\"^7.21.11\",\"@babel/preset-env\":\"^7.25.4\",\"@babel/preset-react\":\"^7.24.7\",\"@babel/preset-typescript\":\"^7.24.7\",\"@babel/runtime\":\"^7.23.8\",\"@parcel/packager-ts\":\"^2.13.2\",\"@parcel/reporter-bundle-analyzer\":\"^2.13.2\",\"@parcel/reporter-sourcemap-visualiser\":\"^2.13.2\",\"@parcel/transformer-inline-string\":\"^2.13.2\",\"@parcel/transformer-typescript-types\":\"^2.13.2\",\"@parcel/validator-eslint\":\"^2.13.2\",\"@parcel/validator-typescript\":\"^2.13.2\",\"@testing-library/dom\":\"^10.4.0\",\"@testing-library/jest-dom\":\"6.5.0\",\"@testing-library/react\":\"16.0.1\",\"@testing-library/react-hooks\":\"8.0.1\",\"@testing-library/user-event\":\"14.5.2\",\"@types/jest\":\"^27.5.1\",\"@types/leaflet\":\"^1.8.0\",\"@types/node\":\"^12.12.38\",\"@types/react\":\"18.3.12\",\"@types/react-dom\":\"18.3.1\",\"@types/testing-library__jest-dom\":\"^5.14.5\",\"@types/testing-library__react\":\"latest\",\"@typescript-eslint/eslint-plugin\":\"^8.19.0\",\"@typescript-eslint/parser\":\"^8.19.0\",\"autoprefixer\":\"^10.4.7\",\"babel-eslint\":\"^10.0.3\",\"babel-jest\":\"^29.7.0\",\"babel-loader\":\"^8.2.5\",\"buffer\":\"^5.7.1\",\"canvas\":\"^2.9.0\",\"cross-env\":\"^7.0.2\",\"crypto-browserify\":\"^3.12.0\",\"eslint\":\"^9.16.0\",\"eslint-config-prettier\":\"^9.1.0\",\"eslint-config-standard\":\"^17.1.0\",\"eslint-config-standard-react\":\"^13.0.0\",\"eslint-plugin-import\":\"^2.31.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^5.2.1\",\"eslint-plugin-promise\":\"^7.2.1\",\"eslint-plugin-react\":\"^7.37.2\",\"https-browserify\":\"^1.0.0\",\"jest\":\"^29.7.0\",\"jest-environment-jsdom\":\"^29.7.0\",\"jest-junit\":\"16.0.0\",\"npm-run-all\":\"^4.1.5\",\"parcel\":\"^2.13.2\",\"postcss\":\"^8.4.14\",\"postcss-url\":\"^10.1.3\",\"prettier\":\"^2.0.4\",\"process\":\"^0.11.10\",\"punycode\":\"^1.4.1\",\"querystring-es3\":\"^0.2.1\",\"react\":\"^18\",\"react-docgen-typescript-plugin\":\"^1.0.5\",\"react-dom\":\"18.3.1\",\"react-test-renderer\":\"^18.3.1\",\"resize-observer-polyfill\":\"^1.5.1\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"string_decoder\":\"^1.3.0\",\"tailwindcss\":\"^3.1.0\",\"typescript\":\"5.3.2\",\"url\":\"^0.11.0\",\"util\":\"^0.12.4\"},\"files\":[\"dist\"],\"dependencies\":{\"@davi-ai/body-engine-sprite\":\"3.0.0\",\"@davi-ai/react-bodyengine-three\":\"1.0.6\",\"@davi-ai/retorik-weather\":\"2.0.0\",\"@davi-ai/speechmarkdown-davi-js\":\"2.0.1\",\"@davi-ai/web-speech-cognitive-services-davi\":\"2.0.10\",\"@lottiefiles/react-lottie-player\":\"^3.4.1\",\"@opentelemetry/api\":\"^1.9.0\",\"@opentelemetry/exporter-trace-otlp-http\":\"^0.200.0\",\"@opentelemetry/instrumentation\":\"^0.200.0\",\"@opentelemetry/instrumentation-document-load\":\"^0.45.0\",\"@opentelemetry/instrumentation-fetch\":\"^0.200.0\",\"@opentelemetry/resources\":\"^2.0.0\",\"@opentelemetry/sdk-trace-web\":\"^2.0.0\",\"@opentelemetry/semantic-conventions\":\"^1.32.0\",\"@react-spring/types\":\"^9.7.3\",\"@react-spring/web\":\"^9.7.3\",\"@swc/helpers\":\"^0.5.0\",\"@types/geojson\":\"^7946.0.10\",\"@types/jsdom\":\"^16.2.14\",\"@use-gesture/react\":\"^10.2.15\",\"adaptivecards\":\"3.0.1\",\"botframework-directlinejs\":\"^0.15.5\",\"classnames\":\"^2.3.1\",\"detect-gpu\":\"^5.0.70\",\"leaflet\":\"^1.9.2\",\"markdown-it\":\"14.1.0\",\"pdfjs-dist\":\"3.11.174\",\"postcss-copy\":\"^7.1.0\",\"qrcode\":\"^1.5.1\",\"react-device-detect\":\"^2.2.3\",\"react-error-boundary\":\"^4.0.10\",\"react-leaflet\":\"^4.1.0\",\"react-pdf\":\"7.7.1\",\"react-shadow\":\"^20.5.0\",\"swiper\":\"^8.4.5\",\"zustand\":\"^5.0.3\"},\"overrides\":{\"@davi-ai/web-speech-cognitive-services-davi\":\"$@davi-ai/web-speech-cognitive-services-davi\",\"zustand\":\"$zustand\"},\"@parcel/resolver-default\":{\"packageExports\":true}}");
4334
+ module.exports = JSON.parse("{\"name\":\"@davi-ai/retorik-framework\",\"version\":\"3.2.6\",\"description\":\"Retorik Framework package\",\"author\":\"DAVI\",\"license\":\"MIT\",\"repository\":\"none\",\"main\":\"dist/index.js\",\"module\":\"dist/index.modern.js\",\"types\":\"dist/index.d.ts\",\"source\":\"src/index.tsx\",\"standalone\":\"standalone/index.js\",\"targets\":{\"standalone\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"standalone\"},\"module\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\"}},\"engines\":{\"node\":\">=10\"},\"scripts\":{\"build\":\"parcel build\",\"start\":\"parcel watch\",\"test\":\"jest --env=jsdom --reporters=jest-junit\",\"test-console\":\"jest --env=jsdom\",\"test-update-snapshots\":\"jest --env=jsdom --updateSnapshot\",\"test-coverage-console\":\"jest --env=jsdom --reporters=jest-junit --coverage\",\"test-coverage\":\"jest --env=jsdom --reporters=jest-junit --coverage --coverageReporters=cobertura\",\"report\":\"npx parcel build src/index.tsx --reporter @parcel/reporter-bundle-analyzer\",\"credentials\":\"vsts-npm-auth -config .npmrc\"},\"peerDependencies\":{\"react\":\"18.3.1\",\"react-dom\":\"18.3.1\"},\"devDependencies\":{\"@babel/core\":\"^7.19.1\",\"@babel/plugin-proposal-decorators\":\"^7.24.7\",\"@babel/plugin-proposal-private-property-in-object\":\"^7.21.11\",\"@babel/preset-env\":\"^7.25.4\",\"@babel/preset-react\":\"^7.24.7\",\"@babel/preset-typescript\":\"^7.24.7\",\"@babel/runtime\":\"^7.23.8\",\"@parcel/packager-ts\":\"^2.13.2\",\"@parcel/reporter-bundle-analyzer\":\"^2.13.2\",\"@parcel/reporter-sourcemap-visualiser\":\"^2.13.2\",\"@parcel/transformer-inline-string\":\"^2.13.2\",\"@parcel/transformer-typescript-types\":\"^2.13.2\",\"@parcel/validator-eslint\":\"^2.13.2\",\"@parcel/validator-typescript\":\"^2.13.2\",\"@testing-library/dom\":\"^10.4.0\",\"@testing-library/jest-dom\":\"6.5.0\",\"@testing-library/react\":\"16.0.1\",\"@testing-library/react-hooks\":\"8.0.1\",\"@testing-library/user-event\":\"14.5.2\",\"@types/jest\":\"^27.5.1\",\"@types/leaflet\":\"^1.8.0\",\"@types/node\":\"^12.12.38\",\"@types/react\":\"18.3.12\",\"@types/react-dom\":\"18.3.1\",\"@types/testing-library__jest-dom\":\"^5.14.5\",\"@types/testing-library__react\":\"latest\",\"@typescript-eslint/eslint-plugin\":\"^8.19.0\",\"@typescript-eslint/parser\":\"^8.19.0\",\"autoprefixer\":\"^10.4.7\",\"babel-eslint\":\"^10.0.3\",\"babel-jest\":\"^29.7.0\",\"babel-loader\":\"^8.2.5\",\"buffer\":\"^5.7.1\",\"canvas\":\"^2.9.0\",\"cross-env\":\"^7.0.2\",\"crypto-browserify\":\"^3.12.0\",\"eslint\":\"^9.16.0\",\"eslint-config-prettier\":\"^9.1.0\",\"eslint-config-standard\":\"^17.1.0\",\"eslint-config-standard-react\":\"^13.0.0\",\"eslint-plugin-import\":\"^2.31.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^5.2.1\",\"eslint-plugin-promise\":\"^7.2.1\",\"eslint-plugin-react\":\"^7.37.2\",\"https-browserify\":\"^1.0.0\",\"jest\":\"^29.7.0\",\"jest-environment-jsdom\":\"^29.7.0\",\"jest-junit\":\"16.0.0\",\"npm-run-all\":\"^4.1.5\",\"parcel\":\"^2.13.2\",\"postcss\":\"^8.4.14\",\"postcss-url\":\"^10.1.3\",\"prettier\":\"^2.0.4\",\"process\":\"^0.11.10\",\"punycode\":\"^1.4.1\",\"querystring-es3\":\"^0.2.1\",\"react\":\"^18\",\"react-docgen-typescript-plugin\":\"^1.0.5\",\"react-dom\":\"18.3.1\",\"react-test-renderer\":\"^18.3.1\",\"resize-observer-polyfill\":\"^1.5.1\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"string_decoder\":\"^1.3.0\",\"tailwindcss\":\"^3.1.0\",\"typescript\":\"5.3.2\",\"url\":\"^0.11.0\",\"util\":\"^0.12.4\"},\"files\":[\"dist\"],\"dependencies\":{\"@davi-ai/body-engine-sprite\":\"3.0.0\",\"@davi-ai/react-bodyengine-three\":\"^1.0.8\",\"@davi-ai/retorik-weather\":\"2.0.0\",\"@davi-ai/speechmarkdown-davi-js\":\"2.0.1\",\"@davi-ai/web-speech-cognitive-services-davi\":\"2.1.0\",\"@lottiefiles/react-lottie-player\":\"^3.4.1\",\"@opentelemetry/api\":\"^1.9.0\",\"@opentelemetry/exporter-trace-otlp-http\":\"^0.200.0\",\"@opentelemetry/instrumentation\":\"^0.200.0\",\"@opentelemetry/instrumentation-document-load\":\"^0.45.0\",\"@opentelemetry/instrumentation-fetch\":\"^0.200.0\",\"@opentelemetry/resources\":\"^2.0.0\",\"@opentelemetry/sdk-trace-web\":\"^2.0.0\",\"@opentelemetry/semantic-conventions\":\"^1.32.0\",\"@react-spring/types\":\"^9.7.3\",\"@react-spring/web\":\"^9.7.3\",\"@swc/helpers\":\"^0.5.0\",\"@types/geojson\":\"^7946.0.10\",\"@types/jsdom\":\"^16.2.14\",\"@use-gesture/react\":\"^10.2.15\",\"adaptivecards\":\"3.0.1\",\"botframework-directlinejs\":\"^0.15.5\",\"classnames\":\"^2.3.1\",\"detect-gpu\":\"^5.0.70\",\"leaflet\":\"^1.9.2\",\"markdown-it\":\"14.1.0\",\"pdfjs-dist\":\"3.11.174\",\"postcss-copy\":\"^7.1.0\",\"qrcode\":\"^1.5.1\",\"react-device-detect\":\"^2.2.3\",\"react-error-boundary\":\"^4.0.10\",\"react-leaflet\":\"^4.1.0\",\"react-pdf\":\"7.7.1\",\"react-shadow\":\"^20.5.0\",\"swiper\":\"^8.4.5\",\"zustand\":\"^5.0.3\"},\"overrides\":{\"@davi-ai/web-speech-cognitive-services-davi\":\"$@davi-ai/web-speech-cognitive-services-davi\",\"zustand\":\"$zustand\"},\"@parcel/resolver-default\":{\"packageExports\":true}}");
4315
4335
 
4316
4336
  });
4317
4337
 
@@ -5006,22 +5026,6 @@ const $03066ddc8eeac452$export$1524746c49eeef2b = 'data:image/png;base64,iVBORw0
5006
5026
 
5007
5027
  });
5008
5028
 
5009
- parcelRegister("75pB6", function(module, exports) {
5010
-
5011
- $parcel$export(module.exports, "fetchEmergencyData", () => $c1b40d4a10143303$export$cdd2c9f4b3acf5fb);
5012
-
5013
- var $cT90l = parcelRequire("cT90l");
5014
- async function $c1b40d4a10143303$export$cdd2c9f4b3acf5fb(address) {
5015
- const res = await fetch(`${address}${(0, $cT90l.hospitalityApiAddress)}`).then((emergencyData)=>{
5016
- return emergencyData.json();
5017
- }).catch(()=>{
5018
- return null;
5019
- });
5020
- return res;
5021
- }
5022
-
5023
- });
5024
-
5025
5029
  parcelRegister("7pypd", function(module, exports) {
5026
5030
 
5027
5031
  $parcel$export(module.exports, "capitalizeFirstLetter", () => $d94d08aa61ce84f3$export$d07f57595c356899);
@@ -12527,9 +12531,12 @@ const $8baa442bce91cb56$var$ImageAttachment = ({ url: url, title: title, alt: al
12527
12531
  setMaxHeight(Math.floor(currentHeight * (displaySubtitles ? 0.34 : 0.5)));
12528
12532
  break;
12529
12533
  case (0, $4ucVo.DeviceType).landscape:
12530
- setMaxHeight(Math.floor(currentHeight * 0.67));
12534
+ // The container in BotResponse is 7 rows high on the main grid, with a total of 12 rows, so quite 59%.
12535
+ // We reduce a little 9% because 100% is whithout browser's interface.
12536
+ setMaxHeight(Math.floor(currentHeight * 0.50));
12531
12537
  break;
12532
12538
  case (0, $4ucVo.DeviceType).borne:
12539
+ // Same as landscape, but 5 rows high instead of 7
12533
12540
  setMaxHeight(Math.floor(currentHeight * 0.34));
12534
12541
  break;
12535
12542
  default:
@@ -15257,7 +15264,7 @@ module.exports = import("./FullScreenImage.1fe27198.js").then(()=>parcelRequire(
15257
15264
  });
15258
15265
 
15259
15266
  parcelRegister("5Lxsr", function(module, exports) {
15260
- module.exports = import("./Weather.cf58823d.js").then(()=>parcelRequire('2pbjN'));
15267
+ module.exports = import("./Weather.87ab2128.js").then(()=>parcelRequire('2pbjN'));
15261
15268
 
15262
15269
  });
15263
15270
 
@@ -15267,7 +15274,7 @@ module.exports = import("./CustomView.913a9f32.js").then(()=>parcelRequire('5s7d
15267
15274
  });
15268
15275
 
15269
15276
  parcelRegister("i6zhG", function(module, exports) {
15270
- module.exports = import("./Emergency.0cf005ce.js").then(()=>parcelRequire('4zoun'));
15277
+ module.exports = import("./Emergency.1f855b66.js").then(()=>parcelRequire('4zoun'));
15271
15278
 
15272
15279
  });
15273
15280
 
@@ -16217,7 +16224,7 @@ const $d2c255fa29679e40$var$Mobile = ({ parametersOpened: parametersOpened, togg
16217
16224
  };
16218
16225
  return /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
16219
16226
  id: "retorik-framework-menu",
16220
- className: "rf-w-full rf-h-fit rf-flex rf-flex-col-reverse rf-border-t rf-border-t-menuBorder rf-pointer-events-auto",
16227
+ className: "rf-w-full rf-h-fit rf-max-h-80 rf-flex rf-flex-col-reverse rf-border-t rf-border-t-menuBorder rf-pointer-events-auto",
16221
16228
  style: {
16222
16229
  background: 'linear-gradient(to right, #F8F8FC, #EDEEF3)'
16223
16230
  },
@@ -16360,7 +16367,7 @@ const $fce269aaea66ffb1$var$SendTextBox = ({ className: className })=>{
16360
16367
  ref: textareaRef,
16361
16368
  // @ts-ignore
16362
16369
  virtualkeyboardpolicy: "manual",
16363
- className: `rf-input-hidden rf-outline-none rf-bg-truewhite rf-w-[calc(100%-3rem)] rf-resize-none rf-scrollbar-hidden ${isMobile && 'placeholder:rf-text-black placeholder:rf-opacity-100'}`,
16370
+ className: `rf-input-hidden rf-outline-none rf-max-h-full rf-overflow-y-clip rf-bg-truewhite rf-w-[calc(100%-4rem)] rf-resize-none rf-scrollbar-hidden ${isMobile && 'placeholder:rf-text-black placeholder:rf-opacity-100'}`,
16364
16371
  value: message,
16365
16372
  placeholder: sendBoxPlaceHolder || translation.menu.message,
16366
16373
  onKeyDown: (e)=>handleKeyDown(e),
@@ -18271,8 +18278,6 @@ var $j67YK = parcelRequire("j67YK");
18271
18278
 
18272
18279
  var $1Qww3 = parcelRequire("1Qww3");
18273
18280
 
18274
- var $2fuDN = parcelRequire("2fuDN");
18275
-
18276
18281
  var $4ucVo = parcelRequire("4ucVo");
18277
18282
 
18278
18283
  var $7py94 = parcelRequire("7py94");
@@ -18284,7 +18289,6 @@ const $1671238b3d664f2b$var$md = (0, $bZRJW$markdownit)({
18284
18289
  quotes: `""''`
18285
18290
  });
18286
18291
  const $1671238b3d664f2b$var$DashboardItem = ({ text: text, textColor: textColor, image: image, action: action, onClick: onClick })=>{
18287
- const locale = (0, $2fuDN.useLocaleStore)((state)=>state.locale);
18288
18292
  const { sendMessage: sendMessage, sendEvent: sendEvent } = (0, $aNpqK.useDirectlineStore)((state)=>state.actions);
18289
18293
  const { setClickedOnUI: setClickedOnUI, setCurrentSubView: setCurrentSubView, setFullScreenImage: setFullScreenImage } = (0, $j67YK.useUtilsStore)((state)=>state.actions);
18290
18294
  const setRoute = (0, $1Qww3.useViewStore)((state)=>state.actions.setRoute);
@@ -18547,8 +18551,6 @@ $parcel$export(module.exports, "default", () => $af2bd3eba7cc813c$export$2e2bcd8
18547
18551
 
18548
18552
 
18549
18553
 
18550
- var $2fuDN = parcelRequire("2fuDN");
18551
-
18552
18554
  var $aNpqK = parcelRequire("aNpqK");
18553
18555
 
18554
18556
  var $1x02c = parcelRequire("1x02c");
@@ -18574,7 +18576,6 @@ const $af2bd3eba7cc813c$var$md = (0, $bZRJW$markdownit)({
18574
18576
  const $af2bd3eba7cc813c$var$springEnterDuration = 500;
18575
18577
  const $af2bd3eba7cc813c$var$springQrcodeDuration = 500;
18576
18578
  const $af2bd3eba7cc813c$var$DashboardItem = ({ index: index, text: text, textColor: textColor, backgroundColor: backgroundColor, image: image, action: action, onClick: onClick })=>{
18577
- const locale = (0, $2fuDN.useLocaleStore)((state)=>state.locale);
18578
18579
  const isUsedOnBorne = (0, $1x02c.useRetorikStore)((state)=>state.configuration.isUsedOnBorne);
18579
18580
  const { sendMessage: sendMessage, sendEvent: sendEvent } = (0, $aNpqK.useDirectlineStore)((state)=>state.actions);
18580
18581
  const { setClickedOnUI: setClickedOnUI, setCurrentSubView: setCurrentSubView, setFullScreenImage: setFullScreenImage } = (0, $j67YK.useUtilsStore)((state)=>state.actions);
@@ -18752,7 +18753,7 @@ var $af2bd3eba7cc813c$export$2e2bcd8739ae039 = $af2bd3eba7cc813c$var$DashboardIt
18752
18753
 
18753
18754
 
18754
18755
  parcelRegister("lNCSW", function(module, exports) {
18755
- module.exports = import("./NewsContainer.f0d2ee9c.js").then(()=>parcelRequire('dUXW6'));
18756
+ module.exports = import("./NewsContainer.24a4ba84.js").then(()=>parcelRequire('dUXW6'));
18756
18757
 
18757
18758
  });
18758
18759
 
@@ -19068,9 +19069,9 @@ const $52424ad6223e47db$var$GlobalProvider = ({ instanceId: instanceId, children
19068
19069
  children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $j67YK.default), {
19069
19070
  children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $2fuDN.default), {
19070
19071
  children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $jubFc.default), {
19071
- children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1Qww3.default), {
19072
- children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $i1rfm.default), {
19073
- children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1x02c.default), {
19072
+ children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $i1rfm.default), {
19073
+ children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1x02c.default), {
19074
+ children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1Qww3.default), {
19074
19075
  children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $9GPj7.default), {
19075
19076
  children: /*#__PURE__*/ (0, $bZRJW$jsxs)((0, $aNpqK.default), {
19076
19077
  children: [
@@ -19103,7 +19104,7 @@ var $1Qww3 = parcelRequire("1Qww3");
19103
19104
 
19104
19105
  var $1x02c = parcelRequire("1x02c");
19105
19106
  var $4b50e1d502fb5483$exports = {};
19106
- $4b50e1d502fb5483$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n*, :before, :after {\n box-sizing: border-box;\n border: 0 solid;\n}\n\n:before, :after {\n --tw-content: \"\";\n}\n\nhtml, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n font-family: Calibri, sans-serif;\n line-height: 1.5;\n}\n\nbody {\n line-height: inherit;\n margin: 0;\n}\n\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp, pre {\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\n\nbutton, input, optgroup, select, textarea {\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\nbutton, select {\n text-transform: none;\n}\n\nbutton, input:where([type=\"button\"]), input:where([type=\"reset\"]), input:where([type=\"submit\"]) {\n -webkit-appearance: button;\n background-color: #0000;\n background-image: none;\n}\n\n:-moz-focusring {\n outline: auto;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\nsummary {\n display: list-item;\n}\n\nblockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol, ul, menu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndialog {\n padding: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder, textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton, [role=\"button\"] {\n cursor: pointer;\n}\n\n:disabled {\n cursor: default;\n}\n\nimg, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n.rf-pointer-events-none {\n pointer-events: none;\n}\n\n.rf-pointer-events-auto {\n pointer-events: auto;\n}\n\n.rf-visible {\n visibility: visible;\n}\n\n.rf-invisible {\n visibility: hidden;\n}\n\n.rf-fixed {\n position: fixed;\n}\n\n.rf-absolute {\n position: absolute;\n}\n\n.rf-relative {\n position: relative;\n}\n\n.-rf-left-6 {\n left: -1.5rem;\n}\n\n.-rf-top-2 {\n top: -.5rem;\n}\n\n.-rf-top-4 {\n top: -1rem;\n}\n\n.-rf-top-6 {\n top: -1.5rem;\n}\n\n.-rf-top-\\[1\\.15rem\\] {\n top: -1.15rem;\n}\n\n.rf-bottom-0 {\n bottom: 0;\n}\n\n.rf-bottom-1 {\n bottom: .25rem;\n}\n\n.rf-bottom-1\\/4 {\n bottom: 25%;\n}\n\n.rf-bottom-10 {\n bottom: 2.5rem;\n}\n\n.rf-bottom-2 {\n bottom: .5rem;\n}\n\n.rf-bottom-4 {\n bottom: 1rem;\n}\n\n.rf-bottom-8 {\n bottom: 2rem;\n}\n\n.rf-bottom-\\[calc\\(100\\%\\+2rem\\)\\] {\n bottom: calc(100% + 2rem);\n}\n\n.rf-left-0 {\n left: 0;\n}\n\n.rf-left-1 {\n left: .25rem;\n}\n\n.rf-left-1\\/2 {\n left: 50%;\n}\n\n.rf-left-12 {\n left: 3rem;\n}\n\n.rf-left-2 {\n left: .5rem;\n}\n\n.rf-left-4 {\n left: 1rem;\n}\n\n.rf-left-8 {\n left: 2rem;\n}\n\n.rf-left-\\[calc\\(100\\%\\+1rem\\)\\] {\n left: calc(100% + 1rem);\n}\n\n.rf-left-\\[calc\\(50\\%-3rem\\)\\] {\n left: calc(50% - 3rem);\n}\n\n.rf-right-0 {\n right: 0;\n}\n\n.rf-right-1 {\n right: .25rem;\n}\n\n.rf-right-10 {\n right: 2.5rem;\n}\n\n.rf-right-12 {\n right: 3rem;\n}\n\n.rf-right-2 {\n right: .5rem;\n}\n\n.rf-right-3 {\n right: .75rem;\n}\n\n.rf-right-4 {\n right: 1rem;\n}\n\n.rf-right-6 {\n right: 1.5rem;\n}\n\n.rf-right-8 {\n right: 2rem;\n}\n\n.rf-right-9 {\n right: 2.25rem;\n}\n\n.rf-right-\\[calc\\(100\\%\\+1rem\\)\\] {\n right: calc(100% + 1rem);\n}\n\n.rf-top-0 {\n top: 0;\n}\n\n.rf-top-1 {\n top: .25rem;\n}\n\n.rf-top-1\\/2 {\n top: 50%;\n}\n\n.rf-top-1\\/3 {\n top: 33.3333%;\n}\n\n.rf-top-110 {\n top: 110%;\n}\n\n.rf-top-2 {\n top: .5rem;\n}\n\n.rf-top-4 {\n top: 1rem;\n}\n\n.rf-top-8 {\n top: 2rem;\n}\n\n.rf-top-\\[0\\.125rem\\] {\n top: .125rem;\n}\n\n.rf-top-\\[calc\\(100\\%\\+1rem\\)\\] {\n top: calc(100% + 1rem);\n}\n\n.rf-top-\\[calc\\(50\\%-3rem\\)\\] {\n top: calc(50% - 3rem);\n}\n\n.rf-z-\\[10\\] {\n z-index: 10;\n}\n\n.rf-z-\\[15\\] {\n z-index: 15;\n}\n\n.rf-z-\\[1\\] {\n z-index: 1;\n}\n\n.rf-z-\\[20\\] {\n z-index: 20;\n}\n\n.rf-z-\\[25\\] {\n z-index: 25;\n}\n\n.rf-z-\\[2\\] {\n z-index: 2;\n}\n\n.rf-z-\\[5\\] {\n z-index: 5;\n}\n\n.rf-z-agent {\n z-index: 1;\n}\n\n.rf-z-background {\n z-index: 0;\n}\n\n.rf-z-chatbot {\n z-index: 10;\n}\n\n.rf-z-detailedPOI {\n z-index: 31;\n}\n\n.rf-z-dropdown {\n z-index: 30;\n}\n\n.rf-z-exitwidget {\n z-index: 55;\n}\n\n.rf-z-list {\n z-index: 30;\n}\n\n.rf-z-menu {\n z-index: 40;\n}\n\n.rf-z-modal {\n z-index: 50;\n}\n\n.rf-z-overlay {\n z-index: 40;\n}\n\n.rf-z-ui {\n z-index: 20;\n}\n\n.rf-z-util {\n z-index: 2;\n}\n\n.rf-col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.rf-col-span-3 {\n grid-column: span 3 / span 3;\n}\n\n.rf-col-span-4 {\n grid-column: span 4 / span 4;\n}\n\n.rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n.rf-col-start-1 {\n grid-column-start: 1;\n}\n\n.rf-col-start-3 {\n grid-column-start: 3;\n}\n\n.rf-col-start-4 {\n grid-column-start: 4;\n}\n\n.rf-col-start-5 {\n grid-column-start: 5;\n}\n\n.rf-col-end-13 {\n grid-column-end: 13;\n}\n\n.rf-col-end-2 {\n grid-column-end: 2;\n}\n\n.rf-col-end-9 {\n grid-column-end: 9;\n}\n\n.rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n.rf-row-span-2 {\n grid-row: span 2 / span 2;\n}\n\n.rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n.rf-row-start-1 {\n grid-row-start: 1;\n}\n\n.rf-row-start-12 {\n grid-row-start: 12;\n}\n\n.rf-row-end-13 {\n grid-row-end: 13;\n}\n\n.rf-row-end-3 {\n grid-row-end: 3;\n}\n\n.rf-float-right {\n float: right;\n}\n\n.rf-m-0 {\n margin: 0;\n}\n\n.rf-m-4 {\n margin: 1rem;\n}\n\n.rf-m-auto {\n margin: auto;\n}\n\n.-rf-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.-rf-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n}\n\n.rf-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.rf-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.rf-mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n}\n\n.rf-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.rf-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.rf-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.rf-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.rf-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.rf-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.rf-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.-rf-mb-4 {\n margin-bottom: -1rem;\n}\n\n.rf-mb-0 {\n margin-bottom: 0;\n}\n\n.rf-mb-1 {\n margin-bottom: .25rem;\n}\n\n.rf-mb-12 {\n margin-bottom: 3rem;\n}\n\n.rf-mb-16 {\n margin-bottom: 4rem;\n}\n\n.rf-mb-2 {\n margin-bottom: .5rem;\n}\n\n.rf-mb-26 {\n margin-bottom: 6.5rem;\n}\n\n.rf-mb-28 {\n margin-bottom: 7rem;\n}\n\n.rf-mb-3 {\n margin-bottom: .75rem;\n}\n\n.rf-mb-30 {\n margin-bottom: 7.5rem;\n}\n\n.rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n.rf-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.rf-mb-8 {\n margin-bottom: 2rem;\n}\n\n.rf-ml-1 {\n margin-left: .25rem;\n}\n\n.rf-ml-2 {\n margin-left: .5rem;\n}\n\n.rf-ml-4 {\n margin-left: 1rem;\n}\n\n.rf-ml-6 {\n margin-left: 1.5rem;\n}\n\n.rf-mr-1 {\n margin-right: .25rem;\n}\n\n.rf-mr-2 {\n margin-right: .5rem;\n}\n\n.rf-mr-3 {\n margin-right: .75rem;\n}\n\n.rf-mr-4 {\n margin-right: 1rem;\n}\n\n.rf-mr-5 {\n margin-right: 1.25rem;\n}\n\n.rf-mt-1 {\n margin-top: .25rem;\n}\n\n.rf-mt-10 {\n margin-top: 2.5rem;\n}\n\n.rf-mt-2 {\n margin-top: .5rem;\n}\n\n.rf-mt-4 {\n margin-top: 1rem;\n}\n\n.rf-mt-5 {\n margin-top: 1.25rem;\n}\n\n.rf-mt-8 {\n margin-top: 2rem;\n}\n\n.rf-mt-\\[0\\.2rem\\] {\n margin-top: .2rem;\n}\n\n.rf-mt-auto {\n margin-top: auto;\n}\n\n.rf-box-border {\n box-sizing: border-box;\n}\n\n.rf-line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-inline {\n display: inline;\n}\n\n.rf-flex {\n display: flex;\n}\n\n.rf-grid {\n display: grid;\n}\n\n.rf-hidden {\n display: none;\n}\n\n.rf-aspect-\\[4\\/3\\] {\n aspect-ratio: 4 / 3;\n}\n\n.rf-aspect-square {\n aspect-ratio: 1;\n}\n\n.rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n.rf-h-0 {\n height: 0;\n}\n\n.rf-h-1\\/2 {\n height: 50%;\n}\n\n.rf-h-1\\/3 {\n height: 33.3333%;\n}\n\n.rf-h-10 {\n height: 2.5rem;\n}\n\n.rf-h-12 {\n height: 3rem;\n}\n\n.rf-h-14 {\n height: 3.5rem;\n}\n\n.rf-h-16 {\n height: 4rem;\n}\n\n.rf-h-18 {\n height: 4.5rem;\n}\n\n.rf-h-2 {\n height: .5rem;\n}\n\n.rf-h-2\\/3 {\n height: 66.6667%;\n}\n\n.rf-h-2\\/5 {\n height: 40%;\n}\n\n.rf-h-24 {\n height: 6rem;\n}\n\n.rf-h-3 {\n height: .75rem;\n}\n\n.rf-h-3\\/10 {\n height: 30%;\n}\n\n.rf-h-32 {\n height: 8rem;\n}\n\n.rf-h-36 {\n height: 9rem;\n}\n\n.rf-h-4 {\n height: 1rem;\n}\n\n.rf-h-48 {\n height: 12rem;\n}\n\n.rf-h-5 {\n height: 1.25rem;\n}\n\n.rf-h-6 {\n height: 1.5rem;\n}\n\n.rf-h-7 {\n height: 1.75rem;\n}\n\n.rf-h-8 {\n height: 2rem;\n}\n\n.rf-h-9 {\n height: 2.25rem;\n}\n\n.rf-h-\\[0\\.875rem\\] {\n height: .875rem;\n}\n\n.rf-h-\\[1\\.25rem\\] {\n height: 1.25rem;\n}\n\n.rf-h-\\[35\\%\\] {\n height: 35%;\n}\n\n.rf-h-\\[50\\%\\] {\n height: 50%;\n}\n\n.rf-h-\\[calc\\(50vw-3rem\\)\\] {\n height: calc(50vw - 3rem);\n}\n\n.rf-h-fit {\n height: fit-content;\n}\n\n.rf-h-full {\n height: 100%;\n}\n\n.rf-h-max {\n height: max-content;\n}\n\n.rf-h-screen {\n height: 100vh;\n}\n\n.rf-max-h-12 {\n max-height: 3rem;\n}\n\n.rf-max-h-16 {\n max-height: 4rem;\n}\n\n.rf-max-h-20 {\n max-height: 5rem;\n}\n\n.rf-max-h-28 {\n max-height: 7rem;\n}\n\n.rf-max-h-4\\/5 {\n max-height: 80%;\n}\n\n.rf-max-h-48 {\n max-height: 12rem;\n}\n\n.rf-max-h-6 {\n max-height: 1.5rem;\n}\n\n.rf-max-h-8 {\n max-height: 2rem;\n}\n\n.rf-max-h-full {\n max-height: 100%;\n}\n\n.rf-max-h-qrcode {\n max-height: 120px;\n}\n\n.rf-max-h-qrcodelarge {\n max-height: 200px;\n}\n\n.rf-max-h-screen {\n max-height: 100vh;\n}\n\n.rf-min-h-12 {\n min-height: 3rem;\n}\n\n.rf-min-h-14 {\n min-height: 3.5rem;\n}\n\n.rf-min-h-16 {\n min-height: 4rem;\n}\n\n.rf-min-h-2\\/5 {\n min-height: 40%;\n}\n\n.rf-min-h-6 {\n min-height: 1.5rem;\n}\n\n.rf-min-h-8 {\n min-height: 2rem;\n}\n\n.rf-min-h-9 {\n min-height: 2.25rem;\n}\n\n.rf-min-h-full {\n min-height: 100%;\n}\n\n.rf-min-h-inherit {\n min-height: inherit;\n}\n\n.rf-w-0 {\n width: 0;\n}\n\n.rf-w-1\\/2 {\n width: 50%;\n}\n\n.rf-w-1\\/3 {\n width: 33.3333%;\n}\n\n.rf-w-1\\/4 {\n width: 25%;\n}\n\n.rf-w-10 {\n width: 2.5rem;\n}\n\n.rf-w-12 {\n width: 3rem;\n}\n\n.rf-w-16 {\n width: 4rem;\n}\n\n.rf-w-18 {\n width: 4.5rem;\n}\n\n.rf-w-2 {\n width: .5rem;\n}\n\n.rf-w-2\\/3 {\n width: 66.6667%;\n}\n\n.rf-w-20 {\n width: 5rem;\n}\n\n.rf-w-24 {\n width: 6rem;\n}\n\n.rf-w-3 {\n width: .75rem;\n}\n\n.rf-w-3\\/20 {\n width: 15%;\n}\n\n.rf-w-3\\/4 {\n width: 75%;\n}\n\n.rf-w-3\\/5 {\n width: 60%;\n}\n\n.rf-w-32 {\n width: 8rem;\n}\n\n.rf-w-36 {\n width: 9rem;\n}\n\n.rf-w-4 {\n width: 1rem;\n}\n\n.rf-w-48 {\n width: 12rem;\n}\n\n.rf-w-5 {\n width: 1.25rem;\n}\n\n.rf-w-6 {\n width: 1.5rem;\n}\n\n.rf-w-7 {\n width: 1.75rem;\n}\n\n.rf-w-8 {\n width: 2rem;\n}\n\n.rf-w-9 {\n width: 2.25rem;\n}\n\n.rf-w-\\[45\\%\\] {\n width: 45%;\n}\n\n.rf-w-\\[90\\%\\] {\n width: 90%;\n}\n\n.rf-w-\\[calc\\(100\\%-3rem\\)\\] {\n width: calc(100% - 3rem);\n}\n\n.rf-w-fit {\n width: fit-content;\n}\n\n.rf-w-full {\n width: 100%;\n}\n\n.rf-w-max {\n width: max-content;\n}\n\n.rf-w-screen {\n width: 100vw;\n}\n\n.rf-min-w-12 {\n min-width: 3rem;\n}\n\n.rf-min-w-24 {\n min-width: 6rem;\n}\n\n.rf-min-w-3\\/20 {\n min-width: 15%;\n}\n\n.rf-min-w-6 {\n min-width: 1.5rem;\n}\n\n.rf-min-w-7 {\n min-width: 1.75rem;\n}\n\n.rf-min-w-\\[45\\%\\] {\n min-width: 45%;\n}\n\n.rf-min-w-full {\n min-width: 100%;\n}\n\n.rf-max-w-1\\/2 {\n max-width: 50%;\n}\n\n.rf-max-w-16 {\n max-width: 4rem;\n}\n\n.rf-max-w-3\\/20 {\n max-width: 15%;\n}\n\n.rf-max-w-6 {\n max-width: 1.5rem;\n}\n\n.rf-max-w-7\\/10 {\n max-width: 70%;\n}\n\n.rf-max-w-\\[100vw\\] {\n max-width: 100vw;\n}\n\n.rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n.rf-max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.rf-max-w-\\[75\\%\\] {\n max-width: 75%;\n}\n\n.rf-max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n}\n\n.rf-max-w-full {\n max-width: 100%;\n}\n\n.rf-max-w-none {\n max-width: none;\n}\n\n.rf-flex-1 {\n flex: 1;\n}\n\n.rf-flex-\\[0_0_40\\%\\] {\n flex: 0 0 40%;\n}\n\n.rf-flex-\\[2_1_0\\%\\] {\n flex: 2;\n}\n\n.rf-flex-\\[4_1_0\\%\\] {\n flex: 4;\n}\n\n.rf-border-collapse {\n border-collapse: collapse;\n}\n\n.rf-origin-center {\n transform-origin: center;\n}\n\n.-rf-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n 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));\n}\n\n.-rf-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n 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));\n}\n\n.-rf-translate-y-full {\n --tw-translate-y: -100%;\n 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));\n}\n\n.rf--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n 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));\n}\n\n.rf-translate-x-1 {\n --tw-translate-x: .25rem;\n 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));\n}\n\n.rf-translate-x-5 {\n --tw-translate-x: 1.25rem;\n 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));\n}\n\n.rf-rotate-0 {\n --tw-rotate: 0deg;\n 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));\n}\n\n.rf-rotate-180 {\n --tw-rotate: 180deg;\n 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));\n}\n\n.rf-scale-0 {\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n 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));\n}\n\n.rf-transform {\n 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));\n}\n\n@keyframes rf-blink {\n 0%, 100% {\n opacity: .2;\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.rf-animate-blink {\n animation: 1.4s infinite both rf-blink;\n}\n\n@keyframes rf-fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.rf-animate-fadeIn {\n animation: .5s .2s backwards rf-fadeIn;\n}\n\n@keyframes rf-hScroll {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(calc(-100% - 2rem));\n }\n}\n\n.rf-animate-hScroll {\n animation: 20s linear infinite rf-hScroll;\n}\n\n@keyframes rf-loader {\n 0% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 1.5rem 0 -.3rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loader {\n animation: 1.8s ease-in-out -.16s infinite both rf-loader;\n}\n\n.rf-animate-loaderFadeIn {\n animation: 2s rf-fadeIn;\n}\n\n@keyframes rf-fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.rf-animate-loaderFadeOut {\n animation: 1s rf-fadeOut;\n}\n\n@keyframes rf-loaderMedium {\n 0% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .75rem 0 -.25rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMedium {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMedium;\n}\n\n@keyframes rf-loaderMini {\n 0% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .5rem 0 -.1rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMini {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMini;\n}\n\n@keyframes rf-slideBottom {\n 0% {\n opacity: 0;\n transform: translateX(0)translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0)translateY(0);\n }\n}\n\n.rf-animate-slideBottom {\n animation: .5s .2s backwards rf-slideBottom;\n}\n\n@keyframes rf-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.rf-animate-spin {\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-cursor-pointer {\n cursor: pointer;\n}\n\n.rf-select-none {\n user-select: none;\n}\n\n.rf-resize-none {\n resize: none;\n}\n\n.rf-scroll-pb-4 {\n scroll-padding-bottom: 1rem;\n}\n\n.rf-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.rf-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.rf-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,30\\%\\)\\] {\n grid-template-columns: repeat(2, 30%);\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,45\\%\\)\\] {\n grid-template-columns: repeat(2, 45%);\n}\n\n.rf-grid-cols-\\[repeat\\(3\\,31\\%\\)\\] {\n grid-template-columns: repeat(3, 31%);\n}\n\n.rf-grid-cols-headerContainer {\n grid-template-columns: 5rem 1rem 1fr 1fr;\n}\n\n.rf-grid-cols-printingPreview {\n grid-template-columns: minmax(0, 1fr) 3rem;\n}\n\n.rf-grid-cols-routes {\n grid-template-columns: repeat(3, max-content);\n}\n\n.rf-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n\n.rf-grid-rows-container {\n grid-template-rows: repeat(12, minmax(0, 1fr));\n}\n\n.rf-grid-rows-headerContainer {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-flex-row {\n flex-direction: row;\n}\n\n.rf-flex-col {\n flex-direction: column;\n}\n\n.rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.rf-flex-wrap {\n flex-wrap: wrap;\n}\n\n.rf-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.rf-content-around {\n align-content: space-around;\n}\n\n.rf-items-start {\n align-items: flex-start;\n}\n\n.rf-items-end {\n align-items: flex-end;\n}\n\n.rf-items-center {\n align-items: center;\n}\n\n.rf-justify-start {\n justify-content: flex-start;\n}\n\n.rf-justify-end {\n justify-content: flex-end;\n}\n\n.rf-justify-center {\n justify-content: center;\n}\n\n.rf-justify-between {\n justify-content: space-between;\n}\n\n.rf-justify-around {\n justify-content: space-around;\n}\n\n.rf-justify-evenly {\n justify-content: space-evenly;\n}\n\n.rf-gap-1 {\n gap: .25rem;\n}\n\n.rf-gap-12 {\n gap: 3rem;\n}\n\n.rf-gap-2 {\n gap: .5rem;\n}\n\n.rf-gap-3 {\n gap: .75rem;\n}\n\n.rf-gap-4 {\n gap: 1rem;\n}\n\n.rf-gap-5 {\n gap: 1.25rem;\n}\n\n.rf-gap-6 {\n gap: 1.5rem;\n}\n\n.rf-gap-8 {\n gap: 2rem;\n}\n\n.rf-gap-9 {\n gap: 2.25rem;\n}\n\n.rf-gap-\\[10\\%\\] {\n gap: 10%;\n}\n\n.rf-gap-x-\\[3\\.5\\%\\] {\n column-gap: 3.5%;\n}\n\n.rf-divide-x > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-x-reverse: 0;\n border-right-width: calc(1px * var(--tw-divide-x-reverse));\n border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n}\n\n.rf-self-auto {\n align-self: auto;\n}\n\n.rf-self-start {\n align-self: flex-start;\n}\n\n.rf-self-end {\n align-self: flex-end;\n}\n\n.rf-self-center {\n align-self: center;\n}\n\n.rf-justify-self-start {\n justify-self: start;\n}\n\n.rf-justify-self-end {\n justify-self: end;\n}\n\n.rf-justify-self-center {\n justify-self: center;\n}\n\n.rf-overflow-hidden {\n overflow: hidden;\n}\n\n.rf-overflow-clip {\n overflow: clip;\n}\n\n.rf-overflow-y-auto {\n overflow-y: auto;\n}\n\n.rf-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rf-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.rf-overflow-y-clip {\n overflow-y: clip;\n}\n\n.rf-overflow-x-visible {\n overflow-x: visible;\n}\n\n.rf-overflow-y-visible {\n overflow-y: visible;\n}\n\n.rf-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n.rf-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.rf-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rf-whitespace-break-spaces {\n white-space: break-spaces;\n}\n\n.rf-rounded {\n border-radius: .3125rem;\n}\n\n.rf-rounded-6 {\n border-radius: 1.5rem;\n}\n\n.rf-rounded-8 {\n border-radius: 2rem;\n}\n\n.rf-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n\n.rf-rounded-half {\n border-radius: 50%;\n}\n\n.rf-rounded-lg {\n border-radius: .5rem;\n}\n\n.rf-rounded-max {\n border-radius: 100%;\n}\n\n.rf-rounded-b {\n border-bottom-right-radius: .3125rem;\n border-bottom-left-radius: .3125rem;\n}\n\n.rf-rounded-b-4 {\n border-bottom-right-radius: 1rem;\n border-bottom-left-radius: 1rem;\n}\n\n.rf-rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n}\n\n.rf-rounded-tl-4 {\n border-top-left-radius: 1rem;\n}\n\n.rf-rounded-tr-4 {\n border-top-right-radius: 1rem;\n}\n\n.rf-border {\n border-width: 1px;\n}\n\n.rf-border-0 {\n border-width: 0;\n}\n\n.rf-border-2 {\n border-width: 2px;\n}\n\n.rf-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rf-border-b {\n border-bottom-width: 1px;\n}\n\n.rf-border-b-2 {\n border-bottom-width: 2px;\n}\n\n.rf-border-l {\n border-left-width: 1px;\n}\n\n.rf-border-r {\n border-right-width: 1px;\n}\n\n.rf-border-t {\n border-top-width: 1px;\n}\n\n.rf-border-t-0 {\n border-top-width: 0;\n}\n\n.rf-border-none {\n border-style: none;\n}\n\n.rf-border-\\[\\#00000029\\] {\n border-color: #00000029;\n}\n\n.rf-border-\\[\\#1999B1\\] {\n --tw-border-opacity: 1;\n border-color: rgb(25 153 177 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#325981\\] {\n --tw-border-opacity: 1;\n border-color: rgb(50 89 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#707070\\] {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#9FA2AA\\] {\n --tw-border-opacity: 1;\n border-color: rgb(159 162 170 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#C7C6C6\\] {\n --tw-border-opacity: 1;\n border-color: rgb(199 198 198 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#F0F0F0\\] {\n --tw-border-opacity: 1;\n border-color: rgb(240 240 240 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-black {\n border-color: var(--rf-color-black);\n}\n\n.rf-border-cardButtonBorderDefault {\n border-color: var(--rf-color-cardButtonBorderDefault);\n}\n\n.rf-border-cardButtonBorderHover {\n border-color: var(--rf-color-cardButtonBorderHover);\n}\n\n.rf-border-cardFrameBorder {\n border-color: var(--rf-color-cardFrameBorder);\n}\n\n.rf-border-formInputButtonBorderDefault {\n border-color: var(--rf-color-formInputButtonBorderDefault);\n}\n\n.rf-border-formInputButtonBorderHover {\n border-color: var(--rf-color-formInputButtonBorderHover);\n}\n\n.rf-border-formInputRadioCheckboxCheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-border-formInputRadioCheckboxUncheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n}\n\n.rf-border-gray {\n --tw-border-opacity: 1;\n border-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-lightgray {\n --tw-border-opacity: 1;\n border-color: rgb(129 129 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-menuBorder {\n --tw-border-opacity: 1;\n border-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-primary {\n border-color: var(--rf-color-primary);\n}\n\n.rf-border-secondary {\n border-color: var(--rf-color-secondary);\n}\n\n.rf-border-templateCheckboxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textBoxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(190 190 190 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textModePanelBackgroundBot {\n border-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-border-textModePanelBackgroundUser {\n border-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-border-trueblack {\n --tw-border-opacity: 1;\n border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-truewhite {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-x-primary {\n border-left-color: var(--rf-color-primary);\n border-right-color: var(--rf-color-primary);\n}\n\n.rf-border-y-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-\\[\\#C4C5C8\\] {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(196 197 200 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-black {\n border-bottom-color: var(--rf-color-black);\n}\n\n.rf-border-b-menuBorder {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-silver {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-transparent {\n border-bottom-color: #0000;\n}\n\n.rf-border-l-menuBorder {\n --tw-border-opacity: 1;\n border-left-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-right-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-silver {\n --tw-border-opacity: 1;\n border-right-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#CBC9C9\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(203 201 201 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-bg-\\[\\#00000050\\] {\n background-color: #00000050;\n}\n\n.rf-bg-\\[\\#000000B3\\] {\n background-color: #000000b3;\n}\n\n.rf-bg-\\[\\#121212F2\\] {\n background-color: #121212f2;\n}\n\n.rf-bg-\\[\\#1999B1\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#325981\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(50 89 129 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#CDE5FE\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(205 229 254 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F0F0F0\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F8F8F8\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(248 248 248 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-black {\n background-color: var(--rf-color-black);\n}\n\n.rf-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-cardButtonBackgroundDefault {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n}\n\n.rf-bg-cardButtonBackgroundHover {\n background-color: var(--rf-color-cardButtonBackgroundHover);\n}\n\n.rf-bg-cardFrameBackground {\n background-color: var(--rf-color-cardFrameBackground);\n}\n\n.rf-bg-formInputButtonBackgroundDefault {\n background-color: var(--rf-color-formInputButtonBackgroundDefault);\n}\n\n.rf-bg-formInputButtonBackgroundHover {\n background-color: var(--rf-color-formInputButtonBackgroundHover);\n}\n\n.rf-bg-formInputRadioCheckboxUncheckedBackground {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-bg-gray {\n --tw-bg-opacity: 1;\n background-color: rgb(128 128 128 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-primary {\n background-color: var(--rf-color-primary);\n}\n\n.rf-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-secondary {\n background-color: var(--rf-color-secondary);\n}\n\n.rf-bg-silver {\n --tw-bg-opacity: 1;\n background-color: rgb(192 192 192 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateBackground {\n --tw-bg-opacity: 1;\n background-color: rgb(241 241 241 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateEmptyCard {\n --tw-bg-opacity: 1;\n background-color: rgb(232 231 231 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-textModePanelBackgroundBot {\n background-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-bg-textModePanelBackgroundUser {\n background-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-bg-transparent {\n background-color: #0000;\n}\n\n.rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-vocalModeSubtitlesBackground {\n background-color: var(--rf-color-vocalModeSubtitlesBackground);\n}\n\n.rf-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(247 243 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-opacity-30 {\n --tw-bg-opacity: .3;\n}\n\n.rf-bg-opacity-50 {\n --tw-bg-opacity: .5;\n}\n\n.rf-bg-opacity-80 {\n --tw-bg-opacity: .8;\n}\n\n.rf-object-cover {\n object-fit: cover;\n}\n\n.rf-p-0 {\n padding: 0;\n}\n\n.rf-p-1 {\n padding: .25rem;\n}\n\n.rf-p-2 {\n padding: .5rem;\n}\n\n.rf-p-3 {\n padding: .75rem;\n}\n\n.rf-p-4 {\n padding: 1rem;\n}\n\n.rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n.rf-p-\\[7px_12px\\] {\n padding: 7px 12px;\n}\n\n.rf-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.rf-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.rf-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.rf-px-48 {\n padding-left: 12rem;\n padding-right: 12rem;\n}\n\n.rf-px-5, .rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.rf-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.rf-py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.rf-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.rf-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.rf-pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.rf-pb-12 {\n padding-bottom: 3rem;\n}\n\n.rf-pb-14 {\n padding-bottom: 3.5rem;\n}\n\n.rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n.rf-pb-24 {\n padding-bottom: 6rem;\n}\n\n.rf-pb-3 {\n padding-bottom: .75rem;\n}\n\n.rf-pb-4 {\n padding-bottom: 1rem;\n}\n\n.rf-pb-5, .rf-pb-6 {\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-8 {\n padding-bottom: 2rem;\n}\n\n.rf-pb-\\[15vh\\] {\n padding-bottom: 15vh;\n}\n\n.rf-pl-0 {\n padding-left: 0;\n}\n\n.rf-pl-1 {\n padding-left: .25rem;\n}\n\n.rf-pl-2 {\n padding-left: .5rem;\n}\n\n.rf-pl-4 {\n padding-left: 1rem;\n}\n\n.rf-pl-6 {\n padding-left: 1.5rem;\n}\n\n.rf-pl-8 {\n padding-left: 2rem;\n}\n\n.rf-pr-1 {\n padding-right: .25rem;\n}\n\n.rf-pr-2 {\n padding-right: .5rem;\n}\n\n.rf-pr-4 {\n padding-right: 1rem;\n}\n\n.rf-pr-6 {\n padding-right: 1.5rem;\n}\n\n.rf-pt-1 {\n padding-top: .25rem;\n}\n\n.rf-pt-11\\/20 {\n padding-top: 55%;\n}\n\n.rf-pt-12 {\n padding-top: 3rem;\n}\n\n.rf-pt-14 {\n padding-top: 3.5rem;\n}\n\n.rf-pt-2 {\n padding-top: .5rem;\n}\n\n.rf-pt-24 {\n padding-top: 6rem;\n}\n\n.rf-pt-3 {\n padding-top: .75rem;\n}\n\n.rf-pt-4 {\n padding-top: 1rem;\n}\n\n.rf-pt-40 {\n padding-top: 10rem;\n}\n\n.rf-pt-6 {\n padding-top: 1.5rem;\n}\n\n.rf-pt-8 {\n padding-top: 2rem;\n}\n\n.rf-pt-\\[25vh\\] {\n padding-top: 25vh;\n}\n\n.rf-pt-\\[26vh\\] {\n padding-top: 26vh;\n}\n\n.rf-text-left {\n text-align: left;\n}\n\n.rf-text-center {\n text-align: center;\n}\n\n.rf-text-right {\n text-align: right;\n}\n\n.rf-text-justify {\n text-align: justify;\n}\n\n.rf-font-default {\n font-family: Calibri, sans-serif;\n}\n\n.rf-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.rf-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-8xl {\n font-size: 6rem;\n line-height: 1;\n}\n\n.rf-text-\\[0\\.5rem\\] {\n font-size: .5rem;\n}\n\n.rf-text-arabic {\n font-size: 1.125rem;\n line-height: 1.15rem;\n}\n\n.rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n.rf-text-lgcustom {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-text-sm\\/4 {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.rf-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.rf-text-xsl {\n font-size: .7rem;\n line-height: 1rem;\n}\n\n.rf-text-xsm {\n font-size: .6rem;\n}\n\n.rf-font-bold {\n font-weight: 600;\n}\n\n.rf-font-light {\n font-weight: 200;\n}\n\n.rf-font-medium {\n font-weight: 300;\n}\n\n.rf-font-semibold {\n font-weight: 400;\n}\n\n.rf-uppercase {\n text-transform: uppercase;\n}\n\n.rf-capitalize {\n text-transform: capitalize;\n}\n\n.rf-normal-case {\n text-transform: none;\n}\n\n.rf-italic {\n font-style: italic;\n}\n\n.rf-leading-4 {\n line-height: 1rem;\n}\n\n.rf-text-\\[\\#1999B1\\] {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#325981\\] {\n --tw-text-opacity: 1;\n color: rgb(50 89 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#575F6B\\] {\n --tw-text-opacity: 1;\n color: rgb(87 95 107 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#9A9A9A\\] {\n --tw-text-opacity: 1;\n color: rgb(154 154 154 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#A4A7AF\\] {\n --tw-text-opacity: 1;\n color: rgb(164 167 175 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-black {\n color: var(--rf-color-black);\n}\n\n.rf-text-cardButtonTextDefault {\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-text-cardFrameText {\n color: var(--rf-color-cardFrameText);\n}\n\n.rf-text-formInputButtonTextDefault {\n color: var(--rf-color-formInputButtonTextDefault);\n}\n\n.rf-text-formInputButtonTextHover {\n color: var(--rf-color-formInputButtonTextHover);\n}\n\n.rf-text-formInputRadioCheckboxUncheckedBackground {\n color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-text-formInputTextDefault {\n color: var(--rf-color-formInputTextDefault);\n}\n\n.rf-text-gray {\n --tw-text-opacity: 1;\n color: rgb(128 128 128 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-lightgray {\n --tw-text-opacity: 1;\n color: rgb(129 129 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-primary {\n color: var(--rf-color-primary);\n}\n\n.rf-text-secondary {\n color: var(--rf-color-secondary);\n}\n\n.rf-text-textModePanelConversationBot {\n color: var(--rf-color-textModePanelConversationBot);\n}\n\n.rf-text-textModePanelConversationUser {\n color: var(--rf-color-textModePanelConversationUser);\n}\n\n.rf-text-trueblack {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-truewhite {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-vocalModeSubtitlesText {\n color: var(--rf-color-vocalModeSubtitlesText);\n}\n\n.rf-text-white {\n --tw-text-opacity: 1;\n color: rgb(247 243 246 / var(--tw-text-opacity, 1));\n}\n\n.rf-underline {\n text-decoration-line: underline;\n}\n\n.rf-shadow-\\[-3px_-3px_10px_\\#00000099\\] {\n --tw-shadow: -3px -3px 10px #0009;\n --tw-shadow-colored: -3px -3px 10px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_15px_0_silver\\] {\n --tw-shadow: 0 0 15px 0 silver;\n --tw-shadow-colored: 0 0 15px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_20px_1px_\\#A4A7AF80\\] {\n --tw-shadow: 0 0 20px 1px #a4a7af80;\n --tw-shadow-colored: 0 0 20px 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 0 3px 6px #00000029;\n --tw-shadow-colored: 0 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#606267\\] {\n --tw-shadow: 0 3px 6px #606267;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_6px_6px_\\#00000029\\] {\n --tw-shadow: 0 6px 6px #00000029;\n --tw-shadow-colored: 0 6px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[20px_3px_20px_\\#00000029\\] {\n --tw-shadow: 20px 3px 20px #00000029;\n --tw-shadow-colored: 20px 3px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_16px_\\#00000029\\] {\n --tw-shadow: 3px 3px 16px #00000029;\n --tw-shadow-colored: 3px 3px 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_6px_\\#00000029\\] {\n --tw-shadow: 3px 3px 6px #00000029;\n --tw-shadow-colored: 3px 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_0_6px_\\#0000003B\\] {\n --tw-shadow: inset 0 0 6px #0000003b;\n --tw-shadow-colored: inset 0 0 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_12px_12px_-12px_\\#00000029\\,inset_0_-12px_12px_-12px_\\#00000029\\] {\n --tw-shadow: inset 0 12px 12px -12px #00000029, inset 0 -12px 12px -12px #00000029;\n --tw-shadow-colored: inset 0 12px 12px -12px var(--tw-shadow-color), inset 0 -12px 12px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.rf-blur-background {\n --tw-blur: blur(var(--rf-blur-background));\n 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);\n}\n\n.rf-filter {\n 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);\n}\n\n.rf-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-text-shadow-black {\n text-shadow: 2px 0 5px #000, -2px 0 5px #000, 0 2px 5px #000, 0 -2px 5px #000;\n}\n\n.rf-capitalize-first:first-letter {\n text-transform: uppercase;\n}\n\nol {\n padding-left: 2rem;\n list-style-type: decimal;\n}\n\nul {\n padding-left: 2rem;\n list-style-type: disc;\n}\n\n#retorik-container.rf-portrait:not(.rf-large) .ac-image {\n max-width: 100px;\n}\n\n.rf-glass-background, #retorik-container.portrait .portrait\\:rf-glass-background {\n background-color: var(--rf-color-black);\n --tw-bg-opacity: .62;\n --tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.rf-loader-bouncing-bot {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, var(--rf-color-textModePanelConversationBot) 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n}\n\n@keyframes rf-loaderBouncing {\n 20% {\n background-position: 0 0, 50%, 100%;\n }\n\n 40% {\n background-position: 0 100%, 50% 0, 100%;\n }\n\n 60% {\n background-position: 0%, 50% 100%, 100% 0;\n }\n\n 80% {\n background-position: 0%, 50%, 100% 100%;\n }\n}\n\n.rf-loader-bouncing-bot {\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n.rf-loader-bouncing-white {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, #fff 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n@keyframes rf-loaderPulsation {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n transform: scale3d(1.1, 1.1, 1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rf-loader-pulsation {\n animation: 2s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderPulsation;\n}\n\n.rf-loader-pulsation:before {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n@keyframes rf-loaderRipple {\n 0% {\n opacity: 1;\n transform: scale3d(.75, .75, 1);\n }\n\n 100% {\n opacity: 0;\n transform: scale3d(1.5, 1.5, 1);\n }\n}\n\n.rf-loader-pulsation:before {\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) .4s infinite rf-loaderRipple;\n}\n\n.rf-loader-pulsation:after {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderRipple;\n position: absolute;\n}\n\n.rf-loader:before {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loader;\n display: block;\n position: absolute;\n right: 1.5rem;\n}\n\n.rf-loader:after {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out infinite both rf-loader;\n display: block;\n position: absolute;\n left: 1.5rem;\n}\n\n.rf-loader-medium:before {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n right: 1rem;\n}\n\n.rf-loader-medium:after {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n left: 1rem;\n}\n\n.rf-loader-mini:before {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMini;\n display: block;\n position: absolute;\n right: .5rem;\n}\n\n.rf-loader-mini:after {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMini;\n display: block;\n position: absolute;\n left: .5rem;\n}\n\n.rf-loader-microphone:before, .rf-loader-microphone:after {\n content: \"\";\n --tw-border-opacity: 1;\n border: 6px solid #0000;\n border-top-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-primary:before, .rf-loader-microphone-primary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-primary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-primary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-primary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-secondary:before, .rf-loader-microphone-secondary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-secondary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-secondary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-secondary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-counter {\n border-width: 8px;\n border-color: var(--rf-color-primary);\n border-radius: 50%;\n position: relative;\n}\n\n@keyframes rf-loaderCounter {\n 0% {\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n\n 25% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n\n 50% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);\n }\n\n 75% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n\n 100% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n}\n\n.rf-loader-counter:before {\n border-width: 10px;\n border-color: var(--rf-color-cardFrameBackground);\n content: \"\";\n animation: rf-loaderCounter;\n animation-duration: var(--duration);\n border-radius: 50%;\n animation-timing-function: linear;\n position: absolute;\n inset: -9px;\n transform: rotate(45deg);\n}\n\n.rf-touch-action-none {\n touch-action: none;\n}\n\n.rf-unselectable {\n user-select: none;\n -webkit-touch-callout: none;\n}\n\n.rf-title-extralarge-bold-size-auto {\n font-size: 2.25rem;\n font-weight: 600;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-bold-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-extralarge-size-auto {\n font-size: 2.25rem;\n font-weight: 400;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-large-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-large-bold-size-auto {\n font-size: 1.875rem;\n font-weight: 600;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large .rf-title-large-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-title-bold-size-auto {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-bold-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-subtitle-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-subtitle-size-auto {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-subtitle-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-extralarge-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-text-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-verylarge-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-verylarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-verylarge-size-auto {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-large-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-large-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-medium-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .rf-text-medium-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-text-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large .rf-text-small-size-auto {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n.rf-text-extra-small-size-auto {\n font-size: .6rem;\n line-height: .75rem;\n}\n\n#retorik-container.rf-large .rf-text-extra-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-small-size-auto {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .rf-small-size-auto {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-small-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-line-clamp-unknown {\n hyphens: auto;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-1 {\n hyphens: auto;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n hyphens: auto;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-3 {\n hyphens: auto;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-4 {\n hyphens: auto;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-5 {\n hyphens: auto;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-6 {\n hyphens: auto;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-7 {\n hyphens: auto;\n -webkit-line-clamp: 7;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-8 {\n hyphens: auto;\n -webkit-line-clamp: 8;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-9 {\n hyphens: auto;\n -webkit-line-clamp: 9;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-10 {\n hyphens: auto;\n -webkit-line-clamp: 10;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-overflow-wrap {\n overflow-wrap: anywhere;\n}\n\n.rf-height-fill-available {\n height: stretch;\n}\n\n.rf-width-fill-available {\n width: stretch;\n}\n\n.rf-animation-delay-2 {\n animation-delay: .2s;\n}\n\n.rf-animation-delay-4 {\n animation-delay: .4s;\n}\n\n.rf-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: var(--rf-color-secondary) transparent;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar {\n width: .2rem;\n height: .2rem;\n margin: .25rem 0;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-secondary);\n border-radius: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 2rem;\n height: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-primary);\n border-radius: 2rem;\n}\n\n.rf-scrollbar-hidden {\n scrollbar-width: none;\n}\n\n.rf-scrollbar-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.rf-opacity-gradient-b {\n -webkit-mask-image: linear-gradient(#000 50%, #0000 100%);\n}\n\n.rf-opacity-gradient-b-thin {\n -webkit-mask-image: linear-gradient(#797676 84%, #0000 100%);\n}\n\n.rf-opacity-gradient-l {\n -webkit-mask-image: linear-gradient(to left, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-l-thin {\n -webkit-mask-image: linear-gradient(to left, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-r {\n -webkit-mask-image: linear-gradient(to right, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-r-thin {\n -webkit-mask-image: linear-gradient(to right, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-h {\n -webkit-mask-image: linear-gradient(to right, #0000 0%, 6%, #000, 94%, #0000 100%);\n}\n\n.rf-card-button {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n padding: .5rem 1rem;\n}\n\n.rf-card-button:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardButtonBackgroundHover);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-clicked {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n border-width: 1px;\n border-color: #0000;\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-clicked {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-card-button-positive {\n border-width: 1px;\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonTextDefault);\n color: var(--rf-color-cardFrameBackground);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-positive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-positive:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonTextDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-destructive {\n --tw-border-opacity: 1;\n border-width: 1px;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-destructive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-destructive:hover {\n cursor: pointer;\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-secondary {\n border-width: 1px;\n border-color: var(--rf-color-secondary);\n color: var(--rf-color-secondary);\n background-color: #0000;\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-secondary {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-secondary:hover {\n cursor: pointer;\n border-color: var(--rf-color-secondary);\n background-color: var(--rf-color-secondary);\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-discover {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonDiscoverBorderDefault);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundDefault);\n color: var(--rf-color-cardButtonDiscoverTextDefault);\n border-radius: .3125rem;\n padding: .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-discover {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-card-button-discover:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonDiscoverBorderHover);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundHover);\n color: var(--rf-color-cardButtonDiscoverTextHover);\n}\n\n.rf-card-button-history {\n cursor: default;\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-history {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-mini, .rf-card-button-mini-selected, .rf-card-button-mini-disabled {\n background-color: var(--rf-color-cardFrameBackground);\n border-width: 1px;\n border-radius: .3125rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-mini, #retorik-container.rf-large .rf-card-button-mini-selected, #retorik-container.rf-large .rf-card-button-mini-disabled {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-mini, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-selected, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-disabled {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-card-button-mini {\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-mini:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-mini-selected {\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonBorderDefault);\n color: var(--rf-color-cardFrameBackground);\n}\n\n.lf-player-container {\n align-items: flex-end;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.rf-input-label {\n text-overflow: ellipsis;\n color: var(--rf-color-formInputTextDefault);\n margin-top: .1rem;\n margin-left: .75rem;\n overflow-x: hidden;\n}\n\n#retorik-container.rf-large .rf-input-label {\n margin-top: .25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-input-label {\n margin-top: .2rem;\n}\n\n.rf-radio-custom {\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 50%;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n.rf-radio-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n#retorik-container.rf-large .rf-radio-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-radio-custom:before {\n content: \"\";\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n width: .5rem;\n height: .5rem;\n 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));\n background-color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n#retorik-container.rf-large .rf-radio-custom:before {\n width: .75rem;\n height: .75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom:before {\n width: 1rem;\n height: 1rem;\n}\n\n.rf-radio-custom:checked:before {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n 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));\n}\n\n.rf-input-hidden {\n appearance: none;\n margin: 0;\n}\n\n.rf-checkbox-custom {\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n#retorik-container.rf-large .rf-checkbox-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-checkbox-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-checkbox-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.rf-toggle-custom {\n appearance: none;\n background-color: var(--rf-color-black);\n border-radius: 1.5rem;\n width: 3rem;\n min-width: 3rem;\n height: 1.5rem;\n margin: 0;\n position: relative;\n}\n\n.rf-toggle-custom:checked {\n background-color: var(--rf-color-primary);\n}\n\n#retorik-container.rf-large .rf-toggle-custom {\n border-radius: 1.75rem;\n width: 3.5rem;\n min-width: 3.5rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom {\n border-radius: 2rem;\n width: 4rem;\n min-width: 4rem;\n height: 2rem;\n}\n\n.rf-toggle-custom:before {\n content: \"\";\n --tw-translate-x: 0px;\n width: 1rem;\n height: 1rem;\n 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));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n position: absolute;\n top: .25rem;\n left: .25rem;\n}\n\n#retorik-container.rf-large .rf-toggle-custom:before {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:before {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.rf-toggle-custom:checked:before {\n --tw-translate-x: 1.5rem;\n 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));\n}\n\n#retorik-container.rf-large .rf-toggle-custom:checked:before {\n --tw-translate-x: 1.75rem;\n 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));\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:checked:before {\n --tw-translate-x: 2rem;\n 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));\n}\n\n.rf-select-custom {\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n margin: 0;\n padding: 1rem;\n}\n\n.rf-select-custom:hover {\n cursor: pointer;\n}\n\n.rf-select-custom:focus-visible {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-slider-custom {\n -webkit-appearance: none;\n -moz-appearance: none;\n outline-offset: 2px;\n border-radius: .5rem;\n outline: 2px solid #0000;\n width: 100%;\n height: .25rem;\n display: block;\n position: relative;\n}\n\n.rf-slider-custom::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n}\n\n.rf-slider-custom::-moz-track {\n -moz-appearance: none;\n}\n\n.rf-slider-custom::-ms-track {\n appearance: none;\n}\n\n.rf-slider-custom::-webkit-slider-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-webkit-slider-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-moz-range-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-moz-range-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-ms-thumb {\n appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-ms-thumb:hover {\n cursor: pointer;\n}\n\n.rf-likert-custom {\n cursor: pointer;\n outline-offset: 2px;\n -webkit-text-stroke-width: 1px;\n -webkit-text-stroke-color: white;\n background-color: #0000;\n border-style: none;\n outline: 2px solid #0000;\n}\n\n.svgButtonMenu > svg * {\n fill: var(--fill);\n}\n\n.webchat__css-custom-properties {\n width: 100%;\n height: 100%;\n}\n\n.placeholder\\:rf-text-black::placeholder {\n color: var(--rf-color-black);\n}\n\n.placeholder\\:rf-opacity-100::placeholder {\n opacity: 1;\n}\n\n.hover\\:rf-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:rf-border-truewhite:hover {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.hover\\:rf-bg-\\[\\#1999B1\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-bg-formInputRadioCheckboxCheckedBackground:hover {\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.hover\\:rf-bg-transparent:hover {\n background-color: #0000;\n}\n\n.hover\\:rf-bg-truewhite:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#1999B1\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#325981\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(50 89 129 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-formInputRadioCheckboxCheckedItem:hover {\n color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n}\n\n.hover\\:rf-text-truewhite:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-shadow-\\[inset_0_0_12px_\\#00000029\\]:hover {\n --tw-shadow: inset 0 0 12px #00000029;\n --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-end-13 {\n grid-row-end: 13;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-5\\/6 {\n width: 83.3333%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-9\\/10 {\n width: 90%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-items-center {\n align-items: center;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-border-r-0 {\n border-right-width: 0;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large .large\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-top-8 {\n top: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-m-8 {\n margin: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-0 {\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-0 {\n margin-left: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-4 {\n margin-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-8 {\n margin-left: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-3 {\n margin-right: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-30 {\n margin-right: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-20 {\n margin-top: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-3 {\n margin-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large .large\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large .large\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large .large\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large .large\\:rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n#retorik-container.rf-large .large\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-16 {\n height: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-3\\/5 {\n height: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-8 {\n height: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[1\\.3rem\\] {\n height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[60vh\\] {\n height: 60vh;\n}\n\n#retorik-container.rf-large .large\\:rf-h-auto {\n height: auto;\n}\n\n#retorik-container.rf-large .large\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-28 {\n max-height: 7rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-\\[2\\.3rem\\] {\n max-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-h-\\[2\\.3rem\\] {\n min-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-1\\/8 {\n width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-4 {\n width: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-5 {\n width: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-8 {\n width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-fit {\n width: fit-content;\n}\n\n#retorik-container.rf-large .large\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/2 {\n min-width: 50%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/8 {\n min-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-16 {\n min-width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-8 {\n min-width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-1\\/8 {\n max-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-full {\n max-width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large .large\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large .large\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large .large\\:rf-items-baseline {\n align-items: baseline;\n}\n\n#retorik-container.rf-large .large\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-1 {\n gap: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-3 {\n gap: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n#retorik-container.rf-large .large\\:rf-border-t-0 {\n border-top-width: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n#retorik-container.rf-large .large\\:rf-p-4 {\n padding: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n#retorik-container.rf-large .large\\:rf-p-min1 {\n padding: .1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-5, #retorik-container.rf-large .large\\:rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pb-16 {\n padding-bottom: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-4 {\n padding-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-12 {\n padding-right: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-4 {\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-16 {\n padding-top: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-uppercase {\n text-transform: uppercase;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-pt-1\\/5 {\n padding-top: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-right-9 {\n right: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-top-4 {\n top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-2 {\n grid-column-start: 2;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-8 {\n grid-column-end: 8;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-ml-1\\/5 {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mr-1\\/5 {\n margin-right: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-4 {\n margin-top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[25vh\\] {\n margin-top: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-1\\/2 {\n height: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-14 {\n height: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-24 {\n height: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-\\[50vh\\] {\n height: 50vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-11\\/12 {\n max-height: 91.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-36 {\n max-height: 9rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[18vh\\] {\n max-height: 18vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[30vh\\] {\n max-height: 30vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-h-10 {\n min-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-1\\/2 {\n width: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-24 {\n width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-3\\/5 {\n width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-14 {\n min-width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-24 {\n min-width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-3\\/5 {\n min-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-2\\/3 {\n max-width: 66.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[60\\%\\] {\n max-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-self-start {\n align-self: flex-start;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t {\n border-top-width: 1px;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-5 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pl-0 {\n padding-left: 0;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-48 {\n padding-top: 12rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-8 {\n padding-top: 2rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[16\\.67\\%\\] {\n padding-top: 16.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[20vh\\] {\n padding-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-text-basecustomuppercase {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-3 {\n grid-column-start: 3;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-4 {\n grid-column-start: 4;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-mt-4 {\n margin-top: -1rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-ml-1\\/5 {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-mr-40 {\n margin-right: 10rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[48\\%\\] {\n width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[calc\\(80\\%-10rem\\)\\] {\n width: calc(80% - 10rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-min-w-\\[48\\%\\] {\n min-width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-max-w-\\[calc\\(\\(80\\%-10rem\\)\\*0\\.75\\)\\] {\n max-width: calc(60% - 7.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-translate-x-1\\/4 {\n --tw-translate-x: -25%;\n 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));\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-items-start {\n align-items: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-self-end {\n align-self: flex-end;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-self-start {\n justify-self: start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pl-1\\/5 {\n padding-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pl-\\[calc\\(50\\%-2\\.5rem\\)\\] {\n padding-left: calc(50% - 2.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pr-40 {\n padding-right: 10rem;\n}\n\n#retorik-container.rf-mobile .mobile\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-w-28 {\n width: 7rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pr-24 {\n padding-right: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-min-h-20 {\n min-height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-w-40 {\n width: 10rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-p-5 {\n padding: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pl-32 {\n padding-left: 8rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pr-56 {\n padding-right: 14rem;\n}\n\n.ltr\\:rf-left-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: .25rem;\n}\n\n.ltr\\:rf-col-start-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n grid-column-start: 1;\n}\n\n.ltr\\:rf-ml-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 1rem;\n}\n\n.ltr\\:rf-self-end:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n align-self: flex-end;\n}\n\n.ltr\\:rf-pr-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-right: .5rem;\n}\n\n.ltr\\:rf-text-left:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: left;\n}\n\n.ltr\\:rf-text-right:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: right;\n}\n\n.rtl\\:rf-right-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: .25rem;\n}\n\n.rtl\\:rf-col-end-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n grid-column-end: 1;\n}\n\n.rtl\\:rf-mr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 1rem;\n}\n\n.rtl\\:rf-self-start:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n align-self: flex-start;\n}\n\n.rtl\\:rf-pl-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-left: .5rem;\n}\n\n.rtl\\:rf-text-left:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: left;\n}\n\n.rtl\\:rf-text-right:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: right;\n}\n";
19107
+ $4b50e1d502fb5483$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n*, :before, :after {\n box-sizing: border-box;\n border: 0 solid;\n}\n\n:before, :after {\n --tw-content: \"\";\n}\n\nhtml, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n font-family: Calibri, sans-serif;\n line-height: 1.5;\n}\n\nbody {\n line-height: inherit;\n margin: 0;\n}\n\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\nb, strong {\n font-weight: bolder;\n}\n\ncode, kbd, samp, pre {\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\n\nbutton, input, optgroup, select, textarea {\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\nbutton, select {\n text-transform: none;\n}\n\nbutton, input:where([type=\"button\"]), input:where([type=\"reset\"]), input:where([type=\"submit\"]) {\n -webkit-appearance: button;\n background-color: #0000;\n background-image: none;\n}\n\n:-moz-focusring {\n outline: auto;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\nsummary {\n display: list-item;\n}\n\nblockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol, ul, menu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\ndialog {\n padding: 0;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder, textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton, [role=\"button\"] {\n cursor: pointer;\n}\n\n:disabled {\n cursor: default;\n}\n\nimg, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n.rf-pointer-events-none {\n pointer-events: none;\n}\n\n.rf-pointer-events-auto {\n pointer-events: auto;\n}\n\n.rf-visible {\n visibility: visible;\n}\n\n.rf-invisible {\n visibility: hidden;\n}\n\n.rf-fixed {\n position: fixed;\n}\n\n.rf-absolute {\n position: absolute;\n}\n\n.rf-relative {\n position: relative;\n}\n\n.-rf-left-6 {\n left: -1.5rem;\n}\n\n.-rf-top-2 {\n top: -.5rem;\n}\n\n.-rf-top-4 {\n top: -1rem;\n}\n\n.-rf-top-6 {\n top: -1.5rem;\n}\n\n.-rf-top-\\[1\\.15rem\\] {\n top: -1.15rem;\n}\n\n.rf-bottom-0 {\n bottom: 0;\n}\n\n.rf-bottom-1 {\n bottom: .25rem;\n}\n\n.rf-bottom-1\\/4 {\n bottom: 25%;\n}\n\n.rf-bottom-10 {\n bottom: 2.5rem;\n}\n\n.rf-bottom-2 {\n bottom: .5rem;\n}\n\n.rf-bottom-4 {\n bottom: 1rem;\n}\n\n.rf-bottom-8 {\n bottom: 2rem;\n}\n\n.rf-bottom-\\[calc\\(100\\%\\+2rem\\)\\] {\n bottom: calc(100% + 2rem);\n}\n\n.rf-left-0 {\n left: 0;\n}\n\n.rf-left-1 {\n left: .25rem;\n}\n\n.rf-left-1\\/2 {\n left: 50%;\n}\n\n.rf-left-12 {\n left: 3rem;\n}\n\n.rf-left-2 {\n left: .5rem;\n}\n\n.rf-left-4 {\n left: 1rem;\n}\n\n.rf-left-8 {\n left: 2rem;\n}\n\n.rf-left-\\[calc\\(100\\%\\+1rem\\)\\] {\n left: calc(100% + 1rem);\n}\n\n.rf-left-\\[calc\\(50\\%-3rem\\)\\] {\n left: calc(50% - 3rem);\n}\n\n.rf-right-0 {\n right: 0;\n}\n\n.rf-right-1 {\n right: .25rem;\n}\n\n.rf-right-10 {\n right: 2.5rem;\n}\n\n.rf-right-12 {\n right: 3rem;\n}\n\n.rf-right-2 {\n right: .5rem;\n}\n\n.rf-right-3 {\n right: .75rem;\n}\n\n.rf-right-4 {\n right: 1rem;\n}\n\n.rf-right-6 {\n right: 1.5rem;\n}\n\n.rf-right-8 {\n right: 2rem;\n}\n\n.rf-right-9 {\n right: 2.25rem;\n}\n\n.rf-right-\\[calc\\(100\\%\\+1rem\\)\\] {\n right: calc(100% + 1rem);\n}\n\n.rf-top-0 {\n top: 0;\n}\n\n.rf-top-1 {\n top: .25rem;\n}\n\n.rf-top-1\\/2 {\n top: 50%;\n}\n\n.rf-top-1\\/3 {\n top: 33.3333%;\n}\n\n.rf-top-110 {\n top: 110%;\n}\n\n.rf-top-2 {\n top: .5rem;\n}\n\n.rf-top-4 {\n top: 1rem;\n}\n\n.rf-top-8 {\n top: 2rem;\n}\n\n.rf-top-\\[0\\.125rem\\] {\n top: .125rem;\n}\n\n.rf-top-\\[calc\\(100\\%\\+1rem\\)\\] {\n top: calc(100% + 1rem);\n}\n\n.rf-top-\\[calc\\(50\\%-3rem\\)\\] {\n top: calc(50% - 3rem);\n}\n\n.rf-z-\\[10\\] {\n z-index: 10;\n}\n\n.rf-z-\\[15\\] {\n z-index: 15;\n}\n\n.rf-z-\\[1\\] {\n z-index: 1;\n}\n\n.rf-z-\\[20\\] {\n z-index: 20;\n}\n\n.rf-z-\\[25\\] {\n z-index: 25;\n}\n\n.rf-z-\\[2\\] {\n z-index: 2;\n}\n\n.rf-z-\\[5\\] {\n z-index: 5;\n}\n\n.rf-z-agent {\n z-index: 1;\n}\n\n.rf-z-background {\n z-index: 0;\n}\n\n.rf-z-chatbot {\n z-index: 10;\n}\n\n.rf-z-detailedPOI {\n z-index: 31;\n}\n\n.rf-z-dropdown {\n z-index: 30;\n}\n\n.rf-z-exitwidget {\n z-index: 55;\n}\n\n.rf-z-list {\n z-index: 30;\n}\n\n.rf-z-menu {\n z-index: 40;\n}\n\n.rf-z-modal {\n z-index: 50;\n}\n\n.rf-z-overlay {\n z-index: 40;\n}\n\n.rf-z-ui {\n z-index: 20;\n}\n\n.rf-z-util {\n z-index: 2;\n}\n\n.rf-col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.rf-col-span-3 {\n grid-column: span 3 / span 3;\n}\n\n.rf-col-span-4 {\n grid-column: span 4 / span 4;\n}\n\n.rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n.rf-col-start-1 {\n grid-column-start: 1;\n}\n\n.rf-col-start-3 {\n grid-column-start: 3;\n}\n\n.rf-col-start-4 {\n grid-column-start: 4;\n}\n\n.rf-col-start-5 {\n grid-column-start: 5;\n}\n\n.rf-col-end-13 {\n grid-column-end: 13;\n}\n\n.rf-col-end-2 {\n grid-column-end: 2;\n}\n\n.rf-col-end-9 {\n grid-column-end: 9;\n}\n\n.rf-row-span-1 {\n grid-row: span 1 / span 1;\n}\n\n.rf-row-span-2 {\n grid-row: span 2 / span 2;\n}\n\n.rf-row-span-full {\n grid-row: 1 / -1;\n}\n\n.rf-row-start-1 {\n grid-row-start: 1;\n}\n\n.rf-row-start-12 {\n grid-row-start: 12;\n}\n\n.rf-row-end-13 {\n grid-row-end: 13;\n}\n\n.rf-row-end-3 {\n grid-row-end: 3;\n}\n\n.rf-float-right {\n float: right;\n}\n\n.rf-m-0 {\n margin: 0;\n}\n\n.rf-m-4 {\n margin: 1rem;\n}\n\n.rf-m-auto {\n margin: auto;\n}\n\n.-rf-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n\n.-rf-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n}\n\n.rf-mx-0 {\n margin-left: 0;\n margin-right: 0;\n}\n\n.rf-mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n}\n\n.rf-mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n}\n\n.rf-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.rf-mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.rf-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.rf-my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.rf-my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.rf-my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.rf-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.-rf-mb-4 {\n margin-bottom: -1rem;\n}\n\n.rf-mb-0 {\n margin-bottom: 0;\n}\n\n.rf-mb-1 {\n margin-bottom: .25rem;\n}\n\n.rf-mb-12 {\n margin-bottom: 3rem;\n}\n\n.rf-mb-16 {\n margin-bottom: 4rem;\n}\n\n.rf-mb-2 {\n margin-bottom: .5rem;\n}\n\n.rf-mb-26 {\n margin-bottom: 6.5rem;\n}\n\n.rf-mb-28 {\n margin-bottom: 7rem;\n}\n\n.rf-mb-3 {\n margin-bottom: .75rem;\n}\n\n.rf-mb-30 {\n margin-bottom: 7.5rem;\n}\n\n.rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n.rf-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.rf-mb-8 {\n margin-bottom: 2rem;\n}\n\n.rf-ml-1 {\n margin-left: .25rem;\n}\n\n.rf-ml-2 {\n margin-left: .5rem;\n}\n\n.rf-ml-4 {\n margin-left: 1rem;\n}\n\n.rf-ml-6 {\n margin-left: 1.5rem;\n}\n\n.rf-mr-1 {\n margin-right: .25rem;\n}\n\n.rf-mr-2 {\n margin-right: .5rem;\n}\n\n.rf-mr-3 {\n margin-right: .75rem;\n}\n\n.rf-mr-4 {\n margin-right: 1rem;\n}\n\n.rf-mr-5 {\n margin-right: 1.25rem;\n}\n\n.rf-mt-1 {\n margin-top: .25rem;\n}\n\n.rf-mt-10 {\n margin-top: 2.5rem;\n}\n\n.rf-mt-2 {\n margin-top: .5rem;\n}\n\n.rf-mt-4 {\n margin-top: 1rem;\n}\n\n.rf-mt-5 {\n margin-top: 1.25rem;\n}\n\n.rf-mt-8 {\n margin-top: 2rem;\n}\n\n.rf-mt-\\[0\\.2rem\\] {\n margin-top: .2rem;\n}\n\n.rf-mt-auto {\n margin-top: auto;\n}\n\n.rf-box-border {\n box-sizing: border-box;\n}\n\n.rf-line-clamp-1 {\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-inline {\n display: inline;\n}\n\n.rf-flex {\n display: flex;\n}\n\n.rf-grid {\n display: grid;\n}\n\n.rf-hidden {\n display: none;\n}\n\n.rf-aspect-\\[4\\/3\\] {\n aspect-ratio: 4 / 3;\n}\n\n.rf-aspect-square {\n aspect-ratio: 1;\n}\n\n.rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n.rf-h-0 {\n height: 0;\n}\n\n.rf-h-1\\/2 {\n height: 50%;\n}\n\n.rf-h-1\\/3 {\n height: 33.3333%;\n}\n\n.rf-h-10 {\n height: 2.5rem;\n}\n\n.rf-h-12 {\n height: 3rem;\n}\n\n.rf-h-14 {\n height: 3.5rem;\n}\n\n.rf-h-16 {\n height: 4rem;\n}\n\n.rf-h-18 {\n height: 4.5rem;\n}\n\n.rf-h-2 {\n height: .5rem;\n}\n\n.rf-h-2\\/3 {\n height: 66.6667%;\n}\n\n.rf-h-2\\/5 {\n height: 40%;\n}\n\n.rf-h-24 {\n height: 6rem;\n}\n\n.rf-h-3 {\n height: .75rem;\n}\n\n.rf-h-3\\/10 {\n height: 30%;\n}\n\n.rf-h-32 {\n height: 8rem;\n}\n\n.rf-h-36 {\n height: 9rem;\n}\n\n.rf-h-4 {\n height: 1rem;\n}\n\n.rf-h-48 {\n height: 12rem;\n}\n\n.rf-h-5 {\n height: 1.25rem;\n}\n\n.rf-h-6 {\n height: 1.5rem;\n}\n\n.rf-h-7 {\n height: 1.75rem;\n}\n\n.rf-h-8 {\n height: 2rem;\n}\n\n.rf-h-9 {\n height: 2.25rem;\n}\n\n.rf-h-\\[0\\.875rem\\] {\n height: .875rem;\n}\n\n.rf-h-\\[1\\.25rem\\] {\n height: 1.25rem;\n}\n\n.rf-h-\\[35\\%\\] {\n height: 35%;\n}\n\n.rf-h-\\[50\\%\\] {\n height: 50%;\n}\n\n.rf-h-\\[calc\\(50vw-3rem\\)\\] {\n height: calc(50vw - 3rem);\n}\n\n.rf-h-fit {\n height: fit-content;\n}\n\n.rf-h-full {\n height: 100%;\n}\n\n.rf-h-max {\n height: max-content;\n}\n\n.rf-h-screen {\n height: 100vh;\n}\n\n.rf-max-h-12 {\n max-height: 3rem;\n}\n\n.rf-max-h-16 {\n max-height: 4rem;\n}\n\n.rf-max-h-20 {\n max-height: 5rem;\n}\n\n.rf-max-h-28 {\n max-height: 7rem;\n}\n\n.rf-max-h-4\\/5 {\n max-height: 80%;\n}\n\n.rf-max-h-48 {\n max-height: 12rem;\n}\n\n.rf-max-h-6 {\n max-height: 1.5rem;\n}\n\n.rf-max-h-8 {\n max-height: 2rem;\n}\n\n.rf-max-h-80 {\n max-height: 20rem;\n}\n\n.rf-max-h-full {\n max-height: 100%;\n}\n\n.rf-max-h-qrcode {\n max-height: 120px;\n}\n\n.rf-max-h-qrcodelarge {\n max-height: 200px;\n}\n\n.rf-max-h-screen {\n max-height: 100vh;\n}\n\n.rf-min-h-12 {\n min-height: 3rem;\n}\n\n.rf-min-h-14 {\n min-height: 3.5rem;\n}\n\n.rf-min-h-16 {\n min-height: 4rem;\n}\n\n.rf-min-h-2\\/5 {\n min-height: 40%;\n}\n\n.rf-min-h-6 {\n min-height: 1.5rem;\n}\n\n.rf-min-h-8 {\n min-height: 2rem;\n}\n\n.rf-min-h-9 {\n min-height: 2.25rem;\n}\n\n.rf-min-h-fit {\n min-height: fit-content;\n}\n\n.rf-min-h-full {\n min-height: 100%;\n}\n\n.rf-min-h-inherit {\n min-height: inherit;\n}\n\n.rf-w-0 {\n width: 0;\n}\n\n.rf-w-1\\/2 {\n width: 50%;\n}\n\n.rf-w-1\\/3 {\n width: 33.3333%;\n}\n\n.rf-w-1\\/4 {\n width: 25%;\n}\n\n.rf-w-10 {\n width: 2.5rem;\n}\n\n.rf-w-12 {\n width: 3rem;\n}\n\n.rf-w-16 {\n width: 4rem;\n}\n\n.rf-w-18 {\n width: 4.5rem;\n}\n\n.rf-w-2 {\n width: .5rem;\n}\n\n.rf-w-2\\/3 {\n width: 66.6667%;\n}\n\n.rf-w-20 {\n width: 5rem;\n}\n\n.rf-w-24 {\n width: 6rem;\n}\n\n.rf-w-3 {\n width: .75rem;\n}\n\n.rf-w-3\\/20 {\n width: 15%;\n}\n\n.rf-w-3\\/4 {\n width: 75%;\n}\n\n.rf-w-3\\/5 {\n width: 60%;\n}\n\n.rf-w-32 {\n width: 8rem;\n}\n\n.rf-w-36 {\n width: 9rem;\n}\n\n.rf-w-4 {\n width: 1rem;\n}\n\n.rf-w-48 {\n width: 12rem;\n}\n\n.rf-w-5 {\n width: 1.25rem;\n}\n\n.rf-w-6 {\n width: 1.5rem;\n}\n\n.rf-w-7 {\n width: 1.75rem;\n}\n\n.rf-w-8 {\n width: 2rem;\n}\n\n.rf-w-9 {\n width: 2.25rem;\n}\n\n.rf-w-\\[45\\%\\] {\n width: 45%;\n}\n\n.rf-w-\\[90\\%\\] {\n width: 90%;\n}\n\n.rf-w-\\[calc\\(100\\%-4rem\\)\\] {\n width: calc(100% - 4rem);\n}\n\n.rf-w-fit {\n width: fit-content;\n}\n\n.rf-w-full {\n width: 100%;\n}\n\n.rf-w-max {\n width: max-content;\n}\n\n.rf-w-screen {\n width: 100vw;\n}\n\n.rf-min-w-12 {\n min-width: 3rem;\n}\n\n.rf-min-w-24 {\n min-width: 6rem;\n}\n\n.rf-min-w-3\\/20 {\n min-width: 15%;\n}\n\n.rf-min-w-6 {\n min-width: 1.5rem;\n}\n\n.rf-min-w-7 {\n min-width: 1.75rem;\n}\n\n.rf-min-w-\\[45\\%\\] {\n min-width: 45%;\n}\n\n.rf-min-w-full {\n min-width: 100%;\n}\n\n.rf-max-w-1\\/2 {\n max-width: 50%;\n}\n\n.rf-max-w-16 {\n max-width: 4rem;\n}\n\n.rf-max-w-3\\/20 {\n max-width: 15%;\n}\n\n.rf-max-w-6 {\n max-width: 1.5rem;\n}\n\n.rf-max-w-7\\/10 {\n max-width: 70%;\n}\n\n.rf-max-w-\\[100vw\\] {\n max-width: 100vw;\n}\n\n.rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n.rf-max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.rf-max-w-\\[75\\%\\] {\n max-width: 75%;\n}\n\n.rf-max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n}\n\n.rf-max-w-full {\n max-width: 100%;\n}\n\n.rf-max-w-none {\n max-width: none;\n}\n\n.rf-flex-1 {\n flex: 1;\n}\n\n.rf-flex-\\[0_0_40\\%\\] {\n flex: 0 0 40%;\n}\n\n.rf-flex-\\[2_1_0\\%\\] {\n flex: 2;\n}\n\n.rf-flex-\\[4_1_0\\%\\] {\n flex: 4;\n}\n\n.rf-border-collapse {\n border-collapse: collapse;\n}\n\n.rf-origin-center {\n transform-origin: center;\n}\n\n.-rf-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n 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));\n}\n\n.-rf-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n 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));\n}\n\n.-rf-translate-y-full {\n --tw-translate-y: -100%;\n 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));\n}\n\n.rf--translate-x-1\\/2 {\n --tw-translate-x: -50%;\n 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));\n}\n\n.rf-translate-x-1 {\n --tw-translate-x: .25rem;\n 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));\n}\n\n.rf-translate-x-5 {\n --tw-translate-x: 1.25rem;\n 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));\n}\n\n.rf-rotate-0 {\n --tw-rotate: 0deg;\n 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));\n}\n\n.rf-rotate-180 {\n --tw-rotate: 180deg;\n 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));\n}\n\n.rf-scale-0 {\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n 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));\n}\n\n.rf-transform {\n 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));\n}\n\n@keyframes rf-blink {\n 0%, 100% {\n opacity: .2;\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.rf-animate-blink {\n animation: 1.4s infinite both rf-blink;\n}\n\n@keyframes rf-fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.rf-animate-fadeIn {\n animation: .5s .2s backwards rf-fadeIn;\n}\n\n@keyframes rf-hScroll {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(calc(-100% - 2rem));\n }\n}\n\n.rf-animate-hScroll {\n animation: 20s linear infinite rf-hScroll;\n}\n\n@keyframes rf-loader {\n 0% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 1.5rem 0 -.3rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 1.5rem 0 -1.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loader {\n animation: 1.8s ease-in-out -.16s infinite both rf-loader;\n}\n\n.rf-animate-loaderFadeIn {\n animation: 2s rf-fadeIn;\n}\n\n@keyframes rf-fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.rf-animate-loaderFadeOut {\n animation: 1s rf-fadeOut;\n}\n\n@keyframes rf-loaderMedium {\n 0% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .75rem 0 -.25rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .75rem 0 -.75rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMedium {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMedium;\n}\n\n@keyframes rf-loaderMini {\n 0% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 40% {\n box-shadow: 0 .5rem 0 -.1rem var(--rf-color-loader-animation);\n }\n\n 80% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n\n 100% {\n box-shadow: 0 .5rem 0 -.5rem var(--rf-color-loader-animation);\n }\n}\n\n.rf-animate-loaderMini {\n animation: 1.8s ease-in-out -.16s infinite both rf-loaderMini;\n}\n\n@keyframes rf-slideBottom {\n 0% {\n opacity: 0;\n transform: translateX(0)translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0)translateY(0);\n }\n}\n\n.rf-animate-slideBottom {\n animation: .5s .2s backwards rf-slideBottom;\n}\n\n@keyframes rf-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.rf-animate-spin {\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-cursor-pointer {\n cursor: pointer;\n}\n\n.rf-select-none {\n user-select: none;\n}\n\n.rf-resize-none {\n resize: none;\n}\n\n.rf-scroll-pb-4 {\n scroll-padding-bottom: 1rem;\n}\n\n.rf-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.rf-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.rf-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,30\\%\\)\\] {\n grid-template-columns: repeat(2, 30%);\n}\n\n.rf-grid-cols-\\[repeat\\(2\\,45\\%\\)\\] {\n grid-template-columns: repeat(2, 45%);\n}\n\n.rf-grid-cols-\\[repeat\\(3\\,31\\%\\)\\] {\n grid-template-columns: repeat(3, 31%);\n}\n\n.rf-grid-cols-headerContainer {\n grid-template-columns: 5rem 1rem 1fr 1fr;\n}\n\n.rf-grid-cols-printingPreview {\n grid-template-columns: minmax(0, 1fr) 3rem;\n}\n\n.rf-grid-cols-routes {\n grid-template-columns: repeat(3, max-content);\n}\n\n.rf-grid-rows-1 {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n}\n\n.rf-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n\n.rf-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n\n.rf-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n\n.rf-grid-rows-container {\n grid-template-rows: repeat(12, minmax(0, 1fr));\n}\n\n.rf-grid-rows-headerContainer {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n\n.rf-flex-row {\n flex-direction: row;\n}\n\n.rf-flex-col {\n flex-direction: column;\n}\n\n.rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.rf-flex-wrap {\n flex-wrap: wrap;\n}\n\n.rf-flex-nowrap {\n flex-wrap: nowrap;\n}\n\n.rf-content-around {\n align-content: space-around;\n}\n\n.rf-items-start {\n align-items: flex-start;\n}\n\n.rf-items-end {\n align-items: flex-end;\n}\n\n.rf-items-center {\n align-items: center;\n}\n\n.rf-justify-start {\n justify-content: flex-start;\n}\n\n.rf-justify-end {\n justify-content: flex-end;\n}\n\n.rf-justify-center {\n justify-content: center;\n}\n\n.rf-justify-between {\n justify-content: space-between;\n}\n\n.rf-justify-around {\n justify-content: space-around;\n}\n\n.rf-justify-evenly {\n justify-content: space-evenly;\n}\n\n.rf-gap-1 {\n gap: .25rem;\n}\n\n.rf-gap-12 {\n gap: 3rem;\n}\n\n.rf-gap-2 {\n gap: .5rem;\n}\n\n.rf-gap-3 {\n gap: .75rem;\n}\n\n.rf-gap-4 {\n gap: 1rem;\n}\n\n.rf-gap-5 {\n gap: 1.25rem;\n}\n\n.rf-gap-6 {\n gap: 1.5rem;\n}\n\n.rf-gap-8 {\n gap: 2rem;\n}\n\n.rf-gap-9 {\n gap: 2.25rem;\n}\n\n.rf-gap-\\[10\\%\\] {\n gap: 10%;\n}\n\n.rf-gap-x-\\[3\\.5\\%\\] {\n column-gap: 3.5%;\n}\n\n.rf-divide-x > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-x-reverse: 0;\n border-right-width: calc(1px * var(--tw-divide-x-reverse));\n border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n}\n\n.rf-self-auto {\n align-self: auto;\n}\n\n.rf-self-start {\n align-self: flex-start;\n}\n\n.rf-self-end {\n align-self: flex-end;\n}\n\n.rf-self-center {\n align-self: center;\n}\n\n.rf-justify-self-start {\n justify-self: start;\n}\n\n.rf-justify-self-end {\n justify-self: end;\n}\n\n.rf-justify-self-center {\n justify-self: center;\n}\n\n.rf-overflow-hidden {\n overflow: hidden;\n}\n\n.rf-overflow-clip {\n overflow: clip;\n}\n\n.rf-overflow-y-auto {\n overflow-y: auto;\n}\n\n.rf-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rf-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.rf-overflow-y-clip {\n overflow-y: clip;\n}\n\n.rf-overflow-x-visible {\n overflow-x: visible;\n}\n\n.rf-overflow-y-visible {\n overflow-y: visible;\n}\n\n.rf-overflow-x-scroll {\n overflow-x: scroll;\n}\n\n.rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n.rf-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.rf-whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rf-whitespace-break-spaces {\n white-space: break-spaces;\n}\n\n.rf-rounded {\n border-radius: .3125rem;\n}\n\n.rf-rounded-6 {\n border-radius: 1.5rem;\n}\n\n.rf-rounded-8 {\n border-radius: 2rem;\n}\n\n.rf-rounded-\\[20px\\] {\n border-radius: 20px;\n}\n\n.rf-rounded-half {\n border-radius: 50%;\n}\n\n.rf-rounded-lg {\n border-radius: .5rem;\n}\n\n.rf-rounded-max {\n border-radius: 100%;\n}\n\n.rf-rounded-b {\n border-bottom-right-radius: .3125rem;\n border-bottom-left-radius: .3125rem;\n}\n\n.rf-rounded-b-4 {\n border-bottom-right-radius: 1rem;\n border-bottom-left-radius: 1rem;\n}\n\n.rf-rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n}\n\n.rf-rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n}\n\n.rf-rounded-tl-4 {\n border-top-left-radius: 1rem;\n}\n\n.rf-rounded-tr-4 {\n border-top-right-radius: 1rem;\n}\n\n.rf-border {\n border-width: 1px;\n}\n\n.rf-border-0 {\n border-width: 0;\n}\n\n.rf-border-2 {\n border-width: 2px;\n}\n\n.rf-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rf-border-b {\n border-bottom-width: 1px;\n}\n\n.rf-border-b-2 {\n border-bottom-width: 2px;\n}\n\n.rf-border-l {\n border-left-width: 1px;\n}\n\n.rf-border-r {\n border-right-width: 1px;\n}\n\n.rf-border-t {\n border-top-width: 1px;\n}\n\n.rf-border-t-0 {\n border-top-width: 0;\n}\n\n.rf-border-none {\n border-style: none;\n}\n\n.rf-border-\\[\\#00000029\\] {\n border-color: #00000029;\n}\n\n.rf-border-\\[\\#1999B1\\] {\n --tw-border-opacity: 1;\n border-color: rgb(25 153 177 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#707070\\] {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#9FA2AA\\] {\n --tw-border-opacity: 1;\n border-color: rgb(159 162 170 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#C7C6C6\\] {\n --tw-border-opacity: 1;\n border-color: rgb(199 198 198 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-\\[\\#F0F0F0\\] {\n --tw-border-opacity: 1;\n border-color: rgb(240 240 240 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-black {\n border-color: var(--rf-color-black);\n}\n\n.rf-border-cardButtonBorderDefault {\n border-color: var(--rf-color-cardButtonBorderDefault);\n}\n\n.rf-border-cardButtonBorderHover {\n border-color: var(--rf-color-cardButtonBorderHover);\n}\n\n.rf-border-cardFrameBorder {\n border-color: var(--rf-color-cardFrameBorder);\n}\n\n.rf-border-formInputButtonBorderDefault {\n border-color: var(--rf-color-formInputButtonBorderDefault);\n}\n\n.rf-border-formInputButtonBorderHover {\n border-color: var(--rf-color-formInputButtonBorderHover);\n}\n\n.rf-border-formInputRadioCheckboxCheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-border-formInputRadioCheckboxUncheckedBorder {\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n}\n\n.rf-border-gray {\n --tw-border-opacity: 1;\n border-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-lightgray {\n --tw-border-opacity: 1;\n border-color: rgb(129 129 129 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-menuBorder {\n --tw-border-opacity: 1;\n border-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-primary {\n border-color: var(--rf-color-primary);\n}\n\n.rf-border-secondary {\n border-color: var(--rf-color-secondary);\n}\n\n.rf-border-templateCheckboxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(112 112 112 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textBoxBorder {\n --tw-border-opacity: 1;\n border-color: rgb(190 190 190 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-textModePanelBackgroundBot {\n border-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-border-textModePanelBackgroundUser {\n border-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-border-trueblack {\n --tw-border-opacity: 1;\n border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-truewhite {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-x-primary {\n border-left-color: var(--rf-color-primary);\n border-right-color: var(--rf-color-primary);\n}\n\n.rf-border-y-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-\\[\\#C4C5C8\\] {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(196 197 200 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-black {\n border-bottom-color: var(--rf-color-black);\n}\n\n.rf-border-b-menuBorder {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-silver {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-b-transparent {\n border-bottom-color: #0000;\n}\n\n.rf-border-l-menuBorder {\n --tw-border-opacity: 1;\n border-left-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-right-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-r-silver {\n --tw-border-opacity: 1;\n border-right-color: rgb(192 192 192 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#8B8888\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(139 136 136 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-\\[\\#CBC9C9\\] {\n --tw-border-opacity: 1;\n border-top-color: rgb(203 201 201 / var(--tw-border-opacity, 1));\n}\n\n.rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n.rf-bg-\\[\\#00000050\\] {\n background-color: #00000050;\n}\n\n.rf-bg-\\[\\#000000B3\\] {\n background-color: #000000b3;\n}\n\n.rf-bg-\\[\\#121212F2\\] {\n background-color: #121212f2;\n}\n\n.rf-bg-\\[\\#1999B1\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F0F0F0\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-\\[\\#F8F8F8\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(248 248 248 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-black {\n background-color: var(--rf-color-black);\n}\n\n.rf-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-cardButtonBackgroundDefault {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n}\n\n.rf-bg-cardButtonBackgroundHover {\n background-color: var(--rf-color-cardButtonBackgroundHover);\n}\n\n.rf-bg-cardFrameBackground {\n background-color: var(--rf-color-cardFrameBackground);\n}\n\n.rf-bg-formInputButtonBackgroundDefault {\n background-color: var(--rf-color-formInputButtonBackgroundDefault);\n}\n\n.rf-bg-formInputButtonBackgroundHover {\n background-color: var(--rf-color-formInputButtonBackgroundHover);\n}\n\n.rf-bg-formInputRadioCheckboxUncheckedBackground {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-bg-gray {\n --tw-bg-opacity: 1;\n background-color: rgb(128 128 128 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-primary {\n background-color: var(--rf-color-primary);\n}\n\n.rf-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-secondary {\n background-color: var(--rf-color-secondary);\n}\n\n.rf-bg-silver {\n --tw-bg-opacity: 1;\n background-color: rgb(192 192 192 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateBackground {\n --tw-bg-opacity: 1;\n background-color: rgb(241 241 241 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-templateEmptyCard {\n --tw-bg-opacity: 1;\n background-color: rgb(232 231 231 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-textModePanelBackgroundBot {\n background-color: var(--rf-color-textModePanelBackgroundBot);\n}\n\n.rf-bg-textModePanelBackgroundUser {\n background-color: var(--rf-color-textModePanelBackgroundUser);\n}\n\n.rf-bg-transparent {\n background-color: #0000;\n}\n\n.rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-vocalModeSubtitlesBackground {\n background-color: var(--rf-color-vocalModeSubtitlesBackground);\n}\n\n.rf-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(247 243 246 / var(--tw-bg-opacity, 1));\n}\n\n.rf-bg-opacity-30 {\n --tw-bg-opacity: .3;\n}\n\n.rf-bg-opacity-50 {\n --tw-bg-opacity: .5;\n}\n\n.rf-bg-opacity-80 {\n --tw-bg-opacity: .8;\n}\n\n.rf-object-cover {\n object-fit: cover;\n}\n\n.rf-p-0 {\n padding: 0;\n}\n\n.rf-p-1 {\n padding: .25rem;\n}\n\n.rf-p-2 {\n padding: .5rem;\n}\n\n.rf-p-3 {\n padding: .75rem;\n}\n\n.rf-p-4 {\n padding: 1rem;\n}\n\n.rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n.rf-p-\\[7px_12px\\] {\n padding: 7px 12px;\n}\n\n.rf-px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n}\n\n.rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.rf-px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.rf-px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.rf-px-48 {\n padding-left: 12rem;\n padding-right: 12rem;\n}\n\n.rf-px-5, .rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.rf-py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.rf-py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.rf-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.rf-py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.rf-pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.rf-pb-12 {\n padding-bottom: 3rem;\n}\n\n.rf-pb-14 {\n padding-bottom: 3.5rem;\n}\n\n.rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n.rf-pb-24 {\n padding-bottom: 6rem;\n}\n\n.rf-pb-3 {\n padding-bottom: .75rem;\n}\n\n.rf-pb-4 {\n padding-bottom: 1rem;\n}\n\n.rf-pb-5, .rf-pb-6 {\n padding-bottom: 1.5rem;\n}\n\n.rf-pb-8 {\n padding-bottom: 2rem;\n}\n\n.rf-pb-\\[15vh\\] {\n padding-bottom: 15vh;\n}\n\n.rf-pl-0 {\n padding-left: 0;\n}\n\n.rf-pl-1 {\n padding-left: .25rem;\n}\n\n.rf-pl-2 {\n padding-left: .5rem;\n}\n\n.rf-pl-4 {\n padding-left: 1rem;\n}\n\n.rf-pl-6 {\n padding-left: 1.5rem;\n}\n\n.rf-pl-8 {\n padding-left: 2rem;\n}\n\n.rf-pr-1 {\n padding-right: .25rem;\n}\n\n.rf-pr-2 {\n padding-right: .5rem;\n}\n\n.rf-pr-4 {\n padding-right: 1rem;\n}\n\n.rf-pr-6 {\n padding-right: 1.5rem;\n}\n\n.rf-pt-1 {\n padding-top: .25rem;\n}\n\n.rf-pt-11\\/20 {\n padding-top: 55%;\n}\n\n.rf-pt-12 {\n padding-top: 3rem;\n}\n\n.rf-pt-14 {\n padding-top: 3.5rem;\n}\n\n.rf-pt-2 {\n padding-top: .5rem;\n}\n\n.rf-pt-24 {\n padding-top: 6rem;\n}\n\n.rf-pt-3 {\n padding-top: .75rem;\n}\n\n.rf-pt-4 {\n padding-top: 1rem;\n}\n\n.rf-pt-40 {\n padding-top: 10rem;\n}\n\n.rf-pt-6 {\n padding-top: 1.5rem;\n}\n\n.rf-pt-8 {\n padding-top: 2rem;\n}\n\n.rf-pt-\\[25vh\\] {\n padding-top: 25vh;\n}\n\n.rf-pt-\\[26vh\\] {\n padding-top: 26vh;\n}\n\n.rf-text-left {\n text-align: left;\n}\n\n.rf-text-center {\n text-align: center;\n}\n\n.rf-text-right {\n text-align: right;\n}\n\n.rf-text-justify {\n text-align: justify;\n}\n\n.rf-font-default {\n font-family: Calibri, sans-serif;\n}\n\n.rf-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.rf-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-8xl {\n font-size: 6rem;\n line-height: 1;\n}\n\n.rf-text-\\[0\\.5rem\\] {\n font-size: .5rem;\n}\n\n.rf-text-arabic {\n font-size: 1.125rem;\n line-height: 1.15rem;\n}\n\n.rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n.rf-text-lgcustom {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-text-sm\\/4 {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.rf-text-xs {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n.rf-text-xsl {\n font-size: .7rem;\n line-height: 1rem;\n}\n\n.rf-text-xsm {\n font-size: .6rem;\n}\n\n.rf-font-bold {\n font-weight: 600;\n}\n\n.rf-font-light {\n font-weight: 200;\n}\n\n.rf-font-medium {\n font-weight: 300;\n}\n\n.rf-font-semibold {\n font-weight: 400;\n}\n\n.rf-uppercase {\n text-transform: uppercase;\n}\n\n.rf-capitalize {\n text-transform: capitalize;\n}\n\n.rf-normal-case {\n text-transform: none;\n}\n\n.rf-italic {\n font-style: italic;\n}\n\n.rf-leading-4 {\n line-height: 1rem;\n}\n\n.rf-text-\\[\\#1999B1\\] {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#575F6B\\] {\n --tw-text-opacity: 1;\n color: rgb(87 95 107 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#9A9A9A\\] {\n --tw-text-opacity: 1;\n color: rgb(154 154 154 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-\\[\\#A4A7AF\\] {\n --tw-text-opacity: 1;\n color: rgb(164 167 175 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-black {\n color: var(--rf-color-black);\n}\n\n.rf-text-cardButtonTextDefault {\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-text-cardFrameText {\n color: var(--rf-color-cardFrameText);\n}\n\n.rf-text-formInputButtonTextDefault {\n color: var(--rf-color-formInputButtonTextDefault);\n}\n\n.rf-text-formInputButtonTextHover {\n color: var(--rf-color-formInputButtonTextHover);\n}\n\n.rf-text-formInputRadioCheckboxUncheckedBackground {\n color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n}\n\n.rf-text-formInputTextDefault {\n color: var(--rf-color-formInputTextDefault);\n}\n\n.rf-text-gray {\n --tw-text-opacity: 1;\n color: rgb(128 128 128 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-lightgray {\n --tw-text-opacity: 1;\n color: rgb(129 129 129 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-primary {\n color: var(--rf-color-primary);\n}\n\n.rf-text-secondary {\n color: var(--rf-color-secondary);\n}\n\n.rf-text-textModePanelConversationBot {\n color: var(--rf-color-textModePanelConversationBot);\n}\n\n.rf-text-textModePanelConversationUser {\n color: var(--rf-color-textModePanelConversationUser);\n}\n\n.rf-text-trueblack {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-truewhite {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-text-vocalModeSubtitlesText {\n color: var(--rf-color-vocalModeSubtitlesText);\n}\n\n.rf-text-white {\n --tw-text-opacity: 1;\n color: rgb(247 243 246 / var(--tw-text-opacity, 1));\n}\n\n.rf-underline {\n text-decoration-line: underline;\n}\n\n.rf-shadow-\\[-3px_-3px_10px_\\#00000099\\] {\n --tw-shadow: -3px -3px 10px #0009;\n --tw-shadow-colored: -3px -3px 10px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_15px_0_silver\\] {\n --tw-shadow: 0 0 15px 0 silver;\n --tw-shadow-colored: 0 0 15px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_20px_1px_\\#A4A7AF80\\] {\n --tw-shadow: 0 0 20px 1px #a4a7af80;\n --tw-shadow-colored: 0 0 20px 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 0 3px 6px #00000029;\n --tw-shadow-colored: 0 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#00000029\\] {\n --tw-shadow: 0 3px 6px #00000029;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_3px_6px_\\#606267\\] {\n --tw-shadow: 0 3px 6px #606267;\n --tw-shadow-colored: 0 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[0_6px_6px_\\#00000029\\] {\n --tw-shadow: 0 6px 6px #00000029;\n --tw-shadow-colored: 0 6px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[20px_3px_20px_\\#00000029\\] {\n --tw-shadow: 20px 3px 20px #00000029;\n --tw-shadow-colored: 20px 3px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_16px_\\#00000029\\] {\n --tw-shadow: 3px 3px 16px #00000029;\n --tw-shadow-colored: 3px 3px 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[3px_3px_6px_\\#00000029\\] {\n --tw-shadow: 3px 3px 6px #00000029;\n --tw-shadow-colored: 3px 3px 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_0_6px_\\#0000003B\\] {\n --tw-shadow: inset 0 0 6px #0000003b;\n --tw-shadow-colored: inset 0 0 6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-shadow-\\[inset_0_12px_12px_-12px_\\#00000029\\,inset_0_-12px_12px_-12px_\\#00000029\\] {\n --tw-shadow: inset 0 12px 12px -12px #00000029, inset 0 -12px 12px -12px #00000029;\n --tw-shadow-colored: inset 0 12px 12px -12px var(--tw-shadow-color), inset 0 -12px 12px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.rf-outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.rf-blur-background {\n --tw-blur: blur(var(--rf-blur-background));\n 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);\n}\n\n.rf-filter {\n 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);\n}\n\n.rf-transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.rf-text-shadow-black {\n text-shadow: 2px 0 5px #000, -2px 0 5px #000, 0 2px 5px #000, 0 -2px 5px #000;\n}\n\n.rf-capitalize-first:first-letter {\n text-transform: uppercase;\n}\n\nol {\n padding-left: 2rem;\n list-style-type: decimal;\n}\n\nul {\n padding-left: 2rem;\n list-style-type: disc;\n}\n\n#retorik-container.rf-portrait:not(.rf-large) .ac-image {\n max-width: 100px;\n}\n\n.rf-glass-background, #retorik-container.portrait .portrait\\:rf-glass-background {\n background-color: var(--rf-color-black);\n --tw-bg-opacity: .62;\n --tw-backdrop-blur: blur(8px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.rf-loader-bouncing-bot {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, var(--rf-color-textModePanelConversationBot) 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n}\n\n@keyframes rf-loaderBouncing {\n 20% {\n background-position: 0 0, 50%, 100%;\n }\n\n 40% {\n background-position: 0 100%, 50% 0, 100%;\n }\n\n 60% {\n background-position: 0%, 50% 100%, 100% 0;\n }\n\n 80% {\n background-position: 0%, 50%, 100% 100%;\n }\n}\n\n.rf-loader-bouncing-bot {\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n.rf-loader-bouncing-white {\n aspect-ratio: 2;\n --_g: no-repeat radial-gradient(circle closest-side, #fff 90%, transparent);\n background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;\n background-size: 33.3333% 50%;\n animation: 1s linear infinite rf-loaderBouncing;\n}\n\n@keyframes rf-loaderPulsation {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n transform: scale3d(1.1, 1.1, 1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rf-loader-pulsation {\n animation: 2s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderPulsation;\n}\n\n.rf-loader-pulsation:before {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n@keyframes rf-loaderRipple {\n 0% {\n opacity: 1;\n transform: scale3d(.75, .75, 1);\n }\n\n 100% {\n opacity: 0;\n transform: scale3d(1.5, 1.5, 1);\n }\n}\n\n.rf-loader-pulsation:before {\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) .4s infinite rf-loaderRipple;\n}\n\n.rf-loader-pulsation:after {\n content: \"\";\n background-color: var(--rf-color-secondary);\n z-index: -1;\n border-radius: 50%;\n width: 100%;\n height: 100%;\n animation: 2.4s cubic-bezier(.65, 0, .34, 1) infinite rf-loaderRipple;\n position: absolute;\n}\n\n.rf-loader:before {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loader;\n display: block;\n position: absolute;\n right: 1.5rem;\n}\n\n.rf-loader:after {\n content: \"\";\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n animation: 1.8s ease-in-out infinite both rf-loader;\n display: block;\n position: absolute;\n left: 1.5rem;\n}\n\n.rf-loader-medium:before {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n right: 1rem;\n}\n\n.rf-loader-medium:after {\n content: \"\";\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMedium;\n display: block;\n position: absolute;\n left: 1rem;\n}\n\n.rf-loader-mini:before {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out -.32s infinite both rf-loaderMini;\n display: block;\n position: absolute;\n right: .5rem;\n}\n\n.rf-loader-mini:after {\n content: \"\";\n border-radius: 50%;\n width: .5rem;\n height: .5rem;\n animation: 1.8s ease-in-out infinite both rf-loaderMini;\n display: block;\n position: absolute;\n left: .5rem;\n}\n\n.rf-loader-microphone:before, .rf-loader-microphone:after {\n content: \"\";\n --tw-border-opacity: 1;\n border: 6px solid #0000;\n border-top-color: rgb(128 128 128 / var(--tw-border-opacity, 1));\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-primary:before, .rf-loader-microphone-primary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-primary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-primary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-primary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-microphone-secondary:before, .rf-loader-microphone-secondary:after {\n content: \"\";\n border: 6px solid #0000;\n border-top-color: var(--rf-color-secondary);\n border-radius: 100%;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.rf-loader-microphone-secondary:before {\n z-index: 2;\n animation: 1s linear infinite rf-spin;\n}\n\n.rf-loader-microphone-secondary:after {\n --tw-border-opacity: 1;\n border-color: rgb(204 204 204 / var(--tw-border-opacity, 1));\n}\n\n.rf-loader-counter {\n border-width: 8px;\n border-color: var(--rf-color-primary);\n border-radius: 50%;\n position: relative;\n}\n\n@keyframes rf-loaderCounter {\n 0% {\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n\n 25% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n\n 50% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);\n }\n\n 75% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n\n 100% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n}\n\n.rf-loader-counter:before {\n border-width: 10px;\n border-color: var(--rf-color-cardFrameBackground);\n content: \"\";\n animation: rf-loaderCounter;\n animation-duration: var(--duration);\n border-radius: 50%;\n animation-timing-function: linear;\n position: absolute;\n inset: -9px;\n transform: rotate(45deg);\n}\n\n.rf-touch-action-none {\n touch-action: none;\n}\n\n.rf-unselectable {\n user-select: none;\n -webkit-touch-callout: none;\n}\n\n.rf-title-extralarge-bold-size-auto {\n font-size: 2.25rem;\n font-weight: 600;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-bold-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-extralarge-size-auto {\n font-size: 2.25rem;\n font-weight: 400;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-title-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-title-large-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-large-bold-size-auto {\n font-size: 1.875rem;\n font-weight: 600;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large .rf-title-large-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-large-bold-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n.rf-title-size-auto {\n font-size: 1.5rem;\n font-weight: 400;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-title-bold-size-auto {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-title-bold-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-title-bold-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-subtitle-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-subtitle-size-auto {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-subtitle-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.rf-text-extralarge-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n#retorik-container.rf-large .rf-text-extralarge-size-auto {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-extralarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n.rf-text-verylarge-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-verylarge-size-auto {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-verylarge-size-auto {\n font-size: 4.5rem;\n line-height: 1;\n}\n\n.rf-text-large-size-auto {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n#retorik-container.rf-large .rf-text-large-size-auto {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-large-size-auto {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.rf-text-medium-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .rf-text-medium-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-text-size-auto {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-text-size-auto {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-text-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large .rf-text-small-size-auto {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n.rf-text-extra-small-size-auto {\n font-size: .6rem;\n line-height: .75rem;\n}\n\n#retorik-container.rf-large .rf-text-extra-small-size-auto {\n font-size: .875rem;\n line-height: 1rem;\n}\n\n.rf-small-size-auto {\n font-size: .6rem;\n}\n\n#retorik-container.rf-large .rf-small-size-auto {\n font-size: .75rem;\n line-height: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-small-size-auto {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n.rf-line-clamp-unknown {\n hyphens: auto;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-1 {\n hyphens: auto;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-2 {\n hyphens: auto;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-3 {\n hyphens: auto;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-4 {\n hyphens: auto;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-5 {\n hyphens: auto;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-6 {\n hyphens: auto;\n -webkit-line-clamp: 6;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-7 {\n hyphens: auto;\n -webkit-line-clamp: 7;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-8 {\n hyphens: auto;\n -webkit-line-clamp: 8;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-9 {\n hyphens: auto;\n -webkit-line-clamp: 9;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-line-clamp-10 {\n hyphens: auto;\n -webkit-line-clamp: 10;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n}\n\n.rf-overflow-wrap {\n overflow-wrap: anywhere;\n}\n\n.rf-height-fill-available {\n height: stretch;\n}\n\n.rf-width-fill-available {\n width: stretch;\n}\n\n.rf-animation-delay-2 {\n animation-delay: .2s;\n}\n\n.rf-animation-delay-4 {\n animation-delay: .4s;\n}\n\n.rf-scrollbar-thin {\n scrollbar-width: thin;\n scrollbar-color: var(--rf-color-secondary) transparent;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar {\n width: .2rem;\n height: .2rem;\n margin: .25rem 0;\n}\n\n.rf-scrollbar-thin::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-secondary);\n border-radius: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar {\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 2rem;\n height: .5rem;\n}\n\n.rf-scrollbar-x-custom::-webkit-scrollbar-thumb {\n background-color: var(--rf-color-primary);\n border-radius: 2rem;\n}\n\n.rf-scrollbar-hidden {\n scrollbar-width: none;\n}\n\n.rf-scrollbar-hidden::-webkit-scrollbar {\n display: none;\n}\n\n.rf-opacity-gradient-b {\n -webkit-mask-image: linear-gradient(#000 50%, #0000 100%);\n}\n\n.rf-opacity-gradient-b-thin {\n -webkit-mask-image: linear-gradient(#797676 84%, #0000 100%);\n}\n\n.rf-opacity-gradient-l {\n -webkit-mask-image: linear-gradient(to left, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-l-thin {\n -webkit-mask-image: linear-gradient(to left, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-r {\n -webkit-mask-image: linear-gradient(to right, #000 75%, gray 80%, #0000 85%);\n}\n\n.rf-opacity-gradient-r-thin {\n -webkit-mask-image: linear-gradient(to right, #000 90%, gray 95%, #0000 100%);\n}\n\n.rf-opacity-gradient-h {\n -webkit-mask-image: linear-gradient(to right, #0000 0%, 6%, #000, 94%, #0000 100%);\n}\n\n.rf-card-button {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button {\n padding: .5rem 1rem;\n}\n\n.rf-card-button:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardButtonBackgroundHover);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-clicked {\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n border-width: 1px;\n border-color: #0000;\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-clicked {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.rf-card-button-positive {\n border-width: 1px;\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonTextDefault);\n color: var(--rf-color-cardFrameBackground);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-positive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-positive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-positive:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonTextDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-destructive {\n --tw-border-opacity: 1;\n border-width: 1px;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-destructive {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-destructive {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-destructive:hover {\n cursor: pointer;\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-secondary {\n border-width: 1px;\n border-color: var(--rf-color-secondary);\n color: var(--rf-color-secondary);\n background-color: #0000;\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-secondary {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-secondary {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-secondary:hover {\n cursor: pointer;\n border-color: var(--rf-color-secondary);\n background-color: var(--rf-color-secondary);\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.rf-card-button-discover {\n border-width: 1px;\n border-color: var(--rf-color-cardButtonDiscoverBorderDefault);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundDefault);\n color: var(--rf-color-cardButtonDiscoverTextDefault);\n border-radius: .3125rem;\n padding: .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-discover {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.rf-card-button-discover:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonDiscoverBorderHover);\n background-color: var(--rf-color-cardButtonDiscoverBackgroundHover);\n color: var(--rf-color-cardButtonDiscoverTextHover);\n}\n\n.rf-card-button-history {\n cursor: default;\n border-width: 1px;\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardButtonBackgroundDefault);\n color: var(--rf-color-cardButtonTextDefault);\n border-radius: .3125rem;\n padding: .25rem .5rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-history {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .rf-card-button-history {\n padding: .5rem 1rem;\n}\n\n.rf-card-button-mini, .rf-card-button-mini-selected, .rf-card-button-mini-disabled {\n background-color: var(--rf-color-cardFrameBackground);\n border-width: 1px;\n border-radius: .3125rem;\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .rf-card-button-mini, #retorik-container.rf-large .rf-card-button-mini-selected, #retorik-container.rf-large .rf-card-button-mini-disabled {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-card-button-mini, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-selected, #retorik-container.rf-large.rf-portrait .rf-card-button-mini-disabled {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n.rf-card-button-mini {\n border-color: var(--rf-color-cardButtonBorderDefault);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextDefault);\n}\n\n.rf-card-button-mini:hover {\n cursor: pointer;\n border-color: var(--rf-color-cardButtonBorderHover);\n background-color: var(--rf-color-cardFrameBackground);\n color: var(--rf-color-cardButtonTextHover);\n}\n\n.rf-card-button-mini-selected {\n border-color: var(--rf-color-cardFrameBackground);\n background-color: var(--rf-color-cardButtonBorderDefault);\n color: var(--rf-color-cardFrameBackground);\n}\n\n.lf-player-container {\n align-items: flex-end;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.rf-input-label {\n text-overflow: ellipsis;\n color: var(--rf-color-formInputTextDefault);\n margin-top: .1rem;\n margin-left: .75rem;\n overflow-x: hidden;\n}\n\n#retorik-container.rf-large .rf-input-label {\n margin-top: .25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-input-label {\n margin-top: .2rem;\n}\n\n.rf-radio-custom {\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: 50%;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n.rf-radio-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n#retorik-container.rf-large .rf-radio-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-radio-custom:before {\n content: \"\";\n --tw-scale-x: 0;\n --tw-scale-y: 0;\n width: .5rem;\n height: .5rem;\n 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));\n background-color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n#retorik-container.rf-large .rf-radio-custom:before {\n width: .75rem;\n height: .75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-radio-custom:before {\n width: 1rem;\n height: 1rem;\n}\n\n.rf-radio-custom:checked:before {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n 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));\n}\n\n.rf-input-hidden {\n appearance: none;\n margin: 0;\n}\n\n.rf-checkbox-custom {\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n place-content: center;\n width: 1.5rem;\n min-width: 1.5rem;\n height: 1.5rem;\n margin: 0;\n display: grid;\n}\n\n#retorik-container.rf-large .rf-checkbox-custom {\n width: 1.75rem;\n min-width: 1.75rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-checkbox-custom {\n width: 2rem;\n min-width: 2rem;\n height: 2rem;\n}\n\n.rf-checkbox-custom:checked {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.rf-toggle-custom {\n appearance: none;\n background-color: var(--rf-color-black);\n border-radius: 1.5rem;\n width: 3rem;\n min-width: 3rem;\n height: 1.5rem;\n margin: 0;\n position: relative;\n}\n\n.rf-toggle-custom:checked {\n background-color: var(--rf-color-primary);\n}\n\n#retorik-container.rf-large .rf-toggle-custom {\n border-radius: 1.75rem;\n width: 3.5rem;\n min-width: 3.5rem;\n height: 1.75rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom {\n border-radius: 2rem;\n width: 4rem;\n min-width: 4rem;\n height: 2rem;\n}\n\n.rf-toggle-custom:before {\n content: \"\";\n --tw-translate-x: 0px;\n width: 1rem;\n height: 1rem;\n 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));\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-radius: 50%;\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n position: absolute;\n top: .25rem;\n left: .25rem;\n}\n\n#retorik-container.rf-large .rf-toggle-custom:before {\n width: 1.25rem;\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:before {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.rf-toggle-custom:checked:before {\n --tw-translate-x: 1.5rem;\n 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));\n}\n\n#retorik-container.rf-large .rf-toggle-custom:checked:before {\n --tw-translate-x: 1.75rem;\n 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));\n}\n\n#retorik-container.rf-large.rf-portrait .rf-toggle-custom:checked:before {\n --tw-translate-x: 2rem;\n 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));\n}\n\n.rf-select-custom {\n appearance: none;\n border-width: 2px;\n border-color: var(--rf-color-formInputRadioCheckboxUncheckedBorder);\n background-color: var(--rf-color-formInputRadioCheckboxUncheckedBackground);\n border-radius: .3125rem;\n margin: 0;\n padding: 1rem;\n}\n\n.rf-select-custom:hover {\n cursor: pointer;\n}\n\n.rf-select-custom:focus-visible {\n border-color: var(--rf-color-formInputRadioCheckboxCheckedBorder);\n}\n\n.rf-slider-custom {\n -webkit-appearance: none;\n -moz-appearance: none;\n outline-offset: 2px;\n border-radius: .5rem;\n outline: 2px solid #0000;\n width: 100%;\n height: .25rem;\n display: block;\n position: relative;\n}\n\n.rf-slider-custom::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n}\n\n.rf-slider-custom::-moz-track {\n -moz-appearance: none;\n}\n\n.rf-slider-custom::-ms-track {\n appearance: none;\n}\n\n.rf-slider-custom::-webkit-slider-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-webkit-slider-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-moz-range-thumb {\n -webkit-appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-moz-range-thumb:hover {\n cursor: pointer;\n}\n\n.rf-slider-custom::-ms-thumb {\n appearance: none;\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n border-style: none;\n border-radius: 50%;\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -.2rem;\n}\n\n.rf-slider-custom::-ms-thumb:hover {\n cursor: pointer;\n}\n\n.rf-likert-custom {\n cursor: pointer;\n outline-offset: 2px;\n -webkit-text-stroke-width: 1px;\n -webkit-text-stroke-color: white;\n background-color: #0000;\n border-style: none;\n outline: 2px solid #0000;\n}\n\n.svgButtonMenu > svg * {\n fill: var(--fill);\n}\n\n.webchat__css-custom-properties {\n width: 100%;\n height: 100%;\n}\n\n.placeholder\\:rf-text-black::placeholder {\n color: var(--rf-color-black);\n}\n\n.placeholder\\:rf-opacity-100::placeholder {\n opacity: 1;\n}\n\n.hover\\:rf-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:rf-border-truewhite:hover {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\n}\n\n.hover\\:rf-bg-\\[\\#1999B1\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(25 153 177 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-bg-formInputRadioCheckboxCheckedBackground:hover {\n background-color: var(--rf-color-formInputRadioCheckboxCheckedBackground);\n}\n\n.hover\\:rf-bg-transparent:hover {\n background-color: #0000;\n}\n\n.hover\\:rf-bg-truewhite:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n.hover\\:rf-text-\\[\\#1999B1\\]:hover {\n --tw-text-opacity: 1;\n color: rgb(25 153 177 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-text-formInputRadioCheckboxCheckedItem:hover {\n color: var(--rf-color-formInputRadioCheckboxCheckedItem);\n}\n\n.hover\\:rf-text-truewhite:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n\n.hover\\:rf-shadow-\\[inset_0_0_12px_\\#00000029\\]:hover {\n --tw-shadow: inset 0 0 12px #00000029;\n --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-span-full {\n grid-column: 1 / -1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-row-end-13 {\n grid-row-end: 13;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-5\\/6 {\n width: 83.3333%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-9\\/10 {\n width: 90%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-items-center {\n align-items: center;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-overflow-x-auto {\n overflow-x: auto;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-border-r-0 {\n border-right-width: 0;\n}\n\n#retorik-container.rf-portrait .vertical\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large .large\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-top-8 {\n top: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-m-8 {\n margin: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-0 {\n margin-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-4 {\n margin-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-0 {\n margin-left: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-4 {\n margin-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-ml-8 {\n margin-left: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-3 {\n margin-right: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mr-30 {\n margin-right: 7.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-20 {\n margin-top: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-3 {\n margin-top: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large .large\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large .large\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large .large\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large .large\\:rf-aspect-video {\n aspect-ratio: 16 / 9;\n}\n\n#retorik-container.rf-large .large\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-16 {\n height: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-3\\/5 {\n height: 60%;\n}\n\n#retorik-container.rf-large .large\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-8 {\n height: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[1\\.3rem\\] {\n height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-h-\\[60vh\\] {\n height: 60vh;\n}\n\n#retorik-container.rf-large .large\\:rf-h-auto {\n height: auto;\n}\n\n#retorik-container.rf-large .large\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-28 {\n max-height: 7rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-h-\\[2\\.3rem\\] {\n max-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-h-\\[2\\.3rem\\] {\n min-height: 2.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-1\\/8 {\n width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-4 {\n width: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-5 {\n width: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-8 {\n width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-w-fit {\n width: fit-content;\n}\n\n#retorik-container.rf-large .large\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/2 {\n min-width: 50%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-1\\/8 {\n min-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-16 {\n min-width: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-min-w-8 {\n min-width: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-1\\/8 {\n max-width: 12.5%;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n\n#retorik-container.rf-large .large\\:rf-max-w-full {\n max-width: 100%;\n}\n\n#retorik-container.rf-large .large\\:rf-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large .large\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large .large\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large .large\\:rf-items-baseline {\n align-items: baseline;\n}\n\n#retorik-container.rf-large .large\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-1 {\n gap: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-3 {\n gap: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-overflow-y-scroll {\n overflow-y: scroll;\n}\n\n#retorik-container.rf-large .large\\:rf-border-t-0 {\n border-top-width: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-bg-truewhite {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n\n#retorik-container.rf-large .large\\:rf-p-4 {\n padding: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-p-\\[25px\\] {\n padding: 25px;\n}\n\n#retorik-container.rf-large .large\\:rf-p-min1 {\n padding: .1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-0 {\n padding-left: 0;\n padding-right: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-5, #retorik-container.rf-large .large\\:rf-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n#retorik-container.rf-large .large\\:rf-py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n#retorik-container.rf-large .large\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pb-16 {\n padding-bottom: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pl-4 {\n padding-left: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-12 {\n padding-right: 3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pr-4 {\n padding-right: 1rem;\n}\n\n#retorik-container.rf-large .large\\:rf-pt-16 {\n padding-top: 4rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-6xl {\n font-size: 3.75rem;\n line-height: 1;\n}\n\n#retorik-container.rf-large .large\\:rf-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-basecustom {\n font-size: 1rem;\n line-height: 1.3rem;\n}\n\n#retorik-container.rf-large .large\\:rf-text-sm {\n font-size: .875rem;\n line-height: 1.25rem;\n}\n\n#retorik-container.rf-large .large\\:rf-uppercase {\n text-transform: uppercase;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-4 {\n height: 1rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-tactile .tactile\\:rf-pt-1\\/5 {\n padding-top: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-absolute {\n position: absolute;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-left-4 {\n left: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-right-9 {\n right: 2.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-top-4 {\n top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-1 {\n grid-column-start: 1;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-start-2 {\n grid-column-start: 2;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-col-end-8 {\n grid-column-end: 8;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-ml-1\\/5 {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mr-1\\/5 {\n margin-right: 20%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-4 {\n margin-top: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[20vh\\] {\n margin-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-mt-\\[25vh\\] {\n margin-top: 25vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-block {\n display: block;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-1\\/2 {\n height: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-14 {\n height: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-24 {\n height: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-5 {\n height: 1.25rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-6 {\n height: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-h-\\[50vh\\] {\n height: 50vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-11\\/12 {\n max-height: 91.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-36 {\n max-height: 9rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[18vh\\] {\n max-height: 18vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-h-\\[30vh\\] {\n max-height: 30vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-h-10 {\n min-height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-1\\/2 {\n width: 50%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-14 {\n width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-16 {\n width: 4rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-24 {\n width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-3\\/5 {\n width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-6 {\n width: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-w-full {\n width: 100%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-14 {\n min-width: 3.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-24 {\n min-width: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-min-w-3\\/5 {\n min-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-2\\/3 {\n max-width: 66.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[45\\%\\] {\n max-width: 45%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-max-w-\\[60\\%\\] {\n max-width: 60%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-row {\n flex-direction: row;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-flex-col {\n flex-direction: column;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-4 {\n gap: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-gap-6 {\n gap: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-self-start {\n align-self: flex-start;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t {\n border-top-width: 1px;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-border-t-menuBorder {\n --tw-border-opacity: 1;\n border-top-color: rgb(224 225 231 / var(--tw-border-opacity, 1));\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-py-5 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pl-0 {\n padding-left: 0;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-48 {\n padding-top: 12rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-8 {\n padding-top: 2rem;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[16\\.67\\%\\] {\n padding-top: 16.67%;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-pt-\\[20vh\\] {\n padding-top: 20vh;\n}\n\n#retorik-container.rf-large.rf-portrait .large-vertical\\:rf-text-basecustomuppercase {\n font-size: 1rem;\n line-height: 1.1rem;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-mt-0 {\n margin-top: 0;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-flex {\n display: flex;\n}\n\n#retorik-container.rf-large.rf-tactile .large-tactile\\:rf-hidden {\n display: none;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-3 {\n grid-column-start: 3;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-col-start-4 {\n grid-column-start: 4;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-mt-4 {\n margin-top: -1rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-ml-1\\/5 {\n margin-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-mr-40 {\n margin-right: 10rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-h-full {\n height: 100%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[48\\%\\] {\n width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-w-\\[calc\\(80\\%-10rem\\)\\] {\n width: calc(80% - 10rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-min-w-\\[48\\%\\] {\n min-width: 48%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-max-w-\\[calc\\(\\(80\\%-10rem\\)\\*0\\.75\\)\\] {\n max-width: calc(60% - 7.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:-rf-translate-x-1\\/4 {\n --tw-translate-x: -25%;\n 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));\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-items-start {\n align-items: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-start {\n justify-content: flex-start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-center {\n justify-content: center;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-self-end {\n align-self: flex-end;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-justify-self-start {\n justify-self: start;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pb-2 {\n padding-bottom: .5rem;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pl-1\\/5 {\n padding-left: 20%;\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pl-\\[calc\\(50\\%-2\\.5rem\\)\\] {\n padding-left: calc(50% - 2.5rem);\n}\n\n#retorik-container.rf-large:not(.rf-portrait) .landscape-retorik\\:rf-pr-40 {\n padding-right: 10rem;\n}\n\n#retorik-container.rf-mobile .mobile\\:rf-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-w-28 {\n width: 7rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pl-12 {\n padding-left: 3rem;\n}\n\n#retorik-container.rf-tablet .tablet\\:rf-pr-24 {\n padding-right: 6rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-10 {\n height: 2.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-h-20 {\n height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-min-h-20 {\n min-height: 5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-w-40 {\n width: 10rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-p-5 {\n padding: 1.5rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pl-32 {\n padding-left: 8rem;\n}\n\n#retorik-container.rf-large.rf-portrait:not(.rf-tablet) .borne\\:rf-pr-56 {\n padding-right: 14rem;\n}\n\n.ltr\\:rf-left-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n left: .25rem;\n}\n\n.ltr\\:rf-col-start-1:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n grid-column-start: 1;\n}\n\n.ltr\\:rf-ml-4:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n margin-left: 1rem;\n}\n\n.ltr\\:rf-self-end:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n align-self: flex-end;\n}\n\n.ltr\\:rf-pr-2:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n padding-right: .5rem;\n}\n\n.ltr\\:rf-text-left:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: left;\n}\n\n.ltr\\:rf-text-right:where([dir=\"ltr\"], [dir=\"ltr\"] *) {\n text-align: right;\n}\n\n.rtl\\:rf-right-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n right: .25rem;\n}\n\n.rtl\\:rf-col-end-1:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n grid-column-end: 1;\n}\n\n.rtl\\:rf-mr-4:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n margin-right: 1rem;\n}\n\n.rtl\\:rf-self-start:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n align-self: flex-start;\n}\n\n.rtl\\:rf-pl-2:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n padding-left: .5rem;\n}\n\n.rtl\\:rf-text-left:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: left;\n}\n\n.rtl\\:rf-text-right:where([dir=\"rtl\"], [dir=\"rtl\"] *) {\n text-align: right;\n}\n";
19107
19108
 
19108
19109
 
19109
19110
  var $3b963894676ce6b6$exports = {};
@@ -19202,11 +19203,7 @@ var $1Qww3 = parcelRequire("1Qww3");
19202
19203
 
19203
19204
  var $4ucVo = parcelRequire("4ucVo");
19204
19205
 
19205
- var $cT90l = parcelRequire("cT90l");
19206
-
19207
19206
  var $3dsIB = parcelRequire("3dsIB");
19208
-
19209
- var $75pB6 = parcelRequire("75pB6");
19210
19207
  const $05381dff3a76f568$export$284b58786299e6c5 = async ({ configurationData: configurationData, baseAddress: baseAddress })=>{
19211
19208
  if (configurationData) {
19212
19209
  if (typeof configurationData.userConsent === 'boolean') return {
@@ -19454,8 +19451,6 @@ const $25e969779d25f701$var$processJson = (json, retorikProps, baseAddress)=>{
19454
19451
  timerForFilterSelectionListMode: undefined,
19455
19452
  // Pattern != null means not null nor undefined
19456
19453
  useOldRemote: json.useOldRemote != null ? json.useOldRemote : true,
19457
- // Temporary parameter, will be removed
19458
- showTemporaryBanner: undefined,
19459
19454
  preventVirtualKeyboard: undefined,
19460
19455
  channelData: json.channelData
19461
19456
  },
@@ -19506,8 +19501,11 @@ const $25e969779d25f701$var$processJson = (json, retorikProps, baseAddress)=>{
19506
19501
  animationsUrl: json.animationsUrl || undefined
19507
19502
  },
19508
19503
  ponyfillFactoryCredentials: {
19509
- region: json.voiceCredentialsRegion || 'francecentral',
19510
- subscriptionKey: json.voiceCredentialsSubscriptionKey || '2f62867e22a544b78a16c99a2707ef49'
19504
+ region: json.voiceCredentialsRegion,
19505
+ subscriptionKey: json.voiceCredentialsSubscriptionKey,
19506
+ speechRecognitionHostnamesRecord: json.speechRecognizerHosts,
19507
+ speechRecognitionHostname: undefined,
19508
+ speechSynthesisHostname: json.speechSynthesizerHost
19511
19509
  },
19512
19510
  addressData: {
19513
19511
  ...retorikProps.addressData,
@@ -19653,7 +19651,8 @@ const $25e969779d25f701$var$processJson = (json, retorikProps, baseAddress)=>{
19653
19651
  // Other data
19654
19652
  disableHistory: json.disableHistory,
19655
19653
  customScripts: json.customScripts,
19656
- customCSS: json.customCSS
19654
+ customCSS: json.customCSS,
19655
+ features: json.features
19657
19656
  };
19658
19657
  return props;
19659
19658
  }
@@ -23008,497 +23007,11 @@ var $7eea63803bf8724c$export$2e2bcd8739ae039 = $7eea63803bf8724c$var$VoiceInput;
23008
23007
 
23009
23008
 
23010
23009
  var $3BlcX = parcelRequire("3BlcX");
23011
-
23012
-
23013
-
23014
- var $1x02c = parcelRequire("1x02c");
23015
- parcelRequire("SZcIF");
23016
- var $awh9M = parcelRequire("awh9M");
23017
-
23018
- var $1Qww3 = parcelRequire("1Qww3");
23019
- const $75710e2a5540e2b8$var$TemporaryBanner = ()=>{
23020
- const configuration = (0, $1x02c.useRetorikStore)((state)=>state.configuration);
23021
- const isMobile = (0, $1Qww3.useViewStore)((state)=>state.isMobile);
23022
- const isLandscape = (0, $1Qww3.useViewStore)((state)=>state.isLandscape);
23023
- const isBorne = (0, $1Qww3.useViewStore)((state)=>state.isBorne);
23024
- const setConfiguration = (0, $1x02c.useRetorikStore)((state)=>state.actions.setConfiguration);
23025
- const [display, setDisplay] = (0, $bZRJW$useState)(!!configuration.useOldRemote);
23026
- const handleChange = ()=>{
23027
- setConfiguration({
23028
- ...configuration,
23029
- useOldRemote: false
23030
- });
23031
- setDisplay(false);
23032
- };
23033
- return display ? /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23034
- className: `rf-absolute rf-z-menu rf-w-full ${isLandscape ? 'rf-top-0' : isMobile ? 'rf-bottom-0' : 'rf-bottom-4'} ${isBorne && 'rf-rounded'}`,
23035
- children: /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23036
- className: `rf-relative rf-w-full rf-py-2 rf-bg-[#CDE5FE] ${isBorne && 'rf-rounded'}`,
23037
- children: [
23038
- isMobile ? /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23039
- className: "rf-w-full rf-h-24 rf-flex rf-flex-col rf-justify-center rf-gap-2",
23040
- children: [
23041
- /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23042
- className: "rf-pl-4 rf-flex rf-flex-row rf-items-center rf-gap-4",
23043
- children: [
23044
- /*#__PURE__*/ (0, $bZRJW$jsx)($75710e2a5540e2b8$var$MyIcon, {
23045
- myclass: "rf-h-10"
23046
- }),
23047
- /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23048
- className: "rf-flex rf-flex-col rf-justify-start rf-text-[#325981]",
23049
- children: [
23050
- /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23051
- className: "rf-font-bold rf-text-basecustom",
23052
- children: "Une nouvelle exp\xe9rience vous attend"
23053
- }),
23054
- /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23055
- className: "rf-text-xs",
23056
- children: "D\xe9couvrez notre interface repens\xe9e"
23057
- })
23058
- ]
23059
- })
23060
- ]
23061
- }),
23062
- /*#__PURE__*/ (0, $bZRJW$jsx)("button", {
23063
- className: "rf-w-fit rf-py-1 rf-px-6 rf-self-center rf-text-sm rf-text-truewhite hover:rf-text-[#325981] rf-bg-[#325981] hover:rf-bg-truewhite rf-border rf-rounded rf-border-[#325981]",
23064
- onClick: handleChange,
23065
- children: "Tester maintenant"
23066
- })
23067
- ]
23068
- }) : /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23069
- className: "rf-w-full rf-h-full rf-flex rf-flex-row rf-justify-center rf-items-center rf-gap-6",
23070
- style: {
23071
- maxWidth: 'calc(100% - 3.5rem)'
23072
- },
23073
- children: [
23074
- /*#__PURE__*/ (0, $bZRJW$jsx)($75710e2a5540e2b8$var$MyIcon, {
23075
- myclass: "rf-h-12"
23076
- }),
23077
- /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23078
- className: "rf-flex rf-flex-col rf-justify-start rf-text-[#325981]",
23079
- children: [
23080
- /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23081
- className: "rf-font-bold rf-text-basecustom",
23082
- children: "Une nouvelle exp\xe9rience vous attend"
23083
- }),
23084
- /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23085
- className: "rf-text-xs",
23086
- children: "D\xe9couvrez notre interface repens\xe9e"
23087
- })
23088
- ]
23089
- }),
23090
- /*#__PURE__*/ (0, $bZRJW$jsx)("button", {
23091
- className: "rf-py-1 rf-px-6 rf-text-truewhite hover:rf-text-[#325981] rf-bg-[#325981] hover:rf-bg-truewhite rf-border rf-rounded rf-border-[#325981]",
23092
- onClick: handleChange,
23093
- children: "Tester maintenant"
23094
- })
23095
- ]
23096
- }),
23097
- /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23098
- className: "rf-absolute rf-top-1/2 -rf-translate-y-1/2 rf-right-0 rf-px-4 hover:rf-cursor-pointer",
23099
- onClick: ()=>setDisplay(false),
23100
- children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $awh9M.default), {
23101
- className: "rf-w-6 rf-h-6",
23102
- color: "#325981"
23103
- })
23104
- })
23105
- ]
23106
- })
23107
- }) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {});
23108
- };
23109
- const $75710e2a5540e2b8$var$MyIcon = ({ myclass: myclass })=>{
23110
- return /*#__PURE__*/ (0, $bZRJW$jsx)("svg", {
23111
- xmlns: "http://www.w3.org/2000/svg",
23112
- viewBox: "0 0 44.903 40",
23113
- className: myclass,
23114
- children: /*#__PURE__*/ (0, $bZRJW$jsxs)("g", {
23115
- id: "a-woman-who-uses-a-computer-inspiration-svgrepo-com",
23116
- transform: "translate(0 0)",
23117
- children: [
23118
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23119
- id: "Trac\xe9_692",
23120
- "data-name": "Trac\xe9 692",
23121
- d: "M150.957,18.205a1.537,1.537,0,0,0,.77-1.342,5.871,5.871,0,0,0-.394-2.094,16.946,16.946,0,0,1-.695-3.879c-.019-.444-.027-1.872-.044-2.409a6.527,6.527,0,0,0-1.824-4.111l-.825-.689A4.678,4.678,0,0,0,146.75,3a7.517,7.517,0,0,0-2.81-.566,6.635,6.635,0,0,0-4.392,1.488c-1.637,1.393-2.417,3.355-2.226,6.592.471,2.478.071,4.186.178,6.392.029.6.821,1.782,1.622,1.618Z",
23122
- transform: "translate(-119.629 -2.115)",
23123
- fill: "#a98a75"
23124
- }),
23125
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23126
- id: "Trac\xe9_693",
23127
- "data-name": "Trac\xe9 693",
23128
- d: "M147.183,38.584a8.011,8.011,0,0,1-3.669,2.3.131.131,0,0,1-.166-.15c.071-.383.12-.75.155-1.132a13.2,13.2,0,0,1-3.55,2.682c.156.921.261,1.851.377,2.7a4.861,4.861,0,0,0,1.606,3.326,4.5,4.5,0,0,0,1.942.91l-.166.095a8.3,8.3,0,0,1-.926.378v0l.105.546a2.08,2.08,0,0,0,1.172,1.415,3.785,3.785,0,0,0,1.862.3,8.5,8.5,0,0,0,5.361-2.7,7.838,7.838,0,0,1-.978-.458,1.468,1.468,0,0,1-.647-.64,2.277,2.277,0,0,1-.124-.47l-.064-.525-.021-.133c.175-.223.332-.45.482-.686,0,0,.235-.385.333-.6l.063-.118a1.663,1.663,0,0,0,.8-.21,2.258,2.258,0,0,0,.826-1.027,2.1,2.1,0,0,0,.074-1.553.779.779,0,0,0-.659-.429.864.864,0,0,0-.619.154l-1.081-.222a5.085,5.085,0,0,1-1.8-2.047,16.117,16.117,0,0,1-.679-1.68",
23129
- transform: "translate(-121.947 -33.62)",
23130
- fill: "#fff"
23131
- }),
23132
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23133
- id: "Trac\xe9_694",
23134
- "data-name": "Trac\xe9 694",
23135
- d: "M180.875,237.767c.845,2.686,1.955,6.221,2.559,8.154a.725.725,0,0,1-.331.846l-.069.04.073-.03c1.555-.649,6.588-2.885,7.543-3.324l-.355-1.667S182.278,238.26,180.875,237.767Z",
23136
- transform: "translate(-157.604 -207.176)",
23137
- fill: "#fff"
23138
- }),
23139
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23140
- id: "Trac\xe9_695",
23141
- "data-name": "Trac\xe9 695",
23142
- d: "M223.929,15.452a6.045,6.045,0,0,1,1.512,2.522,5.266,5.266,0,0,1,.255,1.437c.011.357.014.715.019,1.073a20.675,20.675,0,0,0,.154,2.648,20.562,20.562,0,0,0,.728,3.115c.25.815.529,2.082-.387,2.583-.349.191-.037.724.312.533a2.3,2.3,0,0,0,.846-2.607c-.089-.467-.256-.915-.381-1.373-.154-.568-.3-1.141-.406-1.72a16.421,16.421,0,0,1-.244-2.86,11.285,11.285,0,0,0-.2-2.66,6.7,6.7,0,0,0-1.766-3.128c-.288-.274-.726.162-.437.437Z",
23143
- transform: "translate(-195.035 -13.007)",
23144
- fill: "#211715"
23145
- }),
23146
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23147
- id: "Trac\xe9_696",
23148
- "data-name": "Trac\xe9 696",
23149
- d: "M193.059,247.319a18.253,18.253,0,0,0-1.491,1.589c-.079.083-.405.3-.656.106a.569.569,0,0,1-.129-.578c.325-.711.459-.926.7-1.424-.294.31-.524.57-.873.923l-.355.359-1.049,1.06c-.373-1.192-.836-2.67-1.3-4.14a10.6,10.6,0,0,1,1.263-1.52,2.357,2.357,0,0,1,1.317-.619,3.244,3.244,0,0,1,.611.021q.58.059,1.156.151a2.463,2.463,0,0,0,2.037-.231,7.293,7.293,0,0,1,1.742,3.082,2.856,2.856,0,0,0-.375.219c-.081.055-.34.285-.426.332a5.919,5.919,0,0,1-2.129.658",
23150
- transform: "translate(-163.731 -211.75)",
23151
- fill: "#fff"
23152
- }),
23153
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23154
- id: "Trac\xe9_697",
23155
- "data-name": "Trac\xe9 697",
23156
- d: "M117.093,138.634a6.157,6.157,0,0,0-1.366-2.069,2.457,2.457,0,0,1-2.036.232q-.576-.092-1.156-.151a3.245,3.245,0,0,0-.611-.021,2.357,2.357,0,0,0-1.317.619,7.023,7.023,0,0,0-.962,1.121l-10.779-6.01c-.473-1.208-.759-2.082-1.122-3.307.805-.263,2.8-.839,3.8-1.222a19,19,0,0,1,.335-1.873,7.076,7.076,0,0,1,1.4-3.055,6.4,6.4,0,0,1,2.573-1.465c.026-.012.068-.027.121-.045l.137.535a2.08,2.08,0,0,0,1.172,1.415,3.784,3.784,0,0,0,1.862.3,8.586,8.586,0,0,0,5.458-2.793c2.073.592,3.715,1.2,4.874,2.873a19.482,19.482,0,0,1,2,5.217c.295,1.09.6,2.2.818,3.458.119.656.34,1.989.354,2.482a7.161,7.161,0,0,1-.168,1.637,3.7,3.7,0,0,1-1.287,1.913,14.269,14.269,0,0,1-3.559,1.867A9.055,9.055,0,0,0,117.093,138.634Z",
23157
- transform: "translate(-85.169 -105.3)",
23158
- fill: "#f8b8b4"
23159
- }),
23160
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23161
- id: "Trac\xe9_698",
23162
- "data-name": "Trac\xe9 698",
23163
- d: "M86.2,108.544l.045-.007a2.035,2.035,0,0,1,.309-.013l-.11-.271-.679-1.6a2.223,2.223,0,0,1-.142-.4.83.83,0,0,1,.12-.665.54.54,0,0,1,.608-.109,1.046,1.046,0,0,1,.5.5,16.858,16.858,0,0,1,1.337,3.067l.067.214a1.037,1.037,0,0,1,.858-.015,1.106,1.106,0,0,1,.441.587,3.721,3.721,0,0,1-.17,3.109,11.5,11.5,0,0,1,.509,1.461l.012.047c-.794.292-2.069.676-2.97.953l-.032-.12a8.667,8.667,0,0,0-.546-1.455,3.037,3.037,0,0,0-.543-.538,11.684,11.684,0,0,1-.962-.975,1.316,1.316,0,0,1-.314-.881,1.611,1.611,0,0,1,.37-.856.54.54,0,0,1,.42-.149l-.021-.044a.689.689,0,0,1-.131-.563c.067-.262.187-.318.4-.373l.016,0,0-.25a.55.55,0,0,1,.163-.406A.749.749,0,0,1,86.2,108.544Z",
23164
- transform: "translate(-73.655 -91.87)",
23165
- fill: "#fff"
23166
- }),
23167
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23168
- id: "Trac\xe9_699",
23169
- "data-name": "Trac\xe9 699",
23170
- d: "M209.95,123.753Z",
23171
- transform: "translate(-182.938 -107.829)",
23172
- fill: "#fff"
23173
- }),
23174
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23175
- id: "Trac\xe9_700",
23176
- "data-name": "Trac\xe9 700",
23177
- d: "M286.111,248.837q1.272,0,2.544,0l3.992,0h1a.309.309,0,0,0,0-.618q-1.3,0-2.609,0l-3.973.005h-.951a.309.309,0,0,0,0,.618Z",
23178
- transform: "translate(-249.04 -216.275)",
23179
- fill: "#211715"
23180
- }),
23181
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23182
- id: "Trac\xe9_701",
23183
- "data-name": "Trac\xe9 701",
23184
- d: "M.3,248.838c1.525,0,3.05-.006,4.575-.009H5.6a.309.309,0,0,0,0-.618c-1.542,0-3.085.006-4.627.009H.3a.309.309,0,0,0,0,.618Z",
23185
- transform: "translate(0 -216.275)",
23186
- fill: "#211715"
23187
- }),
23188
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23189
- id: "Trac\xe9_702",
23190
- "data-name": "Trac\xe9 702",
23191
- d: "M228.576,119.578a8.019,8.019,0,0,1,4.235,2.376,7.9,7.9,0,0,1,1.12,2.065c.3.751.545,1.522.768,2.3a45.881,45.881,0,0,1,1.2,5.015,6.506,6.506,0,0,1-.155,4.1,4.622,4.622,0,0,1-1.918,1.779,16.358,16.358,0,0,1-2.322,1.094q-.233.09-.468.173a.317.317,0,0,0-.216.38.312.312,0,0,0,.38.216,19.162,19.162,0,0,0,2.332-1,6.97,6.97,0,0,0,2.327-1.7,4.119,4.119,0,0,0,.645-1.155,4.374,4.374,0,0,0,.227-1.108,5.924,5.924,0,0,0,.033-1.037c-.03-.384-.089-.767-.146-1.147-.139-.919-.3-1.835-.515-2.74-.2-.853-.435-1.7-.668-2.544-.21-.763-.437-1.521-.707-2.264a11.316,11.316,0,0,0-1.082-2.324,6.1,6.1,0,0,0-1.836-1.818,10.178,10.178,0,0,0-2.394-1.055c-.224-.072-.449-.139-.675-.206a.309.309,0,0,0-.164.6Z",
23192
- transform: "translate(-198.978 -103.661)",
23193
- fill: "#211715"
23194
- }),
23195
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23196
- id: "Trac\xe9_703",
23197
- "data-name": "Trac\xe9 703",
23198
- d: "M233.821,227.624c.634-.269,1.243-.582,1.862-.882a.31.31,0,0,0,.111-.423.317.317,0,0,0-.423-.111c-.619.3-1.228.613-1.862.882a.309.309,0,0,0-.111.423A.319.319,0,0,0,233.821,227.624Z",
23199
- transform: "translate(-203.333 -197.071)",
23200
- fill: "#211715"
23201
- }),
23202
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23203
- id: "Trac\xe9_704",
23204
- "data-name": "Trac\xe9 704",
23205
- d: "M240.068,189.666l.941,3.446a.309.309,0,0,0,.6-.164l-.941-3.446A.309.309,0,0,0,240.068,189.666Z",
23206
- transform: "translate(-209.17 -164.93)",
23207
- fill: "#211715"
23208
- }),
23209
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23210
- id: "Trac\xe9_705",
23211
- "data-name": "Trac\xe9 705",
23212
- d: "M193.963,241.1a2.107,2.107,0,0,1-1.474.143,13.588,13.588,0,0,0-1.842-.222c-1.254-.017-2.078.983-2.759,1.9a.311.311,0,0,0,.111.423.316.316,0,0,0,.423-.111,5.262,5.262,0,0,1,1.1-1.208,2.13,2.13,0,0,1,.683-.336,2.254,2.254,0,0,1,.809-.026c.573.057,1.138.164,1.709.23a2.338,2.338,0,0,0,1.551-.259C194.61,241.419,194.3,240.884,193.963,241.1Z",
23213
- transform: "translate(-163.679 -210.01)",
23214
- fill: "#211715"
23215
- }),
23216
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23217
- id: "Trac\xe9_706",
23218
- "data-name": "Trac\xe9 706",
23219
- d: "M191.319,258.5l-.944.936a.309.309,0,0,0,.437.437l.944-.936a.309.309,0,1,0-.437-.437Z",
23220
- transform: "translate(-165.802 -225.16)",
23221
- fill: "#211715"
23222
- }),
23223
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23224
- id: "Trac\xe9_707",
23225
- "data-name": "Trac\xe9 707",
23226
- d: "M195.436,265.671c.476-.556,1-1.074,1.518-1.589a.309.309,0,1,0-.437-.437c-.521.515-1.042,1.032-1.518,1.589a.309.309,0,0,0,.437.437Z",
23227
- transform: "translate(-169.832 -229.646)",
23228
- fill: "#211715"
23229
- }),
23230
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23231
- id: "Trac\xe9_708",
23232
- "data-name": "Trac\xe9 708",
23233
- d: "M200.793,271.95c.351-.354.706-.705,1.05-1.066.3-.319.6-.646.908-.96a.309.309,0,1,0-.437-.437c-.31.314-.6.641-.908.96-.344.361-.7.712-1.05,1.066a.309.309,0,0,0,.437.437Z",
23234
- transform: "translate(-174.499 -234.735)",
23235
- fill: "#211715"
23236
- }),
23237
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23238
- id: "Trac\xe9_709",
23239
- "data-name": "Trac\xe9 709",
23240
- d: "M226.2,266.386a6.746,6.746,0,0,0,1.833-.481,2.847,2.847,0,0,0,.687-.4l.126-.1.062-.051c.04-.032-.035.024-.005,0a3.3,3.3,0,0,1,.385-.225.309.309,0,0,0-.312-.533,3.2,3.2,0,0,0-.594.391,2.222,2.222,0,0,1-.184.145,2.861,2.861,0,0,1-.377.19,5.71,5.71,0,0,1-1.621.441.319.319,0,0,0-.309.309.31.31,0,0,0,.309.309Z",
23241
- transform: "translate(-196.824 -230.52)",
23242
- fill: "#211715"
23243
- }),
23244
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23245
- id: "Trac\xe9_710",
23246
- "data-name": "Trac\xe9 710",
23247
- d: "M233.927,240.094a4.452,4.452,0,0,1,1.148,1.514,8.813,8.813,0,0,1,.772,2.059c.092.386.688.223.6-.164a9.447,9.447,0,0,0-.859-2.252,4.987,4.987,0,0,0-1.345-1.69.311.311,0,0,0-.423.111.316.316,0,0,0,.111.423Z",
23248
- transform: "translate(-203.698 -208.702)",
23249
- fill: "#211715"
23250
- }),
23251
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23252
- id: "Trac\xe9_711",
23253
- "data-name": "Trac\xe9 711",
23254
- d: "M208.293,273.3c-.126.252-.257.5-.381.755a5.244,5.244,0,0,0-.261.564.9.9,0,0,0,0,.5.705.705,0,0,0,.965.477,2.508,2.508,0,0,0,.868-.8,7.873,7.873,0,0,1,.968-1.006.311.311,0,0,0,0-.437.316.316,0,0,0-.437,0,20.039,20.039,0,0,0-1.5,1.594c-.008.008-.052.042-.018.017s-.04.024-.049.029-.073.035-.028.017c-.018.007-.092.028-.075.026a.075.075,0,0,1-.078-.014c.03.018-.017-.029.01.013a.463.463,0,0,1-.027-.048c.014.028.006.02,0,0s-.015-.055-.02-.083c.01.059,0-.022,0-.042s0-.026,0-.039c0,.007-.015.051,0,.023,0-.009,0-.022.007-.032.015-.045-.014.028.01-.023.068-.145.136-.291.206-.436.121-.249.25-.493.374-.74a.316.316,0,0,0-.111-.423.312.312,0,0,0-.423.111Z",
23255
- transform: "translate(-180.901 -238.007)",
23256
- fill: "#211715"
23257
- }),
23258
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23259
- id: "Trac\xe9_712",
23260
- "data-name": "Trac\xe9 712",
23261
- d: "M205.409,94.584a7.488,7.488,0,0,0,1.13-1.282,6.093,6.093,0,0,0,.572-.963.318.318,0,0,0-.111-.422.311.311,0,0,0-.422.111,6.057,6.057,0,0,1-.551.933,6.833,6.833,0,0,1-1.054,1.186.309.309,0,0,0,.437.437Z",
23262
- transform: "translate(-178.522 -80.055)",
23263
- fill: "#211715"
23264
- }),
23265
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23266
- id: "Trac\xe9_713",
23267
- "data-name": "Trac\xe9 713",
23268
- d: "M145.528,72.776a5.019,5.019,0,0,1-4.281.352,3.869,3.869,0,0,1-1.627-1.31,5.267,5.267,0,0,1-.743-1.971c-.184-.972-.26-1.964-.415-2.941a.311.311,0,0,0-.38-.216.316.316,0,0,0-.216.38c.147.926.229,1.864.387,2.788a5.949,5.949,0,0,0,.782,2.193,4.623,4.623,0,0,0,4.06,2.029,6.926,6.926,0,0,0,2.743-.772.312.312,0,0,0,.111-.422.315.315,0,0,0-.423-.111Z",
23269
- transform: "translate(-120.121 -58.101)",
23270
- fill: "#211715"
23271
- }),
23272
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23273
- id: "Trac\xe9_714",
23274
- "data-name": "Trac\xe9 714",
23275
- d: "M216.505,66.617a.621.621,0,0,1,.574-.082.475.475,0,0,1,.183.105c.01.009.066.074.027.023a.593.593,0,0,1,.051.081,1.6,1.6,0,0,1,0,1.136,2.08,2.08,0,0,1-.62.951,1.1,1.1,0,0,1-1.019.239.319.319,0,0,0-.423.111.311.311,0,0,0,.111.422,1.7,1.7,0,0,0,1.384-.073,2.186,2.186,0,0,0,.922-.943,2.823,2.823,0,0,0,.357-1.241,1.5,1.5,0,0,0-.34-1.133,1.228,1.228,0,0,0-1.517-.13.317.317,0,0,0-.111.422.311.311,0,0,0,.423.111Z",
23276
- transform: "translate(-187.542 -57.405)",
23277
- fill: "#211715"
23278
- }),
23279
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23280
- id: "Trac\xe9_715",
23281
- "data-name": "Trac\xe9 715",
23282
- d: "M186.642,70.873c.1.27.068.9-.449.98-.687.026-.757-.736-.54-1.105A.544.544,0,0,1,186.642,70.873Z",
23283
- transform: "translate(-161.671 -61.414)",
23284
- fill: "#211715"
23285
- }),
23286
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23287
- id: "Trac\xe9_716",
23288
- "data-name": "Trac\xe9 716",
23289
- d: "M155.092,71.389c.089.263.066.877-.409.949-.63.022-.7-.717-.5-1.074A.491.491,0,0,1,155.092,71.389Z",
23290
- transform: "translate(-134.261 -61.873)",
23291
- fill: "#211715"
23292
- }),
23293
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23294
- id: "Trac\xe9_717",
23295
- "data-name": "Trac\xe9 717",
23296
- d: "M168.066,82.4a5.881,5.881,0,0,0-.259.544l.031-.074a.67.67,0,0,0-.077.279.4.4,0,0,0,.149.316.569.569,0,0,0,.248.129c.06.011.119.013.18.019a.308.308,0,0,0,.219-.527.351.351,0,0,0-.219-.09c-.03,0-.06,0-.089-.006l.082.011a.284.284,0,0,1-.062-.017l.074.031a.331.331,0,0,1-.059-.034l.063.048a.334.334,0,0,1-.039-.034l.048.063a.109.109,0,0,1-.014-.025l.031.074a.11.11,0,0,1,0-.019l.011.082a.183.183,0,0,1,0-.04l-.011.082a.371.371,0,0,1,.025-.084l-.031.074.049-.116-.031.074c.065-.153.142-.3.219-.448a.325.325,0,0,0,.031-.238.309.309,0,0,0-.564-.074Z",
23297
- transform: "translate(-146.177 -71.664)",
23298
- fill: "#211715"
23299
- }),
23300
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23301
- id: "Trac\xe9_718",
23302
- "data-name": "Trac\xe9 718",
23303
- d: "M169.494,98.537a2.246,2.246,0,0,0,.289-.306A2.7,2.7,0,0,0,170,97.9c.151-.279.345-.728-.011-.94a1.045,1.045,0,0,0-.608-.039c-.2.017-.408.037-.612.058-.229.025-.459.051-.687.085a.31.31,0,0,0-.216.38.319.319,0,0,0,.38.216l.069-.01h-.007l.146-.018.327-.037c.222-.024.443-.045.666-.062.088-.007.176-.013.265-.017a.326.326,0,0,1,.046,0,.181.181,0,0,1-.152-.095.21.21,0,0,1-.023-.122.448.448,0,0,0-.026.09c-.006.02-.013.04-.021.059s-.015.039,0,.014a2.168,2.168,0,0,1-.225.384c-.019.026-.037.052-.057.077.034-.042-.026.026-.033.034-.05.051-.106.1-.159.147a.311.311,0,0,0,0,.437.316.316,0,0,0,.437,0Z",
23304
- transform: "translate(-146.26 -84.427)",
23305
- fill: "#211715"
23306
- }),
23307
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23308
- id: "Trac\xe9_719",
23309
- "data-name": "Trac\xe9 719",
23310
- d: "M196.227,283.5c1.007-.421,2.006-.862,3.005-1.3q1.731-.761,3.457-1.533c.386-.172.771-.344,1.155-.52a.311.311,0,0,0,.111-.422.316.316,0,0,0-.422-.111c-2.014.925-4.046,1.811-6.077,2.695l-.817.354-.342.146-.1.042-.135.056a.319.319,0,0,0-.216.38A.311.311,0,0,0,196.227,283.5Z",
23311
- transform: "translate(-170.641 -243.601)",
23312
- fill: "#211715"
23313
- }),
23314
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23315
- id: "Trac\xe9_720",
23316
- "data-name": "Trac\xe9 720",
23317
- d: "M35.552,212.306c3.961.066,13,.086,16.233.108a1.131,1.131,0,0,1,1.071.79c.768,2.43,2.5,7.931,3.309,10.531a.725.725,0,0,1-.695.941c-3.5-.013-12.926-.046-16.55-.12a.723.723,0,0,1-.677-.51c-.715-2.311-2.55-8.135-3.4-10.8a.725.725,0,0,1,.7-.945Z",
23318
- transform: "translate(-30.335 -184.991)",
23319
- fill: "#fff"
23320
- }),
23321
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23322
- id: "Trac\xe9_721",
23323
- "data-name": "Trac\xe9 721",
23324
- d: "M33.484,210.522c1.85.03,3.7.042,5.551.054q3.242.021,6.484.033l2.728.012,1.065.006c.395,0,.8-.021,1.061.337a1.923,1.923,0,0,1,.225.572l.182.576.433,1.376q.5,1.6,1.005,3.2.495,1.575.989,3.151l.416,1.329c.1.319.393.873-.042,1.071a1.207,1.207,0,0,1-.493.037l-.511,0-1.18,0-2.821-.012q-3.209-.015-6.418-.039c-1.736-.013-3.472-.026-5.207-.06a.465.465,0,0,1-.465-.243,4.1,4.1,0,0,1-.154-.492q-.186-.6-.373-1.2-.467-1.495-.937-2.988-.923-2.936-1.853-5.87a.964.964,0,0,1-.1-.546.423.423,0,0,1,.413-.3.309.309,0,0,0,0-.618,1.047,1.047,0,0,0-1.023,1.25,6.036,6.036,0,0,0,.183.595l.2.638q.483,1.525.964,3.051.953,3.023,1.9,6.048c.142.456.238.96.716,1.185a3.116,3.116,0,0,0,1.234.117q1.321.021,2.642.032,3.264.032,6.528.046,2.891.015,5.781.025l.521,0a1.7,1.7,0,0,0,.654-.072,1.047,1.047,0,0,0,.615-.669,1.315,1.315,0,0,0-.068-.8q-.446-1.426-.894-2.851-1.006-3.208-2.017-6.415a10.128,10.128,0,0,0-.414-1.258,1.49,1.49,0,0,0-1.406-.816Q48.446,210,47.292,210l-6.407-.03c-2.083-.011-4.166-.024-6.25-.049l-1.152-.016A.309.309,0,0,0,33.484,210.522Z",
23325
- transform: "translate(-28.267 -182.897)",
23326
- fill: "#211715"
23327
- }),
23328
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23329
- id: "Trac\xe9_722",
23330
- "data-name": "Trac\xe9 722",
23331
- d: "M193.806,36.921a10.073,10.073,0,0,0,.99,2.246,4.537,4.537,0,0,0,1.631,1.665.317.317,0,0,0,.423-.111.312.312,0,0,0-.111-.423,3.957,3.957,0,0,1-1.432-1.48,9.489,9.489,0,0,1-.9-2.062c-.126-.375-.722-.214-.6.164Z",
23332
- transform: "translate(-168.855 -31.842)",
23333
- fill: "#211715"
23334
- }),
23335
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23336
- id: "Trac\xe9_723",
23337
- "data-name": "Trac\xe9 723",
23338
- d: "M146.65,36.278a6.691,6.691,0,0,1-1.583,1.336,8.723,8.723,0,0,1-.964.512q-.234.106-.474.2a2.871,2.871,0,0,1-.551.183h.164q.091.27.106.133l.011-.06q.013-.074.025-.149c.016-.1.03-.2.043-.3q.042-.309.071-.618a.312.312,0,0,0-.528-.219,11.993,11.993,0,0,1-3.224,2.5c-.351.186-.04.719.312.533a12.383,12.383,0,0,0,1.775-1.175,12.123,12.123,0,0,0,1.574-1.425l-.528-.219c-.027.291-.063.581-.112.87a.734.734,0,0,0,.008.5.44.44,0,0,0,.3.221.782.782,0,0,0,.41-.073q.2-.07.406-.149c.25-.1.5-.206.739-.323a7.6,7.6,0,0,0,2.453-1.842.317.317,0,0,0,0-.437.312.312,0,0,0-.437,0Z",
23339
- transform: "translate(-121.633 -31.532)",
23340
- fill: "#211715"
23341
- }),
23342
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23343
- id: "Trac\xe9_724",
23344
- "data-name": "Trac\xe9 724",
23345
- d: "M213.829,105.062a6.767,6.767,0,0,1-.836-.378,1.456,1.456,0,0,1-.614-.5.813.813,0,0,1-.053-.1c.022.054-.012-.042-.012-.043-.024-.076-.041-.153-.057-.231,0-.016-.026-.077-.018-.094-.009.018.009.076,0,.037s-.007-.055-.01-.082l-.053-.426a.318.318,0,0,0-.309-.309.31.31,0,0,0-.309.309,3.055,3.055,0,0,0,.3,1.281,2.046,2.046,0,0,0,.791.678,7.95,7.95,0,0,0,1.012.455.311.311,0,0,0,.38-.216.315.315,0,0,0-.216-.38Z",
23346
- transform: "translate(-184.342 -89.69)",
23347
- fill: "#211715"
23348
- }),
23349
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23350
- id: "Trac\xe9_725",
23351
- "data-name": "Trac\xe9 725",
23352
- d: "M160.435,121.9a2.354,2.354,0,0,0,1.1,1.486,3.739,3.739,0,0,0,2.059.465,7.556,7.556,0,0,0,3.77-1.212,11.776,11.776,0,0,0,1.779-1.391c.291-.272-.147-.708-.437-.437a9.469,9.469,0,0,1-2.953,1.963,6.513,6.513,0,0,1-1.725.432,3.9,3.9,0,0,1-1.865-.191,1.828,1.828,0,0,1-1.136-1.279c-.081-.389-.676-.224-.6.164Z",
23353
- transform: "translate(-139.787 -105.189)",
23354
- fill: "#211715"
23355
- }),
23356
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23357
- id: "Trac\xe9_726",
23358
- "data-name": "Trac\xe9 726",
23359
- d: "M292.693,85.043a.426.426,0,0,1-.048-.314,9.314,9.314,0,0,1,.533-1.717l.085-.128a11.191,11.191,0,0,0,2.086.846c0,.089,0,.154,0,.154a5.945,5.945,0,0,1-.57,1.548.784.784,0,0,1-.143.2.694.694,0,0,1-.406.129,8.023,8.023,0,0,1-1.168-.442.886.886,0,0,1-.355-.257Z",
23360
- transform: "translate(-254.984 -72.22)",
23361
- fill: "#fff"
23362
- }),
23363
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23364
- id: "Trac\xe9_727",
23365
- "data-name": "Trac\xe9 727",
23366
- d: "M296.674,47.926c.055.062.109.129.162.2a2.457,2.457,0,0,1,.287,2.542,3.066,3.066,0,0,1-.7,1,3.481,3.481,0,0,1-.733.568,3.3,3.3,0,0,1-.7.3,10.727,10.727,0,0,1-2.362-.966,2.57,2.57,0,0,1-.553-1.7,3.459,3.459,0,0,1,.18-1.01,2.937,2.937,0,0,1,.59-.967,2.52,2.52,0,0,1,1.274-.793,2.9,2.9,0,0,1,1.624.146A2.646,2.646,0,0,1,296.674,47.926Z",
23367
- transform: "translate(-254.49 -40.992)",
23368
- fill: "#ffda71"
23369
- }),
23370
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23371
- id: "Trac\xe9_728",
23372
- "data-name": "Trac\xe9 728",
23373
- d: "M294.357,46.01a2.241,2.241,0,0,1,.39,2.394,3.139,3.139,0,0,1-1.943,1.7h.164a9.721,9.721,0,0,1-1.912-.729,1.169,1.169,0,0,1-.389-.237,1.436,1.436,0,0,1-.2-.364,2.666,2.666,0,0,1-.188-.906,2.737,2.737,0,0,1,.682-1.892,2.151,2.151,0,0,1,1.66-.764,2.372,2.372,0,0,1,.429.048c.08.015.159.033.238.055q.079.022.156.049.057.02.114.043l-.036-.015a2.837,2.837,0,0,1,.836.616c.268.295.7-.143.437-.437a2.939,2.939,0,0,0-3.372-.72,3.082,3.082,0,0,0-1.106.938,3.387,3.387,0,0,0-.655,1.976,2.886,2.886,0,0,0,.451,1.655,1.029,1.029,0,0,0,.336.328c.141.081.285.154.431.225.312.151.633.285.956.407.268.1.538.2.813.275a.621.621,0,0,0,.4.019,3.725,3.725,0,0,0,1.824-1.291,3.088,3.088,0,0,0,.69-1.976,2.95,2.95,0,0,0-.766-1.835C294.532,45.273,294.1,45.712,294.357,46.01Z",
23374
- transform: "translate(-252.392 -38.857)",
23375
- fill: "#211715"
23376
- }),
23377
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23378
- id: "Trac\xe9_729",
23379
- "data-name": "Trac\xe9 729",
23380
- d: "M293.888,90.285a18.883,18.883,0,0,0,1.9.711.311.311,0,0,0,.38-.216.315.315,0,0,0-.216-.38c-.3-.094-.6-.2-.893-.307q-.236-.087-.47-.18l-.225-.091-.054-.023-.006,0-.1-.045a.317.317,0,0,0-.423.111.312.312,0,0,0,.111.422Z",
23381
- transform: "translate(-255.945 -78.17)",
23382
- fill: "#211715"
23383
- }),
23384
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23385
- id: "Trac\xe9_730",
23386
- "data-name": "Trac\xe9 730",
23387
- d: "M290.876,81.642a5.52,5.52,0,0,0-.413,1.17,5.586,5.586,0,0,0-.151.621.805.805,0,0,0,.449.884,6.314,6.314,0,0,0,.712.31,3.443,3.443,0,0,0,.635.216.856.856,0,0,0,.807-.329,2.8,2.8,0,0,0,.29-.569c.11-.253.216-.509.306-.771a1.016,1.016,0,0,0,.1-.586c-.122-.377-.718-.215-.6.164,0,.011-.006-.1-.008-.026,0-.047.009-.051-.006.011s-.04.145-.064.216c-.061.184-.132.365-.206.544-.057.138-.134.314-.212.474a1.18,1.18,0,0,1-.127.213c.013-.015.061-.032.008-.01-.019.008-.037.021-.056.03-.082.039-.036.015-.027.012s-.086.035-.061.022c-.032.016-.043,0,0,0l-.046-.011c-.041-.012-.082-.023-.123-.036-.107-.034-.213-.074-.318-.114-.2-.076-.36-.144-.547-.228a.971.971,0,0,1-.256-.142c-.055-.05-.057-.082-.044-.164a4.87,4.87,0,0,1,.137-.555q.1-.337.21-.669c.029-.085.06-.17.093-.254l.021-.054c-.01.026-.023.049,0,.009.012-.024.022-.049.036-.072a.309.309,0,0,0-.533-.312Z",
23388
- transform: "translate(-252.948 -71.007)",
23389
- fill: "#211715"
23390
- }),
23391
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23392
- id: "Trac\xe9_731",
23393
- "data-name": "Trac\xe9 731",
23394
- d: "M334.647,38.833q-.338.257-.678.511a.336.336,0,0,0-.142.184.316.316,0,0,0,.031.238.312.312,0,0,0,.185.142.3.3,0,0,0,.238-.031q.341-.254.678-.511a.346.346,0,0,0,.142-.184.316.316,0,0,0-.031-.238.312.312,0,0,0-.185-.142.3.3,0,0,0-.238.031Z",
23395
- transform: "translate(-290.868 -33.799)",
23396
- fill: "#211715"
23397
- }),
23398
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23399
- id: "Trac\xe9_732",
23400
- "data-name": "Trac\xe9 732",
23401
- d: "M324.438,30.212q.055-.144.115-.287l-.031.074q.083-.2.175-.387a.331.331,0,0,0,.031-.238.315.315,0,0,0-.142-.185.312.312,0,0,0-.238-.031.305.305,0,0,0-.185.142c-.118.244-.225.494-.322.748a.309.309,0,0,0,.454.349l.063-.048a.307.307,0,0,0,.079-.136Z",
23402
- transform: "translate(-282.168 -25.397)",
23403
- fill: "#211715"
23404
- }),
23405
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23406
- id: "Trac\xe9_733",
23407
- "data-name": "Trac\xe9 733",
23408
- d: "M311.14,27.836c-.039-.284-.084-.568-.147-.848a.311.311,0,0,0-.38-.216.316.316,0,0,0-.216.38c.063.28.108.564.147.848a.309.309,0,0,0,.142.184.316.316,0,0,0,.238.031.313.313,0,0,0,.185-.142L311.14,28a.312.312,0,0,0,0-.164Z",
23409
- transform: "translate(-270.454 -23.319)",
23410
- fill: "#211715"
23411
- }),
23412
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23413
- id: "Trac\xe9_734",
23414
- "data-name": "Trac\xe9 734",
23415
- d: "M301.856,62.932a1.339,1.339,0,0,0-.359-.823,1.429,1.429,0,0,0-.757-.525A.9.9,0,0,0,299.7,62.7a.86.86,0,0,0,.61.57.78.78,0,0,0,.442.007.967.967,0,0,0,.4-.28.939.939,0,0,0,.214-.872,1.377,1.377,0,0,0-.484-.69,1.393,1.393,0,0,0-1.016-.338,1.369,1.369,0,0,0-.916.538.319.319,0,0,0,0,.437.311.311,0,0,0,.437,0,.708.708,0,0,1,.875-.307,1.006,1.006,0,0,1,.414.332c-.008-.011.042.068.049.081a.663.663,0,0,1,.031.06c0-.007-.011-.029,0,0s.027.1.027.1c0-.017-.012.112,0,.072a.273.273,0,0,1-.031.089.4.4,0,0,1-.044.067.824.824,0,0,1-.08.078s-.109.058-.066.041c.061-.023-.052-.006-.019,0a.816.816,0,0,1-.114-.029c-.051-.016.039.022-.011,0a.57.57,0,0,1-.057-.033c.007,0-.05-.055-.03-.027a.29.29,0,0,1-.054-.144.254.254,0,0,1,.031-.137c.016-.019.034-.034.05-.051s.035-.028.006-.006.014-.008.022-.013l.049-.028c.042-.024-.039.013.008-.005l.044-.015c.02-.006.041-.011.061-.015-.05.01.043,0,.047,0a.291.291,0,0,1,.183.085,2.283,2.283,0,0,1,.248.233.976.976,0,0,1,.16.226.5.5,0,0,1,.055.2.315.315,0,0,0,.309.309.312.312,0,0,0,.309-.309Z",
23416
- transform: "translate(-260.411 -53.237)",
23417
- fill: "#211715"
23418
- }),
23419
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23420
- id: "Trac\xe9_735",
23421
- "data-name": "Trac\xe9 735",
23422
- d: "M104.39,136.218a4.078,4.078,0,0,0,.442-1.938,3.21,3.21,0,0,0-.545-1.851c-.48-.607-1.225-.387-1.823-.112-.575.265-1.192.783-1.024,1.495a.859.859,0,0,0,.711.659,1.369,1.369,0,0,0,.578-.1l.613-.2c.377-.122.215-.718-.164-.6-.267.086-.533.184-.8.259-.153.042-.268.016-.327-.146-.156-.43.489-.732.78-.863a1.607,1.607,0,0,1,.63-.181.493.493,0,0,1,.444.315,3.028,3.028,0,0,1,.314,1.374,3.405,3.405,0,0,1-.359,1.572c-.178.354.354.667.533.312Z",
23423
- transform: "translate(-88.364 -115.052)",
23424
- fill: "#211715"
23425
- }),
23426
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23427
- id: "Trac\xe9_736",
23428
- "data-name": "Trac\xe9 736",
23429
- d: "M120.184,162.62a10.094,10.094,0,0,1,.463,1.347.309.309,0,1,0,.6-.164,10.1,10.1,0,0,0-.463-1.347.34.34,0,0,0-.142-.185.315.315,0,0,0-.238-.031.312.312,0,0,0-.216.38Z",
23430
- transform: "translate(-104.706 -141.357)",
23431
- fill: "#211715"
23432
- }),
23433
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23434
- id: "Trac\xe9_737",
23435
- "data-name": "Trac\xe9 737",
23436
- d: "M99.584,172.086c-1.3.532-2.671.867-4,1.3a.314.314,0,0,0-.216.38c.332,1.117.7,2.22,1.122,3.307a.318.318,0,0,0,.379.215.311.311,0,0,0,.216-.38c-.425-1.086-.79-2.189-1.122-3.307l-.215.38c1.331-.434,2.705-.769,4-1.3a.319.319,0,0,0,.216-.38.311.311,0,0,0-.38-.216Z",
23437
- transform: "translate(-83.088 -149.935)",
23438
- fill: "#211715"
23439
- }),
23440
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23441
- id: "Trac\xe9_738",
23442
- "data-name": "Trac\xe9 738",
23443
- d: "M91.883,105.994c-.229-.539-.465-1.075-.687-1.617a.824.824,0,0,1-.072-.646c.059-.127.217-.1.325-.051a.953.953,0,0,1,.335.394c.1.162.188.329.274.5.2.384.371.778.535,1.176.172.418.333.842.469,1.274.119.378.716.216.6-.164a16.444,16.444,0,0,0-1.156-2.77c-.224-.42-.493-.936-1-1.039a.826.826,0,0,0-.8.219,1.073,1.073,0,0,0-.219.831,4.19,4.19,0,0,0,.393,1.084l.478,1.124a.311.311,0,0,0,.423.111.317.317,0,0,0,.111-.423Z",
23444
- transform: "translate(-78.827 -89.766)",
23445
- fill: "#211715"
23446
- }),
23447
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23448
- id: "Trac\xe9_739",
23449
- "data-name": "Trac\xe9 739",
23450
- d: "M83.746,143.745c.35.276.878.722,1.344.48a.842.842,0,0,0,.3-1.156,3.53,3.53,0,0,0-.637-.627,2.842,2.842,0,0,0-1.082-.576,1.041,1.041,0,0,0-1.086.2,1.789,1.789,0,0,0-.449,1.206,1.844,1.844,0,0,0,.559,1.109,11.151,11.151,0,0,0,.915.9,1.74,1.74,0,0,1,.44.469,2.913,2.913,0,0,1,.169.4c.109.294.213.592.3.895a.309.309,0,0,0,.6-.164,8.213,8.213,0,0,0-.5-1.385,2.458,2.458,0,0,0-.67-.744,9.418,9.418,0,0,1-.743-.741,1.347,1.347,0,0,1-.446-.746.986.986,0,0,1,.086-.454.924.924,0,0,1,.22-.36c-.029.023.044-.02.018-.009,0,0,.086-.022.073-.02a.782.782,0,0,1,.2,0,2.131,2.131,0,0,1,.415.125,2.017,2.017,0,0,1,.632.4c.118.1.235.207.345.317a1.193,1.193,0,0,1,.134.143c-.031-.044.007.026.007.073,0,.1-.034.192-.12.185a.87.87,0,0,1-.284-.153,3.2,3.2,0,0,1-.3-.21.319.319,0,0,0-.437,0,.311.311,0,0,0,0,.437Z",
23451
- transform: "translate(-71.565 -123.556)",
23452
- fill: "#211715"
23453
- }),
23454
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23455
- id: "Trac\xe9_740",
23456
- "data-name": "Trac\xe9 740",
23457
- d: "M87.736,135.15c.05.063.006,0,0-.013s-.037-.082-.015-.023a.766.766,0,0,1-.027-.083c0-.006-.014-.095-.01-.038a.541.541,0,0,1,0-.094c0,.05.008-.028.011-.039s.022-.079.009-.036.014-.024.018-.034l.016-.026q-.041.051-.018.026c.013-.007.047-.058.017-.018s0,0,.015-.005c.06-.018-.061.019,0,0,.042-.013.086-.023.127-.038h-.014l.044,0,.087,0a1.389,1.389,0,0,1,.309.054c.113.029.225.06.336.1.065.023-.019-.013.037.016.027.014.053.027.079.042,0,0,.079.053.035.019a.61.61,0,0,1,.065.06c.009.01.057.074.025.026.016.024.029.049.045.073.029.046,0-.012.009.018a.9.9,0,0,1,.027.1.311.311,0,0,0,.38.216.316.316,0,0,0,.216-.38,1.1,1.1,0,0,0-.725-.772,2.384,2.384,0,0,0-.953-.188.816.816,0,0,0-.712.415.992.992,0,0,0,.138,1.059.31.31,0,0,0,.437,0,.318.318,0,0,0,0-.437Z",
23458
- transform: "translate(-75.864 -116.857)",
23459
- fill: "#211715"
23460
- }),
23461
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23462
- id: "Trac\xe9_741",
23463
- "data-name": "Trac\xe9 741",
23464
- d: "M91.049,127.981a.457.457,0,0,0,0-.062c0,.03.016-.044.006-.021s.025-.047.03-.057.03-.044.013-.023a.817.817,0,0,1,.1-.1c.021-.02.023-.016,0,0,.019-.013.039-.026.059-.037s.066-.032.02-.013a.634.634,0,0,1,.06-.02.8.8,0,0,1,.083-.02c.056-.01-.032,0,.026,0a2.064,2.064,0,0,1,.342,0l.066.005c.007,0,.089.011.05.005l.04.007.087.015a1.893,1.893,0,0,1,.263.066.635.635,0,0,1,.077.041c.009.005.065.048.029.017.016.014.03.029.045.043l.021.024q-.017-.024,0,0a.625.625,0,0,1,.035.056c.006.011.029.067.017.032a.6.6,0,0,1,.018.064c-.01-.042,0,.043,0,.05a.309.309,0,0,0,.618,0,.976.976,0,0,0-.475-.82,2.019,2.019,0,0,0-.895-.222,1.457,1.457,0,0,0-.878.166.953.953,0,0,0-.474.807.309.309,0,0,0,.618,0Z",
23465
- transform: "translate(-78.796 -110.659)",
23466
- fill: "#211715"
23467
- }),
23468
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23469
- id: "Trac\xe9_742",
23470
- "data-name": "Trac\xe9 742",
23471
- d: "M125.686,126.569c.071-.556.195-1.1.311-1.651a7.627,7.627,0,0,1,.514-1.587,4.556,4.556,0,0,1,1.031-1.529,5.67,5.67,0,0,1,1.647-.942c.185-.075.374-.138.559-.21.01,0,.133-.054.04-.017l.078-.031.169-.063a6.215,6.215,0,0,0,.864-.359c.347-.193.036-.726-.312-.533a12.385,12.385,0,0,1-1.486.586,7.117,7.117,0,0,0-1.871,1.027,4.619,4.619,0,0,0-1.165,1.575,8.219,8.219,0,0,0-.626,1.751,19.692,19.692,0,0,0-.37,1.982.31.31,0,0,0,.309.309.317.317,0,0,0,.309-.309Z",
23472
- transform: "translate(-108.978 -104.217)",
23473
- fill: "#211715"
23474
- }),
23475
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23476
- id: "Trac\xe9_743",
23477
- "data-name": "Trac\xe9 743",
23478
- d: "M146,1.3A7.439,7.439,0,0,0,140.413.117a6.642,6.642,0,0,0-3.924,2.205,7.212,7.212,0,0,0-1.566,4.133,12.781,12.781,0,0,0-.037,1.354,5.115,5.115,0,0,0,.059.793c.047.262.086.525.116.79a19.33,19.33,0,0,1,.055,2.89c-.018.464-.039.929-.044,1.394a6.163,6.163,0,0,0,.051,1.352,2.322,2.322,0,0,0,1.408,1.65,1.191,1.191,0,0,0,.572.025.312.312,0,0,0,.216-.38.316.316,0,0,0-.38-.216.612.612,0,0,1-.324-.055,1.292,1.292,0,0,1-.364-.266,2.076,2.076,0,0,1-.493-.779,1.361,1.361,0,0,1-.048-.188c.009.05,0-.013,0-.032,0-.074-.007-.148-.009-.223q-.012-.339-.01-.677c0-.442.018-.883.035-1.324a23.7,23.7,0,0,0,0-2.685c-.039-.512-.139-1.013-.2-1.521A9.221,9.221,0,0,1,135.509,7,7.088,7.088,0,0,1,136.7,3.046,5.9,5.9,0,0,1,139.922.86,7.178,7.178,0,0,1,142.7.683a6.38,6.38,0,0,1,2.336.719,6.34,6.34,0,0,1,.651.431.311.311,0,0,0,.423-.111A.316.316,0,0,0,146,1.3Z",
23479
- transform: "translate(-117.528 0)",
23480
- fill: "#211715"
23481
- }),
23482
- /*#__PURE__*/ (0, $bZRJW$jsx)("path", {
23483
- id: "Trac\xe9_744",
23484
- "data-name": "Trac\xe9 744",
23485
- d: "M132.635,177.331c.185.6.392,1.2.6,1.79a.309.309,0,0,0,.6-.164c-.211-.593-.418-1.188-.6-1.79a.309.309,0,1,0-.6.164Z",
23486
- transform: "translate(-115.561 -154.175)",
23487
- fill: "#211715"
23488
- })
23489
- ]
23490
- })
23491
- });
23492
- };
23493
- var $75710e2a5540e2b8$export$2e2bcd8739ae039 = $75710e2a5540e2b8$var$TemporaryBanner;
23494
-
23495
-
23496
23010
  const $ede9b93aab85f374$var$UserRequest = ()=>{
23497
23011
  const configuration = (0, $1x02c.useRetorikStore)((state)=>state.configuration);
23498
23012
  const mode = (0, $i1rfm.useSpeechStore)((state)=>state.mode);
23499
23013
  const currentDeviceType = (0, $1Qww3.useViewStore)((state)=>state.currentDeviceType);
23500
23014
  const mediumLandscape = (0, $1Qww3.useViewStore)((state)=>state.mediumLandscape);
23501
- const isBorne = (0, $1Qww3.useViewStore)((state)=>state.isBorne);
23502
23015
  const [gridRowStart, setGridRowStart] = (0, $bZRJW$useState)();
23503
23016
  const [gridRowSpan, setGridRowSpan] = (0, $bZRJW$useState)();
23504
23017
  (0, $bZRJW$useEffect)(()=>{
@@ -23544,7 +23057,7 @@ const $ede9b93aab85f374$var$UserRequest = ()=>{
23544
23057
  configuration.answerpanel,
23545
23058
  currentDeviceType
23546
23059
  ]);
23547
- return /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
23060
+ return /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23548
23061
  id: "retorik-userRequest",
23549
23062
  className: `rf-relative rf-z-util rf-h-full rf-w-3/5 landscape-retorik:rf-w-[calc(80%-10rem)] landscape-retorik:rf-ml-1/5 rf-py-4 large-vertical:rf-py-5 rf-flex rf-flex-col rf-justify-self-center rf-justify-end landscape-retorik:rf-justify-self-start
23550
23063
  ${mode === (0, $4ucVo.Mode).text && 'landscape-retorik:rf-justify-start'}
@@ -23552,10 +23065,7 @@ const $ede9b93aab85f374$var$UserRequest = ()=>{
23552
23065
  style: {
23553
23066
  gridRow: `${gridRowStart} / span ${gridRowSpan}`
23554
23067
  },
23555
- children: [
23556
- configuration.showTemporaryBanner && isBorne ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $75710e2a5540e2b8$export$2e2bcd8739ae039), {}) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}),
23557
- mode === (0, $4ucVo.Mode).text ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $3BlcX.default), {}) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $7eea63803bf8724c$export$2e2bcd8739ae039), {})
23558
- ]
23068
+ children: mode === (0, $4ucVo.Mode).text ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $3BlcX.default), {}) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $7eea63803bf8724c$export$2e2bcd8739ae039), {})
23559
23069
  });
23560
23070
  };
23561
23071
  var $ede9b93aab85f374$export$2e2bcd8739ae039 = $ede9b93aab85f374$var$UserRequest;
@@ -23642,6 +23152,8 @@ var $1x02c = parcelRequire("1x02c");
23642
23152
 
23643
23153
  var $i1rfm = parcelRequire("i1rfm");
23644
23154
 
23155
+ var $9GPj7 = parcelRequire("9GPj7");
23156
+
23645
23157
  var $j67YK = parcelRequire("j67YK");
23646
23158
 
23647
23159
  var $1Qww3 = parcelRequire("1Qww3");
@@ -23655,6 +23167,7 @@ const $d0566425e54c7d5b$var$BotResponse = ()=>{
23655
23167
  const speaking = (0, $i1rfm.useSpeechStore)((state)=>state.speaking);
23656
23168
  const lastRecognitionInterim = (0, $i1rfm.useSpeechStore)((state)=>state.lastRecognitionInterim);
23657
23169
  const currentOrLastPlayedActivity = (0, $i1rfm.useSpeechStore)((state)=>state.currentOrLastPlayedActivity);
23170
+ const botMessageActivities = (0, $9GPj7.useActivityStore)((state)=>state.botMessageActivities);
23658
23171
  const currentDeviceType = (0, $1Qww3.useViewStore)((state)=>state.currentDeviceType);
23659
23172
  const currentWidth = (0, $1Qww3.useViewStore)((state)=>state.currentWidth);
23660
23173
  const currentHeight = (0, $1Qww3.useViewStore)((state)=>state.currentHeight);
@@ -23745,26 +23258,39 @@ const $d0566425e54c7d5b$var$BotResponse = ()=>{
23745
23258
  currentWidth,
23746
23259
  currentHeight
23747
23260
  ]);
23261
+ /**
23262
+ * Check if the current activity is a streaming one without attachments.
23263
+ * If so, let's check if we already received the message at the end of the streaming asn if it contains attachments to be displayed
23264
+ */ const processedCurrentOrLastPlayedActivity = (0, $bZRJW$useMemo)(()=>{
23265
+ if (currentOrLastPlayedActivity?.name?.toLowerCase() === 'davi.streammessageactivity' && !currentOrLastPlayedActivity?.attachments?.length) {
23266
+ const relatedMessageActivityWithAttachments = botMessageActivities.find((activity)=>activity.value?.streamingCount && activity.replyToId === currentOrLastPlayedActivity.replyToId && activity.attachments?.length);
23267
+ if (relatedMessageActivityWithAttachments) return relatedMessageActivityWithAttachments;
23268
+ }
23269
+ return currentOrLastPlayedActivity;
23270
+ }, [
23271
+ currentOrLastPlayedActivity,
23272
+ botMessageActivities
23273
+ ]);
23748
23274
  const currentDisplay = (0, $bZRJW$useMemo)(()=>{
23749
- if (currentOrLastPlayedActivity) {
23750
- if (currentOrLastPlayedActivity.attachmentLayout) switch(currentOrLastPlayedActivity.attachmentLayout.toLowerCase()){
23275
+ if (processedCurrentOrLastPlayedActivity) {
23276
+ if (processedCurrentOrLastPlayedActivity.attachmentLayout) switch(processedCurrentOrLastPlayedActivity.attachmentLayout.toLowerCase()){
23751
23277
  case 'davilist':
23752
23278
  return (0, $4ucVo.Displays).list;
23753
23279
  case 'carousel':
23754
23280
  case 'namedlist':
23755
- return currentOrLastPlayedActivity.attachments && currentOrLastPlayedActivity.attachments.length > 1 ? (0, $4ucVo.Displays).carousel : (0, $4ucVo.Displays).normal;
23281
+ return processedCurrentOrLastPlayedActivity.attachments && processedCurrentOrLastPlayedActivity.attachments.length > 1 ? (0, $4ucVo.Displays).carousel : (0, $4ucVo.Displays).normal;
23756
23282
  case 'grid':
23757
23283
  return (0, $4ucVo.Displays).grid;
23758
23284
  }
23759
23285
  // If we have no attachment layout but attachment(s), we use list display by default is there are several attachments
23760
- if (currentOrLastPlayedActivity.attachments?.length) return currentOrLastPlayedActivity.attachments?.length > 1 ? (0, $4ucVo.Displays).list : (0, $4ucVo.Displays).normal;
23286
+ if (processedCurrentOrLastPlayedActivity.attachments?.length) return processedCurrentOrLastPlayedActivity.attachments?.length > 1 ? (0, $4ucVo.Displays).list : (0, $4ucVo.Displays).normal;
23761
23287
  }
23762
23288
  return (0, $4ucVo.Displays).none;
23763
23289
  }, [
23764
- currentOrLastPlayedActivity
23290
+ processedCurrentOrLastPlayedActivity
23765
23291
  ]);
23766
23292
  return currentDisplay === (0, $4ucVo.Displays).none ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}) : currentDisplay === (0, $4ucVo.Displays).list ? lastRecognitionInterim === '' && !(listStatus === (0, $4ucVo.ListStatus).closed) ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $kyBz3.default), {
23767
- activity: currentOrLastPlayedActivity,
23293
+ activity: processedCurrentOrLastPlayedActivity,
23768
23294
  onClose: ()=>setListStatus((0, $4ucVo.ListStatus).closed)
23769
23295
  }) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}) : /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23770
23296
  id: "retorik-botResponse",
@@ -23772,10 +23298,10 @@ const $d0566425e54c7d5b$var$BotResponse = ()=>{
23772
23298
  style: {
23773
23299
  gridRow: `${gridRowStart} / span ${gridRowSpan}`
23774
23300
  },
23775
- children: currentOrLastPlayedActivity && /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23301
+ children: processedCurrentOrLastPlayedActivity && /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23776
23302
  className: "rf-w-full rf-h-full rf-flex rf-flex-col landscape-retorik:rf-items-start vertical:rf-items-center rf-gap-2",
23777
23303
  children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1LYTj.default), {
23778
- activity: currentOrLastPlayedActivity
23304
+ activity: processedCurrentOrLastPlayedActivity
23779
23305
  })
23780
23306
  })
23781
23307
  });
@@ -23790,6 +23316,8 @@ var $1x02c = parcelRequire("1x02c");
23790
23316
 
23791
23317
  var $i1rfm = parcelRequire("i1rfm");
23792
23318
 
23319
+ var $9GPj7 = parcelRequire("9GPj7");
23320
+
23793
23321
  var $j67YK = parcelRequire("j67YK");
23794
23322
 
23795
23323
  var $1Qww3 = parcelRequire("1Qww3");
@@ -23803,6 +23331,7 @@ const $f39384d6255fe275$var$BotResponse = ()=>{
23803
23331
  const speaking = (0, $i1rfm.useSpeechStore)((state)=>state.speaking);
23804
23332
  const lastRecognitionInterim = (0, $i1rfm.useSpeechStore)((state)=>state.lastRecognitionInterim);
23805
23333
  const currentOrLastPlayedActivity = (0, $i1rfm.useSpeechStore)((state)=>state.currentOrLastPlayedActivity);
23334
+ const botMessageActivities = (0, $9GPj7.useActivityStore)((state)=>state.botMessageActivities);
23806
23335
  const currentDeviceType = (0, $1Qww3.useViewStore)((state)=>state.currentDeviceType);
23807
23336
  const currentWidth = (0, $1Qww3.useViewStore)((state)=>state.currentWidth);
23808
23337
  const currentHeight = (0, $1Qww3.useViewStore)((state)=>state.currentHeight);
@@ -23893,26 +23422,39 @@ const $f39384d6255fe275$var$BotResponse = ()=>{
23893
23422
  currentWidth,
23894
23423
  currentHeight
23895
23424
  ]);
23425
+ /**
23426
+ * Check if the current activity is a streaming one without attachments.
23427
+ * If so, let's check if we already received the message at the end of the streaming asn if it contains attachments to be displayed
23428
+ */ const processedCurrentOrLastPlayedActivity = (0, $bZRJW$useMemo)(()=>{
23429
+ if (currentOrLastPlayedActivity?.name?.toLowerCase() === 'davi.streammessageactivity' && !currentOrLastPlayedActivity?.attachments?.length) {
23430
+ const relatedMessageActivityWithAttachments = botMessageActivities.find((activity)=>activity.value?.streamingCount && activity.replyToId === currentOrLastPlayedActivity.replyToId && activity.attachments?.length);
23431
+ if (relatedMessageActivityWithAttachments) return relatedMessageActivityWithAttachments;
23432
+ }
23433
+ return currentOrLastPlayedActivity;
23434
+ }, [
23435
+ currentOrLastPlayedActivity,
23436
+ botMessageActivities
23437
+ ]);
23896
23438
  const currentDisplay = (0, $bZRJW$useMemo)(()=>{
23897
- if (currentOrLastPlayedActivity) {
23898
- if (currentOrLastPlayedActivity.attachmentLayout) switch(currentOrLastPlayedActivity.attachmentLayout.toLowerCase()){
23439
+ if (processedCurrentOrLastPlayedActivity) {
23440
+ if (processedCurrentOrLastPlayedActivity.attachmentLayout) switch(processedCurrentOrLastPlayedActivity.attachmentLayout.toLowerCase()){
23899
23441
  case 'davilist':
23900
23442
  return (0, $4ucVo.Displays).list;
23901
23443
  case 'carousel':
23902
23444
  case 'namedlist':
23903
- return currentOrLastPlayedActivity.attachments && currentOrLastPlayedActivity.attachments.length > 1 ? (0, $4ucVo.Displays).carousel : (0, $4ucVo.Displays).normal;
23445
+ return processedCurrentOrLastPlayedActivity.attachments && processedCurrentOrLastPlayedActivity.attachments.length > 1 ? (0, $4ucVo.Displays).carousel : (0, $4ucVo.Displays).normal;
23904
23446
  case 'grid':
23905
23447
  return (0, $4ucVo.Displays).grid;
23906
23448
  }
23907
23449
  // If we have no attachment layout but attachment(s), we use list display by default is there are several attachments
23908
- if (currentOrLastPlayedActivity.attachments?.length) return currentOrLastPlayedActivity.attachments?.length > 1 ? (0, $4ucVo.Displays).list : (0, $4ucVo.Displays).normal;
23450
+ if (processedCurrentOrLastPlayedActivity.attachments?.length) return processedCurrentOrLastPlayedActivity.attachments?.length > 1 ? (0, $4ucVo.Displays).list : (0, $4ucVo.Displays).normal;
23909
23451
  }
23910
23452
  return (0, $4ucVo.Displays).none;
23911
23453
  }, [
23912
- currentOrLastPlayedActivity
23454
+ processedCurrentOrLastPlayedActivity
23913
23455
  ]);
23914
23456
  return currentDisplay === (0, $4ucVo.Displays).none ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}) : currentDisplay === (0, $4ucVo.Displays).list ? lastRecognitionInterim === '' && !(listStatus === (0, $4ucVo.ListStatus).closed) ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $kyBz3.default), {
23915
- activity: currentOrLastPlayedActivity,
23457
+ activity: processedCurrentOrLastPlayedActivity,
23916
23458
  onClose: ()=>setListStatus((0, $4ucVo.ListStatus).closed)
23917
23459
  }) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}) : /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23918
23460
  id: "retorik-botResponse",
@@ -23920,10 +23462,10 @@ const $f39384d6255fe275$var$BotResponse = ()=>{
23920
23462
  style: {
23921
23463
  gridRow: `${gridRowStart} / span ${gridRowSpan}`
23922
23464
  },
23923
- children: currentOrLastPlayedActivity && /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23465
+ children: processedCurrentOrLastPlayedActivity && /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
23924
23466
  className: "rf-w-full rf-h-full rf-flex rf-flex-col landscape-retorik:rf-justify-center landscape-retorik:rf-items-start vertical:rf-items-center rf-gap-2",
23925
23467
  children: /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1LYTj.default), {
23926
- activity: currentOrLastPlayedActivity
23468
+ activity: processedCurrentOrLastPlayedActivity
23927
23469
  })
23928
23470
  })
23929
23471
  });
@@ -24006,6 +23548,7 @@ const $1d193b8bc4e911e9$var$SubViews = ({ externalComponents: externalComponents
24006
23548
  const locale = (0, $2fuDN.useLocaleStore)((state)=>state.locale);
24007
23549
  const currentSubView = (0, $j67YK.useUtilsStore)((state)=>state.currentSubView);
24008
23550
  const currentCustomView = (0, $j67YK.useUtilsStore)((state)=>state.currentCustomView);
23551
+ const enabledFeatures = (0, $1x02c.useRetorikStore)((state)=>state.enabledFeatures);
24009
23552
  const { setCurrentCustomView: setCurrentCustomView, setCurrentSubView: setCurrentSubView, setRetorikEvent: setRetorikEvent, unlockClickedButton: unlockClickedButton } = (0, $j67YK.useUtilsStore)((state)=>state.actions);
24010
23553
  const configuration = (0, $1x02c.useRetorikStore)((state)=>state.configuration);
24011
23554
  const showMap = (0, $0645bcccfc515a57$export$2e2bcd8739ae039)();
@@ -24074,16 +23617,36 @@ const $1d193b8bc4e911e9$var$SubViews = ({ externalComponents: externalComponents
24074
23617
  ]);
24075
23618
  (0, $bZRJW$useEffect)(()=>{
24076
23619
  unlockClickedButton();
24077
- if (currentSubView !== (0, $4ucVo.CurrentSubView).none) setRetorikEvent((0, $4ucVo.RetorikEvent).DetailViewOpen);
24078
- else setRetorikEvent((0, $4ucVo.RetorikEvent).DetailViewClose);
24079
- if (currentSubView !== (0, $4ucVo.CurrentSubView).custom) setDisplayCustomComponent(false);
24080
- else setDisplayCustomComponent(true);
23620
+ // Special processing for external / custom data
23621
+ setDisplayCustomComponent(currentSubView === (0, $4ucVo.CurrentSubView).custom);
23622
+ setRetorikEvent(currentSubView === (0, $4ucVo.CurrentSubView).none ? (0, $4ucVo.RetorikEvent).DetailViewClose : (0, $4ucVo.RetorikEvent).DetailViewOpen);
24081
23623
  }, [
24082
23624
  currentSubView
24083
23625
  ]);
23626
+ const processedSubView = (0, $bZRJW$useMemo)(()=>{
23627
+ switch(currentSubView){
23628
+ case (0, $4ucVo.CurrentSubView).none:
23629
+ case (0, $4ucVo.CurrentSubView).history:
23630
+ case (0, $4ucVo.CurrentSubView).languages:
23631
+ case (0, $4ucVo.CurrentSubView).custom:
23632
+ return currentSubView;
23633
+ case (0, $4ucVo.CurrentSubView).emergency:
23634
+ if (enabledFeatures.includes('emergency')) return (0, $4ucVo.CurrentSubView).emergency;
23635
+ else console.log('Retorik Framework > tried to switch to emergency while the feature is not activated in Retorik Studio');
23636
+ break;
23637
+ case (0, $4ucVo.CurrentSubView).weather:
23638
+ if (enabledFeatures.includes('weather')) return (0, $4ucVo.CurrentSubView).weather;
23639
+ else console.log('Retorik Framework > tried to switch to weather while the feature is not activated in Retorik Studio');
23640
+ break;
23641
+ }
23642
+ return (0, $4ucVo.CurrentSubView).none;
23643
+ }, [
23644
+ currentSubView,
23645
+ enabledFeatures
23646
+ ]);
24084
23647
  return /*#__PURE__*/ (0, $bZRJW$jsxs)((0, $bZRJW$Suspense), {
24085
23648
  children: [
24086
- currentSubView === (0, $4ucVo.CurrentSubView).history ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$HistoryList, {}) : currentSubView === (0, $4ucVo.CurrentSubView).languages ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$LanguageChoice, {}) : currentSubView === (0, $4ucVo.CurrentSubView).weather ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$Weather, {}) : currentSubView === (0, $4ucVo.CurrentSubView).emergency ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$Emergency, {}) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}),
23649
+ processedSubView === (0, $4ucVo.CurrentSubView).history ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$HistoryList, {}) : processedSubView === (0, $4ucVo.CurrentSubView).languages ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$LanguageChoice, {}) : processedSubView === (0, $4ucVo.CurrentSubView).weather ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$Weather, {}) : processedSubView === (0, $4ucVo.CurrentSubView).emergency ? /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$Emergency, {}) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {}),
24087
23650
  /*#__PURE__*/ (0, $bZRJW$jsx)($1d193b8bc4e911e9$var$CustomView, {
24088
23651
  display: displayCustomComponent,
24089
23652
  externalComponents: externalComponents,
@@ -24305,7 +23868,7 @@ const $77050b56e8d1d908$var$TextBubble = ({ from: from, id: id, text: text, html
24305
23868
  return /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
24306
23869
  id: from === (0, $4ucVo.TextFrom).user ? `retorik-userQuestion-${id}` : `retorik-botResponse-${id}`,
24307
23870
  dir: isRTL ? 'rtl' : 'ltr',
24308
- className: `rf-w-fit rf-min-h-9 large-vertical:rf-min-h-10 rf-px-4 rf-py-2 rf-max-w-[75%] landscape-retorik:rf-max-w-[calc((80%-10rem)*0.75)] large-vertical:rf-max-w-[45%] ${isMobile && 'rf-mx-4'} ${isRTL ? from === (0, $4ucVo.TextFrom).bot ? 'landscape-retorik:rf-mr-40 large-vertical:rf-mr-1/5 rf-self-end rf-text-textModePanelConversationBot rf-bg-textModePanelBackgroundBot rf-border rf-border-textModePanelBackgroundBot rf-rounded-tl-4' : 'landscape-retorik:rf-ml-1/5 large-vertical:rf-ml-1/5 rf-text-textModePanelConversationUser rf-bg-textModePanelBackgroundUser rf-border rf-border-textModePanelBackgroundUser rf-rounded-tr-4' : from === (0, $4ucVo.TextFrom).user ? 'landscape-retorik:rf-mr-40 large-vertical:rf-mr-1/5 rf-self-end rf-text-textModePanelConversationUser rf-bg-textModePanelBackgroundUser rf-border rf-border-textModePanelBackgroundUser rf-rounded-tl-4' : 'landscape-retorik:rf-ml-1/5 large-vertical:rf-ml-1/5 rf-text-textModePanelConversationBot rf-bg-textModePanelBackgroundBot rf-border rf-border-textModePanelBackgroundBot rf-rounded-tr-4'} rf-rounded-b-4 rf-animate-slideBottom rf-flex rf-flex-col rf-text-size-auto rf-shadow-[0_3px_6px_#00000029]`,
23871
+ className: `rf-w-fit ${from === (0, $4ucVo.TextFrom).user ? 'rf-min-h-fit' : 'rf-min-h-9 large-vertical:rf-min-h-10'} rf-px-4 rf-py-2 rf-max-w-[75%] landscape-retorik:rf-max-w-[calc((80%-10rem)*0.75)] large-vertical:rf-max-w-[45%] ${isMobile && 'rf-mx-4'} ${isRTL ? from === (0, $4ucVo.TextFrom).bot ? 'landscape-retorik:rf-mr-40 large-vertical:rf-mr-1/5 rf-self-end rf-text-textModePanelConversationBot rf-bg-textModePanelBackgroundBot rf-border rf-border-textModePanelBackgroundBot rf-rounded-tl-4' : 'landscape-retorik:rf-ml-1/5 large-vertical:rf-ml-1/5 rf-text-textModePanelConversationUser rf-bg-textModePanelBackgroundUser rf-border rf-border-textModePanelBackgroundUser rf-rounded-tr-4' : from === (0, $4ucVo.TextFrom).user ? 'landscape-retorik:rf-mr-40 large-vertical:rf-mr-1/5 rf-self-end rf-text-textModePanelConversationUser rf-bg-textModePanelBackgroundUser rf-border rf-border-textModePanelBackgroundUser rf-rounded-tl-4' : 'landscape-retorik:rf-ml-1/5 large-vertical:rf-ml-1/5 rf-text-textModePanelConversationBot rf-bg-textModePanelBackgroundBot rf-border rf-border-textModePanelBackgroundBot rf-rounded-tr-4'} rf-rounded-b-4 rf-animate-slideBottom rf-flex rf-flex-col rf-text-size-auto rf-shadow-[0_3px_6px_#00000029]`,
24309
23872
  children: isWaitingDots ? /*#__PURE__*/ (0, $bZRJW$jsx)("div", {
24310
23873
  className: "rf-w-8 rf-loader-bouncing-bot"
24311
23874
  }) : /*#__PURE__*/ (0, $bZRJW$jsxs)((0, $bZRJW$react).Fragment, {
@@ -25216,7 +24779,7 @@ const $958af9b5cce7890d$var$Mobile = ({ parametersOpened: parametersOpened, togg
25216
24779
  };
25217
24780
  return /*#__PURE__*/ (0, $bZRJW$jsxs)("div", {
25218
24781
  id: "retorik-framework-menu",
25219
- className: "rf-w-full rf-h-fit rf-flex rf-flex-col-reverse rf-border-t rf-border-t-menuBorder rf-pointer-events-auto",
24782
+ className: "rf-w-full rf-h-fit rf-max-h-80 rf-flex rf-flex-col-reverse rf-border-t rf-border-t-menuBorder rf-pointer-events-auto",
25220
24783
  style: {
25221
24784
  background: 'linear-gradient(to right, #F8F8FC, #EDEEF3)'
25222
24785
  },
@@ -25601,7 +25164,6 @@ const $0c2a4cc3c59eb847$var$ExtendIcon = ({ className: className, color: color,
25601
25164
  var $0c2a4cc3c59eb847$export$2e2bcd8739ae039 = $0c2a4cc3c59eb847$var$ExtendIcon;
25602
25165
 
25603
25166
 
25604
-
25605
25167
  const $19d660b71e82806b$var$HomeView = ({ externalComponents: externalComponents })=>{
25606
25168
  const openWidget = (0, $cxpbh.useWidgetStore)((state)=>state.actions.openWidget);
25607
25169
  const currentLayout = (0, $1x02c.useRetorikStore)((state)=>state.currentLayout);
@@ -25609,7 +25171,6 @@ const $19d660b71e82806b$var$HomeView = ({ externalComponents: externalComponents
25609
25171
  const configuration = (0, $1x02c.useRetorikStore)((state)=>state.configuration);
25610
25172
  const mode = (0, $i1rfm.useSpeechStore)((state)=>state.mode);
25611
25173
  const isMobile = (0, $1Qww3.useViewStore)((state)=>state.isMobile);
25612
- const isBorne = (0, $1Qww3.useViewStore)((state)=>state.isBorne);
25613
25174
  const currentDeviceType = (0, $1Qww3.useViewStore)((state)=>state.currentDeviceType);
25614
25175
  const configurations = (0, $1Qww3.useViewStore)((state)=>state.configurations);
25615
25176
  const setDisplayControls = (0, $1Qww3.useViewStore)((state)=>state.actions.setDisplayControls);
@@ -25656,8 +25217,7 @@ const $19d660b71e82806b$var$HomeView = ({ externalComponents: externalComponents
25656
25217
  loaderClosed && /*#__PURE__*/ (0, $bZRJW$jsx)((0, $1d193b8bc4e911e9$export$2e2bcd8739ae039), {
25657
25218
  externalComponents: externalComponents
25658
25219
  }),
25659
- !configuration?.hideRetorikLogo && /*#__PURE__*/ (0, $bZRJW$jsx)((0, $3ff23eb3a82e4cf7$export$2e2bcd8739ae039), {}),
25660
- configuration.showTemporaryBanner && !isBorne ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $75710e2a5540e2b8$export$2e2bcd8739ae039), {}) : /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$react).Fragment, {})
25220
+ !configuration?.hideRetorikLogo && /*#__PURE__*/ (0, $bZRJW$jsx)((0, $3ff23eb3a82e4cf7$export$2e2bcd8739ae039), {})
25661
25221
  ]
25662
25222
  });
25663
25223
  };
@@ -27177,6 +26737,20 @@ const $982637234a32cc59$var$SynthesisPonyfillManager = ({ isRetorikNews: isRetor
27177
26737
  ponyfillRef.current = (0, $bZRJW$createSpeechSynthesisPonyfill)(data);
27178
26738
  setPonyfillCreated(true);
27179
26739
  } else if (ponyfillCredentials?.subscriptionKey && ponyfillCredentials.region) fetchTokenAndCreatePonyfill(ponyfillCredentials.region, ponyfillCredentials.subscriptionKey);
26740
+ else if (ponyfillCredentials?.speechSynthesisHostname) {
26741
+ // To use self-hosted voice containers, we need no 'region', and 'speechSynthesisHostname' and 'speechRecognitionHostname' must both be defined
26742
+ // As this ponyfill is for speech synthesis only, we put a mock 'speechRecognitionHostname'
26743
+ const data = {
26744
+ credentials: {
26745
+ // @ts-ignore
26746
+ speechSynthesisHostname: new URL(ponyfillCredentials.speechSynthesisHostname),
26747
+ speechRecognitionHostname: ponyfillCredentials.speechRecognitionHostname || 'mandatory_recognition_host_name',
26748
+ subscriptionKey: ponyfillCredentials.subscriptionKey || 'mandatory_subscription_key'
26749
+ }
26750
+ };
26751
+ ponyfillRef.current = (0, $bZRJW$createSpeechSynthesisPonyfill)(data);
26752
+ setPonyfillCreated(true);
26753
+ }
27180
26754
  }, [
27181
26755
  ponyfillCredentials
27182
26756
  ]);
@@ -27244,18 +26818,19 @@ const $e5415612407dd579$var$RecognitionManager = ()=>{
27244
26818
  const { setActiveRecognitionState: setActiveRecognitionState, setLastRecognitionInterim: setLastRecognitionInterim, toggleMicrophone: toggleMicrophone } = (0, $i1rfm.useSpeechStore)((state)=>state.actions);
27245
26819
  const sendMessage = (0, $aNpqK.useDirectlineStore)((state)=>state.actions.sendMessage);
27246
26820
  const [ponyfill, setPonyfill] = (0, $bZRJW$useState)(null);
27247
- const activeModeRef = (0, $bZRJW$useRef)();
27248
- const timerRef = (0, $bZRJW$useRef)(null);
27249
26821
  const [recognitionAllowed, setRecognitionAllowed] = (0, $bZRJW$useState)(false);
27250
26822
  const [ponyfillReady, setPonyfillReady] = (0, $bZRJW$useState)(false);
27251
- const getCommonAndLocalizedWakeWords = (agentName)=>{
26823
+ const activeModeRef = (0, $bZRJW$useRef)();
26824
+ const timerRef = (0, $bZRJW$useRef)(null);
26825
+ const localeRef = (0, $bZRJW$useRef)(undefined);
26826
+ const getCommonAndLocalizedWakeWords = (currentLocale, agentName)=>{
27252
26827
  let commonAndlocalizedWakeWords = [];
27253
26828
  if (speechRecognitionOptions?.wakeWords) {
27254
26829
  if (speechRecognitionOptions.wakeWords.common) commonAndlocalizedWakeWords = [
27255
26830
  ...speechRecognitionOptions.wakeWords.common
27256
26831
  ];
27257
26832
  if (speechRecognitionOptions.wakeWords.localized) {
27258
- const localizedWakeWords = speechRecognitionOptions.wakeWords.localized[locale] || [];
26833
+ const localizedWakeWords = speechRecognitionOptions.wakeWords.localized[currentLocale] || [];
27259
26834
  localizedWakeWords.length && (commonAndlocalizedWakeWords = [
27260
26835
  ...commonAndlocalizedWakeWords,
27261
26836
  ...localizedWakeWords
@@ -27269,14 +26844,14 @@ const $e5415612407dd579$var$RecognitionManager = ()=>{
27269
26844
  ]);
27270
26845
  return commonAndlocalizedWakeWords;
27271
26846
  };
27272
- const getCommonAndLocalizedGrammars = ()=>{
26847
+ const getCommonAndLocalizedGrammars = (currentLocale)=>{
27273
26848
  let commonAndlocalizedGrammars = [];
27274
26849
  if (speechRecognitionOptions?.grammars) {
27275
26850
  if (speechRecognitionOptions.grammars.common) commonAndlocalizedGrammars = [
27276
26851
  ...speechRecognitionOptions.grammars.common
27277
26852
  ];
27278
26853
  if (speechRecognitionOptions.grammars.localized) {
27279
- const localizedGrammars = speechRecognitionOptions.grammars.localized[locale] || [];
26854
+ const localizedGrammars = speechRecognitionOptions.grammars.localized[currentLocale] || [];
27280
26855
  localizedGrammars.length && (commonAndlocalizedGrammars = [
27281
26856
  ...commonAndlocalizedGrammars,
27282
26857
  ...localizedGrammars
@@ -27291,55 +26866,81 @@ const $e5415612407dd579$var$RecognitionManager = ()=>{
27291
26866
  setRecognitionAllowed(permission === (0, $4ucVo.PermissionStatus).allowed);
27292
26867
  }).catch(console.log);
27293
26868
  };
26869
+ (0, $bZRJW$useEffect)(()=>{
26870
+ // Clear data on component unmount
26871
+ return ()=>{
26872
+ timerRef?.current && clearTimeout(timerRef.current);
26873
+ ponyfill?.speechRecognition?.abort?.();
26874
+ };
26875
+ }, []);
27294
26876
  (0, $bZRJW$useEffect)(()=>{
27295
26877
  recognitionAllowed && useContinuousRecognition && ponyfill?.speechRecognition.start();
27296
26878
  }, [
27297
26879
  recognitionAllowed
27298
26880
  ]);
27299
26881
  (0, $bZRJW$useEffect)(()=>{
27300
- if (ponyfillCredentials) {
27301
- const options = {
27302
- autoStart: false,
27303
- continuous: useContinuousRecognition,
27304
- interimResults: true,
27305
- grammarsList: getCommonAndLocalizedGrammars(),
27306
- lang: locale,
27307
- passive: useContinuousRecognition,
27308
- wakeWords: getCommonAndLocalizedWakeWords(),
27309
- debug: false,
27310
- timerBeforeSpeechEnd: speechRecognitionOptions?.timerBeforeSpeechEnd
27311
- };
27312
- setPonyfill((0, $bZRJW$createSpeechRecognitionPonyfill)({
27313
- credentials: ponyfillCredentials
27314
- }, options));
27315
- }
27316
- }, [
27317
- ponyfillCredentials
27318
- ]);
27319
- (0, $bZRJW$useEffect)(()=>{
27320
- if (ponyfill?.speechRecognition) {
27321
- // Set wakeworkds
27322
- ponyfill.speechRecognition.wakeWords = getCommonAndLocalizedWakeWords(agentData?.name);
27323
- // Set language
27324
- activeRecognitionState === (0, $4ucVo.RecognitionState).Listening ? ponyfill.speechRecognition.changeLanguage(locale) : ponyfill.speechRecognition.lang = locale;
27325
- // Set grammar list
27326
- const grammarList = new (0, $bZRJW$SpeechGrammarList)();
27327
- grammarList.phrases = getCommonAndLocalizedGrammars();
27328
- if (speechRecognitionDynamicGrammars.length) speechRecognitionDynamicGrammars.forEach((grammar)=>{
27329
- !grammarList.phrases.includes(grammar) && grammarList.phrases.push(grammar);
27330
- });
27331
- if (agentData?.name) {
27332
- // Add raw name
27333
- !grammarList.phrases.includes(agentData.name) && grammarList.phrases.push(agentData.name);
27334
- // Add lower-cased name
27335
- !grammarList.phrases.includes(agentData.name.toLocaleLowerCase(locale)) && grammarList.phrases.push(agentData.name.toLocaleLowerCase(locale));
26882
+ if (ponyfillCredentials && locale && agentData) {
26883
+ let currentPonyfill = ponyfill;
26884
+ if (locale !== localeRef.current) {
26885
+ localeRef.current = locale;
26886
+ // We create the ponyfill if it isn't created yet. We recreate a new one if we are using custom endpoints for speech recognition.
26887
+ if (!ponyfill || ponyfillCredentials?.speechRecognitionHostnamesRecord) {
26888
+ // Check if we need to use a custom endpoint from speechRecognitionHostnamesRecord
26889
+ const speechRecognitionHostname = ponyfillCredentials?.speechRecognitionHostnamesRecord ? ponyfillCredentials.speechRecognitionHostnamesRecord[locale] || Object.values(ponyfillCredentials.speechRecognitionHostnamesRecord)[0] : undefined;
26890
+ const options = {
26891
+ autoStart: false,
26892
+ continuous: useContinuousRecognition,
26893
+ interimResults: true,
26894
+ grammarsList: getCommonAndLocalizedGrammars(locale),
26895
+ lang: locale,
26896
+ passive: useContinuousRecognition,
26897
+ wakeWords: getCommonAndLocalizedWakeWords(locale),
26898
+ debug: false,
26899
+ timerBeforeSpeechEnd: speechRecognitionOptions?.timerBeforeSpeechEnd
26900
+ };
26901
+ const processedCredentials = {
26902
+ credentials: speechRecognitionHostname ? {
26903
+ region: undefined,
26904
+ subscriptionKey: ponyfillCredentials.subscriptionKey || 'mandatory_subscription_key',
26905
+ speechRecognitionHostname: speechRecognitionHostname,
26906
+ speechSynthesisHostname: 'mandatory_synthesis_host_name'
26907
+ } : {
26908
+ region: ponyfillCredentials.region,
26909
+ subscriptionKey: ponyfillCredentials.subscriptionKey,
26910
+ authorizationToken: ponyfillCredentials.authorizationToken
26911
+ }
26912
+ };
26913
+ // Abort current recognition before setting the new recognition ponyfill if there is a need to
26914
+ currentPonyfill?.speechRecognition?.abort?.();
26915
+ currentPonyfill = (0, $bZRJW$createSpeechRecognitionPonyfill)(processedCredentials, options);
26916
+ } else if (currentPonyfill) {
26917
+ // Set wakeworkds
26918
+ currentPonyfill.speechRecognition.wakeWords = getCommonAndLocalizedWakeWords(locale, agentData?.name);
26919
+ // Set language
26920
+ activeRecognitionState === (0, $4ucVo.RecognitionState).Listening ? currentPonyfill?.speechRecognition.changeLanguage(locale) : currentPonyfill.speechRecognition.lang = locale;
26921
+ }
26922
+ }
26923
+ if (currentPonyfill) {
26924
+ // Set grammar list
26925
+ const grammarList = new (0, $bZRJW$SpeechGrammarList)();
26926
+ grammarList.phrases = getCommonAndLocalizedGrammars(locale);
26927
+ if (speechRecognitionDynamicGrammars.length) speechRecognitionDynamicGrammars.forEach((grammar)=>{
26928
+ !grammarList.phrases.includes(grammar) && grammarList.phrases.push(grammar);
26929
+ });
26930
+ if (agentData?.name) {
26931
+ // Add raw name
26932
+ !grammarList.phrases.includes(agentData.name) && grammarList.phrases.push(agentData.name);
26933
+ // Add lower-cased name
26934
+ !grammarList.phrases.includes(agentData.name.toLocaleLowerCase(locale)) && grammarList.phrases.push(agentData.name.toLocaleLowerCase(locale));
26935
+ }
26936
+ currentPonyfill.speechRecognition.grammars = grammarList;
26937
+ setPonyfill(currentPonyfill);
27336
26938
  }
27337
- ponyfill.speechRecognition.grammars = grammarList;
27338
26939
  }
27339
26940
  }, [
26941
+ ponyfillCredentials,
27340
26942
  locale,
27341
26943
  speechRecognitionDynamicGrammars,
27342
- ponyfill?.speechRecognition,
27343
26944
  agentData
27344
26945
  ]);
27345
26946
  /**
@@ -27376,10 +26977,6 @@ const $e5415612407dd579$var$RecognitionManager = ()=>{
27376
26977
  setPonyfillReady(true);
27377
26978
  }
27378
26979
  }
27379
- return ()=>{
27380
- timerRef?.current && clearTimeout(timerRef.current);
27381
- ponyfill?.speechRecognition?.stop && ponyfill.speechRecognition.stop();
27382
- };
27383
26980
  }, [
27384
26981
  ponyfill,
27385
26982
  appAvailable,
@@ -28183,25 +27780,8 @@ const $7ee62e7bf28b4542$var$RetorikConfigHandler = ({ config: config, viewsConfi
28183
27780
  const [fetchedConfig, setFetchedConfig] = (0, $bZRJW$useState)();
28184
27781
  const [mainConfig, setMainConfig] = (0, $bZRJW$useState)(undefined);
28185
27782
  const { setGDPRDisplay: setGDPRDisplay, setGDPRUserConsent: setGDPRUserConsent, setGDPRWindowData: setGDPRWindowData } = (0, $j67YK.useUtilsStore)((state)=>state.actions);
28186
- const { setBaseAddress: setBaseAddress, setDisableHistory: setDisableHistory, setEnvironmentPreset: setEnvironmentPreset, setCustomScripts: setCustomScripts, setCustomCSS: setCustomCSS } = (0, $1x02c.useRetorikStore)((state)=>state.actions);
27783
+ const { setBaseAddress: setBaseAddress, setDisableHistory: setDisableHistory, setEnvironmentPreset: setEnvironmentPreset, setCustomScripts: setCustomScripts, setCustomCSS: setCustomCSS, setEnabledFeatures: setEnabledFeatures } = (0, $1x02c.useRetorikStore)((state)=>state.actions);
28187
27784
  const [isConfigUpdated, setIsConfigUpdated] = (0, $bZRJW$useState)(false);
28188
- /**
28189
- * Check if emergency data can be retrieved to remove the button in menu if no data available
28190
- * @param {RetorikMainComponentConfiguration} configuration
28191
- */ const checkEmergencyAndSetConfig = async (configuration)=>{
28192
- const data = await (0, $75pB6.fetchEmergencyData)(baseAddress);
28193
- const tempConfiguration = {
28194
- ...configuration
28195
- };
28196
- if (!data) {
28197
- const views = tempConfiguration.config?.baseMenu || (0, $cT90l.DEFAULT_VIEWS);
28198
- const tempBaseMenu = views.filter((menu)=>// @ts-ignore : error on menu.view that doesn't exist in type CustomMenu
28199
- !menu.view || menu.view !== (0, $4ucVo.AvailableViews).emergency);
28200
- tempConfiguration.config && (tempConfiguration.config.baseMenu = tempBaseMenu);
28201
- }
28202
- setMainConfig(tempConfiguration);
28203
- setIsConfigUpdated(true);
28204
- };
28205
27785
  const fetchConfigurationFromRetorikStudio = async (baseAddress)=>{
28206
27786
  const fetchedConfig = await (0, $25e969779d25f701$export$2e2bcd8739ae039)({
28207
27787
  config: config,
@@ -28259,11 +27839,13 @@ const $7ee62e7bf28b4542$var$RetorikConfigHandler = ({ config: config, viewsConfi
28259
27839
  ]);
28260
27840
  (0, $bZRJW$useEffect)(()=>{
28261
27841
  if (fetchedConfig) {
28262
- const { skipLoader: _skipLoader, defaultMode: _defaultMode, config: _config, viewsConfig: _viewsConfig, chatbotData: _chatbotData, chatbotDataWidget: _chatbotDataWidget, agentData: _agentData, addressData: _addressData, ponyfillFactoryCredentials: _ponyfillFactoryCredentials, customVoice: _customVoice, colors: _colors, defaultCulture: defaultCulture, supportedCultures: supportedCultures, disableHistory: disableHistory, customScripts: _customScripts, customCSS: _customCSS } = fetchedConfig;
27842
+ const { skipLoader: _skipLoader, defaultMode: _defaultMode, config: _config, viewsConfig: _viewsConfig, chatbotData: _chatbotData, chatbotDataWidget: _chatbotDataWidget, agentData: _agentData, addressData: _addressData, ponyfillFactoryCredentials: _ponyfillFactoryCredentials, customVoice: _customVoice, colors: _colors, defaultCulture: defaultCulture, supportedCultures: supportedCultures, disableHistory: disableHistory, customScripts: _customScripts, customCSS: _customCSS, features: features } = fetchedConfig;
27843
+ // Language
28263
27844
  if (defaultCulture && supportedCultures) {
28264
27845
  const { processedDefaultLanguage: processedDefaultLanguage, processedSupported: processedSupported } = (0, $6hRlO.processLanguageData)(defaultCulture, supportedCultures, true);
28265
27846
  processedDefaultLanguage && processedSupported && setLanguageData(processedDefaultLanguage, processedSupported);
28266
27847
  } else fetchSupportedLanguages(baseAddress);
27848
+ // Colors
28267
27849
  if (colors?.theme || _colors?.theme) {
28268
27850
  const tempTheme = colors?.theme || _colors?.theme;
28269
27851
  if (tempTheme === (0, $4ucVo.Theme).auto && window.matchMedia) {
@@ -28316,7 +27898,10 @@ const $7ee62e7bf28b4542$var$RetorikConfigHandler = ({ config: config, viewsConfi
28316
27898
  setDisableHistory(!!disableHistory);
28317
27899
  setCustomScripts(customScripts || _customScripts || []);
28318
27900
  setCustomCSS(customCSS || _customCSS || []);
28319
- checkEmergencyAndSetConfig(mergedMainConfig);
27901
+ setEnabledFeatures(features || []);
27902
+ // Save this config and use it in the application
27903
+ setMainConfig(mergedMainConfig);
27904
+ setIsConfigUpdated(true);
28320
27905
  }
28321
27906
  }, [
28322
27907
  config,
@@ -28748,6 +28333,7 @@ window.Retorik = {
28748
28333
  ...window.Retorik,
28749
28334
  renderAgent: $d70757f720801c36$export$b69254d879536cde,
28750
28335
  renderWidget: $d70757f720801c36$var$renderWidget,
28336
+ addDetailedAttachmentTrigger: $a2SNO.addDetailedAttachmentTrigger,
28751
28337
  addExternalActivityHandler: $a2SNO.addExternalActivityHandler,
28752
28338
  cancelCurrentUtterance: $a2SNO.cancelCurrentUtterance,
28753
28339
  changeAgent: (0, $a2SNO.setAgentData),
@@ -28762,6 +28348,7 @@ window.Retorik = {
28762
28348
  sendMessageToChatbot: $a2SNO.sendMessageToChatbot,
28763
28349
  setExternalActivityHandlers: $a2SNO.setExternalActivityHandlers,
28764
28350
  setLocale: $a2SNO.setLocale,
28351
+ setModalFullscreenContent: $a2SNO.setModalFullscreenContent,
28765
28352
  setMuted: $a2SNO.setMuted,
28766
28353
  setVisibility: $a2SNO.setVisibility,
28767
28354
  showAgent: $a2SNO.showAgent,