rich_text.scss 25 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154
  1. /*!
  2. * Quill Editor v1.3.6
  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-container.ql-disabled .ql-editor ul[data-checked]>li::before {
  19. pointer-events: none;
  20. }
  21. .ql-clipboard {
  22. left: -100000px;
  23. height: 1px;
  24. overflow-y: hidden;
  25. position: absolute;
  26. top: 50%;
  27. }
  28. .ql-clipboard p {
  29. margin: 0;
  30. padding: 0;
  31. }
  32. .ql-editor p,
  33. .ql-editor ol,
  34. .ql-editor ul,
  35. .ql-editor pre,
  36. .ql-editor blockquote,
  37. .ql-editor h1,
  38. .ql-editor h2,
  39. .ql-editor h3,
  40. .ql-editor h4,
  41. .ql-editor h5,
  42. .ql-editor h6 {
  43. margin: 0;
  44. padding: 0;
  45. counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  46. }
  47. .ql-editor ol,
  48. .ql-editor ul {
  49. padding-left: 1.5em;
  50. }
  51. .ql-editor ol>li,
  52. .ql-editor ul>li {
  53. list-style-type: none;
  54. }
  55. .ql-editor ul>li::before {
  56. content: '\2022';
  57. }
  58. .ql-editor ul[data-checked=true],
  59. .ql-editor ul[data-checked=false] {
  60. pointer-events: none;
  61. }
  62. .ql-editor ul[data-checked=true]>li *,
  63. .ql-editor ul[data-checked=false]>li * {
  64. pointer-events: all;
  65. }
  66. .ql-editor ul[data-checked=true]>li::before,
  67. .ql-editor ul[data-checked=false]>li::before {
  68. color: #777;
  69. cursor: pointer;
  70. pointer-events: all;
  71. }
  72. .ql-editor ul[data-checked=true]>li::before {
  73. content: '\2611';
  74. }
  75. .ql-editor ul[data-checked=false]>li::before {
  76. content: '\2610';
  77. }
  78. .ql-editor li::before {
  79. display: inline-block;
  80. white-space: nowrap;
  81. width: 1.2em;
  82. }
  83. .ql-editor li:not(.ql-direction-rtl)::before {
  84. margin-left: -1.5em;
  85. margin-right: 0.3em;
  86. text-align: right;
  87. }
  88. .ql-editor li.ql-direction-rtl::before {
  89. margin-left: 0.3em;
  90. margin-right: -1.5em;
  91. }
  92. .ql-editor ol li:not(.ql-direction-rtl),
  93. .ql-editor ul li:not(.ql-direction-rtl) {
  94. padding-left: 1.5em;
  95. }
  96. .ql-editor ol li.ql-direction-rtl,
  97. .ql-editor ul li.ql-direction-rtl {
  98. padding-right: 1.5em;
  99. }
  100. .ql-editor ol li {
  101. counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  102. counter-increment: list-0;
  103. }
  104. .ql-editor ol li:before {
  105. content: counter(list-0, decimal) '. ';
  106. }
  107. .ql-editor ol li.ql-indent-1 {
  108. counter-increment: list-1;
  109. }
  110. .ql-editor ol li.ql-indent-1:before {
  111. content: counter(list-1, lower-alpha) '. ';
  112. }
  113. .ql-editor ol li.ql-indent-1 {
  114. counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  115. }
  116. .ql-editor ol li.ql-indent-2 {
  117. counter-increment: list-2;
  118. }
  119. .ql-editor ol li.ql-indent-2:before {
  120. content: counter(list-2, lower-roman) '. ';
  121. }
  122. .ql-editor ol li.ql-indent-2 {
  123. counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  124. }
  125. .ql-editor ol li.ql-indent-3 {
  126. counter-increment: list-3;
  127. }
  128. .ql-editor ol li.ql-indent-3:before {
  129. content: counter(list-3, decimal) '. ';
  130. }
  131. .ql-editor ol li.ql-indent-3 {
  132. counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
  133. }
  134. .ql-editor ol li.ql-indent-4 {
  135. counter-increment: list-4;
  136. }
  137. .ql-editor ol li.ql-indent-4:before {
  138. content: counter(list-4, lower-alpha) '. ';
  139. }
  140. .ql-editor ol li.ql-indent-4 {
  141. counter-reset: list-5 list-6 list-7 list-8 list-9;
  142. }
  143. .ql-editor ol li.ql-indent-5 {
  144. counter-increment: list-5;
  145. }
  146. .ql-editor ol li.ql-indent-5:before {
  147. content: counter(list-5, lower-roman) '. ';
  148. }
  149. .ql-editor ol li.ql-indent-5 {
  150. counter-reset: list-6 list-7 list-8 list-9;
  151. }
  152. .ql-editor ol li.ql-indent-6 {
  153. counter-increment: list-6;
  154. }
  155. .ql-editor ol li.ql-indent-6:before {
  156. content: counter(list-6, decimal) '. ';
  157. }
  158. .ql-editor ol li.ql-indent-6 {
  159. counter-reset: list-7 list-8 list-9;
  160. }
  161. .ql-editor ol li.ql-indent-7 {
  162. counter-increment: list-7;
  163. }
  164. .ql-editor ol li.ql-indent-7:before {
  165. content: counter(list-7, lower-alpha) '. ';
  166. }
  167. .ql-editor ol li.ql-indent-7 {
  168. counter-reset: list-8 list-9;
  169. }
  170. .ql-editor ol li.ql-indent-8 {
  171. counter-increment: list-8;
  172. }
  173. .ql-editor ol li.ql-indent-8:before {
  174. content: counter(list-8, lower-roman) '. ';
  175. }
  176. .ql-editor ol li.ql-indent-8 {
  177. counter-reset: list-9;
  178. }
  179. .ql-editor ol li.ql-indent-9 {
  180. counter-increment: list-9;
  181. }
  182. .ql-editor ol li.ql-indent-9:before {
  183. content: counter(list-9, decimal) '. ';
  184. }
  185. .ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  186. padding-left: 3em;
  187. }
  188. .ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  189. padding-left: 4.5em;
  190. }
  191. .ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  192. padding-right: 3em;
  193. }
  194. .ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  195. padding-right: 4.5em;
  196. }
  197. .ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  198. padding-left: 6em;
  199. }
  200. .ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  201. padding-left: 7.5em;
  202. }
  203. .ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  204. padding-right: 6em;
  205. }
  206. .ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  207. padding-right: 7.5em;
  208. }
  209. .ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  210. padding-left: 9em;
  211. }
  212. .ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  213. padding-left: 10.5em;
  214. }
  215. .ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  216. padding-right: 9em;
  217. }
  218. .ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  219. padding-right: 10.5em;
  220. }
  221. .ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  222. padding-left: 12em;
  223. }
  224. .ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  225. padding-left: 13.5em;
  226. }
  227. .ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  228. padding-right: 12em;
  229. }
  230. .ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  231. padding-right: 13.5em;
  232. }
  233. .ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  234. padding-left: 15em;
  235. }
  236. .ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  237. padding-left: 16.5em;
  238. }
  239. .ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  240. padding-right: 15em;
  241. }
  242. .ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  243. padding-right: 16.5em;
  244. }
  245. .ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  246. padding-left: 18em;
  247. }
  248. .ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  249. padding-left: 19.5em;
  250. }
  251. .ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  252. padding-right: 18em;
  253. }
  254. .ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  255. padding-right: 19.5em;
  256. }
  257. .ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  258. padding-left: 21em;
  259. }
  260. .ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  261. padding-left: 22.5em;
  262. }
  263. .ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  264. padding-right: 21em;
  265. }
  266. .ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  267. padding-right: 22.5em;
  268. }
  269. .ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  270. padding-left: 24em;
  271. }
  272. .ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  273. padding-left: 25.5em;
  274. }
  275. .ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  276. padding-right: 24em;
  277. }
  278. .ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  279. padding-right: 25.5em;
  280. }
  281. .ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  282. padding-left: 27em;
  283. }
  284. .ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  285. padding-left: 28.5em;
  286. }
  287. .ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  288. padding-right: 27em;
  289. }
  290. .ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  291. padding-right: 28.5em;
  292. }
  293. .ql-editor .ql-video {
  294. display: block;
  295. max-width: 100%;
  296. }
  297. .ql-editor .ql-video.ql-align-center {
  298. margin: 0 auto;
  299. }
  300. .ql-editor .ql-video.ql-align-right {
  301. margin: 0 0 0 auto;
  302. }
  303. .ql-editor .ql-bg-black {
  304. background-color: #000;
  305. }
  306. .ql-editor .ql-bg-red {
  307. background-color: #e60000;
  308. }
  309. .ql-editor .ql-bg-orange {
  310. background-color: #f90;
  311. }
  312. .ql-editor .ql-bg-yellow {
  313. background-color: #ff0;
  314. }
  315. .ql-editor .ql-bg-green {
  316. background-color: #008a00;
  317. }
  318. .ql-editor .ql-bg-blue {
  319. background-color: #06c;
  320. }
  321. .ql-editor .ql-bg-purple {
  322. background-color: #93f;
  323. }
  324. .ql-editor .ql-color-white {
  325. color: #fff;
  326. }
  327. .ql-editor .ql-color-red {
  328. color: #e60000;
  329. }
  330. .ql-editor .ql-color-orange {
  331. color: #f90;
  332. }
  333. .ql-editor .ql-color-yellow {
  334. color: #ff0;
  335. }
  336. .ql-editor .ql-color-green {
  337. color: #008a00;
  338. }
  339. .ql-editor .ql-color-blue {
  340. color: #06c;
  341. }
  342. .ql-editor .ql-color-purple {
  343. color: #93f;
  344. }
  345. .ql-editor .ql-font-serif {
  346. font-family: Georgia, Times New Roman, serif;
  347. }
  348. .ql-editor .ql-font-monospace {
  349. font-family: Monaco, Courier New, monospace;
  350. }
  351. .ql-editor .ql-size-small {
  352. font-size: 0.75em;
  353. }
  354. .ql-editor .ql-size-large {
  355. font-size: 1.5em;
  356. }
  357. .ql-editor .ql-size-huge {
  358. font-size: 2.5em;
  359. }
  360. .ql-editor .ql-direction-rtl {
  361. direction: rtl;
  362. text-align: inherit;
  363. }
  364. .ql-editor .ql-align-center {
  365. text-align: center;
  366. }
  367. .ql-editor .ql-align-justify {
  368. text-align: justify;
  369. }
  370. .ql-editor .ql-align-right {
  371. text-align: right;
  372. }
  373. .ql-editor.ql-blank::before {
  374. color: rgba(0, 0, 0, 0.6);
  375. content: attr(data-placeholder);
  376. font-style: italic;
  377. left: 15px;
  378. pointer-events: none;
  379. position: absolute;
  380. right: 15px;
  381. }
  382. .ql-bubble.ql-toolbar:after,
  383. .ql-bubble .ql-toolbar:after {
  384. clear: both;
  385. content: '';
  386. display: table;
  387. }
  388. .ql-bubble.ql-toolbar button,
  389. .ql-bubble .ql-toolbar button {
  390. background: none;
  391. border: none;
  392. cursor: pointer;
  393. display: inline-block;
  394. float: left;
  395. height: 24px;
  396. padding: 3px 5px;
  397. width: 28px;
  398. }
  399. .ql-bubble.ql-toolbar button svg,
  400. .ql-bubble .ql-toolbar button svg {
  401. float: left;
  402. height: 100%;
  403. }
  404. .ql-bubble.ql-toolbar button:active:hover,
  405. .ql-bubble .ql-toolbar button:active:hover {
  406. outline: none;
  407. }
  408. .ql-bubble.ql-toolbar input.ql-image[type=file],
  409. .ql-bubble .ql-toolbar input.ql-image[type=file] {
  410. display: none;
  411. }
  412. .ql-bubble.ql-toolbar button:hover,
  413. .ql-bubble .ql-toolbar button:hover,
  414. .ql-bubble.ql-toolbar button:focus,
  415. .ql-bubble .ql-toolbar button:focus,
  416. .ql-bubble.ql-toolbar button.ql-active,
  417. .ql-bubble .ql-toolbar button.ql-active,
  418. .ql-bubble.ql-toolbar .ql-picker-label:hover,
  419. .ql-bubble .ql-toolbar .ql-picker-label:hover,
  420. .ql-bubble.ql-toolbar .ql-picker-label.ql-active,
  421. .ql-bubble .ql-toolbar .ql-picker-label.ql-active,
  422. .ql-bubble.ql-toolbar .ql-picker-item:hover,
  423. .ql-bubble .ql-toolbar .ql-picker-item:hover,
  424. .ql-bubble.ql-toolbar .ql-picker-item.ql-selected,
  425. .ql-bubble .ql-toolbar .ql-picker-item.ql-selected {
  426. color: #fff;
  427. }
  428. .ql-bubble.ql-toolbar button:hover .ql-fill,
  429. .ql-bubble .ql-toolbar button:hover .ql-fill,
  430. .ql-bubble.ql-toolbar button:focus .ql-fill,
  431. .ql-bubble .ql-toolbar button:focus .ql-fill,
  432. .ql-bubble.ql-toolbar button.ql-active .ql-fill,
  433. .ql-bubble .ql-toolbar button.ql-active .ql-fill,
  434. .ql-bubble.ql-toolbar .ql-picker-label:hover .ql-fill,
  435. .ql-bubble .ql-toolbar .ql-picker-label:hover .ql-fill,
  436. .ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-fill,
  437. .ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-fill,
  438. .ql-bubble.ql-toolbar .ql-picker-item:hover .ql-fill,
  439. .ql-bubble .ql-toolbar .ql-picker-item:hover .ql-fill,
  440. .ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
  441. .ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
  442. .ql-bubble.ql-toolbar button:hover .ql-stroke.ql-fill,
  443. .ql-bubble .ql-toolbar button:hover .ql-stroke.ql-fill,
  444. .ql-bubble.ql-toolbar button:focus .ql-stroke.ql-fill,
  445. .ql-bubble .ql-toolbar button:focus .ql-stroke.ql-fill,
  446. .ql-bubble.ql-toolbar button.ql-active .ql-stroke.ql-fill,
  447. .ql-bubble .ql-toolbar button.ql-active .ql-stroke.ql-fill,
  448. .ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
  449. .ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
  450. .ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
  451. .ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
  452. .ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
  453. .ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
  454. .ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
  455. .ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  456. fill: #fff;
  457. }
  458. .ql-bubble.ql-toolbar button:hover .ql-stroke,
  459. .ql-bubble .ql-toolbar button:hover .ql-stroke,
  460. .ql-bubble.ql-toolbar button:focus .ql-stroke,
  461. .ql-bubble .ql-toolbar button:focus .ql-stroke,
  462. .ql-bubble.ql-toolbar button.ql-active .ql-stroke,
  463. .ql-bubble .ql-toolbar button.ql-active .ql-stroke,
  464. .ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke,
  465. .ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke,
  466. .ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
  467. .ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
  468. .ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke,
  469. .ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke,
  470. .ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
  471. .ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
  472. .ql-bubble.ql-toolbar button:hover .ql-stroke-miter,
  473. .ql-bubble .ql-toolbar button:hover .ql-stroke-miter,
  474. .ql-bubble.ql-toolbar button:focus .ql-stroke-miter,
  475. .ql-bubble .ql-toolbar button:focus .ql-stroke-miter,
  476. .ql-bubble.ql-toolbar button.ql-active .ql-stroke-miter,
  477. .ql-bubble .ql-toolbar button.ql-active .ql-stroke-miter,
  478. .ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
  479. .ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
  480. .ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
  481. .ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
  482. .ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
  483. .ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
  484. .ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
  485. .ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  486. stroke: #fff;
  487. }
  488. @media (pointer: coarse) {
  489. .ql-bubble.ql-toolbar button:hover:not(.ql-active),
  490. .ql-bubble .ql-toolbar button:hover:not(.ql-active) {
  491. color: #ccc;
  492. }
  493. .ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-fill,
  494. .ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-fill,
  495. .ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,
  496. .ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
  497. fill: #ccc;
  498. }
  499. .ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  500. .ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  501. .ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,
  502. .ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
  503. stroke: #ccc;
  504. }
  505. }
  506. .ql-bubble {
  507. box-sizing: border-box;
  508. }
  509. .ql-bubble * {
  510. box-sizing: border-box;
  511. }
  512. .ql-bubble .ql-hidden {
  513. display: none;
  514. }
  515. .ql-bubble .ql-out-bottom,
  516. .ql-bubble .ql-out-top {
  517. visibility: hidden;
  518. }
  519. .ql-bubble .ql-tooltip {
  520. position: absolute;
  521. transform: translateY(10px);
  522. }
  523. .ql-bubble .ql-tooltip a {
  524. cursor: pointer;
  525. text-decoration: none;
  526. }
  527. .ql-bubble .ql-tooltip.ql-flip {
  528. transform: translateY(-10px);
  529. }
  530. .ql-bubble .ql-formats {
  531. display: inline-block;
  532. vertical-align: middle;
  533. }
  534. .ql-bubble .ql-formats:after {
  535. clear: both;
  536. content: '';
  537. display: table;
  538. }
  539. .ql-bubble .ql-stroke {
  540. fill: none;
  541. stroke: #ccc;
  542. stroke-linecap: round;
  543. stroke-linejoin: round;
  544. stroke-width: 2;
  545. }
  546. .ql-bubble .ql-stroke-miter {
  547. fill: none;
  548. stroke: #ccc;
  549. stroke-miterlimit: 10;
  550. stroke-width: 2;
  551. }
  552. .ql-bubble .ql-fill,
  553. .ql-bubble .ql-stroke.ql-fill {
  554. fill: #ccc;
  555. }
  556. .ql-bubble .ql-empty {
  557. fill: none;
  558. }
  559. .ql-bubble .ql-even {
  560. fill-rule: evenodd;
  561. }
  562. .ql-bubble .ql-thin,
  563. .ql-bubble .ql-stroke.ql-thin {
  564. stroke-width: 1;
  565. }
  566. .ql-bubble .ql-transparent {
  567. opacity: 0.4;
  568. }
  569. .ql-bubble .ql-direction svg:last-child {
  570. display: none;
  571. }
  572. .ql-bubble .ql-direction.ql-active svg:last-child {
  573. display: inline;
  574. }
  575. .ql-bubble .ql-direction.ql-active svg:first-child {
  576. display: none;
  577. }
  578. .ql-bubble .ql-editor h1 {
  579. font-size: 2em;
  580. }
  581. .ql-bubble .ql-editor h2 {
  582. font-size: 1.5em;
  583. }
  584. .ql-bubble .ql-editor h3 {
  585. font-size: 1.17em;
  586. }
  587. .ql-bubble .ql-editor h4 {
  588. font-size: 1em;
  589. }
  590. .ql-bubble .ql-editor h5 {
  591. font-size: 0.83em;
  592. }
  593. .ql-bubble .ql-editor h6 {
  594. font-size: 0.67em;
  595. }
  596. .ql-bubble .ql-editor a {
  597. text-decoration: underline;
  598. }
  599. .ql-bubble .ql-editor blockquote {
  600. border-left: 4px solid #ccc;
  601. margin-bottom: 5px;
  602. margin-top: 5px;
  603. padding-left: 16px;
  604. }
  605. .ql-bubble .ql-editor code,
  606. .ql-bubble .ql-editor pre {
  607. background-color: #f0f0f0;
  608. border-radius: 3px;
  609. }
  610. .ql-bubble .ql-editor pre {
  611. white-space: pre-wrap;
  612. margin-bottom: 5px;
  613. margin-top: 5px;
  614. padding: 5px 10px;
  615. }
  616. .ql-bubble .ql-editor code {
  617. font-size: 85%;
  618. padding: 2px 4px;
  619. }
  620. .ql-bubble .ql-editor pre.ql-syntax {
  621. background-color: #23241f;
  622. color: #f8f8f2;
  623. overflow: visible;
  624. }
  625. .ql-bubble .ql-editor img {
  626. max-width: 100%;
  627. }
  628. .ql-bubble .ql-picker {
  629. color: #ccc;
  630. display: inline-block;
  631. float: left;
  632. font-size: 14px;
  633. font-weight: 500;
  634. height: 24px;
  635. position: relative;
  636. vertical-align: middle;
  637. }
  638. .ql-bubble .ql-picker-label {
  639. cursor: pointer;
  640. display: inline-block;
  641. height: 100%;
  642. padding-left: 8px;
  643. padding-right: 2px;
  644. position: relative;
  645. width: 100%;
  646. }
  647. .ql-bubble .ql-picker-label::before {
  648. display: inline-block;
  649. line-height: 22px;
  650. }
  651. .ql-bubble .ql-picker-options {
  652. background-color: #444;
  653. display: none;
  654. min-width: 100%;
  655. padding: 4px 8px;
  656. position: absolute;
  657. white-space: nowrap;
  658. }
  659. .ql-bubble .ql-picker-options .ql-picker-item {
  660. cursor: pointer;
  661. display: block;
  662. padding-bottom: 5px;
  663. padding-top: 5px;
  664. }
  665. .ql-bubble .ql-picker.ql-expanded .ql-picker-label {
  666. color: #777;
  667. z-index: 2;
  668. }
  669. .ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  670. fill: #777;
  671. }
  672. .ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  673. stroke: #777;
  674. }
  675. .ql-bubble .ql-picker.ql-expanded .ql-picker-options {
  676. display: block;
  677. margin-top: -1px;
  678. top: 100%;
  679. z-index: 1;
  680. }
  681. .ql-bubble .ql-color-picker,
  682. .ql-bubble .ql-icon-picker {
  683. width: 28px;
  684. }
  685. .ql-bubble .ql-color-picker .ql-picker-label,
  686. .ql-bubble .ql-icon-picker .ql-picker-label {
  687. padding: 2px 4px;
  688. }
  689. .ql-bubble .ql-color-picker .ql-picker-label svg,
  690. .ql-bubble .ql-icon-picker .ql-picker-label svg {
  691. right: 4px;
  692. }
  693. .ql-bubble .ql-icon-picker .ql-picker-options {
  694. padding: 4px 0px;
  695. }
  696. .ql-bubble .ql-icon-picker .ql-picker-item {
  697. height: 24px;
  698. width: 24px;
  699. padding: 2px 4px;
  700. }
  701. .ql-bubble .ql-color-picker .ql-picker-options {
  702. padding: 3px 5px;
  703. width: 152px;
  704. }
  705. .ql-bubble .ql-color-picker .ql-picker-item {
  706. border: 1px solid transparent;
  707. float: left;
  708. height: 16px;
  709. margin: 2px;
  710. padding: 0px;
  711. width: 16px;
  712. }
  713. .ql-bubble .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  714. position: absolute;
  715. margin-top: -9px;
  716. right: 0;
  717. top: 50%;
  718. width: 18px;
  719. }
  720. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,
  721. .ql-bubble .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,
  722. .ql-bubble .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,
  723. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,
  724. .ql-bubble .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,
  725. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {
  726. content: attr(data-label);
  727. }
  728. .ql-bubble .ql-picker.ql-header {
  729. width: 98px;
  730. }
  731. .ql-bubble .ql-picker.ql-header .ql-picker-label::before,
  732. .ql-bubble .ql-picker.ql-header .ql-picker-item::before {
  733. content: 'Normal';
  734. }
  735. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
  736. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  737. content: 'Heading 1';
  738. }
  739. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
  740. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  741. content: 'Heading 2';
  742. }
  743. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
  744. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  745. content: 'Heading 3';
  746. }
  747. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
  748. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  749. content: 'Heading 4';
  750. }
  751. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
  752. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  753. content: 'Heading 5';
  754. }
  755. .ql-bubble .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
  756. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  757. content: 'Heading 6';
  758. }
  759. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  760. font-size: 2em;
  761. }
  762. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  763. font-size: 1.5em;
  764. }
  765. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  766. font-size: 1.17em;
  767. }
  768. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  769. font-size: 1em;
  770. }
  771. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  772. font-size: 0.83em;
  773. }
  774. .ql-bubble .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  775. font-size: 0.67em;
  776. }
  777. .ql-bubble .ql-picker.ql-font {
  778. width: 108px;
  779. }
  780. .ql-bubble .ql-picker.ql-font .ql-picker-label::before,
  781. .ql-bubble .ql-picker.ql-font .ql-picker-item::before {
  782. content: 'Sans Serif';
  783. }
  784. .ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
  785. .ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  786. content: 'Serif';
  787. }
  788. .ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
  789. .ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  790. content: 'Monospace';
  791. }
  792. .ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  793. font-family: Georgia, Times New Roman, serif;
  794. }
  795. .ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  796. font-family: Monaco, Courier New, monospace;
  797. }
  798. .ql-bubble .ql-picker.ql-size {
  799. width: 98px;
  800. }
  801. .ql-bubble .ql-picker.ql-size .ql-picker-label::before,
  802. .ql-bubble .ql-picker.ql-size .ql-picker-item::before {
  803. content: 'Normal';
  804. }
  805. .ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
  806. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  807. content: 'Small';
  808. }
  809. .ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
  810. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  811. content: 'Large';
  812. }
  813. .ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
  814. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  815. content: 'Huge';
  816. }
  817. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  818. font-size: 10px;
  819. }
  820. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  821. font-size: 18px;
  822. }
  823. .ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  824. font-size: 32px;
  825. }
  826. .ql-bubble .ql-color-picker.ql-background .ql-picker-item {
  827. background-color: #fff;
  828. }
  829. .ql-bubble .ql-color-picker.ql-color .ql-picker-item {
  830. background-color: #000;
  831. }
  832. .ql-bubble .ql-toolbar .ql-formats {
  833. margin: 8px 12px 8px 0px;
  834. }
  835. .ql-bubble .ql-toolbar .ql-formats:first-child {
  836. margin-left: 12px;
  837. }
  838. .ql-bubble .ql-color-picker svg {
  839. margin: 1px;
  840. }
  841. .ql-bubble .ql-color-picker .ql-picker-item.ql-selected,
  842. .ql-bubble .ql-color-picker .ql-picker-item:hover {
  843. border-color: #fff;
  844. }
  845. .ql-bubble .ql-tooltip {
  846. background-color: #444;
  847. border-radius: 25px;
  848. color: #fff;
  849. }
  850. .ql-bubble .ql-tooltip-arrow {
  851. border-left: 6px solid transparent;
  852. border-right: 6px solid transparent;
  853. content: " ";
  854. display: block;
  855. left: 50%;
  856. margin-left: -6px;
  857. position: absolute;
  858. }
  859. .ql-bubble .ql-tooltip:not(.ql-flip) .ql-tooltip-arrow {
  860. border-bottom: 6px solid #444;
  861. top: -6px;
  862. }
  863. .ql-bubble .ql-tooltip.ql-flip .ql-tooltip-arrow {
  864. border-top: 6px solid #444;
  865. bottom: -6px;
  866. }
  867. .ql-bubble .ql-tooltip.ql-editing .ql-tooltip-editor {
  868. display: block;
  869. }
  870. .ql-bubble .ql-tooltip.ql-editing .ql-formats {
  871. visibility: hidden;
  872. }
  873. .ql-bubble .ql-tooltip-editor {
  874. display: none;
  875. }
  876. .ql-bubble .ql-tooltip-editor input[type=text] {
  877. background: transparent;
  878. border: none;
  879. color: #fff;
  880. font-size: 13px;
  881. height: 100%;
  882. outline: none;
  883. padding: 10px 20px;
  884. position: absolute;
  885. width: 100%;
  886. }
  887. .ql-bubble .ql-tooltip-editor a {
  888. top: 10px;
  889. position: absolute;
  890. right: 20px;
  891. }
  892. .ql-bubble .ql-tooltip-editor a:before {
  893. color: #ccc;
  894. content: "\D7";
  895. font-size: 16px;
  896. font-weight: bold;
  897. }
  898. .ql-container.ql-bubble:not(.ql-disabled) a {
  899. position: relative;
  900. white-space: nowrap;
  901. }
  902. .ql-container.ql-bubble:not(.ql-disabled) a::before {
  903. background-color: #444;
  904. border-radius: 15px;
  905. top: -5px;
  906. font-size: 12px;
  907. color: #fff;
  908. content: attr(href);
  909. font-weight: normal;
  910. overflow: hidden;
  911. padding: 5px 15px;
  912. text-decoration: none;
  913. z-index: 1;
  914. }
  915. .ql-container.ql-bubble:not(.ql-disabled) a::after {
  916. border-top: 6px solid #444;
  917. border-left: 6px solid transparent;
  918. border-right: 6px solid transparent;
  919. top: 0;
  920. content: " ";
  921. height: 0;
  922. width: 0;
  923. }
  924. .ql-container.ql-bubble:not(.ql-disabled) a::before,
  925. .ql-container.ql-bubble:not(.ql-disabled) a::after {
  926. left: 0;
  927. margin-left: 50%;
  928. position: absolute;
  929. transform: translate(-50%, -100%);
  930. transition: visibility 0s ease 200ms;
  931. visibility: hidden;
  932. }
  933. .ql-container.ql-bubble:not(.ql-disabled) a:hover::before,
  934. .ql-container.ql-bubble:not(.ql-disabled) a:hover::after {
  935. visibility: visible;
  936. }