keycloak-theme-editor 0.1.0

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 (343) hide show
  1. package/LICENSE +200 -0
  2. package/README.md +147 -0
  3. package/bin/cli.js +1270 -0
  4. package/dist/assets/EditorContent-CB5V7FK7.js +134 -0
  5. package/dist/assets/RedHatDisplay-Bold-4NfIjmgI.woff2 +0 -0
  6. package/dist/assets/RedHatDisplay-BoldItalic-pTGisv8w.woff2 +0 -0
  7. package/dist/assets/RedHatDisplay-Medium-C1BzJLzv.woff2 +0 -0
  8. package/dist/assets/RedHatDisplay-MediumItalic-ZwmBpJRm.woff2 +0 -0
  9. package/dist/assets/RedHatDisplayVF-CYDHf1NI.woff2 +0 -0
  10. package/dist/assets/RedHatDisplayVF-Italic-CRpusWc8.woff2 +0 -0
  11. package/dist/assets/RedHatMono-Italic-CV5TsSDj.woff2 +0 -0
  12. package/dist/assets/RedHatMono-Regular-e08YtVYm.woff2 +0 -0
  13. package/dist/assets/RedHatMonoVF-C4fMH6Vz.woff2 +0 -0
  14. package/dist/assets/RedHatMonoVF-Italic-DGQo2ogW.woff2 +0 -0
  15. package/dist/assets/RedHatText-Italic-BLl-MYdo.woff2 +0 -0
  16. package/dist/assets/RedHatText-Medium-CFPgPIaW.woff2 +0 -0
  17. package/dist/assets/RedHatText-MediumItalic-B14GYUh6.woff2 +0 -0
  18. package/dist/assets/RedHatText-Regular-BDARZx4I.woff2 +0 -0
  19. package/dist/assets/RedHatTextVF-Italic-Dkj_WqbA.woff2 +0 -0
  20. package/dist/assets/RedHatTextVF-wYvZ7prR.woff2 +0 -0
  21. package/dist/assets/StylingPanel-BaNmfAl5.js +10 -0
  22. package/dist/assets/codemirror-CPFVGfiJ.js +12 -0
  23. package/dist/assets/fa-solid-900-DguXoeIz.woff2 +0 -0
  24. package/dist/assets/fflate-BiS96k4e.js +1 -0
  25. package/dist/assets/index-Dm1pQXDh.css +1 -0
  26. package/dist/assets/index-DtQiX03K.js +2 -0
  27. package/dist/assets/mdi-C-ens7Qz.js +1 -0
  28. package/dist/assets/patternfly-BbS2qD2Z.js +1 -0
  29. package/dist/assets/patternfly-ZUQBYYQM.css +1 -0
  30. package/dist/assets/patternfly-addons-C5K6YGth.css +1 -0
  31. package/dist/assets/patternfly.min-DYq-aGv-.css +1 -0
  32. package/dist/assets/pf-v5-pficon-Di6gTOT4.woff2 +0 -0
  33. package/dist/assets/pf-v6-pficon-Dy6oiu9u.woff2 +0 -0
  34. package/dist/assets/react-BwQcSK_q.js +9 -0
  35. package/dist/assets/vendor-DPuiCcTY.js +2 -0
  36. package/dist/assets/zustand-Cd1unGLA.js +1 -0
  37. package/dist/index.html +17 -0
  38. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-Black.woff2 +0 -0
  39. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-BlackItalic.woff2 +0 -0
  40. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-Bold.woff2 +0 -0
  41. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-BoldItalic.woff2 +0 -0
  42. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-Italic.woff2 +0 -0
  43. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-Light.woff2 +0 -0
  44. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-LightItalic.woff2 +0 -0
  45. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-Medium.woff2 +0 -0
  46. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-MediumItalic.woff2 +0 -0
  47. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplay-Regular.woff2 +0 -0
  48. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplayVF-Italic.woff2 +0 -0
  49. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay/RedHatDisplayVF.woff2 +0 -0
  50. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-Black.woff2 +0 -0
  51. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-BlackItalic.woff2 +0 -0
  52. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-Bold.woff2 +0 -0
  53. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-BoldItalic.woff2 +0 -0
  54. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-Italic.woff2 +0 -0
  55. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-Light.woff2 +0 -0
  56. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-LightItalic.woff2 +0 -0
  57. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-Medium.woff2 +0 -0
  58. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-MediumItalic.woff2 +0 -0
  59. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplay-Regular.woff2 +0 -0
  60. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplayVF-Italic.woff2 +0 -0
  61. package/dist/keycloak-dev-resources/assets/fonts/RedHatDisplayVF.woff2 +0 -0
  62. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-Bold.woff2 +0 -0
  63. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-BoldItalic.woff2 +0 -0
  64. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-Italic.woff2 +0 -0
  65. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-Light.woff2 +0 -0
  66. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-LightItalic.woff2 +0 -0
  67. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-Medium.woff2 +0 -0
  68. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-MediumItalic.woff2 +0 -0
  69. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMono-Regular.woff2 +0 -0
  70. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMonoVF-Italic.woff2 +0 -0
  71. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono/RedHatMonoVF.woff2 +0 -0
  72. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-Bold.woff2 +0 -0
  73. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-BoldItalic.woff2 +0 -0
  74. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-Italic.woff2 +0 -0
  75. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-Light.woff2 +0 -0
  76. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-LightItalic.woff2 +0 -0
  77. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-Medium.woff2 +0 -0
  78. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-MediumItalic.woff2 +0 -0
  79. package/dist/keycloak-dev-resources/assets/fonts/RedHatMono-Regular.woff2 +0 -0
  80. package/dist/keycloak-dev-resources/assets/fonts/RedHatMonoVF-Italic.woff2 +0 -0
  81. package/dist/keycloak-dev-resources/assets/fonts/RedHatMonoVF.woff2 +0 -0
  82. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-Bold.woff2 +0 -0
  83. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-BoldItalic.woff2 +0 -0
  84. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-Italic.woff2 +0 -0
  85. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-Light.woff2 +0 -0
  86. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-LightItalic.woff2 +0 -0
  87. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-Medium.woff2 +0 -0
  88. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-MediumItalic.woff2 +0 -0
  89. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatText-Regular.woff2 +0 -0
  90. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatTextVF-Italic.woff2 +0 -0
  91. package/dist/keycloak-dev-resources/assets/fonts/RedHatText/RedHatTextVF.woff2 +0 -0
  92. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-Bold.woff2 +0 -0
  93. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-BoldItalic.woff2 +0 -0
  94. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-Italic.woff2 +0 -0
  95. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-Light.woff2 +0 -0
  96. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-LightItalic.woff2 +0 -0
  97. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-Medium.woff2 +0 -0
  98. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-MediumItalic.woff2 +0 -0
  99. package/dist/keycloak-dev-resources/assets/fonts/RedHatText-Regular.woff2 +0 -0
  100. package/dist/keycloak-dev-resources/assets/fonts/RedHatTextVF-Italic.woff2 +0 -0
  101. package/dist/keycloak-dev-resources/assets/fonts/RedHatTextVF.woff2 +0 -0
  102. package/dist/keycloak-dev-resources/assets/fonts/fa-solid-900.woff2 +0 -0
  103. package/dist/keycloak-dev-resources/assets/fonts/webfonts/fa-solid-900.woff2 +0 -0
  104. package/dist/keycloak-dev-resources/img/keycloak-bg-darken.svg +1 -0
  105. package/dist/keycloak-dev-resources/img/keycloak-bg.png +0 -0
  106. package/dist/keycloak-dev-resources/img/keycloak-logo-text.svg +1 -0
  107. package/dist/keycloak-dev-resources/patternfly-addons.css +8430 -0
  108. package/dist/keycloak-dev-resources/patternfly.min.css +2 -0
  109. package/dist/keycloak-dev-resources/themes/base/login/messages/messages_en.properties +5 -0
  110. package/dist/keycloak-dev-resources/themes/base/login/mock-extension-showcase.ftl +13 -0
  111. package/dist/keycloak-dev-resources/themes/base/login/resources/css/preview.css +5 -0
  112. package/dist/keycloak-dev-resources/themes/base/login/resources/css/quick-start.css +16 -0
  113. package/dist/keycloak-dev-resources/themes/base/login/resources/css/styles.css +2 -0
  114. package/dist/keycloak-dev-resources/themes/base/login/theme.properties +143 -0
  115. package/dist/keycloak-dev-resources/themes/horizontal-card/login/footer.ftl +32 -0
  116. package/dist/keycloak-dev-resources/themes/horizontal-card/login/messages/messages_en.properties +6 -0
  117. package/dist/keycloak-dev-resources/themes/horizontal-card/login/resources/css/preview.css +5 -0
  118. package/dist/keycloak-dev-resources/themes/horizontal-card/login/resources/css/quick-start.css +31 -0
  119. package/dist/keycloak-dev-resources/themes/horizontal-card/login/resources/css/styles.css +1149 -0
  120. package/dist/keycloak-dev-resources/themes/horizontal-card/login/template.ftl +234 -0
  121. package/dist/keycloak-dev-resources/themes/horizontal-card/login/theme.properties +142 -0
  122. package/dist/keycloak-dev-resources/themes/modern-gradient/login/footer.ftl +12 -0
  123. package/dist/keycloak-dev-resources/themes/modern-gradient/login/messages/messages_en.properties +6 -0
  124. package/dist/keycloak-dev-resources/themes/modern-gradient/login/resources/css/preview.css +13 -0
  125. package/dist/keycloak-dev-resources/themes/modern-gradient/login/resources/css/quick-start.css +39 -0
  126. package/dist/keycloak-dev-resources/themes/modern-gradient/login/resources/css/styles.css +1371 -0
  127. package/dist/keycloak-dev-resources/themes/modern-gradient/login/template.ftl +296 -0
  128. package/dist/keycloak-dev-resources/themes/modern-gradient/login/theme.properties +142 -0
  129. package/dist/keycloak-dev-resources/themes/themes.json +42 -0
  130. package/dist/keycloak-dev-resources/themes/v2/login/footer.ftl +15 -0
  131. package/dist/keycloak-dev-resources/themes/v2/login/messages/messages_en.properties +5 -0
  132. package/dist/keycloak-dev-resources/themes/v2/login/mock-extension-showcase.ftl +13 -0
  133. package/dist/keycloak-dev-resources/themes/v2/login/resources/css/preview.css +5 -0
  134. package/dist/keycloak-dev-resources/themes/v2/login/resources/css/quick-start.css +16 -0
  135. package/dist/keycloak-dev-resources/themes/v2/login/resources/css/styles.css +426 -0
  136. package/dist/keycloak-dev-resources/themes/v2/login/resources/img/keycloak-bg-darken.svg +1 -0
  137. package/dist/keycloak-dev-resources/themes/v2/login/resources/img/keycloak-bg.png +0 -0
  138. package/dist/keycloak-dev-resources/themes/v2/login/resources/img/keycloak-logo-text.svg +1 -0
  139. package/dist/keycloak-dev-resources/themes/v2/login/template.ftl +287 -0
  140. package/dist/keycloak-dev-resources/themes/v2/login/theme.properties +125 -0
  141. package/dist/keycloak-upstream/base/login/cli_splash.ftl +7 -0
  142. package/dist/keycloak-upstream/base/login/code.ftl +19 -0
  143. package/dist/keycloak-upstream/base/login/delete-account-confirm.ftl +33 -0
  144. package/dist/keycloak-upstream/base/login/delete-credential.ftl +15 -0
  145. package/dist/keycloak-upstream/base/login/error.ftl +16 -0
  146. package/dist/keycloak-upstream/base/login/footer.ftl +3 -0
  147. package/dist/keycloak-upstream/base/login/frontchannel-logout.ftl +30 -0
  148. package/dist/keycloak-upstream/base/login/idp-review-user-profile.ftl +23 -0
  149. package/dist/keycloak-upstream/base/login/info.ftl +24 -0
  150. package/dist/keycloak-upstream/base/login/link-idp-action.ftl +15 -0
  151. package/dist/keycloak-upstream/base/login/login-config-totp.ftl +115 -0
  152. package/dist/keycloak-upstream/base/login/login-idp-link-confirm-override.ftl +12 -0
  153. package/dist/keycloak-upstream/base/login/login-idp-link-confirm.ftl +15 -0
  154. package/dist/keycloak-upstream/base/login/login-idp-link-email.ftl +16 -0
  155. package/dist/keycloak-upstream/base/login/login-oauth-grant.ftl +68 -0
  156. package/dist/keycloak-upstream/base/login/login-oauth2-device-verify-user-code.ftl +31 -0
  157. package/dist/keycloak-upstream/base/login/login-otp.ftl +59 -0
  158. package/dist/keycloak-upstream/base/login/login-page-expired.ftl +11 -0
  159. package/dist/keycloak-upstream/base/login/login-passkeys-conditional-authenticate.ftl +147 -0
  160. package/dist/keycloak-upstream/base/login/login-password.ftl +52 -0
  161. package/dist/keycloak-upstream/base/login/login-recovery-authn-code-config.ftl +186 -0
  162. package/dist/keycloak-upstream/base/login/login-recovery-authn-code-input.ftl +46 -0
  163. package/dist/keycloak-upstream/base/login/login-reset-otp.ftl +33 -0
  164. package/dist/keycloak-upstream/base/login/login-reset-password.ftl +39 -0
  165. package/dist/keycloak-upstream/base/login/login-update-password.ftl +77 -0
  166. package/dist/keycloak-upstream/base/login/login-update-profile.ftl +28 -0
  167. package/dist/keycloak-upstream/base/login/login-username.ftl +92 -0
  168. package/dist/keycloak-upstream/base/login/login-verify-email.ftl +36 -0
  169. package/dist/keycloak-upstream/base/login/login-x509-info.ftl +55 -0
  170. package/dist/keycloak-upstream/base/login/login.ftl +120 -0
  171. package/dist/keycloak-upstream/base/login/logout-confirm.ftl +38 -0
  172. package/dist/keycloak-upstream/base/login/passkeys.ftl +45 -0
  173. package/dist/keycloak-upstream/base/login/password-commons.ftl +12 -0
  174. package/dist/keycloak-upstream/base/login/register-commons.ftl +27 -0
  175. package/dist/keycloak-upstream/base/login/register.ftl +112 -0
  176. package/dist/keycloak-upstream/base/login/saml-post-form.ftl +25 -0
  177. package/dist/keycloak-upstream/base/login/select-authenticator.ftl +36 -0
  178. package/dist/keycloak-upstream/base/login/select-organization.ftl +23 -0
  179. package/dist/keycloak-upstream/base/login/template.ftl +204 -0
  180. package/dist/keycloak-upstream/base/login/terms.ftl +15 -0
  181. package/dist/keycloak-upstream/base/login/theme.properties +1 -0
  182. package/dist/keycloak-upstream/base/login/update-email.ftl +30 -0
  183. package/dist/keycloak-upstream/base/login/user-profile-commons.ftl +210 -0
  184. package/dist/keycloak-upstream/base/login/webauthn-authenticate.ftl +104 -0
  185. package/dist/keycloak-upstream/base/login/webauthn-error.ftl +36 -0
  186. package/dist/keycloak-upstream/base/login/webauthn-register.ftl +66 -0
  187. package/dist/keycloak-upstream/base/messages/messages_en.properties +563 -0
  188. package/dist/keycloak-upstream/base/theme-properties.json +1 -0
  189. package/dist/keycloak-upstream/v2/login/buttons.ftl +24 -0
  190. package/dist/keycloak-upstream/v2/login/code.ftl +96 -0
  191. package/dist/keycloak-upstream/v2/login/delete-account-confirm.ftl +40 -0
  192. package/dist/keycloak-upstream/v2/login/delete-credential.ftl +21 -0
  193. package/dist/keycloak-upstream/v2/login/field.ftl +162 -0
  194. package/dist/keycloak-upstream/v2/login/footer.ftl +3 -0
  195. package/dist/keycloak-upstream/v2/login/link-idp-action.ftl +21 -0
  196. package/dist/keycloak-upstream/v2/login/login-config-totp.ftl +124 -0
  197. package/dist/keycloak-upstream/v2/login/login-oauth-grant.ftl +59 -0
  198. package/dist/keycloak-upstream/v2/login/login-otp.ftl +47 -0
  199. package/dist/keycloak-upstream/v2/login/login-password.ftl +21 -0
  200. package/dist/keycloak-upstream/v2/login/login-recovery-authn-code-config.ftl +180 -0
  201. package/dist/keycloak-upstream/v2/login/login-recovery-authn-code-input.ftl +15 -0
  202. package/dist/keycloak-upstream/v2/login/login-reset-password.ftl +29 -0
  203. package/dist/keycloak-upstream/v2/login/login-update-password.ftl +32 -0
  204. package/dist/keycloak-upstream/v2/login/login-username.ftl +51 -0
  205. package/dist/keycloak-upstream/v2/login/login.ftl +56 -0
  206. package/dist/keycloak-upstream/v2/login/password-commons.ftl +8 -0
  207. package/dist/keycloak-upstream/v2/login/password-validation.ftl +53 -0
  208. package/dist/keycloak-upstream/v2/login/register-commons.ftl +27 -0
  209. package/dist/keycloak-upstream/v2/login/register.ftl +68 -0
  210. package/dist/keycloak-upstream/v2/login/select-authenticator.ftl +41 -0
  211. package/dist/keycloak-upstream/v2/login/social-providers.ftl +95 -0
  212. package/dist/keycloak-upstream/v2/login/template.ftl +266 -0
  213. package/dist/keycloak-upstream/v2/login/terms.ftl +21 -0
  214. package/dist/keycloak-upstream/v2/login/theme.properties +130 -0
  215. package/dist/keycloak-upstream/v2/login/update-email.ftl +29 -0
  216. package/dist/keycloak-upstream/v2/login/user-profile-commons.ftl +237 -0
  217. package/dist/keycloak-upstream/v2/login/webauthn-authenticate.ftl +131 -0
  218. package/dist/keycloak-upstream/v2/login/webauthn-error.ftl +35 -0
  219. package/dist/keycloak-upstream/v2/login/webauthn-register.ftl +63 -0
  220. package/dist/keycloak-upstream/v2/messages/messages_en.properties +563 -0
  221. package/dist/keycloak-upstream/v2/theme-properties.json +109 -0
  222. package/package.json +100 -0
  223. package/public/keycloak-dev-resources/img/keycloak-bg-darken.svg +1 -0
  224. package/public/keycloak-dev-resources/img/keycloak-bg.png +0 -0
  225. package/public/keycloak-dev-resources/img/keycloak-logo-text.svg +1 -0
  226. package/public/keycloak-dev-resources/themes/base/login/messages/messages_en.properties +5 -0
  227. package/public/keycloak-dev-resources/themes/base/login/mock-extension-showcase.ftl +13 -0
  228. package/public/keycloak-dev-resources/themes/base/login/resources/css/preview.css +5 -0
  229. package/public/keycloak-dev-resources/themes/base/login/resources/css/quick-start.css +16 -0
  230. package/public/keycloak-dev-resources/themes/base/login/resources/css/styles.css +2 -0
  231. package/public/keycloak-dev-resources/themes/base/login/theme.properties +143 -0
  232. package/public/keycloak-dev-resources/themes/horizontal-card/login/footer.ftl +32 -0
  233. package/public/keycloak-dev-resources/themes/horizontal-card/login/messages/messages_en.properties +6 -0
  234. package/public/keycloak-dev-resources/themes/horizontal-card/login/resources/css/preview.css +5 -0
  235. package/public/keycloak-dev-resources/themes/horizontal-card/login/resources/css/quick-start.css +31 -0
  236. package/public/keycloak-dev-resources/themes/horizontal-card/login/resources/css/styles.css +1149 -0
  237. package/public/keycloak-dev-resources/themes/horizontal-card/login/template.ftl +234 -0
  238. package/public/keycloak-dev-resources/themes/horizontal-card/login/theme.properties +142 -0
  239. package/public/keycloak-dev-resources/themes/modern-gradient/login/footer.ftl +12 -0
  240. package/public/keycloak-dev-resources/themes/modern-gradient/login/messages/messages_en.properties +6 -0
  241. package/public/keycloak-dev-resources/themes/modern-gradient/login/resources/css/preview.css +13 -0
  242. package/public/keycloak-dev-resources/themes/modern-gradient/login/resources/css/quick-start.css +39 -0
  243. package/public/keycloak-dev-resources/themes/modern-gradient/login/resources/css/styles.css +1371 -0
  244. package/public/keycloak-dev-resources/themes/modern-gradient/login/template.ftl +296 -0
  245. package/public/keycloak-dev-resources/themes/modern-gradient/login/theme.properties +142 -0
  246. package/public/keycloak-dev-resources/themes/themes.json +42 -0
  247. package/public/keycloak-dev-resources/themes/v2/login/footer.ftl +15 -0
  248. package/public/keycloak-dev-resources/themes/v2/login/messages/messages_en.properties +5 -0
  249. package/public/keycloak-dev-resources/themes/v2/login/mock-extension-showcase.ftl +13 -0
  250. package/public/keycloak-dev-resources/themes/v2/login/resources/css/preview.css +5 -0
  251. package/public/keycloak-dev-resources/themes/v2/login/resources/css/quick-start.css +16 -0
  252. package/public/keycloak-dev-resources/themes/v2/login/resources/css/styles.css +426 -0
  253. package/public/keycloak-dev-resources/themes/v2/login/resources/img/keycloak-bg-darken.svg +1 -0
  254. package/public/keycloak-dev-resources/themes/v2/login/resources/img/keycloak-bg.png +0 -0
  255. package/public/keycloak-dev-resources/themes/v2/login/resources/img/keycloak-logo-text.svg +1 -0
  256. package/public/keycloak-dev-resources/themes/v2/login/template.ftl +287 -0
  257. package/public/keycloak-dev-resources/themes/v2/login/theme.properties +125 -0
  258. package/public/keycloak-upstream/base/login/cli_splash.ftl +7 -0
  259. package/public/keycloak-upstream/base/login/code.ftl +19 -0
  260. package/public/keycloak-upstream/base/login/delete-account-confirm.ftl +33 -0
  261. package/public/keycloak-upstream/base/login/delete-credential.ftl +15 -0
  262. package/public/keycloak-upstream/base/login/error.ftl +16 -0
  263. package/public/keycloak-upstream/base/login/footer.ftl +3 -0
  264. package/public/keycloak-upstream/base/login/frontchannel-logout.ftl +30 -0
  265. package/public/keycloak-upstream/base/login/idp-review-user-profile.ftl +23 -0
  266. package/public/keycloak-upstream/base/login/info.ftl +24 -0
  267. package/public/keycloak-upstream/base/login/link-idp-action.ftl +15 -0
  268. package/public/keycloak-upstream/base/login/login-config-totp.ftl +115 -0
  269. package/public/keycloak-upstream/base/login/login-idp-link-confirm-override.ftl +12 -0
  270. package/public/keycloak-upstream/base/login/login-idp-link-confirm.ftl +15 -0
  271. package/public/keycloak-upstream/base/login/login-idp-link-email.ftl +16 -0
  272. package/public/keycloak-upstream/base/login/login-oauth-grant.ftl +68 -0
  273. package/public/keycloak-upstream/base/login/login-oauth2-device-verify-user-code.ftl +31 -0
  274. package/public/keycloak-upstream/base/login/login-otp.ftl +59 -0
  275. package/public/keycloak-upstream/base/login/login-page-expired.ftl +11 -0
  276. package/public/keycloak-upstream/base/login/login-passkeys-conditional-authenticate.ftl +147 -0
  277. package/public/keycloak-upstream/base/login/login-password.ftl +52 -0
  278. package/public/keycloak-upstream/base/login/login-recovery-authn-code-config.ftl +186 -0
  279. package/public/keycloak-upstream/base/login/login-recovery-authn-code-input.ftl +46 -0
  280. package/public/keycloak-upstream/base/login/login-reset-otp.ftl +33 -0
  281. package/public/keycloak-upstream/base/login/login-reset-password.ftl +39 -0
  282. package/public/keycloak-upstream/base/login/login-update-password.ftl +77 -0
  283. package/public/keycloak-upstream/base/login/login-update-profile.ftl +28 -0
  284. package/public/keycloak-upstream/base/login/login-username.ftl +92 -0
  285. package/public/keycloak-upstream/base/login/login-verify-email.ftl +36 -0
  286. package/public/keycloak-upstream/base/login/login-x509-info.ftl +55 -0
  287. package/public/keycloak-upstream/base/login/login.ftl +120 -0
  288. package/public/keycloak-upstream/base/login/logout-confirm.ftl +38 -0
  289. package/public/keycloak-upstream/base/login/passkeys.ftl +45 -0
  290. package/public/keycloak-upstream/base/login/password-commons.ftl +12 -0
  291. package/public/keycloak-upstream/base/login/register-commons.ftl +27 -0
  292. package/public/keycloak-upstream/base/login/register.ftl +112 -0
  293. package/public/keycloak-upstream/base/login/saml-post-form.ftl +25 -0
  294. package/public/keycloak-upstream/base/login/select-authenticator.ftl +36 -0
  295. package/public/keycloak-upstream/base/login/select-organization.ftl +23 -0
  296. package/public/keycloak-upstream/base/login/template.ftl +204 -0
  297. package/public/keycloak-upstream/base/login/terms.ftl +15 -0
  298. package/public/keycloak-upstream/base/login/theme.properties +1 -0
  299. package/public/keycloak-upstream/base/login/update-email.ftl +30 -0
  300. package/public/keycloak-upstream/base/login/user-profile-commons.ftl +210 -0
  301. package/public/keycloak-upstream/base/login/webauthn-authenticate.ftl +104 -0
  302. package/public/keycloak-upstream/base/login/webauthn-error.ftl +36 -0
  303. package/public/keycloak-upstream/base/login/webauthn-register.ftl +66 -0
  304. package/public/keycloak-upstream/base/messages/messages_en.properties +563 -0
  305. package/public/keycloak-upstream/base/theme-properties.json +1 -0
  306. package/public/keycloak-upstream/v2/login/buttons.ftl +24 -0
  307. package/public/keycloak-upstream/v2/login/code.ftl +96 -0
  308. package/public/keycloak-upstream/v2/login/delete-account-confirm.ftl +40 -0
  309. package/public/keycloak-upstream/v2/login/delete-credential.ftl +21 -0
  310. package/public/keycloak-upstream/v2/login/field.ftl +162 -0
  311. package/public/keycloak-upstream/v2/login/footer.ftl +3 -0
  312. package/public/keycloak-upstream/v2/login/link-idp-action.ftl +21 -0
  313. package/public/keycloak-upstream/v2/login/login-config-totp.ftl +124 -0
  314. package/public/keycloak-upstream/v2/login/login-oauth-grant.ftl +59 -0
  315. package/public/keycloak-upstream/v2/login/login-otp.ftl +47 -0
  316. package/public/keycloak-upstream/v2/login/login-password.ftl +21 -0
  317. package/public/keycloak-upstream/v2/login/login-recovery-authn-code-config.ftl +180 -0
  318. package/public/keycloak-upstream/v2/login/login-recovery-authn-code-input.ftl +15 -0
  319. package/public/keycloak-upstream/v2/login/login-reset-password.ftl +29 -0
  320. package/public/keycloak-upstream/v2/login/login-update-password.ftl +32 -0
  321. package/public/keycloak-upstream/v2/login/login-username.ftl +51 -0
  322. package/public/keycloak-upstream/v2/login/login.ftl +56 -0
  323. package/public/keycloak-upstream/v2/login/password-commons.ftl +8 -0
  324. package/public/keycloak-upstream/v2/login/password-validation.ftl +53 -0
  325. package/public/keycloak-upstream/v2/login/register-commons.ftl +27 -0
  326. package/public/keycloak-upstream/v2/login/register.ftl +68 -0
  327. package/public/keycloak-upstream/v2/login/select-authenticator.ftl +41 -0
  328. package/public/keycloak-upstream/v2/login/social-providers.ftl +95 -0
  329. package/public/keycloak-upstream/v2/login/template.ftl +266 -0
  330. package/public/keycloak-upstream/v2/login/terms.ftl +21 -0
  331. package/public/keycloak-upstream/v2/login/theme.properties +130 -0
  332. package/public/keycloak-upstream/v2/login/update-email.ftl +29 -0
  333. package/public/keycloak-upstream/v2/login/user-profile-commons.ftl +237 -0
  334. package/public/keycloak-upstream/v2/login/webauthn-authenticate.ftl +131 -0
  335. package/public/keycloak-upstream/v2/login/webauthn-error.ftl +35 -0
  336. package/public/keycloak-upstream/v2/login/webauthn-register.ftl +63 -0
  337. package/public/keycloak-upstream/v2/messages/messages_en.properties +563 -0
  338. package/public/keycloak-upstream/v2/theme-properties.json +109 -0
  339. package/tools/generate-preview.ts +320 -0
  340. package/tools/kc-context-mocks/index.ts +29 -0
  341. package/tools/kc-context-mocks/kc-page-story.ts +14 -0
  342. package/tools/kc-context-mocks/kc-page.ts +53 -0
  343. package/tools/preview-renderer/preview-renderer.jar +0 -0
@@ -0,0 +1,1149 @@
1
+ .checkbox {
2
+ display: flex;
3
+ }
4
+
5
+ .kcFormOptionsWrapperClass {
6
+ margin-bottom: 1rem;
7
+ text-align: center;
8
+ }
9
+
10
+ html{
11
+ color-scheme: light;
12
+ background: var(--quickstart-bg-color, #f0f4f9);
13
+ }
14
+
15
+ body{
16
+ background: var(--quickstart-bg-color, #f0f4f9);
17
+ background-image: none;
18
+ color: var(--quickstart-text-primary-light);
19
+ min-height: 100vh;
20
+ margin: 0;
21
+ font-family: system-ui;
22
+ }
23
+
24
+ body#keycloak-bg{
25
+ background: var(--quickstart-bg-color, #f0f4f9);
26
+ }
27
+
28
+ html.pf-v5-theme-dark{
29
+ color-scheme: dark;
30
+ background: var(--quickstart-bg-color, #1e1f20);
31
+ }
32
+
33
+ body.pf-v5-theme-dark, body#keycloak-bg.pf-v5-theme-dark{
34
+ background: var(--quickstart-bg-color, #1e1f20);
35
+ color: var(--quickstart-text-primary-dark);
36
+ }
37
+
38
+ .kcLoginClass{
39
+ min-height: 100vh;
40
+ min-height: 100dvh;
41
+ box-sizing: border-box;
42
+ display: flex;
43
+ flex-direction: column;
44
+ align-items: center;
45
+ justify-content: center;
46
+ gap: 12px;
47
+ padding: clamp(16px, 4vw, 48px);
48
+ }
49
+
50
+ #kc-header{
51
+ display: none;
52
+ }
53
+
54
+ .kcFormCardClass{
55
+ width: 100%;
56
+ max-width: 1040px;
57
+ min-height: 384px;
58
+ background: var(--quickstart-card-bg-color, #ffffff);
59
+ border: 1px solid var(--quickstart-card-border-color, #d1d5db);
60
+ border-radius: var(--quickstart-border-radius, var(--quickstart-card-border-radius-default, 28px));
61
+ box-shadow: none;
62
+ padding: clamp(24px, 4vw, 48px);
63
+ box-sizing: border-box;
64
+ display: grid;
65
+ grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.15fr);
66
+ column-gap: clamp(20px, 4vw, 72px);
67
+ align-items: stretch;
68
+ }
69
+
70
+ @media (max-width: 900px) {
71
+ .kcFormCardClass{
72
+ grid-template-columns: 1fr;
73
+ row-gap: 1.25rem;
74
+ }
75
+ }
76
+
77
+ .kcLoginMain, .kcFormCardClass{
78
+ box-shadow: var(--quickstart-card-shadow);
79
+ }
80
+
81
+ body.pf-v5-theme-dark .kcFormCardClass{
82
+ background: var(--quickstart-card-bg-color-dark, #0e0e0e);
83
+ border-color: var(--quickstart-card-border-color-dark, #2b2c2e);
84
+ }
85
+
86
+ .kc-horizontal-card-footer-under-card{
87
+ width: 100%;
88
+ max-width: 1040px;
89
+ background: transparent;
90
+ display: flex;
91
+ align-items: center;
92
+ border-radius: 18px;
93
+ }
94
+
95
+ .kc-horizontal-card-footer-row{
96
+ width: 100%;
97
+ padding: 0.5rem clamp(16px, 4vw, 24px);
98
+
99
+ display: flex;
100
+ flex-wrap: nowrap;
101
+ gap: 12px;
102
+ justify-content: flex-start;
103
+ align-items: center;
104
+ font-size: 1rem;
105
+ }
106
+
107
+ .kc-horizontal-card-footer-language{
108
+ flex: 0 0 auto;
109
+ }
110
+
111
+ .kc-horizontal-card-footer-under-card a{
112
+ color: var(--quickstart-primary-color, #0b57d0);
113
+ text-decoration: none;
114
+ white-space: nowrap;
115
+ }
116
+
117
+ .kc-horizontal-card-footer-under-card a:hover{
118
+ text-decoration: underline;
119
+ }
120
+
121
+ body.pf-v5-theme-dark .kc-horizontal-card-footer-under-card a, body#keycloak-bg.pf-v5-theme-dark .kc-horizontal-card-footer-under-card a{
122
+ color: var(--quickstart-primary-color, #0b57d0);
123
+ }
124
+
125
+ .kc-horizontal-card-footer-language select.kcInputClass{
126
+ border: 0;
127
+ background: transparent;
128
+ color: var(--quickstart-primary-color, #0b57d0);
129
+ color-scheme: light;
130
+ font: inherit;
131
+ line-height: 1.2;
132
+ padding: 0;
133
+ min-height: auto;
134
+ cursor: pointer;
135
+ width: auto;
136
+ text-decoration: underline;
137
+
138
+ -webkit-appearance: none;
139
+ -moz-appearance: none;
140
+ appearance: none;
141
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath d='M6 8l4 4 4-4' fill='none' stroke='%23e8eaed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
142
+ background-repeat: no-repeat;
143
+ background-position: right center;
144
+ background-size: 0.9rem;
145
+ padding-right: 1.2rem;
146
+ box-shadow: none;
147
+ border-radius: 0;
148
+ }
149
+
150
+ .pf-v5-theme-dark .kc-horizontal-card-footer-language select.kcInputClass{
151
+ color: var(--quickstart-primary-color, #0b57d0);
152
+ color-scheme: dark;
153
+ }
154
+
155
+ .kc-horizontal-card-footer-language select.kcInputClass option{
156
+ background-color: var(--quickstart-bg-color, #1e1f20);
157
+ color: var(--quickstart-text-primary-dark);
158
+ }
159
+
160
+ .kc-horizontal-card-footer-language select.kcInputClass:focus{
161
+ text-decoration: underline;
162
+ }
163
+
164
+ .kc-horizontal-card-footer-language select.kcInputClass:focus-visible{
165
+ outline: 2px solid var(--quickstart-primary-color, #a8c7fa);
166
+ outline-offset: 2px;
167
+ }
168
+
169
+ .kc-footer-legal-links{
170
+ display: inline-flex;
171
+ gap: clamp(16px, 3vw, 56px);
172
+ align-items: center;
173
+ margin-left: auto;
174
+ }
175
+
176
+ .kcFormHeaderClass{
177
+ grid-column: 1;
178
+ padding: 0;
179
+ margin: 0;
180
+ display: flex;
181
+ flex-direction: column;
182
+ align-items: flex-start;
183
+ gap: 20px;
184
+ }
185
+
186
+ .kc-horizontal-card-logo{
187
+ width: 40px;
188
+ height: 40px;
189
+ flex: 0 0 auto;
190
+ border-radius: 999px;
191
+ background-image: var(--kc-applied-logo-url, conic-gradient(from 180deg, #ea4335, #fbbc05, #34a853, #4285f4, #ea4335));
192
+ background-repeat: no-repeat;
193
+ background-position: center;
194
+ background-size: contain;
195
+ }
196
+
197
+ h1#kc-page-title{
198
+ margin: 0;
199
+ font-weight: 500;
200
+ letter-spacing: -0.01em;
201
+ font-size: 2.25rem;
202
+ line-height: 1.15;
203
+ color: inherit;
204
+ }
205
+
206
+ h1, h2, h3, h4, h5, h6, body h1, body h2, body h3, body h4, body h5, body h6, html h1, html h2, html h3, html h4, html h5, html h6, #kc-header-wrapper, #kc-header-wrapper #kc-realm-name, #kc-header-wrapper #kc-client-name, #kc-header-wrapper span#kc-realm-name, #kc-header-wrapper span#kc-client-name, body .kcLoginMainTitle{
207
+ font-family: var(--quickstart-heading-font-family, inherit);
208
+ }
209
+
210
+ .kc-horizontal-card-subtitle{
211
+ margin: 0;
212
+ color: var(--quickstart-text-secondary-light);
213
+ color: var(--gm3-sys-color-on-surface, var(--quickstart-text-secondary-light));
214
+ font-family: "Google Sans", roboto, "Noto Sans Myanmar UI", "Noto Sans Khmer", arial, sans-serif;
215
+ font-weight: 400;
216
+ font-weight: var(--c-stfwt, 400);
217
+ letter-spacing: 0rem;
218
+ line-height: 1.5;
219
+ display: flex;
220
+ flex-direction: column;
221
+ align-items: flex-start;
222
+ gap: 20px;
223
+ }
224
+
225
+ .kc-horizontal-card-subtitle-separator{
226
+ display: none;
227
+ }
228
+
229
+ body.pf-v5-theme-dark .kc-horizontal-card-subtitle, body#keycloak-bg.pf-v5-theme-dark .kc-horizontal-card-subtitle{
230
+ color: var(--quickstart-text-secondary-dark);
231
+ }
232
+
233
+ #kc-content{
234
+ grid-column: 2;
235
+ display: flex;
236
+ align-self: stretch;
237
+ height: 100%;
238
+ padding-top: calc(40px + 0.9rem);
239
+ box-sizing: border-box;
240
+ min-height: 0;
241
+ }
242
+
243
+ #kc-content-wrapper{
244
+ flex: 1 1 auto;
245
+ min-width: 0;
246
+ min-height: 100%;
247
+ display: flex;
248
+ flex-direction: column;
249
+ justify-content: space-between;
250
+ height: 100%;
251
+ }
252
+
253
+ #kc-content-wrapper ul:not([class]):not([id]){
254
+ list-style: none;
255
+ margin: 0.75rem 0 0;
256
+ padding: 0;
257
+ display: flex;
258
+ flex-direction: column;
259
+ gap: 0.5rem;
260
+ }
261
+
262
+ #kc-content-wrapper ul:not([class]):not([id]) > li{
263
+ list-style: none;
264
+ color: var(--quickstart-text-primary-light);
265
+ margin: 0;
266
+ padding: 0.55rem 0.75rem;
267
+ border: 1px solid color-mix(in srgb, var(--quickstart-secondary-color, #9aa0a6) 45%, transparent);
268
+ border-radius: 12px;
269
+ background: color-mix(in srgb, var(--quickstart-secondary-color, #9aa0a6) 14%, transparent);
270
+ }
271
+
272
+ body.pf-v5-theme-dark #kc-content-wrapper ul:not([class]):not([id]) > li,
273
+ body#keycloak-bg.pf-v5-theme-dark #kc-content-wrapper ul:not([class]):not([id]) > li{
274
+ color: var(--quickstart-text-primary-dark);
275
+ }
276
+
277
+ .kcLabelWrapperClass{
278
+ display: flex;
279
+ flex-direction: row;
280
+ gap: 0.5rem;
281
+ }
282
+
283
+ .subtitle {
284
+ display: flex;
285
+ justify-content: flex-end;
286
+ }
287
+
288
+ #kc-code {
289
+ margin-top: 0.5rem;
290
+ height: 40%;
291
+ display: flex;
292
+ flex-direction: column;
293
+ justify-content: space-between;
294
+ align-items: center;
295
+ }
296
+
297
+ #kc-form, #kc-form-wrapper, #kc-form-wrapper > form{
298
+ display: flex;
299
+ flex-direction: column;
300
+ flex: 1 1 auto;
301
+ min-height: 0;
302
+ }
303
+
304
+ #kc-content > #kc-content-wrapper > #kc-form > #kc-form-wrapper > form > .kcFormGroupClass:last-child{
305
+ margin-top: auto;
306
+ }
307
+
308
+ #kc-form-buttons, .form-actions{
309
+ margin-top: auto;
310
+ margin-bottom: 0;
311
+ display: flex;
312
+ flex-direction: column;
313
+ justify-content: space-between;
314
+ gap: 0.75rem;
315
+ align-items: stretch;
316
+ }
317
+
318
+ #kc-form-buttons.kcFormGroupClass, .form-actions.kcFormGroupClass{
319
+ margin-bottom: 0;
320
+ }
321
+
322
+ #kc-form-buttons > *, .form-actions > *{
323
+ width: 100%;
324
+ box-sizing: border-box;
325
+ margin-left: 0 !important;
326
+ margin-right: 0 !important;
327
+ }
328
+
329
+ input.kcInputClass,
330
+ .kcInputClass input,
331
+ select.kcInputClass,
332
+ textarea.kcInputClass,
333
+ .kcButtonClass,
334
+ .kcButtonPrimaryClass,
335
+ .kcButtonSecondaryClass,
336
+ .kcFormSocialAccountListButtonClass,
337
+ .kcPanelMainBodyClass,
338
+ .kcLoginMain,
339
+ .kcFormCardClass{
340
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
341
+ }
342
+
343
+ .kcButtonClass, button.kcButtonClass, a.kcButtonClass, input.kcButtonClass{
344
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
345
+ padding: 0.6rem 1.1rem;
346
+ min-height: 40px;
347
+ font-weight: 500;
348
+ border: 1px solid #d1d5db;
349
+ background: transparent;
350
+ color: inherit;
351
+ cursor: pointer;
352
+ font: inherit;
353
+ line-height: 1.2;
354
+ }
355
+
356
+ .kcButtonPrimaryClass, button.kcButtonPrimaryClass, a.kcButtonPrimaryClass, button[type="submit"], input[type="submit"]{
357
+ border-color: var(--quickstart-primary-color);
358
+ }
359
+
360
+ .kcButtonPrimaryClass, button.kcButtonPrimaryClass, input.kcButtonPrimaryClass{
361
+ background: var(--quickstart-primary-color, #0b57d0);
362
+ border-color: var(--quickstart-primary-color, #0b57d0);
363
+ color: #ffffff;
364
+ }
365
+
366
+ .kcButtonPrimaryClass:hover, button.kcButtonPrimaryClass:hover, input.kcButtonPrimaryClass:hover{
367
+ filter: brightness(1.03);
368
+ }
369
+
370
+ .kcButtonPrimaryClass:hover, .kcButtonPrimaryClass:focus, button[type="submit"]:hover, button[type="submit"]:focus{
371
+ filter: brightness(0.9);
372
+ }
373
+
374
+ .kcButtonBlockClass{
375
+ width: 100%;
376
+ }
377
+
378
+ .kcFormGroupClass{
379
+ margin-bottom: 1.25rem;
380
+ }
381
+
382
+ #kc-form-login .kcFormSettingClass{
383
+ display: flex;
384
+ align-items: center;
385
+ justify-content: space-between;
386
+ }
387
+
388
+ .kcLabelClass{
389
+ color: inherit;
390
+ font-weight: 500;
391
+ display: block;
392
+ margin-bottom: 0.35rem;
393
+ }
394
+
395
+ #kc-totp-settings{
396
+ margin: 0 0 1.25rem 1.25rem;
397
+ padding: 0;
398
+ display: flex;
399
+ flex-direction: column;
400
+ gap: 1rem;
401
+ }
402
+
403
+ #kc-totp-settings p{
404
+ margin: 0 0 0.5rem;
405
+ }
406
+
407
+ #kc-totp-settings > li{
408
+ margin: 0;
409
+ }
410
+
411
+ #kc-totp-settings p:last-child{
412
+ margin-bottom: 0;
413
+ }
414
+
415
+ #kc-totp-settings ul{
416
+ margin: 0.5rem 0 0 1.25rem;
417
+ padding: 0;
418
+ display: flex;
419
+ flex-direction: column;
420
+ gap: 0.35rem;
421
+ }
422
+
423
+ #kc-totp-settings-form{
424
+ margin-top: 1rem;
425
+ }
426
+
427
+ .kcInputGroup{
428
+ display: flex;
429
+ align-items: stretch;
430
+ gap: 0;
431
+ }
432
+
433
+ .kcInputGroup input[type="password"]{
434
+ border-top-right-radius: 0;
435
+ border-bottom-right-radius: 0;
436
+ border-right: none;
437
+ }
438
+
439
+ #code, input.kcInputClass, .kcInputClass input, select.kcInputClass, textarea.kcInputClass{
440
+ background: transparent;
441
+ color: inherit;
442
+ border: 1px solid #d1d5db;
443
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
444
+ padding: 0.625rem 0.75rem;
445
+ font: inherit;
446
+ width: 100%;
447
+ box-sizing: border-box;
448
+ }
449
+
450
+ #code {
451
+ width: 50%;
452
+ text-align: center;
453
+ }
454
+
455
+ input.kcInputClass:hover, .kcInputClass:hover, .kcInputClass input:hover, select.kcInputClass:hover, textarea.kcInputClass:hover{
456
+ border-color: var(--quickstart-primary-color, #0b57d0);
457
+ }
458
+
459
+ input.kcInputClass:focus, .kcInputClass input:focus, select.kcInputClass:focus, textarea.kcInputClass:focus{
460
+ border-color: var(--quickstart-primary-color, #0b57d0);
461
+ box-shadow: 0 0 0 1px var(--quickstart-primary-color, #0b57d0);
462
+ outline: none;
463
+ }
464
+
465
+ .kcInputClass input:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus{
466
+ border-bottom-color: var(--quickstart-primary-color);
467
+ }
468
+
469
+ input.kcInputClass:focus, .kcInputClass input:focus, .kcInputGroupItemClass.kcFill > input:focus, .kcInputGroupItemClass.kcFill > .kcInputClass input:focus, input[type="password"]:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input.kcInputClass[aria-invalid="true"], .kcInputClass input[aria-invalid="true"], .kcInputGroupItemClass.kcFill > input[aria-invalid="true"], .kcInputGroupItemClass.kcFill > .kcInputClass input[aria-invalid="true"]{
470
+ box-shadow: none;
471
+ }
472
+
473
+ .kcInputGroup :is(
474
+ input.kcInputClass,
475
+ .kcInputClass input,
476
+ .kcInputGroupItemClass.kcFill > input,
477
+ .kcInputGroupItemClass.kcFill > .kcInputClass,
478
+ .kcInputGroupItemClass.kcFill > .kcInputClass input,
479
+ input[type="password"],
480
+ input[type="text"],
481
+ input[type="email"],
482
+ input[type="tel"],
483
+ input[type="number"]
484
+ ){
485
+ border-top-left-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
486
+ border-bottom-left-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
487
+ border-top-right-radius: 0;
488
+ border-bottom-right-radius: 0;
489
+ border-right-width: 0;
490
+ border-inline-end-width: 0;
491
+ }
492
+
493
+ #kc-cancel {
494
+ width: 20%
495
+ }
496
+
497
+ body.pf-v5-theme-dark .kcButtonClass, body.pf-v5-theme-dark button.kcButtonClass, body.pf-v5-theme-dark a.kcButtonClass, body.pf-v5-theme-dark input.kcButtonClass{
498
+ border-color: #2b2c2e;
499
+ }
500
+
501
+ .kcButtonSecondaryClass, #kc-form-buttons [name="cancel-aia"], #kc-form-buttons [name="cancel"], #kc-form-buttons #kc-cancel, #kc-form-buttons #kc-decline, #backToApplication{
502
+ border: 1px solid var(--quickstart-primary-color, #0b57d0);
503
+ background: transparent;
504
+ color: var(--quickstart-primary-color, #0b57d0);
505
+ text-decoration: none;
506
+ padding: 0.6rem 1.1rem;
507
+ min-height: 40px;
508
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
509
+ display: inline-flex;
510
+ align-items: center;
511
+ justify-content: center;
512
+ cursor: pointer;
513
+ font: inherit;
514
+ line-height: 1.2;
515
+ }
516
+
517
+ .kcButtonSecondaryClass:hover, #kc-form-buttons [name="cancel-aia"]:hover, #kc-form-buttons [name="cancel"]:hover, #kc-form-buttons #kc-cancel:hover, #kc-form-buttons #kc-decline:hover, #backToApplication:hover, .kcButtonLinkClass:hover{
518
+ text-decoration: none;
519
+ background: color-mix(in srgb, var(--quickstart-primary-color, #0b57d0) 12%, transparent);
520
+ }
521
+
522
+ body.pf-v5-theme-dark .kcButtonSecondaryClass, body.pf-v5-theme-dark #kc-form-buttons [name="cancel-aia"], body.pf-v5-theme-dark #kc-form-buttons [name="cancel"], body.pf-v5-theme-dark #kc-form-buttons #kc-cancel, body.pf-v5-theme-dark #kc-form-buttons #kc-decline, body.pf-v5-theme-dark #backToApplication{
523
+ border-color: var(--quickstart-primary-color, #a8c7fa);
524
+ color: var(--quickstart-primary-color, #a8c7fa);
525
+ }
526
+
527
+ body.pf-v5-theme-dark .kcButtonSecondaryClass:hover, body.pf-v5-theme-dark #kc-form-buttons [name="cancel-aia"]:hover, body.pf-v5-theme-dark #kc-form-buttons [name="cancel"]:hover, body.pf-v5-theme-dark #kc-form-buttons #kc-cancel:hover, body.pf-v5-theme-dark #kc-form-buttons #kc-decline:hover, body.pf-v5-theme-dark #backToApplication:hover, body.pf-v5-theme-dark .kcButtonLinkClass:hover{
528
+ background: color-mix(in srgb, var(--quickstart-primary-color, #a8c7fa) 14%, transparent);
529
+ }
530
+
531
+ body.pf-v5-theme-dark .kcButtonPrimaryClass, body.pf-v5-theme-dark button.kcButtonPrimaryClass, body.pf-v5-theme-dark input.kcButtonPrimaryClass{
532
+ background: var(--quickstart-primary-color, #a8c7fa);
533
+ border-color: var(--quickstart-primary-color, #a8c7fa);
534
+ color: #0b0c0d;
535
+ }
536
+
537
+ .kcFormPasswordVisibilityButtonClass, button.kcFormPasswordVisibilityButtonClass{
538
+ border-radius: 0 8px 8px 0;
539
+ border: 1px solid #d1d5db;
540
+ border-left: none;
541
+ background: transparent;
542
+ color: inherit;
543
+ padding: 0 0.75rem;
544
+ min-height: 40px;
545
+ cursor: pointer;
546
+ display: inline-flex;
547
+ align-items: center;
548
+ justify-content: center;
549
+ }
550
+
551
+ body.pf-v5-theme-dark .kcFormPasswordVisibilityButtonClass, body#keycloak-bg.pf-v5-theme-dark .kcFormPasswordVisibilityButtonClass{
552
+ border-color: #2b2c2e;
553
+ }
554
+
555
+ .kcFormPasswordVisibilityButtonClass:hover{
556
+ background: rgba(11, 87, 208, 0.08);
557
+ }
558
+
559
+ body.pf-v5-theme-dark .kcFormPasswordVisibilityButtonClass:hover, body#keycloak-bg.pf-v5-theme-dark .kcFormPasswordVisibilityButtonClass:hover{
560
+ background: rgba(168, 199, 250, 0.12);
561
+ }
562
+
563
+ .kcFormPasswordVisibilityButtonClass i{
564
+ display: none;
565
+ }
566
+
567
+ .kcFormPasswordVisibilityButtonClass::before{
568
+ content: '';
569
+ width: 1rem;
570
+ height: 1rem;
571
+ display: block;
572
+ background-color: currentColor;
573
+ -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20d='M12%205c-5%200-9.27%203.11-11%207%201.73%203.89%206%207%2011%207s9.27-3.11%2011-7c-1.73-3.89-6-7-11-7zm0%2011a4%204%200%201%201%200-8%204%204%200%200%201%200%208z'/%3E%3C/svg%3E") no-repeat center / contain;
574
+ mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='black'%3E%3Cpath%20d='M12%205c-5%200-9.27%203.11-11%207%201.73%203.89%206%207%2011%207s9.27-3.11%2011-7c-1.73-3.89-6-7-11-7zm0%2011a4%204%200%201%201%200-8%204%204%200%200%201%200%208z'/%3E%3C/svg%3E") no-repeat center / contain;
575
+ }
576
+
577
+ .kcFormPasswordVisibilityButtonClass[data-password-visible="true"]::before{
578
+ -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'black'%3E%3Cpath%20d%3D'M12%205c-5%200-9.27%203.11-11%207%201.73%203.89%206%207%2011%207s9.27-3.11%2011-7c-1.73-3.89-6-7-11-7zm0%2011a4%204%200%201%201%200-8%204%204%200%200%201%200%208z'%2F%3E%3Cpath%20d%3D'M3%203l18%2018'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
579
+ mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'black'%3E%3Cpath%20d%3D'M12%205c-5%200-9.27%203.11-11%207%201.73%203.89%206%207%2011%207s9.27-3.11%2011-7c-1.73-3.89-6-7-11-7zm0%2011a4%204%200%201%201%200-8%204%204%200%200%201%200%208z'%2F%3E%3Cpath%20d%3D'M3%203l18%2018'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
580
+ }
581
+
582
+ body.pf-v5-theme-dark input.kcInputClass, body.pf-v5-theme-dark .kcInputClass input, body.pf-v5-theme-dark select.kcInputClass, body.pf-v5-theme-dark textarea.kcInputClass{
583
+ border-color: #2b2c2e;
584
+ }
585
+
586
+ body.pf-v5-theme-dark input.kcInputClass:hover, body.pf-v5-theme-dark .kcInputClass:hover, body.pf-v5-theme-dark .kcInputClass input:hover, body.pf-v5-theme-dark select.kcInputClass:hover, body.pf-v5-theme-dark textarea.kcInputClass:hover, body#keycloak-bg.pf-v5-theme-dark input.kcInputClass:hover, body#keycloak-bg.pf-v5-theme-dark .kcInputClass:hover, body#keycloak-bg.pf-v5-theme-dark .kcInputClass input:hover, body#keycloak-bg.pf-v5-theme-dark select.kcInputClass:hover, body#keycloak-bg.pf-v5-theme-dark textarea.kcInputClass:hover{
587
+ border-color: var(--quickstart-primary-color, #0b57d0);
588
+ }
589
+
590
+ body.pf-v5-theme-dark input.kcInputClass:focus, body.pf-v5-theme-dark .kcInputClass input:focus, body.pf-v5-theme-dark select.kcInputClass:focus, body.pf-v5-theme-dark textarea.kcInputClass:focus{
591
+ border-color: var(--quickstart-primary-color, #a8c7fa);
592
+ box-shadow: 0 0 0 1px var(--quickstart-primary-color, #a8c7fa);
593
+ }
594
+
595
+ .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) input.kcInputClass, .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) .kcInputClass input, .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) select.kcInputClass, .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) textarea.kcInputClass, .kcFormGroupClass:has(input[aria-invalid="true"]) input.kcInputClass, .kcFormGroupClass:has(input[aria-invalid="true"]) .kcInputClass input, .kcFormGroupClass:has(select[aria-invalid="true"]) select.kcInputClass, .kcFormGroupClass:has(textarea[aria-invalid="true"]) textarea.kcInputClass, input.kcInputClass[aria-invalid="true"], .kcInputClass input[aria-invalid="true"], select.kcInputClass[aria-invalid="true"], textarea.kcInputClass[aria-invalid="true"]{
596
+ border-color: #d92d20;
597
+ box-shadow: 0 0 0 1px rgba(217, 45, 32, 0.35);
598
+ background: transparent;
599
+ }
600
+
601
+ .kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass{
602
+ display: inline-flex;
603
+ align-items: center;
604
+ padding: 0.2rem 0.55rem;
605
+ margin-top: 0.45rem;
606
+ border-radius: var(--quickstart-border-radius);
607
+ color: var(--quickstart-error-text-color, var(--quickstart-text-secondary-light, #1f1f1f));
608
+ background: var(--quickstart-error-label-bg-color, rgba(11, 12, 13, 0.06));
609
+ }
610
+
611
+ body.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) input.kcInputClass, body.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) .kcInputClass input, body.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) select.kcInputClass, body.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) textarea.kcInputClass, body.pf-v5-theme-dark .kcFormGroupClass:has(input[aria-invalid="true"]) input.kcInputClass, body.pf-v5-theme-dark .kcFormGroupClass:has(input[aria-invalid="true"]) .kcInputClass input, body.pf-v5-theme-dark .kcFormGroupClass:has(select[aria-invalid="true"]) select.kcInputClass, body.pf-v5-theme-dark .kcFormGroupClass:has(textarea[aria-invalid="true"]) textarea.kcInputClass, body.pf-v5-theme-dark input.kcInputClass[aria-invalid="true"], body.pf-v5-theme-dark .kcInputClass input[aria-invalid="true"], body.pf-v5-theme-dark select.kcInputClass[aria-invalid="true"], body.pf-v5-theme-dark textarea.kcInputClass[aria-invalid="true"], body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) input.kcInputClass, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) .kcInputClass input, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) select.kcInputClass, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(.kcInputHelperTextItemClass.kcError) textarea.kcInputClass, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(input[aria-invalid="true"]) input.kcInputClass, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(input[aria-invalid="true"]) .kcInputClass input, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(select[aria-invalid="true"]) select.kcInputClass, body#keycloak-bg.pf-v5-theme-dark .kcFormGroupClass:has(textarea[aria-invalid="true"]) textarea.kcInputClass, body#keycloak-bg.pf-v5-theme-dark input.kcInputClass[aria-invalid="true"], body#keycloak-bg.pf-v5-theme-dark .kcInputClass input[aria-invalid="true"], body#keycloak-bg.pf-v5-theme-dark select.kcInputClass[aria-invalid="true"], body#keycloak-bg.pf-v5-theme-dark textarea.kcInputClass[aria-invalid="true"]{
612
+ border-color: #f97066;
613
+ box-shadow: 0 0 0 1px rgba(249, 112, 102, 0.45);
614
+ background: transparent;
615
+ }
616
+
617
+ html.pf-v5-theme-dark :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), body.pf-v5-theme-dark :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), html.pf-v6-theme-dark :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), body.pf-v6-theme-dark :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), html.kcDarkModeClass :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), body.kcDarkModeClass :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), body#keycloak-bg.pf-v5-theme-dark :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), body#keycloak-bg.pf-v6-theme-dark :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass), body#keycloak-bg.kcDarkModeClass :is(.kcInputErrorMessageClass, #input-error.kcInputErrorMessageClass){
618
+ color: var(--quickstart-error-text-color-dark, var(--quickstart-text-secondary-dark, #ffffff));
619
+ background: var(--quickstart-error-label-bg-color-dark, rgba(255, 255, 255, 0.14));
620
+ }
621
+
622
+ .kcButtonLinkClass, a.kcButtonLinkClass, button.kcButtonLinkClass{
623
+ border: 0;
624
+ background: transparent;
625
+ color: var(--quickstart-primary-color, #0b57d0);
626
+ text-decoration: none;
627
+ padding: 0.6rem 1.1rem;
628
+ min-height: 40px;
629
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
630
+ display: inline-flex;
631
+ align-items: center;
632
+ justify-content: center;
633
+ cursor: pointer;
634
+ font: inherit;
635
+ line-height: 1.2;
636
+ }
637
+
638
+ #kc-social-providers .kcFormSocialAccountListClass{
639
+ list-style: none;
640
+ margin: 0;
641
+ padding: 0;
642
+ display: flex;
643
+ flex-direction: column;
644
+ gap: 0.75rem;
645
+ }
646
+
647
+ #kc-social-providers .kcFormSocialAccountListClass:has(> :nth-child(4)){
648
+ display: grid;
649
+ grid-template-columns: repeat(2, minmax(0, 1fr));
650
+ }
651
+
652
+ #kc-social-providers{
653
+ text-align: center;
654
+ }
655
+
656
+ #kc-social-providers > h2, #kc-social-providers > h4{
657
+ text-align: center;
658
+ margin: 0 0 0.75rem;
659
+ font-size: 1rem;
660
+ line-height: 1.4;
661
+ font-weight: 500;
662
+ font-family: var(--quickstart-heading-font-family, var(--quickstart-font-family, inherit));
663
+ }
664
+
665
+ #kc-social-providers .kcFormSocialAccountListClass li{
666
+ margin: 0;
667
+ }
668
+
669
+ #kc-social-providers .kcFormSocialAccountListButtonClass, #kc-social-providers a.kcFormSocialAccountListButtonClass{
670
+ border: 1px solid var(--quickstart-primary-color, #0b57d0);
671
+ background: transparent;
672
+ color: var(--quickstart-primary-color, #0b57d0);
673
+ text-decoration: none;
674
+ padding: 0.6rem 1.1rem;
675
+ min-height: 40px;
676
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
677
+ display: inline-flex;
678
+ align-items: center;
679
+ justify-content: center;
680
+ gap: 0.5rem;
681
+ cursor: pointer;
682
+ font: inherit;
683
+ line-height: 1.2;
684
+ width: 100%;
685
+ box-sizing: border-box;
686
+ }
687
+
688
+ #kc-social-providers .kcFormSocialAccountListButtonClass::before, #kc-social-providers a.kcFormSocialAccountListButtonClass::before{
689
+ content: '';
690
+ width: 1.1rem;
691
+ height: 1.1rem;
692
+ display: inline-block;
693
+ flex: 0 0 1.1rem;
694
+ }
695
+
696
+ #kc-social-providers .kcFormSocialAccountListButtonClass::before, #kc-social-providers a.kcFormSocialAccountListButtonClass::before{
697
+ background-color: currentColor;
698
+ opacity: 0;
699
+ -webkit-mask-repeat: no-repeat;
700
+ mask-repeat: no-repeat;
701
+ -webkit-mask-position: center;
702
+ mask-position: center;
703
+ -webkit-mask-size: contain;
704
+ mask-size: contain;
705
+ }
706
+
707
+ #kc-social-providers .kcFormSocialAccountListButtonClass:has(svg)::before, #kc-social-providers a.kcFormSocialAccountListButtonClass:has(svg)::before{
708
+ display: none;
709
+ }
710
+
711
+ #kc-social-providers .kcFormSocialAccountListButtonClass svg, #kc-social-providers a.kcFormSocialAccountListButtonClass svg{
712
+ width: 1.1rem;
713
+ height: 1.1rem;
714
+ flex: 0 0 1.1rem;
715
+ }
716
+
717
+ #kc-social-providers .kcFormSocialAccountListButtonClass svg:not(.google), #kc-social-providers a.kcFormSocialAccountListButtonClass svg:not(.google){
718
+ filter: invert(47%) sepia(88%) saturate(7486%) hue-rotate(199deg) brightness(91%) contrast(101%);
719
+ }
720
+
721
+ body.pf-v5-theme-dark #kc-social-providers .kcFormSocialAccountListButtonClass svg:not(.google), body.pf-v5-theme-dark #kc-social-providers a.kcFormSocialAccountListButtonClass svg:not(.google){
722
+ filter: invert(54%) sepia(96%) saturate(2028%) hue-rotate(174deg) brightness(99%) contrast(97%);
723
+ }
724
+
725
+ #kc-social-providers .kcFormSocialAccountListButtonClass#social-google::before{
726
+ opacity: 1;
727
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.35 11.1h-9.17v2.98h5.25c-.53 2.53-2.75 3.65-5.24 3.65-3.09 0-5.8-2.43-5.8-5.73 0-3.2 2.62-5.74 5.81-5.74 2.46 0 3.91 1.57 3.91 1.57l2.1-2.17S16.08 3 12.12 3C6.99 3 3 7.16 3 12s3.84 9 9.24 9c4.78 0 8.16-3.27 8.16-8.09 0-.99-.05-1.55-.05-1.81z'/%3E%3C/svg%3E");
728
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.35 11.1h-9.17v2.98h5.25c-.53 2.53-2.75 3.65-5.24 3.65-3.09 0-5.8-2.43-5.8-5.73 0-3.2 2.62-5.74 5.81-5.74 2.46 0 3.91 1.57 3.91 1.57l2.1-2.17S16.08 3 12.12 3C6.99 3 3 7.16 3 12s3.84 9 9.24 9c4.78 0 8.16-3.27 8.16-8.09 0-.99-.05-1.55-.05-1.81z'/%3E%3C/svg%3E");
729
+ }
730
+
731
+ #kc-social-providers .kcFormSocialAccountListButtonClass#social-github::before{
732
+ opacity: 1;
733
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 .5A12 12 0 0 0 8.2 23.9c.6.1.8-.3.8-.6v-2.2c-3.3.7-4-1.4-4-1.4-.5-1.3-1.2-1.6-1.2-1.6-1-.7.1-.7.1-.7 1.1.1 1.7 1.2 1.7 1.2 1 .1 1.9.9 2.2 1.7.9 1.5 2.6 1.1 3.3.8.1-.7.4-1.2.7-1.5-2.7-.3-5.4-1.4-5.4-6A4.7 4.7 0 0 1 7.7 10c-.1-.3-.5-1.5.1-3.1 0 0 1-.3 3.2 1.2a11 11 0 0 1 5.9 0C19 6.6 20 7 20 7c.6 1.6.2 2.8.1 3.1a4.7 4.7 0 0 1 1.3 3.3c0 4.6-2.7 5.6-5.4 6 .4.3.8 1 .8 2v3c0 .3.2.7.8.6A12 12 0 0 0 12 .5z'/%3E%3C/svg%3E");
734
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 .5A12 12 0 0 0 8.2 23.9c.6.1.8-.3.8-.6v-2.2c-3.3.7-4-1.4-4-1.4-.5-1.3-1.2-1.6-1.2-1.6-1-.7.1-.7.1-.7 1.1.1 1.7 1.2 1.7 1.2 1 .1 1.9.9 2.2 1.7.9 1.5 2.6 1.1 3.3.8.1-.7.4-1.2.7-1.5-2.7-.3-5.4-1.4-5.4-6A4.7 4.7 0 0 1 7.7 10c-.1-.3-.5-1.5.1-3.1 0 0 1-.3 3.2 1.2a11 11 0 0 1 5.9 0C19 6.6 20 7 20 7c.6 1.6.2 2.8.1 3.1a4.7 4.7 0 0 1 1.3 3.3c0 4.6-2.7 5.6-5.4 6 .4.3.8 1 .8 2v3c0 .3.2.7.8.6A12 12 0 0 0 12 .5z'/%3E%3C/svg%3E");
735
+ }
736
+
737
+ #kc-social-providers .kcFormSocialAccountListButtonClass#social-facebook::before{
738
+ opacity: 1;
739
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.3-1.5 1.6-1.5h1.7V5a23 23 0 0 0-2.5-.1c-2.5 0-4.3 1.5-4.3 4.4V11H7v3h2.8v8h3.7z'/%3E%3C/svg%3E");
740
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.3-1.5 1.6-1.5h1.7V5a23 23 0 0 0-2.5-.1c-2.5 0-4.3 1.5-4.3 4.4V11H7v3h2.8v8h3.7z'/%3E%3C/svg%3E");
741
+ }
742
+
743
+ #kc-social-providers .kcFormSocialAccountListButtonClass#social-microsoft::before{
744
+ opacity: 1;
745
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 3h9v9H2zm11 0h9v9h-9zM2 14h9v9H2zm11 0h9v9h-9z'/%3E%3C/svg%3E");
746
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 3h9v9H2zm11 0h9v9h-9zM2 14h9v9H2zm11 0h9v9h-9z'/%3E%3C/svg%3E");
747
+ }
748
+
749
+ #kc-social-providers .kcFormSocialAccountListButtonClass#social-gitlab::before{
750
+ opacity: 1;
751
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22l4.4-13.6h-8.8L12 22zm-9-9.8l4.7-3.7-2-5.9-2.7 9.6zm15.3-3.7l4.7 3.7-2.7-9.6-2 5.9zM7.7 8.5h8.6l-2.6-7.7h-3.4z'/%3E%3C/svg%3E");
752
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22l4.4-13.6h-8.8L12 22zm-9-9.8l4.7-3.7-2-5.9-2.7 9.6zm15.3-3.7l4.7 3.7-2.7-9.6-2 5.9zM7.7 8.5h8.6l-2.6-7.7h-3.4z'/%3E%3C/svg%3E");
753
+ }
754
+
755
+ #kc-social-providers .kcFormSocialAccountListButtonClass#social-linkedin::before{
756
+ opacity: 1;
757
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 9H3.3v11h3.2V9zm.2-3.4A1.9 1.9 0 1 0 2.8 5.6a1.9 1.9 0 0 0 3.9 0zM20.7 20v-6c0-3.2-1.7-4.7-4-4.7-1.8 0-2.6 1-3.1 1.8V9h-3.2v11h3.2v-6.2c0-1.6.3-3.1 2.3-3.1s2 1.9 2 3.2V20h2.8z'/%3E%3C/svg%3E");
758
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 9H3.3v11h3.2V9zm.2-3.4A1.9 1.9 0 1 0 2.8 5.6a1.9 1.9 0 0 0 3.9 0zM20.7 20v-6c0-3.2-1.7-4.7-4-4.7-1.8 0-2.6 1-3.1 1.8V9h-3.2v11h3.2v-6.2c0-1.6.3-3.1 2.3-3.1s2 1.9 2 3.2V20h2.8z'/%3E%3C/svg%3E");
759
+ }
760
+
761
+ #kc-social-providers .kcFormSocialAccountNameClass{
762
+ flex: 0 1 auto;
763
+ text-align: left;
764
+ }
765
+
766
+ #kc-social-providers .kcFormSocialAccountListButtonClass:hover, #kc-social-providers a.kcFormSocialAccountListButtonClass:hover{
767
+ text-decoration: none;
768
+ background: color-mix(in srgb, var(--quickstart-primary-color, #0b57d0) 12%, transparent);
769
+ }
770
+
771
+ #kc-registration > span > a{
772
+ font-size: inherit;
773
+ color: inherit;
774
+ font-weight: 600;
775
+ text-decoration: none;
776
+ }
777
+
778
+ #kc-registration-container #kc-registration > a{
779
+ font-size: 14px;
780
+ color: var(--quickstart-primary-color);
781
+ }
782
+
783
+ a{
784
+ color: var(--quickstart-primary-color);
785
+ }
786
+
787
+ #kc-registration-container #kc-registration > a{
788
+ display: block;
789
+ width: 100%;
790
+ padding: 0.75rem 1.5rem;
791
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
792
+ border: 1px solid var(--quickstart-primary-color, #0b57d0);
793
+ color: var(--quickstart-primary-color, #0b57d0);
794
+ font-weight: 600;
795
+ font-size: 14px;
796
+ text-decoration: none;
797
+ text-align: center;
798
+ background: transparent;
799
+ box-sizing: border-box;
800
+ margin: 0;
801
+ }
802
+
803
+ #authenticateWebAuthnButton.kcButtonSecondaryClass{
804
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
805
+ }
806
+
807
+ body.pf-v5-theme-dark a{
808
+ color: var(--quickstart-primary-color, #0b57d0);
809
+ }
810
+
811
+ body.pf-v5-theme-dark #kc-registration-container #kc-registration > a{
812
+ border-color: var(--quickstart-primary-color, #a8c7fa);
813
+ color: var(--quickstart-primary-color, #a8c7fa);
814
+ }
815
+
816
+ body.pf-v5-theme-dark #kc-registration > span{
817
+ border-color: var(--quickstart-primary-color, #a8c7fa);
818
+ color: var(--quickstart-primary-color, #a8c7fa);
819
+ }
820
+
821
+ body.pf-v5-theme-dark #kc-social-providers .kcFormSocialAccountListButtonClass, body.pf-v5-theme-dark #kc-social-providers a.kcFormSocialAccountListButtonClass{
822
+ border-color: var(--quickstart-primary-color, #a8c7fa);
823
+ color: var(--quickstart-primary-color, #a8c7fa);
824
+ }
825
+
826
+ #authenticateWebAuthnButton.kcButtonSecondaryClass{
827
+ color: var(--quickstart-primary-color, #0b57d0);
828
+ margin-top: 0.75rem;
829
+ }
830
+
831
+ #authenticateWebAuthnButton.kcButtonSecondaryClass ~ #kc-info{
832
+ margin-top: 0.75rem;
833
+ }
834
+
835
+ #backToApplication{
836
+ width: 100%;
837
+ max-width: 100%;
838
+ box-sizing: border-box;
839
+ }
840
+
841
+ body.pf-v5-theme-dark #kc-registration-container #kc-registration > a:hover{
842
+ background: color-mix(in srgb, var(--quickstart-primary-color, #a8c7fa) 14%, transparent);
843
+ }
844
+
845
+ body.pf-v5-theme-dark #kc-social-providers .kcFormSocialAccountListButtonClass:hover, body.pf-v5-theme-dark #kc-social-providers a.kcFormSocialAccountListButtonClass:hover{
846
+ background: color-mix(in srgb, var(--quickstart-primary-color, #a8c7fa) 14%, transparent);
847
+ }
848
+
849
+ .kcButtonSecondaryClass:focus-visible, #kc-form-buttons [name="cancel-aia"]:focus-visible, #kc-form-buttons [name="cancel"]:focus-visible, #kc-form-buttons #kc-cancel:focus-visible, #kc-form-buttons #kc-decline:focus-visible, #backToApplication:focus-visible, .kcButtonLinkClass:focus-visible, .kcButtonPrimaryClass:focus-visible{
850
+ outline: 2px solid var(--quickstart-primary-color, #0b57d0);
851
+ outline-offset: 2px;
852
+ }
853
+
854
+ #kc-registration-container #kc-registration > a:focus-visible{
855
+ outline: 2px solid var(--quickstart-primary-color, #0b57d0);
856
+ outline-offset: 2px;
857
+ }
858
+
859
+ #kc-social-providers .kcFormSocialAccountListButtonClass:focus-visible, #kc-social-providers a.kcFormSocialAccountListButtonClass:focus-visible{
860
+ outline: 2px solid var(--quickstart-primary-color, #0b57d0);
861
+ outline-offset: 2px;
862
+ }
863
+
864
+ body.pf-v5-theme-dark .kcButtonSecondaryClass:focus-visible, body.pf-v5-theme-dark #kc-form-buttons [name="cancel-aia"]:focus-visible, body.pf-v5-theme-dark #kc-form-buttons [name="cancel"]:focus-visible, body.pf-v5-theme-dark #kc-form-buttons #kc-cancel:focus-visible, body.pf-v5-theme-dark #kc-form-buttons #kc-decline:focus-visible, body.pf-v5-theme-dark #backToApplication:focus-visible, body.pf-v5-theme-dark .kcButtonLinkClass:focus-visible, body.pf-v5-theme-dark .kcButtonPrimaryClass:focus-visible{
865
+ outline: 2px solid var(--quickstart-primary-color, #a8c7fa);
866
+ }
867
+
868
+ body.pf-v5-theme-dark #kc-registration-container #kc-registration > a:focus-visible{
869
+ outline: 2px solid var(--quickstart-primary-color, #a8c7fa);
870
+ outline-offset: 2px;
871
+ }
872
+
873
+ body.pf-v5-theme-dark #kc-social-providers .kcFormSocialAccountListButtonClass:focus-visible, body.pf-v5-theme-dark #kc-social-providers a.kcFormSocialAccountListButtonClass:focus-visible{
874
+ outline: 2px solid var(--quickstart-primary-color, #a8c7fa);
875
+ outline-offset: 2px;
876
+ }
877
+
878
+ hr{
879
+ border: 0;
880
+ border-top: 1px solid #d1d5db;
881
+ margin: 1.5rem 0;
882
+ }
883
+
884
+ body.pf-v5-theme-dark hr{
885
+ border-top-color: #2b2c2e;
886
+ }
887
+
888
+ #kc-info{
889
+ margin-top: 1rem;
890
+ }
891
+
892
+ #kc-registration > span{
893
+ display: inline-flex;
894
+ position: relative;
895
+ align-items: center;
896
+ justify-content: center;
897
+ gap: 0.35rem;
898
+ width: 100%;
899
+ padding: 0.75rem 1.5rem;
900
+ border-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
901
+ border: 1px solid var(--quickstart-primary-color, #0b57d0);
902
+ color: var(--quickstart-primary-color, #0b57d0);
903
+ font-size: 14px;
904
+ box-sizing: border-box;
905
+ text-align: center;
906
+ background: transparent;
907
+ cursor: pointer;
908
+ }
909
+
910
+ .kcAlertClass,
911
+ .alert-warning,
912
+ .alert-warnning{
913
+ --kc-alert-surface: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
914
+ --kc-alert-border: #8b5cf6;
915
+ --kc-alert-icon: #5b21b6;
916
+ --kc-alert-title: #312e81;
917
+
918
+ display: flex;
919
+ align-items: center;
920
+ gap: 0.75rem;
921
+ width: 100%;
922
+ box-sizing: border-box;
923
+ padding: 0.85rem 1rem;
924
+ margin: 0 0 1rem;
925
+ border-radius: 14px;
926
+ border: 1px solid var(--kc-alert-border);
927
+ background: var(--kc-alert-surface);
928
+ box-shadow: none;
929
+ color: var(--kc-alert-title);
930
+ }
931
+
932
+ .kcAlertClass .kcAlertIconClass,
933
+ .alert-warning .pficon,
934
+ .alert-warnning .pficon{
935
+ color: var(--kc-alert-icon);
936
+ display: inline-flex;
937
+ align-items: center;
938
+ justify-content: center;
939
+ line-height: 1;
940
+ }
941
+
942
+ .kcFeedbackInfoIcon::before{
943
+ content: "\2139";
944
+ }
945
+
946
+ .kcFeedbackWarningIcon::before{
947
+ content: "\26A0";
948
+ }
949
+
950
+ .kcFeedbackErrorIcon::before{
951
+ content: "\2715";
952
+ }
953
+
954
+ .kcFeedbackSuccessIcon::before{
955
+ content: "\2713";
956
+ }
957
+
958
+ .pficon-warning-triangle-o::before{
959
+ content: "\26A0";
960
+ }
961
+
962
+ .alert-warning,
963
+ .alert-warnning{
964
+ font-weight: 600;
965
+ font-size: 0.92rem;
966
+ }
967
+
968
+ .kcAlertClass .kcAlertTitleClass, .kcAlertClass .kc-feedback-text{
969
+ color: var(--kc-alert-title);
970
+ font-weight: 600;
971
+ font-size: 0.92rem;
972
+ margin: 0;
973
+ }
974
+
975
+ .kcAlertClass.pf-m-danger, .kcAlertClass.kcError{
976
+ --kc-alert-surface: linear-gradient(135deg, #ffe8e8 0%, #ffd5db 100%);
977
+ --kc-alert-border: #f9738b;
978
+ --kc-alert-icon: #be123c;
979
+ --kc-alert-title: #9f1239;
980
+ }
981
+
982
+ .kcAlertClass.pf-m-danger .kcAlertTitleClass, .kcAlertClass.pf-m-danger .kc-feedback-text, .kcAlertClass.kcError .kcAlertTitleClass, .kcAlertClass.kcError .kc-feedback-text{
983
+ color: #b42318;
984
+ }
985
+
986
+ .kcAlertClass.pf-m-warning, .kcAlertClass.kcWarning, .alert-warning, .alert-warnning{
987
+ --kc-alert-surface: linear-gradient(135deg, #fff7db 0%, #ffe9c2 100%);
988
+ --kc-alert-border: #f59e0b;
989
+ --kc-alert-icon: #b45309;
990
+ --kc-alert-title: #92400e;
991
+ }
992
+
993
+ .kcAlertClass.pf-m-success, .kcAlertClass.kcSuccess{
994
+ --kc-alert-surface: linear-gradient(135deg, #e8fff4 0%, #cff7e4 100%);
995
+ --kc-alert-border: #22c55e;
996
+ --kc-alert-icon: #15803d;
997
+ --kc-alert-title: #166534;
998
+ }
999
+
1000
+ .kcAlertClass.pf-m-info, .kcAlertClass.kcInfo{
1001
+ --kc-alert-surface: linear-gradient(135deg, #e8f2ff 0%, #d8e7ff 100%);
1002
+ --kc-alert-border: #3b82f6;
1003
+ --kc-alert-icon: #1d4ed8;
1004
+ --kc-alert-title: #1e3a8a;
1005
+ }
1006
+
1007
+ html.pf-v5-theme-dark .kcAlertClass, body.pf-v5-theme-dark .kcAlertClass, html.kcDarkModeClass .kcAlertClass{
1008
+ --kc-alert-surface: linear-gradient(135deg, #20233a 0%, #1a1f35 100%);
1009
+ --kc-alert-border: #6366f1;
1010
+ --kc-alert-icon: #c7d2fe;
1011
+ --kc-alert-title: #e0e7ff;
1012
+ }
1013
+
1014
+ html.pf-v5-theme-dark .kcAlertClass.pf-m-danger, body.pf-v5-theme-dark .kcAlertClass.pf-m-danger, html.kcDarkModeClass .kcAlertClass.pf-m-danger, html.pf-v5-theme-dark .kcAlertClass.kcError, body.pf-v5-theme-dark .kcAlertClass.kcError, html.kcDarkModeClass .kcAlertClass.kcError{
1015
+ --kc-alert-surface: linear-gradient(135deg, #3a1e28 0%, #301721 100%);
1016
+ --kc-alert-border: #fb7185;
1017
+ --kc-alert-icon: #fb7185;
1018
+ --kc-alert-title: #fb7185;
1019
+ }
1020
+
1021
+ html.pf-v5-theme-dark .kcAlertClass.pf-m-danger .kcAlertTitleClass, html.pf-v5-theme-dark .kcAlertClass.pf-m-danger .kc-feedback-text, body.pf-v5-theme-dark .kcAlertClass.pf-m-danger .kcAlertTitleClass, body.pf-v5-theme-dark .kcAlertClass.pf-m-danger .kc-feedback-text, html.kcDarkModeClass .kcAlertClass.pf-m-danger .kcAlertTitleClass, html.kcDarkModeClass .kcAlertClass.pf-m-danger .kc-feedback-text, html.pf-v5-theme-dark .kcAlertClass.kcError .kcAlertTitleClass, html.pf-v5-theme-dark .kcAlertClass.kcError .kc-feedback-text, body.pf-v5-theme-dark .kcAlertClass.kcError .kcAlertTitleClass, body.pf-v5-theme-dark .kcAlertClass.kcError .kc-feedback-text, html.kcDarkModeClass .kcAlertClass.kcError .kcAlertTitleClass, html.kcDarkModeClass .kcAlertClass.kcError .kc-feedback-text{
1022
+ color: #fb7185;
1023
+ }
1024
+
1025
+ html.pf-v5-theme-dark .kcAlertClass.pf-m-warning, body.pf-v5-theme-dark .kcAlertClass.pf-m-warning, html.kcDarkModeClass .kcAlertClass.pf-m-warning, html.pf-v5-theme-dark .kcAlertClass.kcWarning, body.pf-v5-theme-dark .kcAlertClass.kcWarning, html.kcDarkModeClass .kcAlertClass.kcWarning{
1026
+ --kc-alert-surface: linear-gradient(135deg, #3a2c12 0%, #31240e 100%);
1027
+ --kc-alert-border: #fbbf24;
1028
+ --kc-alert-icon: #fef3c7;
1029
+ --kc-alert-title: #fef3c7;
1030
+ }
1031
+
1032
+ html.pf-v5-theme-dark .alert-warning,
1033
+ body.pf-v5-theme-dark .alert-warning,
1034
+ html.kcDarkModeClass .alert-warning,
1035
+ html.pf-v5-theme-dark .alert-warnning,
1036
+ body.pf-v5-theme-dark .alert-warnning,
1037
+ html.kcDarkModeClass .alert-warnning{
1038
+ --kc-alert-surface: linear-gradient(135deg, #3a2c12 0%, #31240e 100%);
1039
+ --kc-alert-border: #fbbf24;
1040
+ --kc-alert-icon: #fef3c7;
1041
+ --kc-alert-title: #fef3c7;
1042
+ }
1043
+
1044
+ html.pf-v5-theme-dark .kcAlertClass.pf-m-success, body.pf-v5-theme-dark .kcAlertClass.pf-m-success, html.kcDarkModeClass .kcAlertClass.pf-m-success, html.pf-v5-theme-dark .kcAlertClass.kcSuccess, body.pf-v5-theme-dark .kcAlertClass.kcSuccess, html.kcDarkModeClass .kcAlertClass.kcSuccess{
1045
+ --kc-alert-surface: linear-gradient(135deg, #143127 0%, #10281f 100%);
1046
+ --kc-alert-border: #4ade80;
1047
+ --kc-alert-icon: #dcfce7;
1048
+ --kc-alert-title: #dcfce7;
1049
+ }
1050
+
1051
+ html.pf-v5-theme-dark .kcAlertClass.pf-m-info, body.pf-v5-theme-dark .kcAlertClass.pf-m-info, html.kcDarkModeClass .kcAlertClass.pf-m-info, html.pf-v5-theme-dark .kcAlertClass.kcInfo, body.pf-v5-theme-dark .kcAlertClass.kcInfo, html.kcDarkModeClass .kcAlertClass.kcInfo{
1052
+ --kc-alert-surface: linear-gradient(135deg, #12283f 0%, #102236 100%);
1053
+ --kc-alert-border: #60a5fa;
1054
+ --kc-alert-icon: #dbeafe;
1055
+ --kc-alert-title: #dbeafe;
1056
+ }
1057
+
1058
+ @media (max-width: 900px) {
1059
+ .kcFormHeaderClass, #kc-content{
1060
+ grid-column: 1;
1061
+ }
1062
+
1063
+ #kc-content{
1064
+ padding-top: 0;
1065
+ }
1066
+ }
1067
+
1068
+ @media (max-width: 700px) {
1069
+ .kc-horizontal-card-footer-row{
1070
+ justify-content: center;
1071
+ }
1072
+ }
1073
+
1074
+ .kc-horizontal-card-subtitle, .kc-horizontal-card-client-name, .kc-horizontal-card-realm-name{
1075
+
1076
+ letter-spacing: 0rem;
1077
+ line-height: 1.5;
1078
+ font-size: 1.3rem;
1079
+ }
1080
+
1081
+ .kcButtonSecondaryClass, a.kcButtonSecondaryClass, button.kcButtonSecondaryClass, .kcButtonSecondaryClass.kcButtonSecondaryClass{
1082
+ border-color: var(--quickstart-primary-color);
1083
+ color: var(--quickstart-primary-color);
1084
+ }
1085
+
1086
+ .kcButtonLinkClass, a.kcButtonLinkClass, button.kcButtonLinkClass{
1087
+ color: var(--quickstart-primary-color);
1088
+ }
1089
+
1090
+ #printRecoveryCodes:hover, #downloadRecoveryCodes:hover, #copyRecoveryCodes:hover{
1091
+ color: var(--quickstart-secondary-color);
1092
+ }
1093
+
1094
+ .kcCheckboxInputClass, input[type="checkbox"].kcCheckboxInputClass, .kcCheckboxClass input[type="checkbox"], input[type="checkbox"]{
1095
+ accent-color: var(--quickstart-secondary-color);
1096
+ }
1097
+
1098
+ .kcCheckboxInputClass, input[type="checkbox"]{
1099
+ accent-color: var(--quickstart-primary-color);
1100
+ }
1101
+
1102
+ body{
1103
+ font-family: var(--quickstart-font-family, inherit);
1104
+ }
1105
+
1106
+ html:not(.pf-v5-theme-dark):not(.kcDarkModeClass), html:not(.pf-v5-theme-dark):not(.kcDarkModeClass) body, html:not(.pf-v5-theme-dark):not(.kcDarkModeClass) body#keycloak-bg{
1107
+ background-color: var(--quickstart-bg-color);
1108
+ }
1109
+
1110
+ html.pf-v5-theme-dark, html.pf-v5-theme-dark body, html.pf-v5-theme-dark body#keycloak-bg, html.kcDarkModeClass, html.kcDarkModeClass body, html.kcDarkModeClass body#keycloak-bg{
1111
+ background-color: var(--quickstart-bg-color);
1112
+ background-image: var(--quickstart-bg-image);
1113
+ background-repeat: no-repeat;
1114
+ background-position: center center;
1115
+ background-size: cover;
1116
+ }
1117
+
1118
+ body .kcLogin, body#keycloak-bg .kcLogin, body .kcLoginClass, body#keycloak-bg .kcLoginClass{
1119
+ background-color: var(--quickstart-bg-color);
1120
+ background-image: var(--quickstart-bg-image);
1121
+ background-repeat: no-repeat;
1122
+ background-position: center center;
1123
+ background-size: cover;
1124
+ }
1125
+
1126
+ .kcInputGroup .kcFormPasswordVisibilityButtonClass{
1127
+ border-top-left-radius: 0;
1128
+ border-bottom-left-radius: 0;
1129
+ border-top-right-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
1130
+ border-bottom-right-radius: var(--quickstart-border-radius, var(--quickstart-control-border-radius-default, 28px));
1131
+ }
1132
+
1133
+ html body .pf-v5-c-login{
1134
+ background-image: none;
1135
+ }
1136
+
1137
+ #kc-register-form {
1138
+ height: 100%;
1139
+ }
1140
+
1141
+ #kc-error-message {
1142
+ min-height: 16rem;
1143
+ height: auto;
1144
+ flex: 1 1 auto;
1145
+ display: flex;
1146
+ flex-direction: column;
1147
+ justify-content: space-between;
1148
+ margin-bottom: 1rem;
1149
+ }