@covalent/core 4.0.0 → 4.1.0-develop.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 (613) hide show
  1. package/README.md +5 -4
  2. package/breadcrumbs/README.md +21 -17
  3. package/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -1
  4. package/breadcrumbs/breadcrumbs.component.d.ts +4 -0
  5. package/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  6. package/breadcrumbs/covalent-core-breadcrumbs.d.ts +2 -1
  7. package/breadcrumbs/package.json +6 -7
  8. package/breadcrumbs/{public-api.d.ts → public_api.d.ts} +0 -0
  9. package/common/README.md +3 -0
  10. package/common/_common-theme.scss +3 -1
  11. package/common/behaviors/disable-ripple.mixin.d.ts +1 -1
  12. package/common/behaviors/disabled.mixin.d.ts +1 -1
  13. package/common/common.module.d.ts +15 -0
  14. package/common/covalent-core-common.d.ts +2 -3
  15. package/common/directives/fullscreen/fullscreen.directive.d.ts +3 -0
  16. package/common/forms/auto-trim/auto-trim.directive.d.ts +3 -0
  17. package/common/package.json +6 -7
  18. package/common/pipes/bytes/bytes.pipe.d.ts +3 -0
  19. package/common/pipes/decimal-bytes/decimal-bytes.pipe.d.ts +3 -0
  20. package/common/pipes/digits/digits.pipe.d.ts +3 -0
  21. package/common/pipes/time-ago/time-ago.pipe.d.ts +3 -0
  22. package/common/pipes/time-difference/time-difference.pipe.d.ts +3 -0
  23. package/common/pipes/time-until/time-until.pipe.d.ts +3 -0
  24. package/common/pipes/truncate/truncate.pipe.d.ts +4 -1
  25. package/common/{public-api.d.ts → public_api.d.ts} +0 -0
  26. package/common/services/icon.service.d.ts +3 -0
  27. package/common/services/router-path.service.d.ts +3 -0
  28. package/common/styles/font/README.md +4 -2
  29. package/covalent-core.d.ts +2 -1
  30. package/dialogs/README.md +38 -30
  31. package/dialogs/_dialog-theme.scss +1 -0
  32. package/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -3
  33. package/dialogs/confirm-dialog/confirm-dialog.component.d.ts +5 -2
  34. package/dialogs/covalent-core-dialogs.d.ts +2 -2
  35. package/dialogs/dialog.component.d.ts +9 -0
  36. package/dialogs/dialogs.module.d.ts +17 -0
  37. package/dialogs/package.json +6 -7
  38. package/dialogs/prompt-dialog/prompt-dialog.component.d.ts +6 -3
  39. package/dialogs/{public-api.d.ts → public_api.d.ts} +1 -0
  40. package/dialogs/services/dialog.service.d.ts +3 -0
  41. package/dialogs/src/README.md +223 -0
  42. package/dialogs/window-dialog/window-dialog.component.d.ts +8 -5
  43. package/dynamic-menu/README.md +6 -6
  44. package/dynamic-menu/covalent-core-dynamic-menu.d.ts +2 -2
  45. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +4 -1
  46. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +4 -1
  47. package/dynamic-menu/dynamic-menu.component.d.ts +4 -22
  48. package/dynamic-menu/dynamic-menu.menu.d.ts +22 -0
  49. package/dynamic-menu/dynamic-menu.module.d.ts +13 -0
  50. package/dynamic-menu/package.json +6 -7
  51. package/dynamic-menu/public_api.d.ts +2 -0
  52. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +92 -0
  53. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +134 -0
  54. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +20 -0
  55. package/esm2020/breadcrumbs/covalent-core-breadcrumbs.mjs +5 -0
  56. package/esm2020/breadcrumbs/public_api.mjs +4 -0
  57. package/esm2020/common/animations/bounce/bounce.animation.mjs +70 -0
  58. package/esm2020/common/animations/collapse/collapse.animation.mjs +51 -0
  59. package/esm2020/common/animations/common/interfaces.mjs +2 -0
  60. package/esm2020/common/animations/fade/fadeInOut.animation.mjs +37 -0
  61. package/esm2020/common/animations/flash/flash.animation.mjs +34 -0
  62. package/esm2020/common/animations/headshake/headshake.animation.mjs +47 -0
  63. package/esm2020/common/animations/jello/jello.animation.mjs +59 -0
  64. package/esm2020/common/animations/pulse/pulse.animation.mjs +32 -0
  65. package/esm2020/common/animations/rotate/rotate.animation.mjs +30 -0
  66. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +41 -0
  67. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  68. package/esm2020/common/behaviors/disabled.mixin.mjs +24 -0
  69. package/esm2020/common/common.module.mjs +63 -0
  70. package/esm2020/common/covalent-core-common.mjs +5 -0
  71. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  72. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  73. package/esm2020/common/forms/validators/validators.mjs +29 -0
  74. package/esm2020/common/functions/clipboard.mjs +23 -0
  75. package/esm2020/common/functions/convert.mjs +84 -0
  76. package/esm2020/common/functions/download.mjs +75 -0
  77. package/esm2020/common/functions/file.mjs +16 -0
  78. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +42 -0
  79. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
  80. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  81. package/esm2020/common/pipes/time-ago/time-ago.pipe.mjs +72 -0
  82. package/esm2020/common/pipes/time-difference/time-difference.pipe.mjs +51 -0
  83. package/esm2020/common/pipes/time-until/time-until.pipe.mjs +72 -0
  84. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  85. package/esm2020/common/public_api.mjs +39 -0
  86. package/esm2020/common/services/icon.service.mjs +1089 -0
  87. package/esm2020/common/services/router-path.service.mjs +29 -0
  88. package/esm2020/covalent-core.mjs +5 -0
  89. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +23 -0
  90. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +28 -0
  91. package/esm2020/dialogs/covalent-core-dialogs.mjs +5 -0
  92. package/esm2020/dialogs/dialog.component.mjs +56 -0
  93. package/esm2020/dialogs/dialogs.module.mjs +89 -0
  94. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +46 -0
  95. package/esm2020/dialogs/public_api.mjs +9 -0
  96. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +216 -0
  97. package/esm2020/dialogs/services/dialog.service.mjs +171 -0
  98. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +38 -0
  99. package/esm2020/dynamic-menu/covalent-core-dynamic-menu.mjs +5 -0
  100. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
  101. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +24 -0
  102. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +28 -0
  103. package/esm2020/dynamic-menu/dynamic-menu.menu.mjs +2 -0
  104. package/esm2020/dynamic-menu/dynamic-menu.module.mjs +57 -0
  105. package/esm2020/dynamic-menu/public_api.mjs +6 -0
  106. package/esm2020/file/covalent-core-file.mjs +5 -0
  107. package/esm2020/file/directives/file-drop.directive.mjs +147 -0
  108. package/esm2020/file/directives/file-select.directive.mjs +77 -0
  109. package/esm2020/file/file-input/file-input.component.mjs +110 -0
  110. package/esm2020/file/file-upload/file-upload.component.mjs +174 -0
  111. package/esm2020/file/file.module.mjs +58 -0
  112. package/esm2020/file/public_api.mjs +7 -0
  113. package/esm2020/file/services/file.service.mjs +64 -0
  114. package/esm2020/json-formatter/collapse.animation.mjs +51 -0
  115. package/esm2020/json-formatter/covalent-core-json-formatter.mjs +5 -0
  116. package/esm2020/json-formatter/json-formatter.component.mjs +217 -0
  117. package/esm2020/json-formatter/json-formatter.module.mjs +20 -0
  118. package/esm2020/json-formatter/public_api.mjs +3 -0
  119. package/esm2020/layout/covalent-core-layout.mjs +5 -0
  120. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +40 -0
  121. package/esm2020/layout/layout-footer/layout-footer.component.mjs +33 -0
  122. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +93 -0
  123. package/esm2020/layout/layout-manage-list/layout-manage-list.directives.mjs +84 -0
  124. package/esm2020/layout/layout-nav/layout-nav.component.mjs +50 -0
  125. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +128 -0
  126. package/esm2020/layout/layout-nav-list/layout-nav-list.directives.mjs +84 -0
  127. package/esm2020/layout/layout-toggle.class.mjs +92 -0
  128. package/esm2020/layout/layout.component.mjs +92 -0
  129. package/esm2020/layout/layout.directives.mjs +85 -0
  130. package/esm2020/layout/layout.module.mjs +117 -0
  131. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +161 -0
  132. package/esm2020/layout/public_api.mjs +13 -0
  133. package/esm2020/menu/covalent-core-menu.mjs +5 -0
  134. package/esm2020/menu/menu.component.mjs +12 -0
  135. package/esm2020/menu/menu.module.mjs +21 -0
  136. package/esm2020/menu/public_api.mjs +3 -0
  137. package/esm2020/message/collapse.animation.mjs +51 -0
  138. package/esm2020/message/covalent-core-message.mjs +5 -0
  139. package/esm2020/message/message.component.mjs +203 -0
  140. package/esm2020/message/message.module.mjs +25 -0
  141. package/esm2020/message/public_api.mjs +3 -0
  142. package/esm2020/public_api.mjs +2 -0
  143. package/esm2020/search/covalent-core-search.mjs +5 -0
  144. package/esm2020/search/public_api.mjs +4 -0
  145. package/esm2020/search/search-box/search-box.component.mjs +194 -0
  146. package/esm2020/search/search-input/search-input.component.mjs +203 -0
  147. package/esm2020/search/search.module.mjs +39 -0
  148. package/esm2020/side-sheet/covalent-core-side-sheet.mjs +5 -0
  149. package/esm2020/side-sheet/public_api.mjs +6 -0
  150. package/esm2020/side-sheet/side-sheet-container.mjs +274 -0
  151. package/esm2020/side-sheet/side-sheet-ref.mjs +21 -0
  152. package/esm2020/side-sheet/side-sheet.animation.mjs +12 -0
  153. package/esm2020/side-sheet/side-sheet.config.mjs +4 -0
  154. package/esm2020/side-sheet/side-sheet.content-directives.mjs +201 -0
  155. package/esm2020/side-sheet/side-sheet.mjs +221 -0
  156. package/esm2020/side-sheet/side-sheet.module.mjs +45 -0
  157. package/esm2020/user-profile/covalent-core-user-profile.mjs +5 -0
  158. package/esm2020/user-profile/public_api.mjs +4 -0
  159. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +24 -0
  160. package/esm2020/user-profile/user-profile.component.mjs +19 -0
  161. package/esm2020/user-profile/user-profile.module.mjs +44 -0
  162. package/fesm2015/covalent-core-breadcrumbs.mjs +246 -0
  163. package/fesm2015/covalent-core-breadcrumbs.mjs.map +1 -0
  164. package/fesm2015/covalent-core-common.mjs +2281 -0
  165. package/fesm2015/covalent-core-common.mjs.map +1 -0
  166. package/fesm2015/covalent-core-dialogs.mjs +639 -0
  167. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  168. package/fesm2015/covalent-core-dynamic-menu.mjs +128 -0
  169. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  170. package/fesm2015/covalent-core-file.mjs +613 -0
  171. package/fesm2015/covalent-core-file.mjs.map +1 -0
  172. package/fesm2015/covalent-core-json-formatter.mjs +298 -0
  173. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  174. package/fesm2015/covalent-core-layout.mjs +1024 -0
  175. package/fesm2015/covalent-core-layout.mjs.map +1 -0
  176. package/fesm2015/covalent-core-menu.mjs +37 -0
  177. package/fesm2015/covalent-core-menu.mjs.map +1 -0
  178. package/fesm2015/covalent-core-message.mjs +284 -0
  179. package/fesm2015/covalent-core-message.mjs.map +1 -0
  180. package/fesm2015/covalent-core-search.mjs +428 -0
  181. package/fesm2015/covalent-core-search.mjs.map +1 -0
  182. package/fesm2015/covalent-core-side-sheet.mjs +762 -0
  183. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  184. package/fesm2015/covalent-core-user-profile.mjs +86 -0
  185. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  186. package/fesm2015/covalent-core.mjs +4 -0
  187. package/fesm2015/covalent-core.mjs.map +1 -0
  188. package/fesm2020/covalent-core-breadcrumbs.mjs +246 -0
  189. package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -0
  190. package/{fesm2015/covalent-core-common.js → fesm2020/covalent-core-common.mjs} +317 -813
  191. package/fesm2020/covalent-core-common.mjs.map +1 -0
  192. package/fesm2020/covalent-core-dialogs.mjs +634 -0
  193. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  194. package/fesm2020/covalent-core-dynamic-menu.mjs +128 -0
  195. package/fesm2020/covalent-core-dynamic-menu.mjs.map +1 -0
  196. package/fesm2020/covalent-core-file.mjs +607 -0
  197. package/fesm2020/covalent-core-file.mjs.map +1 -0
  198. package/fesm2020/covalent-core-json-formatter.mjs +290 -0
  199. package/fesm2020/covalent-core-json-formatter.mjs.map +1 -0
  200. package/fesm2020/covalent-core-layout.mjs +1000 -0
  201. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  202. package/fesm2020/covalent-core-menu.mjs +37 -0
  203. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  204. package/fesm2020/covalent-core-message.mjs +282 -0
  205. package/fesm2020/covalent-core-message.mjs.map +1 -0
  206. package/fesm2020/covalent-core-search.mjs +425 -0
  207. package/fesm2020/covalent-core-search.mjs.map +1 -0
  208. package/fesm2020/covalent-core-side-sheet.mjs +757 -0
  209. package/fesm2020/covalent-core-side-sheet.mjs.map +1 -0
  210. package/fesm2020/covalent-core-user-profile.mjs +86 -0
  211. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  212. package/fesm2020/covalent-core.mjs +4 -0
  213. package/fesm2020/covalent-core.mjs.map +1 -0
  214. package/file/_file-theme.scss +3 -1
  215. package/file/covalent-core-file.d.ts +2 -1
  216. package/file/directives/file-drop.directive.d.ts +8 -6
  217. package/file/directives/file-select.directive.d.ts +5 -2
  218. package/file/file-input/file-input.component.d.ts +10 -5
  219. package/file/file-upload/file-upload.component.d.ts +18 -8
  220. package/file/file.module.d.ts +13 -0
  221. package/file/package.json +6 -7
  222. package/file/{public-api.d.ts → public_api.d.ts} +0 -0
  223. package/file/services/file.service.d.ts +3 -0
  224. package/file/{file-input → src/file-input}/README.md +46 -37
  225. package/file/{file-upload → src/file-upload}/README.md +36 -27
  226. package/json-formatter/README.md +8 -8
  227. package/json-formatter/_json-formatter-theme.scss +10 -0
  228. package/json-formatter/collapse.animation.d.ts +24 -0
  229. package/json-formatter/covalent-core-json-formatter.d.ts +2 -1
  230. package/json-formatter/json-formatter.component.d.ts +7 -4
  231. package/json-formatter/json-formatter.module.d.ts +8 -0
  232. package/json-formatter/package.json +6 -7
  233. package/json-formatter/{public-api.d.ts → public_api.d.ts} +0 -0
  234. package/layout/README.md +48 -50
  235. package/layout/_layout-theme.scss +12 -0
  236. package/layout/covalent-core-layout.d.ts +2 -1
  237. package/layout/layout-card-over/layout-card-over.component.d.ts +6 -3
  238. package/layout/layout-footer/layout-footer.component.d.ts +6 -3
  239. package/layout/layout-manage-list/layout-manage-list.component.d.ts +7 -4
  240. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +9 -2
  241. package/layout/layout-nav/layout-nav.component.d.ts +8 -5
  242. package/layout/layout-nav-list/layout-nav-list.component.d.ts +12 -9
  243. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +9 -2
  244. package/layout/layout-toggle.class.d.ts +4 -1
  245. package/layout/layout.component.d.ts +7 -4
  246. package/layout/layout.directives.d.ts +9 -2
  247. package/layout/layout.module.d.ts +23 -0
  248. package/layout/navigation-drawer/navigation-drawer.component.d.ts +17 -10
  249. package/layout/package.json +6 -7
  250. package/layout/{public-api.d.ts → public_api.d.ts} +0 -0
  251. package/layout/{layout-card-over → src/layout-card-over}/README.md +19 -17
  252. package/layout/{layout-manage-list → src/layout-manage-list}/README.md +24 -28
  253. package/layout/src/layout-nav/README.md +50 -0
  254. package/layout/{layout-nav-list → src/layout-nav-list}/README.md +44 -40
  255. package/menu/covalent-core-menu.d.ts +2 -1
  256. package/menu/menu.component.d.ts +3 -0
  257. package/menu/menu.module.d.ts +8 -0
  258. package/menu/package.json +6 -7
  259. package/menu/{public-api.d.ts → public_api.d.ts} +0 -0
  260. package/message/README.md +26 -18
  261. package/message/_message-theme.scss +3 -0
  262. package/message/collapse.animation.d.ts +24 -0
  263. package/message/covalent-core-message.d.ts +2 -1
  264. package/message/message.component.d.ts +9 -4
  265. package/message/message.module.d.ts +7 -0
  266. package/message/package.json +6 -7
  267. package/message/{public-api.d.ts → public_api.d.ts} +0 -0
  268. package/package.json +129 -37
  269. package/{index.d.ts → public_api.d.ts} +0 -0
  270. package/search/README.md +74 -73
  271. package/search/covalent-core-search.d.ts +2 -1
  272. package/search/package.json +6 -7
  273. package/search/{public-api.d.ts → public_api.d.ts} +0 -0
  274. package/search/search-box/search-box.component.d.ts +12 -5
  275. package/search/search-input/search-input.component.d.ts +12 -5
  276. package/search/search.module.d.ts +11 -0
  277. package/search/src/search-box/README.md +73 -0
  278. package/search/src/search-input/README.md +74 -0
  279. package/side-sheet/README.md +3 -5
  280. package/side-sheet/{side-sheet.theme.scss → _side-sheet.theme.scss} +0 -0
  281. package/side-sheet/covalent-core-side-sheet.d.ts +2 -3
  282. package/side-sheet/package.json +6 -7
  283. package/side-sheet/{public-api.d.ts → public_api.d.ts} +0 -0
  284. package/side-sheet/side-sheet-container.d.ts +21 -5
  285. package/side-sheet/side-sheet.content-directives.d.ts +23 -6
  286. package/side-sheet/side-sheet.d.ts +7 -2
  287. package/side-sheet/side-sheet.module.d.ts +9 -0
  288. package/user-profile/README.md +5 -5
  289. package/user-profile/covalent-core-user-profile.d.ts +2 -1
  290. package/user-profile/package.json +6 -7
  291. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +5 -2
  292. package/user-profile/user-profile.component.d.ts +5 -2
  293. package/user-profile/user-profile.module.d.ts +12 -0
  294. package/breadcrumbs/breadcrumb/breadcrumb.component.scss +0 -22
  295. package/breadcrumbs/breadcrumbs.component.scss +0 -7
  296. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +0 -1
  297. package/breadcrumbs/index.d.ts +0 -1
  298. package/bundles/covalent-core-breadcrumbs.umd.js +0 -490
  299. package/bundles/covalent-core-breadcrumbs.umd.js.map +0 -1
  300. package/bundles/covalent-core-breadcrumbs.umd.min.js +0 -2
  301. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +0 -1
  302. package/bundles/covalent-core-common.umd.js +0 -3188
  303. package/bundles/covalent-core-common.umd.js.map +0 -1
  304. package/bundles/covalent-core-common.umd.min.js +0 -17
  305. package/bundles/covalent-core-common.umd.min.js.map +0 -1
  306. package/bundles/covalent-core-dialogs.umd.js +0 -1318
  307. package/bundles/covalent-core-dialogs.umd.js.map +0 -1
  308. package/bundles/covalent-core-dialogs.umd.min.js +0 -2
  309. package/bundles/covalent-core-dialogs.umd.min.js.map +0 -1
  310. package/bundles/covalent-core-dynamic-menu.umd.js +0 -215
  311. package/bundles/covalent-core-dynamic-menu.umd.js.map +0 -1
  312. package/bundles/covalent-core-dynamic-menu.umd.min.js +0 -2
  313. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +0 -1
  314. package/bundles/covalent-core-file.umd.js +0 -1211
  315. package/bundles/covalent-core-file.umd.js.map +0 -1
  316. package/bundles/covalent-core-file.umd.min.js +0 -17
  317. package/bundles/covalent-core-file.umd.min.js.map +0 -1
  318. package/bundles/covalent-core-json-formatter.umd.js +0 -408
  319. package/bundles/covalent-core-json-formatter.umd.js.map +0 -1
  320. package/bundles/covalent-core-json-formatter.umd.min.js +0 -2
  321. package/bundles/covalent-core-json-formatter.umd.min.js.map +0 -1
  322. package/bundles/covalent-core-layout.umd.js +0 -2084
  323. package/bundles/covalent-core-layout.umd.js.map +0 -1
  324. package/bundles/covalent-core-layout.umd.min.js +0 -17
  325. package/bundles/covalent-core-layout.umd.min.js.map +0 -1
  326. package/bundles/covalent-core-menu.umd.js +0 -69
  327. package/bundles/covalent-core-menu.umd.js.map +0 -1
  328. package/bundles/covalent-core-menu.umd.min.js +0 -2
  329. package/bundles/covalent-core-menu.umd.min.js.map +0 -1
  330. package/bundles/covalent-core-message.umd.js +0 -375
  331. package/bundles/covalent-core-message.umd.js.map +0 -1
  332. package/bundles/covalent-core-message.umd.min.js +0 -2
  333. package/bundles/covalent-core-message.umd.min.js.map +0 -1
  334. package/bundles/covalent-core-search.umd.js +0 -877
  335. package/bundles/covalent-core-search.umd.js.map +0 -1
  336. package/bundles/covalent-core-search.umd.min.js +0 -16
  337. package/bundles/covalent-core-search.umd.min.js.map +0 -1
  338. package/bundles/covalent-core-side-sheet.umd.js +0 -1458
  339. package/bundles/covalent-core-side-sheet.umd.js.map +0 -1
  340. package/bundles/covalent-core-side-sheet.umd.min.js +0 -16
  341. package/bundles/covalent-core-side-sheet.umd.min.js.map +0 -1
  342. package/bundles/covalent-core-user-profile.umd.js +0 -116
  343. package/bundles/covalent-core-user-profile.umd.js.map +0 -1
  344. package/bundles/covalent-core-user-profile.umd.min.js +0 -2
  345. package/bundles/covalent-core-user-profile.umd.min.js.map +0 -1
  346. package/bundles/covalent-core.umd.js +0 -9
  347. package/bundles/covalent-core.umd.js.map +0 -1
  348. package/bundles/covalent-core.umd.min.js +0 -2
  349. package/bundles/covalent-core.umd.min.js.map +0 -1
  350. package/common/covalent-core-common.metadata.json +0 -1
  351. package/common/index.d.ts +0 -1
  352. package/common/material-icons.css +0 -98
  353. package/common/material-icons.css.map +0 -1
  354. package/common/material-icons.scss +0 -3
  355. package/common/platform.css +0 -15424
  356. package/common/platform.css.map +0 -1
  357. package/common/platform.scss +0 -7
  358. package/common/styles/_elevation.scss +0 -280
  359. package/common/styles/_layout.scss +0 -603
  360. package/common/styles/_palette-dark.scss +0 -326
  361. package/common/styles/_palette-light.scss +0 -637
  362. package/common/styles/_rtl.scss +0 -28
  363. package/common/styles/_styles.scss +0 -10
  364. package/common/styles/_theme-functions.scss +0 -25
  365. package/common/styles/_typography-functions.scss +0 -35
  366. package/common/styles/_variables.scss +0 -98
  367. package/common/styles/colors/_colors-dark.scss +0 -1072
  368. package/common/styles/colors/_colors-light.scss +0 -2487
  369. package/common/styles/colors/_colors.scss +0 -7
  370. package/common/styles/core/_button.scss +0 -59
  371. package/common/styles/core/_card.scss +0 -164
  372. package/common/styles/core/_content.scss +0 -42
  373. package/common/styles/core/_core.scss +0 -23
  374. package/common/styles/core/_divider.scss +0 -15
  375. package/common/styles/core/_icons.scss +0 -20
  376. package/common/styles/core/_list.scss +0 -8
  377. package/common/styles/core/_sidenav.scss +0 -20
  378. package/common/styles/core/_structure.scss +0 -128
  379. package/common/styles/core/_toolbar.scss +0 -46
  380. package/common/styles/core/_whiteframe.scss +0 -130
  381. package/common/styles/font/MaterialIcons-Regular-v48.woff2 +0 -0
  382. package/common/styles/font/_font.scss +0 -93
  383. package/common/styles/utilities/_general.scss +0 -51
  384. package/common/styles/utilities/_pad.scss +0 -36
  385. package/common/styles/utilities/_pull.scss +0 -36
  386. package/common/styles/utilities/_push.scss +0 -36
  387. package/common/styles/utilities/_size.scss +0 -24
  388. package/common/styles/utilities/_text.scss +0 -84
  389. package/common/styles/utilities/_utilities.scss +0 -15
  390. package/covalent-core.metadata.json +0 -1
  391. package/dialogs/alert-dialog/alert-dialog.component.scss +0 -3
  392. package/dialogs/confirm-dialog/confirm-dialog.component.scss +0 -3
  393. package/dialogs/covalent-core-dialogs.metadata.json +0 -1
  394. package/dialogs/dialog.component.scss +0 -44
  395. package/dialogs/index.d.ts +0 -1
  396. package/dialogs/prompt-dialog/prompt-dialog.component.scss +0 -15
  397. package/dialogs/window-dialog/window-dialog.component.scss +0 -31
  398. package/dynamic-menu/covalent-core-dynamic-menu.metadata.json +0 -1
  399. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.scss +0 -6
  400. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.scss +0 -11
  401. package/dynamic-menu/dynamic-menu.component.scss +0 -0
  402. package/dynamic-menu/index.d.ts +0 -1
  403. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +0 -171
  404. package/esm2015/breadcrumbs/breadcrumbs.component.js +0 -241
  405. package/esm2015/breadcrumbs/breadcrumbs.module.js +0 -20
  406. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +0 -10
  407. package/esm2015/breadcrumbs/index.js +0 -7
  408. package/esm2015/breadcrumbs/public-api.js +0 -9
  409. package/esm2015/common/animations/bounce/bounce.animation.js +0 -76
  410. package/esm2015/common/animations/collapse/collapse.animation.js +0 -67
  411. package/esm2015/common/animations/common/interfaces.js +0 -18
  412. package/esm2015/common/animations/fade/fadeInOut.animation.js +0 -53
  413. package/esm2015/common/animations/flash/flash.animation.js +0 -40
  414. package/esm2015/common/animations/headshake/headshake.animation.js +0 -41
  415. package/esm2015/common/animations/jello/jello.animation.js +0 -44
  416. package/esm2015/common/animations/pulse/pulse.animation.js +0 -38
  417. package/esm2015/common/animations/rotate/rotate.animation.js +0 -41
  418. package/esm2015/common/behaviors/control-value-accesor.mixin.js +0 -107
  419. package/esm2015/common/behaviors/disable-ripple.mixin.js +0 -63
  420. package/esm2015/common/behaviors/disabled.mixin.js +0 -63
  421. package/esm2015/common/common.module.js +0 -54
  422. package/esm2015/common/covalent-core-common.js +0 -12
  423. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +0 -180
  424. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +0 -46
  425. package/esm2015/common/forms/validators/validators.js +0 -58
  426. package/esm2015/common/functions/clipboard.js +0 -30
  427. package/esm2015/common/functions/convert.js +0 -103
  428. package/esm2015/common/functions/download.js +0 -88
  429. package/esm2015/common/functions/file.js +0 -29
  430. package/esm2015/common/index.js +0 -7
  431. package/esm2015/common/pipes/bytes/bytes.pipe.js +0 -41
  432. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +0 -41
  433. package/esm2015/common/pipes/digits/digits.pipe.js +0 -65
  434. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +0 -81
  435. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +0 -66
  436. package/esm2015/common/pipes/time-until/time-until.pipe.js +0 -81
  437. package/esm2015/common/pipes/truncate/truncate.pipe.js +0 -34
  438. package/esm2015/common/public-api.js +0 -44
  439. package/esm2015/common/services/icon.service.js +0 -1109
  440. package/esm2015/common/services/router-path.service.js +0 -60
  441. package/esm2015/covalent-core.js +0 -10
  442. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +0 -47
  443. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +0 -59
  444. package/esm2015/dialogs/covalent-core-dialogs.js +0 -11
  445. package/esm2015/dialogs/dialog.component.js +0 -58
  446. package/esm2015/dialogs/dialogs.module.js +0 -57
  447. package/esm2015/dialogs/index.js +0 -7
  448. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +0 -83
  449. package/esm2015/dialogs/public-api.js +0 -13
  450. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +0 -325
  451. package/esm2015/dialogs/services/dialog.service.js +0 -316
  452. package/esm2015/dialogs/window-dialog/window-dialog.component.js +0 -56
  453. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +0 -11
  454. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +0 -40
  455. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +0 -35
  456. package/esm2015/dynamic-menu/dynamic-menu.component.js +0 -89
  457. package/esm2015/dynamic-menu/dynamic-menu.module.js +0 -26
  458. package/esm2015/dynamic-menu/index.js +0 -7
  459. package/esm2015/dynamic-menu/public_api.js +0 -9
  460. package/esm2015/file/covalent-core-file.js +0 -10
  461. package/esm2015/file/directives/file-drop.directive.js +0 -191
  462. package/esm2015/file/directives/file-select.directive.js +0 -98
  463. package/esm2015/file/file-input/file-input.component.js +0 -186
  464. package/esm2015/file/file-upload/file-upload.component.js +0 -237
  465. package/esm2015/file/file.module.js +0 -35
  466. package/esm2015/file/index.js +0 -7
  467. package/esm2015/file/public-api.js +0 -12
  468. package/esm2015/file/services/file.service.js +0 -109
  469. package/esm2015/index.js +0 -7
  470. package/esm2015/json-formatter/covalent-core-json-formatter.js +0 -10
  471. package/esm2015/json-formatter/index.js +0 -7
  472. package/esm2015/json-formatter/json-formatter.component.js +0 -338
  473. package/esm2015/json-formatter/json-formatter.module.js +0 -20
  474. package/esm2015/json-formatter/public-api.js +0 -8
  475. package/esm2015/layout/covalent-core-layout.js +0 -10
  476. package/esm2015/layout/index.js +0 -7
  477. package/esm2015/layout/layout-card-over/layout-card-over.component.js +0 -71
  478. package/esm2015/layout/layout-footer/layout-footer.component.js +0 -71
  479. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +0 -145
  480. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +0 -132
  481. package/esm2015/layout/layout-nav/layout-nav.component.js +0 -100
  482. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +0 -220
  483. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +0 -132
  484. package/esm2015/layout/layout-toggle.class.js +0 -188
  485. package/esm2015/layout/layout.component.js +0 -145
  486. package/esm2015/layout/layout.directives.js +0 -129
  487. package/esm2015/layout/layout.module.js +0 -64
  488. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +0 -280
  489. package/esm2015/layout/public-api.js +0 -18
  490. package/esm2015/menu/covalent-core-menu.js +0 -10
  491. package/esm2015/menu/index.js +0 -7
  492. package/esm2015/menu/menu.component.js +0 -16
  493. package/esm2015/menu/menu.module.js +0 -22
  494. package/esm2015/menu/public-api.js +0 -8
  495. package/esm2015/message/covalent-core-message.js +0 -10
  496. package/esm2015/message/index.js +0 -7
  497. package/esm2015/message/message.component.js +0 -307
  498. package/esm2015/message/message.module.js +0 -21
  499. package/esm2015/message/public-api.js +0 -8
  500. package/esm2015/search/covalent-core-search.js +0 -10
  501. package/esm2015/search/index.js +0 -7
  502. package/esm2015/search/public-api.js +0 -9
  503. package/esm2015/search/search-box/search-box.component.js +0 -270
  504. package/esm2015/search/search-input/search-input.component.js +0 -260
  505. package/esm2015/search/search.module.js +0 -23
  506. package/esm2015/side-sheet/covalent-core-side-sheet.js +0 -12
  507. package/esm2015/side-sheet/index.js +0 -7
  508. package/esm2015/side-sheet/public-api.js +0 -11
  509. package/esm2015/side-sheet/side-sheet-container.js +0 -402
  510. package/esm2015/side-sheet/side-sheet-ref.js +0 -50
  511. package/esm2015/side-sheet/side-sheet.animation.js +0 -20
  512. package/esm2015/side-sheet/side-sheet.config.js +0 -12
  513. package/esm2015/side-sheet/side-sheet.content-directives.js +0 -255
  514. package/esm2015/side-sheet/side-sheet.js +0 -360
  515. package/esm2015/side-sheet/side-sheet.module.js +0 -36
  516. package/esm2015/user-profile/covalent-core-user-profile.js +0 -10
  517. package/esm2015/user-profile/index.js +0 -7
  518. package/esm2015/user-profile/public_api.js +0 -9
  519. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +0 -35
  520. package/esm2015/user-profile/user-profile.component.js +0 -26
  521. package/esm2015/user-profile/user-profile.module.js +0 -25
  522. package/fesm2015/covalent-core-breadcrumbs.js +0 -448
  523. package/fesm2015/covalent-core-breadcrumbs.js.map +0 -1
  524. package/fesm2015/covalent-core-common.js.map +0 -1
  525. package/fesm2015/covalent-core-dialogs.js +0 -1001
  526. package/fesm2015/covalent-core-dialogs.js.map +0 -1
  527. package/fesm2015/covalent-core-dynamic-menu.js +0 -204
  528. package/fesm2015/covalent-core-dynamic-menu.js.map +0 -1
  529. package/fesm2015/covalent-core-file.js +0 -855
  530. package/fesm2015/covalent-core-file.js.map +0 -1
  531. package/fesm2015/covalent-core-json-formatter.js +0 -377
  532. package/fesm2015/covalent-core-json-formatter.js.map +0 -1
  533. package/fesm2015/covalent-core-layout.js +0 -1663
  534. package/fesm2015/covalent-core-layout.js.map +0 -1
  535. package/fesm2015/covalent-core-menu.js +0 -57
  536. package/fesm2015/covalent-core-menu.js.map +0 -1
  537. package/fesm2015/covalent-core-message.js +0 -347
  538. package/fesm2015/covalent-core-message.js.map +0 -1
  539. package/fesm2015/covalent-core-search.js +0 -564
  540. package/fesm2015/covalent-core-search.js.map +0 -1
  541. package/fesm2015/covalent-core-side-sheet.js +0 -1134
  542. package/fesm2015/covalent-core-side-sheet.js.map +0 -1
  543. package/fesm2015/covalent-core-user-profile.js +0 -103
  544. package/fesm2015/covalent-core-user-profile.js.map +0 -1
  545. package/fesm2015/covalent-core.js +0 -12
  546. package/fesm2015/covalent-core.js.map +0 -1
  547. package/file/covalent-core-file.metadata.json +0 -1
  548. package/file/file-input/file-input.component.scss +0 -20
  549. package/file/file-upload/file-upload.component.scss +0 -30
  550. package/file/index.d.ts +0 -1
  551. package/json-formatter/covalent-core-json-formatter.metadata.json +0 -1
  552. package/json-formatter/index.d.ts +0 -1
  553. package/json-formatter/json-formatter.component.scss +0 -61
  554. package/layout/covalent-core-layout.metadata.json +0 -1
  555. package/layout/index.d.ts +0 -1
  556. package/layout/layout-card-over/layout-card-over.component.scss +0 -42
  557. package/layout/layout-footer/layout-footer.component.scss +0 -4
  558. package/layout/layout-manage-list/layout-manage-list.component.scss +0 -78
  559. package/layout/layout-nav/README.md +0 -46
  560. package/layout/layout-nav/layout-nav.component.scss +0 -50
  561. package/layout/layout-nav-list/layout-nav-list.component.scss +0 -110
  562. package/layout/layout.component.scss +0 -20
  563. package/layout/navigation-drawer/navigation-drawer.component.scss +0 -73
  564. package/menu/covalent-core-menu.metadata.json +0 -1
  565. package/menu/index.d.ts +0 -1
  566. package/menu/menu.component.scss +0 -43
  567. package/message/covalent-core-message.metadata.json +0 -1
  568. package/message/index.d.ts +0 -1
  569. package/message/message.component.scss +0 -29
  570. package/schematics/README.md +0 -66
  571. package/schematics/collection.json +0 -11
  572. package/schematics/components.js +0 -111
  573. package/schematics/components.js.map +0 -1
  574. package/schematics/migration.json +0 -10
  575. package/schematics/ng-add/files/theme.scss +0 -64
  576. package/schematics/ng-add/index.js +0 -58
  577. package/schematics/ng-add/index.js.map +0 -1
  578. package/schematics/ng-add/schema.js +0 -3
  579. package/schematics/ng-add/schema.js.map +0 -1
  580. package/schematics/ng-add/schema.json +0 -81
  581. package/schematics/ng-update/index.js +0 -52
  582. package/schematics/ng-update/index.js.map +0 -1
  583. package/schematics/ng-update/target-version.js +0 -8
  584. package/schematics/ng-update/target-version.js.map +0 -1
  585. package/schematics/version-names.js +0 -6
  586. package/schematics/version-names.js.map +0 -1
  587. package/search/covalent-core-search.metadata.json +0 -1
  588. package/search/index.d.ts +0 -1
  589. package/search/search-box/README.md +0 -62
  590. package/search/search-box/search-box.component.scss +0 -32
  591. package/search/search-input/README.md +0 -65
  592. package/search/search-input/search-input.component.scss +0 -63
  593. package/side-sheet/covalent-core-side-sheet.metadata.json +0 -1
  594. package/side-sheet/index.d.ts +0 -1
  595. package/side-sheet/side-sheet.scss +0 -69
  596. package/theming/prebuilt/blue-grey-deep-orange.css +0 -2434
  597. package/theming/prebuilt/blue-grey-deep-orange.css.map +0 -1
  598. package/theming/prebuilt/blue-grey-deep-orange.scss +0 -13
  599. package/theming/prebuilt/blue-orange.css +0 -2434
  600. package/theming/prebuilt/blue-orange.css.map +0 -1
  601. package/theming/prebuilt/blue-orange.scss +0 -13
  602. package/theming/prebuilt/indigo-pink.css +0 -2434
  603. package/theming/prebuilt/indigo-pink.css.map +0 -1
  604. package/theming/prebuilt/indigo-pink.scss +0 -13
  605. package/theming/prebuilt/orange-light-blue.css +0 -2434
  606. package/theming/prebuilt/orange-light-blue.css.map +0 -1
  607. package/theming/prebuilt/orange-light-blue.scss +0 -13
  608. package/theming/prebuilt/teal-orange.css +0 -2434
  609. package/theming/prebuilt/teal-orange.css.map +0 -1
  610. package/theming/prebuilt/teal-orange.scss +0 -13
  611. package/user-profile/covalent-core-user-profile.metadata.json +0 -1
  612. package/user-profile/index.d.ts +0 -1
  613. package/user-profile/user-profile-menu/user-profile-menu.component.scss +0 -38
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/@angular/material/_theming.scss","common/styles/core/_button.scss","common/styles/_layout.scss","theming/prebuilt/teal-orange.css","common/styles/_palette-light.scss","common/styles/_elevation.scss","typography/_all-typography.scss","common/styles/_typography-functions.scss","dialogs/_dialog-theme.scss","json-formatter/_json-formatter-theme.scss","message/_message-theme.scss","layout/_layout-theme.scss","breadcrumbs/_breadcrumbs-theme.scss","common/_common-theme.scss","file/_file-theme.scss","side-sheet/side-sheet.theme.scss"],"names":[],"mappings":"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","file":"teal-orange.css","sourcesContent":["// File for which all imports are resolved and bundled. This is the entry-point for\n// the `@angular/material` theming Sass bundle. See `//src/material:theming_bundle`.\n\n// Import all the theming functionality.\n// We want overlays to always appear over user content, so set a baseline\n// very high z-index for the overlay container, which is where we create the new\n// stacking context for all overlays.\n$cdk-z-index-overlay-container: 1000 !default;\n$cdk-z-index-overlay: 1000 !default;\n$cdk-z-index-overlay-backdrop: 1000 !default;\n\n// Background color for all of the backdrops\n$cdk-overlay-dark-backdrop-background: rgba(0, 0, 0, 0.32) !default;\n\n// Default backdrop animation is based on the Material Design swift-ease-out.\n$backdrop-animation-duration: 400ms !default;\n$backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;\n\n\n@mixin cdk-overlay() {\n .cdk-overlay-container, .cdk-global-overlay-wrapper {\n // Disable events from being captured on the overlay container.\n pointer-events: none;\n\n // The container should be the size of the viewport.\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n }\n\n // The overlay-container is an invisible element which contains all individual overlays.\n .cdk-overlay-container {\n position: fixed;\n z-index: $cdk-z-index-overlay-container;\n\n &:empty {\n // Hide the element when it doesn't have any child nodes. This doesn't\n // include overlays that have been detached, rather than disposed.\n display: none;\n }\n }\n\n // We use an extra wrapper element in order to use make the overlay itself a flex item.\n // This makes centering the overlay easy without running into the subpixel rendering\n // problems tied to using `transform` and without interfering with the other position\n // strategies.\n .cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: $cdk-z-index-overlay;\n }\n\n // A single overlay pane.\n .cdk-overlay-pane {\n // Note: it's important for this one to start off `absolute`,\n // in order for us to be able to measure it correctly.\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: $cdk-z-index-overlay;\n\n // For connected-position overlays, we set `display: flex` in\n // order to force `max-width` and `max-height` to take effect.\n display: flex;\n max-width: 100%;\n max-height: 100%;\n }\n\n .cdk-overlay-backdrop {\n // TODO(jelbourn): reuse sidenav fullscreen mixin.\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n z-index: $cdk-z-index-overlay-backdrop;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity $backdrop-animation-duration $backdrop-animation-timing-function;\n opacity: 0;\n\n &.cdk-overlay-backdrop-showing {\n opacity: 1;\n\n // In high contrast mode the rgba background will become solid so we need to fall back\n // to making it opaque using `opacity`. Note that we can't use the `cdk-high-contrast`\n // mixin, because we can't normalize the import path to the _a11y.scss both for the\n // source and when this file is distributed. See #10908.\n @media screen and (-ms-high-contrast: active) {\n opacity: 0.6;\n }\n }\n }\n\n .cdk-overlay-dark-backdrop {\n background: $cdk-overlay-dark-backdrop-background;\n }\n\n .cdk-overlay-transparent-backdrop {\n // Note: as of Firefox 57, having the backdrop be `background: none` will prevent it from\n // capturing the user's mouse scroll events. Since we also can't use something like\n // `rgba(0, 0, 0, 0)`, we work around the inconsistency by not setting the background at\n // all and using `opacity` to make the element transparent.\n &, &.cdk-overlay-backdrop-showing {\n opacity: 0;\n }\n }\n\n // Overlay parent element used with the connected position strategy. Used to constrain the\n // overlay element's size to fit within the viewport.\n .cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: $cdk-z-index-overlay;\n\n // We use `display: flex` on this element exclusively for centering connected overlays.\n // When *not* centering, a top/left/bottom/right will be set which overrides the normal\n // flex layout.\n display: flex;\n\n // We use the `column` direction here to avoid some flexbox issues in Edge\n // when using the \"grow after open\" options.\n flex-direction: column;\n\n // Add some dimensions so the element has an `innerText` which some people depend on in tests.\n min-width: 1px;\n min-height: 1px;\n }\n\n // Used when disabling global scrolling.\n .cdk-global-scrollblock {\n position: fixed;\n\n // Necessary for the content not to lose its width. Note that we're using 100%, instead of\n // 100vw, because 100vw includes the width plus the scrollbar, whereas 100% is the width\n // that the element had before we made it `fixed`.\n width: 100%;\n\n // Note: this will always add a scrollbar to whatever element it is on, which can\n // potentially result in double scrollbars. It shouldn't be an issue, because we won't\n // block scrolling on a page that doesn't have a scrollbar in the first place.\n overflow-y: scroll;\n }\n}\n\n@mixin cdk-a11y {\n .cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n\n // Avoid browsers rendering the focus ring in some cases.\n outline: 0;\n\n // Avoid some cases where the browser will still render the native controls (see #9049).\n -webkit-appearance: none;\n -moz-appearance: none;\n }\n}\n\n/// Emits the mixin's content nested under `$selector-context` if `$selector-context`\n/// is non-empty.\n/// @param selector-context The selector under which to nest the mixin's content.\n@mixin _cdk-optionally-nest-content($selector-context) {\n @if ($selector-context == '') {\n @content;\n }\n @else {\n #{$selector-context} {\n @content;\n }\n }\n}\n\n/// Applies styles for users in high contrast mode. Note that this only applies\n/// to Microsoft browsers. Chrome can be included by checking for the `html[hc]`\n/// attribute, however Chrome handles high contrast differently.\n///\n/// @param target Which kind of high contrast setting to target. Defaults to `active`, can be\n/// `white-on-black` or `black-on-white`.\n/// @param encapsulation Whether to emit styles for view encapsulation. Values are:\n/// * `on` - works for `Emulated`, `Native`, and `ShadowDom`\n/// * `off` - works for `None`\n/// * `any` - works for all encapsulation modes by emitting the CSS twice (default).\n@mixin cdk-high-contrast($target: active, $encapsulation: 'any') {\n @if ($target != 'active' and $target != 'black-on-white' and $target != 'white-on-black') {\n @error 'Unknown cdk-high-contrast value \"#{$target}\" provided. ' +\n 'Allowed values are \"active\", \"black-on-white\", and \"white-on-black\"';\n }\n\n @if ($encapsulation != 'on' and $encapsulation != 'off' and $encapsulation != 'any') {\n @error 'Unknown cdk-high-contrast encapsulation \"#{$encapsulation}\" provided. ' +\n 'Allowed values are \"on\", \"off\", and \"any\"';\n }\n\n // If the selector context has multiple parts, such as `.section, .region`, just doing\n // `.cdk-high-contrast-xxx #{&}` will only apply the parent selector to the first part of the\n // context. We address this by nesting the selector context under .cdk-high-contrast.\n @at-root {\n $selector-context: #{&};\n\n @if ($encapsulation != 'on') {\n .cdk-high-contrast-#{$target} {\n @include _cdk-optionally-nest-content($selector-context) {\n @content;\n }\n }\n }\n\n @if ($encapsulation != 'off') {\n .cdk-high-contrast-#{$target} :host {\n @include _cdk-optionally-nest-content($selector-context) {\n @content;\n }\n }\n }\n }\n}\n\n// Core styles that enable monitoring autofill state of text fields.\n@mixin cdk-text-field {\n // Keyframes that apply no styles, but allow us to monitor when an text field becomes autofilled\n // by watching for the animation events that are fired when they start. Note: the /*!*/ comment is\n // needed to prevent LibSass from stripping the keyframes out.\n // Based on: https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n @keyframes cdk-text-field-autofill-start {/*!*/}\n @keyframes cdk-text-field-autofill-end {/*!*/}\n\n .cdk-text-field-autofill-monitored:-webkit-autofill {\n // Since Chrome 80 we need a 1ms delay, or the animationstart event won't fire.\n animation: cdk-text-field-autofill-start 0s 1ms;\n }\n\n .cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n // Since Chrome 80 we need a 1ms delay, or the animationstart event won't fire.\n animation: cdk-text-field-autofill-end 0s 1ms;\n }\n\n // Remove the resize handle on autosizing textareas, because whatever height\n // the user resized to will be overwritten once they start typing again.\n textarea.cdk-textarea-autosize {\n resize: none;\n }\n\n // This class is temporarily applied to the textarea when it is being measured. It is immediately\n // removed when measuring is complete. We use `!important` rules here to make sure user-specified\n // rules do not interfere with the measurement.\n textarea.cdk-textarea-autosize-measuring {\n @include _cdk-textarea-autosize-measuring-base;\n height: auto !important;\n overflow: hidden !important;\n }\n\n // Similar to the `cdk-textarea-autosize-measuring` class, but only applied on Firefox. We need\n // to use this class, because Firefox has a bug where changing the `overflow` breaks the user's\n // ability to undo/redo what they were typing (see #16629). This class is only scoped to Firefox,\n // because the measurements there don't seem to be affected by the `height: 0`, whereas on other\n // browsers they are, e.g. Chrome detects longer text and IE does't resize back to normal.\n // Identical issue report: https://bugzilla.mozilla.org/show_bug.cgi?id=448784\n textarea.cdk-textarea-autosize-measuring-firefox {\n @include _cdk-textarea-autosize-measuring-base;\n height: 0 !important;\n }\n}\n\n@mixin _cdk-textarea-autosize-measuring-base {\n // Having 2px top and bottom padding seems to fix a bug where Chrome gets an incorrect\n // measurement. We just have to account for it later and subtract it off the final result.\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n}\n\n// Used to generate UIDs for keyframes used to change the text field autofill styles.\n$cdk-text-field-autofill-color-frame-count: 0;\n\n// Mixin used to apply custom background and foreground colors to an autofilled text field.\n// Based on: https://stackoverflow.com/questions/2781549/\n// removing-input-background-colour-for-chrome-autocomplete#answer-37432260\n@mixin cdk-text-field-autofill-color($background, $foreground:'') {\n @keyframes cdk-text-field-autofill-color-#{$cdk-text-field-autofill-color-frame-count} {\n to {\n background: $background;\n @if $foreground != '' { color: $foreground; }\n }\n }\n\n &:-webkit-autofill {\n animation: cdk-text-field-autofill-color-#{$cdk-text-field-autofill-color-frame-count} both;\n }\n\n &.cdk-text-field-autofill-monitored:-webkit-autofill {\n // Since Chrome 80 we need a 1ms delay for cdk-text-field-autofill-start, or the animationstart\n // event won't fire.\n animation: cdk-text-field-autofill-start 0s 1ms,\n cdk-text-field-autofill-color-#{$cdk-text-field-autofill-color-frame-count} both;\n }\n\n $cdk-text-field-autofill-color-frame-count:\n $cdk-text-field-autofill-color-frame-count + 1 !global;\n}\n\n\n// Core styles that can be used to apply material design treatments to any element.\n// Media queries\n// TODO(josephperrott): Change $mat-xsmall and $mat-small usages to rely on BreakpointObserver,\n$mat-xsmall: 'max-width: 599px';\n$mat-small: 'max-width: 959px';\n\n// TODO: Revisit all z-indices before beta\n// z-index master list\n\n$z-index-fab: 20 !default;\n$z-index-drawer: 100 !default;\n\n// Global constants\n$pi: 3.14159265;\n\n// Padding between input toggles and their labels\n$mat-toggle-padding: 8px !default;\n// Width and height of input toggles\n$mat-toggle-size: 20px !default;\n\n// Easing Curves\n// TODO(jelbourn): all of these need to be revisited\n\n// The default animation curves used by material design.\n$mat-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 0.1) !default;\n$mat-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$mat-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$ease-in-out-curve-function: cubic-bezier(0.35, 0, 0.25, 1) !default;\n\n$swift-ease-out-duration: 400ms !default;\n$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;\n$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default;\n\n$swift-ease-in-duration: 300ms !default;\n$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default;\n$swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default;\n\n$swift-ease-in-out-duration: 500ms !default;\n$swift-ease-in-out-timing-function: $ease-in-out-curve-function !default;\n$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default;\n\n$swift-linear-duration: 80ms !default;\n$swift-linear-timing-function: linear !default;\n$swift-linear: all $swift-linear-duration $swift-linear-timing-function !default;\n\n\n\n// A collection of mixins and CSS classes that can be used to apply elevation to a material\n// element.\n// See: https://material.io/design/environment/elevation.html\n// Examples:\n//\n//\n// .mat-foo {\n// @include $mat-elevation(2);\n//\n// &:active {\n// @include $mat-elevation(8);\n// }\n// }\n//\n// <div id=\"external-card\" class=\"mat-elevation-z2\"><p>Some content</p></div>\n//\n// For an explanation of the design behind how elevation is implemented, see the design doc at\n// https://goo.gl/Kq0k9Z.\n\n// Colors for umbra, penumbra, and ambient shadows. As described in the design doc, each elevation\n// level is created using a set of 3 shadow values, one for umbra (the shadow representing the\n// space completely obscured by an object relative to its light source), one for penumbra (the\n// space partially obscured by an object), and one for ambient (the space which contains the object\n// itself). For a further explanation of these terms and their meanings, see\n// https://en.wikipedia.org/wiki/Umbra,_penumbra_and_antumbra.\n\n// Maps for the different shadow sets and their values within each z-space. These values were\n// created by taking a few reference shadow sets created by Google's Designers and interpolating\n// all of the values between them.\n\n@function _get-umbra-map($color, $opacity) {\n $shadow-color: if(type-of($color) == color, rgba($color, $opacity * 0.2), $color);\n\n @return (\n 0: '0px 0px 0px 0px #{$shadow-color}',\n 1: '0px 2px 1px -1px #{$shadow-color}',\n 2: '0px 3px 1px -2px #{$shadow-color}',\n 3: '0px 3px 3px -2px #{$shadow-color}',\n 4: '0px 2px 4px -1px #{$shadow-color}',\n 5: '0px 3px 5px -1px #{$shadow-color}',\n 6: '0px 3px 5px -1px #{$shadow-color}',\n 7: '0px 4px 5px -2px #{$shadow-color}',\n 8: '0px 5px 5px -3px #{$shadow-color}',\n 9: '0px 5px 6px -3px #{$shadow-color}',\n 10: '0px 6px 6px -3px #{$shadow-color}',\n 11: '0px 6px 7px -4px #{$shadow-color}',\n 12: '0px 7px 8px -4px #{$shadow-color}',\n 13: '0px 7px 8px -4px #{$shadow-color}',\n 14: '0px 7px 9px -4px #{$shadow-color}',\n 15: '0px 8px 9px -5px #{$shadow-color}',\n 16: '0px 8px 10px -5px #{$shadow-color}',\n 17: '0px 8px 11px -5px #{$shadow-color}',\n 18: '0px 9px 11px -5px #{$shadow-color}',\n 19: '0px 9px 12px -6px #{$shadow-color}',\n 20: '0px 10px 13px -6px #{$shadow-color}',\n 21: '0px 10px 13px -6px #{$shadow-color}',\n 22: '0px 10px 14px -6px #{$shadow-color}',\n 23: '0px 11px 14px -7px #{$shadow-color}',\n 24: '0px 11px 15px -7px #{$shadow-color}'\n );\n}\n\n@function _get-penumbra-map($color, $opacity) {\n $shadow-color: if(type-of($color) == color, rgba($color, $opacity * 0.14), $color);\n\n @return (\n 0: '0px 0px 0px 0px #{$shadow-color}',\n 1: '0px 1px 1px 0px #{$shadow-color}',\n 2: '0px 2px 2px 0px #{$shadow-color}',\n 3: '0px 3px 4px 0px #{$shadow-color}',\n 4: '0px 4px 5px 0px #{$shadow-color}',\n 5: '0px 5px 8px 0px #{$shadow-color}',\n 6: '0px 6px 10px 0px #{$shadow-color}',\n 7: '0px 7px 10px 1px #{$shadow-color}',\n 8: '0px 8px 10px 1px #{$shadow-color}',\n 9: '0px 9px 12px 1px #{$shadow-color}',\n 10: '0px 10px 14px 1px #{$shadow-color}',\n 11: '0px 11px 15px 1px #{$shadow-color}',\n 12: '0px 12px 17px 2px #{$shadow-color}',\n 13: '0px 13px 19px 2px #{$shadow-color}',\n 14: '0px 14px 21px 2px #{$shadow-color}',\n 15: '0px 15px 22px 2px #{$shadow-color}',\n 16: '0px 16px 24px 2px #{$shadow-color}',\n 17: '0px 17px 26px 2px #{$shadow-color}',\n 18: '0px 18px 28px 2px #{$shadow-color}',\n 19: '0px 19px 29px 2px #{$shadow-color}',\n 20: '0px 20px 31px 3px #{$shadow-color}',\n 21: '0px 21px 33px 3px #{$shadow-color}',\n 22: '0px 22px 35px 3px #{$shadow-color}',\n 23: '0px 23px 36px 3px #{$shadow-color}',\n 24: '0px 24px 38px 3px #{$shadow-color}'\n );\n}\n\n@function _get-ambient-map($color, $opacity) {\n $shadow-color: if(type-of($color) == color, rgba($color, $opacity * 0.12), $color);\n\n @return (\n 0: '0px 0px 0px 0px #{$shadow-color}',\n 1: '0px 1px 3px 0px #{$shadow-color}',\n 2: '0px 1px 5px 0px #{$shadow-color}',\n 3: '0px 1px 8px 0px #{$shadow-color}',\n 4: '0px 1px 10px 0px #{$shadow-color}',\n 5: '0px 1px 14px 0px #{$shadow-color}',\n 6: '0px 1px 18px 0px #{$shadow-color}',\n 7: '0px 2px 16px 1px #{$shadow-color}',\n 8: '0px 3px 14px 2px #{$shadow-color}',\n 9: '0px 3px 16px 2px #{$shadow-color}',\n 10: '0px 4px 18px 3px #{$shadow-color}',\n 11: '0px 4px 20px 3px #{$shadow-color}',\n 12: '0px 5px 22px 4px #{$shadow-color}',\n 13: '0px 5px 24px 4px #{$shadow-color}',\n 14: '0px 5px 26px 4px #{$shadow-color}',\n 15: '0px 6px 28px 5px #{$shadow-color}',\n 16: '0px 6px 30px 5px #{$shadow-color}',\n 17: '0px 6px 32px 5px #{$shadow-color}',\n 18: '0px 7px 34px 6px #{$shadow-color}',\n 19: '0px 7px 36px 6px #{$shadow-color}',\n 20: '0px 8px 38px 7px #{$shadow-color}',\n 21: '0px 8px 40px 7px #{$shadow-color}',\n 22: '0px 8px 42px 7px #{$shadow-color}',\n 23: '0px 9px 44px 8px #{$shadow-color}',\n 24: '0px 9px 46px 8px #{$shadow-color}'\n );\n}\n\n// The default duration value for elevation transitions.\n$mat-elevation-transition-duration: 280ms !default;\n\n// The default easing value for elevation transitions.\n$mat-elevation-transition-timing-function: $mat-fast-out-slow-in-timing-function;\n\n// The default color for elevation shadows.\n$mat-elevation-color: black !default;\n\n// The default opacity scaling value for elevation shadows.\n$mat-elevation-opacity: 1 !default;\n\n// Prefix for elevation-related selectors.\n$_mat-elevation-prefix: 'mat-elevation-z';\n\n// Applies the correct css rules to an element to give it the elevation specified by $zValue.\n// The $zValue must be between 0 and 24.\n@mixin mat-elevation($zValue, $color: $mat-elevation-color, $opacity: $mat-elevation-opacity) {\n @if type-of($zValue) != number or not unitless($zValue) {\n @error '$zValue must be a unitless number';\n }\n @if $zValue < 0 or $zValue > 24 {\n @error '$zValue must be between 0 and 24';\n }\n\n box-shadow: #{map-get(_get-umbra-map($color, $opacity), $zValue)},\n #{map-get(_get-penumbra-map($color, $opacity), $zValue)},\n #{map-get(_get-ambient-map($color, $opacity), $zValue)};\n}\n\n@mixin _mat-theme-elevation($zValue, $config, $opacity: $mat-elevation-opacity) {\n $foreground: map-get($config, foreground);\n $elevation-color: map-get($foreground, elevation);\n $elevation-color-or-default: if($elevation-color == null, $mat-elevation-color, $elevation-color);\n\n @include mat-elevation($zValue, $elevation-color-or-default, $opacity);\n}\n\n// Applies the elevation to an element in a manner that allows\n// consumers to override it via the Material elevation classes.\n@mixin mat-overridable-elevation(\n $zValue,\n $color: $mat-elevation-color,\n $opacity: $mat-elevation-opacity) {\n &:not([class*='#{$_mat-elevation-prefix}']) {\n @include mat-elevation($zValue, $color, $opacity);\n }\n}\n\n@mixin _mat-theme-overridable-elevation($zValue, $config, $opacity: $mat-elevation-opacity) {\n $foreground: map-get($config, foreground);\n $elevation-color: map-get($foreground, elevation);\n $elevation-color-or-default: if($elevation-color == null, $mat-elevation-color, $elevation-color);\n\n @include mat-overridable-elevation($zValue, $elevation-color-or-default, $opacity);\n}\n\n// Returns a string that can be used as the value for a transition property for elevation.\n// Calling this function directly is useful in situations where a component needs to transition\n// more than one property.\n//\n// .foo {\n// transition: mat-elevation-transition-property-value(), opacity 100ms ease;\n// }\n@function mat-elevation-transition-property-value(\n $duration: $mat-elevation-transition-duration,\n $easing: $mat-elevation-transition-timing-function) {\n @return box-shadow #{$duration} #{$easing};\n}\n\n// Applies the correct css rules needed to have an element transition between elevations.\n// This mixin should be applied to elements whose elevation values will change depending on their\n// context (e.g. when active or disabled).\n//\n// NOTE(traviskaufman): Both this mixin and the above function use default parameters so they can\n// be used in the same way by clients.\n@mixin mat-elevation-transition(\n $duration: $mat-elevation-transition-duration,\n $easing: $mat-elevation-transition-timing-function) {\n transition: mat-elevation-transition-property-value($duration, $easing);\n}\n\n// Color palettes from the Material Design spec.\n// See https://material.io/design/color/\n//\n// Contrast colors are hard-coded because it is too difficult (probably impossible) to\n// calculate them. These contrast colors are pulled from the public Material Design spec swatches.\n// While the contrast colors in the spec are not prescriptive, we use them for convenience.\n\n\n// @deprecated renamed to $dark-primary-text.\n// @breaking-change 8.0.0\n$black-87-opacity: rgba(black, 0.87);\n// @deprecated renamed to $light-primary-text.\n// @breaking-change 8.0.0\n$white-87-opacity: rgba(white, 0.87);\n// @deprecated use $dark-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$black-12-opacity: rgba(black, 0.12);\n// @deprecated use $light-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$white-12-opacity: rgba(white, 0.12);\n// @deprecated use $dark-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$black-6-opacity: rgba(black, 0.06);\n// @deprecated use $light-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$white-6-opacity: rgba(white, 0.06);\n\n$dark-primary-text: rgba(black, 0.87);\n$dark-secondary-text: rgba(black, 0.54);\n$dark-disabled-text: rgba(black, 0.38);\n$dark-dividers: rgba(black, 0.12);\n$dark-focused: rgba(black, 0.12);\n$light-primary-text: white;\n$light-secondary-text: rgba(white, 0.7);\n$light-disabled-text: rgba(white, 0.5);\n$light-dividers: rgba(white, 0.12);\n$light-focused: rgba(white, 0.12);\n\n$mat-red: (\n 50: #ffebee,\n 100: #ffcdd2,\n 200: #ef9a9a,\n 300: #e57373,\n 400: #ef5350,\n 500: #f44336,\n 600: #e53935,\n 700: #d32f2f,\n 800: #c62828,\n 900: #b71c1c,\n A100: #ff8a80,\n A200: #ff5252,\n A400: #ff1744,\n A700: #d50000,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $light-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-pink: (\n 50: #fce4ec,\n 100: #f8bbd0,\n 200: #f48fb1,\n 300: #f06292,\n 400: #ec407a,\n 500: #e91e63,\n 600: #d81b60,\n 700: #c2185b,\n 800: #ad1457,\n 900: #880e4f,\n A100: #ff80ab,\n A200: #ff4081,\n A400: #f50057,\n A700: #c51162,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $light-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-purple: (\n 50: #f3e5f5,\n 100: #e1bee7,\n 200: #ce93d8,\n 300: #ba68c8,\n 400: #ab47bc,\n 500: #9c27b0,\n 600: #8e24aa,\n 700: #7b1fa2,\n 800: #6a1b9a,\n 900: #4a148c,\n A100: #ea80fc,\n A200: #e040fb,\n A400: #d500f9,\n A700: #aa00ff,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $light-primary-text,\n 400: $light-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $light-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-deep-purple: (\n 50: #ede7f6,\n 100: #d1c4e9,\n 200: #b39ddb,\n 300: #9575cd,\n 400: #7e57c2,\n 500: #673ab7,\n 600: #5e35b1,\n 700: #512da8,\n 800: #4527a0,\n 900: #311b92,\n A100: #b388ff,\n A200: #7c4dff,\n A400: #651fff,\n A700: #6200ea,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $light-primary-text,\n 400: $light-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $light-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-indigo: (\n 50: #e8eaf6,\n 100: #c5cae9,\n 200: #9fa8da,\n 300: #7986cb,\n 400: #5c6bc0,\n 500: #3f51b5,\n 600: #3949ab,\n 700: #303f9f,\n 800: #283593,\n 900: #1a237e,\n A100: #8c9eff,\n A200: #536dfe,\n A400: #3d5afe,\n A700: #304ffe,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $light-primary-text,\n 400: $light-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $light-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-blue: (\n 50: #e3f2fd,\n 100: #bbdefb,\n 200: #90caf9,\n 300: #64b5f6,\n 400: #42a5f5,\n 500: #2196f3,\n 600: #1e88e5,\n 700: #1976d2,\n 800: #1565c0,\n 900: #0d47a1,\n A100: #82b1ff,\n A200: #448aff,\n A400: #2979ff,\n A700: #2962ff,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $light-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-light-blue: (\n 50: #e1f5fe,\n 100: #b3e5fc,\n 200: #81d4fa,\n 300: #4fc3f7,\n 400: #29b6f6,\n 500: #03a9f4,\n 600: #039be5,\n 700: #0288d1,\n 800: #0277bd,\n 900: #01579b,\n A100: #80d8ff,\n A200: #40c4ff,\n A400: #00b0ff,\n A700: #0091ea,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-cyan: (\n 50: #e0f7fa,\n 100: #b2ebf2,\n 200: #80deea,\n 300: #4dd0e1,\n 400: #26c6da,\n 500: #00bcd4,\n 600: #00acc1,\n 700: #0097a7,\n 800: #00838f,\n 900: #006064,\n A100: #84ffff,\n A200: #18ffff,\n A400: #00e5ff,\n A700: #00b8d4,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-teal: (\n 50: #e0f2f1,\n 100: #b2dfdb,\n 200: #80cbc4,\n 300: #4db6ac,\n 400: #26a69a,\n 500: #009688,\n 600: #00897b,\n 700: #00796b,\n 800: #00695c,\n 900: #004d40,\n A100: #a7ffeb,\n A200: #64ffda,\n A400: #1de9b6,\n A700: #00bfa5,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-green: (\n 50: #e8f5e9,\n 100: #c8e6c9,\n 200: #a5d6a7,\n 300: #81c784,\n 400: #66bb6a,\n 500: #4caf50,\n 600: #43a047,\n 700: #388e3c,\n 800: #2e7d32,\n 900: #1b5e20,\n A100: #b9f6ca,\n A200: #69f0ae,\n A400: #00e676,\n A700: #00c853,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-light-green: (\n 50: #f1f8e9,\n 100: #dcedc8,\n 200: #c5e1a5,\n 300: #aed581,\n 400: #9ccc65,\n 500: #8bc34a,\n 600: #7cb342,\n 700: #689f38,\n 800: #558b2f,\n 900: #33691e,\n A100: #ccff90,\n A200: #b2ff59,\n A400: #76ff03,\n A700: #64dd17,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $dark-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-lime: (\n 50: #f9fbe7,\n 100: #f0f4c3,\n 200: #e6ee9c,\n 300: #dce775,\n 400: #d4e157,\n 500: #cddc39,\n 600: #c0ca33,\n 700: #afb42b,\n 800: #9e9d24,\n 900: #827717,\n A100: #f4ff81,\n A200: #eeff41,\n A400: #c6ff00,\n A700: #aeea00,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $dark-primary-text,\n 700: $dark-primary-text,\n 800: $dark-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-yellow: (\n 50: #fffde7,\n 100: #fff9c4,\n 200: #fff59d,\n 300: #fff176,\n 400: #ffee58,\n 500: #ffeb3b,\n 600: #fdd835,\n 700: #fbc02d,\n 800: #f9a825,\n 900: #f57f17,\n A100: #ffff8d,\n A200: #ffff00,\n A400: #ffea00,\n A700: #ffd600,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $dark-primary-text,\n 700: $dark-primary-text,\n 800: $dark-primary-text,\n 900: $dark-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-amber: (\n 50: #fff8e1,\n 100: #ffecb3,\n 200: #ffe082,\n 300: #ffd54f,\n 400: #ffca28,\n 500: #ffc107,\n 600: #ffb300,\n 700: #ffa000,\n 800: #ff8f00,\n 900: #ff6f00,\n A100: #ffe57f,\n A200: #ffd740,\n A400: #ffc400,\n A700: #ffab00,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $dark-primary-text,\n 700: $dark-primary-text,\n 800: $dark-primary-text,\n 900: $dark-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $dark-primary-text,\n )\n);\n\n$mat-orange: (\n 50: #fff3e0,\n 100: #ffe0b2,\n 200: #ffcc80,\n 300: #ffb74d,\n 400: #ffa726,\n 500: #ff9800,\n 600: #fb8c00,\n 700: #f57c00,\n 800: #ef6c00,\n 900: #e65100,\n A100: #ffd180,\n A200: #ffab40,\n A400: #ff9100,\n A700: #ff6d00,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $dark-primary-text,\n 700: $dark-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: black,\n )\n);\n\n$mat-deep-orange: (\n 50: #fbe9e7,\n 100: #ffccbc,\n 200: #ffab91,\n 300: #ff8a65,\n 400: #ff7043,\n 500: #ff5722,\n 600: #f4511e,\n 700: #e64a19,\n 800: #d84315,\n 900: #bf360c,\n A100: #ff9e80,\n A200: #ff6e40,\n A400: #ff3d00,\n A700: #dd2c00,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-brown: (\n 50: #efebe9,\n 100: #d7ccc8,\n 200: #bcaaa4,\n 300: #a1887f,\n 400: #8d6e63,\n 500: #795548,\n 600: #6d4c41,\n 700: #5d4037,\n 800: #4e342e,\n 900: #3e2723,\n A100: #d7ccc8,\n A200: #bcaaa4,\n A400: #8d6e63,\n A700: #5d4037,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $light-primary-text,\n 400: $light-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n$mat-grey: (\n 50: #fafafa,\n 100: #f5f5f5,\n 200: #eeeeee,\n 300: #e0e0e0,\n 400: #bdbdbd,\n 500: #9e9e9e,\n 600: #757575,\n 700: #616161,\n 800: #424242,\n 900: #212121,\n A100: #ffffff,\n A200: #eeeeee,\n A400: #bdbdbd,\n A700: #616161,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $dark-primary-text,\n 500: $dark-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $dark-primary-text,\n A700: $light-primary-text,\n )\n);\n\n// Alias for alternate spelling.\n$mat-gray: $mat-grey;\n\n$mat-blue-grey: (\n 50: #eceff1,\n 100: #cfd8dc,\n 200: #b0bec5,\n 300: #90a4ae,\n 400: #78909c,\n 500: #607d8b,\n 600: #546e7a,\n 700: #455a64,\n 800: #37474f,\n 900: #263238,\n A100: #cfd8dc,\n A200: #b0bec5,\n A400: #78909c,\n A700: #455a64,\n contrast: (\n 50: $dark-primary-text,\n 100: $dark-primary-text,\n 200: $dark-primary-text,\n 300: $dark-primary-text,\n 400: $light-primary-text,\n 500: $light-primary-text,\n 600: $light-primary-text,\n 700: $light-primary-text,\n 800: $light-primary-text,\n 900: $light-primary-text,\n A100: $dark-primary-text,\n A200: $dark-primary-text,\n A400: $light-primary-text,\n A700: $light-primary-text,\n )\n);\n\n// Alias for alternate spelling.\n$mat-blue-gray: $mat-blue-grey;\n\n\n// Background palette for light themes.\n$mat-light-theme-background: (\n status-bar: map-get($mat-grey, 300),\n app-bar: map-get($mat-grey, 100),\n background: map-get($mat-grey, 50),\n hover: rgba(black, 0.04), // TODO(kara): check style with Material Design UX\n card: white,\n dialog: white,\n disabled-button: rgba(black, 0.12),\n raised-button: white,\n focused-button: $dark-focused,\n selected-button: map-get($mat-grey, 300),\n selected-disabled-button: map-get($mat-grey, 400),\n disabled-button-toggle: map-get($mat-grey, 200),\n unselected-chip: map-get($mat-grey, 300),\n disabled-list-option: map-get($mat-grey, 200),\n tooltip: map-get($mat-grey, 700),\n);\n\n// Background palette for dark themes.\n$mat-dark-theme-background: (\n status-bar: black,\n app-bar: map-get($mat-grey, 900),\n background: #303030,\n hover: rgba(white, 0.04), // TODO(kara): check style with Material Design UX\n card: map-get($mat-grey, 800),\n dialog: map-get($mat-grey, 800),\n disabled-button: rgba(white, 0.12),\n raised-button: map-get($mat-grey, 800),\n focused-button: $light-focused,\n selected-button: map-get($mat-grey, 900),\n selected-disabled-button: map-get($mat-grey, 800),\n disabled-button-toggle: black,\n unselected-chip: map-get($mat-grey, 700),\n disabled-list-option: black,\n tooltip: map-get($mat-grey, 700),\n);\n\n// Foreground palette for light themes.\n$mat-light-theme-foreground: (\n base: black,\n divider: $dark-dividers,\n dividers: $dark-dividers,\n disabled: $dark-disabled-text,\n disabled-button: rgba(black, 0.26),\n disabled-text: $dark-disabled-text,\n elevation: black,\n hint-text: $dark-disabled-text,\n secondary-text: $dark-secondary-text,\n icon: rgba(black, 0.54),\n icons: rgba(black, 0.54),\n text: rgba(black, 0.87),\n slider-min: rgba(black, 0.87),\n slider-off: rgba(black, 0.26),\n slider-off-active: rgba(black, 0.38),\n);\n\n// Foreground palette for dark themes.\n$mat-dark-theme-foreground: (\n base: white,\n divider: $light-dividers,\n dividers: $light-dividers,\n disabled: $light-disabled-text,\n disabled-button: rgba(white, 0.3),\n disabled-text: $light-disabled-text,\n elevation: black,\n hint-text: $light-disabled-text,\n secondary-text: $light-secondary-text,\n icon: white,\n icons: white,\n text: white,\n slider-min: white,\n slider-off: rgba(white, 0.3),\n slider-off-active: rgba(white, 0.3),\n);\n\n\n// Whether density should be generated by default.\n$_mat-theme-generate-default-density: true !default;\n\n// For a given hue in a palette, return the contrast color from the map of contrast palettes.\n// @param $color-map\n// @param $hue\n@function mat-contrast($palette, $hue) {\n @return map-get(map-get($palette, contrast), $hue);\n}\n\n\n// Creates a map of hues to colors for a theme. This is used to define a theme palette in terms\n// of the Material Design hues.\n// @param $color-map\n// @param $primary\n// @param $lighter\n@function mat-palette($base-palette, $default: 500, $lighter: 100, $darker: 700, $text: $default) {\n $result: map-merge($base-palette, (\n default: map-get($base-palette, $default),\n lighter: map-get($base-palette, $lighter),\n darker: map-get($base-palette, $darker),\n text: map-get($base-palette, $text),\n\n default-contrast: mat-contrast($base-palette, $default),\n lighter-contrast: mat-contrast($base-palette, $lighter),\n darker-contrast: mat-contrast($base-palette, $darker)\n ));\n\n // For each hue in the palette, add a \"-contrast\" color to the map.\n @each $hue, $color in $base-palette {\n $result: map-merge($result, (\n '#{$hue}-contrast': mat-contrast($base-palette, $hue)\n ));\n }\n\n @return $result;\n}\n\n\n// Gets a color from a theme palette (the output of mat-palette).\n// The hue can be one of the standard values (500, A400, etc.), one of the three preconfigured\n// hues (default, lighter, darker), or any of the aforementioned prefixed with \"-contrast\".\n//\n// @param $color-map The theme palette (output of mat-palette).\n// @param $hue The hue from the palette to use. If this is a value between 0 and 1, it will\n// be treated as opacity.\n// @param $opacity The alpha channel value for the color.\n@function mat-color($palette, $hue: default, $opacity: null) {\n // If hueKey is a number between zero and one, then it actually contains an\n // opacity value, so recall this function with the default hue and that given opacity.\n @if type-of($hue) == number and $hue >= 0 and $hue <= 1 {\n @return mat-color($palette, default, $hue);\n }\n\n $color: map-get($palette, $hue);\n\n @if (type-of($color) != color) {\n // If the $color resolved to something different from a color (e.g. a CSS variable),\n // we can't apply the opacity anyway so we return the value as is, otherwise Sass can\n // throw an error or output something invalid.\n @return $color;\n }\n\n @return rgba($color, if($opacity == null, opacity($color), $opacity));\n}\n\n// Validates the specified theme by ensuring that the optional color config defines\n// a primary, accent and warn palette. Returns the theme if no failures were found.\n@function _mat-validate-theme($theme) {\n @if map-get($theme, color) {\n $color: map-get($theme, color);\n @if not map-get($color, primary) {\n @error 'Theme does not define a valid \"primary\" palette.';\n }\n @else if not map-get($color, accent) {\n @error 'Theme does not define a valid \"accent\" palette.';\n }\n @else if not map-get($color, warn) {\n @error 'Theme does not define a valid \"warn\" palette.';\n }\n }\n @return $theme;\n}\n\n// Creates a backwards compatible theme. Previously in Angular Material, theme objects\n// contained the color configuration directly. With the recent refactoring of the theming\n// system to allow for density and typography configurations, this is no longer the case.\n// To ensure that constructed themes which will be passed to custom theme mixins do not break,\n// we copy the color configuration and put its properties at the top-level of the theme object.\n// Here is an example of a pattern that should still work until it's officially marked as a\n// breaking change:\n//\n// @mixin my-custom-component-theme($theme) {\n// .my-comp {\n// background-color: mat-color(map-get($theme, primary));\n// }\n// }\n//\n// Note that the `$theme.primary` key does usually not exist since the color configuration\n// is stored in `$theme.color` which contains a property for `primary`. This method copies\n// the map from `$theme.color` to `$theme` for backwards compatibility.\n@function _mat-create-backwards-compatibility-theme($theme) {\n @if not map-get($theme, color) {\n @return $theme;\n }\n $color: map-get($theme, color);\n @return map-merge($theme, $color);\n}\n\n// Creates a light-themed color configuration from the specified\n// primary, accent and warn palettes.\n@function _mat-create-light-color-config($primary, $accent, $warn: null) {\n @return (\n primary: $primary,\n accent: $accent,\n warn: if($warn != null, $warn, mat-palette($mat-red)),\n is-dark: false,\n foreground: $mat-light-theme-foreground,\n background: $mat-light-theme-background,\n );\n}\n\n// Creates a dark-themed color configuration from the specified\n// primary, accent and warn palettes.\n@function _mat-create-dark-color-config($primary, $accent, $warn: null) {\n @return (\n primary: $primary,\n accent: $accent,\n warn: if($warn != null, $warn, mat-palette($mat-red)),\n is-dark: true,\n foreground: $mat-dark-theme-foreground,\n background: $mat-dark-theme-background,\n );\n}\n\n// Creates a container object for a light theme to be given to individual component theme mixins.\n// TODO: Remove legacy API and rename `$primary` to `$config`. Currently it cannot be renamed\n// as it would break existing apps that set the parameter by name.\n@function mat-light-theme($primary, $accent: null, $warn: mat-palette($mat-red)) {\n // This function creates a container object for the individual component theme mixins. Consumers\n // can construct such an object by calling this function, or by building the object manually.\n // There are two possible ways to invoke this function in order to create such an object:\n //\n // (1) Passing in a map that holds optional configurations for individual parts of the\n // theming system. For `color` configurations, the function only expects the palettes\n // for `primary` and `accent` (and optionally `warn`). The function will expand the\n // shorthand into an actual configuration that can be consumed in `-color` mixins.\n // (2) Legacy pattern: Passing in the palettes as parameters. This is not as flexible\n // as passing in a configuration map because only the `color` system can be configured.\n //\n // If the legacy pattern is used, we generate a container object only with a light-themed\n // configuration for the `color` theming part.\n @if $accent != null {\n @return _mat-create-backwards-compatibility-theme(_mat-validate-theme((\n _is-legacy-theme: true,\n color: _mat-create-light-color-config($primary, $accent, $warn),\n )));\n }\n // If the map pattern is used (1), we just pass-through the configurations for individual\n // parts of the theming system, but update the `color` configuration if set. As explained\n // above, the color shorthand will be expanded to an actual light-themed color configuration.\n $result: $primary;\n @if map-get($primary, color) {\n $color-settings: map-get($primary, color);\n $primary: map-get($color-settings, primary);\n $accent: map-get($color-settings, accent);\n $warn: map-get($color-settings, warn);\n $result: map-merge($result, (color: _mat-create-light-color-config($primary, $accent, $warn)));\n }\n @return _mat-create-backwards-compatibility-theme(_mat-validate-theme($result));\n}\n\n// Creates a container object for a dark theme to be given to individual component theme mixins.\n// TODO: Remove legacy API and rename `$primary` to `$config`. Currently it cannot be renamed\n// as it would break existing apps that set the parameter by name.\n@function mat-dark-theme($primary, $accent: null, $warn: mat-palette($mat-red)) {\n // This function creates a container object for the individual component theme mixins. Consumers\n // can construct such an object by calling this function, or by building the object manually.\n // There are two possible ways to invoke this function in order to create such an object:\n //\n // (1) Passing in a map that holds optional configurations for individual parts of the\n // theming system. For `color` configurations, the function only expects the palettes\n // for `primary` and `accent` (and optionally `warn`). The function will expand the\n // shorthand into an actual configuration that can be consumed in `-color` mixins.\n // (2) Legacy pattern: Passing in the palettes as parameters. This is not as flexible\n // as passing in a configuration map because only the `color` system can be configured.\n //\n // If the legacy pattern is used, we generate a container object only with a dark-themed\n // configuration for the `color` theming part.\n @if $accent != null {\n @return _mat-create-backwards-compatibility-theme(_mat-validate-theme((\n _is-legacy-theme: true,\n color: _mat-create-dark-color-config($primary, $accent, $warn),\n )));\n }\n // If the map pattern is used (1), we just pass-through the configurations for individual\n // parts of the theming system, but update the `color` configuration if set. As explained\n // above, the color shorthand will be expanded to an actual dark-themed color configuration.\n $result: $primary;\n @if map-get($primary, color) {\n $color-settings: map-get($primary, color);\n $primary: map-get($color-settings, primary);\n $accent: map-get($color-settings, accent);\n $warn: map-get($color-settings, warn);\n $result: map-merge($result, (color: _mat-create-dark-color-config($primary, $accent, $warn)));\n }\n @return _mat-create-backwards-compatibility-theme(_mat-validate-theme($result));\n}\n\n/// Gets the color configuration from the given theme or configuration.\n@function mat-get-color-config($theme, $default: null) {\n // If a configuration has been passed, return the config directly.\n @if not _mat-is-theme-object($theme) {\n @return $theme;\n }\n // If the theme has been constructed through the legacy theming API, we use the theme object\n // as color configuration instead of the dedicated `color` property. We do this because for\n // backwards compatibility, we copied the color configuration from `$theme.color` to `$theme`.\n // Hence developers could customize the colors at top-level and want to respect these changes\n // TODO: Remove when legacy theming API is removed.\n @if _mat-is-legacy-constructed-theme($theme) {\n @return $theme;\n }\n @if map-has-key($theme, color) {\n @return map-get($theme, color);\n }\n @return $default;\n}\n\n/// Gets the density configuration from the given theme or configuration.\n@function mat-get-density-config($theme-or-config, $default: 0) {\n // If a configuration has been passed, return the config directly.\n @if not _mat-is-theme-object($theme-or-config) {\n @return $theme-or-config;\n }\n // In case a theme has been passed, extract the configuration if present,\n // or fall back to the default density config.\n @if map-has-key($theme-or-config, density) {\n @return map-get($theme-or-config, density);\n }\n @return $default;\n}\n\n/// Gets the typography configuration from the given theme or configuration.\n/// For backwards compatibility, typography is not included by default.\n@function mat-get-typography-config($theme-or-config, $default: null) {\n // If a configuration has been passed, return the config directly.\n @if not _mat-is-theme-object($theme-or-config) {\n @return $theme-or-config;\n }\n // In case a theme has been passed, extract the configuration if present,\n // or fall back to the default typography config.\n @if (map-has-key($theme-or-config, typography)) {\n @return map-get($theme-or-config, typography);\n }\n @return $default;\n}\n\n// Checks whether the given value resolves to a theme object. Theme objects are always\n// of type `map` and can optionally only specify `color`, `density` or `typography`.\n@function _mat-is-theme-object($value) {\n @return type-of($value) == 'map' and (\n map-has-key($value, color) or\n map-has-key($value, density) or\n map-has-key($value, typography) or\n length($value) == 0\n );\n}\n\n// Checks whether a given value corresponds to a legacy constructed theme.\n@function _mat-is-legacy-constructed-theme($value) {\n @return type-of($value) == 'map' and map-get($value, '_is-legacy-theme');\n}\n\n// Gets the theme from the given value that is either already a theme, or a color configuration.\n// This handles the legacy case where developers pass a color configuration directly to the\n// theme mixin. Before we introduced the new pattern for constructing a theme, developers passed\n// the color configuration directly to the theme mixins. This can be still the case if developers\n// construct a theme manually and pass it to a theme. We support this for backwards compatibility.\n// TODO(devversion): remove this in the future. Constructing themes manually is rare,\n// and the code can be easily updated to the new API.\n@function _mat-legacy-get-theme($theme-or-color-config) {\n @if _mat-is-theme-object($theme-or-color-config) {\n @return $theme-or-color-config;\n }\n @return _mat-create-backwards-compatibility-theme((\n _is-legacy-theme: true,\n color: $theme-or-color-config\n ));\n}\n\n\n\n// Whether duplication warnings should be disabled. Warnings enabled by default.\n$mat-theme-ignore-duplication-warnings: false !default;\n\n// Warning that will be printed if duplicated styles are generated by a theme.\n$_mat-theme-duplicate-warning: 'Read more about how style duplication can be avoided in a ' +\n 'dedicated guide. https://github.com/angular/components/blob/master/guides/duplicate-theming-styles.md';\n\n// These variable are not intended to be overridden externally. They use `!default` to\n// avoid being reset every time this file is imported.\n$_mat-theme-emitted-color: () !default;\n$_mat-theme-emitted-typography: () !default;\n$_mat-theme-emitted-density: () !default;\n\n// Checks if configurations that have been declared in the given theme have been generated\n// before. If so, warnings will be reported. This should notify developers in case duplicate\n// styles are accidentally generated due to wrong usage of the all-theme mixins.\n//\n// Additionally, this mixin controls the default value for the density configuration. By\n// default, density styles are generated at scale zero. If the same density styles would be\n// generated a second time though, the default value will change to avoid duplicate styles.\n//\n// The mixin keeps track of all configurations in a list that is scoped to the specified\n// id. This is necessary because a given theme can be passed to multiple disjoint theme mixins\n// (e.g. `angular-material-theme` and `angular-material-mdc-theme`) without causing any\n// style duplication.\n@mixin _mat-check-duplicate-theme-styles($theme-or-color-config, $id) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n $color-config: mat-get-color-config($theme);\n $density-config: mat-get-density-config($theme);\n $typography-config: mat-get-typography-config($theme);\n // Lists of previous `color`, `density` and `typography` configurations.\n $previous-color: map-get($_mat-theme-emitted-color, $id) or ();\n $previous-typography: map-get($_mat-theme-emitted-typography, $id) or ();\n $previous-density: map-get($_mat-theme-emitted-density, $id) or ();\n // Whether duplicate legacy density styles would be generated.\n $duplicate-legacy-density: false;\n\n // Check if the color configuration has been generated before.\n @if $color-config != null {\n @if index($previous-color, $color-config) != null and\n not $mat-theme-ignore-duplication-warnings {\n @warn 'The same color styles are generated multiple times. ' +\n $_mat-theme-duplicate-warning;\n }\n $previous-color: append($previous-color, $color-config);\n }\n\n // Check if the typography configuration has been generated before.\n @if $typography-config != null {\n @if index($previous-typography, $typography-config) != null and\n not $mat-theme-ignore-duplication-warnings {\n @warn 'The same typography styles are generated multiple times. ' +\n $_mat-theme-duplicate-warning;\n }\n $previous-typography: append($previous-typography, $typography-config);\n }\n\n // Check if the density configuration has been generated before.\n @if $density-config != null {\n @if index($previous-density, $density-config) != null {\n // Only report a warning if density styles would be duplicated for non-legacy theme\n // definitions. For legacy themes, we have compatibility logic that avoids duplication\n // of default density styles. We don't want to report a warning in those cases.\n @if _mat-is-legacy-constructed-theme($theme) {\n $duplicate-legacy-density: true;\n }\n @else if not $mat-theme-ignore-duplication-warnings {\n @warn 'The same density styles are generated multiple times. ' +\n $_mat-theme-duplicate-warning;\n }\n }\n $previous-density: append($previous-density, $density-config);\n }\n\n $_mat-theme-emitted-color: map-merge(\n $_mat-theme-emitted-color, ($id: $previous-color)) !global;\n $_mat-theme-emitted-density: map-merge(\n $_mat-theme-emitted-density, ($id: $previous-density)) !global;\n $_mat-theme-emitted-typography: map-merge(\n $_mat-theme-emitted-typography, ($id: $previous-typography)) !global;\n\n // Optionally, consumers of this mixin can wrap contents inside so that nested\n // duplicate style checks do not report another warning. e.g. if developers include\n // the `angular-material-theme` mixin twice, only the top-level duplicate styles check\n // should report a warning. Not all individual components should report a warning too.\n $orig-mat-theme-ignore-duplication-warnings: $mat-theme-ignore-duplication-warnings;\n $mat-theme-ignore-duplication-warnings: true !global;\n\n // If duplicate default density styles would be generated for a legacy constructed theme,\n // we adjust the density generation so that no density styles are generated by default.\n // If no default density styles have been generated yet, we ensure that the styles\n // are generated at root. For legacy themes our goal is to generate default density\n // styles **once** and at root. This matches the old behavior where density styles were\n // part of the base component styles (that did not use view encapsulation).\n // TODO: Remove this compatibility logic when the legacy theming API is removed.\n $_mat-density-generate-at-root: _mat-is-legacy-constructed-theme($theme) !global;\n $_mat-density-generate-styles: not $duplicate-legacy-density !global;\n\n @content;\n $mat-theme-ignore-duplication-warnings: $orig-mat-theme-ignore-duplication-warnings !global;\n\n $_mat-density-generate-at-root: false !global;\n $_mat-density-generate-styles: true !global;\n}\n\n\n\n$mat-ripple-color-opacity: 0.1;\n\n@mixin mat-ripple() {\n\n // The host element of an mat-ripple directive should always have a position of \"absolute\" or\n // \"relative\" so that the ripples inside are correctly positioned relatively to the container.\n .mat-ripple {\n overflow: hidden;\n\n // By default, every ripple container should have position: relative in favor of creating an\n // easy API for developers using the MatRipple directive.\n position: relative;\n\n // Promote containers that have ripples to a new layer. We want to target `:not(:empty)`,\n // because we don't want all ripple containers to have their own layer since they're used in a\n // lot of places and the layer is only relevant while animating. Note that ideally we'd use\n // the `contain` property here (see #13175), because `:empty` can be broken by having extra\n // text inside the element, but it isn't very well supported yet.\n &:not(:empty) {\n transform: translateZ(0);\n }\n }\n\n .mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n }\n\n .mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale(0);\n\n // In high contrast mode the ripple is opaque, causing it to obstruct the content.\n @include cdk-high-contrast(active, off) {\n display: none;\n }\n }\n}\n\n/* Colors for the ripple elements.*/\n@mixin mat-ripple-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $foreground-base: map-get($foreground, base);\n\n .mat-ripple-element {\n // If the ripple color is resolves to a color *type*, we can use it directly, otherwise\n // (e.g. it resolves to a CSS variable) we fall back to using the color and setting an opacity.\n @if (type-of($foreground-base) == color) {\n background-color: rgba($foreground-base, $mat-ripple-color-opacity);\n }\n @else {\n background-color: $foreground-base;\n opacity: $mat-ripple-color-opacity;\n }\n }\n}\n\n@mixin mat-ripple-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-ripple') {\n $color: mat-get-color-config($theme);\n @if $color != null {\n @include mat-ripple-color($color);\n }\n }\n}\n\n\n\n// This mixin ensures an element spans to fill the nearest ancestor with defined positioning.\n@mixin mat-fill {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n}\n\n\n/// Mixin that turns on strong focus indicators.\n///\n/// @example\n/// .my-app {\n/// @include mat-strong-focus-indicators($config);\n/// }\n@mixin mat-strong-focus-indicators($config: ()) {\n // Default focus indicator config.\n $default-config: (\n border-style: solid,\n border-width: 3px,\n border-radius: 4px,\n );\n\n // Merge default config with user config.\n $config: map-merge($default-config, $config);\n $border-style: map-get($config, border-style);\n $border-width: map-get($config, border-width);\n $border-radius: map-get($config, border-radius);\n\n // Base styles for focus indicators.\n .mat-focus-indicator::before {\n @include mat-fill();\n box-sizing: border-box;\n pointer-events: none;\n border: $border-width $border-style transparent;\n border-radius: $border-radius;\n }\n\n // By default, all focus indicators are flush with the bounding box of their\n // host element. For particular elements (listed below), default inset/offset\n // values are necessary to ensure that the focus indicator is sufficiently\n // contrastive and renders appropriately.\n\n .mat-focus-indicator.mat-flat-button::before,\n .mat-focus-indicator.mat-raised-button::before,\n .mat-focus-indicator.mat-fab::before,\n .mat-focus-indicator.mat-mini-fab::before,\n .mat-focus-indicator.mat-chip::before,\n .mat-focus-indicator.mat-sort-header-container::before {\n margin: -($border-width + 2px);\n }\n\n .mat-focus-indicator.mat-stroked-button::before,\n .mat-focus-indicator.mat-calendar-body-cell-content::before {\n margin: -($border-width + 3px);\n }\n\n .mat-focus-indicator.mat-tab-link::before,\n .mat-focus-indicator.mat-tab-label::before {\n margin: 5px;\n }\n\n // Render the focus indicator on focus. Defining a pseudo element's\n // content will cause it to render.\n\n // Checkboxes, radios, and slide toggles render focus indicators when the\n // associated visually-hidden input is focused.\n .mat-checkbox-input:focus ~ .mat-focus-indicator::before,\n .mat-radio-input:focus ~ .mat-focus-indicator::before,\n .mat-slide-toggle-input:focus ~ .mat-slide-toggle-thumb-container .mat-focus-indicator::before,\n\n // For options, render the focus indicator when the class .mat-active\n // is present.\n .mat-focus-indicator.mat-option.mat-active::before,\n\n // For calendar cells, render the focus indicator when the parent cell is\n // focused.\n .mat-calendar-body-cell:focus .mat-focus-indicator::before,\n\n // For all other components, render the focus indicator on focus.\n .mat-focus-indicator:focus::before {\n content: '';\n }\n}\n\n// Mixin that applies the border color for the focus indicators.\n@mixin _mat-strong-focus-indicators-border-color($color) {\n .mat-focus-indicator::before {\n border-color: $color;\n }\n}\n\n@mixin mat-strong-focus-indicators-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n @include _mat-strong-focus-indicators-border-color(mat-color(map-get($config, primary)));\n}\n\n/// Mixin that sets the color of the focus indicators.\n///\n/// @param {color|map} $theme-or-color\n/// If theme, focus indicators are set to the primary color of the theme. If\n/// color, focus indicators are set to that color.\n///\n/// @example\n/// .demo-dark-theme {\n/// @include mat-strong-focus-indicators-theme($dark-theme-map);\n/// }\n///\n/// @example\n/// .demo-red-theme {\n/// @include mat-strong-focus-indicators-theme(#f00);\n/// }\n/* stylelint-disable-next-line material/theme-mixin-api */\n@mixin mat-strong-focus-indicators-theme($theme-or-color) {\n @if type-of($theme-or-color) != 'map' {\n @include _mat-strong-focus-indicators-border-color($theme-or-color);\n }\n @else {\n $theme: _mat-legacy-get-theme($theme-or-color);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-strong-focus-indicators') {\n $color: mat-get-color-config($theme);\n @if $color != null {\n @include mat-strong-focus-indicators-color($color);\n }\n }\n }\n}\n\n// Mixin that ensures focus indicator host elements are positioned so that the focus indicator\n// pseudo element within is positioned relative to the host. Private mixin included within\n// `mat-core`.\n@mixin _mat-strong-focus-indicators-positioning() {\n .mat-focus-indicator {\n position: relative;\n }\n}\n\n\n\n\n// Utility for fetching a nested value from a typography config.\n@function _mat-get-type-value($config, $level, $name) {\n @return map-get(map-get($config, $level), $name);\n}\n\n// Gets the font size for a level inside a typography config.\n@function mat-font-size($config, $level) {\n @return _mat-get-type-value($config, $level, font-size);\n}\n\n// Gets the line height for a level inside a typography config.\n@function mat-line-height($config, $level) {\n @return _mat-get-type-value($config, $level, line-height);\n}\n\n// Gets the font weight for a level inside a typography config.\n@function mat-font-weight($config, $level) {\n @return _mat-get-type-value($config, $level, font-weight);\n}\n\n// Gets the letter spacing for a level inside a typography config.\n@function mat-letter-spacing($config, $level) {\n @return _mat-get-type-value($config, $level, letter-spacing);\n}\n\n// Gets the font-family from a typography config and removes the quotes around it.\n@function mat-font-family($config, $level: null) {\n $font-family: map-get($config, font-family);\n\n @if $level != null {\n $font-family: _mat-get-type-value($config, $level, font-family);\n }\n\n // Guard against unquoting non-string values, because it's deprecated.\n @return if(type-of($font-family) == string, unquote($font-family), $font-family);\n}\n\n// Outputs the shorthand `font` CSS property, based on a set of typography values. Falls back to\n// the individual properties if a value that isn't allowed in the shorthand is passed in.\n@mixin mat-typography-font-shorthand($font-size, $font-weight, $line-height, $font-family) {\n // If any of the values are set to `inherit`, we can't use the shorthand\n // so we fall back to passing in the individual properties.\n @if ($font-size == inherit or\n $font-weight == inherit or\n $line-height == inherit or\n $font-family == inherit or\n $font-size == null or\n $font-weight == null or\n $line-height == null or\n $font-family == null) {\n\n font-size: $font-size;\n font-weight: $font-weight;\n line-height: $line-height;\n font-family: $font-family;\n }\n @else {\n // Otherwise use the shorthand `font`, because it's the least amount of bytes. Note\n // that we need to use interpolation for `font-size/line-height` in order to prevent\n // Sass from dividing the two values.\n font: $font-weight #{$font-size}/#{$line-height} $font-family;\n }\n}\n\n// Converts a typography level into CSS styles.\n@mixin mat-typography-level-to-styles($config, $level) {\n $font-size: mat-font-size($config, $level);\n $font-weight: mat-font-weight($config, $level);\n $line-height: mat-line-height($config, $level);\n $font-family: mat-font-family($config, $level);\n\n @include mat-typography-font-shorthand($font-size, $font-weight, $line-height, $font-family);\n letter-spacing: mat-letter-spacing($config, $level);\n}\n\n\n@mixin mat-option-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n\n .mat-option {\n color: mat-color($foreground, text);\n\n &:hover:not(.mat-option-disabled),\n &:focus:not(.mat-option-disabled) {\n background: mat-color($background, hover);\n }\n\n // In multiple mode there is a checkbox to show that the option is selected.\n &.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n background: mat-color($background, hover);\n }\n\n &.mat-active {\n background: mat-color($background, hover);\n color: mat-color($foreground, text);\n }\n\n &.mat-option-disabled {\n color: mat-color($foreground, hint-text);\n }\n }\n\n .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n color: mat-color($primary, text);\n }\n\n .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n color: mat-color($accent, text);\n }\n\n .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n color: mat-color($warn, text);\n }\n}\n\n@mixin mat-option-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-option {\n font: {\n family: mat-font-family($config);\n size: mat-font-size($config, subheading-2);\n }\n }\n}\n\n@mixin _mat-option-density($config-or-theme) {}\n\n@mixin mat-option-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-option') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-option-color($color);\n }\n @if $density != null {\n @include _mat-option-density($density);\n }\n @if $typography != null {\n @include mat-option-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin mat-optgroup-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n\n .mat-optgroup-label {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-optgroup-disabled .mat-optgroup-label {\n color: mat-color($foreground, hint-text);\n }\n}\n\n@mixin mat-optgroup-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-optgroup-label {\n @include mat-typography-level-to-styles($config, body-2);\n }\n}\n\n@mixin _mat-optgroup-density($config-or-theme) {}\n\n@mixin mat-optgroup-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-optgroup') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-optgroup-color($color);\n }\n @if $density != null {\n @include _mat-optgroup-density($density);\n }\n @if $typography != null {\n @include mat-optgroup-typography($typography);\n }\n }\n}\n\n\n\n\n@mixin mat-pseudo-checkbox-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $is-dark-theme: map-get($config, is-dark);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n\n // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,\n // this does not work well with elements layered on top of one another. To get around this we\n // blend the colors together based on the base color and the theme background.\n $white-30pct-opacity-on-dark: #686868;\n $black-26pct-opacity-on-light: #b0b0b0;\n $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);\n $colored-box-selector: '.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate';\n\n .mat-pseudo-checkbox {\n color: mat-color(map-get($config, foreground), secondary-text);\n\n &::after {\n color: mat-color($background, background);\n }\n }\n\n .mat-pseudo-checkbox-disabled {\n color: $disabled-color;\n }\n\n .mat-primary .mat-pseudo-checkbox-checked,\n .mat-primary .mat-pseudo-checkbox-indeterminate {\n background: mat-color(map-get($config, primary));\n }\n\n // Default to the accent color. Note that the pseudo checkboxes are meant to inherit the\n // theme from their parent, rather than implementing their own theming, which is why we\n // don't attach to the `mat-*` classes. Also note that this needs to be below `.mat-primary`\n // in order to allow for the color to be overwritten if the checkbox is inside a parent that\n // has `mat-accent` and is placed inside another parent that has `mat-primary`.\n .mat-pseudo-checkbox-checked,\n .mat-pseudo-checkbox-indeterminate,\n .mat-accent .mat-pseudo-checkbox-checked,\n .mat-accent .mat-pseudo-checkbox-indeterminate {\n background: mat-color(map-get($config, accent));\n }\n\n .mat-warn .mat-pseudo-checkbox-checked,\n .mat-warn .mat-pseudo-checkbox-indeterminate {\n background: mat-color(map-get($config, warn));\n }\n\n .mat-pseudo-checkbox-checked,\n .mat-pseudo-checkbox-indeterminate {\n &.mat-pseudo-checkbox-disabled {\n background: $disabled-color;\n }\n }\n}\n\n@mixin mat-pseudo-checkbox-typography($config-or-theme) {}\n\n@mixin _mat-pseudo-checkbox-density($config-or-theme) {}\n\n@mixin mat-pseudo-checkbox-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-pseudo-checkbox') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-pseudo-checkbox-color($color);\n }\n @if $density != null {\n @include _mat-pseudo-checkbox-density($density);\n }\n @if $typography != null {\n @include mat-pseudo-checkbox-typography($typography);\n }\n }\n}\n\n\n\n// Represents a typography level from the Material design spec.\n@function mat-typography-level(\n $font-size,\n $line-height: $font-size,\n $font-weight: 400,\n $font-family: null,\n $letter-spacing: normal) {\n\n @return (\n font-size: $font-size,\n line-height: $line-height,\n font-weight: $font-weight,\n font-family: $font-family,\n letter-spacing: $letter-spacing\n );\n}\n\n// Represents a collection of typography levels.\n// Defaults come from https://material.io/guidelines/style/typography.html\n// Note: The spec doesn't mention letter spacing. The values here come from\n// eyeballing it until it looked exactly like the spec examples.\n@function mat-typography-config(\n $font-family: 'Roboto, \"Helvetica Neue\", sans-serif',\n $display-4: mat-typography-level(112px, 112px, 300, $letter-spacing: -0.05em),\n $display-3: mat-typography-level(56px, 56px, 400, $letter-spacing: -0.02em),\n $display-2: mat-typography-level(45px, 48px, 400, $letter-spacing: -0.005em),\n $display-1: mat-typography-level(34px, 40px, 400),\n $headline: mat-typography-level(24px, 32px, 400),\n $title: mat-typography-level(20px, 32px, 500),\n $subheading-2: mat-typography-level(16px, 28px, 400),\n $subheading-1: mat-typography-level(15px, 24px, 400),\n $body-2: mat-typography-level(14px, 24px, 500),\n $body-1: mat-typography-level(14px, 20px, 400),\n $caption: mat-typography-level(12px, 20px, 400),\n $button: mat-typography-level(14px, 14px, 500),\n // Line-height must be unit-less fraction of the font-size.\n $input: mat-typography-level(inherit, 1.125, 400)\n) {\n\n // Declare an initial map with all of the levels.\n $config: (\n display-4: $display-4,\n display-3: $display-3,\n display-2: $display-2,\n display-1: $display-1,\n headline: $headline,\n title: $title,\n subheading-2: $subheading-2,\n subheading-1: $subheading-1,\n body-2: $body-2,\n body-1: $body-1,\n caption: $caption,\n button: $button,\n input: $input,\n );\n\n // Loop through the levels and set the `font-family` of the ones that don't have one to the base.\n // Note that Sass can't modify maps in place, which means that we need to merge and re-assign.\n @each $key, $level in $config {\n @if map-get($level, font-family) == null {\n $new-level: map-merge($level, (font-family: $font-family));\n $config: map-merge($config, ($key: $new-level));\n }\n }\n\n // Add the base font family to the config.\n @return map-merge($config, (font-family: $font-family));\n}\n\n// Whether a config is for the Material Design 2018 typography system.\n@function mat-private-typography-is-2018-config($config) {\n @return map-get($config, headline-1) != null;\n}\n\n// Given a config for either the 2014 or 2018 Material Design typography system,\n// produces a normalized typography config for the 2014 Material Design typography system.\n// 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles\n// 2018 - https://material.io/design/typography/the-type-system.html#type-scale\n@function mat-private-typography-normalized-config($config) {\n @if mat-private-typography-is-2018-config($config) {\n @return mat-typography-config(\n $display-3: map-get($config, display-1),\n $display-2: map-get($config, display-2),\n $display-1: map-get($config, display-3),\n $headline: map-get($config, headline-4),\n $title: map-get($config, subtitle-1),\n $subheading-2: map-get($config, subhead-1),\n $subheading-1: map-get($config, subhead-2),\n $body-2: map-get($config, body-1),\n $body-1: map-get($config, body-2),\n $caption: map-get($config, caption),\n $button: map-get($config, button),\n );\n }\n @return $config;\n}\n\n// Adds the base typography styles, based on a config.\n/* stylelint-disable-next-line material/theme-mixin-api */\n@mixin mat-base-typography($config, $selector: '.mat-typography') {\n .mat-h1, .mat-headline, #{$selector} h1 {\n @include mat-typography-level-to-styles($config, headline);\n margin: 0 0 16px;\n }\n\n .mat-h2, .mat-title, #{$selector} h2 {\n @include mat-typography-level-to-styles($config, title);\n margin: 0 0 16px;\n }\n\n .mat-h3, .mat-subheading-2, #{$selector} h3 {\n @include mat-typography-level-to-styles($config, subheading-2);\n margin: 0 0 16px;\n }\n\n .mat-h4, .mat-subheading-1, #{$selector} h4 {\n @include mat-typography-level-to-styles($config, subheading-1);\n margin: 0 0 16px;\n }\n\n // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for\n // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em\n // and h6 at 0.67em.\n .mat-h5, #{$selector} h5 {\n @include mat-typography-font-shorthand(\n // calc is used here to support css variables\n calc(#{mat-font-size($config, body-1)} * 0.83),\n mat-font-weight($config, body-1),\n mat-line-height($config, body-1),\n mat-font-family($config, body-1)\n );\n\n margin: 0 0 12px;\n }\n\n .mat-h6, #{$selector} h6 {\n @include mat-typography-font-shorthand(\n // calc is used here to support css variables\n calc(#{mat-font-size($config, body-1)} * 0.67),\n mat-font-weight($config, body-1),\n mat-line-height($config, body-1),\n mat-font-family($config, body-1)\n );\n\n margin: 0 0 12px;\n }\n\n .mat-body-strong, .mat-body-2 {\n @include mat-typography-level-to-styles($config, body-2);\n }\n\n .mat-body, .mat-body-1, #{$selector} {\n @include mat-typography-level-to-styles($config, body-1);\n\n p {\n margin: 0 0 12px;\n }\n }\n\n .mat-small, .mat-caption {\n @include mat-typography-level-to-styles($config, caption);\n }\n\n .mat-display-4, #{$selector} .mat-display-4 {\n @include mat-typography-level-to-styles($config, display-4);\n margin: 0 0 56px;\n }\n\n .mat-display-3, #{$selector} .mat-display-3 {\n @include mat-typography-level-to-styles($config, display-3);\n margin: 0 0 64px;\n }\n\n .mat-display-2, #{$selector} .mat-display-2 {\n @include mat-typography-level-to-styles($config, display-2);\n margin: 0 0 64px;\n }\n\n .mat-display-1, #{$selector} .mat-display-1 {\n @include mat-typography-level-to-styles($config, display-1);\n margin: 0 0 64px;\n }\n}\n\n\n\n\n\n@mixin mat-autocomplete-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n\n .mat-autocomplete-panel {\n @include _mat-theme-overridable-elevation(4, $config);\n background: mat-color($background, card);\n color: mat-color($foreground, text);\n\n // Selected options in autocompletes should not be gray, but we\n // only want to override the background for selected options if\n // they are *not* in hover or focus state. This change has to be\n // made here because base option styles are shared between the\n // autocomplete and the select.\n .mat-option.mat-selected:not(.mat-active):not(:hover) {\n background: mat-color($background, card);\n\n &:not(.mat-option-disabled) {\n color: mat-color($foreground, text);\n }\n }\n }\n}\n\n@mixin mat-autocomplete-typography($config-or-theme) {}\n\n@mixin _mat-autocomplete-density($config-or-theme) {}\n\n@mixin mat-autocomplete-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-autocomplete') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-autocomplete-color($color);\n }\n @if $density != null {\n @include _mat-autocomplete-density($density);\n }\n @if $typography != null {\n @include mat-autocomplete-typography($typography);\n }\n }\n}\n\n// This contains all of the styles for the badge\n// rather than just the color/theme because of\n// no style sheet support for directives.\n\n\n\n\n\n\n$mat-badge-font-size: 12px;\n$mat-badge-font-weight: 600;\n$mat-badge-default-size: 22px !default;\n$mat-badge-small-size: $mat-badge-default-size - 6;\n$mat-badge-large-size: $mat-badge-default-size + 6;\n\n// Mixin for building offset given different sizes\n@mixin _mat-badge-size($size) {\n .mat-badge-content {\n width: $size;\n height: $size;\n line-height: $size;\n }\n\n &.mat-badge-above {\n .mat-badge-content {\n top: -$size / 2;\n }\n }\n\n &.mat-badge-below {\n .mat-badge-content {\n bottom: -$size / 2;\n }\n }\n\n &.mat-badge-before {\n .mat-badge-content {\n left: -$size;\n }\n }\n\n [dir='rtl'] &.mat-badge-before {\n .mat-badge-content {\n left: auto;\n right: -$size;\n }\n }\n\n &.mat-badge-after {\n .mat-badge-content {\n right: -$size;\n }\n }\n\n [dir='rtl'] &.mat-badge-after {\n .mat-badge-content {\n right: auto;\n left: -$size;\n }\n }\n\n &.mat-badge-overlap {\n &.mat-badge-before {\n .mat-badge-content {\n left: -$size / 2;\n }\n }\n\n [dir='rtl'] &.mat-badge-before {\n .mat-badge-content {\n left: auto;\n right: -$size / 2;\n }\n }\n\n &.mat-badge-after {\n .mat-badge-content {\n right: -$size / 2;\n }\n }\n\n [dir='rtl'] &.mat-badge-after {\n .mat-badge-content {\n right: auto;\n left: -$size / 2;\n }\n }\n }\n}\n\n@mixin mat-badge-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $primary: map-get($config, primary);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-badge-content {\n color: mat-color($primary, default-contrast);\n background: mat-color($primary);\n\n @include cdk-high-contrast(active, off) {\n outline: solid 1px;\n border-radius: 0;\n }\n }\n\n .mat-badge-accent {\n .mat-badge-content {\n background: mat-color($accent);\n color: mat-color($accent, default-contrast);\n }\n }\n\n .mat-badge-warn {\n .mat-badge-content {\n color: mat-color($warn, default-contrast);\n background: mat-color($warn);\n }\n }\n\n .mat-badge {\n position: relative;\n }\n\n .mat-badge-hidden {\n .mat-badge-content {\n display: none;\n }\n }\n\n .mat-badge-disabled {\n .mat-badge-content {\n $app-background: mat-color($background, 'background');\n $badge-color: mat-color($foreground, disabled-button);\n\n // The disabled color usually has some kind of opacity, but because the badge is overlayed\n // on top of something else, it won't look good if it's opaque. If it is a color *type*,\n // we convert it into a solid color by taking the opacity from the rgba value and using\n // the value to determine the percentage of the background to put into foreground when\n // mixing the colors together.\n @if (type-of($badge-color) == color and type-of($app-background) == color) {\n $badge-opacity: opacity($badge-color);\n background: mix($app-background, rgba($badge-color, 1), (1 - $badge-opacity) * 100%);\n }\n @else {\n background: $badge-color;\n }\n\n color: mat-color($foreground, disabled-text);\n }\n }\n\n .mat-badge-content {\n position: absolute;\n text-align: center;\n display: inline-block;\n border-radius: 50%;\n transition: transform 200ms ease-in-out;\n transform: scale(0.6);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none;\n }\n\n .ng-animate-disabled .mat-badge-content,\n .mat-badge-content._mat-animation-noopable {\n transition: none;\n }\n\n // The active class is added after the element is added\n // so it can animate scale to default\n .mat-badge-content.mat-badge-active {\n // Scale to `none` instead of `1` to avoid blurry text in some browsers.\n transform: none;\n }\n\n .mat-badge-small {\n @include _mat-badge-size($mat-badge-small-size);\n }\n .mat-badge-medium {\n @include _mat-badge-size($mat-badge-default-size);\n }\n .mat-badge-large {\n @include _mat-badge-size($mat-badge-large-size);\n }\n}\n\n@mixin mat-badge-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-badge-content {\n font-weight: $mat-badge-font-weight;\n font-size: $mat-badge-font-size;\n font-family: mat-font-family($config);\n }\n\n .mat-badge-small .mat-badge-content {\n // Set the font size to 75% of the original.\n font-size: $mat-badge-font-size * 0.75;\n }\n\n .mat-badge-large .mat-badge-content {\n font-size: $mat-badge-font-size * 2;\n }\n}\n\n@mixin _mat-badge-density($config-or-theme) {}\n\n@mixin mat-badge-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-badge') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-badge-color($color);\n }\n @if $density != null {\n @include _mat-badge-density($density);\n }\n @if $typography != null {\n @include mat-badge-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n@mixin mat-bottom-sheet-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-bottom-sheet-container {\n @include _mat-theme-elevation(16, $config);\n background: mat-color($background, dialog);\n color: mat-color($foreground, text);\n }\n}\n\n@mixin mat-bottom-sheet-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-bottom-sheet-container {\n @include mat-typography-level-to-styles($config, body-1);\n }\n}\n\n@mixin _mat-bottom-sheet-density($config-or-theme) {}\n\n@mixin mat-bottom-sheet-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-bottom-sheet') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-bottom-sheet-color($color);\n }\n @if $density != null {\n @include _mat-bottom-sheet-density($density);\n }\n @if $typography != null {\n @include mat-bottom-sheet-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n$_mat-button-ripple-opacity: 0.1;\n\n// Applies a focus style to an mat-button element for each of the supported palettes.\n@mixin _mat-button-focus-overlay-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n\n &.mat-primary .mat-button-focus-overlay {\n background-color: mat-color($primary);\n }\n\n &.mat-accent .mat-button-focus-overlay {\n background-color: mat-color($accent);\n }\n\n &.mat-warn .mat-button-focus-overlay {\n background-color: mat-color($warn);\n }\n\n &.mat-button-disabled .mat-button-focus-overlay {\n background-color: transparent;\n }\n}\n\n// Applies the background color for a ripple. If the value provided is not a Sass color,\n// we assume that we've been given a CSS variable. Since we can't perform alpha-blending\n// on a CSS variable, we instead add the opacity directly to the ripple element.\n@mixin _mat-button-ripple-background($palette, $hue, $opacity) {\n $background-color: mat-color($palette, $hue, $opacity);\n background-color: $background-color;\n @if (type-of($background-color) != color) {\n opacity: $opacity;\n }\n}\n\n@mixin _mat-button-ripple-color($theme, $hue, $opacity: $_mat-button-ripple-opacity) {\n $primary: map-get($theme, primary);\n $accent: map-get($theme, accent);\n $warn: map-get($theme, warn);\n\n &.mat-primary .mat-ripple-element {\n @include _mat-button-ripple-background($primary, $hue, $opacity);\n }\n\n &.mat-accent .mat-ripple-element {\n @include _mat-button-ripple-background($accent, $hue, $opacity);\n }\n\n &.mat-warn .mat-ripple-element {\n @include _mat-button-ripple-background($warn, $hue, $opacity);\n }\n}\n\n// Applies a property to an mat-button element for each of the supported palettes.\n@mixin _mat-button-theme-property($theme, $property, $hue) {\n $primary: map-get($theme, primary);\n $accent: map-get($theme, accent);\n $warn: map-get($theme, warn);\n $background: map-get($theme, background);\n $foreground: map-get($theme, foreground);\n\n &.mat-primary {\n #{$property}: mat-color($primary, $hue);\n }\n &.mat-accent {\n #{$property}: mat-color($accent, $hue);\n }\n &.mat-warn {\n #{$property}: mat-color($warn, $hue);\n }\n\n &.mat-primary, &.mat-accent, &.mat-warn, &.mat-button-disabled {\n &.mat-button-disabled {\n $palette: if($property == 'color', $foreground, $background);\n #{$property}: mat-color($palette, disabled-button);\n }\n }\n}\n\n@mixin mat-button-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-button, .mat-icon-button, .mat-stroked-button {\n // Buttons without a background color should inherit the font color. This is necessary to\n // ensure that the button is readable on custom background colors. It's wrong to always assume\n // that those buttons are always placed inside of containers with the default background\n // color of the theme (e.g. themed toolbars).\n color: inherit;\n background: transparent;\n\n @include _mat-button-theme-property($config, 'color', text);\n @include _mat-button-focus-overlay-color($config);\n\n // Setup the ripple color to be based on the text color. This ensures that the ripples\n // are matching with the current theme palette and are in contrast to the background color\n // (e.g in themed toolbars).\n .mat-ripple-element {\n opacity: $_mat-button-ripple-opacity;\n background-color: currentColor;\n }\n }\n\n .mat-button-focus-overlay {\n background: map-get($foreground, base);\n }\n\n // Note: this needs a bit extra specificity, because we're not guaranteed the inclusion\n // order of the theme styles and the button reset may end up resetting this as well.\n .mat-stroked-button:not(.mat-button-disabled) {\n border-color: mat-color($foreground, divider);\n }\n\n .mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\n // Default font and background color when not using any color palette.\n color: mat-color($foreground, text);\n background-color: mat-color($background, raised-button);\n\n @include _mat-button-theme-property($config, 'color', default-contrast);\n @include _mat-button-theme-property($config, 'background-color', default);\n @include _mat-button-ripple-color($config, default-contrast);\n }\n\n .mat-stroked-button, .mat-flat-button {\n @include _mat-theme-overridable-elevation(0, $config);\n }\n\n .mat-raised-button {\n @include _mat-theme-overridable-elevation(2, $config);\n\n &:not(.mat-button-disabled):active {\n @include _mat-theme-overridable-elevation(8, $config);\n }\n\n &.mat-button-disabled {\n @include _mat-theme-overridable-elevation(0, $config);\n }\n }\n\n .mat-fab, .mat-mini-fab {\n @include _mat-theme-overridable-elevation(6, $config);\n\n &:not(.mat-button-disabled):active {\n @include _mat-theme-overridable-elevation(12, $config);\n }\n\n &.mat-button-disabled {\n @include _mat-theme-overridable-elevation(0, $config);\n }\n }\n}\n\n@mixin mat-button-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\n .mat-flat-button, .mat-fab, .mat-mini-fab {\n font: {\n family: mat-font-family($config, button);\n size: mat-font-size($config, button);\n weight: mat-font-weight($config, button);\n }\n }\n}\n\n@mixin _mat-button-density($config-or-theme) {}\n\n@mixin mat-button-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-button') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-button-color($color);\n }\n @if $density != null {\n @include _mat-button-density($density);\n }\n @if $typography != null {\n @include mat-button-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n// Taken from mat-density with small modifications to not rely on the new Sass module\n// system, and to support arbitrary properties in a density configuration.\n// https://github.com/material-components/material-components-web/blob/master/packages/mdc-density\n\n$_mat-density-interval: 4px !default;\n$_mat-density-minimum-scale: minimum !default;\n$_mat-density-maximum-scale: maximum !default;\n$_mat-density-supported-scales: (default, minimum, maximum) !default;\n$_mat-density-default-scale: 0 !default;\n\n// Whether density should be generated at root. This will be temporarily set to `true`\n// whenever density styles for legacy themes are generated.\n$_mat-density-generate-at-root: false;\n// Whether density styles should be generated. This will be temporarily set to `false` if\n// duplicate density styles for a legacy theme would be generated. For legacy themes,\n// we always generate the default density **only once** at root.\n$_mat-density-generate-styles: true;\n\n// Mixin that can be used to wrap density styles of given components. The mixin will\n// move the density styles to root if the `$_mat-density-generate-at-root` global variable\n// is set. If `$_mat-density-generate-styles` is set to `false`, generation of density\n// styles wrapped in this mixin is skipped. This mixin exists to improve backwards compatibility\n// of the new theming API where density styles are included as part of themes. Previously,\n// density styles of components were part of their base styles. With the new API, they are\n// part of the theming system. The `<..>-theme` mixins generate density by default unless\n// the density configuration is explicitly specified as per new API. This means, that projects\n// using `<..>-theme` mixins for separate themes (like `.dark-theme`) will cause duplicate\n// density styles. This is breaking as it increases specificity of density styles. This mixin\n// provides an API to control generation of density styles so that we can ensure they are only\n// created *once* and at root.\n@mixin _mat-density-legacy-compatibility() {\n @if $_mat-density-generate-styles and $_mat-density-generate-at-root {\n @at-root {\n @content;\n }\n }\n @else if $_mat-density-generate-styles {\n @content;\n }\n}\n\n@function _mat-density-prop-value($density-config, $density-scale, $property-name) {\n @if (type-of($density-scale) == 'string' and\n index($list: $_mat-density-supported-scales, $value: $density-scale) == null) {\n @error 'mat-density: Supported density scales #{$_mat-density-supported-scales}, ' +\n 'but received #{$density-scale}.';\n }\n\n $value: null;\n $property-scale-map: map-get($density-config, $property-name);\n\n @if map-has-key($property-scale-map, $density-scale) {\n $value: map-get($property-scale-map, $density-scale);\n }\n @else {\n $value: map-get($property-scale-map, default) + $density-scale * $_mat-density-interval;\n }\n\n $min-value: map-get($property-scale-map, $_mat-density-minimum-scale);\n $max-value: map-get($property-scale-map, $_mat-density-maximum-scale);\n\n @if ($value < $min-value or $value > $max-value) {\n @error 'mat-density: #{$property-name} must be between #{$min-value} and ' +\n '#{$max-value} (inclusive), but received #{$value}.';\n }\n\n @return $value;\n}\n\n$mat-button-toggle-standard-height: 48px !default;\n// Minimum height for highest density can vary based on the content that developers\n// project into button-toggle's. We use a minimum of `24px` though because commonly\n// icons or text are displayed. Icons by default have a size of `24px`.\n$mat-button-toggle-standard-minimum-height: 24px !default;\n$mat-button-toggle-standard-maximum-height: $mat-button-toggle-standard-height !default;\n\n$mat-button-toggle-standard-density-config: (\n height: (\n default: $mat-button-toggle-standard-height,\n maximum: $mat-button-toggle-standard-maximum-height,\n minimum: $mat-button-toggle-standard-minimum-height,\n )\n) !default;\n\n\n@mixin mat-button-toggle-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n $divider-color: mat-color($foreground, divider);\n\n .mat-button-toggle-standalone,\n .mat-button-toggle-group {\n @include _mat-theme-elevation(2, $config);\n }\n\n .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n .mat-button-toggle-group-appearance-standard {\n box-shadow: none;\n }\n\n .mat-button-toggle {\n color: mat-color($foreground, hint-text);\n\n .mat-button-toggle-focus-overlay {\n background-color: mat-color($background, focused-button);\n }\n }\n\n .mat-button-toggle-appearance-standard {\n color: mat-color($foreground, text);\n background: mat-color($background, card);\n\n .mat-button-toggle-focus-overlay {\n background-color: mat-color($background, focused-button, 1);\n }\n }\n\n .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: solid 1px $divider-color;\n }\n\n [dir='rtl'] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: solid 1px $divider-color;\n }\n\n .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical {\n .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: none;\n border-top: solid 1px $divider-color;\n }\n }\n\n .mat-button-toggle-checked {\n background-color: mat-color($background, selected-button);\n color: mat-color($foreground, secondary-text);\n\n &.mat-button-toggle-appearance-standard {\n color: mat-color($foreground, text);\n }\n }\n\n .mat-button-toggle-disabled {\n color: mat-color($foreground, disabled-button);\n background-color: mat-color($background, disabled-button-toggle);\n\n &.mat-button-toggle-appearance-standard {\n background: mat-color($background, card);\n }\n\n &.mat-button-toggle-checked {\n background-color: mat-color($background, selected-disabled-button);\n }\n }\n\n .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n .mat-button-toggle-group-appearance-standard {\n border: solid 1px $divider-color;\n }\n}\n\n@mixin mat-button-toggle-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-button-toggle {\n font-family: mat-font-family($config);\n }\n}\n\n@mixin _mat-button-toggle-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n $standard-height: _mat-density-prop-value(\n $mat-button-toggle-standard-density-config, $density-scale, height);\n\n @include _mat-density-legacy-compatibility() {\n .mat-button-toggle-appearance-standard .mat-button-toggle-label-content {\n line-height: $standard-height;\n }\n }\n}\n\n@mixin mat-button-toggle-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-button-toggle') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-button-toggle-color($color);\n }\n @if $density != null {\n @include _mat-button-toggle-density($density);\n }\n @if $typography != null {\n @include mat-button-toggle-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n@mixin mat-card-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-card {\n @include _mat-theme-overridable-elevation(1, $config);\n background: mat-color($background, card);\n color: mat-color($foreground, text);\n\n // Needs extra specificity to be able to override the elevation selectors.\n &.mat-card-flat {\n @include _mat-theme-overridable-elevation(0, $config);\n }\n }\n\n .mat-card-subtitle {\n color: mat-color($foreground, secondary-text);\n }\n}\n\n@mixin mat-card-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-card {\n font-family: mat-font-family($config);\n }\n\n .mat-card-title {\n font: {\n size: mat-font-size($config, headline);\n weight: mat-font-weight($config, title);\n }\n }\n\n .mat-card-header .mat-card-title {\n font-size: mat-font-size($config, title);\n }\n\n .mat-card-subtitle,\n .mat-card-content {\n font-size: mat-font-size($config, body-1);\n }\n}\n\n@mixin _mat-card-density($config-or-theme) {}\n\n@mixin mat-card-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-card') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-card-color($color);\n }\n @if $density != null {\n @include _mat-card-density($density);\n }\n @if $typography != null {\n @include mat-card-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin mat-checkbox-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $is-dark-theme: map-get($config, is-dark);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n\n // The color of the checkbox's checkmark / mixedmark.\n $checkbox-mark-color: mat-color($background, background);\n\n // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,\n // this does not work well with elements layered on top of one another. To get around this we\n // blend the colors together based on the base color and the theme background.\n $white-30pct-opacity-on-dark: #686868;\n $black-26pct-opacity-on-light: #b0b0b0;\n $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);\n\n .mat-checkbox-frame {\n border-color: mat-color($foreground, secondary-text);\n }\n\n .mat-checkbox-checkmark {\n fill: $checkbox-mark-color;\n }\n\n .mat-checkbox-checkmark-path {\n // !important is needed here because a stroke must be set as an\n // attribute on the SVG in order for line animation to work properly.\n stroke: $checkbox-mark-color !important;\n }\n\n .mat-checkbox-mixedmark {\n background-color: $checkbox-mark-color;\n }\n\n .mat-checkbox-indeterminate, .mat-checkbox-checked {\n &.mat-primary .mat-checkbox-background {\n background-color: mat-color($primary);\n }\n\n &.mat-accent .mat-checkbox-background {\n background-color: mat-color($accent);\n }\n\n &.mat-warn .mat-checkbox-background {\n background-color: mat-color($warn);\n }\n }\n\n .mat-checkbox-disabled {\n &.mat-checkbox-checked,\n &.mat-checkbox-indeterminate {\n .mat-checkbox-background {\n background-color: $disabled-color;\n }\n }\n\n &:not(.mat-checkbox-checked) {\n .mat-checkbox-frame {\n border-color: $disabled-color;\n }\n }\n\n .mat-checkbox-label {\n color: mat-color($foreground, secondary-text);\n }\n }\n\n // Switch this to a solid color since we're using `opacity`\n // to control how opaque the ripple should be.\n .mat-checkbox .mat-ripple-element {\n background-color: map-get(map-get($config, foreground), base);\n }\n\n .mat-checkbox-checked:not(.mat-checkbox-disabled),\n .mat-checkbox:active:not(.mat-checkbox-disabled) {\n &.mat-primary .mat-ripple-element {\n background: mat-color($primary);\n }\n\n &.mat-accent .mat-ripple-element {\n background: mat-color($accent);\n }\n\n &.mat-warn .mat-ripple-element {\n background: mat-color($warn);\n }\n }\n}\n\n@mixin mat-checkbox-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-checkbox {\n font-family: mat-font-family($config);\n }\n\n // TODO(kara): Remove this style when fixing vertical baseline\n .mat-checkbox-layout .mat-checkbox-label {\n line-height: mat-line-height($config, body-2);\n }\n}\n\n@mixin _mat-checkbox-density($config-or-theme) {}\n\n@mixin mat-checkbox-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-checkbox') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-checkbox-color($color);\n }\n @if $density != null {\n @include _mat-checkbox-density($density);\n }\n @if $typography != null {\n @include mat-checkbox-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n$mat-chip-remove-font-size: 18px;\n\n@mixin _mat-chip-element-color($foreground, $background) {\n background-color: $background;\n color: $foreground;\n\n .mat-chip-remove {\n color: $foreground;\n opacity: 0.4;\n }\n}\n\n\n// Applies the background color for a ripple element.\n// If the color value provided is not a Sass color,\n// we assume that we've been given a CSS variable.\n// Since we can't perform alpha-blending on a CSS variable,\n// we instead add the opacity directly to the ripple element.\n@mixin _mat-chips-ripple-background($palette, $default-contrast, $opacity) {\n $background-color: mat-color($palette, $default-contrast, $opacity);\n background-color: $background-color;\n @if (type-of($background-color) != color) {\n opacity: $opacity;\n }\n}\n\n@mixin _mat-chip-theme-color($palette) {\n @include _mat-chip-element-color(mat-color($palette, default-contrast), mat-color($palette));\n\n .mat-ripple-element {\n @include _mat-chips-ripple-background($palette, default-contrast, 0.1);\n }\n}\n\n@mixin mat-chips-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $is-dark-theme: map-get($config, is-dark);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n $unselected-background: mat-color($background, unselected-chip);\n $unselected-foreground: mat-color($foreground, text);\n\n .mat-chip.mat-standard-chip {\n @include _mat-chip-element-color($unselected-foreground, $unselected-background);\n\n &:not(.mat-chip-disabled) {\n &:active {\n @include _mat-theme-elevation(3, $config);\n }\n\n .mat-chip-remove:hover {\n opacity: 0.54;\n }\n }\n\n &.mat-chip-disabled {\n opacity: 0.4;\n }\n\n &::after {\n background: map-get($foreground, base);\n }\n }\n\n .mat-chip.mat-standard-chip.mat-chip-selected {\n &.mat-primary {\n @include _mat-chip-theme-color($primary);\n }\n\n &.mat-warn {\n @include _mat-chip-theme-color($warn);\n }\n\n &.mat-accent {\n @include _mat-chip-theme-color($accent);\n }\n }\n}\n\n@mixin mat-chips-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-chip {\n font-size: mat-font-size($config, body-2);\n font-weight: mat-font-weight($config, body-2);\n\n .mat-chip-trailing-icon.mat-icon,\n .mat-chip-remove.mat-icon {\n font-size: $mat-chip-remove-font-size;\n }\n }\n}\n\n@mixin _mat-chips-density($config-or-theme) {}\n\n@mixin mat-chips-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-chips') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-chips-color($color);\n }\n @if $density != null {\n @include _mat-chips-density($density);\n }\n @if $typography != null {\n @include mat-chips-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n@mixin mat-divider-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n\n .mat-divider {\n border-top-color: mat-color($foreground, divider);\n }\n\n .mat-divider-vertical {\n border-right-color: mat-color($foreground, divider);\n }\n}\n\n@mixin mat-divider-typography($config-or-theme) {}\n\n@mixin _mat-divider-density($config-or-theme) {}\n\n@mixin mat-divider-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-divider') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-divider-color($color);\n }\n @if $density != null {\n @include _mat-divider-density($density);\n }\n @if $typography != null {\n @include mat-divider-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin mat-table-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-table {\n background: mat-color($background, 'card');\n }\n\n .mat-table thead, .mat-table tbody, .mat-table tfoot,\n mat-header-row, mat-row, mat-footer-row,\n [mat-header-row], [mat-row], [mat-footer-row],\n .mat-table-sticky {\n background: inherit;\n }\n\n mat-row, mat-header-row, mat-footer-row,\n th.mat-header-cell, td.mat-cell, td.mat-footer-cell {\n border-bottom-color: mat-color($foreground, divider);\n }\n\n .mat-header-cell {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-cell, .mat-footer-cell {\n color: mat-color($foreground, text);\n }\n}\n\n@mixin mat-table-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-table {\n font-family: mat-font-family($config);\n }\n\n .mat-header-cell {\n font-size: mat-font-size($config, caption);\n font-weight: mat-font-weight($config, body-2);\n }\n\n .mat-cell, .mat-footer-cell {\n font-size: mat-font-size($config, body-1);\n }\n}\n\n@mixin _mat-table-density($config-or-theme) {}\n\n@mixin mat-table-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-table') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-table-color($color);\n }\n @if $density != null {\n @include _mat-table-density($density);\n }\n @if $typography != null {\n @include mat-table-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n$mat-datepicker-selected-today-box-shadow-width: 1px;\n$mat-datepicker-selected-fade-amount: 0.6;\n$mat-datepicker-range-fade-amount: 0.2;\n$mat-datepicker-today-fade-amount: 0.2;\n$mat-calendar-body-font-size: 13px !default;\n$mat-calendar-weekday-table-font-size: 11px !default;\n\n@mixin _mat-datepicker-color($palette) {\n @include mat-date-range-colors(\n mat-color($palette, default, $mat-datepicker-range-fade-amount));\n\n .mat-calendar-body-selected {\n background-color: mat-color($palette);\n color: mat-color($palette, default-contrast);\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-selected {\n $background: mat-color($palette);\n\n @if (type-of($background) == color) {\n background-color: fade-out($background, $mat-datepicker-selected-fade-amount);\n }\n @else {\n // If we couldn't resolve to background to a color (e.g. it's a CSS variable),\n // fall back to fading the content out via `opacity`.\n opacity: $mat-datepicker-today-fade-amount;\n }\n }\n\n .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 $mat-datepicker-selected-today-box-shadow-width\n mat-color($palette, default-contrast);\n }\n}\n\n// Utility mixin to target cells that aren't selected. Used to make selector easier to follow.\n@mixin _mat-datepicker-unselected-cell {\n &:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n @content;\n }\n}\n\n@mixin mat-datepicker-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n $disabled-color: mat-color($foreground, disabled-text);\n\n .mat-calendar-arrow {\n border-top-color: mat-color($foreground, icon);\n }\n\n // The prev/next buttons need a bit more specificity to\n // avoid being overwritten by the .mat-icon-button.\n .mat-datepicker-toggle,\n .mat-datepicker-content .mat-calendar-next-button,\n .mat-datepicker-content .mat-calendar-previous-button {\n color: mat-color($foreground, icon);\n }\n\n .mat-calendar-table-header {\n color: mat-color($foreground, hint-text);\n }\n\n .mat-calendar-table-header-divider::after {\n background: mat-color($foreground, divider);\n }\n\n .mat-calendar-body-label {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-calendar-body-cell-content,\n .mat-date-range-input-separator {\n color: mat-color($foreground, text);\n border-color: transparent;\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-cell-content {\n @include _mat-datepicker-unselected-cell {\n color: $disabled-color;\n }\n }\n\n .mat-form-field-disabled .mat-date-range-input-separator {\n color: $disabled-color;\n }\n\n .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover,\n .cdk-keyboard-focused .mat-calendar-body-active,\n .cdk-program-focused .mat-calendar-body-active {\n & > .mat-calendar-body-cell-content {\n @include _mat-datepicker-unselected-cell {\n background-color: mat-color($background, hover);\n }\n }\n }\n\n .mat-calendar-body-in-preview {\n $divider-color: mat-color($foreground, divider);\n\n @if type-of($divider-color) == color {\n // The divider color is set under the assumption that it'll be used\n // for a solid border, but because we're using a dashed border for the\n // preview range, we need to bump its opacity to ensure that it's visible.\n color: rgba($divider-color, min(opacity($divider-color) * 2, 1));\n }\n @else {\n color: $divider-color;\n }\n }\n\n .mat-calendar-body-today {\n @include _mat-datepicker-unselected-cell {\n // Note: though it's not text, the border is a hint about the fact that this is today's date,\n // so we use the hint color.\n border-color: mat-color($foreground, hint-text);\n }\n }\n\n .mat-calendar-body-disabled > .mat-calendar-body-today {\n @include _mat-datepicker-unselected-cell {\n $color: mat-color($foreground, hint-text);\n\n @if (type-of($color) == color) {\n border-color: fade-out($color, $mat-datepicker-today-fade-amount);\n }\n @else {\n // If the color didn't resolve to a color value, but something like a CSS variable, we can't\n // fade it out so we fall back to reducing the element opacity. Note that we don't use the\n // $mat-datepicker-today-fade-amount, because hint text usually has some opacity applied\n // to it already and we don't want them to stack on top of each other.\n opacity: 0.5;\n }\n }\n }\n\n @include _mat-datepicker-color(map-get($config, primary));\n\n .mat-datepicker-content {\n @include _mat-theme-elevation(4, $config);\n background-color: mat-color($background, card);\n color: mat-color($foreground, text);\n\n &.mat-accent {\n @include _mat-datepicker-color(map-get($config, accent));\n }\n\n &.mat-warn {\n @include _mat-datepicker-color(map-get($config, warn));\n }\n }\n\n .mat-datepicker-content-touch {\n @include _mat-theme-elevation(0, $config);\n }\n\n .mat-datepicker-toggle-active {\n color: mat-color(map-get($config, primary), text);\n\n &.mat-accent {\n color: mat-color(map-get($config, accent), text);\n }\n\n &.mat-warn {\n color: mat-color(map-get($config, warn), text);\n }\n }\n\n .mat-date-range-input-inner[disabled] {\n color: mat-color($foreground, disabled-text);\n }\n}\n\n@mixin mat-datepicker-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-calendar {\n font-family: mat-font-family($config);\n }\n\n .mat-calendar-body {\n font-size: $mat-calendar-body-font-size;\n }\n\n .mat-calendar-body-label,\n .mat-calendar-period-button {\n font: {\n size: mat-font-size($config, button);\n weight: mat-font-weight($config, button);\n }\n }\n\n .mat-calendar-table-header th {\n font: {\n size: $mat-calendar-weekday-table-font-size;\n weight: mat-font-weight($config, body-1);\n }\n }\n}\n\n@mixin mat-date-range-colors(\n $range-color,\n $comparison-color: rgba(#f9ab00, $mat-datepicker-range-fade-amount),\n $overlap-color: #a8dab5,\n $overlap-selected-color: darken($overlap-color, 30%)) {\n\n .mat-calendar-body-in-range::before {\n background: $range-color;\n }\n\n .mat-calendar-body-comparison-identical,\n .mat-calendar-body-in-comparison-range::before {\n background: $comparison-color;\n }\n\n .mat-calendar-body-comparison-bridge-start::before,\n [dir='rtl'] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, $range-color 50%, $comparison-color 50%);\n }\n\n .mat-calendar-body-comparison-bridge-end::before,\n [dir='rtl'] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, $range-color 50%, $comparison-color 50%);\n }\n\n .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: $overlap-color;\n }\n\n .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: $overlap-selected-color;\n }\n}\n\n@mixin _mat-datepicker-density($config-or-theme) {}\n\n@mixin mat-datepicker-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-datepicker') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-datepicker-color($color);\n }\n @if $density != null {\n @include _mat-datepicker-density($density);\n }\n @if $typography != null {\n @include mat-datepicker-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n@mixin mat-dialog-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-dialog-container {\n @include _mat-theme-elevation(24, $config);\n background: mat-color($background, dialog);\n color: mat-color($foreground, text);\n }\n}\n\n@mixin mat-dialog-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-dialog-title {\n @include mat-typography-level-to-styles($config, title);\n }\n}\n\n@mixin _mat-dialog-density($config-or-theme) {}\n\n@mixin mat-dialog-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-dialog') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-dialog-color($color);\n }\n @if $density != null {\n @include _mat-dialog-density($density);\n }\n @if $typography != null {\n @include mat-dialog-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n// Default minimum and maximum height for collapsed panel headers.\n$mat-expansion-panel-header-collapsed-height: 48px !default;\n$mat-expansion-panel-header-collapsed-minimum-height: 36px !default;\n$mat-expansion-panel-header-collapsed-maximum-height:\n $mat-expansion-panel-header-collapsed-height !default;\n\n// Default minimum and maximum height for expanded panel headers.\n$mat-expansion-panel-header-expanded-height: 64px !default;\n$mat-expansion-panel-header-expanded-minimum-height: 48px !default;\n$mat-expansion-panel-header-expanded-maximum-height:\n $mat-expansion-panel-header-expanded-height !default;\n\n// Density configuration for the expansion panel. Captures the\n// height for both expanded and collapsed panel headers.\n$mat-expansion-panel-header-density-config: (\n collapsed-height: (\n default: $mat-expansion-panel-header-collapsed-height,\n maximum: $mat-expansion-panel-header-collapsed-maximum-height,\n minimum: $mat-expansion-panel-header-collapsed-minimum-height,\n ),\n expanded-height: (\n default: $mat-expansion-panel-header-expanded-height,\n maximum: $mat-expansion-panel-header-expanded-maximum-height,\n minimum: $mat-expansion-panel-header-expanded-minimum-height,\n )\n) !default;\n\n// Note: Keep this in sync with the animation timing for the toggle indicator\n// and body expansion. These are animated using Angular animations.\n$mat-expansion-panel-header-transition: 225ms cubic-bezier(0.4, 0, 0.2, 1);\n\n\n@mixin mat-expansion-panel-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-expansion-panel {\n @include _mat-theme-overridable-elevation(2, $config);\n background: mat-color($background, card);\n color: mat-color($foreground, text);\n }\n\n .mat-action-row {\n border-top-color: mat-color($foreground, divider);\n }\n\n .mat-expansion-panel {\n & .mat-expansion-panel-header.cdk-keyboard-focused,\n & .mat-expansion-panel-header.cdk-program-focused,\n &:not(.mat-expanded) .mat-expansion-panel-header:hover {\n &:not([aria-disabled='true']) {\n background: mat-color($background, hover);\n }\n }\n }\n\n // Disable the hover on touch devices since it can appear like it is stuck. We can't use\n // `@media (hover)` above, because the desktop support browser support isn't great.\n @media (hover: none) {\n .mat-expansion-panel:not(.mat-expanded):not([aria-disabled='true'])\n .mat-expansion-panel-header:hover {\n background: mat-color($background, card);\n }\n }\n\n .mat-expansion-panel-header-title {\n color: mat-color($foreground, text);\n }\n\n .mat-expansion-panel-header-description,\n .mat-expansion-indicator::after {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-expansion-panel-header[aria-disabled='true'] {\n color: mat-color($foreground, disabled-button);\n\n .mat-expansion-panel-header-title,\n .mat-expansion-panel-header-description {\n color: inherit;\n }\n }\n}\n\n@mixin mat-expansion-panel-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-expansion-panel-header {\n font: {\n family: mat-font-family($config, subheading-1);\n size: mat-font-size($config, subheading-1);\n weight: mat-font-weight($config, subheading-1);\n }\n }\n\n .mat-expansion-panel-content {\n @include mat-typography-level-to-styles($config, body-1);\n }\n}\n\n@mixin _mat-expansion-panel-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n $expanded-height: _mat-density-prop-value(\n $mat-expansion-panel-header-density-config, $density-scale, expanded-height);\n $collapsed-height: _mat-density-prop-value(\n $mat-expansion-panel-header-density-config, $density-scale, collapsed-height);\n\n @include _mat-density-legacy-compatibility() {\n .mat-expansion-panel-header {\n height: $collapsed-height;\n\n &.mat-expanded {\n height: $expanded-height;\n }\n }\n }\n}\n\n@mixin mat-expansion-panel-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-expansion-panel') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-expansion-panel-color($color);\n }\n @if $density != null {\n @include _mat-expansion-panel-density($density);\n }\n @if $typography != null {\n @include mat-expansion-panel-typography($typography);\n }\n }\n}\n\n\n\n\n\n// This mixin will ensure that lines that overflow the container will hide the overflow and\n// truncate neatly with an ellipsis.\n@mixin mat-truncate-line() {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n// Mixin to provide all mat-line styles, changing secondary font size based on whether the list\n// is in dense mode.\n@mixin mat-line-base($secondary-font-size) {\n .mat-line {\n @include mat-truncate-line();\n display: block;\n box-sizing: border-box;\n\n // all lines but the top line should have smaller text\n &:nth-child(n+2) {\n font-size: $secondary-font-size;\n }\n }\n}\n\n// This mixin normalizes default element styles, e.g. font weight for heading text.\n@mixin mat-normalize-text() {\n & > * {\n margin: 0;\n padding: 0;\n font-weight: normal;\n font-size: inherit;\n }\n}\n\n// This mixin provides base styles for the wrapper around mat-line elements in a list.\n@mixin mat-line-wrapper-base() {\n @include mat-normalize-text();\n\n display: flex;\n flex-direction: column;\n flex: auto;\n box-sizing: border-box;\n overflow: hidden;\n\n // Must remove wrapper when lines are empty or it takes up horizontal\n // space and pushes other elements to the right.\n &:empty {\n display: none;\n }\n}\n\n\n\n// Include this empty mixin for consistency with the other components.\n@mixin mat-grid-list-color($config-or-theme) {}\n\n@mixin mat-grid-list-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-grid-tile-header,\n .mat-grid-tile-footer {\n @include mat-line-base(mat-font-size($config, caption));\n font-size: mat-font-size($config, body-1);\n }\n}\n\n@mixin _mat-grid-list-density($config-or-theme) {}\n\n@mixin mat-grid-list-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-grid-list') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-grid-list-color($color);\n }\n @if $density != null {\n @include _mat-grid-list-density($density);\n }\n @if $typography != null {\n @include mat-grid-list-typography($typography);\n }\n }\n}\n\n\n\n\n@mixin mat-icon-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-icon {\n &.mat-primary {\n color: mat-color($primary, text);\n }\n\n &.mat-accent {\n color: mat-color($accent, text);\n }\n\n &.mat-warn {\n color: mat-color($warn, text);\n }\n }\n}\n\n@mixin mat-icon-typography($config-or-theme) {}\n\n@mixin _mat-icon-density($config-or-theme) {}\n\n@mixin mat-icon-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-icon') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-icon-color($color);\n }\n @if $density != null {\n @include _mat-icon-density($density);\n }\n @if $typography != null {\n @include mat-icon-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n// Renders a gradient for showing the dashed line when the input is disabled.\n// Unlike using a border, a gradient allows us to adjust the spacing of the dotted line\n// to match the Material Design spec.\n@mixin mat-control-disabled-underline($color) {\n background-image: linear-gradient(to right, $color 0%, $color 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x;\n}\n\n// Figures out the color of the placeholder for a form control.\n// Used primarily to prevent the various form controls from\n// becoming out of sync since these colors aren't in a palette.\n@function _mat-control-placeholder-color($config) {\n $foreground: map-get($config, foreground);\n $is-dark-theme: map-get($config, is-dark);\n @return mat-color($foreground, secondary-text, if($is-dark-theme, 0.5, 0.42));\n}\n\n\n/* stylelint-disable material/no-prefixes */\n@mixin user-select($value) {\n -webkit-user-select: $value;\n -moz-user-select: $value;\n -ms-user-select: $value;\n user-select: $value;\n}\n\n@mixin input-placeholder {\n &::placeholder {\n @content;\n }\n\n &::-moz-placeholder {\n @content;\n }\n\n &::-webkit-input-placeholder {\n @content;\n }\n\n &:-ms-input-placeholder {\n @content;\n }\n}\n\n@mixin cursor-grab {\n cursor: -webkit-grab;\n cursor: grab;\n}\n\n@mixin cursor-grabbing {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n\n@mixin backface-visibility($value) {\n -webkit-backface-visibility: $value;\n backface-visibility: $value;\n}\n\n@mixin position-sticky {\n position: -webkit-sticky;\n position: sticky;\n}\n/* stylelint-enable */\n\n\n\n@mixin mat-input-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $foreground: map-get($config, foreground);\n\n .mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-input-element:disabled,\n .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n color: mat-color($foreground, disabled-text);\n }\n\n .mat-input-element {\n caret-color: mat-color($primary, text);\n\n @include input-placeholder {\n color: _mat-control-placeholder-color($config);\n }\n\n // On dark themes we set the native `select` color to some shade of white,\n // however the color propagates to all of the `option` elements, which are\n // always on a white background inside the dropdown, causing them to blend in.\n // Since we can't change background of the dropdown, we need to explicitly\n // reset the color of the options to something dark.\n @if (map-get($config, is-dark)) {\n option {\n color: $dark-primary-text;\n }\n\n option:disabled {\n color: $dark-disabled-text;\n }\n }\n }\n\n .mat-form-field.mat-accent .mat-input-element {\n caret-color: mat-color($accent, text);\n }\n\n .mat-form-field.mat-warn .mat-input-element,\n .mat-form-field-invalid .mat-input-element {\n caret-color: mat-color($warn, text);\n }\n\n .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n color: mat-color($warn, text);\n }\n}\n\n@mixin mat-input-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n // The unit-less line-height from the font config.\n $line-height: mat-line-height($config, input);\n\n // The amount of space between the top of the line and the top of the actual text\n // (as a fraction of the font-size).\n $line-spacing: ($line-height - 1) / 2;\n\n // <input> elements seem to have their height set slightly too large on Safari causing the text to\n // be misaligned w.r.t. the placeholder. Adding this margin corrects it.\n input.mat-input-element {\n margin-top: -$line-spacing * 1em;\n }\n}\n\n@mixin _mat-input-density($config-or-theme) {}\n\n@mixin mat-input-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-input') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-input-color($color);\n }\n @if $density != null {\n @include _mat-input-density($density);\n }\n @if $typography != null {\n @include mat-input-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n@mixin mat-list-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-list-base {\n .mat-list-item {\n color: mat-color($foreground, text);\n }\n\n .mat-list-option {\n color: mat-color($foreground, text);\n }\n\n .mat-subheader {\n color: mat-color($foreground, secondary-text);\n }\n }\n\n .mat-list-item-disabled {\n background-color: mat-color($background, disabled-list-option);\n }\n\n .mat-list-option,\n .mat-nav-list .mat-list-item,\n .mat-action-list .mat-list-item {\n &:hover, &:focus {\n background: mat-color($background, 'hover');\n }\n }\n\n .mat-list-single-selected-option {\n &, &:hover, &:focus {\n background: mat-color($background, hover, 0.12);\n }\n }\n}\n\n@mixin mat-list-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n $font-family: mat-font-family($config);\n\n .mat-list-item {\n font-family: $font-family;\n }\n\n .mat-list-option {\n font-family: $font-family;\n }\n\n // Default list\n .mat-list-base {\n .mat-list-item {\n font-size: mat-font-size($config, subheading-2);\n @include mat-line-base(mat-font-size($config, body-1));\n }\n\n .mat-list-option {\n font-size: mat-font-size($config, subheading-2);\n @include mat-line-base(mat-font-size($config, body-1));\n }\n\n .mat-subheader {\n font-family: mat-font-family($config, body-2);\n font-size: mat-font-size($config, body-2);\n font-weight: mat-font-weight($config, body-2);\n }\n }\n\n // Dense list\n .mat-list-base[dense] {\n .mat-list-item {\n font-size: mat-font-size($config, caption);\n @include mat-line-base(mat-font-size($config, caption));\n }\n\n .mat-list-option {\n font-size: mat-font-size($config, caption);\n @include mat-line-base(mat-font-size($config, caption));\n }\n\n .mat-subheader {\n font-family: $font-family;\n font-size: mat-font-size($config, caption);\n font-weight: mat-font-weight($config, body-2);\n }\n }\n}\n\n@mixin _mat-list-density($config-or-theme) {}\n\n@mixin mat-list-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-list') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-list-color($color);\n }\n @if $density != null {\n @include _mat-list-density($density);\n }\n @if $typography != null {\n @include mat-list-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n@mixin mat-menu-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-menu-panel {\n @include _mat-theme-overridable-elevation(4, $config);\n background: mat-color($background, 'card');\n }\n\n .mat-menu-item {\n background: transparent;\n color: mat-color($foreground, 'text');\n\n &[disabled] {\n &,\n &::after,\n .mat-icon-no-color {\n color: mat-color($foreground, 'disabled');\n }\n }\n }\n\n .mat-menu-item .mat-icon-no-color,\n .mat-menu-item-submenu-trigger::after {\n color: mat-color($foreground, 'icon');\n }\n\n .mat-menu-item:hover,\n .mat-menu-item.cdk-program-focused,\n .mat-menu-item.cdk-keyboard-focused,\n .mat-menu-item-highlighted {\n &:not([disabled]) {\n background: mat-color($background, 'hover');\n }\n }\n}\n\n@mixin mat-menu-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-menu-item {\n font: {\n family: mat-font-family($config, body-1);\n size: mat-font-size($config, body-1);\n weight: mat-font-weight($config, body-1);\n }\n }\n}\n\n@mixin _mat-menu-density($config-or-theme) {}\n\n@mixin mat-menu-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-menu') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-menu-color($color);\n }\n @if $density != null {\n @include _mat-menu-density($density);\n }\n @if $typography != null {\n @include mat-menu-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n$mat-paginator-height: 56px !default;\n// Minimum height for paginator's in the highest density is determined based on how\n// much the paginator can shrink until the content exceeds (i.e. navigation buttons).\n$mat-paginator-minimum-height: 40px !default;\n$mat-paginator-maximum-height: $mat-paginator-height !default;\n\n$mat-paginator-density-config: (\n height: (\n default: $mat-paginator-height,\n maximum: $mat-paginator-maximum-height,\n minimum: $mat-paginator-minimum-height,\n )\n) !default;\n\n\n@mixin mat-paginator-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n\n .mat-paginator {\n background: mat-color($background, 'card');\n }\n\n .mat-paginator,\n .mat-paginator-page-size .mat-select-trigger {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-paginator-decrement,\n .mat-paginator-increment {\n border-top: 2px solid mat-color($foreground, 'icon');\n border-right: 2px solid mat-color($foreground, 'icon');\n }\n\n .mat-paginator-first,\n .mat-paginator-last {\n border-top: 2px solid mat-color($foreground, 'icon');\n }\n\n .mat-icon-button[disabled] {\n .mat-paginator-decrement,\n .mat-paginator-increment,\n .mat-paginator-first,\n .mat-paginator-last {\n border-color: mat-color($foreground, 'disabled');\n }\n }\n}\n\n@mixin mat-paginator-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-paginator,\n .mat-paginator-page-size .mat-select-trigger {\n font: {\n family: mat-font-family($config, caption);\n size: mat-font-size($config, caption);\n }\n }\n}\n\n@mixin _mat-paginator-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n $height: _mat-density-prop-value($mat-paginator-density-config, $density-scale, height);\n\n @include _mat-density-legacy-compatibility() {\n .mat-paginator-container {\n min-height: $height;\n }\n }\n}\n\n@mixin mat-paginator-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-paginator') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-paginator-color($color);\n }\n @if $density != null {\n @include _mat-paginator-density($density);\n }\n @if $typography != null {\n @include mat-paginator-typography($typography);\n }\n }\n}\n\n\n\n\n\n@mixin mat-progress-bar-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n\n .mat-progress-bar-background {\n fill: mat-color($primary, lighter);\n }\n\n .mat-progress-bar-buffer {\n background-color: mat-color($primary, lighter);\n }\n\n .mat-progress-bar-fill::after {\n background-color: mat-color($primary);\n }\n\n .mat-progress-bar.mat-accent {\n .mat-progress-bar-background {\n fill: mat-color($accent, lighter);\n }\n\n .mat-progress-bar-buffer {\n background-color: mat-color($accent, lighter);\n }\n\n .mat-progress-bar-fill::after {\n background-color: mat-color($accent);\n }\n }\n\n .mat-progress-bar.mat-warn {\n .mat-progress-bar-background {\n fill: mat-color($warn, lighter);\n }\n\n .mat-progress-bar-buffer {\n background-color: mat-color($warn, lighter);\n }\n\n .mat-progress-bar-fill::after {\n background-color: mat-color($warn);\n }\n }\n}\n\n@mixin mat-progress-bar-typography($config-or-theme) {}\n\n@mixin _mat-progress-bar-density($config-or-theme) {}\n\n@mixin mat-progress-bar-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-progress-bar') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-progress-bar-color($color);\n }\n @if $density != null {\n @include _mat-progress-bar-density($density);\n }\n @if $typography != null {\n @include mat-progress-bar-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin mat-progress-spinner-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n\n .mat-progress-spinner, .mat-spinner {\n circle {\n stroke: mat-color($primary);\n }\n\n &.mat-accent circle {\n stroke: mat-color($accent);\n }\n\n &.mat-warn circle {\n stroke: mat-color($warn);\n }\n }\n}\n\n@mixin mat-progress-spinner-typography($config-or-theme) {}\n\n@mixin _mat-progress-spinner-density($config-or-theme) {}\n\n@mixin mat-progress-spinner-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-progress-spinner') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-progress-spinner-color($color);\n }\n @if $density != null {\n @include _mat-progress-spinner-density($density);\n }\n @if $typography != null {\n @include mat-progress-spinner-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin _mat-radio-color($palette) {\n &.mat-radio-checked .mat-radio-outer-circle {\n border-color: mat-color($palette);\n }\n\n .mat-radio-inner-circle,\n .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n &.mat-radio-checked .mat-radio-persistent-ripple,\n &:active .mat-radio-persistent-ripple {\n background-color: mat-color($palette);\n }\n}\n\n@mixin mat-radio-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-radio-outer-circle {\n border-color: mat-color($foreground, secondary-text);\n }\n\n .mat-radio-button {\n &.mat-primary {\n @include _mat-radio-color($primary);\n }\n\n &.mat-accent {\n @include _mat-radio-color($accent);\n }\n\n &.mat-warn {\n @include _mat-radio-color($warn);\n }\n\n // This needs extra specificity, because the classes above are combined\n // (e.g. `.mat-radio-button.mat-accent`) which increases their specificity a lot.\n // TODO: consider making the selectors into descendants (`.mat-primary .mat-radio-button`).\n &.mat-radio-disabled {\n &.mat-radio-checked .mat-radio-outer-circle,\n .mat-radio-outer-circle {\n border-color: mat-color($foreground, disabled);\n }\n\n .mat-radio-ripple .mat-ripple-element,\n .mat-radio-inner-circle {\n background-color: mat-color($foreground, disabled);\n }\n\n .mat-radio-label-content {\n color: mat-color($foreground, disabled);\n }\n }\n\n // Switch this to a solid color since we're using `opacity`\n // to control how opaque the ripple should be.\n .mat-ripple-element {\n background-color: map-get($foreground, base);\n }\n }\n}\n\n@mixin mat-radio-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-radio-button {\n font-family: mat-font-family($config);\n }\n}\n\n@mixin _mat-radio-density($config-or-theme) {}\n\n@mixin mat-radio-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-radio') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-radio-color($color);\n }\n @if $density != null {\n @include _mat-radio-density($density);\n }\n @if $typography != null {\n @include mat-radio-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n\n@mixin mat-select-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n\n .mat-select-value {\n color: mat-color($foreground, text);\n }\n\n .mat-select-placeholder {\n color: _mat-control-placeholder-color($config);\n }\n\n .mat-select-disabled .mat-select-value {\n color: mat-color($foreground, disabled-text);\n }\n\n .mat-select-arrow {\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-select-panel {\n background: mat-color($background, card);\n @include _mat-theme-overridable-elevation(4, $config);\n\n .mat-option.mat-selected:not(.mat-option-multiple) {\n background: mat-color($background, hover, 0.12);\n }\n }\n\n .mat-form-field {\n &.mat-focused {\n &.mat-primary .mat-select-arrow {\n color: mat-color($primary, text);\n }\n\n &.mat-accent .mat-select-arrow {\n color: mat-color($accent, text);\n }\n\n &.mat-warn .mat-select-arrow {\n color: mat-color($warn, text);\n }\n }\n\n .mat-select.mat-select-invalid .mat-select-arrow {\n color: mat-color($warn, text);\n }\n\n .mat-select.mat-select-disabled .mat-select-arrow {\n color: mat-color($foreground, disabled-text);\n }\n }\n}\n\n@mixin mat-select-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n // The unit-less line-height from the font config.\n $line-height: mat-line-height($config, input);\n\n .mat-select {\n font-family: mat-font-family($config);\n }\n\n .mat-select-trigger {\n height: $line-height * 1em;\n }\n}\n\n@mixin _mat-select-density($config-or-theme) {}\n\n@mixin mat-select-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-select') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-select-color($color);\n }\n @if $density != null {\n @include _mat-select-density($density);\n }\n @if $typography != null {\n @include mat-select-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin mat-sidenav-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n $drawer-background-color: mat-color($background, dialog);\n $drawer-container-background-color: mat-color($background, background);\n $drawer-push-background-color: mat-color($background, dialog);\n $drawer-side-border: solid 1px mat-color($foreground, divider);\n\n .mat-drawer-container {\n background-color: $drawer-container-background-color;\n color: mat-color($foreground, text);\n }\n\n .mat-drawer {\n background-color: $drawer-background-color;\n color: mat-color($foreground, text);\n\n &.mat-drawer-push {\n background-color: $drawer-push-background-color;\n }\n\n &:not(.mat-drawer-side) {\n // The elevation of z-16 is noted in the design specifications.\n // See https://material.io/design/components/navigation-drawer.html\n @include _mat-theme-elevation(16, $config);\n }\n }\n\n .mat-drawer-side {\n border-right: $drawer-side-border;\n\n &.mat-drawer-end {\n border-left: $drawer-side-border;\n border-right: none;\n }\n }\n\n [dir='rtl'] .mat-drawer-side {\n border-left: $drawer-side-border;\n border-right: none;\n\n &.mat-drawer-end {\n border-left: none;\n border-right: $drawer-side-border;\n }\n }\n\n .mat-drawer-backdrop.mat-drawer-shown {\n $opacity: 0.6;\n $backdrop-color: mat-color($background, card, $opacity);\n\n @if (type-of($backdrop-color) == color) {\n // We use invert() here to have the darken the background color expected to be used. If the\n // background is light, we use a dark backdrop. If the background is dark,\n // we use a light backdrop.\n background-color: invert($backdrop-color);\n }\n @else {\n // If we couldn't resolve the backdrop color to a color value, fall back to using\n // `opacity` to make it opaque since its end value could be a solid color.\n background-color: $backdrop-color;\n opacity: $opacity;\n }\n }\n}\n\n@mixin mat-sidenav-typography($config-or-theme) {}\n\n@mixin _mat-sidenav-density($config-or-theme) {}\n\n@mixin mat-sidenav-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-sidenav') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-sidenav-color($color);\n }\n @if $density != null {\n @include _mat-sidenav-density($density);\n }\n @if $typography != null {\n @include mat-sidenav-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n@mixin _mat-slide-toggle-checked($palette, $thumb-checked-hue) {\n &.mat-checked {\n .mat-slide-toggle-thumb {\n background-color: mat-color($palette, $thumb-checked-hue);\n }\n\n .mat-slide-toggle-bar {\n // Opacity is determined from the specs for the selection controls.\n // See: https://material.io/design/components/selection-controls.html#specs\n background-color: mat-color($palette, $thumb-checked-hue, 0.54);\n }\n\n .mat-ripple-element {\n // Set no opacity for the ripples because the ripple opacity will be adjusted dynamically\n // based on the type of interaction with the slide-toggle (e.g. for hover, focus)\n background-color: mat-color($palette, $thumb-checked-hue);\n }\n }\n}\n\n@mixin mat-slide-toggle-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $is-dark: map-get($config, is-dark);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n // Color hues are based on the specs which briefly show the hues that are applied to a switch.\n // The 2018 specs no longer describe how dark switches should look like. Due to the lack of\n // information for dark themed switches, we partially keep the old behavior that is based on\n // the previous specifications. For the checked color we always use the `default` hue because\n // that follows MDC and also makes it easier for people to create a custom theme without needing\n // to specify each hue individually.\n $thumb-unchecked-hue: if($is-dark, 400, 50);\n $thumb-checked-hue: default;\n\n $bar-unchecked-color: mat-color($foreground, disabled);\n $ripple-unchecked-color: mat-color($foreground, base);\n\n .mat-slide-toggle {\n @include _mat-slide-toggle-checked($accent, $thumb-checked-hue);\n\n &.mat-primary {\n @include _mat-slide-toggle-checked($primary, $thumb-checked-hue);\n }\n\n &.mat-warn {\n @include _mat-slide-toggle-checked($warn, $thumb-checked-hue);\n }\n\n &:not(.mat-checked) .mat-ripple-element {\n // Set no opacity for the ripples because the ripple opacity will be adjusted dynamically\n // based on the type of interaction with the slide-toggle (e.g. for hover, focus)\n background-color: $ripple-unchecked-color;\n }\n }\n\n .mat-slide-toggle-thumb {\n @include _mat-theme-elevation(1, $config);\n background-color: mat-color($mat-grey, $thumb-unchecked-hue);\n }\n\n .mat-slide-toggle-bar {\n background-color: $bar-unchecked-color;\n }\n}\n\n@mixin mat-slide-toggle-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-slide-toggle-content {\n font-family: mat-font-family($config);\n }\n}\n\n@mixin _mat-slide-toggle-density($config-or-theme) {}\n\n@mixin mat-slide-toggle-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-slide-toggle') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-slide-toggle-color($color);\n }\n @if $density != null {\n @include _mat-slide-toggle-density($density);\n }\n @if $typography != null {\n @include mat-slide-toggle-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n@mixin _mat-slider-inner-content-theme($palette) {\n .mat-slider-track-fill,\n .mat-slider-thumb,\n .mat-slider-thumb-label {\n background-color: mat-color($palette);\n }\n\n .mat-slider-thumb-label-text {\n color: mat-color($palette, default-contrast);\n }\n\n .mat-slider-focus-ring {\n $opacity: 0.2;\n $color: mat-color($palette, default, $opacity);\n background-color: $color;\n\n // `mat-color` uses `rgba` for the opacity which won't work with\n // CSS variables so we need to use `opacity` as a fallback.\n @if (type-of($color) != color) {\n opacity: $opacity;\n }\n }\n}\n\n@mixin mat-slider-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n $mat-slider-off-color: mat-color($foreground, slider-off);\n $mat-slider-off-focused-color: mat-color($foreground, slider-off-active);\n $mat-slider-disabled-color: mat-color($foreground, slider-off);\n $mat-slider-labeled-min-value-thumb-color: mat-color($foreground, slider-min);\n $mat-slider-labeled-min-value-thumb-label-color: mat-color($foreground, slider-off);\n $mat-slider-tick-opacity: 0.7;\n $mat-slider-tick-color: mat-color($foreground, base, $mat-slider-tick-opacity);\n $mat-slider-tick-size: 2px;\n\n .mat-slider-track-background {\n background-color: $mat-slider-off-color;\n }\n\n .mat-primary {\n @include _mat-slider-inner-content-theme($primary);\n }\n\n .mat-accent {\n @include _mat-slider-inner-content-theme($accent);\n }\n\n .mat-warn {\n @include _mat-slider-inner-content-theme($warn);\n }\n\n .mat-slider:hover,\n .cdk-focused {\n .mat-slider-track-background {\n background-color: $mat-slider-off-focused-color;\n }\n }\n\n .mat-slider-disabled {\n .mat-slider-track-background,\n .mat-slider-track-fill,\n .mat-slider-thumb {\n background-color: $mat-slider-disabled-color;\n }\n\n &:hover {\n .mat-slider-track-background {\n background-color: $mat-slider-disabled-color;\n }\n }\n }\n\n .mat-slider-min-value {\n .mat-slider-focus-ring {\n $opacity: 0.12;\n $color: mat-color($foreground, base, $opacity);\n background-color: $color;\n\n // `mat-color` uses `rgba` for the opacity which won't work with\n // CSS variables so we need to use `opacity` as a fallback.\n @if (type-of($color) != color) {\n opacity: $opacity;\n }\n }\n\n &.mat-slider-thumb-label-showing {\n .mat-slider-thumb,\n .mat-slider-thumb-label {\n background-color: $mat-slider-labeled-min-value-thumb-color;\n }\n\n &.cdk-focused {\n .mat-slider-thumb,\n .mat-slider-thumb-label {\n background-color: $mat-slider-labeled-min-value-thumb-label-color;\n }\n }\n }\n\n &:not(.mat-slider-thumb-label-showing) {\n .mat-slider-thumb {\n border-color: $mat-slider-off-color;\n background-color: transparent;\n }\n\n &:hover,\n &.cdk-focused {\n .mat-slider-thumb {\n border-color: $mat-slider-off-focused-color;\n }\n\n &.mat-slider-disabled .mat-slider-thumb {\n border-color: $mat-slider-disabled-color;\n }\n }\n }\n }\n\n .mat-slider-has-ticks .mat-slider-wrapper::after {\n border-color: $mat-slider-tick-color;\n\n // `mat-color` uses `rgba` for the opacity which won't work with\n // CSS variables so we need to use `opacity` as a fallback.\n @if (type-of($mat-slider-tick-color) != color) {\n opacity: $mat-slider-tick-opacity;\n }\n }\n\n .mat-slider-horizontal .mat-slider-ticks {\n background-image: repeating-linear-gradient(to right, $mat-slider-tick-color,\n $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);\n // Firefox doesn't draw the gradient correctly with 'to right'\n // (see https://bugzilla.mozilla.org/show_bug.cgi?id=1314319).\n background-image: -moz-repeating-linear-gradient(0.0001deg, $mat-slider-tick-color,\n $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);\n\n // `mat-color` uses `rgba` for the opacity which won't work with\n // CSS variables so we need to use `opacity` as a fallback.\n @if (type-of($mat-slider-tick-color) != color) {\n opacity: $mat-slider-tick-opacity;\n }\n }\n\n .mat-slider-vertical .mat-slider-ticks {\n background-image: repeating-linear-gradient(to bottom, $mat-slider-tick-color,\n $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);\n\n // `mat-color` uses `rgba` for the opacity which won't work with\n // CSS variables so we need to use `opacity` as a fallback.\n @if (type-of($mat-slider-tick-color) != color) {\n opacity: $mat-slider-tick-opacity;\n }\n }\n}\n\n@mixin mat-slider-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-slider-thumb-label-text {\n font: {\n family: mat-font-family($config);\n size: mat-font-size($config, caption);\n weight: mat-font-weight($config, body-2);\n }\n }\n}\n\n@mixin _mat-slider-density($config-or-theme) {}\n\n@mixin mat-slider-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-slider') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-slider-color($color);\n }\n @if $density != null {\n @include _mat-slider-density($density);\n }\n @if $typography != null {\n @include mat-slider-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n$mat-stepper-header-height: 72px !default;\n// Minimum height for highest density stepper's is determined based on how much\n// stepper headers can shrink until the step icon or step label exceed. We can't use\n// a value below `42px` because the optional label for steps would otherwise exceed.\n$mat-stepper-header-minimum-height: 42px !default;\n$mat-stepper-header-maximum-height: $mat-stepper-header-height !default;\n\n$mat-stepper-density-config: (\n height: (\n default: $mat-stepper-header-height,\n maximum: $mat-stepper-header-maximum-height,\n minimum: $mat-stepper-header-minimum-height,\n )\n) !default;\n\n// Note: These variables are not denoted with `!default` because they are used in the non-theme\n// component styles. Modifying these variables does not have the desired effect for consumers.\n$mat-stepper-label-header-height: 24px;\n$mat-stepper-label-position-bottom-top-gap: 16px;\n$mat-stepper-label-min-width: 50px;\n\n$mat-vertical-stepper-content-margin: 36px;\n\n$mat-stepper-side-gap: 24px;\n$mat-stepper-line-width: 1px;\n$mat-stepper-line-gap: 8px;\n\n$mat-step-sub-label-font-size: 12px;\n$mat-step-header-icon-size: 16px;\n\n\n@mixin mat-stepper-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $background: map-get($config, background);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n\n .mat-step-header {\n &.cdk-keyboard-focused,\n &.cdk-program-focused,\n &:hover {\n background-color: mat-color($background, hover);\n }\n\n // On touch devices the :hover state will linger on the element after a tap.\n // Reset it via `@media` after the declaration, because the media query isn't\n // supported by all browsers yet.\n @media (hover: none) {\n &:hover {\n background: none;\n }\n }\n\n .mat-step-label,\n .mat-step-optional {\n // TODO(josephperrott): Update to using a corrected disabled-text contrast\n // instead of secondary-text.\n color: mat-color($foreground, secondary-text);\n }\n\n .mat-step-icon {\n // TODO(josephperrott): Update to using a corrected disabled-text contrast\n // instead of secondary-text.\n background-color: mat-color($foreground, secondary-text);\n color: mat-color($primary, default-contrast);\n }\n\n .mat-step-icon-selected,\n .mat-step-icon-state-done,\n .mat-step-icon-state-edit {\n background-color: mat-color($primary);\n color: mat-color($primary, default-contrast);\n }\n\n &.mat-accent {\n .mat-step-icon {\n color: mat-color($accent, default-contrast);\n }\n\n .mat-step-icon-selected,\n .mat-step-icon-state-done,\n .mat-step-icon-state-edit {\n background-color: mat-color($accent);\n color: mat-color($accent, default-contrast);\n }\n }\n\n &.mat-warn {\n .mat-step-icon {\n color: mat-color($warn, default-contrast);\n }\n\n .mat-step-icon-selected,\n .mat-step-icon-state-done,\n .mat-step-icon-state-edit {\n background-color: mat-color($warn);\n color: mat-color($warn, default-contrast);\n }\n }\n\n .mat-step-icon-state-error {\n background-color: transparent;\n color: mat-color($warn, text);\n }\n\n .mat-step-label.mat-step-label-active {\n color: mat-color($foreground, text);\n }\n\n .mat-step-label.mat-step-label-error {\n color: mat-color($warn, text);\n }\n }\n\n .mat-stepper-horizontal, .mat-stepper-vertical {\n background-color: mat-color($background, card);\n }\n\n .mat-stepper-vertical-line::before {\n border-left-color: mat-color($foreground, divider);\n }\n\n .mat-horizontal-stepper-header::before,\n .mat-horizontal-stepper-header::after,\n .mat-stepper-horizontal-line {\n border-top-color: mat-color($foreground, divider);\n }\n}\n\n@mixin mat-stepper-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-stepper-vertical, .mat-stepper-horizontal {\n font-family: mat-font-family($config);\n }\n\n .mat-step-label {\n font: {\n size: mat-font-size($config, body-1);\n weight: mat-font-weight($config, body-1);\n };\n }\n\n .mat-step-sub-label-error {\n font-weight: normal;\n }\n\n .mat-step-label-error {\n font-size: mat-font-size($config, body-2);\n }\n\n .mat-step-label-selected {\n font: {\n size: mat-font-size($config, body-2);\n weight: mat-font-weight($config, body-2);\n };\n }\n}\n\n@mixin _mat-stepper-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n $height: _mat-density-prop-value($mat-stepper-density-config, $density-scale, height);\n $vertical-padding: ($height - $mat-stepper-label-header-height) / 2;\n\n @include _mat-density-legacy-compatibility() {\n .mat-horizontal-stepper-header {\n height: $height;\n }\n\n .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,\n .mat-vertical-stepper-header {\n padding: $vertical-padding $mat-stepper-side-gap;\n }\n\n // Ensures that the vertical lines for the step content exceed into the step\n // headers with a given distance (`$mat-stepper-line-gap`) to the step icon.\n .mat-stepper-vertical-line::before {\n top: $mat-stepper-line-gap - $vertical-padding;\n bottom: $mat-stepper-line-gap - $vertical-padding;\n }\n\n // Ensures that the horizontal lines for the step header are centered vertically.\n .mat-stepper-label-position-bottom .mat-horizontal-stepper-header {\n &::after, &::before {\n top: $vertical-padding + $mat-stepper-label-header-height / 2;\n }\n }\n\n // Ensures that the horizontal line for the step content is aligned centered vertically.\n .mat-stepper-label-position-bottom .mat-stepper-horizontal-line {\n top: $vertical-padding + $mat-stepper-label-header-height / 2;\n }\n }\n}\n\n@mixin mat-stepper-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-stepper') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-stepper-color($color);\n }\n @if $density != null {\n @include _mat-stepper-density($density);\n }\n @if $typography != null {\n @include mat-stepper-typography($typography);\n }\n }\n}\n\n\n\n\n@mixin mat-sort-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-sort-header-arrow {\n $table-background: mat-color($background, 'card');\n $text-color: mat-color($foreground, secondary-text);\n\n // Because the arrow is made up of multiple elements that are stacked on top of each other,\n // we can't use the semi-transparent color from the theme directly. If the value is a color\n // *type*, we convert it into a solid color by taking the opacity from the rgba value and\n // using the value to determine the percentage of the background to put into foreground\n // when mixing the colors together. Otherwise, if it resolves to something different\n // (e.g. it resolves to a CSS variable), we use the color directly.\n @if (type-of($table-background) == color and type-of($text-color) == color) {\n $text-opacity: opacity($text-color);\n color: mix($table-background, rgba($text-color, 1), (1 - $text-opacity) * 100%);\n }\n @else {\n color: $text-color;\n }\n }\n}\n\n@mixin mat-sort-typography($config-or-theme) {}\n\n@mixin _mat-sort-density($config-or-theme) {}\n\n@mixin mat-sort-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-sort') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-sort-color($color);\n }\n @if $density != null {\n @include _mat-sort-density($density);\n }\n @if $typography != null {\n @include mat-sort-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n@mixin mat-tabs-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n $header-border: 1px solid mat-color($foreground, divider);\n\n .mat-tab-nav-bar,\n .mat-tab-header {\n border-bottom: $header-border;\n }\n\n .mat-tab-group-inverted-header {\n .mat-tab-nav-bar,\n .mat-tab-header {\n border-top: $header-border;\n border-bottom: none;\n }\n }\n\n .mat-tab-label, .mat-tab-link {\n color: mat-color($foreground, text);\n\n &.mat-tab-disabled {\n color: mat-color($foreground, disabled-text);\n }\n }\n\n .mat-tab-header-pagination-chevron {\n border-color: mat-color($foreground, text);\n }\n\n .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: mat-color($foreground, disabled-text);\n }\n\n // Remove header border when there is a background color\n .mat-tab-group[class*='mat-background-'] .mat-tab-header,\n .mat-tab-nav-bar[class*='mat-background-'] {\n border-bottom: none;\n border-top: none;\n }\n\n .mat-tab-group, .mat-tab-nav-bar {\n $theme-colors: (\n primary: $primary,\n accent: $accent,\n warn: $warn\n );\n\n @each $name, $color in $theme-colors {\n // Set the foreground color of the tabs\n &.mat-#{$name} {\n @include _mat-tab-label-focus($color);\n @include _mat-ink-bar($color);\n\n // Override ink bar when background color is the same\n &.mat-background-#{$name} {\n @include _mat-ink-bar($color, default-contrast);\n }\n }\n }\n\n @each $name, $color in $theme-colors {\n // Set background color of the tabs and override focus color\n &.mat-background-#{$name} {\n @include _mat-tab-label-focus($color);\n @include _mat-tabs-background($color);\n }\n }\n }\n}\n\n@mixin _mat-ink-bar($color, $hue: default) {\n .mat-ink-bar {\n background-color: mat-color($color, $hue);\n }\n}\n\n@mixin _mat-tab-label-focus($tab-focus-color) {\n .mat-tab-label,\n .mat-tab-link {\n &.cdk-keyboard-focused,\n &.cdk-program-focused {\n &:not(.mat-tab-disabled) {\n background-color: mat-color($tab-focus-color, lighter, 0.3);\n }\n }\n }\n}\n\n@mixin _mat-tabs-background($background-color) {\n // Set background color for the tab group\n .mat-tab-header, .mat-tab-links, .mat-tab-header-pagination {\n background-color: mat-color($background-color);\n }\n\n // Set labels to contrast against background\n .mat-tab-label, .mat-tab-link {\n color: mat-color($background-color, default-contrast);\n\n &.mat-tab-disabled {\n color: mat-color($background-color, default-contrast, 0.4);\n }\n }\n\n // Set pagination chevrons to contrast background\n .mat-tab-header-pagination-chevron {\n border-color: mat-color($background-color, default-contrast);\n }\n\n .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: mat-color($background-color, default-contrast, 0.4);\n }\n\n // Set ripples color to be the contrast color of the new background. Otherwise the ripple\n // color will be based on the app background color.\n .mat-ripple-element {\n background-color: mat-color($background-color, default-contrast, 0.12);\n }\n}\n\n@mixin mat-tabs-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-tab-group {\n font-family: mat-font-family($config);\n }\n\n .mat-tab-label, .mat-tab-link {\n font: {\n family: mat-font-family($config, button);\n size: mat-font-size($config, button);\n weight: mat-font-weight($config, button);\n }\n }\n}\n\n@mixin _mat-tabs-density($config-or-theme) {}\n\n@mixin mat-tabs-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-tabs') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-tabs-color($color);\n }\n @if $density != null {\n @include _mat-tabs-density($density);\n }\n @if $typography != null {\n @include mat-tabs-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n// Minimum height for toolbar's in the highest density is difficult to determine because\n// developers can project arbitrary content. We use a minimum value that ensures that most\n// common content (e.g. icon buttons) does not exceed the row boundaries in highest density.\n$mat-toolbar-minimum-height: 44px !default;\n\n$mat-toolbar-height-desktop: 64px !default;\n$mat-toolbar-maximum-height-desktop: $mat-toolbar-height-desktop !default;\n$mat-toolbar-minimum-height-desktop: $mat-toolbar-minimum-height !default;\n\n$mat-toolbar-height-mobile: 56px !default;\n$mat-toolbar-maximum-height-mobile: $mat-toolbar-height-mobile !default;\n$mat-toolbar-minimum-height-mobile: $mat-toolbar-minimum-height !default;\n\n$mat-toolbar-desktop-density-config: (\n height: (\n default: $mat-toolbar-height-desktop,\n maximum: $mat-toolbar-maximum-height-desktop,\n minimum: $mat-toolbar-minimum-height-desktop,\n )\n) !default;\n\n$mat-toolbar-mobile-density-config: (\n height: (\n default: $mat-toolbar-height-mobile,\n maximum: $mat-toolbar-maximum-height-mobile,\n minimum: $mat-toolbar-minimum-height-mobile,\n )\n) !default;\n\n\n@mixin _mat-toolbar-height($height) {\n .mat-toolbar-multiple-rows {\n min-height: $height;\n }\n .mat-toolbar-row, .mat-toolbar-single-row {\n height: $height;\n }\n}\n\n@mixin _mat-toolbar-color($palette) {\n background: mat-color($palette);\n color: mat-color($palette, default-contrast);\n}\n\n@mixin _mat-toolbar-form-field-overrides {\n .mat-form-field-underline,\n .mat-form-field-ripple,\n .mat-focused .mat-form-field-ripple {\n background-color: currentColor;\n }\n\n .mat-form-field-label,\n .mat-focused .mat-form-field-label,\n .mat-select-value,\n .mat-select-arrow,\n .mat-form-field.mat-focused .mat-select-arrow {\n color: inherit;\n }\n\n .mat-input-element {\n caret-color: currentColor;\n }\n}\n\n@mixin mat-toolbar-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-toolbar {\n background: mat-color($background, app-bar);\n color: mat-color($foreground, text);\n\n &.mat-primary {\n @include _mat-toolbar-color($primary);\n }\n\n &.mat-accent {\n @include _mat-toolbar-color($accent);\n }\n\n &.mat-warn {\n @include _mat-toolbar-color($warn);\n }\n\n @include _mat-toolbar-form-field-overrides;\n }\n}\n\n@mixin mat-toolbar-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-toolbar,\n .mat-toolbar h1,\n .mat-toolbar h2,\n .mat-toolbar h3,\n .mat-toolbar h4,\n .mat-toolbar h5,\n .mat-toolbar h6 {\n @include mat-typography-level-to-styles($config, title);\n margin: 0;\n }\n}\n\n@mixin _mat-toolbar-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n $height-desktop: _mat-density-prop-value(\n $mat-toolbar-desktop-density-config, $density-scale, height);\n $height-mobile: _mat-density-prop-value(\n $mat-toolbar-mobile-density-config, $density-scale, height);\n\n @include _mat-density-legacy-compatibility() {\n // Set the default height for the toolbar.\n @include _mat-toolbar-height($height-desktop);\n\n // As per specs, toolbars should have a different height in mobile devices. This has been\n // specified in the old guidelines and is still observable in the new specifications by\n // looking at the spec images. See: https://material.io/design/components/app-bars-top.html#anatomy\n @media ($mat-xsmall) {\n @include _mat-toolbar-height($height-mobile);\n }\n }\n}\n\n@mixin mat-toolbar-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-toolbar') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-toolbar-color($color);\n }\n @if $density != null {\n @include _mat-toolbar-density($density);\n }\n @if $typography != null {\n @include mat-toolbar-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n$mat-tooltip-target-height: 22px;\n$mat-tooltip-font-size: 10px;\n$mat-tooltip-vertical-padding: ($mat-tooltip-target-height - $mat-tooltip-font-size) / 2;\n\n$mat-tooltip-handset-target-height: 30px;\n$mat-tooltip-handset-font-size: 14px;\n$mat-tooltip-handset-vertical-padding:\n ($mat-tooltip-handset-target-height - $mat-tooltip-handset-font-size) / 2;\n\n@mixin mat-tooltip-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n\n .mat-tooltip {\n background: mat-color($background, tooltip, 0.9);\n }\n}\n\n@mixin mat-tooltip-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-tooltip {\n font-family: mat-font-family($config);\n font-size: $mat-tooltip-font-size;\n padding-top: $mat-tooltip-vertical-padding;\n padding-bottom: $mat-tooltip-vertical-padding;\n }\n\n .mat-tooltip-handset {\n font-size: $mat-tooltip-handset-font-size;\n padding-top: $mat-tooltip-handset-vertical-padding;\n padding-bottom: $mat-tooltip-handset-vertical-padding;\n }\n}\n\n@mixin _mat-tooltip-density($config-or-theme) {}\n\n@mixin mat-tooltip-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-tooltip') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-tooltip-color($color);\n }\n @if $density != null {\n @include _mat-tooltip-density($density);\n }\n @if $typography != null {\n @include mat-tooltip-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n@mixin mat-snack-bar-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $is-dark-theme: map-get($config, is-dark);\n $accent: map-get($config, accent);\n\n .mat-snack-bar-container {\n // Use the primary text on the dark theme, even though the lighter one uses\n // a secondary, because the contrast on the light primary text is poor.\n color: if($is-dark-theme, $dark-primary-text, $light-secondary-text);\n background: if($is-dark-theme, map-get($mat-grey, 50), #323232);\n\n @include _mat-theme-elevation(6, $config);\n }\n\n .mat-simple-snackbar-action {\n color: if($is-dark-theme, inherit, mat-color($accent, text));\n }\n}\n\n@mixin mat-snack-bar-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-simple-snackbar {\n font: {\n family: mat-font-family($config, body-1);\n size: mat-font-size($config, body-1);\n }\n }\n\n .mat-simple-snackbar-action {\n line-height: 1;\n font: {\n family: inherit;\n size: inherit;\n weight: mat-font-weight($config, button);\n }\n }\n}\n\n@mixin _mat-snack-bar-density($config-or-theme) {}\n\n@mixin mat-snack-bar-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-snack-bar') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-snack-bar-color($color);\n }\n @if $density != null {\n @include _mat-snack-bar-density($density);\n }\n @if $typography != null {\n @include mat-snack-bar-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Theme styles that only apply to the fill appearance of the form-field.\n\n@mixin mat-form-field-fill-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $is-dark-theme: map-get($config, is-dark);\n\n $fill-background: mat-color($foreground, base, if($is-dark-theme, 0.1, 0.04));\n $fill-disabled-background: mat-color($foreground, base, if($is-dark-theme, 0.05, 0.02));\n $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.5, 0.42));\n $label-disabled-color: mat-color($foreground, disabled-text);\n\n .mat-form-field-appearance-fill {\n .mat-form-field-flex {\n background-color: $fill-background;\n }\n\n &.mat-form-field-disabled .mat-form-field-flex {\n background-color: $fill-disabled-background;\n }\n\n .mat-form-field-underline::before {\n background-color: $underline-color;\n }\n\n &.mat-form-field-disabled {\n .mat-form-field-label {\n color: $label-disabled-color;\n }\n\n .mat-form-field-underline::before {\n background-color: transparent;\n }\n }\n }\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-fill-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-fill-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-fill-dedupe)\n scale($font-scale);\n width: 100% / $font-scale + $mat-form-field-fill-dedupe;\n\n $mat-form-field-fill-dedupe: $mat-form-field-fill-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-fill-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n // The unit-less line-height from the font config.\n $line-height: mat-line-height($config, input);\n // The amount to scale the font for the floating label and subscript.\n $subscript-font-scale: 0.75;\n // The padding on top of the infix.\n $infix-padding-top: 0.25em;\n // The padding below the infix.\n $infix-padding-bottom: 0.75em;\n // The margin applied to the form-field-infix to reserve space for the floating label.\n $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n // The amount we offset the label from the input text in the fill appearance.\n $fill-appearance-label-offset: -0.5em;\n\n .mat-form-field-appearance-fill {\n .mat-form-field-infix {\n padding: $infix-padding-top 0 $infix-padding-bottom 0;\n }\n\n .mat-form-field-label {\n top: $infix-margin-top + $infix-padding-top;\n margin-top: $fill-appearance-label-offset;\n }\n\n &.mat-form-field-can-float {\n &.mat-form-field-should-float .mat-form-field-label,\n .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n @include _mat-form-field-fill-label-floating(\n $subscript-font-scale, $infix-padding-top + $fill-appearance-label-offset,\n $infix-margin-top);\n }\n\n // Server-side rendered matInput with a label attribute but label not shown\n // (used as a pure CSS stand-in for mat-form-field-should-float).\n .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-fill-label-floating(\n $subscript-font-scale, $infix-padding-top + $fill-appearance-label-offset,\n $infix-margin-top);\n }\n }\n }\n}\n\n@mixin _mat-form-field-fill-density($config-or-theme) {}\n\n@mixin mat-form-field-fill-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-form-field-fill') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-form-field-fill-color($color);\n }\n @if $density != null {\n @include _mat-form-field-fill-density($density);\n }\n @if $typography != null {\n @include mat-form-field-fill-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n// Theme styles that only apply to the legacy appearance of the form-field.\n\n@mixin mat-form-field-legacy-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $is-dark-theme: map-get($config, is-dark);\n\n $label-color: mat-color($foreground, secondary-text);\n $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.7, 0.42));\n\n .mat-form-field-appearance-legacy {\n .mat-form-field-label {\n color: $label-color;\n }\n\n .mat-hint {\n color: $label-color;\n }\n\n .mat-form-field-underline {\n background-color: $underline-color;\n }\n\n &.mat-form-field-disabled .mat-form-field-underline {\n @include mat-control-disabled-underline($underline-color);\n }\n }\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-legacy-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-legacy-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n // We use perspective to fix the text blurriness as described here:\n // http://www.useragentman.com/blog/2014/05/04/fixing-typography-inside-of-2-d-css-transforms/\n // This results in a small jitter after the label floats on Firefox, which the\n // translateZ fixes.\n transform: translateY(-$infix-margin-top - $infix-padding) scale($font-scale) perspective(100px)\n translateZ(0.001px + $mat-form-field-legacy-dedupe);\n // The tricks above used to smooth out the animation on chrome and firefox actually make things\n // worse on IE, so we don't include them in the IE version.\n -ms-transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-legacy-dedupe)\n scale($font-scale);\n\n width: 100% / $font-scale + $mat-form-field-legacy-dedupe;\n\n $mat-form-field-legacy-dedupe: $mat-form-field-legacy-dedupe + 0.00001 !global;\n}\n\n// Same as mixin above, but omits the translateZ for printing purposes.\n@mixin _mat-form-field-legacy-label-floating-print($font-scale, $infix-padding, $infix-margin-top) {\n // This results in a small jitter after the label floats on Firefox, which the\n // translateZ fixes.\n transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-legacy-dedupe)\n scale($font-scale);\n // The tricks above used to smooth out the animation on chrome and firefox actually make things\n // worse on IE, so we don't include them in the IE version.\n $mat-form-field-legacy-dedupe: $mat-form-field-legacy-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-legacy-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n // The unit-less line-height from the font config.\n $line-height: mat-line-height($config, input);\n // The amount to scale the font for the floating label and subscript.\n $subscript-font-scale: 0.75;\n // The amount of space between the top of the line and the top of the actual text\n // (as a fraction of the font-size).\n $line-spacing: ($line-height - 1) / 2;\n // The padding on the infix. Mocks show half of the text size, but seem to measure from the edge\n // of the text itself, not the edge of the line; therefore we subtract off the line spacing.\n $infix-padding: 0.5em - $line-spacing;\n // The margin applied to the form-field-infix to reserve space for the floating label.\n $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.\n // Mocks show half of the text size, but this margin is applied to an element with the subscript\n // text font size, so we need to divide by the scale factor to make it half of the original text\n // size. We again need to subtract off the line spacing since the mocks measure to the edge of the\n // text, not the edge of the line.\n $subscript-margin-top: 0.5em / $subscript-font-scale - ($line-spacing * 2);\n // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's\n // absolutely positioned. This is a combination of the subscript's margin and line-height, but we\n // need to multiply by the subscript font scale factor since the wrapper has a larger font size.\n $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;\n\n .mat-form-field-appearance-legacy {\n .mat-form-field-wrapper {\n padding-bottom: $wrapper-padding-bottom;\n }\n\n .mat-form-field-infix {\n padding: $infix-padding 0;\n }\n\n &.mat-form-field-can-float {\n &.mat-form-field-should-float .mat-form-field-label,\n .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n @include _mat-form-field-legacy-label-floating(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n\n // @breaking-change 8.0.0 will rely on AutofillMonitor instead.\n .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-legacy-label-floating(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n\n // Server-side rendered matInput with a label attribute but label not shown\n // (used as a pure CSS stand-in for mat-form-field-should-float).\n .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-legacy-label-floating(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n }\n\n .mat-form-field-label {\n top: $infix-margin-top + $infix-padding;\n }\n\n .mat-form-field-underline {\n // We want the underline to start at the end of the content box, not the padding box,\n // so we move it up by the padding amount.\n bottom: $wrapper-padding-bottom;\n }\n\n .mat-form-field-subscript-wrapper {\n margin-top: $subscript-margin-top;\n\n // We want the subscript to start at the end of the content box, not the padding box,\n // so we move it up by the padding amount (adjusted for the smaller font size);\n top: calc(100% - #{$wrapper-padding-bottom / $subscript-font-scale});\n }\n }\n\n // translateZ causes the label to not appear while printing, so we override it to not\n // apply translateZ while printing\n @media print {\n .mat-form-field-appearance-legacy {\n &.mat-form-field-can-float {\n &.mat-form-field-should-float .mat-form-field-label,\n .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n @include _mat-form-field-legacy-label-floating-print(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n\n // @breaking-change 8.0.0 will rely on AutofillMonitor instead.\n .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-legacy-label-floating-print(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n\n // Server-side rendered matInput with a label attribute but label not shown\n // (used as a pure CSS stand-in for mat-form-field-should-float).\n .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-legacy-label-floating-print(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n }\n }\n }\n}\n\n@mixin _mat-form-field-legacy-density($config-or-theme) {}\n\n@mixin mat-form-field-legacy-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-form-field-legacy') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-form-field-legacy-color($color);\n }\n @if $density != null {\n @include _mat-form-field-legacy-density($density);\n }\n @if $typography != null {\n @include mat-form-field-legacy-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n// Theme styles that only apply to the outline appearance of the form-field.\n\n@mixin mat-form-field-outline-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $foreground: map-get($config, foreground);\n $is-dark-theme: map-get($config, is-dark);\n\n $label-disabled-color: mat-color($foreground, disabled-text);\n $outline-color: mat-color($foreground, divider, if($is-dark-theme, 0.3, 0.12));\n $outline-color-hover: mat-color($foreground, divider, if($is-dark-theme, 1, 0.87));\n $outline-color-primary: mat-color($primary);\n $outline-color-accent: mat-color($accent);\n $outline-color-warn: mat-color($warn);\n $outline-color-disabled: mat-color($foreground, divider, if($is-dark-theme, 0.15, 0.06));\n\n .mat-form-field-appearance-outline {\n .mat-form-field-outline {\n color: $outline-color;\n }\n\n .mat-form-field-outline-thick {\n color: $outline-color-hover;\n }\n\n &.mat-focused {\n .mat-form-field-outline-thick {\n color: $outline-color-primary;\n }\n\n &.mat-accent .mat-form-field-outline-thick {\n color: $outline-color-accent;\n }\n\n &.mat-warn .mat-form-field-outline-thick {\n color: $outline-color-warn;\n }\n }\n\n // Class repeated so that rule is specific enough to override focused accent color case.\n &.mat-form-field-invalid.mat-form-field-invalid {\n .mat-form-field-outline-thick {\n color: $outline-color-warn;\n }\n }\n\n &.mat-form-field-disabled {\n .mat-form-field-label {\n color: $label-disabled-color;\n }\n\n .mat-form-field-outline {\n color: $outline-color-disabled;\n }\n }\n }\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-outline-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-outline-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-outline-dedupe)\n scale($font-scale);\n width: 100% / $font-scale + $mat-form-field-outline-dedupe;\n\n $mat-form-field-outline-dedupe: $mat-form-field-outline-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-outline-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n // The unit-less line-height from the font config.\n $line-height: mat-line-height($config, input);\n // The amount to scale the font for the floating label and subscript.\n $subscript-font-scale: 0.75;\n // The padding above and below the infix.\n $infix-padding: 1em;\n // The margin applied to the form-field-infix to reserve space for the floating label.\n $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.\n // Mocks show half of the text size, but this margin is applied to an element with the subscript\n // text font size, so we need to divide by the scale factor to make it half of the original text\n // size.\n $subscript-margin-top: 0.5em / $subscript-font-scale;\n // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's\n // absolutely positioned. This is a combination of the subscript's margin and line-height, but we\n // need to multiply by the subscript font scale factor since the wrapper has a larger font size.\n $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;\n // The amount we offset the label from the input text in the outline appearance.\n $outline-appearance-label-offset: -0.25em;\n\n .mat-form-field-appearance-outline {\n .mat-form-field-infix {\n padding: $infix-padding 0 $infix-padding 0;\n }\n\n .mat-form-field-label {\n top: $infix-margin-top + $infix-padding;\n margin-top: $outline-appearance-label-offset;\n }\n\n &.mat-form-field-can-float {\n &.mat-form-field-should-float .mat-form-field-label,\n .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n @include _mat-form-field-outline-label-floating(\n $subscript-font-scale, $infix-padding + $outline-appearance-label-offset,\n $infix-margin-top);\n }\n\n // Server-side rendered matInput with a label attribute but label not shown\n // (used as a pure CSS stand-in for mat-form-field-should-float).\n .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-outline-label-floating(\n $subscript-font-scale, $infix-padding + $outline-appearance-label-offset,\n $infix-margin-top);\n }\n }\n }\n}\n\n@mixin _mat-form-field-outline-density($config-or-theme) {}\n\n@mixin mat-form-field-outline-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-form-field-outline') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-form-field-outline-color($color);\n }\n @if $density != null {\n @include _mat-form-field-outline-density($density);\n }\n @if $typography != null {\n @include mat-form-field-outline-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n\n\n\n// Theme styles that only apply to the standard appearance of the form-field.\n\n@mixin mat-form-field-standard-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $foreground: map-get($config, foreground);\n $is-dark-theme: map-get($config, is-dark);\n\n $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.7, 0.42));\n\n .mat-form-field-appearance-standard {\n .mat-form-field-underline {\n background-color: $underline-color;\n }\n\n &.mat-form-field-disabled .mat-form-field-underline {\n @include mat-control-disabled-underline($underline-color);\n }\n }\n}\n\n@mixin mat-form-field-standard-typography($config-or-theme) {}\n\n@mixin _mat-form-field-standard-density($config-or-theme) {}\n\n@mixin mat-form-field-standard-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-form-field-standard') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-form-field-standard-color($color);\n }\n @if $density != null {\n @include _mat-form-field-standard-density($density);\n }\n @if $typography != null {\n @include mat-form-field-standard-typography($typography);\n }\n }\n}\n\n\n// Color styles that apply to all appearances of the form-field.\n@mixin mat-form-field-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $primary: map-get($config, primary);\n $accent: map-get($config, accent);\n $warn: map-get($config, warn);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n $is-dark-theme: map-get($config, is-dark);\n\n // Label colors. Required is used for the `*` star shown in the label.\n $label-color: mat-color($foreground, secondary-text, if($is-dark-theme, 0.7, 0.6));\n $focused-label-color: mat-color($primary, text);\n $required-label-color: mat-color($accent, text);\n\n // Underline colors.\n $underline-color-base: mat-color($foreground, divider, if($is-dark-theme, 1, 0.87));\n $underline-color-accent: mat-color($accent, text);\n $underline-color-warn: mat-color($warn, text);\n $underline-focused-color: mat-color($primary, text);\n\n .mat-form-field-label {\n color: $label-color;\n }\n\n .mat-hint {\n color: $label-color;\n }\n\n .mat-form-field.mat-focused .mat-form-field-label {\n color: $focused-label-color;\n\n &.mat-accent {\n color: $underline-color-accent;\n }\n\n &.mat-warn {\n color: $underline-color-warn;\n }\n }\n\n .mat-focused .mat-form-field-required-marker {\n color: $required-label-color;\n }\n\n .mat-form-field-ripple {\n background-color: $underline-color-base;\n }\n\n .mat-form-field.mat-focused {\n .mat-form-field-ripple {\n background-color: $underline-focused-color;\n\n &.mat-accent {\n background-color: $underline-color-accent;\n }\n\n &.mat-warn {\n background-color: $underline-color-warn;\n }\n }\n }\n\n .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) {\n .mat-form-field-infix::after {\n color: $underline-focused-color;\n }\n\n &.mat-accent .mat-form-field-infix::after {\n color: $underline-color-accent;\n }\n\n &.mat-warn .mat-form-field-infix::after {\n color: $underline-color-warn;\n }\n }\n\n // Styling for the error state of the form field. Note that while the same can be\n // achieved with the ng-* classes, we use this approach in order to ensure that the same\n // logic is used to style the error state and to show the error messages.\n .mat-form-field.mat-form-field-invalid {\n .mat-form-field-label {\n color: $underline-color-warn;\n\n &.mat-accent,\n .mat-form-field-required-marker {\n color: $underline-color-warn;\n }\n }\n\n .mat-form-field-ripple,\n .mat-form-field-ripple.mat-accent {\n background-color: $underline-color-warn;\n }\n }\n\n .mat-error {\n color: $underline-color-warn;\n }\n\n @include mat-form-field-legacy-color($config);\n @include mat-form-field-standard-color($config);\n @include mat-form-field-fill-color($config);\n @include mat-form-field-outline-color($config);\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-dedupe)\n scale($font-scale);\n width: 100% / $font-scale + $mat-form-field-dedupe;\n\n $mat-form-field-dedupe: $mat-form-field-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n // The unit-less line-height from the font config.\n $line-height: mat-line-height($config, input);\n\n // The amount to scale the font for the floating label and subscript.\n $subscript-font-scale: 0.75;\n // The amount to scale the font for the prefix and suffix icons.\n $prefix-suffix-icon-font-scale: 1.5;\n\n // The padding on the infix. Mocks show half of the text size.\n $infix-padding: 0.5em;\n // The margin applied to the form-field-infix to reserve space for the floating label.\n $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n // Font size to use for the label and subscript text.\n $subscript-font-size: $subscript-font-scale * 100%;\n // Font size to use for the for the prefix and suffix icons.\n $prefix-suffix-icon-font-size: $prefix-suffix-icon-font-scale * 100%;\n // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.\n // Mocks show half of the text size, but this margin is applied to an element with the subscript\n // text font size, so we need to divide by the scale factor to make it half of the original text\n // size.\n $subscript-margin-top: 0.5em / $subscript-font-scale;\n // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's\n // absolutely positioned. This is a combination of the subscript's margin and line-height, but we\n // need to multiply by the subscript font scale factor since the wrapper has a larger font size.\n $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;\n\n .mat-form-field {\n @include mat-typography-level-to-styles($config, input);\n }\n\n .mat-form-field-wrapper {\n padding-bottom: $wrapper-padding-bottom;\n }\n\n .mat-form-field-prefix,\n .mat-form-field-suffix {\n // Allow icons in a prefix or suffix to adapt to the correct size.\n .mat-icon {\n font-size: $prefix-suffix-icon-font-size;\n line-height: $line-height;\n }\n\n // Allow icon buttons in a prefix or suffix to adapt to the correct size.\n .mat-icon-button {\n height: $prefix-suffix-icon-font-scale * 1em;\n width: $prefix-suffix-icon-font-scale * 1em;\n\n .mat-icon {\n height: $line-height * 1em;\n line-height: $line-height;\n }\n }\n }\n\n .mat-form-field-infix {\n padding: $infix-padding 0;\n // Throws off the baseline if we do it as a real margin, so we do it as a border instead.\n border-top: $infix-margin-top solid transparent;\n }\n\n .mat-form-field-can-float {\n &.mat-form-field-should-float .mat-form-field-label,\n .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n @include _mat-form-field-label-floating(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n\n // Server-side rendered matInput with a label attribute but label not shown\n // (used as a pure CSS stand-in for mat-form-field-should-float).\n .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n .mat-form-field-label {\n @include _mat-form-field-label-floating(\n $subscript-font-scale, $infix-padding, $infix-margin-top);\n }\n }\n\n .mat-form-field-label-wrapper {\n top: -$infix-margin-top;\n padding-top: $infix-margin-top;\n }\n\n .mat-form-field-label {\n top: $infix-margin-top + $infix-padding;\n }\n\n .mat-form-field-underline {\n // We want the underline to start at the end of the content box, not the padding box,\n // so we move it up by the padding amount.\n bottom: $wrapper-padding-bottom;\n }\n\n .mat-form-field-subscript-wrapper {\n font-size: $subscript-font-size;\n margin-top: $subscript-margin-top;\n\n // We want the subscript to start at the end of the content box, not the padding box,\n // so we move it up by the padding amount (adjusted for the smaller font size);\n top: calc(100% - #{$wrapper-padding-bottom / $subscript-font-scale});\n }\n\n @include mat-form-field-legacy-typography($config);\n @include mat-form-field-standard-typography($config);\n @include mat-form-field-fill-typography($config);\n @include mat-form-field-outline-typography($config);\n}\n\n@mixin _mat-form-field-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n @include _mat-form-field-legacy-density($density-scale);\n @include _mat-form-field-standard-density($density-scale);\n @include _mat-form-field-fill-density($density-scale);\n @include _mat-form-field-outline-density($density-scale);\n}\n\n@mixin mat-form-field-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-form-field') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-form-field-color($color);\n }\n @if $density != null {\n @include _mat-form-field-density($density);\n }\n @if $typography != null {\n @include mat-form-field-typography($typography);\n }\n }\n}\n\n\n\n\n\n\n$mat-tree-node-height: 48px !default;\n// Minimum height for tree nodes in highest density is difficult to determine as\n// developers can display arbitrary content. We use a minimum height which ensures\n// that common content placed in tree nodes does not exceed (e.g. icons, checkboxes).\n$mat-tree-node-minimum-height: 24px !default;\n$mat-tree-node-maximum-height: $mat-tree-node-height !default;\n\n$mat-tree-density-config: (\n height: (\n default: $mat-tree-node-height,\n maximum: $mat-tree-node-maximum-height,\n minimum: $mat-tree-node-minimum-height,\n )\n) !default;\n\n\n@mixin mat-tree-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n .mat-tree {\n background: mat-color($background, 'card');\n }\n\n .mat-tree-node,\n .mat-nested-tree-node {\n color: mat-color($foreground, text);\n }\n}\n\n@mixin mat-tree-typography($config-or-theme) {\n $config: mat-get-typography-config($config-or-theme);\n .mat-tree {\n font-family: mat-font-family($config);\n }\n\n .mat-tree-node,\n .mat-nested-tree-node {\n font-weight: mat-font-weight($config, body-1);\n font-size: mat-font-size($config, body-1);\n }\n}\n\n@mixin _mat-tree-density($config-or-theme) {\n $density-scale: mat-get-density-config($config-or-theme);\n $height: _mat-density-prop-value($mat-tree-density-config, $density-scale, height);\n\n @include _mat-density-legacy-compatibility() {\n .mat-tree-node {\n min-height: $height;\n }\n }\n}\n\n@mixin mat-tree-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n @include _mat-check-duplicate-theme-styles($theme, 'mat-tree') {\n $color: mat-get-color-config($theme);\n $density: mat-get-density-config($theme);\n $typography: mat-get-typography-config($theme);\n\n @if $color != null {\n @include mat-tree-color($color);\n }\n @if $density != null {\n @include _mat-tree-density($density);\n }\n @if $typography != null {\n @include mat-tree-typography($typography);\n }\n }\n}\n\n\n\n\n// Includes all of the typographic styles.\n@mixin angular-material-typography($config-or-theme: null) {\n $config: if(_mat-is-theme-object($config-or-theme),\n mat-get-typography-config($config-or-theme), $config-or-theme);\n\n // If no actual color configuration has been specified, create a default one.\n @if not $config {\n $config: mat-typography-config();\n }\n\n // TODO: COMP-309: Do not use individual mixins. Instead, use the all-theme mixin and only\n // specify a `typography` config while setting `color` and `density` to `null`. This is currently\n // not possible as it would introduce a circular dependency for typography because the `mat-core`\n // mixin that is transitively loaded by the `all-theme` file, imports `all-typography` which\n // would then load `all-theme` again. This ultimately results a circular dependency.\n\n @include mat-badge-typography($config);\n @include mat-base-typography($config);\n @include mat-autocomplete-typography($config);\n @include mat-bottom-sheet-typography($config);\n @include mat-button-typography($config);\n @include mat-button-toggle-typography($config);\n @include mat-card-typography($config);\n @include mat-checkbox-typography($config);\n @include mat-chips-typography($config);\n @include mat-divider-typography($config);\n @include mat-table-typography($config);\n @include mat-datepicker-typography($config);\n @include mat-dialog-typography($config);\n @include mat-expansion-panel-typography($config);\n @include mat-form-field-typography($config);\n @include mat-grid-list-typography($config);\n @include mat-icon-typography($config);\n @include mat-input-typography($config);\n @include mat-menu-typography($config);\n @include mat-paginator-typography($config);\n @include mat-progress-bar-typography($config);\n @include mat-progress-spinner-typography($config);\n @include mat-radio-typography($config);\n @include mat-select-typography($config);\n @include mat-sidenav-typography($config);\n @include mat-slide-toggle-typography($config);\n @include mat-slider-typography($config);\n @include mat-stepper-typography($config);\n @include mat-sort-typography($config);\n @include mat-tabs-typography($config);\n @include mat-toolbar-typography($config);\n @include mat-tooltip-typography($config);\n @include mat-list-typography($config);\n @include mat-option-typography($config);\n @include mat-optgroup-typography($config);\n @include mat-snack-bar-typography($config);\n @include mat-tree-typography($config);\n}\n\n\n// Mixin that renders all of the core styles that are not theme-dependent.\n@mixin mat-core($typography-config: null) {\n @include angular-material-typography($typography-config);\n @include mat-ripple();\n @include cdk-a11y();\n @include cdk-overlay();\n @include cdk-text-field();\n\n @include _mat-strong-focus-indicators-positioning();\n @include _mat-mdc-core();\n}\n\n@mixin mat-core-color($config-or-theme) {\n $config: mat-get-color-config($config-or-theme);\n // Wrapper element that provides the theme background when the user's content isn't\n // inside of a `mat-sidenav-container`. Note that we need to exclude the ampersand\n // selector in case the mixin is included at the top level.\n .mat-app-background#{if(&, ', &.mat-app-background', '')} {\n $background: map-get($config, background);\n $foreground: map-get($config, foreground);\n\n background-color: mat-color($background, background);\n color: mat-color($foreground, text);\n }\n\n // Provides external CSS classes for each elevation value. Each CSS class is formatted as\n // `mat-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the element is\n // elevated.\n @for $zValue from 0 through 24 {\n .#{$_mat-elevation-prefix}#{$zValue} {\n @include _mat-theme-elevation($zValue, $config);\n }\n }\n\n // Marker that is used to determine whether the user has added a theme to their page.\n @at-root {\n .mat-theme-loaded-marker {\n display: none;\n }\n }\n}\n\n// Mixin that renders all of the core styles that depend on the theme.\n@mixin mat-core-theme($theme-or-color-config) {\n $theme: _mat-legacy-get-theme($theme-or-color-config);\n // Wrap the sub-theme includes in the duplicate theme styles mixin. This ensures that\n // there won't be multiple warnings. e.g. if `mat-core-theme` reports a warning, then\n // the imported themes (such as `mat-ripple-theme`) should not report again.\n @include _mat-check-duplicate-theme-styles($theme, 'mat-core') {\n @include mat-ripple-theme($theme);\n @include mat-option-theme($theme);\n @include mat-optgroup-theme($theme);\n @include mat-pseudo-checkbox-theme($theme);\n\n $color: mat-get-color-config($theme);\n @if $color != null {\n @include mat-core-color($color);\n }\n }\n}\n\n// Mixin that renders all of the core MDC styles. Private mixin included with `mat-core`.\n@mixin _mat-mdc-core() {\n @include _mat-mdc-strong-focus-indicators-positioning();\n}\n\n// Mixin that ensures focus indicator host elements are positioned so that the focus indicator\n// pseudo element within is positioned relative to the host. Private mixin included within\n// `_mat-mdc-core`.\n@mixin _mat-mdc-strong-focus-indicators-positioning() {\n .mat-mdc-focus-indicator {\n position: relative;\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Create a theme.\n@mixin angular-material-theme($theme-or-color-config) {\n @include _mat-check-duplicate-theme-styles($theme-or-color-config, 'angular-material-theme') {\n @include mat-core-theme($theme-or-color-config);\n @include mat-autocomplete-theme($theme-or-color-config);\n @include mat-badge-theme($theme-or-color-config);\n @include mat-bottom-sheet-theme($theme-or-color-config);\n @include mat-button-theme($theme-or-color-config);\n @include mat-button-toggle-theme($theme-or-color-config);\n @include mat-card-theme($theme-or-color-config);\n @include mat-checkbox-theme($theme-or-color-config);\n @include mat-chips-theme($theme-or-color-config);\n @include mat-table-theme($theme-or-color-config);\n @include mat-datepicker-theme($theme-or-color-config);\n @include mat-dialog-theme($theme-or-color-config);\n @include mat-divider-theme($theme-or-color-config);\n @include mat-expansion-panel-theme($theme-or-color-config);\n @include mat-form-field-theme($theme-or-color-config);\n @include mat-grid-list-theme($theme-or-color-config);\n @include mat-icon-theme($theme-or-color-config);\n @include mat-input-theme($theme-or-color-config);\n @include mat-list-theme($theme-or-color-config);\n @include mat-menu-theme($theme-or-color-config);\n @include mat-paginator-theme($theme-or-color-config);\n @include mat-progress-bar-theme($theme-or-color-config);\n @include mat-progress-spinner-theme($theme-or-color-config);\n @include mat-radio-theme($theme-or-color-config);\n @include mat-select-theme($theme-or-color-config);\n @include mat-sidenav-theme($theme-or-color-config);\n @include mat-slide-toggle-theme($theme-or-color-config);\n @include mat-slider-theme($theme-or-color-config);\n @include mat-stepper-theme($theme-or-color-config);\n @include mat-sort-theme($theme-or-color-config);\n @include mat-tabs-theme($theme-or-color-config);\n @include mat-toolbar-theme($theme-or-color-config);\n @include mat-tooltip-theme($theme-or-color-config);\n @include mat-tree-theme($theme-or-color-config);\n @include mat-snack-bar-theme($theme-or-color-config);\n }\n}\n\n\n// Includes all of the color styles.\n@mixin angular-material-color($config-or-theme) {\n // In case a theme object has been passed instead of a configuration for\n // the color system, extract the color config from the theme object.\n $config: if(_mat-is-theme-object($config-or-theme),\n mat-get-color-config($config-or-theme), $config-or-theme);\n\n @if $config == null {\n @error 'No color configuration specified.';\n }\n\n @include angular-material-theme((\n color: $config,\n typography: null,\n density: null,\n ));\n}\n\n\n\n// Includes all of the density styles.\n@mixin _angular-material-density($config-or-theme) {\n // In case a theme object has been passed instead of a configuration for\n // the density system, extract the density config from the theme object.\n $config: if(_mat-is-theme-object($config-or-theme),\n mat-get-density-config($config-or-theme), $config-or-theme);\n\n @if $config == null {\n @error 'No density configuration specified.';\n }\n\n @include angular-material-theme((\n color: null,\n typography: null,\n density: $config,\n ));\n}\n\n\n\n","@import '../theme-functions';\n@import '../rtl';\n\n// Standard button sizing.\n$mat-button-padding: 0 rem(0.6) !default;\n$mat-button-min-width: rem(8.8) !default;\n$mat-button-margin: rem(0.6) rem(0.8) !default;\n$mat-button-line-height: rem(3.6) !default;\n$mat-button-border-radius: 3px !default;\n\n// FAB sizing.\n$mat-fab-border-radius: 50%;\n$mat-fab-size: rem(5.6) !default;\n$mat-fab-line-height: rem(5.6) !default;\n$mat-fab-padding: rem(1.6) !default;\n$mat-fab-mini-size: rem(4) !default;\n$mat-fab-mini-line-height: rem(4) !default;\n\n// Icon button sizing.\n$mat-icon-button-height: rem(4) !default;\n$mat-icon-button-width: rem(4) !default;\n$mat-icon-button-margin: rem(0.6) !default;\n$mat-icon-border-radius: $mat-fab-border-radius;\n\n/** Mixin to create distinct classes for fab positions, e.g. \".mat-fab-position-bottom-right\". */\n@mixin mat-fab-position($spot, $top: auto, $right: auto, $bottom: auto, $left: auto) {\n [mat-fab].mat-fab-position-#{$spot},\n .mat-fab.mat-fab-position-#{$spot},\n [mat-fab].mat-fab-#{$spot},\n .mat-fab.mat-fab-#{$spot} {\n top: $top;\n @include rtl(right, $right, $left);\n @include rtl(left, $left, $right);\n\n bottom: $bottom;\n position: absolute;\n &.fixed {\n position: fixed;\n }\n }\n}\n\n@mixin td-button-utilities() {\n $mat-fab-pos-offset: ($mat-fab-size - $mat-fab-padding) / 2;\n @include mat-fab-position(bottom-right, auto, $mat-fab-pos-offset, $mat-fab-pos-offset, auto);\n @include mat-fab-position(bottom-left, auto, auto, $mat-fab-pos-offset, $mat-fab-pos-offset);\n @include mat-fab-position(top-right, $mat-fab-pos-offset, $mat-fab-pos-offset, auto, auto);\n @include mat-fab-position(top-left, $mat-fab-pos-offset, auto, auto, $mat-fab-pos-offset);\n\n button {\n &[mat-icon-button] {\n &.mat-icon-button-mini {\n height: 24px;\n line-height: 24px;\n width: 24px;\n }\n }\n }\n}\n","/* stylelint-disable function-url-quotes, no-duplicate-selectors */\n\n/*\n*\n* Responsive attributes\n*\n* References:\n* 1) https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties#flex\n* 2) https://css-tricks.com/almanac/properties/f/flex/\n* 3) https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n* 4) https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items\n* 5) http://godban.com.ua/projects/flexgrid\n*\n*/\n\n// Layout\n// ------------------------------\n\n$baseline-grid: 8px !default;\n$layout-gutter-width: ($baseline-grid * 2) !default;\n\n$layout-breakpoint-xs: 600px !default;\n$layout-breakpoint-sm: 960px !default;\n$layout-breakpoint-md: 1280px !default;\n$layout-breakpoint-lg: 1920px !default;\n\n@-moz-document url-prefix() {\n [layout-fill] {\n margin: 0;\n width: 100%;\n min-height: 100%;\n height: 100%;\n }\n}\n\n@mixin flex-order-for-name($sizes: null) {\n @if $sizes == null {\n $sizes: '';\n\n [flex-order] {\n order: 0;\n }\n }\n\n @for $i from -20 through 20 {\n $order: '';\n $suffix: '';\n\n @each $s in $sizes {\n @if $s != '' {\n $suffix: '-#{$s}=\"#{$i}\"';\n } @else {\n $suffix: '=\"#{$i}\"';\n }\n\n $order: '[flex-order#{$suffix}]';\n }\n\n #{$order} {\n order: #{$i};\n }\n }\n}\n\n@mixin offset-for-name($sizes: null) {\n @if $sizes == null {\n $sizes: '';\n }\n\n @for $i from 0 through 19 {\n $offsets: '';\n $suffix: '';\n\n @each $s in $sizes {\n @if $s != '' {\n $suffix: '-#{$s}=\"#{$i * 5}\"';\n } @else {\n $suffix: '=\"#{$i * 5}\"';\n }\n\n $offsets: $offsets + '[flex-offset#{$suffix}], ';\n }\n\n #{$offsets} {\n margin-left: #{$i * 5 + '%'};\n }\n }\n\n @each $i in 33 {\n $offsets: '';\n $suffix: '';\n\n @each $s in $sizes {\n @if $s != '' {\n $suffix: '-#{$s}=\"#{$i}\"';\n } @else {\n $suffix: '=\"#{$i}\"';\n }\n\n $offsets: '[flex-offset#{$suffix}], ';\n }\n\n #{$offsets} {\n margin-left: calc(100% / 3);\n }\n }\n\n @each $i in 66 {\n $offsets: '';\n $suffix: '';\n\n @each $s in $sizes {\n @if $s != '' {\n $suffix: '-#{$s}=\"#{$i}\"';\n } @else {\n $suffix: '=\"#{$i}\"';\n }\n\n $offsets: '[flex-offset#{$suffix}]';\n }\n\n #{$offsets} {\n margin-left: calc(200% / 3);\n }\n }\n}\n\n@mixin layout-for-name($name: null) {\n @if $name == null {\n $name: '';\n }\n @if $name != '' {\n $name: '-#{$name}';\n }\n\n [layout#{$name}],\n [layout#{$name}='column'],\n [layout#{$name}='row'] {\n box-sizing: border-box;\n display: -webkit-box;\n display: -webkit-flex;\n display: -moz-box;\n display: -ms-flexbox;\n display: flex;\n }\n [layout#{$name}='column'] {\n flex-direction: column;\n }\n [layout#{$name}='row'] {\n flex-direction: row;\n }\n}\n\n@mixin flex-properties-for-name($name: null) {\n $flexName: 'flex';\n @if $name != null {\n $flexName: 'flex-#{$name}';\n $name: '-#{$name}';\n } @else {\n $name: '';\n }\n\n [#{$flexName}] {\n flex: 1;\n box-sizing: border-box;\n }\n // === flex: 1 1 0%;\n\n // IE mediaQuery hack for 8,9,10 to set the flex-basis properly for 'flex' values\n // Details:\n // Do not use unitless flex-basis values in the flex shorthand because IE 10-11 will error.\n // Also use 0% instead of 0px since minifiers will often convert 0px to 0 (which is unitless and will have the same problem).\n // Safari, however, fails with flex-basis : 0% and requires flex-basis : 0px\n @media screen\\0 {\n [#{$flexName}] {\n flex: 1 1 0%;\n }\n }\n\n [#{$flexName}='grow'],\n [#{$flexName}-grow] {\n flex: 1 1 100%;\n box-sizing: border-box;\n }\n [#{$flexName}='initial'],\n [#{$flexName}-initial] {\n flex: 0 1 auto;\n box-sizing: border-box;\n }\n [#{$flexName}='auto'],\n [#{$flexName}-auto] {\n flex: 1 1 auto;\n box-sizing: border-box;\n }\n [#{$flexName}='none'],\n [#{$flexName}-none] {\n flex: 0 0 auto;\n box-sizing: border-box;\n }\n [#{$flexName}='noshrink'],\n [#{$flexName}-noshrink] {\n flex: 1 0 auto;\n box-sizing: border-box;\n }\n [#{$flexName}='nogrow'],\n [#{$flexName}-nogrow] {\n flex: 0 1 auto;\n box-sizing: border-box;\n }\n\n // (1-20) * 5 = 0-100%\n @for $i from 0 through 20 {\n $value: #{$i * 5 + '%'};\n\n [#{$flexName}='#{$i * 5}'] {\n flex: 1 1 #{$value};\n max-width: #{$value};\n max-height: 100%;\n box-sizing: border-box;\n }\n\n [layout='row'] > [#{$flexName}='#{$i * 5}'],\n [layout#{$name}='row'] > [#{$flexName}='#{$i * 5}'] {\n flex: 1 1 #{$value};\n max-width: #{$value};\n max-height: 100%;\n box-sizing: border-box;\n }\n\n [layout='column'] > [#{$flexName}='#{$i * 5}'],\n [layout#{$name}='column'] > [#{$flexName}='#{$i * 5}'] {\n flex: 1 1 #{$value};\n max-width: 100%;\n max-height: #{$value};\n box-sizing: border-box;\n }\n }\n\n [layout='row'],\n [layout#{$name}='row'] {\n > [#{$flexName}='33'],\n > [#{$flexName}='33'] {\n flex: 1 1 33%;\n max-width: calc(100% / 3);\n max-height: 100%;\n box-sizing: border-box;\n }\n > [#{$flexName}='34'],\n > [#{$flexName}='34'] {\n flex: 1 1 34%;\n max-width: 34%;\n max-height: 100%;\n box-sizing: border-box;\n }\n > [#{$flexName}='66'],\n > [#{$flexName}='66'] {\n flex: 1 1 66%;\n max-width: calc(200% / 3);\n max-height: 100%;\n box-sizing: border-box;\n }\n > [#{$flexName}='67'],\n > [#{$flexName}='67'] {\n flex: 1 1 67%;\n max-width: 67%;\n max-height: 100%;\n box-sizing: border-box;\n }\n }\n [layout='column'],\n [layout#{$name}='column'] {\n > [#{$flexName}='33'],\n > [#{$flexName}='33'] {\n flex: 1 1 33%;\n max-width: 100%;\n max-height: calc(100% / 3);\n box-sizing: border-box;\n }\n > [#{$flexName}='34'],\n > [#{$flexName}='34'] {\n flex: 1 1 34%;\n max-width: 100%;\n max-height: 34%;\n box-sizing: border-box;\n }\n > [#{$flexName}='66'],\n > [#{$flexName}='66'] {\n flex: 1 1 66%;\n max-width: 100%;\n max-height: calc(200% / 3);\n box-sizing: border-box;\n }\n > [#{$flexName}='67'],\n > [#{$flexName}='67'] {\n flex: 1 1 67%;\n max-width: 100%;\n max-height: 67%;\n box-sizing: border-box;\n }\n }\n}\n\n@mixin layout-align-for-name($suffix: null) {\n // Alignment attributes for layout containers' children\n // Arrange on the Main Axis\n // center, start, end, space-between, space-around\n // flex-start is the default for justify-content\n // ------------------------------\n\n $name: 'layout-align';\n @if $suffix != null {\n $name: 'layout-align-#{$suffix}';\n }\n\n [#{$name}],\n [#{$name}=\"start stretch\"] // defaults\n {\n justify-content: flex-start;\n align-content: stretch;\n align-items: stretch;\n }\n // Main Axis Center\n [#{$name}='start'],\n [#{$name}='start start'],\n [#{$name}='start center'],\n [#{$name}='start end'],\n [#{$name}='start stretch'] {\n justify-content: flex-start;\n }\n\n // Main Axis Center\n [#{$name}='center'],\n [#{$name}='center start'],\n [#{$name}='center center'],\n [#{$name}='center end'],\n [#{$name}='center stretch'] {\n justify-content: center;\n }\n\n // Main Axis End\n [#{$name}=\"end\"], //stretch\n [#{$name}=\"end center\"],\n [#{$name}=\"end start\"],\n [#{$name}=\"end end\"],\n [#{$name}=\"end stretch\"] {\n justify-content: flex-end;\n }\n\n // Main Axis Space Around\n [#{$name}=\"space-around\"], //stretch\n [#{$name}=\"space-around center\"],\n [#{$name}=\"space-around start\"],\n [#{$name}=\"space-around end\"],\n [#{$name}=\"space-around stretch\"] {\n justify-content: space-around;\n }\n\n // Main Axis Space Between\n [#{$name}=\"space-between\"], //stretch\n [#{$name}=\"space-between center\"],\n [#{$name}=\"space-between start\"],\n [#{$name}=\"space-between end\"],\n [#{$name}=\"space-between stretch\"] {\n justify-content: space-between;\n }\n\n // Arrange on the Cross Axis\n // center, start, end\n // stretch is the default for align-items\n // ------------------------------\n\n // Cross Axis Start\n [#{$name}='start start'],\n [#{$name}='center start'],\n [#{$name}='end start'],\n [#{$name}='space-between start'],\n [#{$name}='space-around start'] {\n align-items: flex-start;\n align-content: flex-start;\n }\n\n // Cross Axis Center\n [#{$name}='start center'],\n [#{$name}='center center'],\n [#{$name}='end center'],\n [#{$name}='space-between center'],\n [#{$name}='space-around center'] {\n align-items: center;\n align-content: center;\n max-width: 100%;\n\n // IE11 overflow https://github.com/philipwalton/flexbugs#2-column-flex-items-set-to-align-itemscenter-overflow-their-container\n & > * {\n max-width: 100%;\n box-sizing: border-box;\n }\n }\n\n // Cross Axis Center IE overflow fix\n [#{$name}='start center'] > *,\n [#{$name}='center center'] > *,\n [#{$name}='end center'] > *,\n [#{$name}='space-between center'] > *,\n [#{$name}='space-around center'] > * {\n max-width: 100%;\n box-sizing: border-box;\n }\n\n // Cross Axis End\n [#{$name}='start end'],\n [#{$name}='center end'],\n [#{$name}='end end'],\n [#{$name}='space-between end'],\n [#{$name}='space-around end'] {\n align-items: flex-end;\n align-content: flex-end;\n }\n\n // Cross Axis stretch\n [#{$name}='start stretch'],\n [#{$name}='center stretch'],\n [#{$name}='end stretch'],\n [#{$name}='space-between stretch'],\n [#{$name}='space-around stretch'] {\n align-items: stretch;\n align-content: stretch;\n }\n}\n\n@mixin layout-padding-margin() {\n [layout-padding] > [flex-sm],\n [layout-padding] > [flex-lt-md] {\n padding: $layout-gutter-width / 4;\n }\n [layout-padding],\n [layout-padding] > [flex],\n [layout-padding] > [flex-gt-sm],\n [layout-padding] > [flex-md],\n [layout-padding] > [flex-lt-lg] {\n padding: $layout-gutter-width / 2;\n }\n [layout-padding] > [flex-gt-md],\n [layout-padding] > [flex-lg] {\n padding: $layout-gutter-width / 1;\n }\n\n [layout-margin] > [flex-sm],\n [layout-margin] > [flex-lt-md] {\n margin: $layout-gutter-width / 4;\n }\n\n [layout-margin],\n [layout-margin] > [flex],\n [layout-margin] > [flex-gt-sm],\n [layout-margin] > [flex-md],\n [layout-margin] > [flex-lt-lg] {\n margin: $layout-gutter-width / 2;\n }\n\n [layout-margin] > [flex-gt-md],\n [layout-margin] > [flex-lg] {\n margin: $layout-gutter-width / 1;\n }\n\n [layout-wrap] {\n flex-wrap: wrap;\n }\n\n [layout-nowrap] {\n flex-wrap: nowrap;\n }\n\n [layout-fill] {\n margin: 0;\n width: 100%;\n min-height: 100%;\n height: 100%;\n }\n}\n\n@mixin layouts_for_breakpoint($name: null) {\n @include flex-order-for-name($name);\n @include offset-for-name($name);\n @include layout-align-for-name($name);\n\n @include flex-properties-for-name($name);\n @include layout-for-name($name);\n}\n\n@mixin covalent-layout() {\n /*\n * Apply Mixins to create Layout/Flexbox styles\n *\n */\n\n @include layouts_for_breakpoint();\n @include layout-padding-margin();\n\n /**\n * `hide-gt-sm show-gt-lg` should hide from 600px to 1200px\n * `show-md hide-gt-sm` should show from 0px to 960px and hide at >960px\n * `hide-gt-md show-gt-sm` should show everywhere (show overrides hide)`\n *\n * hide means hide everywhere\n * Sizes:\n * $layout-breakpoint-xs: 600px !default;\n * $layout-breakpoint-sm: 960px !default;\n * $layout-breakpoint-md: 1280px !default;\n * $layout-breakpoint-lg: 1920px !default;\n */\n\n @media (max-width: $layout-breakpoint-xs - 1) {\n // Xtra-SMALL SCREEN\n [hide-xs],\n [hide] {\n &:not([show-xs]):not([show]) {\n display: none;\n }\n }\n @include layouts_for_breakpoint(xs);\n }\n\n @media (min-width: $layout-breakpoint-xs) {\n // BIGGER THAN Xtra-SMALL SCREEN\n @include layouts_for_breakpoint(gt-xs);\n }\n\n @media (min-width: $layout-breakpoint-xs) and (max-width: $layout-breakpoint-sm - 1) {\n // SMALL SCREEN\n [hide-sm],\n [hide-gt-xs] {\n &:not([show-gt-xs]):not([show-sm]):not([show]) {\n display: none;\n }\n }\n [hide-sm]:not([show-sm]):not([show]) {\n display: none;\n }\n @include layouts_for_breakpoint(sm);\n }\n\n @media (min-width: $layout-breakpoint-sm) {\n // BIGGER THAN SMALL SCREEN\n @include layouts_for_breakpoint(gt-sm);\n }\n\n @media (min-width: $layout-breakpoint-sm) and (max-width: $layout-breakpoint-md - 1) {\n // MEDIUM SCREEN\n [hide],\n [hide-gt-xs],\n [hide-gt-sm] {\n &:not([show-gt-xs]):not([show-gt-sm]):not([show-md]):not([show]) {\n display: none;\n }\n }\n [hide-md]:not([show-md]):not([show]) {\n display: none;\n }\n @include layouts_for_breakpoint(md);\n }\n\n @media (min-width: $layout-breakpoint-md) {\n // BIGGER THAN MEDIUM SCREEN\n @include layouts_for_breakpoint(gt-md);\n }\n\n @media (min-width: $layout-breakpoint-md) and (max-width: $layout-breakpoint-lg - 1) {\n // LARGE SCREEN\n [hide],\n [hide-gt-xs],\n [hide-gt-sm],\n [hide-gt-md] {\n &:not([show-gt-xs]):not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]) {\n display: none;\n }\n }\n [hide-lg]:not([show-lg]):not([show]) {\n display: none;\n }\n\n @include layouts_for_breakpoint(lg);\n }\n\n @media (min-width: $layout-breakpoint-lg) {\n // BIGGER THAN LARGE SCREEN\n @include layouts_for_breakpoint(gt-lg);\n @include layouts_for_breakpoint(xl);\n\n // BIGGER THAN LARGE SCREEN\n [hide],\n [hide-gt-xs],\n [hide-gt-sm],\n [hide-gt-md],\n [hide-gt-lg] {\n &:not([show-gt-xs]):not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show-xl]):not([show]) {\n display: none;\n }\n }\n [hide-xl]:not([show-xl]):not([show-gt-lg]):not([show]) {\n display: none;\n }\n }\n}\n","/* Colors for the ripple elements.*/\n/* stylelint-disable-next-line material/theme-mixin-api */\n/* stylelint-disable-next-line material/theme-mixin-api */\n/* stylelint-disable material/no-prefixes */\n/* stylelint-enable */\n/** Mixin to create distinct classes for fab positions, e.g. \".mat-fab-position-bottom-right\". */\n/* stylelint-disable function-url-quotes, no-duplicate-selectors */\n/*\n*\n* Responsive attributes\n*\n* References:\n* 1) https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties#flex\n* 2) https://css-tricks.com/almanac/properties/f/flex/\n* 3) https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n* 4) https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items\n* 5) http://godban.com.ua/projects/flexgrid\n*\n*/\n@-moz-document url-prefix() {\n [layout-fill] {\n margin: 0;\n width: 100%;\n min-height: 100%;\n height: 100%; } }\n\n.mat-badge-content {\n font-weight: 600;\n font-size: 12px;\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-badge-small .mat-badge-content {\n font-size: 9px; }\n\n.mat-badge-large .mat-badge-content {\n font-size: 24px; }\n\n.mat-h1, .mat-headline, .mat-typography h1 {\n font: 400 24px/32px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal;\n margin: 0 0 16px; }\n\n.mat-h2, .mat-title, .mat-typography h2 {\n font: 500 20px/32px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal;\n margin: 0 0 16px; }\n\n.mat-h3, .mat-subheading-2, .mat-typography h3 {\n font: 400 16px/28px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal;\n margin: 0 0 16px; }\n\n.mat-h4, .mat-subheading-1, .mat-typography h4 {\n font: 400 15px/24px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal;\n margin: 0 0 16px; }\n\n.mat-h5, .mat-typography h5 {\n font: 400 calc(14px * 0.83)/20px Roboto, \"Helvetica Neue\", sans-serif;\n margin: 0 0 12px; }\n\n.mat-h6, .mat-typography h6 {\n font: 400 calc(14px * 0.67)/20px Roboto, \"Helvetica Neue\", sans-serif;\n margin: 0 0 12px; }\n\n.mat-body-strong, .mat-body-2 {\n font: 500 14px/24px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-body, .mat-body-1, .mat-typography {\n font: 400 14px/20px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n .mat-body p, .mat-body-1 p, .mat-typography p {\n margin: 0 0 12px; }\n\n.mat-small, .mat-caption {\n font: 400 12px/20px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-display-4, .mat-typography .mat-display-4 {\n font: 300 112px/112px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: -0.05em;\n margin: 0 0 56px; }\n\n.mat-display-3, .mat-typography .mat-display-3 {\n font: 400 56px/56px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: -0.02em;\n margin: 0 0 64px; }\n\n.mat-display-2, .mat-typography .mat-display-2 {\n font: 400 45px/48px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: -0.005em;\n margin: 0 0 64px; }\n\n.mat-display-1, .mat-typography .mat-display-1 {\n font: 400 34px/40px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal;\n margin: 0 0 64px; }\n\n.mat-bottom-sheet-container {\n font: 400 14px/20px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\n.mat-flat-button, .mat-fab, .mat-mini-fab {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n\n.mat-button-toggle {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-card {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-card-title {\n font-size: 24px;\n font-weight: 500; }\n\n.mat-card-header .mat-card-title {\n font-size: 20px; }\n\n.mat-card-subtitle,\n.mat-card-content {\n font-size: 14px; }\n\n.mat-checkbox {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-checkbox-layout .mat-checkbox-label {\n line-height: 24px; }\n\n.mat-chip {\n font-size: 14px;\n font-weight: 500; }\n .mat-chip .mat-chip-trailing-icon.mat-icon,\n .mat-chip .mat-chip-remove.mat-icon {\n font-size: 18px; }\n\n.mat-table {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-header-cell {\n font-size: 12px;\n font-weight: 500; }\n\n.mat-cell, .mat-footer-cell {\n font-size: 14px; }\n\n.mat-calendar {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-calendar-body {\n font-size: 13px; }\n\n.mat-calendar-body-label,\n.mat-calendar-period-button {\n font-size: 14px;\n font-weight: 500; }\n\n.mat-calendar-table-header th {\n font-size: 11px;\n font-weight: 400; }\n\n.mat-dialog-title {\n font: 500 20px/32px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-expansion-panel-header {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 15px;\n font-weight: 400; }\n\n.mat-expansion-panel-content {\n font: 400 14px/20px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-form-field {\n font-size: inherit;\n font-weight: 400;\n line-height: 1.125;\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-form-field-wrapper {\n padding-bottom: 1.34375em; }\n\n.mat-form-field-prefix .mat-icon,\n.mat-form-field-suffix .mat-icon {\n font-size: 150%;\n line-height: 1.125; }\n\n.mat-form-field-prefix .mat-icon-button,\n.mat-form-field-suffix .mat-icon-button {\n height: 1.5em;\n width: 1.5em; }\n .mat-form-field-prefix .mat-icon-button .mat-icon,\n .mat-form-field-suffix .mat-icon-button .mat-icon {\n height: 1.125em;\n line-height: 1.125; }\n\n.mat-form-field-infix {\n padding: 0.5em 0;\n border-top: 0.84375em solid transparent; }\n\n.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.34375em) scale(0.75);\n width: 133.33333%; }\n\n.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.34374em) scale(0.75);\n width: 133.33334%; }\n\n.mat-form-field-label-wrapper {\n top: -0.84375em;\n padding-top: 0.84375em; }\n\n.mat-form-field-label {\n top: 1.34375em; }\n\n.mat-form-field-underline {\n bottom: 1.34375em; }\n\n.mat-form-field-subscript-wrapper {\n font-size: 75%;\n margin-top: 0.66667em;\n top: calc(100% - 1.79167em); }\n\n.mat-form-field-appearance-legacy .mat-form-field-wrapper {\n padding-bottom: 1.25em; }\n\n.mat-form-field-appearance-legacy .mat-form-field-infix {\n padding: 0.4375em 0; }\n\n.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n -ms-transform: translateY(-1.28125em) scale(0.75);\n width: 133.33333%; }\n\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);\n -ms-transform: translateY(-1.28124em) scale(0.75);\n width: 133.33334%; }\n\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);\n -ms-transform: translateY(-1.28123em) scale(0.75);\n width: 133.33335%; }\n\n.mat-form-field-appearance-legacy .mat-form-field-label {\n top: 1.28125em; }\n\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n bottom: 1.25em; }\n\n.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {\n margin-top: 0.54167em;\n top: calc(100% - 1.66667em); }\n\n@media print {\n .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.28122em) scale(0.75); }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.28121em) scale(0.75); }\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.2812em) scale(0.75); } }\n\n.mat-form-field-appearance-fill .mat-form-field-infix {\n padding: 0.25em 0 0.75em 0; }\n\n.mat-form-field-appearance-fill .mat-form-field-label {\n top: 1.09375em;\n margin-top: -0.5em; }\n\n.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-0.59375em) scale(0.75);\n width: 133.33333%; }\n\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-0.59374em) scale(0.75);\n width: 133.33334%; }\n\n.mat-form-field-appearance-outline .mat-form-field-infix {\n padding: 1em 0 1em 0; }\n\n.mat-form-field-appearance-outline .mat-form-field-label {\n top: 1.84375em;\n margin-top: -0.25em; }\n\n.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n transform: translateY(-1.59375em) scale(0.75);\n width: 133.33333%; }\n\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n.mat-form-field-label {\n transform: translateY(-1.59374em) scale(0.75);\n width: 133.33334%; }\n\n.mat-grid-tile-header,\n.mat-grid-tile-footer {\n font-size: 14px; }\n .mat-grid-tile-header .mat-line,\n .mat-grid-tile-footer .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n .mat-grid-tile-header .mat-line:nth-child(n+2),\n .mat-grid-tile-footer .mat-line:nth-child(n+2) {\n font-size: 12px; }\n\ninput.mat-input-element {\n margin-top: -0.0625em; }\n\n.mat-menu-item {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 400; }\n\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 12px; }\n\n.mat-radio-button {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-select {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-select-trigger {\n height: 1.125em; }\n\n.mat-slide-toggle-content {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-slider-thumb-label-text {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 12px;\n font-weight: 500; }\n\n.mat-stepper-vertical, .mat-stepper-horizontal {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-step-label {\n font-size: 14px;\n font-weight: 400; }\n\n.mat-step-sub-label-error {\n font-weight: normal; }\n\n.mat-step-label-error {\n font-size: 14px; }\n\n.mat-step-label-selected {\n font-size: 14px;\n font-weight: 500; }\n\n.mat-tab-group {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-tab-label, .mat-tab-link {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n\n.mat-toolbar,\n.mat-toolbar h1,\n.mat-toolbar h2,\n.mat-toolbar h3,\n.mat-toolbar h4,\n.mat-toolbar h5,\n.mat-toolbar h6 {\n font: 500 20px/32px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal;\n margin: 0; }\n\n.mat-tooltip {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 10px;\n padding-top: 6px;\n padding-bottom: 6px; }\n\n.mat-tooltip-handset {\n font-size: 14px;\n padding-top: 8px;\n padding-bottom: 8px; }\n\n.mat-list-item {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-list-option {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-list-base .mat-list-item {\n font-size: 16px; }\n .mat-list-base .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n .mat-list-base .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 14px; }\n\n.mat-list-base .mat-list-option {\n font-size: 16px; }\n .mat-list-base .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n .mat-list-base .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 14px; }\n\n.mat-list-base .mat-subheader {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 500; }\n\n.mat-list-base[dense] .mat-list-item {\n font-size: 12px; }\n .mat-list-base[dense] .mat-list-item .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n .mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {\n font-size: 12px; }\n\n.mat-list-base[dense] .mat-list-option {\n font-size: 12px; }\n .mat-list-base[dense] .mat-list-option .mat-line {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n box-sizing: border-box; }\n .mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {\n font-size: 12px; }\n\n.mat-list-base[dense] .mat-subheader {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 12px;\n font-weight: 500; }\n\n.mat-option {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 16px; }\n\n.mat-optgroup-label {\n font: 500 14px/24px Roboto, \"Helvetica Neue\", sans-serif;\n letter-spacing: normal; }\n\n.mat-simple-snackbar {\n font-family: Roboto, \"Helvetica Neue\", sans-serif;\n font-size: 14px; }\n\n.mat-simple-snackbar-action {\n line-height: 1;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500; }\n\n.mat-tree {\n font-family: Roboto, \"Helvetica Neue\", sans-serif; }\n\n.mat-tree-node,\n.mat-nested-tree-node {\n font-weight: 400;\n font-size: 14px; }\n\n.mat-ripple {\n overflow: hidden;\n position: relative; }\n .mat-ripple:not(:empty) {\n transform: translateZ(0); }\n\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible; }\n\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale(0); }\n .cdk-high-contrast-active .mat-ripple-element {\n display: none; }\n\n.cdk-visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n outline: 0;\n -webkit-appearance: none;\n -moz-appearance: none; }\n\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\n pointer-events: none;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%; }\n\n.cdk-overlay-container {\n position: fixed;\n z-index: 1000; }\n .cdk-overlay-container:empty {\n display: none; }\n\n.cdk-global-overlay-wrapper {\n display: flex;\n position: absolute;\n z-index: 1000; }\n\n.cdk-overlay-pane {\n position: absolute;\n pointer-events: auto;\n box-sizing: border-box;\n z-index: 1000;\n display: flex;\n max-width: 100%;\n max-height: 100%; }\n\n.cdk-overlay-backdrop {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n pointer-events: auto;\n -webkit-tap-highlight-color: transparent;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n opacity: 0; }\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 1; }\n @media screen and (-ms-high-contrast: active) {\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0.6; } }\n\n.cdk-overlay-dark-backdrop {\n background: rgba(0, 0, 0, 0.32); }\n\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n opacity: 0; }\n\n.cdk-overlay-connected-position-bounding-box {\n position: absolute;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n min-width: 1px;\n min-height: 1px; }\n\n.cdk-global-scrollblock {\n position: fixed;\n width: 100%;\n overflow-y: scroll; }\n\n@keyframes cdk-text-field-autofill-start {\n /*!*/ }\n\n@keyframes cdk-text-field-autofill-end {\n /*!*/ }\n\n.cdk-text-field-autofill-monitored:-webkit-autofill {\n animation: cdk-text-field-autofill-start 0s 1ms; }\n\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n animation: cdk-text-field-autofill-end 0s 1ms; }\n\ntextarea.cdk-textarea-autosize {\n resize: none; }\n\ntextarea.cdk-textarea-autosize-measuring {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: auto !important;\n overflow: hidden !important; }\n\ntextarea.cdk-textarea-autosize-measuring-firefox {\n padding: 2px 0 !important;\n box-sizing: content-box !important;\n height: 0 !important; }\n\n.mat-focus-indicator {\n position: relative; }\n\n.mat-mdc-focus-indicator {\n position: relative; }\n\n.mat-ripple-element {\n background-color: rgba(0, 0, 0, 0.1); }\n\n.mat-option {\n color: rgba(0, 0, 0, 0.87); }\n .mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04); }\n .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n background: rgba(0, 0, 0, 0.04); }\n .mat-option.mat-active {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87); }\n .mat-option.mat-option-disabled {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #00796b; }\n\n.mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #ef6c00; }\n\n.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n color: #e53935; }\n\n.mat-optgroup-label {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-optgroup-disabled .mat-optgroup-label {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-pseudo-checkbox {\n color: rgba(0, 0, 0, 0.54); }\n .mat-pseudo-checkbox::after {\n color: #fafafa; }\n\n.mat-pseudo-checkbox-disabled {\n color: #b0b0b0; }\n\n.mat-primary .mat-pseudo-checkbox-checked,\n.mat-primary .mat-pseudo-checkbox-indeterminate {\n background: #00796b; }\n\n.mat-pseudo-checkbox-checked,\n.mat-pseudo-checkbox-indeterminate,\n.mat-accent .mat-pseudo-checkbox-checked,\n.mat-accent .mat-pseudo-checkbox-indeterminate {\n background: #ef6c00; }\n\n.mat-warn .mat-pseudo-checkbox-checked,\n.mat-warn .mat-pseudo-checkbox-indeterminate {\n background: #e53935; }\n\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background: #b0b0b0; }\n\n.mat-app-background {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-elevation-z0 {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z1 {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z2 {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z3 {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z4 {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z5 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z6 {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z7 {\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z8 {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z9 {\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z10 {\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z11 {\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z12 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z13 {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z14 {\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z15 {\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z16 {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z17 {\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z18 {\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z19 {\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z20 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z21 {\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z22 {\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z23 {\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); }\n\n.mat-elevation-z24 {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); }\n\n.mat-theme-loaded-marker {\n display: none; }\n\n.mat-autocomplete-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n .mat-autocomplete-panel:not([class*='mat-elevation-z']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {\n background: white; }\n .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-badge-content {\n color: white;\n background: #00796b; }\n .cdk-high-contrast-active .mat-badge-content {\n outline: solid 1px;\n border-radius: 0; }\n\n.mat-badge-accent .mat-badge-content {\n background: #ef6c00;\n color: white; }\n\n.mat-badge-warn .mat-badge-content {\n color: white;\n background: #e53935; }\n\n.mat-badge {\n position: relative; }\n\n.mat-badge-hidden .mat-badge-content {\n display: none; }\n\n.mat-badge-disabled .mat-badge-content {\n background: #b9b9b9;\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-badge-content {\n position: absolute;\n text-align: center;\n display: inline-block;\n border-radius: 50%;\n transition: transform 200ms ease-in-out;\n transform: scale(0.6);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none; }\n\n.ng-animate-disabled .mat-badge-content,\n.mat-badge-content._mat-animation-noopable {\n transition: none; }\n\n.mat-badge-content.mat-badge-active {\n transform: none; }\n\n.mat-badge-small .mat-badge-content {\n width: 16px;\n height: 16px;\n line-height: 16px; }\n\n.mat-badge-small.mat-badge-above .mat-badge-content {\n top: -8px; }\n\n.mat-badge-small.mat-badge-below .mat-badge-content {\n bottom: -8px; }\n\n.mat-badge-small.mat-badge-before .mat-badge-content {\n left: -16px; }\n\n[dir='rtl'] .mat-badge-small.mat-badge-before .mat-badge-content {\n left: auto;\n right: -16px; }\n\n.mat-badge-small.mat-badge-after .mat-badge-content {\n right: -16px; }\n\n[dir='rtl'] .mat-badge-small.mat-badge-after .mat-badge-content {\n right: auto;\n left: -16px; }\n\n.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -8px; }\n\n[dir='rtl'] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -8px; }\n\n.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -8px; }\n\n[dir='rtl'] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -8px; }\n\n.mat-badge-medium .mat-badge-content {\n width: 22px;\n height: 22px;\n line-height: 22px; }\n\n.mat-badge-medium.mat-badge-above .mat-badge-content {\n top: -11px; }\n\n.mat-badge-medium.mat-badge-below .mat-badge-content {\n bottom: -11px; }\n\n.mat-badge-medium.mat-badge-before .mat-badge-content {\n left: -22px; }\n\n[dir='rtl'] .mat-badge-medium.mat-badge-before .mat-badge-content {\n left: auto;\n right: -22px; }\n\n.mat-badge-medium.mat-badge-after .mat-badge-content {\n right: -22px; }\n\n[dir='rtl'] .mat-badge-medium.mat-badge-after .mat-badge-content {\n right: auto;\n left: -22px; }\n\n.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -11px; }\n\n[dir='rtl'] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -11px; }\n\n.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -11px; }\n\n[dir='rtl'] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -11px; }\n\n.mat-badge-large .mat-badge-content {\n width: 28px;\n height: 28px;\n line-height: 28px; }\n\n.mat-badge-large.mat-badge-above .mat-badge-content {\n top: -14px; }\n\n.mat-badge-large.mat-badge-below .mat-badge-content {\n bottom: -14px; }\n\n.mat-badge-large.mat-badge-before .mat-badge-content {\n left: -28px; }\n\n[dir='rtl'] .mat-badge-large.mat-badge-before .mat-badge-content {\n left: auto;\n right: -28px; }\n\n.mat-badge-large.mat-badge-after .mat-badge-content {\n right: -28px; }\n\n[dir='rtl'] .mat-badge-large.mat-badge-after .mat-badge-content {\n right: auto;\n left: -28px; }\n\n.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: -14px; }\n\n[dir='rtl'] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n left: auto;\n right: -14px; }\n\n.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: -14px; }\n\n[dir='rtl'] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n right: auto;\n left: -14px; }\n\n.mat-bottom-sheet-container {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-button, .mat-icon-button, .mat-stroked-button {\n color: inherit;\n background: transparent; }\n .mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {\n color: #00796b; }\n .mat-button.mat-accent, .mat-icon-button.mat-accent, .mat-stroked-button.mat-accent {\n color: #ef6c00; }\n .mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {\n color: #e53935; }\n .mat-button.mat-primary.mat-button-disabled, .mat-button.mat-accent.mat-button-disabled, .mat-button.mat-warn.mat-button-disabled, .mat-button.mat-button-disabled.mat-button-disabled, .mat-icon-button.mat-primary.mat-button-disabled, .mat-icon-button.mat-accent.mat-button-disabled, .mat-icon-button.mat-warn.mat-button-disabled, .mat-icon-button.mat-button-disabled.mat-button-disabled, .mat-stroked-button.mat-primary.mat-button-disabled, .mat-stroked-button.mat-accent.mat-button-disabled, .mat-stroked-button.mat-warn.mat-button-disabled, .mat-stroked-button.mat-button-disabled.mat-button-disabled {\n color: rgba(0, 0, 0, 0.26); }\n .mat-button.mat-primary .mat-button-focus-overlay, .mat-icon-button.mat-primary .mat-button-focus-overlay, .mat-stroked-button.mat-primary .mat-button-focus-overlay {\n background-color: #00796b; }\n .mat-button.mat-accent .mat-button-focus-overlay, .mat-icon-button.mat-accent .mat-button-focus-overlay, .mat-stroked-button.mat-accent .mat-button-focus-overlay {\n background-color: #ef6c00; }\n .mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {\n background-color: #e53935; }\n .mat-button.mat-button-disabled .mat-button-focus-overlay, .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {\n background-color: transparent; }\n .mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {\n opacity: 0.1;\n background-color: currentColor; }\n\n.mat-button-focus-overlay {\n background: black; }\n\n.mat-stroked-button:not(.mat-button-disabled) {\n border-color: rgba(0, 0, 0, 0.12); }\n\n.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\n color: rgba(0, 0, 0, 0.87);\n background-color: white; }\n .mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n color: white; }\n .mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n color: white; }\n .mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n color: white; }\n .mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {\n color: rgba(0, 0, 0, 0.26); }\n .mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\n background-color: #00796b; }\n .mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\n background-color: #ef6c00; }\n .mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\n background-color: #e53935; }\n .mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {\n background-color: rgba(0, 0, 0, 0.12); }\n .mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n .mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n .mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n\n.mat-stroked-button:not([class*='mat-elevation-z']), .mat-flat-button:not([class*='mat-elevation-z']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-raised-button:not([class*='mat-elevation-z']) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-raised-button:not(.mat-button-disabled):active:not([class*='mat-elevation-z']) {\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n\n.mat-raised-button.mat-button-disabled:not([class*='mat-elevation-z']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-fab:not([class*='mat-elevation-z']), .mat-mini-fab:not([class*='mat-elevation-z']) {\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-fab:not(.mat-button-disabled):active:not([class*='mat-elevation-z']), .mat-mini-fab:not(.mat-button-disabled):active:not([class*='mat-elevation-z']) {\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\n\n.mat-fab.mat-button-disabled:not([class*='mat-elevation-z']), .mat-mini-fab.mat-button-disabled:not([class*='mat-elevation-z']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-button-toggle-standalone,\n.mat-button-toggle-group {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n box-shadow: none; }\n\n.mat-button-toggle {\n color: rgba(0, 0, 0, 0.38); }\n .mat-button-toggle .mat-button-toggle-focus-overlay {\n background-color: rgba(0, 0, 0, 0.12); }\n\n.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87);\n background: white; }\n .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {\n background-color: black; }\n\n.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: solid 1px rgba(0, 0, 0, 0.12); }\n\n[dir='rtl'] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n\n.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {\n border-left: none;\n border-right: none;\n border-top: solid 1px rgba(0, 0, 0, 0.12); }\n\n.mat-button-toggle-checked {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.54); }\n .mat-button-toggle-checked.mat-button-toggle-appearance-standard {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-button-toggle-disabled {\n color: rgba(0, 0, 0, 0.26);\n background-color: #eeeeee; }\n .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {\n background: white; }\n .mat-button-toggle-disabled.mat-button-toggle-checked {\n background-color: #bdbdbd; }\n\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.mat-button-toggle-group-appearance-standard {\n border: solid 1px rgba(0, 0, 0, 0.12); }\n\n.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {\n line-height: 48px; }\n\n.mat-card {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n .mat-card:not([class*='mat-elevation-z']) {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\n .mat-card.mat-card-flat:not([class*='mat-elevation-z']) {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-card-subtitle {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-checkbox-frame {\n border-color: rgba(0, 0, 0, 0.54); }\n\n.mat-checkbox-checkmark {\n fill: #fafafa; }\n\n.mat-checkbox-checkmark-path {\n stroke: #fafafa !important; }\n\n.mat-checkbox-mixedmark {\n background-color: #fafafa; }\n\n.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {\n background-color: #00796b; }\n\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {\n background-color: #ef6c00; }\n\n.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {\n background-color: #e53935; }\n\n.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {\n background-color: #b0b0b0; }\n\n.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {\n border-color: #b0b0b0; }\n\n.mat-checkbox-disabled .mat-checkbox-label {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-checkbox .mat-ripple-element {\n background-color: black; }\n\n.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,\n.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {\n background: #00796b; }\n\n.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,\n.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {\n background: #ef6c00; }\n\n.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,\n.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {\n background: #e53935; }\n\n.mat-chip.mat-standard-chip {\n background-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87); }\n .mat-chip.mat-standard-chip .mat-chip-remove {\n color: rgba(0, 0, 0, 0.87);\n opacity: 0.4; }\n .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\n .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {\n opacity: 0.54; }\n .mat-chip.mat-standard-chip.mat-chip-disabled {\n opacity: 0.4; }\n .mat-chip.mat-standard-chip::after {\n background: black; }\n\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {\n background-color: #00796b;\n color: white; }\n .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {\n background-color: #e53935;\n color: white; }\n .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {\n background-color: #ef6c00;\n color: white; }\n .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {\n color: white;\n opacity: 0.4; }\n .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.1); }\n\n.mat-table {\n background: white; }\n\n.mat-table thead, .mat-table tbody, .mat-table tfoot,\nmat-header-row, mat-row, mat-footer-row,\n[mat-header-row], [mat-row], [mat-footer-row],\n.mat-table-sticky {\n background: inherit; }\n\nmat-row, mat-header-row, mat-footer-row,\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n\n.mat-header-cell {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-cell, .mat-footer-cell {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-calendar-arrow {\n border-top-color: rgba(0, 0, 0, 0.54); }\n\n.mat-datepicker-toggle,\n.mat-datepicker-content .mat-calendar-next-button,\n.mat-datepicker-content .mat-calendar-previous-button {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-calendar-table-header {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-calendar-table-header-divider::after {\n background: rgba(0, 0, 0, 0.12); }\n\n.mat-calendar-body-label {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-calendar-body-cell-content,\n.mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.87);\n border-color: transparent; }\n\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-form-field-disabled .mat-date-range-input-separator {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n background-color: rgba(0, 0, 0, 0.04); }\n\n.mat-calendar-body-in-preview {\n color: rgba(0, 0, 0, 0.24); }\n\n.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.38); }\n\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n border-color: rgba(0, 0, 0, 0.18); }\n\n.mat-calendar-body-in-range::before {\n background: rgba(0, 121, 107, 0.2); }\n\n.mat-calendar-body-comparison-identical,\n.mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2); }\n\n.mat-calendar-body-comparison-bridge-start::before,\n[dir='rtl'] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(0, 121, 107, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%); }\n\n.mat-calendar-body-comparison-bridge-end::before,\n[dir='rtl'] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(0, 121, 107, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%); }\n\n.mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5; }\n\n.mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e; }\n\n.mat-calendar-body-selected {\n background-color: #00796b;\n color: white; }\n\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(0, 121, 107, 0.4); }\n\n.mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n\n.mat-datepicker-content {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n background-color: white;\n color: rgba(0, 0, 0, 0.87); }\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {\n background: rgba(239, 108, 0, 0.2); }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2); }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,\n .mat-datepicker-content.mat-accent [dir='rtl'] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(239, 108, 0, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%); }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,\n .mat-datepicker-content.mat-accent [dir='rtl'] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(239, 108, 0, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%); }\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5; }\n .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e; }\n .mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n background-color: #ef6c00;\n color: white; }\n .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(239, 108, 0, 0.4); }\n .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {\n background: rgba(229, 57, 53, 0.2); }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {\n background: rgba(249, 171, 0, 0.2); }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,\n .mat-datepicker-content.mat-warn [dir='rtl'] .mat-calendar-body-comparison-bridge-end::before {\n background: linear-gradient(to right, rgba(229, 57, 53, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%); }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,\n .mat-datepicker-content.mat-warn [dir='rtl'] .mat-calendar-body-comparison-bridge-start::before {\n background: linear-gradient(to left, rgba(229, 57, 53, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%); }\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n background: #a8dab5; }\n .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n background: #46a35e; }\n .mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n background-color: #e53935;\n color: white; }\n .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n background-color: rgba(229, 57, 53, 0.4); }\n .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n box-shadow: inset 0 0 0 1px white; }\n\n.mat-datepicker-content-touch {\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-datepicker-toggle-active {\n color: #00796b; }\n .mat-datepicker-toggle-active.mat-accent {\n color: #ef6c00; }\n .mat-datepicker-toggle-active.mat-warn {\n color: #e53935; }\n\n.mat-date-range-input-inner[disabled] {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-dialog-container {\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-divider {\n border-top-color: rgba(0, 0, 0, 0.12); }\n\n.mat-divider-vertical {\n border-right-color: rgba(0, 0, 0, 0.12); }\n\n.mat-expansion-panel {\n background: white;\n color: rgba(0, 0, 0, 0.87); }\n .mat-expansion-panel:not([class*='mat-elevation-z']) {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-action-row {\n border-top-color: rgba(0, 0, 0, 0.12); }\n\n.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled='true']),\n.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled='true']),\n.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled='true']) {\n background: rgba(0, 0, 0, 0.04); }\n\n@media (hover: none) {\n .mat-expansion-panel:not(.mat-expanded):not([aria-disabled='true'])\n.mat-expansion-panel-header:hover {\n background: white; } }\n\n.mat-expansion-panel-header-title {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-expansion-panel-header-description,\n.mat-expansion-indicator::after {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-expansion-panel-header[aria-disabled='true'] {\n color: rgba(0, 0, 0, 0.26); }\n .mat-expansion-panel-header[aria-disabled='true'] .mat-expansion-panel-header-title,\n .mat-expansion-panel-header[aria-disabled='true'] .mat-expansion-panel-header-description {\n color: inherit; }\n\n.mat-expansion-panel-header {\n height: 48px; }\n .mat-expansion-panel-header.mat-expanded {\n height: 64px; }\n\n.mat-form-field-label {\n color: rgba(0, 0, 0, 0.6); }\n\n.mat-hint {\n color: rgba(0, 0, 0, 0.6); }\n\n.mat-form-field.mat-focused .mat-form-field-label {\n color: #00796b; }\n .mat-form-field.mat-focused .mat-form-field-label.mat-accent {\n color: #ef6c00; }\n .mat-form-field.mat-focused .mat-form-field-label.mat-warn {\n color: #e53935; }\n\n.mat-focused .mat-form-field-required-marker {\n color: #ef6c00; }\n\n.mat-form-field-ripple {\n background-color: rgba(0, 0, 0, 0.87); }\n\n.mat-form-field.mat-focused .mat-form-field-ripple {\n background-color: #00796b; }\n .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {\n background-color: #ef6c00; }\n .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {\n background-color: #e53935; }\n\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {\n color: #00796b; }\n\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {\n color: #ef6c00; }\n\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {\n color: #e53935; }\n\n.mat-form-field.mat-form-field-invalid .mat-form-field-label {\n color: #e53935; }\n .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,\n .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {\n color: #e53935; }\n\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {\n background-color: #e53935; }\n\n.mat-error {\n color: #e53935; }\n\n.mat-form-field-appearance-legacy .mat-form-field-label {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-form-field-appearance-legacy .mat-hint {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-form-field-appearance-legacy .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42); }\n\n.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x; }\n\n.mat-form-field-appearance-standard .mat-form-field-underline {\n background-color: rgba(0, 0, 0, 0.42); }\n\n.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n background-size: 4px 100%;\n background-repeat: repeat-x; }\n\n.mat-form-field-appearance-fill .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.04); }\n\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {\n background-color: rgba(0, 0, 0, 0.02); }\n\n.mat-form-field-appearance-fill .mat-form-field-underline::before {\n background-color: rgba(0, 0, 0, 0.42); }\n\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {\n background-color: transparent; }\n\n.mat-form-field-appearance-outline .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.12); }\n\n.mat-form-field-appearance-outline .mat-form-field-outline-thick {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {\n color: #00796b; }\n\n.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {\n color: #ef6c00; }\n\n.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {\n color: #e53935; }\n\n.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {\n color: #e53935; }\n\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {\n color: rgba(0, 0, 0, 0.06); }\n\n.mat-icon.mat-primary {\n color: #00796b; }\n\n.mat-icon.mat-accent {\n color: #ef6c00; }\n\n.mat-icon.mat-warn {\n color: #e53935; }\n\n.mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-input-element:disabled,\n.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-input-element {\n caret-color: #00796b; }\n .mat-input-element::placeholder {\n color: rgba(0, 0, 0, 0.42); }\n .mat-input-element::-moz-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n .mat-input-element::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n .mat-input-element:-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n\n.mat-form-field.mat-accent .mat-input-element {\n caret-color: #ef6c00; }\n\n.mat-form-field.mat-warn .mat-input-element,\n.mat-form-field-invalid .mat-input-element {\n caret-color: #e53935; }\n\n.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n color: #e53935; }\n\n.mat-list-base .mat-list-item {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-list-base .mat-list-option {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-list-base .mat-subheader {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-list-item-disabled {\n background-color: #eeeeee; }\n\n.mat-list-option:hover, .mat-list-option:focus,\n.mat-nav-list .mat-list-item:hover,\n.mat-nav-list .mat-list-item:focus,\n.mat-action-list .mat-list-item:hover,\n.mat-action-list .mat-list-item:focus {\n background: rgba(0, 0, 0, 0.04); }\n\n.mat-list-single-selected-option, .mat-list-single-selected-option:hover, .mat-list-single-selected-option:focus {\n background: rgba(0, 0, 0, 0.12); }\n\n.mat-menu-panel {\n background: white; }\n .mat-menu-panel:not([class*='mat-elevation-z']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-menu-item {\n background: transparent;\n color: rgba(0, 0, 0, 0.87); }\n .mat-menu-item[disabled], .mat-menu-item[disabled]::after,\n .mat-menu-item[disabled] .mat-icon-no-color {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-menu-item .mat-icon-no-color,\n.mat-menu-item-submenu-trigger::after {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-menu-item:hover:not([disabled]),\n.mat-menu-item.cdk-program-focused:not([disabled]),\n.mat-menu-item.cdk-keyboard-focused:not([disabled]),\n.mat-menu-item-highlighted:not([disabled]) {\n background: rgba(0, 0, 0, 0.04); }\n\n.mat-paginator {\n background: white; }\n\n.mat-paginator,\n.mat-paginator-page-size .mat-select-trigger {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-paginator-decrement,\n.mat-paginator-increment {\n border-top: 2px solid rgba(0, 0, 0, 0.54);\n border-right: 2px solid rgba(0, 0, 0, 0.54); }\n\n.mat-paginator-first,\n.mat-paginator-last {\n border-top: 2px solid rgba(0, 0, 0, 0.54); }\n\n.mat-icon-button[disabled] .mat-paginator-decrement,\n.mat-icon-button[disabled] .mat-paginator-increment,\n.mat-icon-button[disabled] .mat-paginator-first,\n.mat-icon-button[disabled] .mat-paginator-last {\n border-color: rgba(0, 0, 0, 0.38); }\n\n.mat-paginator-container {\n min-height: 56px; }\n\n.mat-progress-bar-background {\n fill: #b2dfdb; }\n\n.mat-progress-bar-buffer {\n background-color: #b2dfdb; }\n\n.mat-progress-bar-fill::after {\n background-color: #00796b; }\n\n.mat-progress-bar.mat-accent .mat-progress-bar-background {\n fill: #ffd180; }\n\n.mat-progress-bar.mat-accent .mat-progress-bar-buffer {\n background-color: #ffd180; }\n\n.mat-progress-bar.mat-accent .mat-progress-bar-fill::after {\n background-color: #ef6c00; }\n\n.mat-progress-bar.mat-warn .mat-progress-bar-background {\n fill: #ffcdd2; }\n\n.mat-progress-bar.mat-warn .mat-progress-bar-buffer {\n background-color: #ffcdd2; }\n\n.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {\n background-color: #e53935; }\n\n.mat-progress-spinner circle, .mat-spinner circle {\n stroke: #00796b; }\n\n.mat-progress-spinner.mat-accent circle, .mat-spinner.mat-accent circle {\n stroke: #ef6c00; }\n\n.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {\n stroke: #e53935; }\n\n.mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.54); }\n\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {\n border-color: #00796b; }\n\n.mat-radio-button.mat-primary .mat-radio-inner-circle,\n.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {\n background-color: #00796b; }\n\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {\n border-color: #ef6c00; }\n\n.mat-radio-button.mat-accent .mat-radio-inner-circle,\n.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {\n background-color: #ef6c00; }\n\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {\n border-color: #e53935; }\n\n.mat-radio-button.mat-warn .mat-radio-inner-circle,\n.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,\n.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {\n background-color: #e53935; }\n\n.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,\n.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {\n border-color: rgba(0, 0, 0, 0.38); }\n\n.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,\n.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {\n background-color: rgba(0, 0, 0, 0.38); }\n\n.mat-radio-button.mat-radio-disabled .mat-radio-label-content {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-radio-button .mat-ripple-element {\n background-color: black; }\n\n.mat-select-value {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-select-placeholder {\n color: rgba(0, 0, 0, 0.42); }\n\n.mat-select-disabled .mat-select-value {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-select-arrow {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-select-panel {\n background: white; }\n .mat-select-panel:not([class*='mat-elevation-z']) {\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\n .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {\n background: rgba(0, 0, 0, 0.12); }\n\n.mat-form-field.mat-focused.mat-primary .mat-select-arrow {\n color: #00796b; }\n\n.mat-form-field.mat-focused.mat-accent .mat-select-arrow {\n color: #ef6c00; }\n\n.mat-form-field.mat-focused.mat-warn .mat-select-arrow {\n color: #e53935; }\n\n.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {\n color: #e53935; }\n\n.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-drawer-container {\n background-color: #fafafa;\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-drawer {\n background-color: white;\n color: rgba(0, 0, 0, 0.87); }\n .mat-drawer.mat-drawer-push {\n background-color: white; }\n .mat-drawer:not(.mat-drawer-side) {\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\n\n.mat-drawer-side {\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n .mat-drawer-side.mat-drawer-end {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none; }\n\n[dir='rtl'] .mat-drawer-side {\n border-left: solid 1px rgba(0, 0, 0, 0.12);\n border-right: none; }\n [dir='rtl'] .mat-drawer-side.mat-drawer-end {\n border-left: none;\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\n\n.mat-drawer-backdrop.mat-drawer-shown {\n background-color: rgba(0, 0, 0, 0.6); }\n\n.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {\n background-color: #ef6c00; }\n\n.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(239, 108, 0, 0.54); }\n\n.mat-slide-toggle.mat-checked .mat-ripple-element {\n background-color: #ef6c00; }\n\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {\n background-color: #00796b; }\n\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(0, 121, 107, 0.54); }\n\n.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {\n background-color: #00796b; }\n\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {\n background-color: #e53935; }\n\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {\n background-color: rgba(229, 57, 53, 0.54); }\n\n.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {\n background-color: #e53935; }\n\n.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {\n background-color: black; }\n\n.mat-slide-toggle-thumb {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n background-color: #fafafa; }\n\n.mat-slide-toggle-bar {\n background-color: rgba(0, 0, 0, 0.38); }\n\n.mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26); }\n\n.mat-primary .mat-slider-track-fill,\n.mat-primary .mat-slider-thumb,\n.mat-primary .mat-slider-thumb-label {\n background-color: #00796b; }\n\n.mat-primary .mat-slider-thumb-label-text {\n color: white; }\n\n.mat-primary .mat-slider-focus-ring {\n background-color: rgba(0, 121, 107, 0.2); }\n\n.mat-accent .mat-slider-track-fill,\n.mat-accent .mat-slider-thumb,\n.mat-accent .mat-slider-thumb-label {\n background-color: #ef6c00; }\n\n.mat-accent .mat-slider-thumb-label-text {\n color: white; }\n\n.mat-accent .mat-slider-focus-ring {\n background-color: rgba(239, 108, 0, 0.2); }\n\n.mat-warn .mat-slider-track-fill,\n.mat-warn .mat-slider-thumb,\n.mat-warn .mat-slider-thumb-label {\n background-color: #e53935; }\n\n.mat-warn .mat-slider-thumb-label-text {\n color: white; }\n\n.mat-warn .mat-slider-focus-ring {\n background-color: rgba(229, 57, 53, 0.2); }\n\n.mat-slider:hover .mat-slider-track-background,\n.cdk-focused .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.38); }\n\n.mat-slider-disabled .mat-slider-track-background,\n.mat-slider-disabled .mat-slider-track-fill,\n.mat-slider-disabled .mat-slider-thumb {\n background-color: rgba(0, 0, 0, 0.26); }\n\n.mat-slider-disabled:hover .mat-slider-track-background {\n background-color: rgba(0, 0, 0, 0.26); }\n\n.mat-slider-min-value .mat-slider-focus-ring {\n background-color: rgba(0, 0, 0, 0.12); }\n\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.87); }\n\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\n background-color: rgba(0, 0, 0, 0.26); }\n\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26);\n background-color: transparent; }\n\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.38); }\n\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\n border-color: rgba(0, 0, 0, 0.26); }\n\n.mat-slider-has-ticks .mat-slider-wrapper::after {\n border-color: rgba(0, 0, 0, 0.7); }\n\n.mat-slider-horizontal .mat-slider-ticks {\n background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\n\n.mat-slider-vertical .mat-slider-ticks {\n background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\n\n.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {\n background-color: rgba(0, 0, 0, 0.04); }\n\n@media (hover: none) {\n .mat-step-header:hover {\n background: none; } }\n\n.mat-step-header .mat-step-label,\n.mat-step-header .mat-step-optional {\n color: rgba(0, 0, 0, 0.54); }\n\n.mat-step-header .mat-step-icon {\n background-color: rgba(0, 0, 0, 0.54);\n color: white; }\n\n.mat-step-header .mat-step-icon-selected,\n.mat-step-header .mat-step-icon-state-done,\n.mat-step-header .mat-step-icon-state-edit {\n background-color: #00796b;\n color: white; }\n\n.mat-step-header.mat-accent .mat-step-icon {\n color: white; }\n\n.mat-step-header.mat-accent .mat-step-icon-selected,\n.mat-step-header.mat-accent .mat-step-icon-state-done,\n.mat-step-header.mat-accent .mat-step-icon-state-edit {\n background-color: #ef6c00;\n color: white; }\n\n.mat-step-header.mat-warn .mat-step-icon {\n color: white; }\n\n.mat-step-header.mat-warn .mat-step-icon-selected,\n.mat-step-header.mat-warn .mat-step-icon-state-done,\n.mat-step-header.mat-warn .mat-step-icon-state-edit {\n background-color: #e53935;\n color: white; }\n\n.mat-step-header .mat-step-icon-state-error {\n background-color: transparent;\n color: #e53935; }\n\n.mat-step-header .mat-step-label.mat-step-label-active {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-step-header .mat-step-label.mat-step-label-error {\n color: #e53935; }\n\n.mat-stepper-horizontal, .mat-stepper-vertical {\n background-color: white; }\n\n.mat-stepper-vertical-line::before {\n border-left-color: rgba(0, 0, 0, 0.12); }\n\n.mat-horizontal-stepper-header::before,\n.mat-horizontal-stepper-header::after,\n.mat-stepper-horizontal-line {\n border-top-color: rgba(0, 0, 0, 0.12); }\n\n.mat-horizontal-stepper-header {\n height: 72px; }\n\n.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,\n.mat-vertical-stepper-header {\n padding: 24px 24px; }\n\n.mat-stepper-vertical-line::before {\n top: -16px;\n bottom: -16px; }\n\n.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {\n top: 36px; }\n\n.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {\n top: 36px; }\n\n.mat-sort-header-arrow {\n color: #757575; }\n\n.mat-tab-nav-bar,\n.mat-tab-header {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12); }\n\n.mat-tab-group-inverted-header .mat-tab-nav-bar,\n.mat-tab-group-inverted-header .mat-tab-header {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none; }\n\n.mat-tab-label, .mat-tab-link {\n color: rgba(0, 0, 0, 0.87); }\n .mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {\n color: rgba(0, 0, 0, 0.38); }\n\n.mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.87); }\n\n.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(0, 0, 0, 0.38); }\n\n.mat-tab-group[class*='mat-background-'] .mat-tab-header,\n.mat-tab-nav-bar[class*='mat-background-'] {\n border-bottom: none;\n border-top: none; }\n\n.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(178, 223, 219, 0.3); }\n\n.mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar {\n background-color: #00796b; }\n\n.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar {\n background-color: white; }\n\n.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 209, 128, 0.3); }\n\n.mat-tab-group.mat-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent .mat-ink-bar {\n background-color: #ef6c00; }\n\n.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar {\n background-color: white; }\n\n.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3); }\n\n.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {\n background-color: #e53935; }\n\n.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar {\n background-color: white; }\n\n.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(178, 223, 219, 0.3); }\n\n.mat-tab-group.mat-background-primary .mat-tab-header, .mat-tab-group.mat-background-primary .mat-tab-links, .mat-tab-group.mat-background-primary .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-primary .mat-tab-header, .mat-tab-nav-bar.mat-background-primary .mat-tab-links, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination {\n background-color: #00796b; }\n\n.mat-tab-group.mat-background-primary .mat-tab-label, .mat-tab-group.mat-background-primary .mat-tab-link, .mat-tab-nav-bar.mat-background-primary .mat-tab-label, .mat-tab-nav-bar.mat-background-primary .mat-tab-link {\n color: white; }\n .mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron {\n border-color: white; }\n\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n\n.mat-tab-group.mat-background-primary .mat-ripple-element, .mat-tab-nav-bar.mat-background-primary .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n\n.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 209, 128, 0.3); }\n\n.mat-tab-group.mat-background-accent .mat-tab-header, .mat-tab-group.mat-background-accent .mat-tab-links, .mat-tab-group.mat-background-accent .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-accent .mat-tab-header, .mat-tab-nav-bar.mat-background-accent .mat-tab-links, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination {\n background-color: #ef6c00; }\n\n.mat-tab-group.mat-background-accent .mat-tab-label, .mat-tab-group.mat-background-accent .mat-tab-link, .mat-tab-nav-bar.mat-background-accent .mat-tab-label, .mat-tab-nav-bar.mat-background-accent .mat-tab-link {\n color: white; }\n .mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron {\n border-color: white; }\n\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n\n.mat-tab-group.mat-background-accent .mat-ripple-element, .mat-tab-nav-bar.mat-background-accent .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n\n.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n background-color: rgba(255, 205, 210, 0.3); }\n\n.mat-tab-group.mat-background-warn .mat-tab-header, .mat-tab-group.mat-background-warn .mat-tab-links, .mat-tab-group.mat-background-warn .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-warn .mat-tab-header, .mat-tab-nav-bar.mat-background-warn .mat-tab-links, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination {\n background-color: #e53935; }\n\n.mat-tab-group.mat-background-warn .mat-tab-label, .mat-tab-group.mat-background-warn .mat-tab-link, .mat-tab-nav-bar.mat-background-warn .mat-tab-label, .mat-tab-nav-bar.mat-background-warn .mat-tab-link {\n color: white; }\n .mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled {\n color: rgba(255, 255, 255, 0.4); }\n\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron {\n border-color: white; }\n\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n border-color: rgba(255, 255, 255, 0.4); }\n\n.mat-tab-group.mat-background-warn .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn .mat-ripple-element {\n background-color: rgba(255, 255, 255, 0.12); }\n\n.mat-toolbar {\n background: whitesmoke;\n color: rgba(0, 0, 0, 0.87); }\n .mat-toolbar.mat-primary {\n background: #00796b;\n color: white; }\n .mat-toolbar.mat-accent {\n background: #ef6c00;\n color: white; }\n .mat-toolbar.mat-warn {\n background: #e53935;\n color: white; }\n .mat-toolbar .mat-form-field-underline,\n .mat-toolbar .mat-form-field-ripple,\n .mat-toolbar .mat-focused .mat-form-field-ripple {\n background-color: currentColor; }\n .mat-toolbar .mat-form-field-label,\n .mat-toolbar .mat-focused .mat-form-field-label,\n .mat-toolbar .mat-select-value,\n .mat-toolbar .mat-select-arrow,\n .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {\n color: inherit; }\n .mat-toolbar .mat-input-element {\n caret-color: currentColor; }\n\n.mat-toolbar-multiple-rows {\n min-height: 64px; }\n\n.mat-toolbar-row, .mat-toolbar-single-row {\n height: 64px; }\n\n@media (max-width: 599px) {\n .mat-toolbar-multiple-rows {\n min-height: 56px; }\n .mat-toolbar-row, .mat-toolbar-single-row {\n height: 56px; } }\n\n.mat-tooltip {\n background: rgba(97, 97, 97, 0.9); }\n\n.mat-tree {\n background: white; }\n\n.mat-tree-node,\n.mat-nested-tree-node {\n color: rgba(0, 0, 0, 0.87); }\n\n.mat-tree-node {\n min-height: 48px; }\n\n.mat-snack-bar-container {\n color: rgba(255, 255, 255, 0.7);\n background: #323232;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\n\n.mat-simple-snackbar-action {\n color: #ef6c00; }\n\nbody {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif; }\n\n.td-dialog-title {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 20px;\n font-weight: 500; }\n\n.td-dialog-message {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 28px; }\n\n.td-key {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 14px; }\n\n.td-message-label {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 600;\n line-height: 24px; }\n\n.td-message-sublabel {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 14px; }\n\ntd-navigation-drawer .td-navigation-drawer-title {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 16px; }\n\ntd-navigation-drawer .td-navigation-drawer-name {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px; }\n\ntd-navigation-drawer .td-navigation-drawer-menu-toggle {\n font-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 24px; }\n\ntd-breadcrumb:last-of-type {\n font-weight: bold;\n cursor: default; }\n\nmat-list-item mat-icon,\n.mat-list-item-content mat-icon {\n color: rgba(0, 0, 0, 0.54); }\n mat-list-item mat-icon[matListAvatar],\n .mat-list-item-content mat-icon[matListAvatar] {\n background-color: rgba(0, 0, 0, 0.04); }\n\n.mat-list-text p {\n color: rgba(0, 0, 0, 0.38); }\n\ntable.mat-table {\n background: transparent; }\n\n.mat-row:hover, .mat-row:focus {\n background-color: rgba(0, 0, 0, 0.04); }\n\n.mat-drawer-container {\n background-color: #e0e0e0; }\n\n[mat-icon-button].td-layout-menu-button {\n margin-left: 0; }\n ::ng-deep [dir='rtl'] [mat-icon-button].td-layout-menu-button {\n margin-right: 0;\n margin-left: 6px; }\n\ntd-layout-nav mat-toolbar,\ntd-layout-nav-list mat-toolbar,\ntd-layout-manage-list mat-toolbar,\ntd-layout-card-over mat-toolbar,\ntd-navigation-drawer mat-toolbar,\ntd-layout mat-toolbar {\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n z-index: 1; }\n\nbody[dense] td-layout-nav mat-toolbar.td-layout-toolbar.mat-toolbar-row, body[dense] td-layout-nav mat-toolbar.td-layout-toolbar.mat-toolbar-single-row,\nbody[dense] td-layout-nav-list mat-toolbar.td-layout-toolbar.mat-toolbar-row,\nbody[dense] td-layout-nav-list mat-toolbar.td-layout-toolbar.mat-toolbar-single-row,\nbody[dense] td-layout-card-over mat-toolbar.td-layout-toolbar.mat-toolbar-row,\nbody[dense] td-layout-card-over mat-toolbar.td-layout-toolbar.mat-toolbar-single-row,\ntd-layout-nav[dense] mat-toolbar.td-layout-toolbar.mat-toolbar-row,\ntd-layout-nav[dense] mat-toolbar.td-layout-toolbar.mat-toolbar-single-row,\ntd-layout-nav-list[dense] mat-toolbar.td-layout-toolbar.mat-toolbar-row,\ntd-layout-nav-list[dense] mat-toolbar.td-layout-toolbar.mat-toolbar-single-row,\ntd-layout-card-over[dense] mat-toolbar.td-layout-toolbar.mat-toolbar-row,\ntd-layout-card-over[dense] mat-toolbar.td-layout-toolbar.mat-toolbar-single-row {\n height: 48px; }\n\nbody[dense] td-layout-card-over .td-layout-card-over-wrapper,\ntd-layout-card-over[dense] .td-layout-card-over-wrapper {\n margin: -48px;\n margin-left: 0;\n margin-right: 0; }\n\n.mat-drawer-side.td-layout-sidenav {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n\n.td-layout-footer {\n background: whitesmoke;\n color: rgba(0, 0, 0, 0.87);\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\n .td-layout-footer.mat-primary {\n background: #00796b; }\n .td-layout-footer.mat-primary,\n .td-layout-footer.mat-primary mat-icon {\n color: white; }\n .td-layout-footer.mat-accent {\n background: #ef6c00; }\n .td-layout-footer.mat-accent,\n .td-layout-footer.mat-accent mat-icon {\n color: white; }\n .td-layout-footer.mat-warn {\n background: #e53935; }\n .td-layout-footer.mat-warn,\n .td-layout-footer.mat-warn mat-icon {\n color: white; }\n\ntd-file-upload .td-file-upload-cancel mat-icon {\n background-color: #fafafa; }\n\ntd-file-input {\n /**\n * Class that is added ondragenter by the [TdFileDrop] directive.\n */ }\n td-file-input .drop-zone {\n transition: background 400ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\n\n.mat-toolbar.td-window-dialog-toolbar {\n color: rgba(0, 0, 0, 0.87);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n background: none; }\n\n.td-dialog-message {\n color: rgba(0, 0, 0, 0.54); }\n\n.td-json-formatter-wrapper .function::after,\n.td-json-formatter-wrapper .date::after,\n.td-json-formatter-wrapper .td-object-name::after,\n.td-json-formatter-wrapper .td-array-length::after {\n content: '\\200E'; }\n\n.td-json-formatter-wrapper .td-key.td-key-node:focus, .td-json-formatter-wrapper .td-key.td-key-node:hover {\n background-color: rgba(0, 0, 0, 0.04); }\n\n.td-json-formatter-wrapper .td-key.td-key-node .td-node-icon {\n color: rgba(0, 0, 0, 0.54); }\n\n.td-json-formatter-wrapper .key {\n color: #00796b; }\n\n.td-json-formatter-wrapper .value .string {\n color: #e53935; }\n\n.td-json-formatter-wrapper .value .number {\n color: #ef6c00; }\n\n.td-json-formatter-wrapper .value .boolean {\n color: #ef6c00; }\n\n.td-json-formatter-wrapper .value .null,\n.td-json-formatter-wrapper .value .undefined {\n color: rgba(0, 0, 0, 0.38); }\n\n.td-json-formatter-wrapper .value .function {\n color: #00796b; }\n\n.td-json-formatter-wrapper .value .date {\n color: rgba(0, 0, 0, 0.87); }\n\n.td-message.mat-primary {\n color: #00796b;\n background-color: rgba(0, 121, 107, 0.15); }\n\n.td-message.mat-accent {\n color: #ef6c00;\n background-color: rgba(239, 108, 0, 0.15); }\n\n.td-message.mat-warn {\n color: #e53935;\n background-color: rgba(229, 57, 53, 0.15); }\n\n.td-side-sheet-container {\n background-color: white; }\n","$black-87-opacity: rgba(black, 0.87);\n$white-87-opacity: rgba(white, 0.87);\n$black-12-opacity: rgba(black, 0.12);\n$white-12-opacity: rgba(white, 0.12);\n$black-6-opacity: rgba(black, 0.06);\n$white-6-opacity: rgba(white, 0.06);\n\n$mat-red: (\n 50: #ffebee,\n 100: #ffcdd2,\n 200: #ef9a9a,\n 300: #e57373,\n 400: #ef5350,\n 500: #f44336,\n 600: #e53935,\n 700: #d32f2f,\n 800: #c62828,\n 900: #b71c1c,\n A100: #ff8a80,\n A200: #ff5252,\n A400: #ff1744,\n A700: #d50000,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: white,\n A400: white,\n A700: white,\n ),\n);\n\n$mat-pink: (\n 50: #fce4ec,\n 100: #f8bbd0,\n 200: #f48fb1,\n 300: #f06292,\n 400: #ec407a,\n 500: #e91e63,\n 600: #d81b60,\n 700: #c2185b,\n 800: #ad1457,\n 900: #880e4f,\n A100: #ff80ab,\n A200: #ff4081,\n A400: #f50057,\n A700: #c51162,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: white,\n A400: white,\n A700: white,\n ),\n);\n\n$mat-purple: (\n 50: #f3e5f5,\n 100: #e1bee7,\n 200: #ce93d8,\n 300: #ba68c8,\n 400: #ab47bc,\n 500: #9c27b0,\n 600: #8e24aa,\n 700: #7b1fa2,\n 800: #6a1b9a,\n 900: #4a148c,\n A100: #ea80fc,\n A200: #e040fb,\n A400: #d500f9,\n A700: #aa00ff,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: white,\n 400: white,\n 500: $white-87-opacity,\n 600: $white-87-opacity,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: white,\n A400: white,\n A700: white,\n ),\n);\n\n$mat-deep-purple: (\n 50: #ede7f6,\n 100: #d1c4e9,\n 200: #b39ddb,\n 300: #9575cd,\n 400: #7e57c2,\n 500: #673ab7,\n 600: #5e35b1,\n 700: #512da8,\n 800: #4527a0,\n 900: #311b92,\n A100: #b388ff,\n A200: #7c4dff,\n A400: #651fff,\n A700: #6200ea,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: white,\n 400: white,\n 500: $white-87-opacity,\n 600: $white-87-opacity,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: white,\n A400: $white-87-opacity,\n A700: $white-87-opacity,\n ),\n);\n\n$mat-indigo: (\n 50: #e8eaf6,\n 100: #c5cae9,\n 200: #9fa8da,\n 300: #7986cb,\n 400: #5c6bc0,\n 500: #3f51b5,\n 600: #3949ab,\n 700: #303f9f,\n 800: #283593,\n 900: #1a237e,\n A100: #8c9eff,\n A200: #536dfe,\n A400: #3d5afe,\n A700: #304ffe,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: white,\n 400: white,\n 500: $white-87-opacity,\n 600: $white-87-opacity,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: white,\n A400: white,\n A700: $white-87-opacity,\n ),\n);\n\n$mat-blue: (\n 50: #e3f2fd,\n 100: #bbdefb,\n 200: #90caf9,\n 300: #64b5f6,\n 400: #42a5f5,\n 500: #2196f3,\n 600: #1e88e5,\n 700: #1976d2,\n 800: #1565c0,\n 900: #0d47a1,\n A100: #82b1ff,\n A200: #448aff,\n A400: #2979ff,\n A700: #2962ff,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: white,\n A400: white,\n A700: white,\n ),\n);\n\n$mat-light-blue: (\n 50: #e1f5fe,\n 100: #b3e5fc,\n 200: #81d4fa,\n 300: #4fc3f7,\n 400: #29b6f6,\n 500: #03a9f4,\n 600: #039be5,\n 700: #0288d1,\n 800: #0277bd,\n 900: #01579b,\n A100: #80d8ff,\n A200: #40c4ff,\n A400: #00b0ff,\n A700: #0091ea,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: white,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: white,\n ),\n);\n\n$mat-cyan: (\n 50: #e0f7fa,\n 100: #b2ebf2,\n 200: #80deea,\n 300: #4dd0e1,\n 400: #26c6da,\n 500: #00bcd4,\n 600: #00acc1,\n 700: #0097a7,\n 800: #00838f,\n 900: #006064,\n A100: #84ffff,\n A200: #18ffff,\n A400: #00e5ff,\n A700: #00b8d4,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: white,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-teal: (\n 50: #e0f2f1,\n 100: #b2dfdb,\n 200: #80cbc4,\n 300: #4db6ac,\n 400: #26a69a,\n 500: #009688,\n 600: #00897b,\n 700: #00796b,\n 800: #00695c,\n 900: #004d40,\n A100: #a7ffeb,\n A200: #64ffda,\n A400: #1de9b6,\n A700: #00bfa5,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-green: (\n 50: #e8f5e9,\n 100: #c8e6c9,\n 200: #a5d6a7,\n 300: #81c784,\n 400: #66bb6a,\n 500: #4caf50,\n 600: #43a047,\n 700: #388e3c,\n 800: #2e7d32,\n 900: #1b5e20,\n A100: #b9f6ca,\n A200: #69f0ae,\n A400: #00e676,\n A700: #00c853,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-light-green: (\n 50: #f1f8e9,\n 100: #dcedc8,\n 200: #c5e1a5,\n 300: #aed581,\n 400: #9ccc65,\n 500: #8bc34a,\n 600: #7cb342,\n 700: #689f38,\n 800: #558b2f,\n 900: #33691e,\n A100: #ccff90,\n A200: #b2ff59,\n A400: #76ff03,\n A700: #64dd17,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: $black-87-opacity,\n 600: $black-87-opacity,\n 700: $black-87-opacity,\n 800: white,\n 900: white,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-lime: (\n 50: #f9fbe7,\n 100: #f0f4c3,\n 200: #e6ee9c,\n 300: #dce775,\n 400: #d4e157,\n 500: #cddc39,\n 600: #c0ca33,\n 700: #afb42b,\n 800: #9e9d24,\n 900: #827717,\n A100: #f4ff81,\n A200: #eeff41,\n A400: #c6ff00,\n A700: #aeea00,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: $black-87-opacity,\n 600: $black-87-opacity,\n 700: $black-87-opacity,\n 800: $black-87-opacity,\n 900: white,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-yellow: (\n 50: #fffde7,\n 100: #fff9c4,\n 200: #fff59d,\n 300: #fff176,\n 400: #ffee58,\n 500: #ffeb3b,\n 600: #fdd835,\n 700: #fbc02d,\n 800: #f9a825,\n 900: #f57f17,\n A100: #ffff8d,\n A200: #ffff00,\n A400: #ffea00,\n A700: #ffd600,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: $black-87-opacity,\n 600: $black-87-opacity,\n 700: $black-87-opacity,\n 800: $black-87-opacity,\n 900: $black-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-amber: (\n 50: #fff8e1,\n 100: #ffecb3,\n 200: #ffe082,\n 300: #ffd54f,\n 400: #ffca28,\n 500: #ffc107,\n 600: #ffb300,\n 700: #ffa000,\n 800: #ff8f00,\n 900: #ff6f00,\n A100: #ffe57f,\n A200: #ffd740,\n A400: #ffc400,\n A700: #ffab00,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: $black-87-opacity,\n 600: $black-87-opacity,\n 700: $black-87-opacity,\n 800: $black-87-opacity,\n 900: $black-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $black-87-opacity,\n ),\n);\n\n$mat-orange: (\n 50: #fff3e0,\n 100: #ffe0b2,\n 200: #ffcc80,\n 300: #ffb74d,\n 400: #ffa726,\n 500: #ff9800,\n 600: #fb8c00,\n 700: #f57c00,\n 800: #ef6c00,\n 900: #e65100,\n A100: #ffd180,\n A200: #ffab40,\n A400: #ff9100,\n A700: #ff6d00,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: $black-87-opacity,\n 600: $black-87-opacity,\n 700: $black-87-opacity,\n 800: white,\n 900: white,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: black,\n ),\n);\n\n$mat-deep-orange: (\n 50: #fbe9e7,\n 100: #ffccbc,\n 200: #ffab91,\n 300: #ff8a65,\n 400: #ff7043,\n 500: #ff5722,\n 600: #f4511e,\n 700: #e64a19,\n 800: #d84315,\n 900: #bf360c,\n A100: #ff9e80,\n A200: #ff6e40,\n A400: #ff3d00,\n A700: #dd2c00,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: white,\n 600: white,\n 700: white,\n 800: white,\n 900: white,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: white,\n A700: white,\n ),\n);\n\n$mat-brown: (\n 50: #efebe9,\n 100: #d7ccc8,\n 200: #bcaaa4,\n 300: #a1887f,\n 400: #8d6e63,\n 500: #795548,\n 600: #6d4c41,\n 700: #5d4037,\n 800: #4e342e,\n 900: #3e2723,\n A100: #d7ccc8,\n A200: #bcaaa4,\n A400: #8d6e63,\n A700: #5d4037,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: white,\n 400: white,\n 500: $white-87-opacity,\n 600: $white-87-opacity,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: white,\n A700: $white-87-opacity,\n ),\n);\n\n$mat-grey: (\n 0: #ffffff,\n 50: #fafafa,\n 100: #f5f5f5,\n 200: #eeeeee,\n 300: #e0e0e0,\n 400: #bdbdbd,\n 500: #9e9e9e,\n 600: #757575,\n 700: #616161,\n 800: #424242,\n 900: #212121,\n 1000: #000000,\n A100: #ffffff,\n A200: #eeeeee,\n A400: #bdbdbd,\n A700: #616161,\n contrast: (\n 0: $black-87-opacity,\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: $black-87-opacity,\n 500: $black-87-opacity,\n 600: $white-87-opacity,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n 1000: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: $black-87-opacity,\n A700: $white-87-opacity,\n ),\n);\n\n$mat-blue-grey: (\n 50: #eceff1,\n 100: #cfd8dc,\n 200: #b0bec5,\n 300: #90a4ae,\n 400: #78909c,\n 500: #607d8b,\n 600: #546e7a,\n 700: #455a64,\n 800: #37474f,\n 900: #263238,\n A100: #cfd8dc,\n A200: #b0bec5,\n A400: #78909c,\n A700: #455a64,\n contrast: (\n 50: $black-87-opacity,\n 100: $black-87-opacity,\n 200: $black-87-opacity,\n 300: $black-87-opacity,\n 400: white,\n 500: white,\n 600: $white-87-opacity,\n 700: $white-87-opacity,\n 800: $white-87-opacity,\n 900: $white-87-opacity,\n A100: $black-87-opacity,\n A200: $black-87-opacity,\n A400: white,\n A700: $white-87-opacity,\n ),\n);\n","@import 'variables';\n\n// A collection of mixins and CSS classes that can be used to apply elevation to a material\n// element.\n// See: https://www.google.com/design/spec/what-is-material/elevation-shadows.html\n// Examples:\n//\n//\n// .mat-foo {\n// @include $mat-elevation(2);\n//\n// &:active {\n// @include $mat-elevation(8);\n// }\n// }\n//\n// <div id=\"external-card\" class=\"mat-elevation-z2\"><p>Some content</p></div>\n//\n// For an explanation of the design behind how elevation is implemented, see the design doc at\n// https://goo.gl/Kq0k9Z.\n\n// Colors for umbra, penumbra, and ambient shadows. As described in the design doc, each elevation\n// level is created using a set of 3 shadow values, one for umbra (the shadow representing the\n// space completely obscured by an object relative to its light source), one for penumbra (the\n// space partially obscured by an object), and one for ambient (the space which contains the object\n// itself). For a further explanation of these terms and their meanings, see\n// https://en.wikipedia.org/wiki/Umbra,_penumbra_and_antumbra.\n\n$_umbra-color: rgba(black, 0.2);\n$_penumbra-color: rgba(black, 0.14);\n$_ambient-color: rgba(black, 0.12);\n\n// Maps for the different shadow sets and their values within each z-space. These values were\n// created by taking a few reference shadow sets created by Google's Designers and interpolating\n// all of the values between them.\n\n$_umbra-elevation-map: (\n 0: '0px 0px 0px 0px #{$_umbra-color}',\n 1: '0px 2px 1px -1px #{$_umbra-color}',\n 2: '0px 3px 1px -2px #{$_umbra-color}',\n 3: '0px 3px 3px -2px #{$_umbra-color}',\n 4: '0px 2px 4px -1px #{$_umbra-color}',\n 5: '0px 3px 5px -1px #{$_umbra-color}',\n 6: '0px 3px 5px -1px #{$_umbra-color}',\n 7: '0px 4px 5px -2px #{$_umbra-color}',\n 8: '0px 5px 5px -3px #{$_umbra-color}',\n 9: '0px 5px 6px -3px #{$_umbra-color}',\n 10: '0px 6px 6px -3px #{$_umbra-color}',\n 11: '0px 6px 7px -4px #{$_umbra-color}',\n 12: '0px 7px 8px -4px #{$_umbra-color}',\n 13: '0px 7px 8px -4px #{$_umbra-color}',\n 14: '0px 7px 9px -4px #{$_umbra-color}',\n 15: '0px 8px 9px -5px #{$_umbra-color}',\n 16: '0px 8px 10px -5px #{$_umbra-color}',\n 17: '0px 8px 11px -5px #{$_umbra-color}',\n 18: '0px 9px 11px -5px #{$_umbra-color}',\n 19: '0px 9px 12px -6px #{$_umbra-color}',\n 20: '0px 10px 13px -6px #{$_umbra-color}',\n 21: '0px 10px 13px -6px #{$_umbra-color}',\n 22: '0px 10px 14px -6px #{$_umbra-color}',\n 23: '0px 11px 14px -7px #{$_umbra-color}',\n 24: '0px 11px 15px -7px #{$_umbra-color}',\n);\n\n$_penumbra-elevation-map: (\n 0: '0px 0px 0px 0px #{$_penumbra-color}',\n 1: '0px 1px 1px 0px #{$_penumbra-color}',\n 2: '0px 2px 2px 0px #{$_penumbra-color}',\n 3: '0px 3px 4px 0px #{$_penumbra-color}',\n 4: '0px 4px 5px 0px #{$_penumbra-color}',\n 5: '0px 5px 8px 0px #{$_penumbra-color}',\n 6: '0px 6px 10px 0px #{$_penumbra-color}',\n 7: '0px 7px 10px 1px #{$_penumbra-color}',\n 8: '0px 8px 10px 1px #{$_penumbra-color}',\n 9: '0px 9px 12px 1px #{$_penumbra-color}',\n 10: '0px 10px 14px 1px #{$_penumbra-color}',\n 11: '0px 11px 15px 1px #{$_penumbra-color}',\n 12: '0px 12px 17px 2px #{$_penumbra-color}',\n 13: '0px 13px 19px 2px #{$_penumbra-color}',\n 14: '0px 14px 21px 2px #{$_penumbra-color}',\n 15: '0px 15px 22px 2px #{$_penumbra-color}',\n 16: '0px 16px 24px 2px #{$_penumbra-color}',\n 17: '0px 17px 26px 2px #{$_penumbra-color}',\n 18: '0px 18px 28px 2px #{$_penumbra-color}',\n 19: '0px 19px 29px 2px #{$_penumbra-color}',\n 20: '0px 20px 31px 3px #{$_penumbra-color}',\n 21: '0px 21px 33px 3px #{$_penumbra-color}',\n 22: '0px 22px 35px 3px #{$_penumbra-color}',\n 23: '0px 23px 36px 3px #{$_penumbra-color}',\n 24: '0px 24px 38px 3px #{$_penumbra-color}',\n);\n\n$_ambient-elevation-map: (\n 0: '0px 0px 0px 0px #{$_ambient-color}',\n 1: '0px 1px 3px 0px #{$_ambient-color}',\n 2: '0px 1px 5px 0px #{$_ambient-color}',\n 3: '0px 1px 8px 0px #{$_ambient-color}',\n 4: '0px 1px 10px 0px #{$_ambient-color}',\n 5: '0px 1px 14px 0px #{$_ambient-color}',\n 6: '0px 1px 18px 0px #{$_ambient-color}',\n 7: '0px 2px 16px 1px #{$_ambient-color}',\n 8: '0px 3px 14px 2px #{$_ambient-color}',\n 9: '0px 3px 16px 2px #{$_ambient-color}',\n 10: '0px 4px 18px 3px #{$_ambient-color}',\n 11: '0px 4px 20px 3px #{$_ambient-color}',\n 12: '0px 5px 22px 4px #{$_ambient-color}',\n 13: '0px 5px 24px 4px #{$_ambient-color}',\n 14: '0px 5px 26px 4px #{$_ambient-color}',\n 15: '0px 6px 28px 5px #{$_ambient-color}',\n 16: '0px 6px 30px 5px #{$_ambient-color}',\n 17: '0px 6px 32px 5px #{$_ambient-color}',\n 18: '0px 7px 34px 6px #{$_ambient-color}',\n 19: '0px 7px 36px 6px #{$_ambient-color}',\n 20: '0px 8px 38px 7px #{$_ambient-color}',\n 21: '0px 8px 40px 7px #{$_ambient-color}',\n 22: '0px 8px 42px 7px #{$_ambient-color}',\n 23: '0px 9px 44px 8px #{$_ambient-color}',\n 24: '0px 9px 46px 8px #{$_ambient-color}',\n);\n\n// The css property used for elevation. In most cases this should not be changed. It is exposed\n// as a variable for abstraction / easy use when needing to reference the property directly, for\n// example in a will-change rule.\n$mat-elevation-property: box-shadow !default;\n\n// The default duration value for elevation transitions.\n$mat-elevation-transition-duration: 280ms !default;\n\n// The default easing value for elevation transitions.\n$mat-elevation-transition-timing-function: $mat-fast-out-slow-in-timing-function;\n\n// The default color for elevation shadows.\n$mat-elevation-color: black !default;\n\n// The default opacity scaling value for elevation shadows.\n$mat-elevation-opacity: 1 !default;\n\n// Applies the correct css rules to an element to give it the elevation specified by $zValue.\n// The $zValue must be between 0 and 24.\n@mixin mat-elevation($zValue, $color: $mat-elevation-color, $opacity: $mat-elevation-opacity) {\n @if type-of($zValue) != number or not unitless($zValue) {\n @error '$zValue must be a unitless number';\n }\n @if $zValue < 0 or $zValue > 24 {\n @error '$zValue must be between 0 and 24';\n }\n\n box-shadow: #{map-get(_get-umbra-map($color, $opacity), $zValue)},\n #{map-get(_get-penumbra-map($color, $opacity), $zValue)}, #{map-get(_get-ambient-map($color, $opacity), $zValue)};\n}\n\n// Returns a string that can be used as the value for a transition property for elevation.\n// Calling this function directly is useful in situations where a component needs to transition\n// more than one property.\n//\n// .foo {\n// transition: mat-elevation-transition-property-value(), opacity 100ms ease;\n// will-change: $mat-elevation-property, opacity;\n// }\n@function mat-elevation-transition-property-value(\n $duration: $mat-elevation-transition-duration,\n $easing: $mat-elevation-transition-timing-function\n) {\n @return #{$mat-elevation-property} #{$duration} #{$easing};\n}\n\n// Applies the correct css rules needed to have an element transition between elevations.\n// This mixin should be applied to elements whose elevation values will change depending on their\n// context (e.g. when active or disabled).\n//\n// NOTE(traviskaufman): Both this mixin and the above function use default parameters so they can\n// be used in the same way by clients.\n@mixin mat-elevation-transition(\n $duration: $mat-elevation-transition-duration,\n $easing: $mat-elevation-transition-timing-function\n) {\n transition: mat-elevation-transition-property-value($duration, $easing);\n will-change: $mat-elevation-property;\n}\n\n// Colors for umbra, penumbra, and ambient shadows. As described in the design doc, each elevation\n// level is created using a set of 3 shadow values, one for umbra (the shadow representing the\n// space completely obscured by an object relative to its light source), one for penumbra (the\n// space partially obscured by an object), and one for ambient (the space which contains the object\n// itself). For a further explanation of these terms and their meanings, see\n// https://en.wikipedia.org/wiki/Umbra,_penumbra_and_antumbra.\n\n// Maps for the different shadow sets and their values within each z-space. These values were\n// created by taking a few reference shadow sets created by Google's Designers and interpolating\n// all of the values between them.\n\n@function _get-umbra-map($color, $opacity) {\n @return (\n 0: '0px 0px 0px 0px #{rgba($color, $opacity * 0.2)}',\n 1: '0px 2px 1px -1px #{rgba($color, $opacity * 0.2)}',\n 2: '0px 3px 1px -2px #{rgba($color, $opacity * 0.2)}',\n 3: '0px 3px 3px -2px #{rgba($color, $opacity * 0.2)}',\n 4: '0px 2px 4px -1px #{rgba($color, $opacity * 0.2)}',\n 5: '0px 3px 5px -1px #{rgba($color, $opacity * 0.2)}',\n 6: '0px 3px 5px -1px #{rgba($color, $opacity * 0.2)}',\n 7: '0px 4px 5px -2px #{rgba($color, $opacity * 0.2)}',\n 8: '0px 5px 5px -3px #{rgba($color, $opacity * 0.2)}',\n 9: '0px 5px 6px -3px #{rgba($color, $opacity * 0.2)}',\n 10: '0px 6px 6px -3px #{rgba($color, $opacity * 0.2)}',\n 11: '0px 6px 7px -4px #{rgba($color, $opacity * 0.2)}',\n 12: '0px 7px 8px -4px #{rgba($color, $opacity * 0.2)}',\n 13: '0px 7px 8px -4px #{rgba($color, $opacity * 0.2)}',\n 14: '0px 7px 9px -4px #{rgba($color, $opacity * 0.2)}',\n 15: '0px 8px 9px -5px #{rgba($color, $opacity * 0.2)}',\n 16: '0px 8px 10px -5px #{rgba($color, $opacity * 0.2)}',\n 17: '0px 8px 11px -5px #{rgba($color, $opacity * 0.2)}',\n 18: '0px 9px 11px -5px #{rgba($color, $opacity * 0.2)}',\n 19: '0px 9px 12px -6px #{rgba($color, $opacity * 0.2)}',\n 20: '0px 10px 13px -6px #{rgba($color, $opacity * 0.2)}',\n 21: '0px 10px 13px -6px #{rgba($color, $opacity * 0.2)}',\n 22: '0px 10px 14px -6px #{rgba($color, $opacity * 0.2)}',\n 23: '0px 11px 14px -7px #{rgba($color, $opacity * 0.2)}',\n 24: '0px 11px 15px -7px #{rgba($color, $opacity * 0.2)}'\n );\n}\n\n@function _get-penumbra-map($color, $opacity) {\n @return (\n 0: '0px 0px 0px 0px #{rgba($color, $opacity * 0.14)}',\n 1: '0px 1px 1px 0px #{rgba($color, $opacity * 0.14)}',\n 2: '0px 2px 2px 0px #{rgba($color, $opacity * 0.14)}',\n 3: '0px 3px 4px 0px #{rgba($color, $opacity * 0.14)}',\n 4: '0px 4px 5px 0px #{rgba($color, $opacity * 0.14)}',\n 5: '0px 5px 8px 0px #{rgba($color, $opacity * 0.14)}',\n 6: '0px 6px 10px 0px #{rgba($color, $opacity * 0.14)}',\n 7: '0px 7px 10px 1px #{rgba($color, $opacity * 0.14)}',\n 8: '0px 8px 10px 1px #{rgba($color, $opacity * 0.14)}',\n 9: '0px 9px 12px 1px #{rgba($color, $opacity * 0.14)}',\n 10: '0px 10px 14px 1px #{rgba($color, $opacity * 0.14)}',\n 11: '0px 11px 15px 1px #{rgba($color, $opacity * 0.14)}',\n 12: '0px 12px 17px 2px #{rgba($color, $opacity * 0.14)}',\n 13: '0px 13px 19px 2px #{rgba($color, $opacity * 0.14)}',\n 14: '0px 14px 21px 2px #{rgba($color, $opacity * 0.14)}',\n 15: '0px 15px 22px 2px #{rgba($color, $opacity * 0.14)}',\n 16: '0px 16px 24px 2px #{rgba($color, $opacity * 0.14)}',\n 17: '0px 17px 26px 2px #{rgba($color, $opacity * 0.14)}',\n 18: '0px 18px 28px 2px #{rgba($color, $opacity * 0.14)}',\n 19: '0px 19px 29px 2px #{rgba($color, $opacity * 0.14)}',\n 20: '0px 20px 31px 3px #{rgba($color, $opacity * 0.14)}',\n 21: '0px 21px 33px 3px #{rgba($color, $opacity * 0.14)}',\n 22: '0px 22px 35px 3px #{rgba($color, $opacity * 0.14)}',\n 23: '0px 23px 36px 3px #{rgba($color, $opacity * 0.14)}',\n 24: '0px 24px 38px 3px #{rgba($color, $opacity * 0.14)}'\n );\n}\n\n@function _get-ambient-map($color, $opacity) {\n @return (\n 0: '0px 0px 0px 0px #{rgba($color, $opacity * 0.12)}',\n 1: '0px 1px 3px 0px #{rgba($color, $opacity * 0.12)}',\n 2: '0px 1px 5px 0px #{rgba($color, $opacity * 0.12)}',\n 3: '0px 1px 8px 0px #{rgba($color, $opacity * 0.12)}',\n 4: '0px 1px 10px 0px #{rgba($color, $opacity * 0.12)}',\n 5: '0px 1px 14px 0px #{rgba($color, $opacity * 0.12)}',\n 6: '0px 1px 18px 0px #{rgba($color, $opacity * 0.12)}',\n 7: '0px 2px 16px 1px #{rgba($color, $opacity * 0.12)}',\n 8: '0px 3px 14px 2px #{rgba($color, $opacity * 0.12)}',\n 9: '0px 3px 16px 2px #{rgba($color, $opacity * 0.12)}',\n 10: '0px 4px 18px 3px #{rgba($color, $opacity * 0.12)}',\n 11: '0px 4px 20px 3px #{rgba($color, $opacity * 0.12)}',\n 12: '0px 5px 22px 4px #{rgba($color, $opacity * 0.12)}',\n 13: '0px 5px 24px 4px #{rgba($color, $opacity * 0.12)}',\n 14: '0px 5px 26px 4px #{rgba($color, $opacity * 0.12)}',\n 15: '0px 6px 28px 5px #{rgba($color, $opacity * 0.12)}',\n 16: '0px 6px 30px 5px #{rgba($color, $opacity * 0.12)}',\n 17: '0px 6px 32px 5px #{rgba($color, $opacity * 0.12)}',\n 18: '0px 7px 34px 6px #{rgba($color, $opacity * 0.12)}',\n 19: '0px 7px 36px 6px #{rgba($color, $opacity * 0.12)}',\n 20: '0px 8px 38px 7px #{rgba($color, $opacity * 0.12)}',\n 21: '0px 8px 40px 7px #{rgba($color, $opacity * 0.12)}',\n 22: '0px 8px 42px 7px #{rgba($color, $opacity * 0.12)}',\n 23: '0px 9px 44px 8px #{rgba($color, $opacity * 0.12)}',\n 24: '0px 9px 46px 8px #{rgba($color, $opacity * 0.12)}'\n );\n}\n","@import '../dialogs/dialog-theme';\n@import '../json-formatter/json-formatter-theme';\n@import '../message/message-theme';\n\n@function td-typography-config(\n $font-family: '\"Roboto\", \"Helvetica Neue\", sans-serif',\n $headline: td-typography-level(24px, 32px, 400),\n $title: td-typography-level(20px, 32px, 500),\n $subheading-2: td-typography-level(16px, 28px, 400),\n $subheading-1: td-typography-level(15px, 24px, 400),\n $body-2: td-typography-level(14px, 24px, 500),\n $body-1: td-typography-level(14px, 20px, 400),\n $caption: td-typography-level(12px, 20px, 400)\n) {\n @return (\n font-family: $font-family,\n headline: $headline,\n title: $title,\n subheading-2: $subheading-2,\n subheading-1: $subheading-1,\n body-2: $body-2,\n body-1: $body-1,\n caption: $caption\n );\n}\n\n@mixin td-typography($config: null) {\n @if $config == null {\n $config: td-typography-config();\n }\n\n body {\n font-family: td-font-family($config);\n }\n @include td-dialog-typography($config);\n @include td-json-formatter-typography($config);\n @include td-message-typography($config);\n @include td-layout-typography($config);\n}\n","// Utility for fetching a nested value from a typography config.\n@function _td-get-type-value($config, $level, $name) {\n @return map-get(map-get($config, $level), $name);\n}\n\n// Gets the font size for a level inside a typography config.\n@function td-font-size($config, $level) {\n @return _td-get-type-value($config, $level, font-size);\n}\n\n// Gets the line height for a level inside a typography config.\n@function td-line-height($config, $level) {\n @return _td-get-type-value($config, $level, line-height);\n}\n\n// Gets the font weight for a level inside a typography config.\n@function td-font-weight($config, $level) {\n @return _td-get-type-value($config, $level, font-weight);\n}\n\n// Gets the font-family from a typography config and removes the quotes around it.\n@function td-font-family($config, $level: null) {\n $font-family: map-get($config, font-family);\n\n @if $level != null {\n $font-family: _td-get-type-value($config, $level, font-family);\n }\n\n @return unquote($font-family);\n}\n\n// Represents a typography level from the Material design spec.\n@function td-typography-level($font-size, $line-height: $font-size, $font-weight: 400) {\n @return (font-size: $font-size, line-height: $line-height, font-weight: $font-weight);\n}\n","@import '../common/styles/theme-functions';\n@import '../common/styles/typography-functions';\n\n@mixin td-dialog-typography($config) {\n .td-dialog-title {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, title);\n weight: td-font-weight($config, title);\n }\n }\n .td-dialog-message {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, subheading-2);\n weight: td-font-weight($config, subheading-2);\n }\n\n line-height: td-line-height($config, subheading-2);\n }\n}\n@mixin td-dialog-theme($theme) {\n $primary: map-get($theme, primary);\n $accent: map-get($theme, accent);\n $warn: map-get($theme, warn);\n $foreground: map-get($theme, foreground);\n $background: map-get($theme, background);\n\n .mat-toolbar.td-window-dialog-toolbar {\n color: mat-color($foreground, text);\n border-bottom: 1px solid mat-color($foreground, divider);\n background: none;\n }\n\n .td-dialog-message {\n color: mat-color($foreground, secondary-text);\n }\n}\n","@import '../common/styles/theme-functions';\n@import '../common/styles/typography-functions';\n\n@mixin td-json-formatter-typography($config) {\n .td-key {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, body-1);\n }\n }\n}\n\n@mixin td-json-formatter-theme($theme) {\n $primary: map-get($theme, primary);\n $accent: map-get($theme, accent);\n $warn: map-get($theme, warn);\n $foreground: map-get($theme, foreground);\n $background: map-get($theme, background);\n .td-json-formatter-wrapper {\n .function::after,\n .date::after,\n .td-object-name::after,\n .td-array-length::after {\n content: '\\200E';\n }\n .td-key {\n &.td-key-node {\n &:focus,\n &:hover {\n background-color: mat-color($background, hover);\n }\n .td-node-icon {\n color: mat-color($foreground, secondary-text);\n }\n }\n }\n .key {\n color: mat-color($primary);\n }\n .value {\n .string {\n color: mat-color($warn);\n }\n .number {\n color: mat-color($accent);\n }\n .boolean {\n color: mat-color($accent);\n }\n .null,\n .undefined {\n color: mat-color($foreground, disabled-text);\n }\n .function {\n color: mat-color($primary);\n }\n .date {\n color: mat-color($foreground, text);\n }\n }\n }\n}\n","@import '../common/styles/theme-functions';\n@import '../common/styles/typography-functions';\n\n@mixin td-message-typography($config) {\n .td-message-label {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, body-2);\n weight: 600;\n }\n\n line-height: td-line-height($config, body-2);\n }\n .td-message-sublabel {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, body-1);\n }\n }\n}\n\n@mixin td-message-theme($theme) {\n $primary: map-get($theme, primary);\n $accent: map-get($theme, accent);\n $warn: map-get($theme, warn);\n\n .td-message {\n &.mat-primary {\n color: mat-color($primary);\n background-color: mat-color($primary, 0.15);\n }\n &.mat-accent {\n color: mat-color($accent);\n background-color: mat-color($accent, 0.15);\n }\n &.mat-warn {\n color: mat-color($warn);\n background-color: mat-color($warn, 0.15);\n }\n }\n}\n","@import '../common/styles/elevation';\n@import '../common/styles/theme-functions';\n@import '../common/styles/typography-functions';\n\n@mixin td-layout-typography($config) {\n td-navigation-drawer {\n .td-navigation-drawer-title {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, subheading-2);\n }\n }\n .td-navigation-drawer-name {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, body-1);\n weight: 500;\n }\n\n line-height: td-line-height($config, body-1);\n }\n .td-navigation-drawer-menu-toggle {\n font: {\n family: td-font-family($config);\n size: td-font-size($config, body-2);\n weight: 400;\n }\n\n line-height: td-line-height($config, body-2);\n }\n }\n}\n\n@mixin td-layout-theme($theme) {\n $primary: map-get($theme, primary);\n $accent: map-get($theme, accent);\n $warn: map-get($theme, warn);\n $background: map-get($theme, background);\n $foreground: map-get($theme, foreground);\n\n .mat-drawer-container {\n background-color: mat-color($background, status-bar);\n }\n\n [mat-icon-button].td-layout-menu-button {\n margin-left: 0;\n ::ng-deep [dir='rtl'] & {\n margin-right: 0;\n margin-left: 6px;\n }\n }\n\n td-layout-nav,\n td-layout-nav-list,\n td-layout-manage-list,\n td-layout-card-over,\n td-navigation-drawer,\n td-layout {\n mat-toolbar {\n @include mat-elevation(1);\n\n z-index: 1;\n }\n }\n\n body[dense] td-layout-nav,\n body[dense] td-layout-nav-list,\n body[dense] td-layout-card-over,\n td-layout-nav[dense],\n td-layout-nav-list[dense],\n td-layout-card-over[dense] {\n mat-toolbar.td-layout-toolbar {\n &.mat-toolbar-row,\n &.mat-toolbar-single-row {\n height: 48px;\n }\n }\n }\n body[dense] td-layout-card-over,\n td-layout-card-over[dense] {\n .td-layout-card-over-wrapper {\n margin: -48px;\n margin-left: 0;\n margin-right: 0;\n }\n }\n .mat-drawer-side.td-layout-sidenav {\n @include mat-elevation(2);\n }\n .td-layout-footer {\n background: mat-color($background, app-bar);\n color: mat-color($foreground, text);\n @include mat-elevation(2);\n &.mat-primary {\n background: mat-color($primary);\n &,\n mat-icon {\n color: mat-color($primary, default-contrast);\n }\n }\n &.mat-accent {\n background: mat-color($accent);\n &,\n mat-icon {\n color: mat-color($accent, default-contrast);\n }\n }\n &.mat-warn {\n background: mat-color($warn);\n &,\n mat-icon {\n color: mat-color($warn, default-contrast);\n }\n }\n }\n}\n","@mixin td-breadcrumbs-theme($theme) {\n $foreground: map-get($theme, foreground);\n\n td-breadcrumb {\n &:last-of-type {\n font-weight: bold;\n cursor: default;\n }\n }\n}\n","@import './styles/theme-functions';\n\n@mixin td-common-theme($theme) {\n $warn: map-get($theme, warn);\n $foreground: map-get($theme, foreground);\n $background: map-get($theme, background);\n\n mat-list-item,\n .mat-list-item-content {\n mat-icon {\n color: mat-color($foreground, icon);\n &[matListAvatar] {\n background-color: mat-color($background, hover);\n }\n }\n }\n .mat-list-text {\n p {\n color: mat-color($foreground, disabled);\n }\n }\n\n table.mat-table {\n background: transparent;\n }\n\n .mat-row {\n &:hover,\n &:focus {\n background-color: map-get($background, hover);\n }\n }\n}\n","@import '../common/styles/variables';\n@import '../common/styles/elevation';\n@import '../common/styles/theme-functions';\n\n@mixin td-file-theme($theme) {\n $background: map-get($theme, background);\n\n td-file-upload {\n .td-file-upload-cancel {\n mat-icon {\n background-color: mat-color($background, background);\n }\n }\n }\n td-file-input {\n /**\n * Class that is added ondragenter by the [TdFileDrop] directive.\n */\n .drop-zone {\n transition: background $swift-ease-out-duration $swift-ease-out-timing-function,\n mat-elevation-transition-property-value();\n @include mat-elevation(8);\n }\n }\n}\n","@mixin td-side-sheet-theme($theme) {\n $background: map-get($theme, background);\n $dialog: map-get($background, dialog);\n\n .td-side-sheet-container {\n background-color: $dialog;\n }\n}\n"]}