@configuratorware/configurator-frontendgui 1.28.5 → 1.29.2

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.
Files changed (482) hide show
  1. package/App/Constant.js +73 -0
  2. package/App/Error/DevelopmentErrorPage/index.js +74 -0
  3. package/App/Error/ErrorBoundary.js +98 -0
  4. package/App/Error/ProductionErrorPage/Style.scss +47 -0
  5. package/App/Error/ProductionErrorPage/index.js +43 -0
  6. package/App/Error/ProductionErrorPage/index.story.js +13 -0
  7. package/App/Error/ProductionErrorPage/res/error_gears.png +0 -0
  8. package/App/Frame.js +95 -0
  9. package/App/Modules/Creator/Components/ConfigurationvariantItem/Styles.scss +33 -0
  10. package/App/Modules/Creator/Components/ConfigurationvariantItem/index.js +118 -0
  11. package/App/Modules/Creator/Components/ConfigurationvariantSelection/Styles.scss +47 -0
  12. package/App/Modules/Creator/Components/ConfigurationvariantSelection/index.js +130 -0
  13. package/App/Modules/Creator/Components/CustomTitleEditor/Styles.scss +43 -0
  14. package/App/Modules/Creator/Components/CustomTitleEditor/index.js +144 -0
  15. package/App/Modules/Creator/Components/ExternalVisualization/index.js +140 -0
  16. package/App/Modules/Creator/Components/FastConfiguration/SelectableRow.js +128 -0
  17. package/App/Modules/Creator/Components/FastConfiguration/Styles.scss +53 -0
  18. package/App/Modules/Creator/Components/FastConfiguration/index.js +280 -0
  19. package/App/Modules/Creator/Components/FastConfigurationRow/Styles.scss +45 -0
  20. package/App/Modules/Creator/Components/FastConfigurationRow/index.js +78 -0
  21. package/App/Modules/Creator/Components/FastConfigurationSelect/Styles.scss +35 -0
  22. package/App/Modules/Creator/Components/FastConfigurationSelect/index.js +251 -0
  23. package/App/Modules/Creator/Components/FormattedNumber/index.js +45 -0
  24. package/App/Modules/Creator/Components/FormattedPrice/index.js +57 -0
  25. package/App/Modules/Creator/Components/FullScreenView/FullScreenView.js +104 -0
  26. package/App/Modules/Creator/Components/Incompatibility/OptionExclusionRule/index.js +186 -0
  27. package/App/Modules/Creator/Components/Incompatibility/OptionRule/index.js +182 -0
  28. package/App/Modules/Creator/Components/Incompatibility/RuleComponent.js +88 -0
  29. package/App/Modules/Creator/Components/Incompatibility/index.js +253 -0
  30. package/App/Modules/Creator/Components/InvalidConfigurationNotice/index.js +164 -0
  31. package/App/Modules/Creator/Components/LoginForm/Styles.scss +9 -0
  32. package/App/Modules/Creator/Components/LoginForm/index.js +129 -0
  33. package/App/Modules/Creator/Components/Option/index.js +545 -0
  34. package/App/Modules/Creator/Components/Option/index.story.js +154 -0
  35. package/App/Modules/Creator/Components/OptionAmount/index.js +236 -0
  36. package/App/Modules/Creator/Components/OptionGroup/index.js +55 -0
  37. package/App/Modules/Creator/Components/Optiondetail/ZoomImage/index.js +173 -0
  38. package/App/Modules/Creator/Components/Optiondetail/index.js +499 -0
  39. package/App/Modules/Creator/Components/Optiondetail/index.story.js +117 -0
  40. package/App/Modules/Creator/Components/OptionsList/index.js +193 -0
  41. package/App/Modules/Creator/Components/Price/Styles.scss +3 -0
  42. package/App/Modules/Creator/Components/Price/index.js +79 -0
  43. package/App/Modules/Creator/Components/ProductPart/index.js +187 -0
  44. package/App/Modules/Creator/Components/ProductPart/index.story.js +88 -0
  45. package/App/Modules/Creator/Components/ProductPartsList/index.js +153 -0
  46. package/App/Modules/Creator/Components/ProductPartsList/index.story.js +101 -0
  47. package/App/Modules/Creator/Components/SavedConfiguration/Styles.scss +19 -0
  48. package/App/Modules/Creator/Components/SavedConfiguration/index.js +82 -0
  49. package/App/Modules/Creator/Components/ShareConfiguration/Styles.scss +23 -0
  50. package/App/Modules/Creator/Components/ShareConfiguration/index.js +224 -0
  51. package/App/Modules/Creator/Components/StockInformation/index.js +93 -0
  52. package/App/Modules/Creator/Components/StoreConfigurationForm/Styles.scss +5 -0
  53. package/App/Modules/Creator/Components/StoreConfigurationForm/index.js +123 -0
  54. package/App/Modules/Creator/Components/Tools/Styles.scss +44 -0
  55. package/App/Modules/Creator/Components/Tools/index.js +102 -0
  56. package/App/Modules/Creator/Components/ValidationResult/Styles.scss +45 -0
  57. package/App/Modules/Creator/Components/ValidationResult/index.js +165 -0
  58. package/App/Modules/Creator/Components/index.js +84 -0
  59. package/App/Modules/Creator/Containers/AmountPrice/index.js +26 -0
  60. package/App/Modules/Creator/Containers/ConfigurationvariantSelection/index.js +60 -0
  61. package/App/Modules/Creator/Containers/CustomTitleEditor/index.js +52 -0
  62. package/App/Modules/Creator/Containers/FastConfiguration/index.js +62 -0
  63. package/App/Modules/Creator/Containers/FormattedPrice/index.js +31 -0
  64. package/App/Modules/Creator/Containers/Incompatibility/index.js +40 -0
  65. package/App/Modules/Creator/Containers/InvalidConfigurationNotice/index.js +89 -0
  66. package/App/Modules/Creator/Containers/LoadingOverlay/index.js +26 -0
  67. package/App/Modules/Creator/Containers/Optiondetail/index.js +48 -0
  68. package/App/Modules/Creator/Containers/OptionsList/index.js +49 -0
  69. package/App/Modules/Creator/Containers/ProductPart/index.js +26 -0
  70. package/App/Modules/Creator/Containers/ProductPartsList/index.js +50 -0
  71. package/App/Modules/Creator/Containers/SavedConfigurationContainer/index.js +25 -0
  72. package/App/Modules/Creator/Containers/ShareConfiguration/index.js +42 -0
  73. package/App/Modules/Creator/Containers/StockInformation/index.js +33 -0
  74. package/App/Modules/Creator/Containers/Tools/index.js +44 -0
  75. package/App/Modules/Creator/Containers/ValidationResult/index.js +34 -0
  76. package/App/Modules/Creator/Containers/index.js +175 -0
  77. package/App/Modules/Creator/CreatorScreen.js +307 -0
  78. package/App/Modules/Creator/Layouts/DefaultLayout.js +260 -0
  79. package/App/Modules/Creator/Styles.scss +216 -0
  80. package/App/Modules/Designer/Components/AddGalleryImage/index.js +234 -0
  81. package/App/Modules/Designer/Components/AddGalleryImage/index.story.js +94 -0
  82. package/App/Modules/Designer/Components/AddGalleryImage/index.test.js +151 -0
  83. package/App/Modules/Designer/Components/AddVisualElement/Styles.scss +0 -0
  84. package/App/Modules/Designer/Components/AddVisualElement/index.js +278 -0
  85. package/App/Modules/Designer/Components/AddVisualElement/index.story.js +24 -0
  86. package/App/Modules/Designer/Components/AddVisualElement/index.test.js +47 -0
  87. package/App/Modules/Designer/Components/CloseDesignEditor/index.js +130 -0
  88. package/App/Modules/Designer/Components/CloseGraphicsEditorButton/index.js +54 -0
  89. package/App/Modules/Designer/Components/ColorPalettes/ColorPalettesSearch.js +175 -0
  90. package/App/Modules/Designer/Components/ColorPalettes/index.js +814 -0
  91. package/App/Modules/Designer/Components/ColorPalettes/index.story.js +158 -0
  92. package/App/Modules/Designer/Components/ColorPalettes/index.test.js +150 -0
  93. package/App/Modules/Designer/Components/DesignAreaControlbox/Styles.scss +0 -0
  94. package/App/Modules/Designer/Components/DesignAreaControlbox/index.js +467 -0
  95. package/App/Modules/Designer/Components/DesignAreaControlbox/index.story.js +272 -0
  96. package/App/Modules/Designer/Components/DesignAreaControlbox/index.test.js +164 -0
  97. package/App/Modules/Designer/Components/DesignerSelectionToolbox/CustomFontOverlay.js +162 -0
  98. package/App/Modules/Designer/Components/DesignerSelectionToolbox/DesignerSelectionToolbox.js +425 -0
  99. package/App/Modules/Designer/Components/DesignerSelectionToolbox/fontItemUtils.js +48 -0
  100. package/App/Modules/Designer/Components/Dialog/index.js +125 -0
  101. package/App/Modules/Designer/Components/EditDesignButton/index.js +128 -0
  102. package/App/Modules/Designer/Components/FeedbackNotice/index.js +110 -0
  103. package/App/Modules/Designer/Components/FeedbackNotice/index.test.js +16 -0
  104. package/App/Modules/Designer/Components/FullScreenView/FullScreenView.js +63 -0
  105. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.dev.js +32 -0
  106. package/App/Modules/Designer/Components/ImageColorPicker/ImageColorPicker.js +430 -0
  107. package/App/Modules/Designer/Components/ImageColorize/index.js +636 -0
  108. package/App/Modules/Designer/Components/ImageColorize/index.story.js +73 -0
  109. package/App/Modules/Designer/Components/ImageControlbox/index.js +302 -0
  110. package/App/Modules/Designer/Components/ImageEditDialog/ImageThumbnail.js +171 -0
  111. package/App/Modules/Designer/Components/ImageEditDialog/ImageUpload.js +478 -0
  112. package/App/Modules/Designer/Components/ImageEditDialog/index.js +716 -0
  113. package/App/Modules/Designer/Components/ImageEditDialog/res/baseline_colorize_black_24dp.png +0 -0
  114. package/App/Modules/Designer/Components/ImageEditDialog/res/checkers_tile.png +0 -0
  115. package/App/Modules/Designer/Components/ImageLibraryFilter/index.js +179 -0
  116. package/App/Modules/Designer/Components/ImageLibraryThumbnail/Styles.scss +14 -0
  117. package/App/Modules/Designer/Components/ImageLibraryThumbnail/index.js +165 -0
  118. package/App/Modules/Designer/Components/ObjectTools/index.js +146 -0
  119. package/App/Modules/Designer/Components/Select/index.js +171 -0
  120. package/App/Modules/Designer/Components/TextControlbox/TextFormatIcon.js +48 -0
  121. package/App/Modules/Designer/Components/TextControlbox/index.js +656 -0
  122. package/App/Modules/Designer/Components/TextControlbox/index.story.js +109 -0
  123. package/App/Modules/Designer/Components/TextControlbox/index.test.js +172 -0
  124. package/App/Modules/Designer/Containers/AddGalleryImage.js +90 -0
  125. package/App/Modules/Designer/Containers/AddVisualElement.js +166 -0
  126. package/App/Modules/Designer/Containers/CloseDesignEditor.js +32 -0
  127. package/App/Modules/Designer/Containers/CloseGraphicsEditorButton.js +32 -0
  128. package/App/Modules/Designer/Containers/ColorPalettes.js +145 -0
  129. package/App/Modules/Designer/Containers/DesignAreaControlbox.js +54 -0
  130. package/App/Modules/Designer/Containers/Designer.js +37 -0
  131. package/App/Modules/Designer/Containers/DesignerSelectionToolbox.js +116 -0
  132. package/App/Modules/Designer/Containers/EditDesignButton.js +35 -0
  133. package/App/Modules/Designer/Containers/ImageEditDialog.js +1130 -0
  134. package/App/Modules/Designer/Designer.js +231 -0
  135. package/App/Modules/Designer/DesignerScreen.js +255 -0
  136. package/App/Modules/Designer/DesignerUI.js +241 -0
  137. package/App/Modules/Designer/Layouts/DefaultLayout.js +221 -0
  138. package/App/Modules/Designer/Layouts/Mobile/TwoSideBottomBar.js +50 -0
  139. package/App/Modules/Designer/Layouts/PopupAreaProvider.js +186 -0
  140. package/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +53 -0
  141. package/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +106 -0
  142. package/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +64 -0
  143. package/App/Modules/Designer/Utils/FontFaceRepository.js +82 -0
  144. package/App/Modules/Designer/Utils/ImageEditUtils.js +104 -0
  145. package/App/Modules/Designer/Utils/Transformers.js +164 -0
  146. package/App/Modules/Designer/setupDesigner.js +182 -0
  147. package/App/Modules/Designer/withActiveCanvas.js +136 -0
  148. package/App/Modules/Visualization/AlignTargetContainer.js +55 -0
  149. package/App/Modules/Visualization/CreatorAlignTarget.js +41 -0
  150. package/App/Modules/Visualization/DefaultVisualizationProvider.js +105 -0
  151. package/App/Modules/Visualization/DesignerAlignTarget.js +45 -0
  152. package/App/Modules/Visualization/Utils/getFirstDataURLFromScreenshotsObj.js +20 -0
  153. package/App/Reducers/Actions.js +297 -0
  154. package/App/Reducers/ConfigurationMode/Actions.js +21 -0
  155. package/App/Reducers/ConfigurationMode/Reducer.js +80 -0
  156. package/App/Reducers/ConfigurationMode/Selectors.js +84 -0
  157. package/App/Reducers/Configurator/Actions.js +1417 -0
  158. package/App/Reducers/Configurator/AttributeSelectors.js +32 -0
  159. package/App/Reducers/Configurator/Modifiers.js +35 -0
  160. package/App/Reducers/Configurator/Reducer.js +639 -0
  161. package/App/Reducers/Configurator/Selectors.js +242 -0
  162. package/App/Reducers/Confirm/Actions.js +84 -0
  163. package/App/Reducers/Confirm/Reducer.js +30 -0
  164. package/App/Reducers/DesignArea/Actions.js +76 -0
  165. package/App/Reducers/DesignArea/DesignElementSelectors.js +114 -0
  166. package/App/Reducers/DesignArea/MaskSelectors.js +101 -0
  167. package/App/Reducers/DesignArea/Reducer.js +150 -0
  168. package/App/Reducers/DesignArea/Selectors.js +1304 -0
  169. package/App/Reducers/DesignArea/Transformers.js +333 -0
  170. package/App/Reducers/DesignData/Actions.js +232 -0
  171. package/App/Reducers/DesignData/Modifiers.js +328 -0
  172. package/App/Reducers/DesignData/Reducer.js +189 -0
  173. package/App/Reducers/DesignData/Selectors.js +94 -0
  174. package/App/Reducers/DesignData/Transformers.js +27 -0
  175. package/App/Reducers/DesignView/Actions.js +19 -0
  176. package/App/Reducers/DesignView/Reducer.js +165 -0
  177. package/App/Reducers/DesignView/Selectors.js +130 -0
  178. package/App/Reducers/DesignView/Transformers.js +32 -0
  179. package/App/Reducers/Device/Actions.js +16 -0
  180. package/App/Reducers/Device/Reducer.js +51 -0
  181. package/App/Reducers/Fonts/Actions.js +137 -0
  182. package/App/Reducers/Fonts/Reducer.js +39 -0
  183. package/App/Reducers/Fonts/Selectors.js +98 -0
  184. package/App/Reducers/GeneralActions.js +16 -0
  185. package/App/Reducers/ImageGallery/Actions.js +336 -0
  186. package/App/Reducers/ImageGallery/Modifiers.js +67 -0
  187. package/App/Reducers/ImageGallery/Reducer.js +320 -0
  188. package/App/Reducers/ImageGallery/Selectors.js +206 -0
  189. package/App/Reducers/Reducer.js +107 -0
  190. package/App/Reducers/UI/Actions.js +191 -0
  191. package/App/Reducers/UI/Reducer.js +98 -0
  192. package/App/Reducers/UI/Selectors.js +32 -0
  193. package/App/Reducers.js +48 -0
  194. package/App/Routing.js +168 -0
  195. package/App/Screens/Configurator/CalculationWidgetScreen.js +84 -0
  196. package/App/Screens/Configurator/Components/AmountSelection/Styles.scss +17 -0
  197. package/App/Screens/Configurator/Components/AmountSelection/index.js +170 -0
  198. package/App/Screens/Configurator/Components/AmountSelection/index.story.js +36 -0
  199. package/App/Screens/Configurator/Components/CalculationWidget/index.js +652 -0
  200. package/App/Screens/Configurator/Components/CalculationWidget/index.story.js +154 -0
  201. package/App/Screens/Configurator/Components/CalculationWidget/index.test.js +142 -0
  202. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/ConfigurationModeSwitch.js +82 -0
  203. package/App/Screens/Configurator/Components/ConfigurationModeSwitch/index.js +15 -0
  204. package/App/Screens/Configurator/Components/Confirm/Styles.scss +0 -0
  205. package/App/Screens/Configurator/Components/Confirm/index.js +105 -0
  206. package/App/Screens/Configurator/Components/DesignApproval/index.js +76 -0
  207. package/App/Screens/Configurator/Components/DesignApproval/index.story.js +27 -0
  208. package/App/Screens/Configurator/Components/DesignApproval/index.test.js +31 -0
  209. package/App/Screens/Configurator/Components/Error/index.js +106 -0
  210. package/App/Screens/Configurator/Components/FallbackVisualization/FallbackVisualization.js +96 -0
  211. package/App/Screens/Configurator/Components/FileUpload/FileUploadBase.js +1 -0
  212. package/App/Screens/Configurator/Components/FullScreenView/index.js +304 -0
  213. package/App/Screens/Configurator/Components/FullScreenView/index.test.js +28 -0
  214. package/App/Screens/Configurator/Components/ImageLoader/ImageLoader.js +96 -0
  215. package/App/Screens/Configurator/Components/LandscapeInformation/index.js +75 -0
  216. package/App/Screens/Configurator/Components/NoVisualization/NoVisualization.js +35 -0
  217. package/App/Screens/Configurator/Components/PreviewPortal/index.js +249 -0
  218. package/App/Screens/Configurator/Components/Styles.scss +1 -0
  219. package/App/Screens/Configurator/Components/Thumbnail/index.js +394 -0
  220. package/App/Screens/Configurator/Components/Thumbnail/index.test.js +50 -0
  221. package/App/Screens/Configurator/Components/TotalPrice/TotalPrice.js +57 -0
  222. package/App/Screens/Configurator/Containers/AmountPrice.js +84 -0
  223. package/App/Screens/Configurator/Containers/CalculationWidget.js +278 -0
  224. package/App/Screens/Configurator/Containers/ConfigurationModeSwitch.js +81 -0
  225. package/App/Screens/Configurator/Containers/Confirm.js +37 -0
  226. package/App/Screens/Configurator/Containers/DesignApproval.js +129 -0
  227. package/App/Screens/Configurator/Containers/FallbackVisualization.js +32 -0
  228. package/App/Screens/Configurator/Containers/FullScreenView.js +47 -0
  229. package/App/Screens/Configurator/Containers/Thumbnail.js +41 -0
  230. package/App/Screens/Configurator/Containers/Visualization.js +13 -0
  231. package/App/Screens/Configurator/DynamicComponents.js +40 -0
  232. package/App/Screens/Configurator/Screen.js +238 -0
  233. package/App/Screens/Configurator/ScreenPropTypes.js +45 -0
  234. package/App/Screens/Configurator/ThemeProvider.js +298 -0
  235. package/App/Screens/DesignerProductPreview/Constants.js +12 -0
  236. package/App/Screens/DesignerProductPreview/DesignerProductPreviewManager.js +554 -0
  237. package/App/Screens/DesignerProductPreview/Screen.js +407 -0
  238. package/App/Screens.js +42 -0
  239. package/App/ServiceLocator.js +309 -0
  240. package/App/Services/AdminareaCommunicationService.js +149 -0
  241. package/App/Services/AnalyticsService.js +403 -0
  242. package/App/Services/ConfiguratorService.js +1166 -0
  243. package/App/Services/DesignDataService.js +3249 -0
  244. package/App/Services/DesignerService.js +496 -0
  245. package/App/Services/InteractionService.js +784 -0
  246. package/App/Services/UIService.js +129 -0
  247. package/App/Services/VisualizationService.js +844 -0
  248. package/App/Shared/Components/AcceptDesign/index.js +166 -0
  249. package/App/Shared/Components/AddToBasket/index.js +194 -0
  250. package/App/Shared/Components/AddToBasket/index.story.js +47 -0
  251. package/App/Shared/Components/AlertDialog/index.js +138 -0
  252. package/App/Shared/Components/AmountInput/Styles.scss +6 -0
  253. package/App/Shared/Components/AmountInput/index.js +296 -0
  254. package/App/Shared/Components/AmountInput/index.story.js +29 -0
  255. package/App/Shared/Components/AmountPrice/index.js +925 -0
  256. package/App/Shared/Components/AmountPrice/index.story.js +112 -0
  257. package/App/Shared/Components/AmountPrice/index.test.js +125 -0
  258. package/App/Shared/Components/Analytics/AnalyticsWrapper.js +49 -0
  259. package/App/Shared/Components/BulkNames/index.js +319 -0
  260. package/App/Shared/Components/CallToAction/index.js +220 -0
  261. package/App/Shared/Components/Header/Header.js +150 -0
  262. package/App/Shared/Components/Header/index.js +15 -0
  263. package/App/Shared/Components/Header/index.story.js +143 -0
  264. package/App/Shared/Components/InformationTag/InformationTag.js +155 -0
  265. package/App/Shared/Components/LicenseNotice/LicenseNotice.js +148 -0
  266. package/App/Shared/Components/LicenseNotice/index.js +15 -0
  267. package/App/Shared/Components/LoadConfiguration/index.js +218 -0
  268. package/App/Shared/Components/MessageBox/index.js +84 -0
  269. package/App/Shared/Components/MessageBox/index.story.js +49 -0
  270. package/App/Shared/Components/Notification/index.js +105 -0
  271. package/App/Shared/Components/Notification/index.story.js +55 -0
  272. package/App/Shared/Components/PdfDownload/index.js +150 -0
  273. package/App/Shared/Components/PlusMinusInput/index.js +118 -0
  274. package/App/Shared/Components/PriceList/index.js +237 -0
  275. package/App/Shared/Components/PriceList/index.story.js +114 -0
  276. package/App/Shared/Components/PriceOverview/index.js +177 -0
  277. package/App/Shared/Components/PriceOverview/index.story.js +215 -0
  278. package/App/Shared/Components/ProductVariant/Image.js +75 -0
  279. package/App/Shared/Components/ProductVariant/Styles.scss +11 -0
  280. package/App/Shared/Components/ProductVariant/index.js +477 -0
  281. package/App/Shared/Components/ProductVariant/index.story.js +283 -0
  282. package/App/Shared/Components/Progress/Progress.js +59 -0
  283. package/App/Shared/Components/ReceiveOfferForm/index.js +432 -0
  284. package/App/Shared/Components/ReceiveOfferForm/index.story.js +32 -0
  285. package/App/Shared/Components/ReceiveOfferForm/index.test.js +36 -0
  286. package/App/Shared/Components/SaveConfiguration/index.js +286 -0
  287. package/App/Shared/Components/SendEmail/index.js +103 -0
  288. package/App/Shared/Components/Stepper/index.js +136 -0
  289. package/App/Shared/Components/Stepper/index.story.js +38 -0
  290. package/App/Shared/Components/ToolbarList/index.js +231 -0
  291. package/App/Shared/Components/ToolbarList/index.story.js +33 -0
  292. package/App/Shared/Components/VariantChooser/index.js +270 -0
  293. package/App/Shared/Components/VariantChooser/index.story.js +100 -0
  294. package/App/Shared/Containers/AlertMessages.js +37 -0
  295. package/App/Shared/Containers/AmountPrice/AmountPriceAdminareaWrapper.js +40 -0
  296. package/App/Shared/Containers/AmountPrice/index.js +284 -0
  297. package/App/Shared/Containers/BulkNames.js +310 -0
  298. package/App/Shared/Containers/Error.js +37 -0
  299. package/App/Shared/Containers/GlobalLoader.js +25 -0
  300. package/App/Shared/Containers/Header/index.js +178 -0
  301. package/App/Shared/Containers/LicenseNotice/LicenseNotice.js +26 -0
  302. package/App/Shared/Containers/LicenseNotice/index.js +15 -0
  303. package/App/Shared/Containers/LoadConfiguration/LoadConfiguration.js +146 -0
  304. package/App/Shared/Containers/LoadConfiguration/index.js +15 -0
  305. package/App/Shared/Containers/PdfDownload/index.js +39 -0
  306. package/App/Shared/Containers/ProductVariant/ProductVariant.js +339 -0
  307. package/App/Shared/Containers/ProductVariant/index.js +15 -0
  308. package/App/Shared/Containers/SaveConfiguration.js +49 -0
  309. package/App/Shared/Containers/SendEmail/SendEmail.js +45 -0
  310. package/App/Shared/Containers/SendEmail/index.js +15 -0
  311. package/App/Shared/Providers/DefaultCanvasProvider.js +86 -0
  312. package/App/Storage.js +17 -0
  313. package/App/Store.js +87 -0
  314. package/App/Styles.scss +0 -0
  315. package/App/Translations.js +88 -0
  316. package/App/Utils/createMessageInterface.js +65 -0
  317. package/App/Utils/customClassName.js +12 -0
  318. package/App/Utils/getContrastText.js +27 -0
  319. package/App/Utils/getImageUrl.js +32 -0
  320. package/App/Variables.scss +84 -0
  321. package/App/configuration.js +421 -0
  322. package/App/index.js +52 -0
  323. package/App/initServices.js +67 -0
  324. package/App/setup.js +22 -0
  325. package/App/versionInfo.js +8 -0
  326. package/Framework/Api.js +178 -0
  327. package/Framework/ComponentContainer.js +165 -0
  328. package/Framework/Components/Carousel/Styles.scss +85 -0
  329. package/Framework/Components/Carousel/index.js +322 -0
  330. package/Framework/Components/Dialog/Style.scss +79 -0
  331. package/Framework/Components/Dialog/index.js +721 -0
  332. package/Framework/Components/DialogSelect/Styles.scss +53 -0
  333. package/Framework/Components/DialogSelect/index.js +331 -0
  334. package/Framework/Components/Input/index.js +147 -0
  335. package/Framework/Components/LoadingOverlay/Styles.scss +37 -0
  336. package/Framework/Components/LoadingOverlay/index.js +33 -0
  337. package/Framework/Components/Markdown/index.js +62 -0
  338. package/Framework/Components/Mobile/index.js +33 -0
  339. package/Framework/CustomError.js +51 -0
  340. package/Framework/Helpers/TransitionDetect.js +116 -0
  341. package/Framework/Helpers/isLandscapeMobile.js +14 -0
  342. package/Framework/Helpers/isMobileDevice.js +17 -0
  343. package/Framework/Helpers/isMobileSize.js +13 -0
  344. package/Framework/Mixins.scss +235 -0
  345. package/Framework/Services/AbstractAdminareaCommunicationService.js +48 -0
  346. package/Framework/Services/AbstractAsyncService.js +44 -0
  347. package/Framework/Services/AbstractConfiguratorService.js +47 -0
  348. package/Framework/Services/AbstractInteractionService.js +50 -0
  349. package/Framework/Services/AbstractStoreService.js +42 -0
  350. package/Framework/Services/AbstractUIService.js +53 -0
  351. package/Framework/Services/AbstractVisualizationService.js +47 -0
  352. package/Framework/Services/AsyncService.js +93 -0
  353. package/Framework/Services/StoreService.js +237 -0
  354. package/Framework/Variables.scss +22 -0
  355. package/Framework/bindDecorator.js +173 -0
  356. package/Framework/i18n.js +382 -0
  357. package/README.md +5 -26
  358. package/Resources/Icons/MaterialUI/Icons/AddCircle.js +13 -0
  359. package/Resources/Icons/MaterialUI/Icons/RemoveCircle.js +13 -0
  360. package/Resources/Icons/MaterialUI/fontFace.scss +37 -0
  361. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.eot +0 -0
  362. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.svg +2373 -0
  363. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.ttf +0 -0
  364. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff +0 -0
  365. package/Resources/Icons/MaterialUI/fonts/MaterialIcons-Regular.woff2 +0 -0
  366. package/Resources/Icons/fonts/ionicons.eot +0 -0
  367. package/Resources/Icons/fonts/ionicons.svg +2230 -0
  368. package/Resources/Icons/fonts/ionicons.ttf +0 -0
  369. package/Resources/Icons/fonts/ionicons.woff +0 -0
  370. package/Resources/Icons/ionicons.scss +1489 -0
  371. package/Resources/Icons/ioniconsExtend.scss +1469 -0
  372. package/Resources/Icons/v4/fontFace.scss +11 -0
  373. package/Resources/Icons/v4/fonts/ionicons.eot +0 -0
  374. package/Resources/Icons/v4/fonts/ionicons.svg +2090 -0
  375. package/Resources/Icons/v4/fonts/ionicons.ttf +0 -0
  376. package/Resources/Icons/v4/fonts/ionicons.woff +0 -0
  377. package/Resources/Icons/v4/fonts/ionicons.woff2 +0 -0
  378. package/Resources/Icons/v4/icons.scss +15 -0
  379. package/Resources/Icons/v4/iconsExtend.scss +7 -0
  380. package/Resources/Images/designer_placeholder_logo.svg +1 -0
  381. package/Resources/Masks/circle.svg +4 -0
  382. package/Shared/Components/CustomDialog.js +133 -0
  383. package/Shared/Components/CustomDialogSelect.js +161 -0
  384. package/Shared/Components/MainButton.js +81 -0
  385. package/Shared/ErrorTypes/DeferredError.js +51 -0
  386. package/Shared/HOCs/ResizeDetect/ResizeDetect.dev.js +60 -0
  387. package/Shared/HOCs/ResizeDetect/ResizeDetect.js +217 -0
  388. package/Shared/HOCs/getDisplayName.js +10 -0
  389. package/Shared/HOCs/withFixedChangeHandler.js +46 -0
  390. package/Shared/PropTypes/ReactComponent.js +13 -0
  391. package/Shared/Styles/absoluteCenter.js +17 -0
  392. package/Utils/Array/isIdentical.js +38 -0
  393. package/Utils/Async/AsyncManager.js +128 -0
  394. package/Utils/Async/Deferred.js +145 -0
  395. package/Utils/Async/ObjectLock.js +38 -0
  396. package/Utils/Decorators/Observable.js +130 -0
  397. package/Utils/Dev/HOCs/withFilePicker.js +101 -0
  398. package/Utils/Dev/isDev.js +21 -0
  399. package/Utils/Events/pointerEvent.js +199 -0
  400. package/Utils/Events/preventEventDoubling.js +23 -0
  401. package/Utils/Function/cached.js +64 -0
  402. package/Utils/Function/createDebounceManager.js +77 -0
  403. package/Utils/Function/createSelector.js +62 -0
  404. package/Utils/Function/memoize.js +46 -0
  405. package/Utils/Function/sendMessage.js +22 -0
  406. package/Utils/Helper/createSelectionRangeMemo.js +45 -0
  407. package/Utils/Immutable/set.js +81 -0
  408. package/Utils/Math/conversions.js +13 -0
  409. package/Utils/Math/isPositiveNumber.js +12 -0
  410. package/Utils/Redux/createActionWithGlobalState.js +23 -0
  411. package/Utils/Styles/combineMediaQueries.js +24 -0
  412. package/Utils/Styles/createCheckerBoardBackground.js +22 -0
  413. package/Utils/Test/CallOrderChecker.js +29 -0
  414. package/Utils/Test/createStoreProvider.js +33 -0
  415. package/Utils/Test/formDataToJSON.js +20 -0
  416. package/Utils/Test/mountWithState.js +40 -0
  417. package/index.js +8 -0
  418. package/package.json +22 -103
  419. package/public/translations/de_DE.json +3 -0
  420. package/public/translations/en_GB.json +3 -0
  421. package/scripts/cpPublic.js +3 -3
  422. package/scripts/getDefaultWebpackConfig.js +11 -10
  423. package/src/App/Error/ProductionErrorPage/Style.scss +1 -1
  424. package/src/App/Modules/Creator/Components/Incompatibility/OptionExclusionRule/index.js +116 -0
  425. package/src/App/Modules/Creator/Components/Incompatibility/index.js +2 -1
  426. package/src/App/Modules/Creator/Components/Option/index.test.js +1 -1
  427. package/src/App/Modules/Creator/Components/OptionAmount/index.test.js +1 -1
  428. package/src/App/Modules/Creator/Components/ProductPart/__snapshots__/index.test.js.snap +33 -10
  429. package/src/App/Modules/Creator/Components/ProductPart/index.js +5 -1
  430. package/src/App/Modules/Creator/Components/ProductPart/index.test.js +14 -1
  431. package/src/App/Modules/Creator/Components/ProductPartsList/index.js +3 -0
  432. package/src/App/Modules/Creator/Containers/ProductPartsList/index.js +1 -0
  433. package/src/App/Modules/Designer/Components/AddGalleryImage/index.story.js +1 -1
  434. package/src/App/Modules/Designer/Components/ColorPalettes/index.test.jsx +1 -1
  435. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.js +21 -4
  436. package/src/App/Modules/Designer/Components/DesignAreaControlbox/index.test.jsx +1 -1
  437. package/src/App/Modules/Designer/Components/TextControlbox/index.test.jsx +1 -1
  438. package/src/App/Modules/Designer/Containers/Designer.js +1 -1
  439. package/src/App/Modules/Designer/DesignerScreen.js +32 -8
  440. package/src/App/{Screens/Configurator → Modules/Designer}/DesignerUI.js +42 -26
  441. package/src/App/Modules/Designer/Layouts/DefaultLayout.js +35 -1
  442. package/src/App/Modules/Designer/MultilayerComponents/DesignerClickAwayListener.js +18 -0
  443. package/src/App/Modules/Designer/MultilayerComponents/InlineToolboxPortal.js +54 -0
  444. package/src/App/Modules/Designer/MultilayerComponents/StandardToolboxPortal.js +38 -0
  445. package/src/App/Reducers/DesignView/Actions.js +1 -2
  446. package/src/App/Reducers/DesignView/Reducer.js +2 -10
  447. package/src/App/Reducers/DesignView/__mocks__/designerViewData.js +0 -1
  448. package/src/App/Reducers/DesignView/__tests__/Reducer.test.js +0 -22
  449. package/src/App/Reducers/ImageGallery/Actions.js +1 -1
  450. package/src/App/Screens/Configurator/Components/CalculationWidget/__snapshots__/index.test.jsx.snap +4 -4
  451. package/src/App/Screens/Configurator/Components/CalculationWidget/index.test.jsx +1 -1
  452. package/src/App/Screens/Configurator/Components/DesignApproval/index.test.jsx +1 -1
  453. package/src/App/Screens/Configurator/Components/FullScreenView/__snapshots__/index.test.jsx.snap +1 -1
  454. package/src/App/Screens/Configurator/Components/FullScreenView/index.js +3 -2
  455. package/src/App/Screens/Configurator/Components/FullScreenView/index.test.jsx +1 -1
  456. package/src/App/Screens/Configurator/Components/PreviewPortal/index.js +7 -3
  457. package/src/App/Screens/Configurator/Containers/AmountPrice.js +1 -1
  458. package/src/App/Screens/Configurator/Containers/Confirm.js +1 -1
  459. package/src/App/Screens/Configurator/Containers/FullScreenView.js +1 -0
  460. package/src/App/Screens/Configurator/Containers/__tests__/Designer.test.js +1 -1
  461. package/src/App/Screens/Configurator/Screen.js +3 -1
  462. package/src/App/Screens/DesignerProductPreview/__tests__/__snapshots__/Screen.test.js.snap +1 -1
  463. package/src/App/Services/ConfiguratorService.js +25 -4
  464. package/src/App/Services/InteractionService.js +2 -1
  465. package/src/App/Services/VisualizationService.js +3 -0
  466. package/src/App/Services/__tests__/DesignDataService.selectViewForComponent.test.js +0 -53
  467. package/src/App/Shared/Containers/AlertMessages.js +1 -1
  468. package/src/App/Shared/Containers/AmountPrice/index.test.js +1 -1
  469. package/src/App/Shared/Containers/Error.js +1 -1
  470. package/src/App/Shared/Containers/SaveConfiguration.js +1 -1
  471. package/src/App/Translations.js +1 -1
  472. package/src/App/Utils/createMessageInterface.js +10 -0
  473. package/src/App/configuration.js +3 -0
  474. package/src/Framework/i18n.js +2 -3
  475. package/babel.config.js +0 -46
  476. package/public/ConfigurationMessagingDemo.html +0 -55
  477. package/scripts/cpPath.js +0 -135
  478. package/scripts/moveLibToPackageRoot.js +0 -40
  479. package/scripts/rmDir.js +0 -29
  480. package/scripts/updateLocalPackages.js +0 -68
  481. package/scripts/utils/process.js +0 -19
  482. package/tsconfig.json +0 -22
@@ -0,0 +1,15 @@
1
+ /*!
2
+ Ionicons, v4.2.1
3
+ Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
4
+ https://twitter.com/benjsperry https://twitter.com/ionicframework
5
+ MIT License: https://github.com/driftyco/ionicons
6
+
7
+ Android-style icons originally built by Google’s
8
+ Material Design Icons: https://github.com/google/material-design-icons
9
+ used under CC BY http://creativecommons.org/licenses/by/4.0/
10
+ Modified icons to fit ionicon’s grid from original.
11
+ */
12
+
13
+ @import "fontFace";
14
+
15
+ .ion,.ionicons,.ion-ios-add:before,.ion-ios-add-circle:before,.ion-ios-add-circle-outline:before,.ion-ios-airplane:before,.ion-ios-alarm:before,.ion-ios-albums:before,.ion-ios-alert:before,.ion-ios-american-football:before,.ion-ios-analytics:before,.ion-ios-aperture:before,.ion-ios-apps:before,.ion-ios-appstore:before,.ion-ios-archive:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-dropdown:before,.ion-ios-arrow-dropdown-circle:before,.ion-ios-arrow-dropleft:before,.ion-ios-arrow-dropleft-circle:before,.ion-ios-arrow-dropright:before,.ion-ios-arrow-dropright-circle:before,.ion-ios-arrow-dropup:before,.ion-ios-arrow-dropup-circle:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-round-back:before,.ion-ios-arrow-round-down:before,.ion-ios-arrow-round-forward:before,.ion-ios-arrow-round-up:before,.ion-ios-arrow-up:before,.ion-ios-at:before,.ion-ios-attach:before,.ion-ios-backspace:before,.ion-ios-barcode:before,.ion-ios-baseball:before,.ion-ios-basket:before,.ion-ios-basketball:before,.ion-ios-battery-charging:before,.ion-ios-battery-dead:before,.ion-ios-battery-full:before,.ion-ios-beaker:before,.ion-ios-bed:before,.ion-ios-beer:before,.ion-ios-bicycle:before,.ion-ios-bluetooth:before,.ion-ios-boat:before,.ion-ios-body:before,.ion-ios-bonfire:before,.ion-ios-book:before,.ion-ios-bookmark:before,.ion-ios-bookmarks:before,.ion-ios-bowtie:before,.ion-ios-briefcase:before,.ion-ios-browsers:before,.ion-ios-brush:before,.ion-ios-bug:before,.ion-ios-build:before,.ion-ios-bulb:before,.ion-ios-bus:before,.ion-ios-business:before,.ion-ios-cafe:before,.ion-ios-calculator:before,.ion-ios-calendar:before,.ion-ios-call:before,.ion-ios-camera:before,.ion-ios-car:before,.ion-ios-card:before,.ion-ios-cart:before,.ion-ios-cash:before,.ion-ios-cellular:before,.ion-ios-chatboxes:before,.ion-ios-chatbubbles:before,.ion-ios-checkbox:before,.ion-ios-checkbox-outline:before,.ion-ios-checkmark:before,.ion-ios-checkmark-circle:before,.ion-ios-checkmark-circle-outline:before,.ion-ios-clipboard:before,.ion-ios-clock:before,.ion-ios-close:before,.ion-ios-close-circle:before,.ion-ios-close-circle-outline:before,.ion-ios-cloud:before,.ion-ios-cloud-circle:before,.ion-ios-cloud-done:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloudy:before,.ion-ios-cloudy-night:before,.ion-ios-code:before,.ion-ios-code-download:before,.ion-ios-code-working:before,.ion-ios-cog:before,.ion-ios-color-fill:before,.ion-ios-color-filter:before,.ion-ios-color-palette:before,.ion-ios-color-wand:before,.ion-ios-compass:before,.ion-ios-construct:before,.ion-ios-contact:before,.ion-ios-contacts:before,.ion-ios-contract:before,.ion-ios-contrast:before,.ion-ios-copy:before,.ion-ios-create:before,.ion-ios-crop:before,.ion-ios-cube:before,.ion-ios-cut:before,.ion-ios-desktop:before,.ion-ios-disc:before,.ion-ios-document:before,.ion-ios-done-all:before,.ion-ios-download:before,.ion-ios-easel:before,.ion-ios-egg:before,.ion-ios-exit:before,.ion-ios-expand:before,.ion-ios-eye:before,.ion-ios-eye-off:before,.ion-ios-fastforward:before,.ion-ios-female:before,.ion-ios-filing:before,.ion-ios-film:before,.ion-ios-finger-print:before,.ion-ios-fitness:before,.ion-ios-flag:before,.ion-ios-flame:before,.ion-ios-flash:before,.ion-ios-flash-off:before,.ion-ios-flashlight:before,.ion-ios-flask:before,.ion-ios-flower:before,.ion-ios-folder:before,.ion-ios-folder-open:before,.ion-ios-football:before,.ion-ios-funnel:before,.ion-ios-gift:before,.ion-ios-git-branch:before,.ion-ios-git-commit:before,.ion-ios-git-compare:before,.ion-ios-git-merge:before,.ion-ios-git-network:before,.ion-ios-git-pull-request:before,.ion-ios-glasses:before,.ion-ios-globe:before,.ion-ios-grid:before,.ion-ios-hammer:before,.ion-ios-hand:before,.ion-ios-happy:before,.ion-ios-headset:before,.ion-ios-heart:before,.ion-ios-heart-dislike:before,.ion-ios-heart-empty:before,.ion-ios-heart-half:before,.ion-ios-help:before,.ion-ios-help-buoy:before,.ion-ios-help-circle:before,.ion-ios-help-circle-outline:before,.ion-ios-home:before,.ion-ios-hourglass:before,.ion-ios-ice-cream:before,.ion-ios-image:before,.ion-ios-images:before,.ion-ios-infinite:before,.ion-ios-information:before,.ion-ios-information-circle:before,.ion-ios-information-circle-outline:before,.ion-ios-jet:before,.ion-ios-journal:before,.ion-ios-key:before,.ion-ios-keypad:before,.ion-ios-laptop:before,.ion-ios-leaf:before,.ion-ios-link:before,.ion-ios-list:before,.ion-ios-list-box:before,.ion-ios-locate:before,.ion-ios-lock:before,.ion-ios-log-in:before,.ion-ios-log-out:before,.ion-ios-magnet:before,.ion-ios-mail:before,.ion-ios-mail-open:before,.ion-ios-mail-unread:before,.ion-ios-male:before,.ion-ios-man:before,.ion-ios-map:before,.ion-ios-medal:before,.ion-ios-medical:before,.ion-ios-medkit:before,.ion-ios-megaphone:before,.ion-ios-menu:before,.ion-ios-mic:before,.ion-ios-mic-off:before,.ion-ios-microphone:before,.ion-ios-moon:before,.ion-ios-more:before,.ion-ios-move:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate:before,.ion-ios-notifications:before,.ion-ios-notifications-off:before,.ion-ios-notifications-outline:before,.ion-ios-nuclear:before,.ion-ios-nutrition:before,.ion-ios-open:before,.ion-ios-options:before,.ion-ios-outlet:before,.ion-ios-paper:before,.ion-ios-paper-plane:before,.ion-ios-partly-sunny:before,.ion-ios-pause:before,.ion-ios-paw:before,.ion-ios-people:before,.ion-ios-person:before,.ion-ios-person-add:before,.ion-ios-phone-landscape:before,.ion-ios-phone-portrait:before,.ion-ios-photos:before,.ion-ios-pie:before,.ion-ios-pin:before,.ion-ios-pint:before,.ion-ios-pizza:before,.ion-ios-planet:before,.ion-ios-play:before,.ion-ios-play-circle:before,.ion-ios-podium:before,.ion-ios-power:before,.ion-ios-pricetag:before,.ion-ios-pricetags:before,.ion-ios-print:before,.ion-ios-pulse:before,.ion-ios-qr-scanner:before,.ion-ios-quote:before,.ion-ios-radio:before,.ion-ios-radio-button-off:before,.ion-ios-radio-button-on:before,.ion-ios-rainy:before,.ion-ios-recording:before,.ion-ios-redo:before,.ion-ios-refresh:before,.ion-ios-refresh-circle:before,.ion-ios-remove:before,.ion-ios-remove-circle:before,.ion-ios-remove-circle-outline:before,.ion-ios-reorder:before,.ion-ios-repeat:before,.ion-ios-resize:before,.ion-ios-restaurant:before,.ion-ios-return-left:before,.ion-ios-return-right:before,.ion-ios-reverse-camera:before,.ion-ios-rewind:before,.ion-ios-ribbon:before,.ion-ios-rocket:before,.ion-ios-rose:before,.ion-ios-sad:before,.ion-ios-save:before,.ion-ios-school:before,.ion-ios-search:before,.ion-ios-send:before,.ion-ios-settings:before,.ion-ios-share:before,.ion-ios-share-alt:before,.ion-ios-shirt:before,.ion-ios-shuffle:before,.ion-ios-skip-backward:before,.ion-ios-skip-forward:before,.ion-ios-snow:before,.ion-ios-speedometer:before,.ion-ios-square:before,.ion-ios-square-outline:before,.ion-ios-star:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-stats:before,.ion-ios-stopwatch:before,.ion-ios-subway:before,.ion-ios-sunny:before,.ion-ios-swap:before,.ion-ios-switch:before,.ion-ios-sync:before,.ion-ios-tablet-landscape:before,.ion-ios-tablet-portrait:before,.ion-ios-tennisball:before,.ion-ios-text:before,.ion-ios-thermometer:before,.ion-ios-thumbs-down:before,.ion-ios-thumbs-up:before,.ion-ios-thunderstorm:before,.ion-ios-time:before,.ion-ios-timer:before,.ion-ios-today:before,.ion-ios-train:before,.ion-ios-transgender:before,.ion-ios-trash:before,.ion-ios-trending-down:before,.ion-ios-trending-up:before,.ion-ios-trophy:before,.ion-ios-tv:before,.ion-ios-umbrella:before,.ion-ios-undo:before,.ion-ios-unlock:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-volume-mute:before,.ion-ios-volume-off:before,.ion-ios-walk:before,.ion-ios-wallet:before,.ion-ios-warning:before,.ion-ios-watch:before,.ion-ios-water:before,.ion-ios-wifi:before,.ion-ios-wine:before,.ion-ios-woman:before,.ion-logo-android:before,.ion-logo-angular:before,.ion-logo-apple:before,.ion-logo-bitbucket:before,.ion-logo-bitcoin:before,.ion-logo-buffer:before,.ion-logo-chrome:before,.ion-logo-closed-captioning:before,.ion-logo-codepen:before,.ion-logo-css3:before,.ion-logo-designernews:before,.ion-logo-dribbble:before,.ion-logo-dropbox:before,.ion-logo-euro:before,.ion-logo-facebook:before,.ion-logo-flickr:before,.ion-logo-foursquare:before,.ion-logo-freebsd-devil:before,.ion-logo-game-controller-a:before,.ion-logo-game-controller-b:before,.ion-logo-github:before,.ion-logo-google:before,.ion-logo-googleplus:before,.ion-logo-hackernews:before,.ion-logo-html5:before,.ion-logo-instagram:before,.ion-logo-ionic:before,.ion-logo-ionitron:before,.ion-logo-javascript:before,.ion-logo-linkedin:before,.ion-logo-markdown:before,.ion-logo-model-s:before,.ion-logo-no-smoking:before,.ion-logo-nodejs:before,.ion-logo-npm:before,.ion-logo-octocat:before,.ion-logo-pinterest:before,.ion-logo-playstation:before,.ion-logo-polymer:before,.ion-logo-python:before,.ion-logo-reddit:before,.ion-logo-rss:before,.ion-logo-sass:before,.ion-logo-skype:before,.ion-logo-slack:before,.ion-logo-snapchat:before,.ion-logo-steam:before,.ion-logo-tumblr:before,.ion-logo-tux:before,.ion-logo-twitch:before,.ion-logo-twitter:before,.ion-logo-usd:before,.ion-logo-vimeo:before,.ion-logo-vk:before,.ion-logo-whatsapp:before,.ion-logo-windows:before,.ion-logo-wordpress:before,.ion-logo-xbox:before,.ion-logo-xing:before,.ion-logo-yahoo:before,.ion-logo-yen:before,.ion-logo-youtube:before,.ion-md-add:before,.ion-md-add-circle:before,.ion-md-add-circle-outline:before,.ion-md-airplane:before,.ion-md-alarm:before,.ion-md-albums:before,.ion-md-alert:before,.ion-md-american-football:before,.ion-md-analytics:before,.ion-md-aperture:before,.ion-md-apps:before,.ion-md-appstore:before,.ion-md-archive:before,.ion-md-arrow-back:before,.ion-md-arrow-down:before,.ion-md-arrow-dropdown:before,.ion-md-arrow-dropdown-circle:before,.ion-md-arrow-dropleft:before,.ion-md-arrow-dropleft-circle:before,.ion-md-arrow-dropright:before,.ion-md-arrow-dropright-circle:before,.ion-md-arrow-dropup:before,.ion-md-arrow-dropup-circle:before,.ion-md-arrow-forward:before,.ion-md-arrow-round-back:before,.ion-md-arrow-round-down:before,.ion-md-arrow-round-forward:before,.ion-md-arrow-round-up:before,.ion-md-arrow-up:before,.ion-md-at:before,.ion-md-attach:before,.ion-md-backspace:before,.ion-md-barcode:before,.ion-md-baseball:before,.ion-md-basket:before,.ion-md-basketball:before,.ion-md-battery-charging:before,.ion-md-battery-dead:before,.ion-md-battery-full:before,.ion-md-beaker:before,.ion-md-bed:before,.ion-md-beer:before,.ion-md-bicycle:before,.ion-md-bluetooth:before,.ion-md-boat:before,.ion-md-body:before,.ion-md-bonfire:before,.ion-md-book:before,.ion-md-bookmark:before,.ion-md-bookmarks:before,.ion-md-bowtie:before,.ion-md-briefcase:before,.ion-md-browsers:before,.ion-md-brush:before,.ion-md-bug:before,.ion-md-build:before,.ion-md-bulb:before,.ion-md-bus:before,.ion-md-business:before,.ion-md-cafe:before,.ion-md-calculator:before,.ion-md-calendar:before,.ion-md-call:before,.ion-md-camera:before,.ion-md-car:before,.ion-md-card:before,.ion-md-cart:before,.ion-md-cash:before,.ion-md-cellular:before,.ion-md-chatboxes:before,.ion-md-chatbubbles:before,.ion-md-checkbox:before,.ion-md-checkbox-outline:before,.ion-md-checkmark:before,.ion-md-checkmark-circle:before,.ion-md-checkmark-circle-outline:before,.ion-md-clipboard:before,.ion-md-clock:before,.ion-md-close:before,.ion-md-close-circle:before,.ion-md-close-circle-outline:before,.ion-md-cloud:before,.ion-md-cloud-circle:before,.ion-md-cloud-done:before,.ion-md-cloud-download:before,.ion-md-cloud-outline:before,.ion-md-cloud-upload:before,.ion-md-cloudy:before,.ion-md-cloudy-night:before,.ion-md-code:before,.ion-md-code-download:before,.ion-md-code-working:before,.ion-md-cog:before,.ion-md-color-fill:before,.ion-md-color-filter:before,.ion-md-color-palette:before,.ion-md-color-wand:before,.ion-md-compass:before,.ion-md-construct:before,.ion-md-contact:before,.ion-md-contacts:before,.ion-md-contract:before,.ion-md-contrast:before,.ion-md-copy:before,.ion-md-create:before,.ion-md-crop:before,.ion-md-cube:before,.ion-md-cut:before,.ion-md-desktop:before,.ion-md-disc:before,.ion-md-document:before,.ion-md-done-all:before,.ion-md-download:before,.ion-md-easel:before,.ion-md-egg:before,.ion-md-exit:before,.ion-md-expand:before,.ion-md-eye:before,.ion-md-eye-off:before,.ion-md-fastforward:before,.ion-md-female:before,.ion-md-filing:before,.ion-md-film:before,.ion-md-finger-print:before,.ion-md-fitness:before,.ion-md-flag:before,.ion-md-flame:before,.ion-md-flash:before,.ion-md-flash-off:before,.ion-md-flashlight:before,.ion-md-flask:before,.ion-md-flower:before,.ion-md-folder:before,.ion-md-folder-open:before,.ion-md-football:before,.ion-md-funnel:before,.ion-md-gift:before,.ion-md-git-branch:before,.ion-md-git-commit:before,.ion-md-git-compare:before,.ion-md-git-merge:before,.ion-md-git-network:before,.ion-md-git-pull-request:before,.ion-md-glasses:before,.ion-md-globe:before,.ion-md-grid:before,.ion-md-hammer:before,.ion-md-hand:before,.ion-md-happy:before,.ion-md-headset:before,.ion-md-heart:before,.ion-md-heart-dislike:before,.ion-md-heart-empty:before,.ion-md-heart-half:before,.ion-md-help:before,.ion-md-help-buoy:before,.ion-md-help-circle:before,.ion-md-help-circle-outline:before,.ion-md-home:before,.ion-md-hourglass:before,.ion-md-ice-cream:before,.ion-md-image:before,.ion-md-images:before,.ion-md-infinite:before,.ion-md-information:before,.ion-md-information-circle:before,.ion-md-information-circle-outline:before,.ion-md-jet:before,.ion-md-journal:before,.ion-md-key:before,.ion-md-keypad:before,.ion-md-laptop:before,.ion-md-leaf:before,.ion-md-link:before,.ion-md-list:before,.ion-md-list-box:before,.ion-md-locate:before,.ion-md-lock:before,.ion-md-log-in:before,.ion-md-log-out:before,.ion-md-magnet:before,.ion-md-mail:before,.ion-md-mail-open:before,.ion-md-mail-unread:before,.ion-md-male:before,.ion-md-man:before,.ion-md-map:before,.ion-md-medal:before,.ion-md-medical:before,.ion-md-medkit:before,.ion-md-megaphone:before,.ion-md-menu:before,.ion-md-mic:before,.ion-md-mic-off:before,.ion-md-microphone:before,.ion-md-moon:before,.ion-md-more:before,.ion-md-move:before,.ion-md-musical-note:before,.ion-md-musical-notes:before,.ion-md-navigate:before,.ion-md-notifications:before,.ion-md-notifications-off:before,.ion-md-notifications-outline:before,.ion-md-nuclear:before,.ion-md-nutrition:before,.ion-md-open:before,.ion-md-options:before,.ion-md-outlet:before,.ion-md-paper:before,.ion-md-paper-plane:before,.ion-md-partly-sunny:before,.ion-md-pause:before,.ion-md-paw:before,.ion-md-people:before,.ion-md-person:before,.ion-md-person-add:before,.ion-md-phone-landscape:before,.ion-md-phone-portrait:before,.ion-md-photos:before,.ion-md-pie:before,.ion-md-pin:before,.ion-md-pint:before,.ion-md-pizza:before,.ion-md-planet:before,.ion-md-play:before,.ion-md-play-circle:before,.ion-md-podium:before,.ion-md-power:before,.ion-md-pricetag:before,.ion-md-pricetags:before,.ion-md-print:before,.ion-md-pulse:before,.ion-md-qr-scanner:before,.ion-md-quote:before,.ion-md-radio:before,.ion-md-radio-button-off:before,.ion-md-radio-button-on:before,.ion-md-rainy:before,.ion-md-recording:before,.ion-md-redo:before,.ion-md-refresh:before,.ion-md-refresh-circle:before,.ion-md-remove:before,.ion-md-remove-circle:before,.ion-md-remove-circle-outline:before,.ion-md-reorder:before,.ion-md-repeat:before,.ion-md-resize:before,.ion-md-restaurant:before,.ion-md-return-left:before,.ion-md-return-right:before,.ion-md-reverse-camera:before,.ion-md-rewind:before,.ion-md-ribbon:before,.ion-md-rocket:before,.ion-md-rose:before,.ion-md-sad:before,.ion-md-save:before,.ion-md-school:before,.ion-md-search:before,.ion-md-send:before,.ion-md-settings:before,.ion-md-share:before,.ion-md-share-alt:before,.ion-md-shirt:before,.ion-md-shuffle:before,.ion-md-skip-backward:before,.ion-md-skip-forward:before,.ion-md-snow:before,.ion-md-speedometer:before,.ion-md-square:before,.ion-md-square-outline:before,.ion-md-star:before,.ion-md-star-half:before,.ion-md-star-outline:before,.ion-md-stats:before,.ion-md-stopwatch:before,.ion-md-subway:before,.ion-md-sunny:before,.ion-md-swap:before,.ion-md-switch:before,.ion-md-sync:before,.ion-md-tablet-landscape:before,.ion-md-tablet-portrait:before,.ion-md-tennisball:before,.ion-md-text:before,.ion-md-thermometer:before,.ion-md-thumbs-down:before,.ion-md-thumbs-up:before,.ion-md-thunderstorm:before,.ion-md-time:before,.ion-md-timer:before,.ion-md-today:before,.ion-md-train:before,.ion-md-transgender:before,.ion-md-trash:before,.ion-md-trending-down:before,.ion-md-trending-up:before,.ion-md-trophy:before,.ion-md-tv:before,.ion-md-umbrella:before,.ion-md-undo:before,.ion-md-unlock:before,.ion-md-videocam:before,.ion-md-volume-high:before,.ion-md-volume-low:before,.ion-md-volume-mute:before,.ion-md-volume-off:before,.ion-md-walk:before,.ion-md-wallet:before,.ion-md-warning:before,.ion-md-watch:before,.ion-md-water:before,.ion-md-wifi:before,.ion-md-wine:before,.ion-md-woman:before{display:inline-block;font-family:"Ionicons4";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-airplane:before{content:"\f137"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-alert:before{content:"\f104"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f125"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f129"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f12b"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f12d"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-bed:before{content:"\f139"}.ion-ios-beer:before{content:"\f126"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-brush:before{content:"\f132"}.ion-ios-bug:before{content:"\f134"}.ion-ios-build:before{content:"\f136"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-business:before{content:"\f1a3"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-call:before{content:"\f13e"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-car:before{content:"\f140"}.ion-ios-card:before{content:"\f142"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cellular:before{content:"\f13d"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clock:before{content:"\f403"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-create:before{content:"\f165"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-document:before{content:"\f170"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-easel:before{content:"\f173"}.ion-ios-egg:before{content:"\f175"}.ion-ios-exit:before{content:"\f177"}.ion-ios-expand:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-female:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-film:before{content:"\f42b"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-fitness:before{content:"\f1ab"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-off:before{content:"\f12f"}.ion-ios-flashlight:before{content:"\f141"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flower:before{content:"\f433"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-football:before{content:"\f437"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-gift:before{content:"\f191"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hand:before{content:"\f190"}.ion-ios-happy:before{content:"\f192"}.ion-ios-headset:before{content:"\f194"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-dislike:before{content:"\f13f"}.ion-ios-heart-empty:before{content:"\f19b"}.ion-ios-heart-half:before{content:"\f19d"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-home:before{content:"\f448"}.ion-ios-hourglass:before{content:"\f103"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-image:before{content:"\f19c"}.ion-ios-images:before{content:"\f19e"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-journal:before{content:"\f189"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-link:before{content:"\f22a"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f143"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-unread:before{content:"\f145"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-moon:before{content:"\f468"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-outline:before{content:"\f133"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-pause:before{content:"\f478"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-people:before{content:"\f47c"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-circle:before{content:"\f113"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-recording:before{content:"\f497"}.ion-ios-redo:before{content:"\f499"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f135"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-rocket:before{content:"\f14b"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-sad:before{content:"\f207"}.ion-ios-save:before{content:"\f1a6"}.ion-ios-school:before{content:"\f209"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-send:before{content:"\f20c"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-snow:before{content:"\f218"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f15c"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-sync:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-text:before{content:"\f250"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-today:before{content:"\f14f"}.ion-ios-train:before{content:"\f258"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-tv:before{content:"\f115"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-volume-high:before{content:"\f11c"}.ion-ios-volume-low:before{content:"\f11e"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-walk:before{content:"\f266"}.ion-ios-wallet:before{content:"\f18b"}.ion-ios-warning:before{content:"\f268"}.ion-ios-watch:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-woman:before{content:"\f271"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitbucket:before{content:"\f193"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-closed-captioning:before{content:"\f105"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-flickr:before{content:"\f107"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-game-controller-a:before{content:"\f13b"}.ion-logo-game-controller-b:before{content:"\f181"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-ionic:before{content:"\f150"}.ion-logo-ionitron:before{content:"\f151"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-model-s:before{content:"\f153"}.ion-logo-no-smoking:before{content:"\f109"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-npm:before{content:"\f195"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-polymer:before{content:"\f15e"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-slack:before{content:"\f10b"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-vk:before{content:"\f10d"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-xing:before{content:"\f10f"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-add-circle-outline:before{content:"\f158"}.ion-md-airplane:before{content:"\f15a"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-bed:before{content:"\f160"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-business:before{content:"\f1a4"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-cellular:before{content:"\f164"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-close-circle-outline:before{content:"\f166"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-fitness:before{content:"\f1ac"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flash-off:before{content:"\f169"}.ion-md-flashlight:before{content:"\f16b"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-gift:before{content:"\f199"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-dislike:before{content:"\f167"}.ion-md-heart-empty:before{content:"\f1a1"}.ion-md-heart-half:before{content:"\f1a2"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-help-circle-outline:before{content:"\f16d"}.ion-md-home:before{content:"\f30c"}.ion-md-hourglass:before{content:"\f111"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-information-circle-outline:before{content:"\f16f"}.ion-md-jet:before{content:"\f315"}.ion-md-journal:before{content:"\f18d"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-mail-unread:before{content:"\f172"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-play-circle:before{content:"\f174"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-remove-circle-outline:before{content:"\f176"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rocket:before{content:"\f179"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-save:before{content:"\f1a9"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-today:before{content:"\f17d"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-tv:before{content:"\f17f"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-high:before{content:"\f123"}.ion-md-volume-low:before{content:"\f131"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-walk:before{content:"\f3a4"}.ion-md-wallet:before{content:"\f18f"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"}
@@ -0,0 +1,7 @@
1
+ @mixin icon($name) {
2
+ @extend %ion4-#{$name};
3
+ }
4
+
5
+ %ion4-ios-add:before,%ion4-ios-add-circle:before,%ion4-ios-add-circle-outline:before,%ion4-ios-airplane:before,%ion4-ios-alarm:before,%ion4-ios-albums:before,%ion4-ios-alert:before,%ion4-ios-american-football:before,%ion4-ios-analytics:before,%ion4-ios-aperture:before,%ion4-ios-apps:before,%ion4-ios-appstore:before,%ion4-ios-archive:before,%ion4-ios-arrow-back:before,%ion4-ios-arrow-down:before,%ion4-ios-arrow-dropdown:before,%ion4-ios-arrow-dropdown-circle:before,%ion4-ios-arrow-dropleft:before,%ion4-ios-arrow-dropleft-circle:before,%ion4-ios-arrow-dropright:before,%ion4-ios-arrow-dropright-circle:before,%ion4-ios-arrow-dropup:before,%ion4-ios-arrow-dropup-circle:before,%ion4-ios-arrow-forward:before,%ion4-ios-arrow-round-back:before,%ion4-ios-arrow-round-down:before,%ion4-ios-arrow-round-forward:before,%ion4-ios-arrow-round-up:before,%ion4-ios-arrow-up:before,%ion4-ios-at:before,%ion4-ios-attach:before,%ion4-ios-backspace:before,%ion4-ios-barcode:before,%ion4-ios-baseball:before,%ion4-ios-basket:before,%ion4-ios-basketball:before,%ion4-ios-battery-charging:before,%ion4-ios-battery-dead:before,%ion4-ios-battery-full:before,%ion4-ios-beaker:before,%ion4-ios-bed:before,%ion4-ios-beer:before,%ion4-ios-bicycle:before,%ion4-ios-bluetooth:before,%ion4-ios-boat:before,%ion4-ios-body:before,%ion4-ios-bonfire:before,%ion4-ios-book:before,%ion4-ios-bookmark:before,%ion4-ios-bookmarks:before,%ion4-ios-bowtie:before,%ion4-ios-briefcase:before,%ion4-ios-browsers:before,%ion4-ios-brush:before,%ion4-ios-bug:before,%ion4-ios-build:before,%ion4-ios-bulb:before,%ion4-ios-bus:before,%ion4-ios-business:before,%ion4-ios-cafe:before,%ion4-ios-calculator:before,%ion4-ios-calendar:before,%ion4-ios-call:before,%ion4-ios-camera:before,%ion4-ios-car:before,%ion4-ios-card:before,%ion4-ios-cart:before,%ion4-ios-cash:before,%ion4-ios-cellular:before,%ion4-ios-chatboxes:before,%ion4-ios-chatbubbles:before,%ion4-ios-checkbox:before,%ion4-ios-checkbox-outline:before,%ion4-ios-checkmark:before,%ion4-ios-checkmark-circle:before,%ion4-ios-checkmark-circle-outline:before,%ion4-ios-clipboard:before,%ion4-ios-clock:before,%ion4-ios-close:before,%ion4-ios-close-circle:before,%ion4-ios-close-circle-outline:before,%ion4-ios-cloud:before,%ion4-ios-cloud-circle:before,%ion4-ios-cloud-done:before,%ion4-ios-cloud-download:before,%ion4-ios-cloud-outline:before,%ion4-ios-cloud-upload:before,%ion4-ios-cloudy:before,%ion4-ios-cloudy-night:before,%ion4-ios-code:before,%ion4-ios-code-download:before,%ion4-ios-code-working:before,%ion4-ios-cog:before,%ion4-ios-color-fill:before,%ion4-ios-color-filter:before,%ion4-ios-color-palette:before,%ion4-ios-color-wand:before,%ion4-ios-compass:before,%ion4-ios-construct:before,%ion4-ios-contact:before,%ion4-ios-contacts:before,%ion4-ios-contract:before,%ion4-ios-contrast:before,%ion4-ios-copy:before,%ion4-ios-create:before,%ion4-ios-crop:before,%ion4-ios-cube:before,%ion4-ios-cut:before,%ion4-ios-desktop:before,%ion4-ios-disc:before,%ion4-ios-document:before,%ion4-ios-done-all:before,%ion4-ios-download:before,%ion4-ios-easel:before,%ion4-ios-egg:before,%ion4-ios-exit:before,%ion4-ios-expand:before,%ion4-ios-eye:before,%ion4-ios-eye-off:before,%ion4-ios-fastforward:before,%ion4-ios-female:before,%ion4-ios-filing:before,%ion4-ios-film:before,%ion4-ios-finger-print:before,%ion4-ios-fitness:before,%ion4-ios-flag:before,%ion4-ios-flame:before,%ion4-ios-flash:before,%ion4-ios-flash-off:before,%ion4-ios-flashlight:before,%ion4-ios-flask:before,%ion4-ios-flower:before,%ion4-ios-folder:before,%ion4-ios-folder-open:before,%ion4-ios-football:before,%ion4-ios-funnel:before,%ion4-ios-gift:before,%ion4-ios-git-branch:before,%ion4-ios-git-commit:before,%ion4-ios-git-compare:before,%ion4-ios-git-merge:before,%ion4-ios-git-network:before,%ion4-ios-git-pull-request:before,%ion4-ios-glasses:before,%ion4-ios-globe:before,%ion4-ios-grid:before,%ion4-ios-hammer:before,%ion4-ios-hand:before,%ion4-ios-happy:before,%ion4-ios-headset:before,%ion4-ios-heart:before,%ion4-ios-heart-dislike:before,%ion4-ios-heart-empty:before,%ion4-ios-heart-half:before,%ion4-ios-help:before,%ion4-ios-help-buoy:before,%ion4-ios-help-circle:before,%ion4-ios-help-circle-outline:before,%ion4-ios-home:before,%ion4-ios-hourglass:before,%ion4-ios-ice-cream:before,%ion4-ios-image:before,%ion4-ios-images:before,%ion4-ios-infinite:before,%ion4-ios-information:before,%ion4-ios-information-circle:before,%ion4-ios-information-circle-outline:before,%ion4-ios-jet:before,%ion4-ios-journal:before,%ion4-ios-key:before,%ion4-ios-keypad:before,%ion4-ios-laptop:before,%ion4-ios-leaf:before,%ion4-ios-link:before,%ion4-ios-list:before,%ion4-ios-list-box:before,%ion4-ios-locate:before,%ion4-ios-lock:before,%ion4-ios-log-in:before,%ion4-ios-log-out:before,%ion4-ios-magnet:before,%ion4-ios-mail:before,%ion4-ios-mail-open:before,%ion4-ios-mail-unread:before,%ion4-ios-male:before,%ion4-ios-man:before,%ion4-ios-map:before,%ion4-ios-medal:before,%ion4-ios-medical:before,%ion4-ios-medkit:before,%ion4-ios-megaphone:before,%ion4-ios-menu:before,%ion4-ios-mic:before,%ion4-ios-mic-off:before,%ion4-ios-microphone:before,%ion4-ios-moon:before,%ion4-ios-more:before,%ion4-ios-move:before,%ion4-ios-musical-note:before,%ion4-ios-musical-notes:before,%ion4-ios-navigate:before,%ion4-ios-notifications:before,%ion4-ios-notifications-off:before,%ion4-ios-notifications-outline:before,%ion4-ios-nuclear:before,%ion4-ios-nutrition:before,%ion4-ios-open:before,%ion4-ios-options:before,%ion4-ios-outlet:before,%ion4-ios-paper:before,%ion4-ios-paper-plane:before,%ion4-ios-partly-sunny:before,%ion4-ios-pause:before,%ion4-ios-paw:before,%ion4-ios-people:before,%ion4-ios-person:before,%ion4-ios-person-add:before,%ion4-ios-phone-landscape:before,%ion4-ios-phone-portrait:before,%ion4-ios-photos:before,%ion4-ios-pie:before,%ion4-ios-pin:before,%ion4-ios-pint:before,%ion4-ios-pizza:before,%ion4-ios-planet:before,%ion4-ios-play:before,%ion4-ios-play-circle:before,%ion4-ios-podium:before,%ion4-ios-power:before,%ion4-ios-pricetag:before,%ion4-ios-pricetags:before,%ion4-ios-print:before,%ion4-ios-pulse:before,%ion4-ios-qr-scanner:before,%ion4-ios-quote:before,%ion4-ios-radio:before,%ion4-ios-radio-button-off:before,%ion4-ios-radio-button-on:before,%ion4-ios-rainy:before,%ion4-ios-recording:before,%ion4-ios-redo:before,%ion4-ios-refresh:before,%ion4-ios-refresh-circle:before,%ion4-ios-remove:before,%ion4-ios-remove-circle:before,%ion4-ios-remove-circle-outline:before,%ion4-ios-reorder:before,%ion4-ios-repeat:before,%ion4-ios-resize:before,%ion4-ios-restaurant:before,%ion4-ios-return-left:before,%ion4-ios-return-right:before,%ion4-ios-reverse-camera:before,%ion4-ios-rewind:before,%ion4-ios-ribbon:before,%ion4-ios-rocket:before,%ion4-ios-rose:before,%ion4-ios-sad:before,%ion4-ios-save:before,%ion4-ios-school:before,%ion4-ios-search:before,%ion4-ios-send:before,%ion4-ios-settings:before,%ion4-ios-share:before,%ion4-ios-share-alt:before,%ion4-ios-shirt:before,%ion4-ios-shuffle:before,%ion4-ios-skip-backward:before,%ion4-ios-skip-forward:before,%ion4-ios-snow:before,%ion4-ios-speedometer:before,%ion4-ios-square:before,%ion4-ios-square-outline:before,%ion4-ios-star:before,%ion4-ios-star-half:before,%ion4-ios-star-outline:before,%ion4-ios-stats:before,%ion4-ios-stopwatch:before,%ion4-ios-subway:before,%ion4-ios-sunny:before,%ion4-ios-swap:before,%ion4-ios-switch:before,%ion4-ios-sync:before,%ion4-ios-tablet-landscape:before,%ion4-ios-tablet-portrait:before,%ion4-ios-tennisball:before,%ion4-ios-text:before,%ion4-ios-thermometer:before,%ion4-ios-thumbs-down:before,%ion4-ios-thumbs-up:before,%ion4-ios-thunderstorm:before,%ion4-ios-time:before,%ion4-ios-timer:before,%ion4-ios-today:before,%ion4-ios-train:before,%ion4-ios-transgender:before,%ion4-ios-trash:before,%ion4-ios-trending-down:before,%ion4-ios-trending-up:before,%ion4-ios-trophy:before,%ion4-ios-tv:before,%ion4-ios-umbrella:before,%ion4-ios-undo:before,%ion4-ios-unlock:before,%ion4-ios-videocam:before,%ion4-ios-volume-high:before,%ion4-ios-volume-low:before,%ion4-ios-volume-mute:before,%ion4-ios-volume-off:before,%ion4-ios-walk:before,%ion4-ios-wallet:before,%ion4-ios-warning:before,%ion4-ios-watch:before,%ion4-ios-water:before,%ion4-ios-wifi:before,%ion4-ios-wine:before,%ion4-ios-woman:before,%ion4-logo-android:before,%ion4-logo-angular:before,%ion4-logo-apple:before,%ion4-logo-bitbucket:before,%ion4-logo-bitcoin:before,%ion4-logo-buffer:before,%ion4-logo-chrome:before,%ion4-logo-closed-captioning:before,%ion4-logo-codepen:before,%ion4-logo-css3:before,%ion4-logo-designernews:before,%ion4-logo-dribbble:before,%ion4-logo-dropbox:before,%ion4-logo-euro:before,%ion4-logo-facebook:before,%ion4-logo-flickr:before,%ion4-logo-foursquare:before,%ion4-logo-freebsd-devil:before,%ion4-logo-game-controller-a:before,%ion4-logo-game-controller-b:before,%ion4-logo-github:before,%ion4-logo-google:before,%ion4-logo-googleplus:before,%ion4-logo-hackernews:before,%ion4-logo-html5:before,%ion4-logo-instagram:before,%ion4-logo-ionic:before,%ion4-logo-ionitron:before,%ion4-logo-javascript:before,%ion4-logo-linkedin:before,%ion4-logo-markdown:before,%ion4-logo-model-s:before,%ion4-logo-no-smoking:before,%ion4-logo-nodejs:before,%ion4-logo-npm:before,%ion4-logo-octocat:before,%ion4-logo-pinterest:before,%ion4-logo-playstation:before,%ion4-logo-polymer:before,%ion4-logo-python:before,%ion4-logo-reddit:before,%ion4-logo-rss:before,%ion4-logo-sass:before,%ion4-logo-skype:before,%ion4-logo-slack:before,%ion4-logo-snapchat:before,%ion4-logo-steam:before,%ion4-logo-tumblr:before,%ion4-logo-tux:before,%ion4-logo-twitch:before,%ion4-logo-twitter:before,%ion4-logo-usd:before,%ion4-logo-vimeo:before,%ion4-logo-vk:before,%ion4-logo-whatsapp:before,%ion4-logo-windows:before,%ion4-logo-wordpress:before,%ion4-logo-xbox:before,%ion4-logo-xing:before,%ion4-logo-yahoo:before,%ion4-logo-yen:before,%ion4-logo-youtube:before,%ion4-md-add:before,%ion4-md-add-circle:before,%ion4-md-add-circle-outline:before,%ion4-md-airplane:before,%ion4-md-alarm:before,%ion4-md-albums:before,%ion4-md-alert:before,%ion4-md-american-football:before,%ion4-md-analytics:before,%ion4-md-aperture:before,%ion4-md-apps:before,%ion4-md-appstore:before,%ion4-md-archive:before,%ion4-md-arrow-back:before,%ion4-md-arrow-down:before,%ion4-md-arrow-dropdown:before,%ion4-md-arrow-dropdown-circle:before,%ion4-md-arrow-dropleft:before,%ion4-md-arrow-dropleft-circle:before,%ion4-md-arrow-dropright:before,%ion4-md-arrow-dropright-circle:before,%ion4-md-arrow-dropup:before,%ion4-md-arrow-dropup-circle:before,%ion4-md-arrow-forward:before,%ion4-md-arrow-round-back:before,%ion4-md-arrow-round-down:before,%ion4-md-arrow-round-forward:before,%ion4-md-arrow-round-up:before,%ion4-md-arrow-up:before,%ion4-md-at:before,%ion4-md-attach:before,%ion4-md-backspace:before,%ion4-md-barcode:before,%ion4-md-baseball:before,%ion4-md-basket:before,%ion4-md-basketball:before,%ion4-md-battery-charging:before,%ion4-md-battery-dead:before,%ion4-md-battery-full:before,%ion4-md-beaker:before,%ion4-md-bed:before,%ion4-md-beer:before,%ion4-md-bicycle:before,%ion4-md-bluetooth:before,%ion4-md-boat:before,%ion4-md-body:before,%ion4-md-bonfire:before,%ion4-md-book:before,%ion4-md-bookmark:before,%ion4-md-bookmarks:before,%ion4-md-bowtie:before,%ion4-md-briefcase:before,%ion4-md-browsers:before,%ion4-md-brush:before,%ion4-md-bug:before,%ion4-md-build:before,%ion4-md-bulb:before,%ion4-md-bus:before,%ion4-md-business:before,%ion4-md-cafe:before,%ion4-md-calculator:before,%ion4-md-calendar:before,%ion4-md-call:before,%ion4-md-camera:before,%ion4-md-car:before,%ion4-md-card:before,%ion4-md-cart:before,%ion4-md-cash:before,%ion4-md-cellular:before,%ion4-md-chatboxes:before,%ion4-md-chatbubbles:before,%ion4-md-checkbox:before,%ion4-md-checkbox-outline:before,%ion4-md-checkmark:before,%ion4-md-checkmark-circle:before,%ion4-md-checkmark-circle-outline:before,%ion4-md-clipboard:before,%ion4-md-clock:before,%ion4-md-close:before,%ion4-md-close-circle:before,%ion4-md-close-circle-outline:before,%ion4-md-cloud:before,%ion4-md-cloud-circle:before,%ion4-md-cloud-done:before,%ion4-md-cloud-download:before,%ion4-md-cloud-outline:before,%ion4-md-cloud-upload:before,%ion4-md-cloudy:before,%ion4-md-cloudy-night:before,%ion4-md-code:before,%ion4-md-code-download:before,%ion4-md-code-working:before,%ion4-md-cog:before,%ion4-md-color-fill:before,%ion4-md-color-filter:before,%ion4-md-color-palette:before,%ion4-md-color-wand:before,%ion4-md-compass:before,%ion4-md-construct:before,%ion4-md-contact:before,%ion4-md-contacts:before,%ion4-md-contract:before,%ion4-md-contrast:before,%ion4-md-copy:before,%ion4-md-create:before,%ion4-md-crop:before,%ion4-md-cube:before,%ion4-md-cut:before,%ion4-md-desktop:before,%ion4-md-disc:before,%ion4-md-document:before,%ion4-md-done-all:before,%ion4-md-download:before,%ion4-md-easel:before,%ion4-md-egg:before,%ion4-md-exit:before,%ion4-md-expand:before,%ion4-md-eye:before,%ion4-md-eye-off:before,%ion4-md-fastforward:before,%ion4-md-female:before,%ion4-md-filing:before,%ion4-md-film:before,%ion4-md-finger-print:before,%ion4-md-fitness:before,%ion4-md-flag:before,%ion4-md-flame:before,%ion4-md-flash:before,%ion4-md-flash-off:before,%ion4-md-flashlight:before,%ion4-md-flask:before,%ion4-md-flower:before,%ion4-md-folder:before,%ion4-md-folder-open:before,%ion4-md-football:before,%ion4-md-funnel:before,%ion4-md-gift:before,%ion4-md-git-branch:before,%ion4-md-git-commit:before,%ion4-md-git-compare:before,%ion4-md-git-merge:before,%ion4-md-git-network:before,%ion4-md-git-pull-request:before,%ion4-md-glasses:before,%ion4-md-globe:before,%ion4-md-grid:before,%ion4-md-hammer:before,%ion4-md-hand:before,%ion4-md-happy:before,%ion4-md-headset:before,%ion4-md-heart:before,%ion4-md-heart-dislike:before,%ion4-md-heart-empty:before,%ion4-md-heart-half:before,%ion4-md-help:before,%ion4-md-help-buoy:before,%ion4-md-help-circle:before,%ion4-md-help-circle-outline:before,%ion4-md-home:before,%ion4-md-hourglass:before,%ion4-md-ice-cream:before,%ion4-md-image:before,%ion4-md-images:before,%ion4-md-infinite:before,%ion4-md-information:before,%ion4-md-information-circle:before,%ion4-md-information-circle-outline:before,%ion4-md-jet:before,%ion4-md-journal:before,%ion4-md-key:before,%ion4-md-keypad:before,%ion4-md-laptop:before,%ion4-md-leaf:before,%ion4-md-link:before,%ion4-md-list:before,%ion4-md-list-box:before,%ion4-md-locate:before,%ion4-md-lock:before,%ion4-md-log-in:before,%ion4-md-log-out:before,%ion4-md-magnet:before,%ion4-md-mail:before,%ion4-md-mail-open:before,%ion4-md-mail-unread:before,%ion4-md-male:before,%ion4-md-man:before,%ion4-md-map:before,%ion4-md-medal:before,%ion4-md-medical:before,%ion4-md-medkit:before,%ion4-md-megaphone:before,%ion4-md-menu:before,%ion4-md-mic:before,%ion4-md-mic-off:before,%ion4-md-microphone:before,%ion4-md-moon:before,%ion4-md-more:before,%ion4-md-move:before,%ion4-md-musical-note:before,%ion4-md-musical-notes:before,%ion4-md-navigate:before,%ion4-md-notifications:before,%ion4-md-notifications-off:before,%ion4-md-notifications-outline:before,%ion4-md-nuclear:before,%ion4-md-nutrition:before,%ion4-md-open:before,%ion4-md-options:before,%ion4-md-outlet:before,%ion4-md-paper:before,%ion4-md-paper-plane:before,%ion4-md-partly-sunny:before,%ion4-md-pause:before,%ion4-md-paw:before,%ion4-md-people:before,%ion4-md-person:before,%ion4-md-person-add:before,%ion4-md-phone-landscape:before,%ion4-md-phone-portrait:before,%ion4-md-photos:before,%ion4-md-pie:before,%ion4-md-pin:before,%ion4-md-pint:before,%ion4-md-pizza:before,%ion4-md-planet:before,%ion4-md-play:before,%ion4-md-play-circle:before,%ion4-md-podium:before,%ion4-md-power:before,%ion4-md-pricetag:before,%ion4-md-pricetags:before,%ion4-md-print:before,%ion4-md-pulse:before,%ion4-md-qr-scanner:before,%ion4-md-quote:before,%ion4-md-radio:before,%ion4-md-radio-button-off:before,%ion4-md-radio-button-on:before,%ion4-md-rainy:before,%ion4-md-recording:before,%ion4-md-redo:before,%ion4-md-refresh:before,%ion4-md-refresh-circle:before,%ion4-md-remove:before,%ion4-md-remove-circle:before,%ion4-md-remove-circle-outline:before,%ion4-md-reorder:before,%ion4-md-repeat:before,%ion4-md-resize:before,%ion4-md-restaurant:before,%ion4-md-return-left:before,%ion4-md-return-right:before,%ion4-md-reverse-camera:before,%ion4-md-rewind:before,%ion4-md-ribbon:before,%ion4-md-rocket:before,%ion4-md-rose:before,%ion4-md-sad:before,%ion4-md-save:before,%ion4-md-school:before,%ion4-md-search:before,%ion4-md-send:before,%ion4-md-settings:before,%ion4-md-share:before,%ion4-md-share-alt:before,%ion4-md-shirt:before,%ion4-md-shuffle:before,%ion4-md-skip-backward:before,%ion4-md-skip-forward:before,%ion4-md-snow:before,%ion4-md-speedometer:before,%ion4-md-square:before,%ion4-md-square-outline:before,%ion4-md-star:before,%ion4-md-star-half:before,%ion4-md-star-outline:before,%ion4-md-stats:before,%ion4-md-stopwatch:before,%ion4-md-subway:before,%ion4-md-sunny:before,%ion4-md-swap:before,%ion4-md-switch:before,%ion4-md-sync:before,%ion4-md-tablet-landscape:before,%ion4-md-tablet-portrait:before,%ion4-md-tennisball:before,%ion4-md-text:before,%ion4-md-thermometer:before,%ion4-md-thumbs-down:before,%ion4-md-thumbs-up:before,%ion4-md-thunderstorm:before,%ion4-md-time:before,%ion4-md-timer:before,%ion4-md-today:before,%ion4-md-train:before,%ion4-md-transgender:before,%ion4-md-trash:before,%ion4-md-trending-down:before,%ion4-md-trending-up:before,%ion4-md-trophy:before,%ion4-md-tv:before,%ion4-md-umbrella:before,%ion4-md-undo:before,%ion4-md-unlock:before,%ion4-md-videocam:before,%ion4-md-volume-high:before,%ion4-md-volume-low:before,%ion4-md-volume-mute:before,%ion4-md-volume-off:before,%ion4-md-walk:before,%ion4-md-wallet:before,%ion4-md-warning:before,%ion4-md-watch:before,%ion4-md-water:before,%ion4-md-wifi:before,%ion4-md-wine:before,%ion4-md-woman:before{display:inline-block;font-family:"Ionicons4";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
6
+
7
+ %ion4-ios-add:before{content:"\f102"}%ion4-ios-add-circle:before{content:"\f101"}%ion4-ios-add-circle-outline:before{content:"\f100"}%ion4-ios-airplane:before{content:"\f137"}%ion4-ios-alarm:before{content:"\f3c8"}%ion4-ios-albums:before{content:"\f3ca"}%ion4-ios-alert:before{content:"\f104"}%ion4-ios-american-football:before{content:"\f106"}%ion4-ios-analytics:before{content:"\f3ce"}%ion4-ios-aperture:before{content:"\f108"}%ion4-ios-apps:before{content:"\f10a"}%ion4-ios-appstore:before{content:"\f10c"}%ion4-ios-archive:before{content:"\f10e"}%ion4-ios-arrow-back:before{content:"\f3cf"}%ion4-ios-arrow-down:before{content:"\f3d0"}%ion4-ios-arrow-dropdown:before{content:"\f110"}%ion4-ios-arrow-dropdown-circle:before{content:"\f125"}%ion4-ios-arrow-dropleft:before{content:"\f112"}%ion4-ios-arrow-dropleft-circle:before{content:"\f129"}%ion4-ios-arrow-dropright:before{content:"\f114"}%ion4-ios-arrow-dropright-circle:before{content:"\f12b"}%ion4-ios-arrow-dropup:before{content:"\f116"}%ion4-ios-arrow-dropup-circle:before{content:"\f12d"}%ion4-ios-arrow-forward:before{content:"\f3d1"}%ion4-ios-arrow-round-back:before{content:"\f117"}%ion4-ios-arrow-round-down:before{content:"\f118"}%ion4-ios-arrow-round-forward:before{content:"\f119"}%ion4-ios-arrow-round-up:before{content:"\f11a"}%ion4-ios-arrow-up:before{content:"\f3d8"}%ion4-ios-at:before{content:"\f3da"}%ion4-ios-attach:before{content:"\f11b"}%ion4-ios-backspace:before{content:"\f11d"}%ion4-ios-barcode:before{content:"\f3dc"}%ion4-ios-baseball:before{content:"\f3de"}%ion4-ios-basket:before{content:"\f11f"}%ion4-ios-basketball:before{content:"\f3e0"}%ion4-ios-battery-charging:before{content:"\f120"}%ion4-ios-battery-dead:before{content:"\f121"}%ion4-ios-battery-full:before{content:"\f122"}%ion4-ios-beaker:before{content:"\f124"}%ion4-ios-bed:before{content:"\f139"}%ion4-ios-beer:before{content:"\f126"}%ion4-ios-bicycle:before{content:"\f127"}%ion4-ios-bluetooth:before{content:"\f128"}%ion4-ios-boat:before{content:"\f12a"}%ion4-ios-body:before{content:"\f3e4"}%ion4-ios-bonfire:before{content:"\f12c"}%ion4-ios-book:before{content:"\f3e8"}%ion4-ios-bookmark:before{content:"\f12e"}%ion4-ios-bookmarks:before{content:"\f3ea"}%ion4-ios-bowtie:before{content:"\f130"}%ion4-ios-briefcase:before{content:"\f3ee"}%ion4-ios-browsers:before{content:"\f3f0"}%ion4-ios-brush:before{content:"\f132"}%ion4-ios-bug:before{content:"\f134"}%ion4-ios-build:before{content:"\f136"}%ion4-ios-bulb:before{content:"\f138"}%ion4-ios-bus:before{content:"\f13a"}%ion4-ios-business:before{content:"\f1a3"}%ion4-ios-cafe:before{content:"\f13c"}%ion4-ios-calculator:before{content:"\f3f2"}%ion4-ios-calendar:before{content:"\f3f4"}%ion4-ios-call:before{content:"\f13e"}%ion4-ios-camera:before{content:"\f3f6"}%ion4-ios-car:before{content:"\f140"}%ion4-ios-card:before{content:"\f142"}%ion4-ios-cart:before{content:"\f3f8"}%ion4-ios-cash:before{content:"\f144"}%ion4-ios-cellular:before{content:"\f13d"}%ion4-ios-chatboxes:before{content:"\f3fa"}%ion4-ios-chatbubbles:before{content:"\f146"}%ion4-ios-checkbox:before{content:"\f148"}%ion4-ios-checkbox-outline:before{content:"\f147"}%ion4-ios-checkmark:before{content:"\f3ff"}%ion4-ios-checkmark-circle:before{content:"\f14a"}%ion4-ios-checkmark-circle-outline:before{content:"\f149"}%ion4-ios-clipboard:before{content:"\f14c"}%ion4-ios-clock:before{content:"\f403"}%ion4-ios-close:before{content:"\f406"}%ion4-ios-close-circle:before{content:"\f14e"}%ion4-ios-close-circle-outline:before{content:"\f14d"}%ion4-ios-cloud:before{content:"\f40c"}%ion4-ios-cloud-circle:before{content:"\f152"}%ion4-ios-cloud-done:before{content:"\f154"}%ion4-ios-cloud-download:before{content:"\f408"}%ion4-ios-cloud-outline:before{content:"\f409"}%ion4-ios-cloud-upload:before{content:"\f40b"}%ion4-ios-cloudy:before{content:"\f410"}%ion4-ios-cloudy-night:before{content:"\f40e"}%ion4-ios-code:before{content:"\f157"}%ion4-ios-code-download:before{content:"\f155"}%ion4-ios-code-working:before{content:"\f156"}%ion4-ios-cog:before{content:"\f412"}%ion4-ios-color-fill:before{content:"\f159"}%ion4-ios-color-filter:before{content:"\f414"}%ion4-ios-color-palette:before{content:"\f15b"}%ion4-ios-color-wand:before{content:"\f416"}%ion4-ios-compass:before{content:"\f15d"}%ion4-ios-construct:before{content:"\f15f"}%ion4-ios-contact:before{content:"\f41a"}%ion4-ios-contacts:before{content:"\f161"}%ion4-ios-contract:before{content:"\f162"}%ion4-ios-contrast:before{content:"\f163"}%ion4-ios-copy:before{content:"\f41c"}%ion4-ios-create:before{content:"\f165"}%ion4-ios-crop:before{content:"\f41e"}%ion4-ios-cube:before{content:"\f168"}%ion4-ios-cut:before{content:"\f16a"}%ion4-ios-desktop:before{content:"\f16c"}%ion4-ios-disc:before{content:"\f16e"}%ion4-ios-document:before{content:"\f170"}%ion4-ios-done-all:before{content:"\f171"}%ion4-ios-download:before{content:"\f420"}%ion4-ios-easel:before{content:"\f173"}%ion4-ios-egg:before{content:"\f175"}%ion4-ios-exit:before{content:"\f177"}%ion4-ios-expand:before{content:"\f178"}%ion4-ios-eye:before{content:"\f425"}%ion4-ios-eye-off:before{content:"\f17a"}%ion4-ios-fastforward:before{content:"\f427"}%ion4-ios-female:before{content:"\f17b"}%ion4-ios-filing:before{content:"\f429"}%ion4-ios-film:before{content:"\f42b"}%ion4-ios-finger-print:before{content:"\f17c"}%ion4-ios-fitness:before{content:"\f1ab"}%ion4-ios-flag:before{content:"\f42d"}%ion4-ios-flame:before{content:"\f42f"}%ion4-ios-flash:before{content:"\f17e"}%ion4-ios-flash-off:before{content:"\f12f"}%ion4-ios-flashlight:before{content:"\f141"}%ion4-ios-flask:before{content:"\f431"}%ion4-ios-flower:before{content:"\f433"}%ion4-ios-folder:before{content:"\f435"}%ion4-ios-folder-open:before{content:"\f180"}%ion4-ios-football:before{content:"\f437"}%ion4-ios-funnel:before{content:"\f182"}%ion4-ios-gift:before{content:"\f191"}%ion4-ios-git-branch:before{content:"\f183"}%ion4-ios-git-commit:before{content:"\f184"}%ion4-ios-git-compare:before{content:"\f185"}%ion4-ios-git-merge:before{content:"\f186"}%ion4-ios-git-network:before{content:"\f187"}%ion4-ios-git-pull-request:before{content:"\f188"}%ion4-ios-glasses:before{content:"\f43f"}%ion4-ios-globe:before{content:"\f18a"}%ion4-ios-grid:before{content:"\f18c"}%ion4-ios-hammer:before{content:"\f18e"}%ion4-ios-hand:before{content:"\f190"}%ion4-ios-happy:before{content:"\f192"}%ion4-ios-headset:before{content:"\f194"}%ion4-ios-heart:before{content:"\f443"}%ion4-ios-heart-dislike:before{content:"\f13f"}%ion4-ios-heart-empty:before{content:"\f19b"}%ion4-ios-heart-half:before{content:"\f19d"}%ion4-ios-help:before{content:"\f446"}%ion4-ios-help-buoy:before{content:"\f196"}%ion4-ios-help-circle:before{content:"\f198"}%ion4-ios-help-circle-outline:before{content:"\f197"}%ion4-ios-home:before{content:"\f448"}%ion4-ios-hourglass:before{content:"\f103"}%ion4-ios-ice-cream:before{content:"\f19a"}%ion4-ios-image:before{content:"\f19c"}%ion4-ios-images:before{content:"\f19e"}%ion4-ios-infinite:before{content:"\f44a"}%ion4-ios-information:before{content:"\f44d"}%ion4-ios-information-circle:before{content:"\f1a0"}%ion4-ios-information-circle-outline:before{content:"\f19f"}%ion4-ios-jet:before{content:"\f1a5"}%ion4-ios-journal:before{content:"\f189"}%ion4-ios-key:before{content:"\f1a7"}%ion4-ios-keypad:before{content:"\f450"}%ion4-ios-laptop:before{content:"\f1a8"}%ion4-ios-leaf:before{content:"\f1aa"}%ion4-ios-link:before{content:"\f22a"}%ion4-ios-list:before{content:"\f454"}%ion4-ios-list-box:before{content:"\f143"}%ion4-ios-locate:before{content:"\f1ae"}%ion4-ios-lock:before{content:"\f1b0"}%ion4-ios-log-in:before{content:"\f1b1"}%ion4-ios-log-out:before{content:"\f1b2"}%ion4-ios-magnet:before{content:"\f1b4"}%ion4-ios-mail:before{content:"\f1b8"}%ion4-ios-mail-open:before{content:"\f1b6"}%ion4-ios-mail-unread:before{content:"\f145"}%ion4-ios-male:before{content:"\f1b9"}%ion4-ios-man:before{content:"\f1bb"}%ion4-ios-map:before{content:"\f1bd"}%ion4-ios-medal:before{content:"\f1bf"}%ion4-ios-medical:before{content:"\f45c"}%ion4-ios-medkit:before{content:"\f45e"}%ion4-ios-megaphone:before{content:"\f1c1"}%ion4-ios-menu:before{content:"\f1c3"}%ion4-ios-mic:before{content:"\f461"}%ion4-ios-mic-off:before{content:"\f45f"}%ion4-ios-microphone:before{content:"\f1c6"}%ion4-ios-moon:before{content:"\f468"}%ion4-ios-more:before{content:"\f1c8"}%ion4-ios-move:before{content:"\f1cb"}%ion4-ios-musical-note:before{content:"\f46b"}%ion4-ios-musical-notes:before{content:"\f46c"}%ion4-ios-navigate:before{content:"\f46e"}%ion4-ios-notifications:before{content:"\f1d3"}%ion4-ios-notifications-off:before{content:"\f1d1"}%ion4-ios-notifications-outline:before{content:"\f133"}%ion4-ios-nuclear:before{content:"\f1d5"}%ion4-ios-nutrition:before{content:"\f470"}%ion4-ios-open:before{content:"\f1d7"}%ion4-ios-options:before{content:"\f1d9"}%ion4-ios-outlet:before{content:"\f1db"}%ion4-ios-paper:before{content:"\f472"}%ion4-ios-paper-plane:before{content:"\f1dd"}%ion4-ios-partly-sunny:before{content:"\f1df"}%ion4-ios-pause:before{content:"\f478"}%ion4-ios-paw:before{content:"\f47a"}%ion4-ios-people:before{content:"\f47c"}%ion4-ios-person:before{content:"\f47e"}%ion4-ios-person-add:before{content:"\f1e1"}%ion4-ios-phone-landscape:before{content:"\f1e2"}%ion4-ios-phone-portrait:before{content:"\f1e3"}%ion4-ios-photos:before{content:"\f482"}%ion4-ios-pie:before{content:"\f484"}%ion4-ios-pin:before{content:"\f1e5"}%ion4-ios-pint:before{content:"\f486"}%ion4-ios-pizza:before{content:"\f1e7"}%ion4-ios-planet:before{content:"\f1eb"}%ion4-ios-play:before{content:"\f488"}%ion4-ios-play-circle:before{content:"\f113"}%ion4-ios-podium:before{content:"\f1ed"}%ion4-ios-power:before{content:"\f1ef"}%ion4-ios-pricetag:before{content:"\f48d"}%ion4-ios-pricetags:before{content:"\f48f"}%ion4-ios-print:before{content:"\f1f1"}%ion4-ios-pulse:before{content:"\f493"}%ion4-ios-qr-scanner:before{content:"\f1f3"}%ion4-ios-quote:before{content:"\f1f5"}%ion4-ios-radio:before{content:"\f1f9"}%ion4-ios-radio-button-off:before{content:"\f1f6"}%ion4-ios-radio-button-on:before{content:"\f1f7"}%ion4-ios-rainy:before{content:"\f495"}%ion4-ios-recording:before{content:"\f497"}%ion4-ios-redo:before{content:"\f499"}%ion4-ios-refresh:before{content:"\f49c"}%ion4-ios-refresh-circle:before{content:"\f135"}%ion4-ios-remove:before{content:"\f1fc"}%ion4-ios-remove-circle:before{content:"\f1fb"}%ion4-ios-remove-circle-outline:before{content:"\f1fa"}%ion4-ios-reorder:before{content:"\f1fd"}%ion4-ios-repeat:before{content:"\f1fe"}%ion4-ios-resize:before{content:"\f1ff"}%ion4-ios-restaurant:before{content:"\f201"}%ion4-ios-return-left:before{content:"\f202"}%ion4-ios-return-right:before{content:"\f203"}%ion4-ios-reverse-camera:before{content:"\f49f"}%ion4-ios-rewind:before{content:"\f4a1"}%ion4-ios-ribbon:before{content:"\f205"}%ion4-ios-rocket:before{content:"\f14b"}%ion4-ios-rose:before{content:"\f4a3"}%ion4-ios-sad:before{content:"\f207"}%ion4-ios-save:before{content:"\f1a6"}%ion4-ios-school:before{content:"\f209"}%ion4-ios-search:before{content:"\f4a5"}%ion4-ios-send:before{content:"\f20c"}%ion4-ios-settings:before{content:"\f4a7"}%ion4-ios-share:before{content:"\f211"}%ion4-ios-share-alt:before{content:"\f20f"}%ion4-ios-shirt:before{content:"\f213"}%ion4-ios-shuffle:before{content:"\f4a9"}%ion4-ios-skip-backward:before{content:"\f215"}%ion4-ios-skip-forward:before{content:"\f217"}%ion4-ios-snow:before{content:"\f218"}%ion4-ios-speedometer:before{content:"\f4b0"}%ion4-ios-square:before{content:"\f21a"}%ion4-ios-square-outline:before{content:"\f15c"}%ion4-ios-star:before{content:"\f4b3"}%ion4-ios-star-half:before{content:"\f4b1"}%ion4-ios-star-outline:before{content:"\f4b2"}%ion4-ios-stats:before{content:"\f21c"}%ion4-ios-stopwatch:before{content:"\f4b5"}%ion4-ios-subway:before{content:"\f21e"}%ion4-ios-sunny:before{content:"\f4b7"}%ion4-ios-swap:before{content:"\f21f"}%ion4-ios-switch:before{content:"\f221"}%ion4-ios-sync:before{content:"\f222"}%ion4-ios-tablet-landscape:before{content:"\f223"}%ion4-ios-tablet-portrait:before{content:"\f24e"}%ion4-ios-tennisball:before{content:"\f4bb"}%ion4-ios-text:before{content:"\f250"}%ion4-ios-thermometer:before{content:"\f252"}%ion4-ios-thumbs-down:before{content:"\f254"}%ion4-ios-thumbs-up:before{content:"\f256"}%ion4-ios-thunderstorm:before{content:"\f4bd"}%ion4-ios-time:before{content:"\f4bf"}%ion4-ios-timer:before{content:"\f4c1"}%ion4-ios-today:before{content:"\f14f"}%ion4-ios-train:before{content:"\f258"}%ion4-ios-transgender:before{content:"\f259"}%ion4-ios-trash:before{content:"\f4c5"}%ion4-ios-trending-down:before{content:"\f25a"}%ion4-ios-trending-up:before{content:"\f25b"}%ion4-ios-trophy:before{content:"\f25d"}%ion4-ios-tv:before{content:"\f115"}%ion4-ios-umbrella:before{content:"\f25f"}%ion4-ios-undo:before{content:"\f4c7"}%ion4-ios-unlock:before{content:"\f261"}%ion4-ios-videocam:before{content:"\f4cd"}%ion4-ios-volume-high:before{content:"\f11c"}%ion4-ios-volume-low:before{content:"\f11e"}%ion4-ios-volume-mute:before{content:"\f263"}%ion4-ios-volume-off:before{content:"\f264"}%ion4-ios-walk:before{content:"\f266"}%ion4-ios-wallet:before{content:"\f18b"}%ion4-ios-warning:before{content:"\f268"}%ion4-ios-watch:before{content:"\f269"}%ion4-ios-water:before{content:"\f26b"}%ion4-ios-wifi:before{content:"\f26d"}%ion4-ios-wine:before{content:"\f26f"}%ion4-ios-woman:before{content:"\f271"}%ion4-logo-android:before{content:"\f225"}%ion4-logo-angular:before{content:"\f227"}%ion4-logo-apple:before{content:"\f229"}%ion4-logo-bitbucket:before{content:"\f193"}%ion4-logo-bitcoin:before{content:"\f22b"}%ion4-logo-buffer:before{content:"\f22d"}%ion4-logo-chrome:before{content:"\f22f"}%ion4-logo-closed-captioning:before{content:"\f105"}%ion4-logo-codepen:before{content:"\f230"}%ion4-logo-css3:before{content:"\f231"}%ion4-logo-designernews:before{content:"\f232"}%ion4-logo-dribbble:before{content:"\f233"}%ion4-logo-dropbox:before{content:"\f234"}%ion4-logo-euro:before{content:"\f235"}%ion4-logo-facebook:before{content:"\f236"}%ion4-logo-flickr:before{content:"\f107"}%ion4-logo-foursquare:before{content:"\f237"}%ion4-logo-freebsd-devil:before{content:"\f238"}%ion4-logo-game-controller-a:before{content:"\f13b"}%ion4-logo-game-controller-b:before{content:"\f181"}%ion4-logo-github:before{content:"\f239"}%ion4-logo-google:before{content:"\f23a"}%ion4-logo-googleplus:before{content:"\f23b"}%ion4-logo-hackernews:before{content:"\f23c"}%ion4-logo-html5:before{content:"\f23d"}%ion4-logo-instagram:before{content:"\f23e"}%ion4-logo-ionic:before{content:"\f150"}%ion4-logo-ionitron:before{content:"\f151"}%ion4-logo-javascript:before{content:"\f23f"}%ion4-logo-linkedin:before{content:"\f240"}%ion4-logo-markdown:before{content:"\f241"}%ion4-logo-model-s:before{content:"\f153"}%ion4-logo-no-smoking:before{content:"\f109"}%ion4-logo-nodejs:before{content:"\f242"}%ion4-logo-npm:before{content:"\f195"}%ion4-logo-octocat:before{content:"\f243"}%ion4-logo-pinterest:before{content:"\f244"}%ion4-logo-playstation:before{content:"\f245"}%ion4-logo-polymer:before{content:"\f15e"}%ion4-logo-python:before{content:"\f246"}%ion4-logo-reddit:before{content:"\f247"}%ion4-logo-rss:before{content:"\f248"}%ion4-logo-sass:before{content:"\f249"}%ion4-logo-skype:before{content:"\f24a"}%ion4-logo-slack:before{content:"\f10b"}%ion4-logo-snapchat:before{content:"\f24b"}%ion4-logo-steam:before{content:"\f24c"}%ion4-logo-tumblr:before{content:"\f24d"}%ion4-logo-tux:before{content:"\f2ae"}%ion4-logo-twitch:before{content:"\f2af"}%ion4-logo-twitter:before{content:"\f2b0"}%ion4-logo-usd:before{content:"\f2b1"}%ion4-logo-vimeo:before{content:"\f2c4"}%ion4-logo-vk:before{content:"\f10d"}%ion4-logo-whatsapp:before{content:"\f2c5"}%ion4-logo-windows:before{content:"\f32f"}%ion4-logo-wordpress:before{content:"\f330"}%ion4-logo-xbox:before{content:"\f34c"}%ion4-logo-xing:before{content:"\f10f"}%ion4-logo-yahoo:before{content:"\f34d"}%ion4-logo-yen:before{content:"\f34e"}%ion4-logo-youtube:before{content:"\f34f"}%ion4-md-add:before{content:"\f273"}%ion4-md-add-circle:before{content:"\f272"}%ion4-md-add-circle-outline:before{content:"\f158"}%ion4-md-airplane:before{content:"\f15a"}%ion4-md-alarm:before{content:"\f274"}%ion4-md-albums:before{content:"\f275"}%ion4-md-alert:before{content:"\f276"}%ion4-md-american-football:before{content:"\f277"}%ion4-md-analytics:before{content:"\f278"}%ion4-md-aperture:before{content:"\f279"}%ion4-md-apps:before{content:"\f27a"}%ion4-md-appstore:before{content:"\f27b"}%ion4-md-archive:before{content:"\f27c"}%ion4-md-arrow-back:before{content:"\f27d"}%ion4-md-arrow-down:before{content:"\f27e"}%ion4-md-arrow-dropdown:before{content:"\f280"}%ion4-md-arrow-dropdown-circle:before{content:"\f27f"}%ion4-md-arrow-dropleft:before{content:"\f282"}%ion4-md-arrow-dropleft-circle:before{content:"\f281"}%ion4-md-arrow-dropright:before{content:"\f284"}%ion4-md-arrow-dropright-circle:before{content:"\f283"}%ion4-md-arrow-dropup:before{content:"\f286"}%ion4-md-arrow-dropup-circle:before{content:"\f285"}%ion4-md-arrow-forward:before{content:"\f287"}%ion4-md-arrow-round-back:before{content:"\f288"}%ion4-md-arrow-round-down:before{content:"\f289"}%ion4-md-arrow-round-forward:before{content:"\f28a"}%ion4-md-arrow-round-up:before{content:"\f28b"}%ion4-md-arrow-up:before{content:"\f28c"}%ion4-md-at:before{content:"\f28d"}%ion4-md-attach:before{content:"\f28e"}%ion4-md-backspace:before{content:"\f28f"}%ion4-md-barcode:before{content:"\f290"}%ion4-md-baseball:before{content:"\f291"}%ion4-md-basket:before{content:"\f292"}%ion4-md-basketball:before{content:"\f293"}%ion4-md-battery-charging:before{content:"\f294"}%ion4-md-battery-dead:before{content:"\f295"}%ion4-md-battery-full:before{content:"\f296"}%ion4-md-beaker:before{content:"\f297"}%ion4-md-bed:before{content:"\f160"}%ion4-md-beer:before{content:"\f298"}%ion4-md-bicycle:before{content:"\f299"}%ion4-md-bluetooth:before{content:"\f29a"}%ion4-md-boat:before{content:"\f29b"}%ion4-md-body:before{content:"\f29c"}%ion4-md-bonfire:before{content:"\f29d"}%ion4-md-book:before{content:"\f29e"}%ion4-md-bookmark:before{content:"\f29f"}%ion4-md-bookmarks:before{content:"\f2a0"}%ion4-md-bowtie:before{content:"\f2a1"}%ion4-md-briefcase:before{content:"\f2a2"}%ion4-md-browsers:before{content:"\f2a3"}%ion4-md-brush:before{content:"\f2a4"}%ion4-md-bug:before{content:"\f2a5"}%ion4-md-build:before{content:"\f2a6"}%ion4-md-bulb:before{content:"\f2a7"}%ion4-md-bus:before{content:"\f2a8"}%ion4-md-business:before{content:"\f1a4"}%ion4-md-cafe:before{content:"\f2a9"}%ion4-md-calculator:before{content:"\f2aa"}%ion4-md-calendar:before{content:"\f2ab"}%ion4-md-call:before{content:"\f2ac"}%ion4-md-camera:before{content:"\f2ad"}%ion4-md-car:before{content:"\f2b2"}%ion4-md-card:before{content:"\f2b3"}%ion4-md-cart:before{content:"\f2b4"}%ion4-md-cash:before{content:"\f2b5"}%ion4-md-cellular:before{content:"\f164"}%ion4-md-chatboxes:before{content:"\f2b6"}%ion4-md-chatbubbles:before{content:"\f2b7"}%ion4-md-checkbox:before{content:"\f2b9"}%ion4-md-checkbox-outline:before{content:"\f2b8"}%ion4-md-checkmark:before{content:"\f2bc"}%ion4-md-checkmark-circle:before{content:"\f2bb"}%ion4-md-checkmark-circle-outline:before{content:"\f2ba"}%ion4-md-clipboard:before{content:"\f2bd"}%ion4-md-clock:before{content:"\f2be"}%ion4-md-close:before{content:"\f2c0"}%ion4-md-close-circle:before{content:"\f2bf"}%ion4-md-close-circle-outline:before{content:"\f166"}%ion4-md-cloud:before{content:"\f2c9"}%ion4-md-cloud-circle:before{content:"\f2c2"}%ion4-md-cloud-done:before{content:"\f2c3"}%ion4-md-cloud-download:before{content:"\f2c6"}%ion4-md-cloud-outline:before{content:"\f2c7"}%ion4-md-cloud-upload:before{content:"\f2c8"}%ion4-md-cloudy:before{content:"\f2cb"}%ion4-md-cloudy-night:before{content:"\f2ca"}%ion4-md-code:before{content:"\f2ce"}%ion4-md-code-download:before{content:"\f2cc"}%ion4-md-code-working:before{content:"\f2cd"}%ion4-md-cog:before{content:"\f2cf"}%ion4-md-color-fill:before{content:"\f2d0"}%ion4-md-color-filter:before{content:"\f2d1"}%ion4-md-color-palette:before{content:"\f2d2"}%ion4-md-color-wand:before{content:"\f2d3"}%ion4-md-compass:before{content:"\f2d4"}%ion4-md-construct:before{content:"\f2d5"}%ion4-md-contact:before{content:"\f2d6"}%ion4-md-contacts:before{content:"\f2d7"}%ion4-md-contract:before{content:"\f2d8"}%ion4-md-contrast:before{content:"\f2d9"}%ion4-md-copy:before{content:"\f2da"}%ion4-md-create:before{content:"\f2db"}%ion4-md-crop:before{content:"\f2dc"}%ion4-md-cube:before{content:"\f2dd"}%ion4-md-cut:before{content:"\f2de"}%ion4-md-desktop:before{content:"\f2df"}%ion4-md-disc:before{content:"\f2e0"}%ion4-md-document:before{content:"\f2e1"}%ion4-md-done-all:before{content:"\f2e2"}%ion4-md-download:before{content:"\f2e3"}%ion4-md-easel:before{content:"\f2e4"}%ion4-md-egg:before{content:"\f2e5"}%ion4-md-exit:before{content:"\f2e6"}%ion4-md-expand:before{content:"\f2e7"}%ion4-md-eye:before{content:"\f2e9"}%ion4-md-eye-off:before{content:"\f2e8"}%ion4-md-fastforward:before{content:"\f2ea"}%ion4-md-female:before{content:"\f2eb"}%ion4-md-filing:before{content:"\f2ec"}%ion4-md-film:before{content:"\f2ed"}%ion4-md-finger-print:before{content:"\f2ee"}%ion4-md-fitness:before{content:"\f1ac"}%ion4-md-flag:before{content:"\f2ef"}%ion4-md-flame:before{content:"\f2f0"}%ion4-md-flash:before{content:"\f2f1"}%ion4-md-flash-off:before{content:"\f169"}%ion4-md-flashlight:before{content:"\f16b"}%ion4-md-flask:before{content:"\f2f2"}%ion4-md-flower:before{content:"\f2f3"}%ion4-md-folder:before{content:"\f2f5"}%ion4-md-folder-open:before{content:"\f2f4"}%ion4-md-football:before{content:"\f2f6"}%ion4-md-funnel:before{content:"\f2f7"}%ion4-md-gift:before{content:"\f199"}%ion4-md-git-branch:before{content:"\f2fa"}%ion4-md-git-commit:before{content:"\f2fb"}%ion4-md-git-compare:before{content:"\f2fc"}%ion4-md-git-merge:before{content:"\f2fd"}%ion4-md-git-network:before{content:"\f2fe"}%ion4-md-git-pull-request:before{content:"\f2ff"}%ion4-md-glasses:before{content:"\f300"}%ion4-md-globe:before{content:"\f301"}%ion4-md-grid:before{content:"\f302"}%ion4-md-hammer:before{content:"\f303"}%ion4-md-hand:before{content:"\f304"}%ion4-md-happy:before{content:"\f305"}%ion4-md-headset:before{content:"\f306"}%ion4-md-heart:before{content:"\f308"}%ion4-md-heart-dislike:before{content:"\f167"}%ion4-md-heart-empty:before{content:"\f1a1"}%ion4-md-heart-half:before{content:"\f1a2"}%ion4-md-help:before{content:"\f30b"}%ion4-md-help-buoy:before{content:"\f309"}%ion4-md-help-circle:before{content:"\f30a"}%ion4-md-help-circle-outline:before{content:"\f16d"}%ion4-md-home:before{content:"\f30c"}%ion4-md-hourglass:before{content:"\f111"}%ion4-md-ice-cream:before{content:"\f30d"}%ion4-md-image:before{content:"\f30e"}%ion4-md-images:before{content:"\f30f"}%ion4-md-infinite:before{content:"\f310"}%ion4-md-information:before{content:"\f312"}%ion4-md-information-circle:before{content:"\f311"}%ion4-md-information-circle-outline:before{content:"\f16f"}%ion4-md-jet:before{content:"\f315"}%ion4-md-journal:before{content:"\f18d"}%ion4-md-key:before{content:"\f316"}%ion4-md-keypad:before{content:"\f317"}%ion4-md-laptop:before{content:"\f318"}%ion4-md-leaf:before{content:"\f319"}%ion4-md-link:before{content:"\f22e"}%ion4-md-list:before{content:"\f31b"}%ion4-md-list-box:before{content:"\f31a"}%ion4-md-locate:before{content:"\f31c"}%ion4-md-lock:before{content:"\f31d"}%ion4-md-log-in:before{content:"\f31e"}%ion4-md-log-out:before{content:"\f31f"}%ion4-md-magnet:before{content:"\f320"}%ion4-md-mail:before{content:"\f322"}%ion4-md-mail-open:before{content:"\f321"}%ion4-md-mail-unread:before{content:"\f172"}%ion4-md-male:before{content:"\f323"}%ion4-md-man:before{content:"\f324"}%ion4-md-map:before{content:"\f325"}%ion4-md-medal:before{content:"\f326"}%ion4-md-medical:before{content:"\f327"}%ion4-md-medkit:before{content:"\f328"}%ion4-md-megaphone:before{content:"\f329"}%ion4-md-menu:before{content:"\f32a"}%ion4-md-mic:before{content:"\f32c"}%ion4-md-mic-off:before{content:"\f32b"}%ion4-md-microphone:before{content:"\f32d"}%ion4-md-moon:before{content:"\f32e"}%ion4-md-more:before{content:"\f1c9"}%ion4-md-move:before{content:"\f331"}%ion4-md-musical-note:before{content:"\f332"}%ion4-md-musical-notes:before{content:"\f333"}%ion4-md-navigate:before{content:"\f334"}%ion4-md-notifications:before{content:"\f338"}%ion4-md-notifications-off:before{content:"\f336"}%ion4-md-notifications-outline:before{content:"\f337"}%ion4-md-nuclear:before{content:"\f339"}%ion4-md-nutrition:before{content:"\f33a"}%ion4-md-open:before{content:"\f33b"}%ion4-md-options:before{content:"\f33c"}%ion4-md-outlet:before{content:"\f33d"}%ion4-md-paper:before{content:"\f33f"}%ion4-md-paper-plane:before{content:"\f33e"}%ion4-md-partly-sunny:before{content:"\f340"}%ion4-md-pause:before{content:"\f341"}%ion4-md-paw:before{content:"\f342"}%ion4-md-people:before{content:"\f343"}%ion4-md-person:before{content:"\f345"}%ion4-md-person-add:before{content:"\f344"}%ion4-md-phone-landscape:before{content:"\f346"}%ion4-md-phone-portrait:before{content:"\f347"}%ion4-md-photos:before{content:"\f348"}%ion4-md-pie:before{content:"\f349"}%ion4-md-pin:before{content:"\f34a"}%ion4-md-pint:before{content:"\f34b"}%ion4-md-pizza:before{content:"\f354"}%ion4-md-planet:before{content:"\f356"}%ion4-md-play:before{content:"\f357"}%ion4-md-play-circle:before{content:"\f174"}%ion4-md-podium:before{content:"\f358"}%ion4-md-power:before{content:"\f359"}%ion4-md-pricetag:before{content:"\f35a"}%ion4-md-pricetags:before{content:"\f35b"}%ion4-md-print:before{content:"\f35c"}%ion4-md-pulse:before{content:"\f35d"}%ion4-md-qr-scanner:before{content:"\f35e"}%ion4-md-quote:before{content:"\f35f"}%ion4-md-radio:before{content:"\f362"}%ion4-md-radio-button-off:before{content:"\f360"}%ion4-md-radio-button-on:before{content:"\f361"}%ion4-md-rainy:before{content:"\f363"}%ion4-md-recording:before{content:"\f364"}%ion4-md-redo:before{content:"\f365"}%ion4-md-refresh:before{content:"\f366"}%ion4-md-refresh-circle:before{content:"\f228"}%ion4-md-remove:before{content:"\f368"}%ion4-md-remove-circle:before{content:"\f367"}%ion4-md-remove-circle-outline:before{content:"\f176"}%ion4-md-reorder:before{content:"\f369"}%ion4-md-repeat:before{content:"\f36a"}%ion4-md-resize:before{content:"\f36b"}%ion4-md-restaurant:before{content:"\f36c"}%ion4-md-return-left:before{content:"\f36d"}%ion4-md-return-right:before{content:"\f36e"}%ion4-md-reverse-camera:before{content:"\f36f"}%ion4-md-rewind:before{content:"\f370"}%ion4-md-ribbon:before{content:"\f371"}%ion4-md-rocket:before{content:"\f179"}%ion4-md-rose:before{content:"\f372"}%ion4-md-sad:before{content:"\f373"}%ion4-md-save:before{content:"\f1a9"}%ion4-md-school:before{content:"\f374"}%ion4-md-search:before{content:"\f375"}%ion4-md-send:before{content:"\f376"}%ion4-md-settings:before{content:"\f377"}%ion4-md-share:before{content:"\f379"}%ion4-md-share-alt:before{content:"\f378"}%ion4-md-shirt:before{content:"\f37a"}%ion4-md-shuffle:before{content:"\f37b"}%ion4-md-skip-backward:before{content:"\f37c"}%ion4-md-skip-forward:before{content:"\f37d"}%ion4-md-snow:before{content:"\f37e"}%ion4-md-speedometer:before{content:"\f37f"}%ion4-md-square:before{content:"\f381"}%ion4-md-square-outline:before{content:"\f380"}%ion4-md-star:before{content:"\f384"}%ion4-md-star-half:before{content:"\f382"}%ion4-md-star-outline:before{content:"\f383"}%ion4-md-stats:before{content:"\f385"}%ion4-md-stopwatch:before{content:"\f386"}%ion4-md-subway:before{content:"\f387"}%ion4-md-sunny:before{content:"\f388"}%ion4-md-swap:before{content:"\f389"}%ion4-md-switch:before{content:"\f38a"}%ion4-md-sync:before{content:"\f38b"}%ion4-md-tablet-landscape:before{content:"\f38c"}%ion4-md-tablet-portrait:before{content:"\f38d"}%ion4-md-tennisball:before{content:"\f38e"}%ion4-md-text:before{content:"\f38f"}%ion4-md-thermometer:before{content:"\f390"}%ion4-md-thumbs-down:before{content:"\f391"}%ion4-md-thumbs-up:before{content:"\f392"}%ion4-md-thunderstorm:before{content:"\f393"}%ion4-md-time:before{content:"\f394"}%ion4-md-timer:before{content:"\f395"}%ion4-md-today:before{content:"\f17d"}%ion4-md-train:before{content:"\f396"}%ion4-md-transgender:before{content:"\f397"}%ion4-md-trash:before{content:"\f398"}%ion4-md-trending-down:before{content:"\f399"}%ion4-md-trending-up:before{content:"\f39a"}%ion4-md-trophy:before{content:"\f39b"}%ion4-md-tv:before{content:"\f17f"}%ion4-md-umbrella:before{content:"\f39c"}%ion4-md-undo:before{content:"\f39d"}%ion4-md-unlock:before{content:"\f39e"}%ion4-md-videocam:before{content:"\f39f"}%ion4-md-volume-high:before{content:"\f123"}%ion4-md-volume-low:before{content:"\f131"}%ion4-md-volume-mute:before{content:"\f3a1"}%ion4-md-volume-off:before{content:"\f3a2"}%ion4-md-walk:before{content:"\f3a4"}%ion4-md-wallet:before{content:"\f18f"}%ion4-md-warning:before{content:"\f3a5"}%ion4-md-watch:before{content:"\f3a6"}%ion4-md-water:before{content:"\f3a7"}%ion4-md-wifi:before{content:"\f3a8"}%ion4-md-wine:before{content:"\f3a9"}%ion4-md-woman:before{content:"\f3aa"}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path d="M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z"/></svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0"?>
2
+ <svg height="100" width="100" xmlns="http://www.w3.org/2000/svg">
3
+ <circle cx="50%" cy="50%" r="50%" fill="red" />
4
+ </svg>
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.customDialogStyle = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _core = require("@material-ui/core");
11
+
12
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
13
+
14
+ var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
15
+
16
+ var _Icon = _interopRequireDefault(require("@material-ui/core/Icon"));
17
+
18
+ var _excluded = ["className", "classes", "width", "dialogTitle", "onCancel", "children", "fullScreen"];
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+
24
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
+
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+
28
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+
30
+ var customDialogStyle = function customDialogStyle(theme) {
31
+ var _closeIcon;
32
+
33
+ var _theme$smallScreen = theme.smallScreen,
34
+ smallScreen = _theme$smallScreen === void 0 ? {
35
+ centeredDialogPadding: 0
36
+ } : _theme$smallScreen;
37
+ return {
38
+ MuiDialogBorder: {
39
+ borderTop: '7px solid ' + theme.palette.primary.main
40
+ },
41
+ MuiStyledDialog: {
42
+ '& .MuiDialog-container': {
43
+ '& .MuiDialog-paperWidthMd': {
44
+ maxWidth: 720
45
+ },
46
+ '& .MuiDialogTitle-root': {
47
+ paddingTop: 20,
48
+ paddingBottom: 15,
49
+ '& p, h2': {
50
+ fontSize: 24,
51
+ fontWeight: 'bold',
52
+ letterSpacing: 'normal',
53
+ marginRight: 28
54
+ }
55
+ },
56
+ '& .MuiDialogActions-root': {
57
+ paddingBottom: 24
58
+ },
59
+ '& .MuiDialogTitle-root, .MuiDialogContent-root, .MuiDialogActions-root': {
60
+ paddingLeft: smallScreen.centeredDialogPadding,
61
+ paddingRight: smallScreen.centeredDialogPadding,
62
+ '& p': {
63
+ fontSize: 15,
64
+ letterSpacing: 'normal'
65
+ }
66
+ }
67
+ },
68
+ '& .MuiButton-root': {
69
+ height: 40,
70
+ textTransform: 'none',
71
+ minWidth: 140
72
+ }
73
+ },
74
+ stickyDialog: {
75
+ '& .MuiDialog-container': {
76
+ '& .MuiDialogTitle-root': {
77
+ paddingTop: 25,
78
+ paddingBottom: 8
79
+ }
80
+ },
81
+ '& .MuiButton-root': {
82
+ width: '100%',
83
+ height: 56,
84
+ minWidth: 64
85
+ }
86
+ },
87
+ closeIcon: (_closeIcon = {
88
+ position: 'absolute',
89
+ right: 28,
90
+ top: 28
91
+ }, _defineProperty(_closeIcon, theme.breakpoints.down('xs'), {
92
+ right: 20,
93
+ top: 30
94
+ }), _defineProperty(_closeIcon, '&:hover', {
95
+ cursor: 'pointer'
96
+ }), _closeIcon)
97
+ };
98
+ };
99
+
100
+ exports.customDialogStyle = customDialogStyle;
101
+
102
+ var _default = (0, _core.withWidth)({
103
+ initialWidth: 'xl'
104
+ })((0, _core.withStyles)(customDialogStyle, {
105
+ name: 'CustomDialog'
106
+ })(function (_ref) {
107
+ var className = _ref.className,
108
+ classes = _ref.classes,
109
+ width = _ref.width,
110
+ dialogTitle = _ref.dialogTitle,
111
+ onCancel = _ref.onCancel,
112
+ children = _ref.children,
113
+ fullScreen = _ref.fullScreen,
114
+ props = _objectWithoutProperties(_ref, _excluded);
115
+
116
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], _extends({
117
+ maxWidth: width === 'md' || width === 'lg' || width === 'xl' ? 'md' : 'sm',
118
+ fullWidth: true,
119
+ classes: {
120
+ paper: classes.MuiDialogBorder,
121
+ root: classes.MuiStyledDialog
122
+ },
123
+ className: className + ' ' + (width === 'xs' ? classes.stickyDialog : ''),
124
+ fullScreen: fullScreen
125
+ }, props), /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
126
+ id: "alert-dialog-title"
127
+ }, dialogTitle, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
128
+ className: classes.closeIcon,
129
+ onClick: onCancel
130
+ }, "close")), children);
131
+ }));
132
+
133
+ exports["default"] = _default;
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Dialog = _interopRequireDefault(require("../../Framework/Components/Dialog"));
11
+
12
+ var _lodash = require("lodash");
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
17
+
18
+ var _LoadingOverlay = _interopRequireDefault(require("../../Framework/Components/LoadingOverlay"));
19
+
20
+ var _core = require("@material-ui/core");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ var useStyles = (0, _core.makeStyles)(function (theme) {
31
+ return {
32
+ content: {
33
+ padding: '0 !important'
34
+ },
35
+ labels: {},
36
+ option: {
37
+ minHeight: 25,
38
+ display: 'table',
39
+ width: '100%',
40
+ '& $labels': {
41
+ display: 'table-cell',
42
+ verticalAlign: 'middle',
43
+ padding: '0px 5px',
44
+ '& $price': {
45
+ "float": 'right'
46
+ }
47
+ },
48
+ '&.selected': {
49
+ backgroundColor: theme.palette.secondary.lighter
50
+ }
51
+ },
52
+ price: {},
53
+ root: {
54
+ '& .dialog-title-bar': {
55
+ display: 'none'
56
+ }
57
+ }
58
+ };
59
+ }, {
60
+ name: 'CustomDialogSelect'
61
+ });
62
+
63
+ var CustomDialogSelect = function CustomDialogSelect(_ref) {
64
+ var isLoading = _ref.isLoading,
65
+ isSelected = _ref.isSelected,
66
+ onSelectOption = _ref.onSelectOption,
67
+ options = _ref.options,
68
+ show = _ref.show,
69
+ selectedOption = _ref.selectedOption,
70
+ selectedOptionProperty = _ref.selectedOptionProperty,
71
+ LoadingComponent = _ref.LoadingComponent;
72
+ var classes = useStyles();
73
+
74
+ var isOptionSelected = function isOptionSelected(option) {
75
+ if (isSelected) {
76
+ return isSelected(option);
77
+ }
78
+
79
+ if (!selectedOption) {
80
+ return false;
81
+ } // if there are more values in the selection
82
+
83
+
84
+ if ((0, _lodash.isArray)(selectedOption)) {
85
+ var _iterator = _createForOfIteratorHelper(selectedOption),
86
+ _step;
87
+
88
+ try {
89
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
90
+ var v = _step.value;
91
+
92
+ if (selectedOptionProperty) {
93
+ if (v[selectedOptionProperty] === option[selectedOptionProperty]) {
94
+ return true;
95
+ }
96
+ } else {
97
+ if (v === option) {
98
+ return true;
99
+ }
100
+ }
101
+ }
102
+ } catch (err) {
103
+ _iterator.e(err);
104
+ } finally {
105
+ _iterator.f();
106
+ }
107
+ } else if (selectedOptionProperty) {
108
+ return selectedOption[selectedOptionProperty] === option[selectedOptionProperty];
109
+ } else {
110
+ return selectedOption === option;
111
+ }
112
+ };
113
+
114
+ var renderOption = function renderOption(option, key) {
115
+ var selected = isOptionSelected(option);
116
+ return /*#__PURE__*/_react["default"].createElement("div", {
117
+ className: classes.option + (selected ? ' selected' : ''),
118
+ key: key,
119
+ "data-option": option.identifier,
120
+ onClick: function onClick() {
121
+ return onSelectOption(option);
122
+ }
123
+ }, /*#__PURE__*/_react["default"].createElement("div", {
124
+ className: classes.labels
125
+ }, /*#__PURE__*/_react["default"].createElement("span", null, option.title), /*#__PURE__*/_react["default"].createElement("span", {
126
+ className: classes.price
127
+ }, option.priceFormatted)));
128
+ };
129
+
130
+ var renderComponent = function renderComponent() {
131
+ return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
132
+ className: classes.root,
133
+ show: show
134
+ }, /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], {
135
+ className: classes.content
136
+ }, isLoading ? /*#__PURE__*/_react["default"].createElement(LoadingComponent, {
137
+ show: isLoading
138
+ }) : (0, _lodash.isArray)(options) && options.map(function (option, key) {
139
+ return renderOption(option, key);
140
+ })));
141
+ };
142
+
143
+ return renderComponent();
144
+ };
145
+
146
+ CustomDialogSelect.propTypes = {
147
+ isSelected: _propTypes["default"].func,
148
+ onSelectOption: _propTypes["default"].func,
149
+ options: _propTypes["default"].array,
150
+ show: _propTypes["default"].bool,
151
+ selectedOptionProperty: _propTypes["default"].string,
152
+ LoadingComponent: _propTypes["default"].elementType
153
+ };
154
+ CustomDialogSelect.defaultProps = {
155
+ onSelectOption: function onSelectOption() {},
156
+ options: [],
157
+ show: false,
158
+ LoadingComponent: _LoadingOverlay["default"]
159
+ };
160
+ var _default = CustomDialogSelect;
161
+ exports["default"] = _default;