manifest.css 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927
  1. @font-face {
  2. font-family: 'Roboto-Light';
  3. src: url("/fonts/Roboto-Light.ttf") format("truetype"); }
  4. @font-face {
  5. font-family: 'Roboto';
  6. src: url("/fonts/Roboto-Regular.ttf") format("truetype"); }
  7. @font-face {
  8. font-family: 'Roboto';
  9. src: url("/fonts/Roboto-Italic.ttf") format("truetype");
  10. font-style: italic; }
  11. @font-face {
  12. font-family: 'Roboto';
  13. src: url("/fonts/Roboto-Bold.ttf") format("truetype");
  14. font-weight: bold; }
  15. * {
  16. box-sizing: border-box; }
  17. html {
  18. height: 100%; }
  19. body {
  20. position: relative;
  21. height: 100%;
  22. width: 100%;
  23. margin: 0;
  24. font-family: Roboto, "Helvetica Neue", Arial, Helvetica, sans-serif;
  25. font-size: 14px; }
  26. .clearfix:before,
  27. .clearfix:after {
  28. display: table;
  29. content: " "; }
  30. .clearfix:after {
  31. clear: both; }
  32. .hide {
  33. display: none; }
  34. #header h1 {
  35. margin: 0;
  36. line-height: 64px;
  37. padding-left: 20px;
  38. font-size: 22px;
  39. font-weight: normal; }
  40. .conversation-header button,
  41. .title-bar button {
  42. width: 24px;
  43. height: 24px;
  44. line-height: 24px;
  45. padding: 0;
  46. border: 0;
  47. outline: 0; }
  48. button {
  49. cursor: pointer;
  50. font-size: inherit; }
  51. button.grey {
  52. border-radius: 5px;
  53. border: solid 1px #ccc;
  54. cursor: pointer;
  55. margin: 1em auto;
  56. padding: 1em;
  57. font-family: inherit;
  58. color: #616161;
  59. background: #f3f3f3;
  60. box-shadow: 0 0 10px -5px rgba(97, 97, 97, 0.5); }
  61. button.grey:hover {
  62. box-shadow: 0 0 10px -3px rgba(97, 97, 97, 0.7); }
  63. button.grey[disabled=disabled], button.grey[disabled=disabled]:hover {
  64. opacity: 0.5;
  65. box-shadow: none;
  66. cursor: default; }
  67. a {
  68. color: #2090ea; }
  69. button.back {
  70. -webkit-mask: url("/images/back.svg") no-repeat center;
  71. -webkit-mask-size: 100%;
  72. background-color: rgba(0, 0, 0, 0.5); }
  73. button.back:focus, button.back:hover {
  74. -webkit-mask: url("/images/back.svg") no-repeat center;
  75. -webkit-mask-size: 100%;
  76. background-color: black; }
  77. button.clock {
  78. -webkit-mask: url("/images/clock.svg") no-repeat center;
  79. -webkit-mask-size: 100%;
  80. background-color: rgba(0, 0, 0, 0.5); }
  81. button.clock:focus, button.clock:hover {
  82. -webkit-mask: url("/images/clock.svg") no-repeat center;
  83. -webkit-mask-size: 100%;
  84. background-color: black; }
  85. button.hamburger {
  86. -webkit-mask: url("/images/menu.svg") no-repeat center;
  87. -webkit-mask-size: 100%;
  88. background-color: rgba(0, 0, 0, 0.5); }
  89. button.hamburger:focus, button.hamburger:hover {
  90. -webkit-mask: url("/images/menu.svg") no-repeat center;
  91. -webkit-mask-size: 100%;
  92. background-color: black; }
  93. ::-webkit-scrollbar {
  94. width: 10px; }
  95. ::-webkit-scrollbar-thumb {
  96. background: rgba(0, 0, 0, 0.15);
  97. border-radius: 5px; }
  98. ::-webkit-scrollbar-thumb:hover {
  99. background: rgba(0, 0, 0, 0.25); }
  100. .header-buttons {
  101. height: 0; }
  102. .header-buttons.left {
  103. float: left;
  104. padding-left: 10px; }
  105. .header-buttons.right {
  106. float: right;
  107. padding-right: 10px; }
  108. .header-buttons .vertical-align {
  109. height: 64px;
  110. vertical-align: middle;
  111. display: table-cell; }
  112. .conversation-header .timer-menu {
  113. margin-right: 10px; }
  114. .conversation-header .timer-menu:before {
  115. content: attr(data-time);
  116. display: inline-block;
  117. position: absolute;
  118. bottom: -10px;
  119. height: 10px;
  120. width: 100%;
  121. text-align: center;
  122. font-size: 8px;
  123. font-weight: bold; }
  124. .menu {
  125. position: relative;
  126. float: right; }
  127. .menu .hamburger {
  128. width: 24px;
  129. height: 24px;
  130. vertical-align: middle; }
  131. .menu .menu-list {
  132. display: none;
  133. position: absolute;
  134. color: #454545;
  135. z-index: 50;
  136. text-align: initial;
  137. top: 100%;
  138. right: 0;
  139. margin: 0;
  140. padding: 0;
  141. background-color: white;
  142. box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2); }
  143. .menu .menu-list li {
  144. display: block;
  145. white-space: nowrap;
  146. cursor: pointer;
  147. padding: 5px 15px 5px 10px; }
  148. .menu .menu-list li:hover {
  149. background-color: #f3f3f3; }
  150. .file-input {
  151. position: relative; }
  152. .file-input .choose-file {
  153. cursor: pointer;
  154. padding-left: 10px; }
  155. .file-input .paperclip {
  156. width: 36px;
  157. height: 100%;
  158. padding: 5px 0 0;
  159. opacity: 0.5;
  160. border: none;
  161. background: transparent; }
  162. .file-input .paperclip:before {
  163. content: '';
  164. display: inline-block;
  165. width: 24px;
  166. height: 24px;
  167. -webkit-mask: url("/images/paperclip.svg") no-repeat center;
  168. -webkit-mask-size: 100%;
  169. background-color: #616161;
  170. transform: rotateZ(-45deg); }
  171. .file-input .paperclip:focus, .file-input .paperclip:hover {
  172. opacity: 1.0; }
  173. .file-input input[type=file] {
  174. display: none;
  175. position: absolute;
  176. width: 100%;
  177. height: 100%;
  178. opacity: 0;
  179. top: 0;
  180. left: 0;
  181. cursor: pointer;
  182. z-index: 1; }
  183. .dropoff {
  184. outline: solid 1px #2090ea; }
  185. .avatar {
  186. display: inline-block;
  187. height: 44px;
  188. width: 44px;
  189. border-radius: 50%;
  190. background-size: cover;
  191. vertical-align: middle;
  192. text-align: center;
  193. line-height: 44px;
  194. overflow-x: hidden;
  195. text-overflow: ellipsis;
  196. color: white;
  197. font-size: 18px; }
  198. .avatar.red {
  199. background-color: #EF5350; }
  200. .avatar.pink {
  201. background-color: #EC407A; }
  202. .avatar.purple {
  203. background-color: #AB47BC; }
  204. .avatar.deep_purple {
  205. background-color: #7E57C2; }
  206. .avatar.indigo {
  207. background-color: #5C6BC0; }
  208. .avatar.blue {
  209. background-color: #2196F3; }
  210. .avatar.light_blue {
  211. background-color: #03A9F4; }
  212. .avatar.cyan {
  213. background-color: #00BCD4; }
  214. .avatar.teal {
  215. background-color: #009688; }
  216. .avatar.green {
  217. background-color: #4CAF50; }
  218. .avatar.light_green {
  219. background-color: #7CB342; }
  220. .avatar.orange {
  221. background-color: #FF9800; }
  222. .avatar.deep_orange {
  223. background-color: #FF5722; }
  224. .avatar.amber {
  225. background-color: #FFB300; }
  226. .avatar.blue_grey {
  227. background-color: #607D8B; }
  228. .avatar.grey {
  229. background-color: #999999; }
  230. .avatar.default {
  231. background-color: #2090ea; }
  232. .group-info-input {
  233. background: white; }
  234. .group-info-input .group-avatar {
  235. display: inline-block;
  236. padding: 2px 0px 0px 2px; }
  237. .group-info-input .file-input .thumbnail, .group-info-input .thumbnail .avatar,
  238. .group-info-input img {
  239. height: 54px;
  240. width: 54px;
  241. border-radius: 27px; }
  242. .group-info-input .thumbnail:after {
  243. content: '';
  244. position: absolute;
  245. height: 0;
  246. width: 0;
  247. bottom: 0;
  248. right: 0;
  249. border-bottom: 10px solid #616161;
  250. border-left: 10px solid transparent; }
  251. .group-info-input input.name {
  252. padding: 0.5em;
  253. border: solid 1px #ccc;
  254. border-width: 0 0 1px 0;
  255. width: calc(100% - 84px); }
  256. .group-member-list .members .contact,
  257. .new-group-update .members .contact {
  258. box-shadow: none;
  259. border-bottom: 1px solid #eee; }
  260. .group-member-list .members .contact .last-message, .group-member-list .members .contact .last-timestamp,
  261. .new-group-update .members .contact .last-message,
  262. .new-group-update .members .contact .last-timestamp {
  263. display: none; }
  264. .conversation-list-item {
  265. cursor: pointer; }
  266. .conversation-list-item:hover {
  267. background: #f8f8f8; }
  268. .conversation-list-item .number {
  269. display: none; }
  270. .conversation-list-item .unread-count {
  271. float: right;
  272. margin: 3px 10px 0 20px;
  273. display: inline-block;
  274. padding: 0 3px;
  275. min-width: 21px;
  276. height: 21px;
  277. line-height: 21px;
  278. font-size: 12px;
  279. font-weight: bold;
  280. text-align: center;
  281. border-radius: 5px;
  282. background-color: #2090ea;
  283. color: white;
  284. border: solid 1px rgba(255, 255, 255, 0.6); }
  285. .inactive .contact.selected {
  286. padding-left: 8px;
  287. border-left: 4px solid #2090ea; }
  288. .contact {
  289. position: relative;
  290. padding: 12px;
  291. white-space: nowrap;
  292. overflow: hidden;
  293. background: rgba(255, 255, 255, 0.6);
  294. margin: 1px; }
  295. .contact.selected {
  296. background: #ecf3fc; }
  297. .contact:first-child {
  298. margin-top: 0; }
  299. .contact:last-child::after {
  300. display: none; }
  301. .contact-details {
  302. vertical-align: middle;
  303. display: inline-block;
  304. margin: 0 0 0 8px;
  305. width: calc(100% - 44px - 8px - 0.28571em);
  306. text-align: left; }
  307. .contact-details p {
  308. overflow-x: hidden;
  309. text-overflow: ellipsis; }
  310. .contact-details .name {
  311. display: block;
  312. margin: 0;
  313. font-size: 1em;
  314. text-overflow: ellipsis;
  315. overflow-x: hidden;
  316. text-align: left; }
  317. .contact-details .number {
  318. color: #616161;
  319. font-size: 0.92857em; }
  320. .recipients-input {
  321. position: relative; }
  322. .recipients-input .recipients-container {
  323. background-color: white;
  324. padding: 2px;
  325. border-bottom: 1px solid #f2f2f2;
  326. line-height: 24px; }
  327. .recipients-input .recipient {
  328. display: inline-block;
  329. margin: 0 2px 2px 0;
  330. padding: 0 5px;
  331. border-radius: 10px;
  332. background-color: #2090ea;
  333. color: white; }
  334. .recipients-input .recipient.error {
  335. background-color: #f00; }
  336. .recipients-input .recipient .remove {
  337. margin-left: 5px;
  338. padding: 0 2px; }
  339. .recipients-input .results {
  340. position: absolute;
  341. z-index: 10;
  342. margin: 0 0 0 20px;
  343. width: calc(100% - 30px);
  344. max-width: 300px;
  345. max-height: 165px;
  346. overflow-y: auto;
  347. box-shadow: 0px 0px 1px rgba(170, 170, 170, 0.8); }
  348. .recipients-input .results .contact {
  349. cursor: pointer; }
  350. .attachment-preview {
  351. display: inline-block;
  352. position: relative; }
  353. .attachment-preview img {
  354. max-width: 100%; }
  355. .new-conversation .recipients-input .recipients::before {
  356. content: 'To: '; }
  357. .new-group-update .recipients-input .recipients::before {
  358. content: 'Add: '; }
  359. .loading {
  360. position: relative; }
  361. .loading::before {
  362. display: block;
  363. margin: 0px auto;
  364. content: " ";
  365. height: 16px;
  366. width: 16px;
  367. border-radius: 32px;
  368. border: solid 3px;
  369. border-color: #a2d2f4 #a2d2f4 #f3f3f3 #f3f3f3 !important;
  370. animation: rotate 1s linear infinite; }
  371. @keyframes rotate {
  372. to {
  373. transform: rotate(360deg); } }
  374. .x {
  375. display: inline-block;
  376. float: right;
  377. cursor: pointer;
  378. border-radius: 50%;
  379. width: 22px;
  380. height: 22px;
  381. padding: 3px;
  382. background: #616161; }
  383. .x:before {
  384. content: '';
  385. display: block;
  386. width: 100%;
  387. height: 100%;
  388. -webkit-mask: url("/images/x.svg") no-repeat center;
  389. -webkit-mask-size: 100%;
  390. background-color: white; }
  391. input[type=text]:active, input[type=text]:focus, input[type=search]:active, input[type=search]:focus, textarea:active, textarea:focus {
  392. outline: 1px solid #2090ea; }
  393. .expiredAlert {
  394. background: #F3F3A7;
  395. padding: 10px;
  396. line-height: 36px; }
  397. .expiredAlert button {
  398. float: right;
  399. border: none;
  400. border-radius: 5px;
  401. color: white;
  402. font-weight: bold;
  403. line-height: 36px;
  404. padding: 0 20px;
  405. background: #2090ea;
  406. margin-left: 20px; }
  407. .inbox:focus {
  408. outline: none; }
  409. @keyframes progress-bar-stripes {
  410. from {
  411. background-position: 40px 0; }
  412. to {
  413. background-position: 0 0; } }
  414. .progress-bar-striped {
  415. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent);
  416. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent);
  417. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent);
  418. -webkit-background-size: 40px 40px;
  419. background-size: 40px 40px; }
  420. .progress-bar-striped {
  421. background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent);
  422. background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent);
  423. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.75) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.75) 75%, transparent 75%, transparent); }
  424. .progress-bar.active {
  425. -webkit-animation: progress-bar-stripes 2s linear infinite;
  426. -o-animation: progress-bar-stripes 2s linear infinite;
  427. animation: progress-bar-stripes 2s linear infinite; }
  428. .bar-container {
  429. background: #a2d2f4; }
  430. .bar-container .progress-bar {
  431. height: 100%; }
  432. .modal {
  433. position: absolute;
  434. top: 0;
  435. left: 0;
  436. height: 100%;
  437. width: 100%;
  438. background-color: rgba(0, 0, 0, 0.3);
  439. padding: 0 20px;
  440. z-index: 100;
  441. overflow-y: auto; }
  442. .modal .content {
  443. position: relative;
  444. max-width: 350px;
  445. margin: 100px auto;
  446. padding: 1em;
  447. background: white;
  448. border-radius: 5px;
  449. overflow: auto;
  450. box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2); }
  451. .debug-log.modal {
  452. padding: 50px; }
  453. .debug-log.modal .content {
  454. margin: 0;
  455. max-width: 100%;
  456. width: 100%;
  457. height: 100%;
  458. display: flex;
  459. flex-direction: column; }
  460. .debug-log.modal .content textarea {
  461. flex-grow: 1;
  462. width: 100%;
  463. resize: none;
  464. min-height: 100px; }
  465. .debug-log .result {
  466. text-align: center; }
  467. .debug-log .result .input-group {
  468. display: inline-block;
  469. width: 100%;
  470. max-width: 472px; }
  471. .debug-log .result .open {
  472. float: left;
  473. display: inline-block;
  474. width: 72px;
  475. height: 36px;
  476. padding: 5px 23px;
  477. cursor: pointer;
  478. border: solid 1px #ccc;
  479. border-radius: 0 5px 5px 0;
  480. background: #f3f3f3; }
  481. .debug-log .result .open:before {
  482. content: '';
  483. display: block;
  484. width: 24px;
  485. height: 24px;
  486. -webkit-mask: url("/images/open_link.svg") no-repeat center;
  487. -webkit-mask-size: 100%;
  488. background-color: rgba(0, 0, 0, 0.5); }
  489. .debug-log .result .open:before:focus, .debug-log .result .open:before:hover {
  490. -webkit-mask: url("/images/open_link.svg") no-repeat center;
  491. -webkit-mask-size: 100%;
  492. background-color: black; }
  493. .debug-log .result .link {
  494. border-radius: 5px 0 0 5px;
  495. float: left;
  496. width: calc(100% - 72px);
  497. max-width: 400px;
  498. height: 36px;
  499. padding: 0 10px;
  500. outline-offset: -4px;
  501. border: solid 1px #ccc;
  502. border-right: none; }
  503. .lightbox.modal {
  504. padding: 30px;
  505. text-align: center;
  506. background-color: rgba(0, 0, 0, 0.8); }
  507. .lightbox.modal .content {
  508. margin: 0;
  509. padding: 0 50px;
  510. max-width: 100%;
  511. height: 100%;
  512. box-shadow: none;
  513. background: transparent; }
  514. .lightbox.modal .content img {
  515. display: block;
  516. margin: auto;
  517. max-width: 100%;
  518. max-height: 100%; }
  519. .lightbox.modal .controls {
  520. position: absolute;
  521. top: 0;
  522. right: 0;
  523. width: 50px; }
  524. .lightbox.modal a {
  525. background: transparent;
  526. width: 50px;
  527. height: 50px;
  528. margin-bottom: 10px;
  529. display: inline-block;
  530. cursor: pointer;
  531. border-radius: 50%;
  532. padding: 3px; }
  533. .lightbox.modal a:before {
  534. content: '';
  535. display: block;
  536. width: 100%;
  537. height: 100%; }
  538. .lightbox.modal a:hover {
  539. background: #616161; }
  540. .lightbox.modal .save:before {
  541. -webkit-mask: url("/images/save.svg") no-repeat center;
  542. -webkit-mask-size: 100%;
  543. background-color: white; }
  544. .capture-audio {
  545. text-align: center; }
  546. .capture-audio .microphone {
  547. height: 36px;
  548. width: 36px;
  549. text-align: center;
  550. opacity: 0.5;
  551. background: transparent;
  552. padding: 0;
  553. border: none; }
  554. .capture-audio .microphone:focus, .capture-audio .microphone:hover {
  555. opacity: 1.0; }
  556. .capture-audio .microphone:before {
  557. content: '';
  558. display: inline-block;
  559. height: 24px;
  560. width: 24px;
  561. -webkit-mask: url("/images/microphone.svg") no-repeat center;
  562. -webkit-mask-size: 100%;
  563. background-color: #616161; }
  564. .recorder {
  565. background: #f3f3f3; }
  566. .recorder button {
  567. float: right;
  568. width: 36px;
  569. height: 36px;
  570. border-radius: 36px;
  571. margin-left: 5px;
  572. opacity: 0.5;
  573. text-align: center;
  574. padding: 0; }
  575. .recorder button:focus, .recorder button:hover {
  576. opacity: 1.0; }
  577. .recorder button .icon {
  578. display: inline-block;
  579. width: 24px;
  580. height: 24px; }
  581. .recorder .finish {
  582. background: #9ae99a;
  583. border: 1px solid #47D647; }
  584. .recorder .finish .icon {
  585. -webkit-mask: url("/images/check.svg") no-repeat center;
  586. -webkit-mask-size: 100%;
  587. background-color: #47D647; }
  588. .recorder .close {
  589. background: #fbe3e3;
  590. border: 1px solid #EF8989; }
  591. .recorder .close .icon {
  592. -webkit-mask: url("/images/x.svg") no-repeat center;
  593. -webkit-mask-size: 100%;
  594. background-color: #EF8989; }
  595. .recorder .time {
  596. color: #616161;
  597. float: right;
  598. line-height: 36px;
  599. padding: 0 10px; }
  600. @keyframes pulse {
  601. 0% {
  602. opacity: 0; }
  603. 50% {
  604. opacity: 1; }
  605. 100% {
  606. opacity: 0; } }
  607. .recorder .time::before {
  608. content: '';
  609. display: inline-block;
  610. border-radius: 10px;
  611. width: 10px;
  612. height: 10px;
  613. background: #f00;
  614. margin-right: 10px;
  615. opacity: 0;
  616. animation: pulse 2s infinite; }
  617. span.emoji {
  618. display: -moz-inline-box;
  619. -moz-box-orient: vertical;
  620. display: inline-block;
  621. vertical-align: baseline;
  622. *vertical-align: auto;
  623. *zoom: 1;
  624. *display: inline;
  625. width: 1em;
  626. height: 1em;
  627. background-size: 1em;
  628. background-repeat: no-repeat;
  629. text-indent: -9999px;
  630. background-position: 50%, 50%;
  631. background-size: contain; }
  632. span.emoji-sizer {
  633. line-height: 0.81em;
  634. font-size: 1em;
  635. margin: -2px 0; }
  636. span.emoji-outer {
  637. display: -moz-inline-box;
  638. display: inline-block;
  639. *display: inline;
  640. height: 1em;
  641. width: 1em; }
  642. span.emoji-inner {
  643. display: -moz-inline-box;
  644. display: inline-block;
  645. text-indent: -9999px;
  646. width: 100%;
  647. height: 100%;
  648. vertical-align: baseline;
  649. *vertical-align: auto;
  650. *zoom: 1; }
  651. img.emoji {
  652. width: 1em;
  653. height: 1em; }
  654. .settings.modal {
  655. padding: 50px; }
  656. .settings.modal .content {
  657. margin: 0 auto;
  658. width: 100%;
  659. max-width: 500px; }
  660. .settings hr {
  661. margin: 10px 0; }
  662. .settings .syncSettings button {
  663. float: right;
  664. line-height: 36px;
  665. padding: 0 20px;
  666. margin: 0 0 20px 20px; }
  667. .settings .syncSettings .synced_at {
  668. font-size: 0.92857em;
  669. color: #616161; }
  670. .settings .syncSettings .sync_failed {
  671. display: none;
  672. font-size: 0.92857em;
  673. color: red; }
  674. .conversation-stack,
  675. .new-conversation, .inbox, .gutter {
  676. height: 100%; }
  677. .expired .conversation-stack, .expired .gutter {
  678. height: calc(100% - 56px); }
  679. .scrollable {
  680. height: 100%;
  681. overflow: auto; }
  682. .gutter {
  683. color: #454545;
  684. float: left;
  685. width: 300px; }
  686. .gutter .content {
  687. background-color: #f3f3f3;
  688. height: calc(100% - 64px - 36px); }
  689. .gutter .conversations {
  690. overflow-y: scroll;
  691. height: 100%;
  692. width: 100%; }
  693. .socket-status {
  694. float: right;
  695. line-height: 24px; }
  696. .socket-status * {
  697. display: inline;
  698. padding-left: 20px;
  699. vertical-align: middle; }
  700. .socket-status .connecting .icon {
  701. background-color: #2090ea; }
  702. .socket-status .closing {
  703. background-color: #a2d2f4; }
  704. .socket-status .closed {
  705. background: url("/images/error_red.png") no-repeat left center; }
  706. .conversation-stack {
  707. padding-left: 300px; }
  708. .conversation-stack .conversation {
  709. display: none; }
  710. .conversation-stack .conversation:first-child {
  711. display: block; }
  712. .conversation-header {
  713. height: 64px;
  714. text-align: center;
  715. color: white;
  716. background-color: #999999;
  717. transition: background-color 0.5s;
  718. border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
  719. .conversation-header .avatar {
  720. margin-bottom: -30px;
  721. border: solid 2px white;
  722. z-index: 10;
  723. width: 48px;
  724. height: 48px;
  725. line-height: 44px;
  726. position: relative; }
  727. .inactive .conversation-header {
  728. background-color: #f3f3f3 !important;
  729. color: #454545;
  730. border-color: rgba(0, 0, 0, 0.05); }
  731. .tool-bar {
  732. position: relative; }
  733. .tool-bar .search-icon {
  734. content: '';
  735. display: inline-block;
  736. float: left;
  737. width: 24px;
  738. height: 100%;
  739. -webkit-mask: url("/images/search.svg") no-repeat left center;
  740. -webkit-mask-size: 100%;
  741. background-color: #ccc;
  742. position: absolute;
  743. left: 20px;
  744. top: 0; }
  745. input.search {
  746. border: none;
  747. padding: 0 10px 0 65px;
  748. margin: 0;
  749. outline: 0;
  750. height: 36px;
  751. line-height: 36px;
  752. width: 100%;
  753. border: solid 1px #f3f3f3;
  754. outline-offset: -2px;
  755. font-size: inherit;
  756. position: relative; }
  757. input.search.active {
  758. outline: solid 1px #2090ea; }
  759. input.search::-webkit-search-cancel-button {
  760. -webkit-appearance: none;
  761. display: block;
  762. width: 16px;
  763. height: 16px;
  764. background: url("/images/x.svg") no-repeat center;
  765. background-size: cover; }
  766. input.search::-webkit-search-cancel-button:hover {
  767. cursor: pointer; }
  768. .last-timestamp {
  769. font-size: smaller;
  770. float: right;
  771. margin: 0 10px;
  772. color: #616161; }
  773. .new-contact {
  774. display: none;
  775. cursor: pointer;
  776. opacity: 0.7; }
  777. .new-contact .contact-details .number {
  778. display: block;
  779. font-style: italic;
  780. padding-right: 8px; }
  781. .new-contact.valid {
  782. opacity: 1; }
  783. .index {
  784. color: #454545; }
  785. .index .gutter .new-group-update-form {
  786. display: none;
  787. padding: 0.5em; }
  788. .index .last-message {
  789. margin: 6px 0 0;
  790. font-size: 0.92857em;
  791. font-weight: 300; }
  792. .index .gutter .timestamp {
  793. position: absolute;
  794. top: 14px;
  795. right: 12px;
  796. color: #616161; }
  797. .conversations .unread .contact-details .name,
  798. .conversations .unread .contact-details .last-message,
  799. .conversations .unread .contact-details .last-timestamp {
  800. font-weight: bold; }
  801. .hint {
  802. margin: 10px;
  803. padding: 1em;
  804. border-radius: 5px;
  805. color: white;
  806. border: 2px dashed white; }
  807. .hint h3 {
  808. margin-top: 5px; }
  809. .hint.firstRun {
  810. position: absolute;
  811. top: 0;
  812. left: 302px;
  813. width: 225px; }
  814. .hint.firstRun:before, .hint.firstRun:after {
  815. content: ' ';
  816. display: block;
  817. position: absolute;
  818. top: 8px;
  819. left: -35px;
  820. width: 0;
  821. height: 0;
  822. border: solid 10px white;
  823. border-color: transparent white transparent transparent;
  824. transform: scaleX(2.5) scaleY(0.75); }
  825. .hint.firstRun:after {
  826. border-color: transparent #2eace0 transparent transparent;
  827. left: -30px; }
  828. .conversation.placeholder {
  829. text-align: center; }
  830. .conversation.placeholder .content {
  831. padding: 100px 36px; }
  832. .conversation.placeholder h3 {
  833. font-size: large; }
  834. .contact.placeholder {
  835. position: absolute;
  836. top: 50px;
  837. left: 0;
  838. background: transparent;
  839. color: white;
  840. border: 2px dashed white;
  841. overflow: visible; }
  842. .contact.placeholder p {
  843. color: white; }
  844. .contact.placeholder:before, .contact.placeholder:after {
  845. content: ' ';
  846. display: block;
  847. position: absolute;
  848. top: -35px;
  849. left: 15px;
  850. width: 0;
  851. height: 0;
  852. border: solid 10px white;
  853. border-color: transparent transparent white transparent;
  854. transform: scaleY(2.5) scaleX(0.75); }
  855. .contact.placeholder:after {
  856. border-color: transparent transparent #2eace0 transparent;
  857. top: -30px; }
  858. .conversation-title {
  859. display: block;
  860. line-height: 36px;
  861. white-space: nowrap;
  862. overflow: hidden;
  863. text-overflow: ellipsis;
  864. padding: 0 46px;
  865. -webkit-user-select: text; }
  866. .conversation-name + .conversation-number:before {
  867. content: "\00b7";
  868. font-weight: bold;
  869. padding: 0 5px 0 4px; }
  870. .conversation {
  871. background-color: #ffffff;
  872. height: 100%; }
  873. .conversation .panel {
  874. height: calc(100% - 64px);
  875. overflow-y: scroll; }
  876. .conversation .panel .container {
  877. padding-top: 20px;
  878. max-width: 950px;
  879. margin: 0 auto;
  880. padding: 20px; }
  881. .conversation .main.panel {
  882. display: flex;
  883. flex-direction: column;
  884. overflow: initial; }
  885. .conversation .main.panel .discussion-container {
  886. flex-grow: 1;
  887. position: relative;
  888. max-width: 100%;
  889. margin: 0; }
  890. .conversation .main.panel .discussion-container .bar-container {
  891. height: 5px; }
  892. .conversation .main.panel .discussion-container .message-list {
  893. position: absolute;
  894. top: 0;
  895. height: 100%;
  896. width: 100%;
  897. margin: 0;
  898. padding: 2em 20px 0;
  899. overflow-y: auto; }
  900. .key-verification label {
  901. display: block;
  902. margin: 10px 0;
  903. font-size: 0.92857em; }
  904. .key-verification .key, .key-verification .placeholder {
  905. padding: 0 1em;
  906. -webkit-user-select: text; }
  907. .key-verification .key {
  908. display: inline-block;
  909. font-family: monospace;
  910. padding: 10px;
  911. margin-bottom: 20px;
  912. background: #f3f3f3;
  913. border: solid 1px #d9d9d9;
  914. border-radius: 5px; }
  915. .key-verification .placeholder {
  916. font-weight: bold; }
  917. .key-verification .qr {
  918. border-radius: 200px;
  919. border: solid 1px #d9d9d9;
  920. width: 150px;
  921. height: 150px;
  922. text-align: center;
  923. padding: 25px;
  924. margin: 10px auto; }
  925. .key-verification .qr canvas {
  926. display: none; }
  927. .key-verification .qr img {
  928. display: inline-block;
  929. max-width: 100%; }
  930. .message-detail .key-conflict-dialogue {
  931. border-radius: 5px;
  932. margin: 20px 0; }
  933. .message-detail .key-conflict-dialogue .header {
  934. border-radius: 5px 5px 0 0;
  935. background: #F3F3A7;
  936. margin: 0;
  937. padding: 10px 20px; }
  938. .message-detail .key-conflict-dialogue .content {
  939. padding: 20px;
  940. border: 2px solid #F3F3A7; }
  941. .message-detail .key-conflict-dialogue button.resolve {
  942. outline: none;
  943. border: none;
  944. border-radius: 5px;
  945. color: white;
  946. font-weight: bold;
  947. line-height: 36px;
  948. padding: 0 20px;
  949. float: right;
  950. background: #2090ea;
  951. margin-left: 20px; }
  952. .message-detail .key-conflict-dialogue .hideKeys, .message-detail .key-conflict-dialogue .showKeys {
  953. float: right;
  954. line-height: 36px; }
  955. .message-detail .message-container {
  956. background: white;
  957. padding: 20px 0; }
  958. .message-detail .message-container .sender {
  959. display: none; }
  960. .message-detail .info {
  961. padding: 1em; }
  962. .message-detail .info .label {
  963. font-weight: bold;
  964. padding-right: 1em;
  965. vertical-align: top; }
  966. .message-detail .info button {
  967. border: none;
  968. border-radius: 5px;
  969. color: white;
  970. padding: 0.5em;
  971. font-weight: bold; }
  972. .message-detail .info button span {
  973. vertical-align: middle; }
  974. .message-detail .contacts .contact-detail {
  975. padding: 0 36px;
  976. margin-bottom: 5px; }
  977. .message-detail .contacts .contact-detail .error-icon-container {
  978. float: right; }
  979. .message-detail .contacts .contact-detail .error-message {
  980. margin: 6px 0 0;
  981. font-size: 0.92857em;
  982. font-weight: bold;
  983. color: red; }
  984. .message-detail h3 {
  985. font-size: 1em;
  986. padding: 5px; }
  987. .message-detail button.conflict {
  988. float: right;
  989. background: #d00; }
  990. .message-detail button.cancel {
  991. float: right;
  992. color: #454545;
  993. border: solid 1px #ccc; }
  994. .message-list .error-icon {
  995. cursor: pointer; }
  996. .message-list .advisory {
  997. text-align: center; }
  998. .message-list .advisory .content {
  999. display: inline-block;
  1000. padding: 5px 10px;
  1001. background: #fff5c4;
  1002. border-radius: 5px; }
  1003. li.entry .error-icon-container {
  1004. position: absolute;
  1005. top: 0;
  1006. left: calc(100% + 5px);
  1007. height: 100%; }
  1008. li.entry .error-icon-container .error-icon {
  1009. display: block;
  1010. height: 100%; }
  1011. li.entry .error-icon-container .error-message {
  1012. display: none;
  1013. position: absolute;
  1014. background: black;
  1015. color: white;
  1016. border-radius: 5px;
  1017. padding: 0.5em;
  1018. font-weight: normal;
  1019. bottom: calc(50% + 18px);
  1020. left: -84px;
  1021. width: 180px;
  1022. z-index: 10; }
  1023. li.entry .error-icon-container .error-message:before {
  1024. display: block;
  1025. content: '';
  1026. position: absolute;
  1027. bottom: -16px;
  1028. left: 50%;
  1029. border: 6px solid transparent;
  1030. border-top: 10px solid #000000; }
  1031. li.entry .error-icon-container:hover .error-message {
  1032. display: inline-block; }
  1033. .error-icon {
  1034. display: inline-block;
  1035. width: 24px;
  1036. height: 24px;
  1037. position: relative;
  1038. -webkit-mask: url("/images/warning.svg") no-repeat center;
  1039. -webkit-mask-size: 100%;
  1040. background-color: red; }
  1041. .group li.entry .unregistered-user-error {
  1042. display: none; }
  1043. .group-update {
  1044. font-size: smaller; }
  1045. .private .entry .avatar,
  1046. .private .sender,
  1047. .outgoing .sender {
  1048. display: none; }
  1049. .sender {
  1050. font-size: smaller;
  1051. opacity: 0.8;
  1052. margin-bottom: 5px;
  1053. font-weight: bold; }
  1054. .timestamp {
  1055. margin-right: 3px;
  1056. white-space: nowrap; }
  1057. .message-container,
  1058. .message-list {
  1059. list-style: none; }
  1060. .message-container li,
  1061. .message-list li {
  1062. max-width: 800px;
  1063. margin: 0 auto 10px; }
  1064. .message-container li::after,
  1065. .message-list li::after {
  1066. visibility: hidden;
  1067. display: block;
  1068. font-size: 0;
  1069. content: " ";
  1070. clear: both;
  1071. height: 0; }
  1072. .message-container .bubble,
  1073. .message-list .bubble {
  1074. position: relative;
  1075. left: -2px;
  1076. display: inline-block;
  1077. vertical-align: top;
  1078. word-wrap: break-word;
  1079. margin-left: 8px;
  1080. max-width: 30em;
  1081. text-align: -webkit-auto;
  1082. -webkit-user-select: text; }
  1083. @media (max-width: 899px) {
  1084. .message-container .bubble,
  1085. .message-list .bubble {
  1086. max-width: calc(100% - 45px - 24px); } }
  1087. .message-container .bubble .body,
  1088. .message-list .bubble .body {
  1089. white-space: pre-wrap; }
  1090. .message-container .bubble .body a,
  1091. .message-list .bubble .body a {
  1092. word-break: break-all; }
  1093. .message-container .bubble p,
  1094. .message-list .bubble p {
  1095. margin: 0; }
  1096. .message-container .meta,
  1097. .message-list .meta {
  1098. font-size: smaller;
  1099. margin-top: 3px;
  1100. text-align: right;
  1101. line-height: 18px; }
  1102. .message-container .meta .hasRetry + .timestamp:before,
  1103. .message-list .meta .hasRetry + .timestamp:before {
  1104. content: "\00b7";
  1105. font-weight: bold;
  1106. padding: 0 5px 0 4px;
  1107. text-decoration: none;
  1108. opacity: 0.5; }
  1109. .message-container .meta .retry,
  1110. .message-list .meta .retry {
  1111. text-decoration: underline;
  1112. cursor: pointer; }
  1113. .message-container .meta .hasRetry, .message-container .meta .timestamp, .message-container .meta .status, .message-container .meta .timer,
  1114. .message-list .meta .hasRetry,
  1115. .message-list .meta .timestamp,
  1116. .message-list .meta .status,
  1117. .message-list .meta .timer {
  1118. float: left; }
  1119. .message-container .meta .timestamp, .message-container .meta .status,
  1120. .message-list .meta .timestamp,
  1121. .message-list .meta .status {
  1122. cursor: pointer;
  1123. opacity: 0.5; }
  1124. .message-container .meta .timestamp:hover, .message-container .meta .status:hover,
  1125. .message-list .meta .timestamp:hover,
  1126. .message-list .meta .status:hover {
  1127. opacity: 1.0; }
  1128. .message-container .status,
  1129. .message-list .status {
  1130. width: 18px;
  1131. height: 18px; }
  1132. .message-container .sent .status,
  1133. .message-list .sent .status {
  1134. display: inline-block;
  1135. -webkit-mask: url("/images/check.svg") no-repeat center;
  1136. -webkit-mask-size: 100%;
  1137. background-color: black; }
  1138. .message-container .delivered .status,
  1139. .message-list .delivered .status {
  1140. display: inline-block;
  1141. -webkit-mask: url("/images/double-check.svg") no-repeat center;
  1142. -webkit-mask-size: 100%;
  1143. background-color: black; }
  1144. .message-container .pending .status,
  1145. .message-list .pending .status {
  1146. display: inline-block;
  1147. background: none; }
  1148. .message-container .pending .status:before,
  1149. .message-list .pending .status:before {
  1150. content: '...'; }
  1151. .message-container .incoming .avatar, .message-container .incoming .bubble,
  1152. .message-list .incoming .avatar,
  1153. .message-list .incoming .bubble {
  1154. float: left; }
  1155. .message-container .outgoing .meta,
  1156. .message-list .outgoing .meta {
  1157. float: right; }
  1158. .message-container .outgoing .error-icon-container,
  1159. .message-list .outgoing .error-icon-container {
  1160. left: auto;
  1161. right: calc(100% + 5px); }
  1162. .message-container .outgoing .avatar, .message-container .outgoing .bubble,
  1163. .message-list .outgoing .avatar,
  1164. .message-list .outgoing .bubble {
  1165. float: right; }
  1166. .message-container .outgoing .bubble,
  1167. .message-list .outgoing .bubble {
  1168. clear: left; }
  1169. @keyframes shake {
  1170. 0% {
  1171. transform: translateX(0px); }
  1172. 25% {
  1173. transform: translateX(-5px); }
  1174. 50% {
  1175. transform: translateX(0px); }
  1176. 75% {
  1177. transform: translateX(5px); }
  1178. 100% {
  1179. transform: translateX(0px); } }
  1180. .message-container .expired .bubble,
  1181. .message-list .expired .bubble {
  1182. animation: shake 0.2s linear 3; }
  1183. .message-container .timer,
  1184. .message-list .timer {
  1185. display: none; }
  1186. .message-container .timer .hourglass,
  1187. .message-list .timer .hourglass {
  1188. vertical-align: middle; }
  1189. .message-container .control .bubble .content,
  1190. .message-list .control .bubble .content {
  1191. font-style: italic; }
  1192. .message-container .control .bubble::before, .message-container .control .bubble::after,
  1193. .message-list .control .bubble::before,
  1194. .message-list .control .bubble::after {
  1195. display: none; }
  1196. .message-container .attachments a,
  1197. .message-list .attachments a {
  1198. font-style: italic;
  1199. display: block;
  1200. padding: 1em;
  1201. background-color: #ccc; }
  1202. .message-container .attachments img, .message-container .attachments audio, .message-container .attachments video,
  1203. .message-list .attachments img,
  1204. .message-list .attachments audio,
  1205. .message-list .attachments video {
  1206. max-width: 100%;
  1207. max-height: 300px; }
  1208. .message-container .attachments video,
  1209. .message-list .attachments video {
  1210. background: black;
  1211. min-height: 300px;
  1212. min-width: 280px; }
  1213. .message-container .attachments img,
  1214. .message-list .attachments img {
  1215. cursor: pointer; }
  1216. .message-container .outgoing .avatar,
  1217. .message-list .outgoing .avatar {
  1218. display: none; }
  1219. .message-container .bubble .content.error-message,
  1220. .message-list .bubble .content.error-message {
  1221. cursor: pointer;
  1222. font-style: italic; }
  1223. .message-container .key-conflict,
  1224. .message-list .key-conflict {
  1225. padding: 15px 10px; }
  1226. .message-container .key-conflict button,
  1227. .message-list .key-conflict button {
  1228. margin-top: 5px; }
  1229. .message-list .avatar,
  1230. .message-container .avatar,
  1231. .key-conflict-dialogue .avatar {
  1232. height: 36px;
  1233. width: 36px;
  1234. line-height: 36px; }
  1235. .bottom-bar {
  1236. box-sizing: content-box;
  1237. padding: 5px 5px 5px 0;
  1238. background: #f3f3f3; }
  1239. .bottom-bar form.active {
  1240. outline: solid 1px #2090ea; }
  1241. .bottom-bar form.send {
  1242. background: #ffffff; }
  1243. .bottom-bar input, .bottom-bar textarea {
  1244. color: #454545; }
  1245. .bottom-bar .attachment-previews {
  1246. padding: 0 36px; }
  1247. .bottom-bar .attachment-previews .attachment-preview {
  1248. padding: 13px 10px 0; }
  1249. .bottom-bar .attachment-previews img {
  1250. border: 2px solid #ddd;
  1251. border-radius: 5px;
  1252. max-height: 100px; }
  1253. .bottom-bar .attachment-previews .close {
  1254. position: absolute;
  1255. top: 5px;
  1256. right: 2px;
  1257. background: #999; }
  1258. .bottom-bar .attachment-previews .close:hover {
  1259. background: #616161; }
  1260. .bottom-bar .flex {
  1261. display: flex;
  1262. flex-direction: row; }
  1263. .bottom-bar .flex .send-message {
  1264. flex-grow: 1; }
  1265. .bottom-bar .choose-file {
  1266. float: left;
  1267. height: 36px; }
  1268. .bottom-bar .send-message {
  1269. display: block;
  1270. max-height: 100px;
  1271. padding: 10px;
  1272. border: 0;
  1273. outline: 0;
  1274. z-index: 5;
  1275. resize: none;
  1276. font-size: 1em;
  1277. font-family: inherit; }
  1278. .bottom-bar .send-message[disabled=disabled] {
  1279. background: transparent; }
  1280. .bottom-bar .capture-audio {
  1281. float: right;
  1282. height: 36px; }
  1283. .toast {
  1284. position: absolute;
  1285. bottom: 0;
  1286. margin: 0 2em 3em;
  1287. padding: 0.5em 1.5em;
  1288. background: rgba(0, 0, 0, 0.75);
  1289. color: white;
  1290. box-shadow: 0 0 5px 0 black;
  1291. border-radius: 5px;
  1292. font-size: 0.92857em;
  1293. z-index: 100; }
  1294. .confirmation-dialog .content {
  1295. max-width: 350px;
  1296. margin: 100px auto;
  1297. padding: 1em;
  1298. background: white;
  1299. border-radius: 5px;
  1300. overflow: auto;
  1301. box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2); }
  1302. .confirmation-dialog .content .message {
  1303. text-align: center; }
  1304. .confirmation-dialog .content .buttons {
  1305. margin-top: 10px; }
  1306. .confirmation-dialog .content .buttons button {
  1307. float: right;
  1308. margin-left: 10px;
  1309. background-color: #f3f3f3;
  1310. border-radius: 5px;
  1311. outline: none;
  1312. padding: 5px 8px;
  1313. border: 1px solid #d9d9d9; }
  1314. .confirmation-dialog .content .buttons button:focus {
  1315. border-color: #8d8d8d; }
  1316. .confirmation-dialog .content .buttons button:hover {
  1317. background-color: #d9d9d9;
  1318. border-color: silver; }
  1319. .message-list li.keychange {
  1320. text-align: center; }
  1321. .message-list li.keychange .content {
  1322. display: inline-block;
  1323. padding: 5px 10px;
  1324. background: #fff5c4;
  1325. color: #454545;
  1326. border-radius: 5px; }
  1327. .ios #header {
  1328. height: 64px;
  1329. border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  1330. border-width: 0 1px 1px 0;
  1331. background-color: #f3f3f3;
  1332. color: #454545; }
  1333. .ios #header h1 {
  1334. display: none; }
  1335. .ios .gutter {
  1336. border-right: 1px solid rgba(0, 0, 0, 0.1); }
  1337. .ios .gutter .content {
  1338. height: calc(100% - 64px);
  1339. background: rgba(0, 0, 0, 0.1); }
  1340. .ios .gutter .contact {
  1341. background: #f3f3f3;
  1342. margin-right: 0; }
  1343. .ios .gutter .contact.selected {
  1344. background: #2090ea;
  1345. color: white; }
  1346. .ios .gutter .contact.selected .last-timestamp {
  1347. color: white; }
  1348. .ios .gutter ::-webkit-scrollbar-track {
  1349. background: #f3f3f3; }
  1350. .ios .tool-bar {
  1351. float: left;
  1352. padding: 15px; }
  1353. .ios input[type=text]:active,
  1354. .ios input[type=text]:focus,
  1355. .ios input[type=search]:active,
  1356. .ios input[type=search]:focus,
  1357. .ios input[type=search].active,
  1358. .ios form.active {
  1359. outline-offset: 0;
  1360. outline: -webkit-focus-ring-color auto 5px; }
  1361. .ios input.search {
  1362. border-radius: 5px;
  1363. width: 220px;
  1364. height: 34px;
  1365. padding-left: 30px;
  1366. line-height: 34px;
  1367. background-color: #dddddd; }
  1368. .ios .conversation-header {
  1369. background-color: #f3f3f3;
  1370. color: #454545;
  1371. border-color: rgba(0, 0, 0, 0.05);
  1372. text-align: left; }
  1373. .ios .conversation-header .conversation-title {
  1374. line-height: 64px; }
  1375. .ios .conversation-header .avatar {
  1376. display: none; }
  1377. .ios .settings h3,
  1378. .ios .menu-list li {
  1379. text-transform: capitalize; }
  1380. .ios .bottom-bar {
  1381. padding: 15px;
  1382. min-height: 30px;
  1383. border-top: 1px solid rgba(0, 0, 0, 0.1); }
  1384. .ios .bottom-bar form.send {
  1385. border-radius: 5px;
  1386. border: 1px solid rgba(0, 0, 0, 0.1); }
  1387. .ios .error-message.content,
  1388. .ios .control .content {
  1389. padding: 10px; }
  1390. .ios .bubble .content {
  1391. margin-bottom: 5px; }
  1392. .ios .bubble .content .body {
  1393. display: inline-block;
  1394. padding: 10px;
  1395. position: relative;
  1396. word-break: break-word; }
  1397. .ios .bubble .content .body:before, .ios .bubble .content .body:after {
  1398. content: '';
  1399. display: block;
  1400. border-radius: 20px;
  1401. position: absolute;
  1402. width: 10px; }
  1403. .ios .bubble .content .body:before {
  1404. right: -1px;
  1405. bottom: -3px;
  1406. height: 10px;
  1407. border-radius: 20px;
  1408. background: #2090ea; }
  1409. .ios .bubble .content .body:after {
  1410. height: 11px;
  1411. right: -6px;
  1412. bottom: -3px;
  1413. background: white; }
  1414. .ios .bubble .content, .ios .bubble .attachments img {
  1415. border-radius: 15px; }
  1416. .ios .bubble .attachments img {
  1417. border: 1px solid rgba(0, 0, 0, 0.1); }
  1418. .ios .bubble .meta {
  1419. clear: both; }
  1420. .ios .incoming .content {
  1421. background-color: #e6e5ea;
  1422. color: black;
  1423. float: left; }
  1424. .ios .incoming .content .body:before {
  1425. left: -1px;
  1426. background-color: #e6e5ea; }
  1427. .ios .incoming .content .body:after {
  1428. left: -6px; }
  1429. .ios .outgoing .content {
  1430. background-color: #2090ea;
  1431. float: right; }
  1432. .ios .outgoing .content, .ios .outgoing .content .body, .ios .outgoing .content a {
  1433. color: white; }
  1434. .ios .outgoing .content::selection, .ios .outgoing .content .body::selection, .ios .outgoing .content a::selection {
  1435. background: white;
  1436. color: #454545; }
  1437. .ios .attachment {
  1438. margin-bottom: 1px; }
  1439. .ios .attachment a {
  1440. border-radius: 15px; }
  1441. .ios .hourglass {
  1442. display: inline-block;
  1443. position: relative;
  1444. -webkit-mask: url("/images/hourglass_full.svg") no-repeat center;
  1445. -webkit-mask-size: 100%;
  1446. background-color: transparent;
  1447. background-size: 100%; }
  1448. .ios .hourglass, .ios .hourglass .sand, .ios .hourglass:before, .ios .hourglass:after {
  1449. width: 13px;
  1450. height: 11px; }
  1451. .ios .hourglass .sand, .ios .hourglass:before, .ios .hourglass:after {
  1452. content: '';
  1453. display: inline-block;
  1454. position: absolute;
  1455. top: 0;
  1456. left: 0; }
  1457. .ios .hourglass .sand {
  1458. background: #999; }
  1459. .ios .hourglass:after {
  1460. -webkit-mask: url("/images/hourglass_empty.svg") no-repeat center;
  1461. -webkit-mask-size: 100%;
  1462. background-color: #999; }
  1463. .ios .socket-status {
  1464. position: absolute;
  1465. padding-top: -3px;
  1466. top: 0;
  1467. right: 5px; }
  1468. .android #header {
  1469. background-color: #2090ea;
  1470. color: white;
  1471. transition: background-color 0.5s; }
  1472. .android #header.inactive {
  1473. background-color: #f3f3f3;
  1474. color: #454545; }
  1475. .android .contact-details .name {
  1476. font-weight: 400; }
  1477. .android .conversation.placeholder .conversation-header {
  1478. display: none; }
  1479. .android .conversation-header.red, .android .bubble.red {
  1480. background-color: #EF5350; }
  1481. .android .conversation-header.pink, .android .bubble.pink {
  1482. background-color: #EC407A; }
  1483. .android .conversation-header.purple, .android .bubble.purple {
  1484. background-color: #AB47BC; }
  1485. .android .conversation-header.deep_purple, .android .bubble.deep_purple {
  1486. background-color: #7E57C2; }
  1487. .android .conversation-header.indigo, .android .bubble.indigo {
  1488. background-color: #5C6BC0; }
  1489. .android .conversation-header.blue, .android .bubble.blue {
  1490. background-color: #2196F3; }
  1491. .android .conversation-header.light_blue, .android .bubble.light_blue {
  1492. background-color: #03A9F4; }
  1493. .android .conversation-header.cyan, .android .bubble.cyan {
  1494. background-color: #00BCD4; }
  1495. .android .conversation-header.teal, .android .bubble.teal {
  1496. background-color: #009688; }
  1497. .android .conversation-header.green, .android .bubble.green {
  1498. background-color: #4CAF50; }
  1499. .android .conversation-header.light_green, .android .bubble.light_green {
  1500. background-color: #7CB342; }
  1501. .android .conversation-header.orange, .android .bubble.orange {
  1502. background-color: #FF9800; }
  1503. .android .conversation-header.deep_orange, .android .bubble.deep_orange {
  1504. background-color: #FF5722; }
  1505. .android .conversation-header.amber, .android .bubble.amber {
  1506. background-color: #FFB300; }
  1507. .android .conversation-header.blue_grey, .android .bubble.blue_grey {
  1508. background-color: #607D8B; }
  1509. .android .conversation-header.grey, .android .bubble.grey {
  1510. background-color: #999999; }
  1511. .android .conversation-header.default, .android .bubble.default {
  1512. background-color: #2090ea; }
  1513. .android .bottom-bar {
  1514. min-height: 10px; }
  1515. .android .bubble {
  1516. padding: 9px 12px;
  1517. border-radius: 5px;
  1518. box-shadow: 0 3px 3px -4px black; }
  1519. .android .outgoing .bubble {
  1520. background-color: #f3f3f3; }
  1521. .android .outgoing .hourglass {
  1522. display: inline-block;
  1523. position: relative;
  1524. -webkit-mask: url("/images/hourglass_full.svg") no-repeat center;
  1525. -webkit-mask-size: 100%;
  1526. background-color: transparent;
  1527. background-size: 100%; }
  1528. .android .outgoing .hourglass, .android .outgoing .hourglass .sand, .android .outgoing .hourglass:before, .android .outgoing .hourglass:after {
  1529. width: 13px;
  1530. height: 11px; }
  1531. .android .outgoing .hourglass .sand, .android .outgoing .hourglass:before, .android .outgoing .hourglass:after {
  1532. content: '';
  1533. display: inline-block;
  1534. position: absolute;
  1535. top: 0;
  1536. left: 0; }
  1537. .android .outgoing .hourglass .sand {
  1538. background: #999; }
  1539. .android .outgoing .hourglass:after {
  1540. -webkit-mask: url("/images/hourglass_empty.svg") no-repeat center;
  1541. -webkit-mask-size: 100%;
  1542. background-color: #999; }
  1543. .android .incoming .hourglass {
  1544. display: inline-block;
  1545. position: relative;
  1546. -webkit-mask: url("/images/hourglass_full.svg") no-repeat center;
  1547. -webkit-mask-size: 100%;
  1548. background-color: transparent;
  1549. background-size: 100%; }
  1550. .android .incoming .hourglass, .android .incoming .hourglass .sand, .android .incoming .hourglass:before, .android .incoming .hourglass:after {
  1551. width: 13px;
  1552. height: 11px; }
  1553. .android .incoming .hourglass .sand, .android .incoming .hourglass:before, .android .incoming .hourglass:after {
  1554. content: '';
  1555. display: inline-block;
  1556. position: absolute;
  1557. top: 0;
  1558. left: 0; }
  1559. .android .incoming .hourglass .sand {
  1560. background: #fff; }
  1561. .android .incoming .hourglass:after {
  1562. -webkit-mask: url("/images/hourglass_empty.svg") no-repeat center;
  1563. -webkit-mask-size: 100%;
  1564. background-color: #fff; }
  1565. .android .incoming .bubble .sender, .android .incoming .bubble .content, .android .incoming .bubble .body, .android .incoming .bubble .meta, .android .incoming .bubble a {
  1566. color: white; }
  1567. .android .incoming .bubble .sender::selection, .android .incoming .bubble .content::selection, .android .incoming .bubble .body::selection, .android .incoming .bubble .meta::selection, .android .incoming .bubble a::selection {
  1568. background: white;
  1569. color: #454545; }
  1570. .android .incoming .bubble .attachments a, .android .incoming .bubble .content a {
  1571. color: #f3f3f3; }
  1572. .android button.clock {
  1573. -webkit-mask: url("/images/clock.svg") no-repeat center;
  1574. -webkit-mask-size: 100%;
  1575. background-color: rgba(255, 255, 255, 0.8); }
  1576. .android button.clock:focus, .android button.clock:hover {
  1577. -webkit-mask: url("/images/clock.svg") no-repeat center;
  1578. -webkit-mask-size: 100%;
  1579. background-color: white; }
  1580. .android .inactive button.clock {
  1581. -webkit-mask: url("/images/clock.svg") no-repeat center;
  1582. -webkit-mask-size: 100%;
  1583. background-color: rgba(0, 0, 0, 0.5); }
  1584. .android .inactive button.clock:focus, .android .inactive button.clock:hover {
  1585. -webkit-mask: url("/images/clock.svg") no-repeat center;
  1586. -webkit-mask-size: 100%;
  1587. background-color: black; }
  1588. .android button.hamburger {
  1589. -webkit-mask: url("/images/menu.svg") no-repeat center;
  1590. -webkit-mask-size: 100%;
  1591. background-color: rgba(255, 255, 255, 0.8); }
  1592. .android button.hamburger:focus, .android button.hamburger:hover {
  1593. -webkit-mask: url("/images/menu.svg") no-repeat center;
  1594. -webkit-mask-size: 100%;
  1595. background-color: white; }
  1596. .android .inactive button.hamburger {
  1597. -webkit-mask: url("/images/menu.svg") no-repeat center;
  1598. -webkit-mask-size: 100%;
  1599. background-color: rgba(0, 0, 0, 0.5); }
  1600. .android .inactive button.hamburger:focus, .android .inactive button.hamburger:hover {
  1601. -webkit-mask: url("/images/menu.svg") no-repeat center;
  1602. -webkit-mask-size: 100%;
  1603. background-color: black; }
  1604. .android button.back {
  1605. -webkit-mask: url("/images/back.svg") no-repeat center;
  1606. -webkit-mask-size: 100%;
  1607. background-color: rgba(255, 255, 255, 0.8); }
  1608. .android button.back:focus, .android button.back:hover {
  1609. -webkit-mask: url("/images/back.svg") no-repeat center;
  1610. -webkit-mask-size: 100%;
  1611. background-color: white; }
  1612. .android .inactive button.back {
  1613. -webkit-mask: url("/images/back.svg") no-repeat center;
  1614. -webkit-mask-size: 100%;
  1615. background-color: rgba(0, 0, 0, 0.5); }
  1616. .android .inactive button.back:focus, .android .inactive button.back:hover {
  1617. -webkit-mask: url("/images/back.svg") no-repeat center;
  1618. -webkit-mask-size: 100%;
  1619. background-color: black; }
  1620. .android-dark {
  1621. color: #CCCCCC; }
  1622. .android-dark a {
  1623. color: #57a5e5; }
  1624. .android-dark hr {
  1625. border-color: #333333; }
  1626. .android-dark #header {
  1627. background-color: #292929;
  1628. color: white;
  1629. transition: background-color 0.5s; }
  1630. .android-dark #header.inactive {
  1631. background-color: #333333;
  1632. color: #CCCCCC; }
  1633. .android-dark .message-detail, .android-dark .message-container, .android-dark .conversation,
  1634. .android-dark .discussion-container {
  1635. background-color: #171717; }
  1636. .android-dark .modal .content {
  1637. background-color: #333333; }
  1638. .android-dark .lightbox .content {
  1639. background-color: transparent; }
  1640. .android-dark .key-verification .key {
  1641. background-color: #030303;
  1642. border-color: #292929; }
  1643. .android-dark .menu-list {
  1644. background-color: #292929;
  1645. color: #CCCCCC; }
  1646. .android-dark .menu-list li:hover {
  1647. background-color: #333333; }
  1648. .android-dark .content textarea {
  1649. background-color: #171717;
  1650. border-width: 0px;
  1651. color: white; }
  1652. .android-dark .content textarea::selection {
  1653. background: white;
  1654. color: #454545; }
  1655. .android-dark .flex {
  1656. background-color: #171717; }
  1657. .android-dark .flex .send-message {
  1658. background-color: #171717;
  1659. color: #CCCCCC; }
  1660. .android-dark .contact-details .name {
  1661. font-weight: 400; }
  1662. .android-dark .group-member-list .members .contact, .android-dark .new-group-update .members .contact, .android-dark .attachment-previews img {
  1663. background-color: #171717;
  1664. border-color: #333333; }
  1665. .android-dark .conversation.placeholder .conversation-header {
  1666. display: none; }
  1667. .android-dark .avatar.red, .android-dark .conversation-header.red, .android-dark .bubble.red {
  1668. background-color: #D32F2F; }
  1669. .android-dark .avatar.pink, .android-dark .conversation-header.pink, .android-dark .bubble.pink {
  1670. background-color: #C2185B; }
  1671. .android-dark .avatar.purple, .android-dark .conversation-header.purple, .android-dark .bubble.purple {
  1672. background-color: #7B1FA2; }
  1673. .android-dark .avatar.deep_purple, .android-dark .conversation-header.deep_purple, .android-dark .bubble.deep_purple {
  1674. background-color: #512DA8; }
  1675. .android-dark .avatar.indigo, .android-dark .conversation-header.indigo, .android-dark .bubble.indigo {
  1676. background-color: #303F9F; }
  1677. .android-dark .avatar.blue, .android-dark .conversation-header.blue, .android-dark .bubble.blue {
  1678. background-color: #1976D2; }
  1679. .android-dark .avatar.light_blue, .android-dark .conversation-header.light_blue, .android-dark .bubble.light_blue {
  1680. background-color: #0288D1; }
  1681. .android-dark .avatar.cyan, .android-dark .conversation-header.cyan, .android-dark .bubble.cyan {
  1682. background-color: #0097A7; }
  1683. .android-dark .avatar.teal, .android-dark .conversation-header.teal, .android-dark .bubble.teal {
  1684. background-color: #00796B; }
  1685. .android-dark .avatar.green, .android-dark .conversation-header.green, .android-dark .bubble.green {
  1686. background-color: #388E3C; }
  1687. .android-dark .avatar.light_green, .android-dark .conversation-header.light_green, .android-dark .bubble.light_green {
  1688. background-color: #689F38; }
  1689. .android-dark .avatar.orange, .android-dark .conversation-header.orange, .android-dark .bubble.orange {
  1690. background-color: #F57C00; }
  1691. .android-dark .avatar.deep_orange, .android-dark .conversation-header.deep_orange, .android-dark .bubble.deep_orange {
  1692. background-color: #E64A19; }
  1693. .android-dark .avatar.amber, .android-dark .conversation-header.amber, .android-dark .bubble.amber {
  1694. background-color: #FFA000; }
  1695. .android-dark .avatar.blue_grey, .android-dark .conversation-header.blue_grey, .android-dark .bubble.blue_grey {
  1696. background-color: #455A64; }
  1697. .android-dark .avatar.grey, .android-dark .conversation-header.grey, .android-dark .bubble.grey {
  1698. background-color: #666666; }
  1699. .android-dark .avatar.default, .android-dark .conversation-header.default, .android-dark .bubble.default {
  1700. background-color: #2090ea; }
  1701. .android-dark .message-list .advisory .content {
  1702. background-color: #333333; }
  1703. .android-dark .inactive .conversation-header {
  1704. background-color: #333333 !important;
  1705. color: #CCCCCC; }
  1706. .android-dark .sent .status {
  1707. display: inline-block;
  1708. -webkit-mask: url("/images/check.svg") no-repeat center;
  1709. -webkit-mask-size: 100%;
  1710. background-color: white; }
  1711. .android-dark .delivered .status {
  1712. display: inline-block;
  1713. -webkit-mask: url("/images/double-check.svg") no-repeat center;
  1714. -webkit-mask-size: 100%;
  1715. background-color: white; }
  1716. .android-dark .paperclip:before {
  1717. content: '';
  1718. display: inline-block;
  1719. width: 24px;
  1720. height: 24px;
  1721. -webkit-mask: url("/images/paperclip.svg") no-repeat center;
  1722. -webkit-mask-size: 100%;
  1723. background-color: white;
  1724. transform: rotateZ(-45deg); }
  1725. .android-dark .scrollable {
  1726. background-color: #292929; }
  1727. .android-dark .scrollable .conversation-list-item {
  1728. background-color: #171717;
  1729. color: #CCCCCC; }
  1730. .android-dark .bottom-bar {
  1731. min-height: 10px;
  1732. background-color: #292929; }
  1733. .android-dark .bottom-bar form.send {
  1734. background: #171717; }
  1735. .android-dark .search {
  1736. background-color: #171717;
  1737. border-color: #292929;
  1738. color: white; }
  1739. .android-dark .search::selection {
  1740. background: white;
  1741. color: #454545; }
  1742. .android-dark .search::-webkit-search-cancel-button {
  1743. background: url("/images/x_white.svg") no-repeat center;
  1744. background-size: cover; }
  1745. .android-dark .bubble {
  1746. padding: 9px 12px;
  1747. border-radius: 5px;
  1748. box-shadow: 0 3px 3px -4px black; }
  1749. .android-dark .outgoing .bubble {
  1750. background-color: #333333;
  1751. color: white;
  1752. color: #CCCCCC; }
  1753. .android-dark .outgoing .bubble::selection {
  1754. background: white;
  1755. color: #454545; }
  1756. .android-dark .outgoing .hourglass {
  1757. display: inline-block;
  1758. position: relative;
  1759. -webkit-mask: url("/images/hourglass_full.svg") no-repeat center;
  1760. -webkit-mask-size: 100%;
  1761. background-color: transparent;
  1762. background-size: 100%; }
  1763. .android-dark .outgoing .hourglass, .android-dark .outgoing .hourglass .sand, .android-dark .outgoing .hourglass:before, .android-dark .outgoing .hourglass:after {
  1764. width: 13px;
  1765. height: 11px; }
  1766. .android-dark .outgoing .hourglass .sand, .android-dark .outgoing .hourglass:before, .android-dark .outgoing .hourglass:after {
  1767. content: '';
  1768. display: inline-block;
  1769. position: absolute;
  1770. top: 0;
  1771. left: 0; }
  1772. .android-dark .outgoing .hourglass .sand {
  1773. background: #999; }
  1774. .android-dark .outgoing .hourglass:after {
  1775. -webkit-mask: url("/images/hourglass_empty.svg") no-repeat center;
  1776. -webkit-mask-size: 100%;
  1777. background-color: #999; }
  1778. .android-dark .incoming .hourglass {
  1779. display: inline-block;
  1780. position: relative;
  1781. -webkit-mask: url("/images/hourglass_full.svg") no-repeat center;
  1782. -webkit-mask-size: 100%;
  1783. background-color: transparent;
  1784. background-size: 100%; }
  1785. .android-dark .incoming .hourglass, .android-dark .incoming .hourglass .sand, .android-dark .incoming .hourglass:before, .android-dark .incoming .hourglass:after {
  1786. width: 13px;
  1787. height: 11px; }
  1788. .android-dark .incoming .hourglass .sand, .android-dark .incoming .hourglass:before, .android-dark .incoming .hourglass:after {
  1789. content: '';
  1790. display: inline-block;
  1791. position: absolute;
  1792. top: 0;
  1793. left: 0; }
  1794. .android-dark .incoming .hourglass .sand {
  1795. background: #fff; }
  1796. .android-dark .incoming .hourglass:after {
  1797. -webkit-mask: url("/images/hourglass_empty.svg") no-repeat center;
  1798. -webkit-mask-size: 100%;
  1799. background-color: #fff; }
  1800. .android-dark .incoming .bubble .sender, .android-dark .incoming .bubble .content, .android-dark .incoming .bubble .body, .android-dark .incoming .bubble .meta, .android-dark .incoming .bubble a {
  1801. color: white; }
  1802. .android-dark .incoming .bubble .sender::selection, .android-dark .incoming .bubble .content::selection, .android-dark .incoming .bubble .body::selection, .android-dark .incoming .bubble .meta::selection, .android-dark .incoming .bubble a::selection {
  1803. background: white;
  1804. color: #454545; }
  1805. .android-dark .incoming .bubble .attachments a, .android-dark .incoming .bubble .content a {
  1806. color: #f3f3f3; }
  1807. .android-dark button.clock {
  1808. -webkit-mask: url("/images/clock.svg") no-repeat center;
  1809. -webkit-mask-size: 100%;
  1810. background-color: rgba(255, 255, 255, 0.8); }
  1811. .android-dark button.clock:focus, .android-dark button.clock:hover {
  1812. -webkit-mask: url("/images/clock.svg") no-repeat center;
  1813. -webkit-mask-size: 100%;
  1814. background-color: white; }
  1815. .android-dark button.hamburger {
  1816. -webkit-mask: url("/images/menu.svg") no-repeat center;
  1817. -webkit-mask-size: 100%;
  1818. background-color: rgba(255, 255, 255, 0.8); }
  1819. .android-dark button.hamburger:focus, .android-dark button.hamburger:hover {
  1820. -webkit-mask: url("/images/menu.svg") no-repeat center;
  1821. -webkit-mask-size: 100%;
  1822. background-color: white; }
  1823. .android-dark button.back {
  1824. -webkit-mask: url("/images/back.svg") no-repeat center;
  1825. -webkit-mask-size: 100%;
  1826. background-color: rgba(255, 255, 255, 0.8); }
  1827. .android-dark button.back:focus, .android-dark button.back:hover {
  1828. -webkit-mask: url("/images/back.svg") no-repeat center;
  1829. -webkit-mask-size: 100%;
  1830. background-color: white; }
  1831. .android-dark ::-webkit-scrollbar-thumb {
  1832. background: rgba(255, 255, 255, 0.15); }
  1833. .android-dark ::-webkit-scrollbar-thumb:hover {
  1834. background: rgba(255, 255, 255, 0.25); }
  1835. .android-dark ::-webkit-scrollbar-track {
  1836. background-color: #292929; }
  1837. /*# sourceMappingURL=manifest.css.map */