converse.scss 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518
  1. /*!
  2. * Converse.js (Web-based XMPP instant messaging client)
  3. * http://conversejs.org
  4. *
  5. * Copyright (c) 2012-2014, JC Brand <jc@opkode.com>
  6. * Licensed under the Mozilla Public License
  7. */
  8. @font-face {
  9. font-family: 'Converse-js';
  10. src: url('../fonticons/fonts/icomoon.eot?-mnoxh0');
  11. src: url('../fonticons/fonts/icomoon.eot?#iefix-mnoxh0') format("embedded-opentype"), url('../fonticons/fonts/icomoon.woff?-mnoxh0') format("woff"), url('../fonticons/fonts/icomoon.ttf?-mnoxh0') format("truetype"), url('../fonticons/fonts/icomoon.svg?-mnoxh0#icomoon') format("svg");
  12. font-weight: normal;
  13. font-style: normal;
  14. }
  15. .icon-conversejs {
  16. font-family: 'Converse-js';
  17. speak: none;
  18. font-style: normal;
  19. font-weight: normal;
  20. font-variant: normal;
  21. text-transform: none;
  22. line-height: 1;
  23. /* Better Font Rendering =========== */
  24. -webkit-font-smoothing: antialiased;
  25. -moz-osx-font-smoothing: grayscale;
  26. }
  27. .icon-conversejs:before {
  28. content: "\e600";
  29. }
  30. #conversejs {
  31. @import "../bourbon/bourbon";
  32. @import "variables";
  33. ::selection {
  34. background-color: $highlight-color;
  35. }
  36. color: $text-color;
  37. font-size: $font-size;
  38. bottom: 0;
  39. direction: ltr;
  40. height: $bottom-gutter-height;
  41. left: 0;
  42. position: fixed;
  43. right: 0;
  44. z-index: 30;
  45. display: block;
  46. @include box-sizing(border-box);
  47. *, *:before, *:after {
  48. @include box-sizing(border-box);
  49. }
  50. @media screen and (max-width: $mobile_landscape_length) {
  51. margin: 5px 10px;
  52. }
  53. a, a:visited {
  54. text-decoration: none;
  55. color: $link-color;
  56. text-shadow: none;
  57. }
  58. ul li { height: auto; }
  59. div, span, h1, h2, h3, h4, h5, h6, p, blockquote,
  60. pre, a, em, img, strong, dl, dt, dd, ol, ul, li,
  61. fieldset, form, label, legend, table, caption, tbody,
  62. tfoot, thead, tr, th, td, article, aside, canvas, details,
  63. embed, figure, figcaption, footer, header, hgroup, menu,
  64. nav, output, ruby, section, summary, time, mark, audio, video {
  65. margin: 0;
  66. padding: 0;
  67. border: 0;
  68. font: inherit;
  69. vertical-align: baseline;
  70. }
  71. textarea,
  72. input[type=submit], input[type=button],
  73. input[type=text], input[type=password],
  74. button {
  75. font-size: $font-size;
  76. padding: 0.25em;
  77. min-height: 0;
  78. }
  79. strong {
  80. font-weight: 700;
  81. }
  82. ol, ul {
  83. list-style: none;
  84. }
  85. li {
  86. height: 10px;
  87. }
  88. ul, ol, dl {
  89. font: inherit;
  90. margin: 0;
  91. }
  92. [data-icon]:before {
  93. content: attr(data-icon);
  94. font-family: 'Converse-js';
  95. font-variant: normal;
  96. font-weight: normal;
  97. line-height: 1;
  98. speak: none;
  99. text-transform: none;
  100. /* Better Font Rendering =========== */
  101. -webkit-font-smoothing: antialiased;
  102. -moz-osx-font-smoothing: grayscale;
  103. }
  104. [class^="icon-"], [class*=" icon-"] {
  105. font-family: 'Converse-js';
  106. font-style: normal;
  107. font-variant: normal;
  108. font-weight: normal;
  109. line-height: 1;
  110. speak: none;
  111. text-transform: none;
  112. /* Better Font Rendering =========== */
  113. -webkit-font-smoothing: antialiased;
  114. -moz-osx-font-smoothing: grayscale;
  115. }
  116. .icon-address-book:before { content: "\270f"; }
  117. .icon-angry:before { content: "\e03f"; }
  118. .icon-attachment:before { content: "\e032"; }
  119. .icon-away:before { content: "\25fb"; }
  120. .icon-blocked:before { content: "\2718"; }
  121. .icon-bold:before { content: "\e04d"; }
  122. .icon-bubbles-2:before { content: "\e016"; }
  123. .icon-bubbles-3:before { content: "\e017"; }
  124. .icon-bubbles:before { content: "\e015"; }
  125. .icon-camera-2:before { content: "\2616"; }
  126. .icon-camera:before { content: "\e003"; }
  127. .icon-cancel-circle:before { content: "\e058"; }
  128. .icon-checkbox-checked:before { content: "\2611"; }
  129. .icon-checkbox-partial:before { content: "\2b28"; }
  130. .icon-checkbox-unchecked:before { content: "\2b27"; }
  131. .icon-checkmark:before { content: "\2713"; }
  132. .icon-close:before { content: "\2715"; }
  133. .icon-closed:before { content: "\25ba"; }
  134. .icon-cog:before { content: "\e02f"; }
  135. .icon-cogs:before { content: "\e022"; }
  136. .icon-confused:before { content: "\2368"; }
  137. .icon-cool:before { content: "\e040"; }
  138. .icon-dnd:before { content: "\e004"; }
  139. .icon-envelop:before { content: "\2709"; }
  140. .icon-evil:before { content: "\261f"; }
  141. .icon-eye-blocked:before { content: "\e031"; }
  142. .icon-eye:before { content: "\e030"; }
  143. .icon-globe:before { content: "\e033"; }
  144. .icon-grin:before { content: "\e041"; }
  145. .icon-happy:before { content: "\263b"; }
  146. .icon-headphones:before { content: "\266c"; }
  147. .icon-heart:before { content: "\2764"; }
  148. .icon-hide-users:before { content: "\e01c"; }
  149. .icon-home:before { content: "\e000"; }
  150. .icon-image:before { content: "\2b14"; }
  151. .icon-info:before { content: "\2360"; }
  152. .icon-italic:before { content: "\e04f"; }
  153. .icon-key-2:before { content: "\e029"; }
  154. .icon-key:before { content: "\e028"; }
  155. .icon-lock-2:before { content: "\e027"; }
  156. .icon-lock:before { content: "\e026"; }
  157. .icon-logout:before { content: "\e601"; }
  158. .icon-minus:before { content: "\e05a"; }
  159. .icon-music:before { content: "\266b"; }
  160. .icon-new-tab:before { content: "\e053"; }
  161. .icon-newspaper:before { content: "\e001"; }
  162. .icon-notebook:before { content: "\2710"; }
  163. .icon-notification:before { content: "\e01f"; }
  164. .icon-online:before { content: "\25fc"; }
  165. .icon-opened:before { content: "\25bc"; }
  166. .icon-pencil:before { content: "\270e"; }
  167. .icon-phone-hang-up:before { content: "\260e"; }
  168. .icon-phone:before { content: "\260f"; }
  169. .icon-play:before { content: "\25d9"; }
  170. .icon-plus:before { content: "\271a"; }
  171. .icon-pushpin:before { content: "\e012"; }
  172. .icon-quotes-left:before { content: "\e01d"; }
  173. .icon-radio-checked:before { content: "\2b26"; }
  174. .icon-radio-unchecked:before { content: "\2b25"; }
  175. .icon-remove:before { content: "\e02d"; }
  176. .icon-room-info:before { content: "\e059"; }
  177. .icon-sad:before { content: "\2639"; }
  178. .icon-search:before { content: "\e021"; }
  179. .icon-shocked:before { content: "\2364"; }
  180. .icon-show-users:before { content: "\e01e"; }
  181. .icon-smiley:before { content: "\263a"; }
  182. .icon-spell-check:before { content: "\e045"; }
  183. .icon-spinner:before { content: "\231b"; }
  184. .icon-strikethrough:before { content: "\e050"; }
  185. .icon-thumbs-up:before { content: "\261d"; }
  186. .icon-tongue:before { content: "\e038"; }
  187. .icon-underline:before { content: "\e04e"; }
  188. .icon-unlocked:before { content: "\e025"; }
  189. .icon-user:before { content: "\e01a"; }
  190. .icon-users:before { content: "\e01b"; }
  191. .icon-volume-decrease:before { content: "\e04b"; }
  192. .icon-volume-high:before { content: "\e046"; }
  193. .icon-volume-increase:before { content: "\e04c"; }
  194. .icon-volume-low:before { content: "\e048"; }
  195. .icon-volume-medium:before { content: "\e047"; }
  196. .icon-volume-mute-2:before { content: "\e04a"; }
  197. .icon-volume-mute:before { content: "\e049"; }
  198. .icon-warning:before { content: "\26a0"; }
  199. .icon-wink:before { content: "\e03a"; }
  200. .icon-wondering:before { content: "\2369"; }
  201. .icon-wrench:before { content: "\e024"; }
  202. .icon-xa:before,
  203. .icon-unavailable:before,
  204. .icon-offline:before { content: "\e002"; }
  205. .icon-youtube:before { content: "\e055"; }
  206. .icon-zoom-in:before { content: "\e02b"; }
  207. .icon-zoom-out:before { content: "\e02a"; }
  208. .no-text-select {
  209. -webkit-touch-callout: none;
  210. @include user-select(none);
  211. }
  212. .emoticon {
  213. font-size: $font-size;
  214. }
  215. .left {
  216. float: left;
  217. }
  218. .right {
  219. float: right;
  220. }
  221. .hidden {
  222. display: none;
  223. }
  224. .locked {
  225. padding-right: 22px;
  226. }
  227. @include keyframes(spin) {
  228. from {
  229. @include transform(rotate(0deg));
  230. }
  231. to {
  232. @include transform(rotate(359deg));
  233. }
  234. }
  235. .spinner:before {
  236. font-size: 24px;
  237. font-family: 'Converse-js' !important;
  238. content: "\231b";
  239. }
  240. .spinner {
  241. @include animation(spin 2s infinite, linear);
  242. display: block;
  243. text-align: center;
  244. margin: 5px;
  245. }
  246. .centered {
  247. text-align: center;
  248. display: block;
  249. margin: 5em auto;
  250. }
  251. .hor_centered {
  252. text-align: center;
  253. display: block;
  254. margin: 0 auto;
  255. }
  256. .toggle-controlbox,
  257. #minimized-chats {
  258. border-top-left-radius: 4px;
  259. border-top-right-radius: 4px;
  260. float: right;
  261. margin: 0 $chat-gutter;
  262. font-weight: bold;
  263. }
  264. .toggle-controlbox {
  265. background-color: $link-color;
  266. color: #0a0a0a;
  267. height: 100%;
  268. padding: 10px 8px 0 8px;
  269. span {
  270. color: $inverse-link-color;
  271. }
  272. }
  273. .button-group,
  274. .input-button-group {
  275. display: table;
  276. }
  277. .button-group {
  278. width: 100%;
  279. }
  280. .input-button-group button,
  281. .input-button-group input {
  282. display: table-cell;
  283. }
  284. #minimized-chats {
  285. color: $inverse-link-color;
  286. display: none;
  287. height: 100%;
  288. padding: 0;
  289. width: 130px;
  290. #toggle-minimized-chats {
  291. border-top-left-radius: 4px;
  292. border-top-right-radius: 4px;
  293. background-color: ivory;
  294. position: relative;
  295. padding: 10px 0 0 0;
  296. display: block;
  297. width: 100%;
  298. height: 100%;
  299. text-align: center;
  300. }
  301. .unread-message-count,
  302. .chat-head-message-count {
  303. font-weight: bold;
  304. @include linear-gradient(#f6f6f6 5%, #808080 100%);
  305. border: 1px solid;
  306. text-shadow: 1px 1px 0 $text-shadow-color;
  307. color: $warning-color;
  308. border-radius: 5px;
  309. padding: 2px 4px;
  310. font-size: 16px;
  311. text-align: center;
  312. position: absolute;
  313. right: 116px;
  314. bottom: 10px;
  315. }
  316. .box-flyout {
  317. position: absolute;
  318. display: block;
  319. height: auto;
  320. bottom: $bottom-gutter-height;
  321. margin-left: 0;
  322. .chat-head {
  323. font-size: 100%;
  324. border-radius: 4px;
  325. padding: 3px 0 0 5px;
  326. margin: 0 0 1px 0;
  327. box-shadow: 1px 3px 5px 3px rgba(0, 0, 0, 0.4);
  328. height: 24px;
  329. width: 130px;
  330. }
  331. }
  332. }
  333. .chat-body {
  334. background-color: white;
  335. border-bottom-right-radius: 4px;
  336. border-bottom-left-radius: 4px;
  337. height: 289px;
  338. @include calc(height, '100% - #{$chat-head-height}');
  339. border-top: 0;
  340. p {
  341. font-size: $font-size;
  342. color: $text-color;
  343. padding: 5px;
  344. margin: 0;
  345. }
  346. }
  347. .tt-highlight {
  348. background-color: #00230F;
  349. }
  350. .tt-suggestion {
  351. p {
  352. color: white;
  353. text-shadow: rgba(0, 0, 0, 0.51) 0 -1px 0;
  354. cursor: pointer;
  355. font-size: 11px;
  356. }
  357. p:hover {
  358. background-color: #00230F;
  359. .tt-highlight {
  360. background-color: #00230F;
  361. background: #27774A;
  362. }
  363. }
  364. }
  365. .tt-dropdown-menu {
  366. margin: 0 1px 0 1px;
  367. width: 96px;
  368. max-height: 250px;
  369. overflow-x: hidden;
  370. overflow-y: auto;
  371. text-overflow: ellipsis;
  372. background: #27774A;
  373. border-bottom-right-radius: 4px;
  374. border-bottom-left-radius: 4px;
  375. }
  376. .chat-blink {
  377. background-color: #176679;
  378. border-right: 1px solid #176679;
  379. border-left: 1px solid #176679;
  380. }
  381. .chat-content {
  382. position: relative;
  383. padding: 8px;
  384. font-size: 13px;
  385. color: $text-color;
  386. overflow-y: auto;
  387. border: 0;
  388. background-color: #ffffff;
  389. line-height: 1.3em;
  390. height: 206px;
  391. height: calc(100% - #{$toolbar-height + $chat-textarea-height + 2});
  392. }
  393. .chat-info {
  394. color: $text-color;
  395. }
  396. .chat-error {
  397. color: $warning-color;
  398. font-weight: bold;
  399. }
  400. .chat-error,
  401. .chat-info,
  402. .chat-message {
  403. padding: 2px 0;
  404. }
  405. .chat-message-room,
  406. .chat-message-them,
  407. .chat-message-me {
  408. font-weight: bold;
  409. white-space: nowrap;
  410. max-width: 100px;
  411. text-overflow: ellipsis;
  412. overflow: hidden;
  413. display: inline-block;
  414. float: left;
  415. padding-right: 3px;
  416. }
  417. .chat-message-content {
  418. word-wrap: break-word;
  419. }
  420. .chat-message-room,
  421. .chat-message-them {
  422. color: $message-them-color;
  423. }
  424. .chat-message-me {
  425. color: $link-color;
  426. }
  427. .chat-event,
  428. .chat-date,
  429. .chat-info {
  430. color: #808080;
  431. }
  432. li.chat-info {
  433. padding-left: 10px;
  434. }
  435. .chat-date {
  436. display: inline-block;
  437. padding-top: 10px;
  438. }
  439. .not-implemented {
  440. margin-top: 3em;
  441. margin-left: 0.3em;
  442. color: #808080;
  443. }
  444. .mentioned {
  445. font-weight: bold;
  446. }
  447. .delayed {
  448. .chat-message-them {
  449. color: #FB5D50;
  450. }
  451. .chat-message-me {
  452. color: #7EABBB;
  453. }
  454. }
  455. .error {
  456. color: red;
  457. }
  458. input.error {
  459. border: 1px solid red;
  460. }
  461. #converse-register {
  462. .form-errors {
  463. color: red;
  464. display: none;
  465. }
  466. .provider-title {
  467. font-size: 115%;
  468. }
  469. .provider-score {
  470. width: 178px;
  471. margin-bottom: 8px;
  472. }
  473. .form-help .url {
  474. font-weight: bold;
  475. color: $link-color;
  476. }
  477. }
  478. .reg-feedback {
  479. font-size: 85%;
  480. }
  481. .reg-feedback,
  482. #converse-login .conn-feedback {
  483. display: block;
  484. text-align: center;
  485. width: 100%;
  486. }
  487. .chat-message-error {
  488. color: #76797C;
  489. font-size: 90%;
  490. font-weight: normal;
  491. }
  492. a.restore-chat,
  493. .chat-title {
  494. padding: 1px 0 1px 5px;
  495. color: $chat-head-text-color;
  496. font-weight: bold;
  497. line-height: 15px;
  498. display: block;
  499. overflow: hidden;
  500. text-overflow: ellipsis;
  501. white-space: nowrap;
  502. text-shadow: rgba(0, 0, 0, 0.51) 0 -1px 0;
  503. }
  504. a.restore-chat:visited {
  505. color: $chat-head-text-color;
  506. }
  507. .chat-title a {
  508. color: $chat-head-text-color;
  509. width: 100%;
  510. text-overflow: ellipsis;
  511. white-space: nowrap;
  512. }
  513. .chat-head-chatbox,
  514. .chat-head-chatroom {
  515. height: $chat-head-height;
  516. position: relative;
  517. padding: 5px;
  518. }
  519. .chat-head-chatroom {
  520. background-color: $chatroom-head-color;
  521. }
  522. .chat-head-chatbox {
  523. background-color: $chat-head-color;
  524. }
  525. .user-custom-message,
  526. .chatroom-topic {
  527. color: white;
  528. font-size: 80%;
  529. font-style: italic;
  530. height: 1.3em;
  531. overflow: hidden;
  532. text-overflow: ellipsis;
  533. white-space: nowrap;
  534. margin: 0;
  535. padding: 1px 0 1px 5px;
  536. }
  537. .activated {
  538. display: block !important;
  539. }
  540. a.subscribe-to-user {
  541. padding-left: 2em;
  542. font-weight: bold;
  543. }
  544. dl.add-converse-contact {
  545. margin: 0 0.5em 0.5em 0.5em;
  546. }
  547. .fancy-dropdown {
  548. border: 1px solid $light-background-border-color;
  549. height: $controlbox-dropdown-height;
  550. text-align: left;
  551. .choose-xmpp-status {
  552. width: 155px;
  553. span {
  554. padding-right: 5px;
  555. padding-left: 5px;
  556. float: left;
  557. }
  558. }
  559. .choose-xmpp-status,
  560. .toggle-xmpp-contact-form {
  561. text-shadow: 0 1px 0 #ffffff;
  562. overflow: hidden;
  563. text-overflow: ellipsis;
  564. white-space: nowrap;
  565. display: inline;
  566. }
  567. .toggle-xmpp-contact-form span {
  568. float: left;
  569. }
  570. }
  571. #fancy-xmpp-status-select a.change-xmpp-status-message {
  572. float: right;
  573. clear: right;
  574. height: 22px;
  575. width: 12px;
  576. margin: 0px 5px 0 0;
  577. color: $link-color;
  578. }
  579. ul#found-users {
  580. padding: 10px 0 5px 5px;
  581. border: 0;
  582. }
  583. form.search-xmpp-contact {
  584. margin: 0;
  585. padding-left: 5px;
  586. padding: 0 0 5px 5px;
  587. input {
  588. width: 8em;
  589. }
  590. }
  591. a.configure-chatroom-button,
  592. a.toggle-chatbox-button,
  593. a.close-chatbox-button {
  594. border-radius: 6px;
  595. border: 1px solid #888;
  596. color: white;
  597. cursor: pointer;
  598. display: inline-block;
  599. float: right;
  600. font-size: 10px;
  601. margin: 0 0 0 3px;
  602. padding: 3px 3px 2px 3px;
  603. text-decoration: none;
  604. }
  605. a.configure-chatroom-button:active,
  606. a.toggle-chatbox-button:active,
  607. a.close-chatbox-button:active {
  608. position: relative;
  609. top: 1px;
  610. }
  611. .chatroom-form-container {
  612. height: 100%;
  613. color: $text-color;
  614. overflow-y: auto;
  615. border-bottom-right-radius: 4px;
  616. border-bottom-left-radius: 4px;
  617. }
  618. .chatroom-form {
  619. padding: 1em;
  620. .instructions {
  621. color: gray;
  622. font-size: 95%;
  623. }
  624. input {
  625. width: 100%;
  626. padding: 5px;
  627. text-align: center;
  628. }
  629. legend {
  630. font-size: $legend-font-size;
  631. font-weight: bold;
  632. margin: 10px 0 15px 0;
  633. }
  634. label {
  635. height: 30px;
  636. font-weight: bold;
  637. display: block;
  638. clear: both;
  639. label input, label select {
  640. float: right;
  641. }
  642. }
  643. }
  644. .requesting-xmpp-contact .request-actions {
  645. margin-left: 0.5em;
  646. float: right;
  647. }
  648. #converse-roster {
  649. text-align: left;
  650. width: 100%;
  651. position: relative;
  652. margin: 0.5em 0 0 0;
  653. height: $roster-height;
  654. height: calc(100% - 68px);
  655. overflow: hidden;
  656. .filter-type {
  657. display: table-cell;
  658. font-size: $font-size;
  659. height: $controlbox-dropdown-height;
  660. margin: 0 0 0.5em -1px;
  661. padding: 0;
  662. width: 84px;
  663. }
  664. .roster-filter {
  665. background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHjaXI7BDcAwCAMvyQjMyQ6dAbZiKfqoUK34g2zJh1dENIC7M8pMAPYdzAVY3d0ajNz9aypS/b5R6o+ZPdqoKgCq6h80KH3xDgBqNR97p8oAGQAAAABJRU5ErkJggg== ) no-repeat right -20px center;
  666. border: 1px solid #999;
  667. font-size: $font-size;
  668. height: $controlbox-dropdown-height;
  669. margin: 0 0 0.5em 7px;
  670. padding: 0;
  671. padding: 2px;
  672. width: 103px;
  673. }
  674. /* (jQ addClass:) if input has value: */
  675. .roster-filter.x {
  676. background-position: right 3px center;
  677. }
  678. /* (jQ addClass:) if mouse is over the 'x' input area*/
  679. .roster-filter.onX {
  680. cursor: pointer;
  681. }
  682. .roster-contacts {
  683. margin: 0;
  684. max-height: 195px;
  685. max-height: calc(100% - 26px);
  686. overflow-x: hidden;
  687. overflow-y: auto;
  688. padding-bottom: 15px;
  689. }
  690. .group-toggle {
  691. color: $text-color;
  692. display: block;
  693. width: 100%;
  694. }
  695. dt {
  696. display: none;
  697. }
  698. dd {
  699. line-height: 16px;
  700. padding: 4px 2px 0 4px;
  701. height: 24px;
  702. a, span {
  703. text-shadow: 0 1px 0 $link-shadow-color;
  704. display: inline-block;
  705. overflow: hidden;
  706. white-space: nowrap;
  707. text-overflow: ellipsis;
  708. margin-left: 3px;
  709. }
  710. span {
  711. padding: 0 5px 0 0;
  712. }
  713. a {
  714. &.decline-xmpp-request {
  715. margin-left: 5px;
  716. }
  717. &.remove-xmpp-contact {
  718. float: right;
  719. width: 22px;
  720. margin: 0;
  721. display: none;
  722. color: $text-color;
  723. }
  724. }
  725. }
  726. dd:hover a.remove-xmpp-contact {
  727. display: inline-block;
  728. }
  729. dd {
  730. &.odd {
  731. background-color: #DCEAC5;
  732. /* Make this difference */
  733. }
  734. &.current-xmpp-contact span {
  735. font-size: 16px;
  736. float: left;
  737. color: $link-color;
  738. }
  739. a.open-chat {
  740. width: 80%;
  741. }
  742. }
  743. span {
  744. &.pending-contact-name {
  745. width: 80%;
  746. }
  747. &.req-contact-name {
  748. width: 69%;
  749. padding: 0;
  750. }
  751. }
  752. }
  753. #available-chatrooms {
  754. text-align: left;
  755. }
  756. #available-chatrooms dt,
  757. #converse-roster dt {
  758. font-weight: normal;
  759. color: $text-color;
  760. border: none;
  761. padding: 0.5em;
  762. text-shadow: 0 1px 0 $text-shadow-color;
  763. }
  764. .room-info {
  765. font-size: 11px;
  766. font-style: normal;
  767. font-weight: normal;
  768. }
  769. li.room-info {
  770. display: block;
  771. margin-left: 5px;
  772. }
  773. div.room-info {
  774. clear: left;
  775. }
  776. p.room-info {
  777. margin: 0;
  778. padding: 0;
  779. display: block;
  780. white-space: normal;
  781. }
  782. a {
  783. &.room-info {
  784. width: 15px;
  785. display: none;
  786. clear: right;
  787. }
  788. &.open-room {
  789. float: left;
  790. white-space: nowrap;
  791. text-overflow: ellipsis;
  792. overflow-x: hidden;
  793. }
  794. }
  795. dd.available-chatroom {
  796. display: inline-block;
  797. overflow-x: hidden;
  798. text-overflow: ellipsis;
  799. padding: 0.25em 0.5em;
  800. white-space: nowrap;
  801. a.open-room {
  802. width: 150px;
  803. }
  804. }
  805. dd.available-chatroom:hover a.room-info {
  806. display: inline-block;
  807. font-size: 14px;
  808. }
  809. dd.available-chatroom,
  810. #converse-roster dd {
  811. font-weight: bold;
  812. border: none;
  813. display: block;
  814. color: $text-color;
  815. text-shadow: 0 1px 0 $text-shadow-color;
  816. clear: both;
  817. overflow-y: hidden;
  818. }
  819. .roster-group:hover,
  820. dd.available-chatroom:hover,
  821. #converse-roster dd:hover {
  822. background-color: $highlight-color;
  823. }
  824. .chatbox,
  825. .chatroom {
  826. height: $bottom-gutter-height;
  827. float: right;
  828. margin: 0 $chat-gutter;
  829. @media screen and (max-width: $mobile_landscape_length) {
  830. margin: 0;
  831. }
  832. display: block;
  833. }
  834. .chatbox {
  835. width: $chat-width;
  836. @media screen and (max-width: $mobile_landscape_length) {
  837. width: $mobile-chat-width;
  838. }
  839. .box-flyout {
  840. z-index: 1;
  841. width: $chat-width;
  842. @media screen and (max-width: $mobile_landscape_length) {
  843. width: $mobile-chat-width;
  844. }
  845. }
  846. .dropdown {
  847. a {
  848. width: 148px;
  849. display: inline-block;
  850. line-height: $controlbox-dropdown-height;
  851. }
  852. li {
  853. list-style: none;
  854. padding-left: 0;
  855. }
  856. dd {
  857. ul {
  858. padding: 0;
  859. list-style: none;
  860. position: absolute;
  861. left: 0;
  862. top: 0;
  863. border: 1px solid $light-background-border-color;
  864. width: 100%;
  865. z-index: 21;
  866. background-color: $light-background-color;
  867. li:hover {
  868. background-color: $highlight-color;
  869. }
  870. }
  871. }
  872. dd.search-xmpp ul {
  873. box-shadow: 1px 4px 10px 1px rgba(0, 0, 0, 0.4);
  874. li:hover {
  875. background-color: $light-background-color;
  876. }
  877. }
  878. dt a span {
  879. cursor: pointer;
  880. display: block;
  881. padding: 4px 7px 0 5px;
  882. }
  883. }
  884. }
  885. .chatroom {
  886. width: $chatroom-width;
  887. .box-flyout {
  888. width: $chatroom-width;
  889. }
  890. @media screen and (max-width: $mobile_landscape_length) {
  891. width: $mobile-chat-width;
  892. .box-flyout {
  893. width: $mobile-chat-width;
  894. }
  895. }
  896. label {
  897. margin-left: 2px;
  898. font-size: 12px;
  899. }
  900. .participant-list {
  901. list-style: none;
  902. li {
  903. cursor: default;
  904. display: block;
  905. font-size: 12px;
  906. font-weight: bold;
  907. overflow: hidden;
  908. padding: 2px 5px;
  909. text-overflow: ellipsis;
  910. white-space: nowrap;
  911. &.moderator {
  912. color: #8f2831;
  913. }
  914. }
  915. }
  916. .chat-textarea {
  917. border-bottom-right-radius: 0;
  918. }
  919. .chat-area {
  920. float: left;
  921. height: 100%;
  922. width: $chat-width;
  923. }
  924. .invited-contact {
  925. margin: -1px 0 0 -1px;
  926. width: 100px;
  927. border: 1px solid #999;
  928. }
  929. .invited-contact.tt-input {
  930. background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gkBCjE0uzKkOgAAAidJREFUKM+N0k+IEnEUB/D3cyscdagkWpHV0WGWREXm0AgOGkSJ07kh2UXYU5cOewm6Bp0KXG/tpSCv6hyEFQIhMEaE3yERYfwTOoqKGLQxDAbqYadLgu7J7/XxeY/3ez8EACDLsgljfMfj8ZxUKhXXYDAAnueBoqgyAMipVOovXAuSZdnUaDQeDofDs16vFyUIAjRNUwmCoG02G1AUdZ5IJN7GYrHfm3AvEAjcnUwmX0ajUdRqtV74fL6sruufKYoa6bp+fzabPUMI7ZfL5eImNHk8npNerxc1m80XHMe98fv9H3K5XDkSibxjWfb1arWaYoyPMMbCFqxUKi6CIODw8LDmdDq7oigaAACiKK5omv7KcdylpmlIkiTHFlRVFTRNUxVFqa/ROqIoGoqi5A3DgFartfU4Jp7ngSAI2uVyPZIk6dZmUZKk2w6H4xghBPF4HK7vWLbZbDCdTp+rqvpUkiS0RvV6/bTf7x8wDHMViURqm/AGAMgURZ232+1X1Wr102KxuEwmk3lZlo/7/f7BcrkkSZKs2e12tHXH/x/gHsY4jTE+0jQNGYYBCCFgGOaKJMkfjUaDZximGQ6HXzSbzZ+ZTMbY6oIxFgqFgqPT6YAgCMBxXM1ut6N0Op0fj8chi8XyjWXZ98Fg8DuCHZLNZh+USqWP8/n8idvt/hUKhV7u7QK9Xu8fmqanAJBQVXUfAGY7TQQAKBaLN8fjsdDtdh/run72Dzhf7XLe2UevAAAAAElFTkSuQmCC ) no-repeat right 3px center;
  931. }
  932. .participants {
  933. float: right;
  934. background-color: white;
  935. overflow-y: auto;
  936. overflow-x: hidden;
  937. border-left: 1px solid #AAA;
  938. border-bottom-right-radius: 4px;
  939. width: 100px;
  940. height: 100%;
  941. label {
  942. font-size: 12px;
  943. font-style: italic;
  944. margin: 5px;
  945. display: block;
  946. }
  947. }
  948. }
  949. .chatroom-form,
  950. .controlbox-pane {
  951. background-color: white;
  952. border-bottom-left-radius: 4px;
  953. border-bottom-right-radius: 4px;
  954. border: 0;
  955. font-size: $font-size;
  956. overflow-y: auto;
  957. position: absolute;
  958. text-align: center;
  959. width: 100%;
  960. height: 289px;
  961. @include calc(height, '100% - #{$chat-head-height}');
  962. }
  963. .controlbox-pane {
  964. padding: 5px 0;
  965. overflow-y: hidden;
  966. dd {
  967. margin-left: 0;
  968. margin-bottom: 0;
  969. }
  970. dd.odd {
  971. background-color: #DCEAC5;
  972. }
  973. }
  974. #converse-register {
  975. .title {
  976. font-weight: bold;
  977. }
  978. .info {
  979. font-style: italic;
  980. color: green;
  981. font-size: 85%;
  982. margin: 5px 0;
  983. }
  984. }
  985. .form-help,
  986. #converse-register .instructions {
  987. color: gray;
  988. font-size: 85%;
  989. }
  990. .form-help:hover,
  991. #converse-register .instructions:hover {
  992. color: $text-color;
  993. }
  994. .form-help {
  995. padding-top: 5px;
  996. }
  997. #converse-register,
  998. #converse-login {
  999. background: white;
  1000. padding: 1em;
  1001. }
  1002. #converse-register input,
  1003. #converse-login input {
  1004. width: 100%;
  1005. height: 30px;
  1006. margin: 5px 0 10px 0;
  1007. padding-left: 0.5em;
  1008. }
  1009. #converse-register {
  1010. .input-group {
  1011. display: table;
  1012. margin: auto;
  1013. width: 178px;
  1014. span, input[name=username] {
  1015. display: table-cell;
  1016. }
  1017. input[name=username] {
  1018. width: 100%;
  1019. }
  1020. }
  1021. }
  1022. .cancel-submit, .save-submit {
  1023. width: 45%;
  1024. margin: 5px 3px 5px 3px;
  1025. }
  1026. .cancel, .cancel-submit {
  1027. color: $warning-color;
  1028. }
  1029. .save-submit {
  1030. color: $save-button-color;
  1031. }
  1032. .chatroom-form label,
  1033. .controlbox-pane label,
  1034. #converse-register label,
  1035. #converse-login label {
  1036. font-size: $font-size;
  1037. font-weight: bold;
  1038. height: auto;
  1039. margin: 4px;
  1040. }
  1041. #converse-register .login-submit,
  1042. #converse-login .login-submit,
  1043. #converse-register .submit,
  1044. #converse-login .submit {
  1045. height: 30px;
  1046. padding: 0px;
  1047. font-size: $font-size;
  1048. }
  1049. #converse-login .submit {
  1050. margin: 1em 0;
  1051. }
  1052. form.add-chatroom {
  1053. background: none;
  1054. padding: 0.5em;
  1055. input[type=button],
  1056. input[type=submit],
  1057. input[type=text] {
  1058. margin: 0;
  1059. width: 100%;
  1060. padding: 0.25em;
  1061. }
  1062. span.spinner,
  1063. input[type=button],
  1064. input[type=submit] {
  1065. margin-top: 0.5em;
  1066. display: table-cell;
  1067. width: auto;
  1068. }
  1069. input[type=submit] {
  1070. color: $save-button-color;
  1071. }
  1072. }
  1073. select#select-xmpp-status {
  1074. float: right;
  1075. margin-right: 0.5em;
  1076. }
  1077. /* @group Tabs */
  1078. .chat-head {
  1079. border-top-left-radius: 4px;
  1080. border-top-right-radius: 4px;
  1081. color: #ffffff;
  1082. font-size: 100%;
  1083. margin: 0;
  1084. padding: 6px;
  1085. &.controlbox-head {
  1086. background-color: $chat-head-color;
  1087. border-top-left-radius: 4px;
  1088. border-top-right-radius: 4px;
  1089. color: $chat-head-inverse-text-color;
  1090. height: $chat-head-height;
  1091. margin: 0;
  1092. padding: 6px 6px 6px 0;
  1093. }
  1094. .avatar {
  1095. float: left;
  1096. }
  1097. #controlbox-tabs {
  1098. text-align: center;
  1099. display: inline;
  1100. overflow: hidden;
  1101. font-size: 12px;
  1102. list-style-type: none;
  1103. a.current,
  1104. a.current:hover {
  1105. box-shadow: none;
  1106. border-bottom: 0;
  1107. height: $chat-head-height;
  1108. cursor: default;
  1109. color: $text-color;
  1110. }
  1111. /* single tab */
  1112. li {
  1113. float: left;
  1114. list-style: none;
  1115. padding-left: 0;
  1116. text-shadow: white 0 1px 0;
  1117. width: 38%;
  1118. a {
  1119. background-color: white;
  1120. border-bottom: 1px solid $border-color;
  1121. border-top-left-radius: 4px;
  1122. border-top-right-radius: 4px;
  1123. box-shadow: inset 2px -2px 20px rgba(0, 0, 0, 0.3);
  1124. color: #888;
  1125. display: block;
  1126. font-size: 12px;
  1127. height: $chat-head-height - 1px;
  1128. line-height: $chat-head-height - 1px;
  1129. margin: 0;
  1130. text-align: center;
  1131. text-decoration: none;
  1132. }
  1133. a:hover {
  1134. color: $text-color;
  1135. }
  1136. }
  1137. }
  1138. }
  1139. div#chatrooms {
  1140. overflow-y: auto;
  1141. }
  1142. form.sendXMPPMessage {
  1143. -moz-background-clip: padding;
  1144. -moz-border-radius: 4px;
  1145. -webkit-background-clip: padding-box;
  1146. -webkit-border-radius: 4px;
  1147. background-clip: padding-box;
  1148. background: white;
  1149. border-radius: 4px;
  1150. border-top-left-radius: 0;
  1151. border-top-right-radius: 0;
  1152. border-top: 1px solid #BBB;
  1153. border: 0;
  1154. margin: 0;
  1155. padding: 0;
  1156. position: relative;
  1157. height: #{$chat-textarea-height + $toolbar-height};
  1158. width: $chat-width;
  1159. @media screen and (max-width: $mobile_landscape_length) {
  1160. width: 100%;
  1161. }
  1162. .chat-textarea {
  1163. @include border-bottom-radius(4px);
  1164. border: 0;
  1165. height: $chat-textarea-height;
  1166. padding: 0.5em;
  1167. width: 100%;
  1168. resize: none;
  1169. }
  1170. }
  1171. .chat-toolbar {
  1172. font-size: $font-size;
  1173. margin: 0;
  1174. padding: 0 4px;
  1175. height: $toolbar-height;
  1176. display: block;
  1177. a {
  1178. color: $link-color;
  1179. }
  1180. .unencrypted a,
  1181. .unencrypted {
  1182. color: #8f2831;
  1183. }
  1184. .unverified a,
  1185. .unverified {
  1186. color: #cf5300;
  1187. }
  1188. .private a,
  1189. .private {
  1190. color: #4b7003;
  1191. }
  1192. .toggle-participants,
  1193. .toggle-clear,
  1194. .toggle-otr {
  1195. float: right;
  1196. }
  1197. li {
  1198. display: inline-block;
  1199. list-style: none;
  1200. padding: 0 3px 0 3px;
  1201. cursor: pointer;
  1202. margin-top: 1px;
  1203. }
  1204. li:hover {
  1205. cursor: pointer;
  1206. }
  1207. ul {
  1208. background: #fff;
  1209. bottom: 100%;
  1210. box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.4);
  1211. display: none;
  1212. font-size: 12px;
  1213. margin: 0 0 1px 0;
  1214. position: absolute;
  1215. right: 0;
  1216. li {
  1217. cursor: pointer;
  1218. list-style: none;
  1219. position: relative;
  1220. a:hover {
  1221. color: #8f2831;
  1222. }
  1223. }
  1224. }
  1225. .toggle-smiley {
  1226. padding-left: 5px;
  1227. ul {
  1228. li {
  1229. font-size: $font-size;
  1230. padding: 5px;
  1231. z-index: 98;
  1232. }
  1233. li:hover {
  1234. background-color: $highlight-color;
  1235. }
  1236. }
  1237. }
  1238. .toggle-otr {
  1239. ul {
  1240. li {
  1241. background-color: white;
  1242. display: block;
  1243. z-index: 99;
  1244. a {
  1245. -moz-transition: background-color 0.2s ease-in-out;
  1246. -webkit-transition: background-color 0.2s ease-in-out;
  1247. transition: background-color 0.2s ease-in-out;
  1248. display: block;
  1249. padding: 1px;
  1250. text-decoration: none;
  1251. }
  1252. }
  1253. }
  1254. }
  1255. }
  1256. .chat-toolbar-text {
  1257. font-size: 12px;
  1258. padding-right: 3px;
  1259. }
  1260. #set-custom-xmpp-status {
  1261. float: left;
  1262. padding: 0;
  1263. input {
  1264. height: $controlbox-dropdown-height + 1px;
  1265. @include calc(width, '100% - 40px');
  1266. padding: 0 0 0 0.5em;
  1267. }
  1268. button {
  1269. height: $controlbox-dropdown-height + 1px;
  1270. width: 40px;
  1271. padding: 1px;
  1272. }
  1273. }
  1274. .chat-textarea-chatbox-selected {
  1275. border: 1px solid #578308;
  1276. margin: 0;
  1277. }
  1278. .chat-textarea-chatroom-selected {
  1279. border: 2px solid $link-color;
  1280. margin: 0;
  1281. }
  1282. #controlbox {
  1283. display: none;
  1284. div.xmpp-status {
  1285. display: inline;
  1286. }
  1287. }
  1288. /* status dropdown styles */
  1289. .chatbox {
  1290. .dropdown {
  1291. background-color: $light-background-color;
  1292. dd {
  1293. position: relative;
  1294. }
  1295. }
  1296. }
  1297. .chatbox .dropdown dd,
  1298. .dropdown dt,
  1299. .dropdown ul {
  1300. margin: 0;
  1301. padding: 0;
  1302. }
  1303. .add-xmpp-contact {
  1304. background: none;
  1305. padding: 5px;
  1306. input {
  1307. margin: 0 0 1rem;
  1308. width: 100%;
  1309. }
  1310. button {
  1311. width: 100%;
  1312. }
  1313. }
  1314. .xmpp-status-menu {
  1315. text-align: left;
  1316. box-shadow: 1px 4px 10px 1px rgba(0, 0, 0, 0.4);
  1317. li {
  1318. padding: 2px;
  1319. a {
  1320. width: 100%;
  1321. padding: 0 8px;
  1322. }
  1323. }
  1324. }
  1325. .xmpp-status-menu li a.logout,
  1326. .xmpp-status-menu li a.logout span {
  1327. color: $warning-color;
  1328. }
  1329. .set-xmpp-status {
  1330. background: none;
  1331. padding: 0.5em;
  1332. .dropdown dd ul {
  1333. z-index: 22;
  1334. }
  1335. }
  1336. .minimized-chats-flyout,
  1337. .box-flyout {
  1338. border-radius: 4px;
  1339. bottom: 6px;
  1340. box-shadow: 1px 3px 5px 3px rgba(0, 0, 0, 0.4);
  1341. display: block;
  1342. height: $chat-height;
  1343. @media screen and (max-width: $mobile_landscape_length) {
  1344. height: $mobile-chat-height;
  1345. }
  1346. position: absolute;
  1347. }
  1348. .minimized-chats-flyout {
  1349. border-radius: 4px;
  1350. bottom: $bottom-gutter-height;
  1351. box-shadow: 1px 3px 5px 3px rgba(0, 0, 0, 0.4);
  1352. display: block;
  1353. position: absolute;
  1354. height: auto;
  1355. width: 130px;
  1356. .chat-head-chatroom,
  1357. .chat-head {
  1358. border-radius: 4px;
  1359. width: 130px;
  1360. height: 35px;
  1361. margin-bottom: 1px;
  1362. }
  1363. }
  1364. .minimized-chats-flyout.minimized {
  1365. height: auto;
  1366. }
  1367. .dragresize {
  1368. position: absolute;
  1369. width: $chat-width;
  1370. height: 5px;
  1371. background: transparent;
  1372. border: 0;
  1373. top: 0;
  1374. margin-left: 0;
  1375. cursor: n-resize;
  1376. z-index: 20;
  1377. }
  1378. }