decidim-core 0.0.1.alpha9 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -25
  3. data/app/assets/config/decidim_core_manifest.js +1 -0
  4. data/app/assets/fonts/decidim/Source_Sans_Pro_400.eot +0 -0
  5. data/app/assets/fonts/decidim/Source_Sans_Pro_400.svg +345 -0
  6. data/app/assets/fonts/decidim/Source_Sans_Pro_400.ttf +0 -0
  7. data/app/assets/fonts/decidim/Source_Sans_Pro_400.woff +0 -0
  8. data/app/assets/fonts/decidim/Source_Sans_Pro_400.woff2 +0 -0
  9. data/app/assets/fonts/decidim/Source_Sans_Pro_600.eot +0 -0
  10. data/app/assets/fonts/decidim/Source_Sans_Pro_600.svg +339 -0
  11. data/app/assets/fonts/decidim/Source_Sans_Pro_600.ttf +0 -0
  12. data/app/assets/fonts/decidim/Source_Sans_Pro_600.woff +0 -0
  13. data/app/assets/fonts/decidim/Source_Sans_Pro_600.woff2 +0 -0
  14. data/app/assets/fonts/decidim/Source_Sans_Pro_900.eot +0 -0
  15. data/app/assets/fonts/decidim/Source_Sans_Pro_900.svg +342 -0
  16. data/app/assets/fonts/decidim/Source_Sans_Pro_900.ttf +0 -0
  17. data/app/assets/fonts/decidim/Source_Sans_Pro_900.woff +0 -0
  18. data/app/assets/fonts/decidim/Source_Sans_Pro_900.woff2 +0 -0
  19. data/app/assets/images/decidim/default-avatar.svg +14 -0
  20. data/app/assets/javascripts/decidim.js.es6 +5 -5
  21. data/app/assets/javascripts/decidim/editor.js.es6 +46 -0
  22. data/app/assets/stylesheets/decidim/_variables.scss +12 -13
  23. data/app/assets/stylesheets/decidim/application.sass +4 -1
  24. data/app/assets/stylesheets/decidim/editor.sass +4 -0
  25. data/app/assets/stylesheets/decidim/modules/_card-grid.scss +4 -1
  26. data/app/assets/stylesheets/decidim/modules/_cards.scss +5 -0
  27. data/app/assets/stylesheets/decidim/modules/_navbar.scss +1 -0
  28. data/app/assets/stylesheets/decidim/modules/_process-header.scss +24 -75
  29. data/app/assets/stylesheets/decidim/modules/_process-nav.scss +0 -1
  30. data/app/assets/stylesheets/decidim/modules/_process-phase.scss +80 -0
  31. data/app/assets/stylesheets/decidim/utils/_fontface.scss +39 -1
  32. data/app/assets/stylesheets/decidim/utils/_helpers.scss +25 -0
  33. data/app/assets/stylesheets/decidim/utils/_keyframes.scss +21 -0
  34. data/app/assets/stylesheets/decidim/utils/_mixins.scss +37 -0
  35. data/app/assets/stylesheets/decidim/utils/_settings.scss +11 -5
  36. data/app/commands/decidim/authorize_user.rb +2 -2
  37. data/app/constraints/decidim/current_feature.rb +48 -0
  38. data/app/controllers/concerns/decidim/form_factory.rb +80 -0
  39. data/app/controllers/concerns/decidim/locale_switcher.rb +17 -10
  40. data/app/controllers/concerns/decidim/needs_participatory_process.rb +33 -0
  41. data/app/controllers/decidim/application_controller.rb +1 -1
  42. data/app/controllers/decidim/devise/confirmations_controller.rb +1 -1
  43. data/app/controllers/decidim/devise/passwords_controller.rb +1 -1
  44. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  45. data/app/controllers/decidim/devise/sessions_controller.rb +16 -2
  46. data/app/controllers/decidim/pages_controller.rb +14 -0
  47. data/app/controllers/decidim/participatory_processes_controller.rb +7 -0
  48. data/app/forms/decidim/form.rb +15 -0
  49. data/app/forms/translatable_presence_validator.rb +31 -0
  50. data/app/helpers/decidim/application_helper.rb +17 -2
  51. data/app/helpers/decidim/layout_helper.rb +8 -1
  52. data/app/helpers/decidim/localized_locales_helper.rb +43 -0
  53. data/app/helpers/decidim/participatory_process_helper.rb +16 -0
  54. data/app/helpers/decidim/translations_helper.rb +17 -0
  55. data/app/models/decidim/category.rb +35 -0
  56. data/app/models/decidim/component.rb +51 -0
  57. data/app/models/decidim/feature.rb +30 -0
  58. data/app/models/decidim/organization.rb +20 -1
  59. data/app/models/decidim/participatory_process.rb +43 -4
  60. data/app/models/decidim/participatory_process_attachment.rb +56 -0
  61. data/app/models/decidim/scope.rb +14 -0
  62. data/app/models/decidim/static_page.rb +56 -0
  63. data/app/models/decidim/user.rb +2 -0
  64. data/app/queries/decidim/organization_participatory_processes.rb +17 -0
  65. data/app/services/decidim/authorization_handler.rb +2 -2
  66. data/app/types/decidim/process_step_type.rb +24 -0
  67. data/app/types/decidim/process_type.rb +16 -0
  68. data/app/types/decidim/user_type.rb +14 -0
  69. data/app/uploaders/decidim/attachment_uploader.rb +70 -0
  70. data/app/uploaders/decidim/avatar_uploader.rb +14 -0
  71. data/app/uploaders/decidim/banner_image_uploader.rb +1 -1
  72. data/app/uploaders/decidim/hero_image_uploader.rb +1 -1
  73. data/app/uploaders/decidim/homepage_image_uploader.rb +11 -0
  74. data/app/uploaders/decidim/image_uploader.rb +46 -0
  75. data/app/uploaders/decidim/organization_logo_uploader.rb +9 -0
  76. data/app/views/decidim/devise/registrations/new.html.erb +1 -1
  77. data/app/views/decidim/participatory_processes/_documents.html.erb +26 -0
  78. data/app/views/decidim/participatory_processes/_photos.html.erb +16 -0
  79. data/app/views/decidim/participatory_processes/_promoted_process.html.erb +1 -1
  80. data/app/views/decidim/participatory_processes/show.html.erb +16 -11
  81. data/app/views/kaminari/decidim/_first_page.html.erb +11 -0
  82. data/app/views/kaminari/decidim/_gap.html.erb +8 -0
  83. data/app/views/kaminari/decidim/_last_page.html.erb +11 -0
  84. data/app/views/kaminari/decidim/_next_page.html.erb +11 -0
  85. data/app/views/kaminari/decidim/_page.html.erb +12 -0
  86. data/app/views/kaminari/decidim/_paginator.html.erb +25 -0
  87. data/app/views/kaminari/decidim/_prev_page.html.erb +11 -0
  88. data/app/views/layouts/decidim/_application.html.erb +17 -0
  89. data/app/views/layouts/decidim/_footer.html.erb +5 -3
  90. data/app/views/layouts/decidim/_header.html.erb +8 -21
  91. data/app/views/layouts/decidim/_language_chooser.html.erb +14 -0
  92. data/app/views/layouts/decidim/_logo.html.erb +17 -13
  93. data/app/views/layouts/decidim/_process_header.html.erb +34 -0
  94. data/app/views/layouts/decidim/_process_header_steps.html.erb +26 -0
  95. data/app/views/layouts/decidim/_user_menu.html.erb +2 -0
  96. data/app/views/layouts/decidim/application.html.erb +3 -0
  97. data/app/views/layouts/decidim/participatory_process.html.erb +15 -0
  98. data/app/views/pages/decidim_page.html.erb +12 -0
  99. data/app/views/pages/home.html.erb +106 -2
  100. data/config/i18n-tasks.yml +3 -1
  101. data/config/locales/ca.yml +40 -10
  102. data/config/locales/en.yml +39 -4
  103. data/config/locales/es.yml +44 -14
  104. data/config/routes.rb +14 -1
  105. data/db/migrate/20160919104837_create_decidim_organizations.rb +4 -0
  106. data/db/migrate/20161005153007_add_description_to_organizations.rb +1 -3
  107. data/db/migrate/20161010102356_translate_processes.rb +4 -4
  108. data/db/migrate/20161017085822_add_participatory_process_steps.rb +3 -3
  109. data/db/migrate/20161107152228_remove_not_null_on_step_position.rb +5 -0
  110. data/db/migrate/20161108093802_create_decidim_static_pages.rb +11 -0
  111. data/db/migrate/20161110092735_add_index_for_process_slug_organization.rb +8 -0
  112. data/db/migrate/20161110105712_create_decidim_features.rb +9 -0
  113. data/db/migrate/20161116115156_create_attachments.rb +18 -0
  114. data/db/migrate/20161123085134_add_categories.rb +10 -0
  115. data/db/migrate/20161130105257_create_decidim_scopes.rb +9 -0
  116. data/db/migrate/20161209134715_make_organization_description_optional.rb +5 -0
  117. data/db/migrate/20161213094244_add_avatar_to_users.rb +5 -0
  118. data/db/migrate/20161214152811_add_logo_to_organizations.rb +5 -0
  119. data/db/seeds.rb +36 -6
  120. data/db/seeds/Exampledocument.pdf +0 -0
  121. data/{app/assets/images/decidim/hero-home.jpg → db/seeds/homepage_image.jpg} +0 -0
  122. data/lib/decidim/core.rb +55 -2
  123. data/lib/decidim/core/engine.rb +16 -2
  124. data/lib/decidim/core/version.rb +11 -2
  125. data/lib/decidim/feature_manifest.rb +71 -0
  126. data/lib/decidim/features.rb +8 -0
  127. data/lib/decidim/features/base_controller.rb +32 -0
  128. data/lib/decidim/features/namer.rb +35 -0
  129. data/lib/decidim/form_builder.rb +140 -6
  130. data/lib/decidim/page_finder.rb +48 -0
  131. data/lib/decidim/query_extensions.rb +33 -0
  132. data/lib/decidim/translatable_attributes.rb +1 -24
  133. data/vendor/assets/javascripts/quill.min.js +14 -0
  134. data/vendor/assets/javascripts/quill.min.js.map +1 -0
  135. data/vendor/assets/stylesheets/quill.bubble.css +843 -0
  136. data/vendor/assets/stylesheets/quill.core.css +362 -0
  137. data/vendor/assets/stylesheets/quill.snow.css +881 -0
  138. metadata +164 -32
  139. data/LICENSE.txt +0 -619
  140. data/app/views/decidim/participatory_processes/_process_header_home.html.erb +0 -18
  141. data/app/views/pages/terms.ca.html.erb +0 -4
  142. data/app/views/pages/terms.en.html.erb +0 -4
  143. data/app/views/pages/terms.es.html.erb +0 -4
@@ -0,0 +1,362 @@
1
+ /*!
2
+ * Quill Editor v1.1.5
3
+ * https://quilljs.com/
4
+ * Copyright (c) 2014, Jason Chen
5
+ * Copyright (c) 2013, salesforce.com
6
+ */
7
+ .ql-container {
8
+ box-sizing: border-box;
9
+ font-family: Helvetica, Arial, sans-serif;
10
+ font-size: 13px;
11
+ height: 100%;
12
+ margin: 0px;
13
+ position: relative;
14
+ }
15
+ .ql-container.ql-disabled .ql-tooltip {
16
+ visibility: hidden;
17
+ }
18
+ .ql-clipboard {
19
+ left: -100000px;
20
+ height: 1px;
21
+ overflow-y: hidden;
22
+ position: absolute;
23
+ top: 50%;
24
+ }
25
+ .ql-clipboard p {
26
+ margin: 0;
27
+ padding: 0;
28
+ }
29
+ .ql-editor {
30
+ box-sizing: border-box;
31
+ cursor: text;
32
+ line-height: 1.42;
33
+ height: 100%;
34
+ outline: none;
35
+ overflow-y: auto;
36
+ padding: 12px 15px;
37
+ tab-size: 4;
38
+ -moz-tab-size: 4;
39
+ text-align: left;
40
+ white-space: pre-wrap;
41
+ word-wrap: break-word;
42
+ }
43
+ .ql-editor p,
44
+ .ql-editor ol,
45
+ .ql-editor ul,
46
+ .ql-editor pre,
47
+ .ql-editor blockquote,
48
+ .ql-editor h1,
49
+ .ql-editor h2,
50
+ .ql-editor h3,
51
+ .ql-editor h4,
52
+ .ql-editor h5,
53
+ .ql-editor h6 {
54
+ margin: 0;
55
+ padding: 0;
56
+ counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
57
+ }
58
+ .ql-editor ol,
59
+ .ql-editor ul {
60
+ padding-left: 1.5em;
61
+ }
62
+ .ql-editor ol > li,
63
+ .ql-editor ul > li {
64
+ list-style-type: none;
65
+ }
66
+ .ql-editor ul > li::before {
67
+ content: '\25CF';
68
+ }
69
+ .ql-editor li::before {
70
+ display: inline-block;
71
+ margin-right: 0.3em;
72
+ text-align: right;
73
+ white-space: nowrap;
74
+ width: 1.2em;
75
+ }
76
+ .ql-editor li:not(.ql-direction-rtl)::before {
77
+ margin-left: -1.5em;
78
+ }
79
+ .ql-editor ol li,
80
+ .ql-editor ul li {
81
+ padding-left: 1.5em;
82
+ }
83
+ .ql-editor ol li {
84
+ counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
85
+ counter-increment: list-num;
86
+ }
87
+ .ql-editor ol li:before {
88
+ content: counter(list-num, decimal) '. ';
89
+ }
90
+ .ql-editor ol li.ql-indent-1 {
91
+ counter-increment: list-1;
92
+ }
93
+ .ql-editor ol li.ql-indent-1:before {
94
+ content: counter(list-1, lower-alpha) '. ';
95
+ }
96
+ .ql-editor ol li.ql-indent-1 {
97
+ counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
98
+ }
99
+ .ql-editor ol li.ql-indent-2 {
100
+ counter-increment: list-2;
101
+ }
102
+ .ql-editor ol li.ql-indent-2:before {
103
+ content: counter(list-2, lower-roman) '. ';
104
+ }
105
+ .ql-editor ol li.ql-indent-2 {
106
+ counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
107
+ }
108
+ .ql-editor ol li.ql-indent-3 {
109
+ counter-increment: list-3;
110
+ }
111
+ .ql-editor ol li.ql-indent-3:before {
112
+ content: counter(list-3, decimal) '. ';
113
+ }
114
+ .ql-editor ol li.ql-indent-3 {
115
+ counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
116
+ }
117
+ .ql-editor ol li.ql-indent-4 {
118
+ counter-increment: list-4;
119
+ }
120
+ .ql-editor ol li.ql-indent-4:before {
121
+ content: counter(list-4, lower-alpha) '. ';
122
+ }
123
+ .ql-editor ol li.ql-indent-4 {
124
+ counter-reset: list-5 list-6 list-7 list-8 list-9;
125
+ }
126
+ .ql-editor ol li.ql-indent-5 {
127
+ counter-increment: list-5;
128
+ }
129
+ .ql-editor ol li.ql-indent-5:before {
130
+ content: counter(list-5, lower-roman) '. ';
131
+ }
132
+ .ql-editor ol li.ql-indent-5 {
133
+ counter-reset: list-6 list-7 list-8 list-9;
134
+ }
135
+ .ql-editor ol li.ql-indent-6 {
136
+ counter-increment: list-6;
137
+ }
138
+ .ql-editor ol li.ql-indent-6:before {
139
+ content: counter(list-6, decimal) '. ';
140
+ }
141
+ .ql-editor ol li.ql-indent-6 {
142
+ counter-reset: list-7 list-8 list-9;
143
+ }
144
+ .ql-editor ol li.ql-indent-7 {
145
+ counter-increment: list-7;
146
+ }
147
+ .ql-editor ol li.ql-indent-7:before {
148
+ content: counter(list-7, lower-alpha) '. ';
149
+ }
150
+ .ql-editor ol li.ql-indent-7 {
151
+ counter-reset: list-8 list-9;
152
+ }
153
+ .ql-editor ol li.ql-indent-8 {
154
+ counter-increment: list-8;
155
+ }
156
+ .ql-editor ol li.ql-indent-8:before {
157
+ content: counter(list-8, lower-roman) '. ';
158
+ }
159
+ .ql-editor ol li.ql-indent-8 {
160
+ counter-reset: list-9;
161
+ }
162
+ .ql-editor ol li.ql-indent-9 {
163
+ counter-increment: list-9;
164
+ }
165
+ .ql-editor ol li.ql-indent-9:before {
166
+ content: counter(list-9, decimal) '. ';
167
+ }
168
+ .ql-editor .ql-indent-1:not(.ql-direction-rtl) {
169
+ padding-left: 3em;
170
+ }
171
+ .ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
172
+ padding-left: 4.5em;
173
+ }
174
+ .ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
175
+ padding-right: 3em;
176
+ }
177
+ .ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
178
+ padding-right: 4.5em;
179
+ }
180
+ .ql-editor .ql-indent-2:not(.ql-direction-rtl) {
181
+ padding-left: 6em;
182
+ }
183
+ .ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
184
+ padding-left: 7.5em;
185
+ }
186
+ .ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
187
+ padding-right: 6em;
188
+ }
189
+ .ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
190
+ padding-right: 7.5em;
191
+ }
192
+ .ql-editor .ql-indent-3:not(.ql-direction-rtl) {
193
+ padding-left: 9em;
194
+ }
195
+ .ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
196
+ padding-left: 10.5em;
197
+ }
198
+ .ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
199
+ padding-right: 9em;
200
+ }
201
+ .ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
202
+ padding-right: 10.5em;
203
+ }
204
+ .ql-editor .ql-indent-4:not(.ql-direction-rtl) {
205
+ padding-left: 12em;
206
+ }
207
+ .ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
208
+ padding-left: 13.5em;
209
+ }
210
+ .ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
211
+ padding-right: 12em;
212
+ }
213
+ .ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
214
+ padding-right: 13.5em;
215
+ }
216
+ .ql-editor .ql-indent-5:not(.ql-direction-rtl) {
217
+ padding-left: 15em;
218
+ }
219
+ .ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
220
+ padding-left: 16.5em;
221
+ }
222
+ .ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
223
+ padding-right: 15em;
224
+ }
225
+ .ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
226
+ padding-right: 16.5em;
227
+ }
228
+ .ql-editor .ql-indent-6:not(.ql-direction-rtl) {
229
+ padding-left: 18em;
230
+ }
231
+ .ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
232
+ padding-left: 19.5em;
233
+ }
234
+ .ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
235
+ padding-right: 18em;
236
+ }
237
+ .ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
238
+ padding-right: 19.5em;
239
+ }
240
+ .ql-editor .ql-indent-7:not(.ql-direction-rtl) {
241
+ padding-left: 21em;
242
+ }
243
+ .ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
244
+ padding-left: 22.5em;
245
+ }
246
+ .ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
247
+ padding-right: 21em;
248
+ }
249
+ .ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
250
+ padding-right: 22.5em;
251
+ }
252
+ .ql-editor .ql-indent-8:not(.ql-direction-rtl) {
253
+ padding-left: 24em;
254
+ }
255
+ .ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
256
+ padding-left: 25.5em;
257
+ }
258
+ .ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
259
+ padding-right: 24em;
260
+ }
261
+ .ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
262
+ padding-right: 25.5em;
263
+ }
264
+ .ql-editor .ql-indent-9:not(.ql-direction-rtl) {
265
+ padding-left: 27em;
266
+ }
267
+ .ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
268
+ padding-left: 28.5em;
269
+ }
270
+ .ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
271
+ padding-right: 27em;
272
+ }
273
+ .ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
274
+ padding-right: 28.5em;
275
+ }
276
+ .ql-editor .ql-video {
277
+ display: block;
278
+ max-width: 100%;
279
+ }
280
+ .ql-editor .ql-video.ql-align-center {
281
+ margin: 0 auto;
282
+ }
283
+ .ql-editor .ql-video.ql-align-right {
284
+ margin: 0 0 0 auto;
285
+ }
286
+ .ql-editor .ql-bg-black {
287
+ background-color: #000;
288
+ }
289
+ .ql-editor .ql-bg-red {
290
+ background-color: #e60000;
291
+ }
292
+ .ql-editor .ql-bg-orange {
293
+ background-color: #f90;
294
+ }
295
+ .ql-editor .ql-bg-yellow {
296
+ background-color: #ff0;
297
+ }
298
+ .ql-editor .ql-bg-green {
299
+ background-color: #008a00;
300
+ }
301
+ .ql-editor .ql-bg-blue {
302
+ background-color: #06c;
303
+ }
304
+ .ql-editor .ql-bg-purple {
305
+ background-color: #93f;
306
+ }
307
+ .ql-editor .ql-color-white {
308
+ color: #fff;
309
+ }
310
+ .ql-editor .ql-color-red {
311
+ color: #e60000;
312
+ }
313
+ .ql-editor .ql-color-orange {
314
+ color: #f90;
315
+ }
316
+ .ql-editor .ql-color-yellow {
317
+ color: #ff0;
318
+ }
319
+ .ql-editor .ql-color-green {
320
+ color: #008a00;
321
+ }
322
+ .ql-editor .ql-color-blue {
323
+ color: #06c;
324
+ }
325
+ .ql-editor .ql-color-purple {
326
+ color: #93f;
327
+ }
328
+ .ql-editor .ql-font-serif {
329
+ font-family: Georgia, Times New Roman, serif;
330
+ }
331
+ .ql-editor .ql-font-monospace {
332
+ font-family: Monaco, Courier New, monospace;
333
+ }
334
+ .ql-editor .ql-size-small {
335
+ font-size: 0.75em;
336
+ }
337
+ .ql-editor .ql-size-large {
338
+ font-size: 1.5em;
339
+ }
340
+ .ql-editor .ql-size-huge {
341
+ font-size: 2.5em;
342
+ }
343
+ .ql-editor .ql-direction-rtl {
344
+ direction: rtl;
345
+ text-align: inherit;
346
+ }
347
+ .ql-editor .ql-align-center {
348
+ text-align: center;
349
+ }
350
+ .ql-editor .ql-align-justify {
351
+ text-align: justify;
352
+ }
353
+ .ql-editor .ql-align-right {
354
+ text-align: right;
355
+ }
356
+ .ql-editor.ql-blank::before {
357
+ color: rgba(0,0,0,0.6);
358
+ content: attr(data-placeholder);
359
+ font-style: italic;
360
+ pointer-events: none;
361
+ position: absolute;
362
+ }
@@ -0,0 +1,881 @@
1
+ /*!
2
+ * Quill Editor v1.1.5
3
+ * https://quilljs.com/
4
+ * Copyright (c) 2014, Jason Chen
5
+ * Copyright (c) 2013, salesforce.com
6
+ */
7
+ .ql-container {
8
+ box-sizing: border-box;
9
+ font-family: Helvetica, Arial, sans-serif;
10
+ font-size: 13px;
11
+ height: 100%;
12
+ margin: 0px;
13
+ position: relative;
14
+ }
15
+ .ql-container.ql-disabled .ql-tooltip {
16
+ visibility: hidden;
17
+ }
18
+ .ql-clipboard {
19
+ left: -100000px;
20
+ height: 1px;
21
+ overflow-y: hidden;
22
+ position: absolute;
23
+ top: 50%;
24
+ }
25
+ .ql-clipboard p {
26
+ margin: 0;
27
+ padding: 0;
28
+ }
29
+ .ql-editor {
30
+ box-sizing: border-box;
31
+ cursor: text;
32
+ line-height: 1.42;
33
+ height: 100%;
34
+ outline: none;
35
+ overflow-y: auto;
36
+ padding: 12px 15px;
37
+ tab-size: 4;
38
+ -moz-tab-size: 4;
39
+ text-align: left;
40
+ white-space: pre-wrap;
41
+ word-wrap: break-word;
42
+ }
43
+ .ql-editor p,
44
+ .ql-editor ol,
45
+ .ql-editor ul,
46
+ .ql-editor pre,
47
+ .ql-editor blockquote,
48
+ .ql-editor h1,
49
+ .ql-editor h2,
50
+ .ql-editor h3,
51
+ .ql-editor h4,
52
+ .ql-editor h5,
53
+ .ql-editor h6 {
54
+ margin: 0;
55
+ padding: 0;
56
+ counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
57
+ }
58
+ .ql-editor ol,
59
+ .ql-editor ul {
60
+ padding-left: 1.5em;
61
+ }
62
+ .ql-editor ol > li,
63
+ .ql-editor ul > li {
64
+ list-style-type: none;
65
+ }
66
+ .ql-editor ul > li::before {
67
+ content: '\25CF';
68
+ }
69
+ .ql-editor li::before {
70
+ display: inline-block;
71
+ margin-right: 0.3em;
72
+ text-align: right;
73
+ white-space: nowrap;
74
+ width: 1.2em;
75
+ }
76
+ .ql-editor li:not(.ql-direction-rtl)::before {
77
+ margin-left: -1.5em;
78
+ }
79
+ .ql-editor ol li,
80
+ .ql-editor ul li {
81
+ padding-left: 1.5em;
82
+ }
83
+ .ql-editor ol li {
84
+ counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
85
+ counter-increment: list-num;
86
+ }
87
+ .ql-editor ol li:before {
88
+ content: counter(list-num, decimal) '. ';
89
+ }
90
+ .ql-editor ol li.ql-indent-1 {
91
+ counter-increment: list-1;
92
+ }
93
+ .ql-editor ol li.ql-indent-1:before {
94
+ content: counter(list-1, lower-alpha) '. ';
95
+ }
96
+ .ql-editor ol li.ql-indent-1 {
97
+ counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
98
+ }
99
+ .ql-editor ol li.ql-indent-2 {
100
+ counter-increment: list-2;
101
+ }
102
+ .ql-editor ol li.ql-indent-2:before {
103
+ content: counter(list-2, lower-roman) '. ';
104
+ }
105
+ .ql-editor ol li.ql-indent-2 {
106
+ counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
107
+ }
108
+ .ql-editor ol li.ql-indent-3 {
109
+ counter-increment: list-3;
110
+ }
111
+ .ql-editor ol li.ql-indent-3:before {
112
+ content: counter(list-3, decimal) '. ';
113
+ }
114
+ .ql-editor ol li.ql-indent-3 {
115
+ counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
116
+ }
117
+ .ql-editor ol li.ql-indent-4 {
118
+ counter-increment: list-4;
119
+ }
120
+ .ql-editor ol li.ql-indent-4:before {
121
+ content: counter(list-4, lower-alpha) '. ';
122
+ }
123
+ .ql-editor ol li.ql-indent-4 {
124
+ counter-reset: list-5 list-6 list-7 list-8 list-9;
125
+ }
126
+ .ql-editor ol li.ql-indent-5 {
127
+ counter-increment: list-5;
128
+ }
129
+ .ql-editor ol li.ql-indent-5:before {
130
+ content: counter(list-5, lower-roman) '. ';
131
+ }
132
+ .ql-editor ol li.ql-indent-5 {
133
+ counter-reset: list-6 list-7 list-8 list-9;
134
+ }
135
+ .ql-editor ol li.ql-indent-6 {
136
+ counter-increment: list-6;
137
+ }
138
+ .ql-editor ol li.ql-indent-6:before {
139
+ content: counter(list-6, decimal) '. ';
140
+ }
141
+ .ql-editor ol li.ql-indent-6 {
142
+ counter-reset: list-7 list-8 list-9;
143
+ }
144
+ .ql-editor ol li.ql-indent-7 {
145
+ counter-increment: list-7;
146
+ }
147
+ .ql-editor ol li.ql-indent-7:before {
148
+ content: counter(list-7, lower-alpha) '. ';
149
+ }
150
+ .ql-editor ol li.ql-indent-7 {
151
+ counter-reset: list-8 list-9;
152
+ }
153
+ .ql-editor ol li.ql-indent-8 {
154
+ counter-increment: list-8;
155
+ }
156
+ .ql-editor ol li.ql-indent-8:before {
157
+ content: counter(list-8, lower-roman) '. ';
158
+ }
159
+ .ql-editor ol li.ql-indent-8 {
160
+ counter-reset: list-9;
161
+ }
162
+ .ql-editor ol li.ql-indent-9 {
163
+ counter-increment: list-9;
164
+ }
165
+ .ql-editor ol li.ql-indent-9:before {
166
+ content: counter(list-9, decimal) '. ';
167
+ }
168
+ .ql-editor .ql-indent-1:not(.ql-direction-rtl) {
169
+ padding-left: 3em;
170
+ }
171
+ .ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
172
+ padding-left: 4.5em;
173
+ }
174
+ .ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
175
+ padding-right: 3em;
176
+ }
177
+ .ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
178
+ padding-right: 4.5em;
179
+ }
180
+ .ql-editor .ql-indent-2:not(.ql-direction-rtl) {
181
+ padding-left: 6em;
182
+ }
183
+ .ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
184
+ padding-left: 7.5em;
185
+ }
186
+ .ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
187
+ padding-right: 6em;
188
+ }
189
+ .ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
190
+ padding-right: 7.5em;
191
+ }
192
+ .ql-editor .ql-indent-3:not(.ql-direction-rtl) {
193
+ padding-left: 9em;
194
+ }
195
+ .ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
196
+ padding-left: 10.5em;
197
+ }
198
+ .ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
199
+ padding-right: 9em;
200
+ }
201
+ .ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
202
+ padding-right: 10.5em;
203
+ }
204
+ .ql-editor .ql-indent-4:not(.ql-direction-rtl) {
205
+ padding-left: 12em;
206
+ }
207
+ .ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
208
+ padding-left: 13.5em;
209
+ }
210
+ .ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
211
+ padding-right: 12em;
212
+ }
213
+ .ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
214
+ padding-right: 13.5em;
215
+ }
216
+ .ql-editor .ql-indent-5:not(.ql-direction-rtl) {
217
+ padding-left: 15em;
218
+ }
219
+ .ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
220
+ padding-left: 16.5em;
221
+ }
222
+ .ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
223
+ padding-right: 15em;
224
+ }
225
+ .ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
226
+ padding-right: 16.5em;
227
+ }
228
+ .ql-editor .ql-indent-6:not(.ql-direction-rtl) {
229
+ padding-left: 18em;
230
+ }
231
+ .ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
232
+ padding-left: 19.5em;
233
+ }
234
+ .ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
235
+ padding-right: 18em;
236
+ }
237
+ .ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
238
+ padding-right: 19.5em;
239
+ }
240
+ .ql-editor .ql-indent-7:not(.ql-direction-rtl) {
241
+ padding-left: 21em;
242
+ }
243
+ .ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
244
+ padding-left: 22.5em;
245
+ }
246
+ .ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
247
+ padding-right: 21em;
248
+ }
249
+ .ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
250
+ padding-right: 22.5em;
251
+ }
252
+ .ql-editor .ql-indent-8:not(.ql-direction-rtl) {
253
+ padding-left: 24em;
254
+ }
255
+ .ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
256
+ padding-left: 25.5em;
257
+ }
258
+ .ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
259
+ padding-right: 24em;
260
+ }
261
+ .ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
262
+ padding-right: 25.5em;
263
+ }
264
+ .ql-editor .ql-indent-9:not(.ql-direction-rtl) {
265
+ padding-left: 27em;
266
+ }
267
+ .ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
268
+ padding-left: 28.5em;
269
+ }
270
+ .ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
271
+ padding-right: 27em;
272
+ }
273
+ .ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
274
+ padding-right: 28.5em;
275
+ }
276
+ .ql-editor .ql-video {
277
+ display: block;
278
+ max-width: 100%;
279
+ }
280
+ .ql-editor .ql-video.ql-align-center {
281
+ margin: 0 auto;
282
+ }
283
+ .ql-editor .ql-video.ql-align-right {
284
+ margin: 0 0 0 auto;
285
+ }
286
+ .ql-editor .ql-bg-black {
287
+ background-color: #000;
288
+ }
289
+ .ql-editor .ql-bg-red {
290
+ background-color: #e60000;
291
+ }
292
+ .ql-editor .ql-bg-orange {
293
+ background-color: #f90;
294
+ }
295
+ .ql-editor .ql-bg-yellow {
296
+ background-color: #ff0;
297
+ }
298
+ .ql-editor .ql-bg-green {
299
+ background-color: #008a00;
300
+ }
301
+ .ql-editor .ql-bg-blue {
302
+ background-color: #06c;
303
+ }
304
+ .ql-editor .ql-bg-purple {
305
+ background-color: #93f;
306
+ }
307
+ .ql-editor .ql-color-white {
308
+ color: #fff;
309
+ }
310
+ .ql-editor .ql-color-red {
311
+ color: #e60000;
312
+ }
313
+ .ql-editor .ql-color-orange {
314
+ color: #f90;
315
+ }
316
+ .ql-editor .ql-color-yellow {
317
+ color: #ff0;
318
+ }
319
+ .ql-editor .ql-color-green {
320
+ color: #008a00;
321
+ }
322
+ .ql-editor .ql-color-blue {
323
+ color: #06c;
324
+ }
325
+ .ql-editor .ql-color-purple {
326
+ color: #93f;
327
+ }
328
+ .ql-editor .ql-font-serif {
329
+ font-family: Georgia, Times New Roman, serif;
330
+ }
331
+ .ql-editor .ql-font-monospace {
332
+ font-family: Monaco, Courier New, monospace;
333
+ }
334
+ .ql-editor .ql-size-small {
335
+ font-size: 0.75em;
336
+ }
337
+ .ql-editor .ql-size-large {
338
+ font-size: 1.5em;
339
+ }
340
+ .ql-editor .ql-size-huge {
341
+ font-size: 2.5em;
342
+ }
343
+ .ql-editor .ql-direction-rtl {
344
+ direction: rtl;
345
+ text-align: inherit;
346
+ }
347
+ .ql-editor .ql-align-center {
348
+ text-align: center;
349
+ }
350
+ .ql-editor .ql-align-justify {
351
+ text-align: justify;
352
+ }
353
+ .ql-editor .ql-align-right {
354
+ text-align: right;
355
+ }
356
+ .ql-editor.ql-blank::before {
357
+ color: rgba(0,0,0,0.6);
358
+ content: attr(data-placeholder);
359
+ font-style: italic;
360
+ pointer-events: none;
361
+ position: absolute;
362
+ }
363
+ .ql-snow.ql-toolbar:after,
364
+ .ql-snow .ql-toolbar:after {
365
+ clear: both;
366
+ content: '';
367
+ display: table;
368
+ }
369
+ .ql-snow.ql-toolbar button,
370
+ .ql-snow .ql-toolbar button {
371
+ background: none;
372
+ border: none;
373
+ cursor: pointer;
374
+ display: inline-block;
375
+ float: left;
376
+ height: 24px;
377
+ padding: 3px 5px;
378
+ width: 28px;
379
+ }
380
+ .ql-snow.ql-toolbar button svg,
381
+ .ql-snow .ql-toolbar button svg {
382
+ float: left;
383
+ height: 100%;
384
+ }
385
+ .ql-snow.ql-toolbar input.ql-image[type=file],
386
+ .ql-snow .ql-toolbar input.ql-image[type=file] {
387
+ display: none;
388
+ }
389
+ .ql-snow.ql-toolbar button:hover,
390
+ .ql-snow .ql-toolbar button:hover,
391
+ .ql-snow.ql-toolbar button.ql-active,
392
+ .ql-snow .ql-toolbar button.ql-active,
393
+ .ql-snow.ql-toolbar .ql-picker-label:hover,
394
+ .ql-snow .ql-toolbar .ql-picker-label:hover,
395
+ .ql-snow.ql-toolbar .ql-picker-label.ql-active,
396
+ .ql-snow .ql-toolbar .ql-picker-label.ql-active,
397
+ .ql-snow.ql-toolbar .ql-picker-item:hover,
398
+ .ql-snow .ql-toolbar .ql-picker-item:hover,
399
+ .ql-snow.ql-toolbar .ql-picker-item.ql-selected,
400
+ .ql-snow .ql-toolbar .ql-picker-item.ql-selected {
401
+ color: #06c;
402
+ }
403
+ .ql-snow.ql-toolbar button:hover .ql-fill,
404
+ .ql-snow .ql-toolbar button:hover .ql-fill,
405
+ .ql-snow.ql-toolbar button.ql-active .ql-fill,
406
+ .ql-snow .ql-toolbar button.ql-active .ql-fill,
407
+ .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
408
+ .ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
409
+ .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
410
+ .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
411
+ .ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
412
+ .ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
413
+ .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
414
+ .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
415
+ .ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
416
+ .ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
417
+ .ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
418
+ .ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
419
+ .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
420
+ .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
421
+ .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
422
+ .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
423
+ .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
424
+ .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
425
+ .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
426
+ .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
427
+ fill: #06c;
428
+ }
429
+ .ql-snow.ql-toolbar button:hover .ql-stroke,
430
+ .ql-snow .ql-toolbar button:hover .ql-stroke,
431
+ .ql-snow.ql-toolbar button.ql-active .ql-stroke,
432
+ .ql-snow .ql-toolbar button.ql-active .ql-stroke,
433
+ .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
434
+ .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
435
+ .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
436
+ .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
437
+ .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
438
+ .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
439
+ .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
440
+ .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
441
+ .ql-snow.ql-toolbar button:hover .ql-stroke-miter,
442
+ .ql-snow .ql-toolbar button:hover .ql-stroke-miter,
443
+ .ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
444
+ .ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
445
+ .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
446
+ .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
447
+ .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
448
+ .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
449
+ .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
450
+ .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
451
+ .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
452
+ .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
453
+ stroke: #06c;
454
+ }
455
+ .ql-snow {
456
+ box-sizing: border-box;
457
+ }
458
+ .ql-snow * {
459
+ box-sizing: border-box;
460
+ }
461
+ .ql-snow .ql-hidden {
462
+ display: none;
463
+ }
464
+ .ql-snow .ql-out-bottom,
465
+ .ql-snow .ql-out-top {
466
+ visibility: hidden;
467
+ }
468
+ .ql-snow .ql-tooltip {
469
+ position: absolute;
470
+ }
471
+ .ql-snow .ql-tooltip a {
472
+ cursor: pointer;
473
+ text-decoration: none;
474
+ }
475
+ .ql-snow .ql-formats {
476
+ display: inline-block;
477
+ vertical-align: middle;
478
+ }
479
+ .ql-snow .ql-formats:after {
480
+ clear: both;
481
+ content: '';
482
+ display: table;
483
+ }
484
+ .ql-snow .ql-stroke {
485
+ fill: none;
486
+ stroke: #444;
487
+ stroke-linecap: round;
488
+ stroke-linejoin: round;
489
+ stroke-width: 2;
490
+ }
491
+ .ql-snow .ql-stroke-miter {
492
+ fill: none;
493
+ stroke: #444;
494
+ stroke-miterlimit: 10;
495
+ stroke-width: 2;
496
+ }
497
+ .ql-snow .ql-fill,
498
+ .ql-snow .ql-stroke.ql-fill {
499
+ fill: #444;
500
+ }
501
+ .ql-snow .ql-empty {
502
+ fill: none;
503
+ }
504
+ .ql-snow .ql-even {
505
+ fill-rule: evenodd;
506
+ }
507
+ .ql-snow .ql-thin,
508
+ .ql-snow .ql-stroke.ql-thin {
509
+ stroke-width: 1;
510
+ }
511
+ .ql-snow .ql-transparent {
512
+ opacity: 0.4;
513
+ }
514
+ .ql-snow .ql-direction svg:last-child {
515
+ display: none;
516
+ }
517
+ .ql-snow .ql-direction.ql-active svg:last-child {
518
+ display: inline;
519
+ }
520
+ .ql-snow .ql-direction.ql-active svg:first-child {
521
+ display: none;
522
+ }
523
+ .ql-snow .ql-editor h1 {
524
+ font-size: 2em;
525
+ }
526
+ .ql-snow .ql-editor h2 {
527
+ font-size: 1.5em;
528
+ }
529
+ .ql-snow .ql-editor h3 {
530
+ font-size: 1.17em;
531
+ }
532
+ .ql-snow .ql-editor h4 {
533
+ font-size: 1em;
534
+ }
535
+ .ql-snow .ql-editor h5 {
536
+ font-size: 0.83em;
537
+ }
538
+ .ql-snow .ql-editor h6 {
539
+ font-size: 0.67em;
540
+ }
541
+ .ql-snow .ql-editor a {
542
+ text-decoration: underline;
543
+ }
544
+ .ql-snow .ql-editor blockquote {
545
+ border-left: 4px solid #ccc;
546
+ margin-bottom: 5px;
547
+ margin-top: 5px;
548
+ padding-left: 16px;
549
+ }
550
+ .ql-snow .ql-editor code,
551
+ .ql-snow .ql-editor pre {
552
+ background-color: #f0f0f0;
553
+ border-radius: 3px;
554
+ }
555
+ .ql-snow .ql-editor pre {
556
+ white-space: pre-wrap;
557
+ margin-bottom: 5px;
558
+ margin-top: 5px;
559
+ padding: 5px 10px;
560
+ }
561
+ .ql-snow .ql-editor code {
562
+ font-size: 85%;
563
+ padding-bottom: 2px;
564
+ padding-top: 2px;
565
+ }
566
+ .ql-snow .ql-editor code:before,
567
+ .ql-snow .ql-editor code:after {
568
+ content: "\A0";
569
+ letter-spacing: -2px;
570
+ }
571
+ .ql-snow .ql-editor pre.ql-syntax {
572
+ background-color: #23241f;
573
+ color: #f8f8f2;
574
+ overflow: visible;
575
+ }
576
+ .ql-snow .ql-editor img {
577
+ max-width: 100%;
578
+ }
579
+ .ql-snow .ql-picker {
580
+ color: #444;
581
+ display: inline-block;
582
+ float: left;
583
+ font-size: 14px;
584
+ font-weight: 500;
585
+ height: 24px;
586
+ position: relative;
587
+ vertical-align: middle;
588
+ }
589
+ .ql-snow .ql-picker-label {
590
+ cursor: pointer;
591
+ display: inline-block;
592
+ height: 100%;
593
+ padding-left: 8px;
594
+ padding-right: 2px;
595
+ position: relative;
596
+ width: 100%;
597
+ }
598
+ .ql-snow .ql-picker-label::before {
599
+ display: inline-block;
600
+ line-height: 22px;
601
+ }
602
+ .ql-snow .ql-picker-options {
603
+ background-color: #fff;
604
+ display: none;
605
+ min-width: 100%;
606
+ padding: 4px 8px;
607
+ position: absolute;
608
+ white-space: nowrap;
609
+ }
610
+ .ql-snow .ql-picker-options .ql-picker-item {
611
+ cursor: pointer;
612
+ display: block;
613
+ padding-bottom: 5px;
614
+ padding-top: 5px;
615
+ }
616
+ .ql-snow .ql-picker.ql-expanded .ql-picker-label {
617
+ color: #ccc;
618
+ z-index: 2;
619
+ }
620
+ .ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
621
+ fill: #ccc;
622
+ }
623
+ .ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
624
+ stroke: #ccc;
625
+ }
626
+ .ql-snow .ql-picker.ql-expanded .ql-picker-options {
627
+ display: block;
628
+ margin-top: -1px;
629
+ top: 100%;
630
+ z-index: 1;
631
+ }
632
+ .ql-snow .ql-color-picker,
633
+ .ql-snow .ql-icon-picker {
634
+ width: 28px;
635
+ }
636
+ .ql-snow .ql-color-picker .ql-picker-label,
637
+ .ql-snow .ql-icon-picker .ql-picker-label {
638
+ padding: 2px 4px;
639
+ }
640
+ .ql-snow .ql-color-picker .ql-picker-label svg,
641
+ .ql-snow .ql-icon-picker .ql-picker-label svg {
642
+ right: 4px;
643
+ }
644
+ .ql-snow .ql-icon-picker .ql-picker-options {
645
+ padding: 4px 0px;
646
+ }
647
+ .ql-snow .ql-icon-picker .ql-picker-item {
648
+ height: 24px;
649
+ width: 24px;
650
+ padding: 2px 4px;
651
+ }
652
+ .ql-snow .ql-color-picker .ql-picker-options {
653
+ padding: 3px 5px;
654
+ width: 152px;
655
+ }
656
+ .ql-snow .ql-color-picker .ql-picker-item {
657
+ border: 1px solid transparent;
658
+ float: left;
659
+ height: 16px;
660
+ margin: 2px;
661
+ padding: 0px;
662
+ width: 16px;
663
+ }
664
+ .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
665
+ position: absolute;
666
+ margin-top: -9px;
667
+ right: 0;
668
+ top: 50%;
669
+ width: 18px;
670
+ }
671
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,
672
+ .ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,
673
+ .ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,
674
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,
675
+ .ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,
676
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {
677
+ content: attr(data-label);
678
+ }
679
+ .ql-snow .ql-picker.ql-header {
680
+ width: 98px;
681
+ }
682
+ .ql-snow .ql-picker.ql-header .ql-picker-label::before,
683
+ .ql-snow .ql-picker.ql-header .ql-picker-item::before {
684
+ content: 'Normal';
685
+ }
686
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
687
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
688
+ content: 'Heading 1';
689
+ }
690
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
691
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
692
+ content: 'Heading 2';
693
+ }
694
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
695
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
696
+ content: 'Heading 3';
697
+ }
698
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
699
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
700
+ content: 'Heading 4';
701
+ }
702
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
703
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
704
+ content: 'Heading 5';
705
+ }
706
+ .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
707
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
708
+ content: 'Heading 6';
709
+ }
710
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
711
+ font-size: 2em;
712
+ }
713
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
714
+ font-size: 1.5em;
715
+ }
716
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
717
+ font-size: 1.17em;
718
+ }
719
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
720
+ font-size: 1em;
721
+ }
722
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
723
+ font-size: 0.83em;
724
+ }
725
+ .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
726
+ font-size: 0.67em;
727
+ }
728
+ .ql-snow .ql-picker.ql-font {
729
+ width: 108px;
730
+ }
731
+ .ql-snow .ql-picker.ql-font .ql-picker-label::before,
732
+ .ql-snow .ql-picker.ql-font .ql-picker-item::before {
733
+ content: 'Sans Serif';
734
+ }
735
+ .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
736
+ .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
737
+ content: 'Serif';
738
+ }
739
+ .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
740
+ .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
741
+ content: 'Monospace';
742
+ }
743
+ .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
744
+ font-family: Georgia, Times New Roman, serif;
745
+ }
746
+ .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
747
+ font-family: Monaco, Courier New, monospace;
748
+ }
749
+ .ql-snow .ql-picker.ql-size {
750
+ width: 98px;
751
+ }
752
+ .ql-snow .ql-picker.ql-size .ql-picker-label::before,
753
+ .ql-snow .ql-picker.ql-size .ql-picker-item::before {
754
+ content: 'Normal';
755
+ }
756
+ .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
757
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
758
+ content: 'Small';
759
+ }
760
+ .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
761
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
762
+ content: 'Large';
763
+ }
764
+ .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
765
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
766
+ content: 'Huge';
767
+ }
768
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
769
+ font-size: 10px;
770
+ }
771
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
772
+ font-size: 18px;
773
+ }
774
+ .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
775
+ font-size: 32px;
776
+ }
777
+ .ql-snow .ql-color-picker.ql-background .ql-picker-item {
778
+ background-color: #fff;
779
+ }
780
+ .ql-snow .ql-color-picker.ql-color .ql-picker-item {
781
+ background-color: #000;
782
+ }
783
+ .ql-toolbar.ql-snow {
784
+ border: 1px solid #ccc;
785
+ box-sizing: border-box;
786
+ font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
787
+ padding: 8px;
788
+ }
789
+ .ql-toolbar.ql-snow .ql-formats {
790
+ margin-right: 15px;
791
+ }
792
+ .ql-toolbar.ql-snow .ql-picker-label {
793
+ border: 1px solid transparent;
794
+ }
795
+ .ql-toolbar.ql-snow .ql-picker-options {
796
+ border: 1px solid transparent;
797
+ box-shadow: rgba(0,0,0,0.2) 0 2px 8px;
798
+ }
799
+ .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
800
+ border-color: #ccc;
801
+ }
802
+ .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
803
+ border-color: #ccc;
804
+ }
805
+ .ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,
806
+ .ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
807
+ border-color: #000;
808
+ }
809
+ .ql-toolbar.ql-snow + .ql-container.ql-snow {
810
+ border-top: 0px;
811
+ }
812
+ .ql-snow .ql-tooltip {
813
+ background-color: #fff;
814
+ border: 1px solid #ccc;
815
+ box-shadow: 0px 0px 5px #ddd;
816
+ color: #444;
817
+ margin-top: 10px;
818
+ padding: 5px 12px;
819
+ white-space: nowrap;
820
+ }
821
+ .ql-snow .ql-tooltip::before {
822
+ content: "Visit URL:";
823
+ line-height: 26px;
824
+ margin-right: 8px;
825
+ }
826
+ .ql-snow .ql-tooltip input[type=text] {
827
+ display: none;
828
+ border: 1px solid #ccc;
829
+ font-size: 13px;
830
+ height: 26px;
831
+ margin: 0px;
832
+ padding: 3px 5px;
833
+ width: 170px;
834
+ }
835
+ .ql-snow .ql-tooltip a.ql-preview {
836
+ display: inline-block;
837
+ max-width: 200px;
838
+ overflow-x: hidden;
839
+ text-overflow: ellipsis;
840
+ vertical-align: top;
841
+ }
842
+ .ql-snow .ql-tooltip a.ql-action::after {
843
+ border-right: 1px solid #ccc;
844
+ content: 'Edit';
845
+ margin-left: 16px;
846
+ padding-right: 8px;
847
+ }
848
+ .ql-snow .ql-tooltip a.ql-remove::before {
849
+ content: 'Remove';
850
+ margin-left: 8px;
851
+ }
852
+ .ql-snow .ql-tooltip a {
853
+ line-height: 26px;
854
+ }
855
+ .ql-snow .ql-tooltip.ql-editing a.ql-preview,
856
+ .ql-snow .ql-tooltip.ql-editing a.ql-remove {
857
+ display: none;
858
+ }
859
+ .ql-snow .ql-tooltip.ql-editing input[type=text] {
860
+ display: inline-block;
861
+ }
862
+ .ql-snow .ql-tooltip.ql-editing a.ql-action::after {
863
+ border-right: 0px;
864
+ content: 'Save';
865
+ padding-right: 0px;
866
+ }
867
+ .ql-snow .ql-tooltip[data-mode=link]::before {
868
+ content: "Enter link:";
869
+ }
870
+ .ql-snow .ql-tooltip[data-mode=formula]::before {
871
+ content: "Enter formula:";
872
+ }
873
+ .ql-snow .ql-tooltip[data-mode=video]::before {
874
+ content: "Enter video:";
875
+ }
876
+ .ql-snow a {
877
+ color: #06c;
878
+ }
879
+ .ql-container.ql-snow {
880
+ border: 1px solid #ccc;
881
+ }