_global.scss 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. * {
  2. box-sizing: border-box;
  3. }
  4. html {
  5. height: 100%;
  6. }
  7. body {
  8. position: relative;
  9. height: 100%;
  10. width: 100%;
  11. margin: 0;
  12. font-family: $roboto;
  13. font-size: 14px;
  14. }
  15. .clearfix:before,
  16. .clearfix:after {
  17. display: table;
  18. content: " ";
  19. }
  20. .clearfix:after {
  21. clear: both;
  22. }
  23. .hide {
  24. display: none;
  25. }
  26. #header {
  27. h1 {
  28. margin: 0;
  29. line-height: $header-height;
  30. padding-left: 20px;
  31. font-size: 22px;
  32. font-weight: normal;
  33. }
  34. }
  35. .conversation-header button,
  36. .title-bar button {
  37. width: $button-height;
  38. height: $button-height;
  39. line-height: $button-height;
  40. padding: 0;
  41. border: 0;
  42. outline: 0;
  43. }
  44. button {
  45. cursor: pointer;
  46. font-size: inherit;
  47. }
  48. button.grey {
  49. border-radius: $border-radius;
  50. border: solid 1px #ccc;
  51. cursor: pointer;
  52. margin: 1em auto;
  53. padding: 1em;
  54. font-family: inherit;
  55. color: $grey;
  56. background: $grey_l;
  57. box-shadow: 0 0 10px -5px rgba($grey, 0.5);
  58. &:hover {
  59. box-shadow: 0 0 10px -3px rgba($grey, 0.7);
  60. }
  61. &[disabled=disabled] {
  62. &, &:hover {
  63. opacity: 0.5;
  64. box-shadow: none;
  65. cursor: default;
  66. }
  67. }
  68. }
  69. a { color: $blue; }
  70. button.back {
  71. @include header-icon-black('/images/back.svg');
  72. }
  73. button.clock {
  74. @include header-icon-black('/images/clock.svg');
  75. }
  76. button.hamburger {
  77. @include header-icon-black('/images/menu.svg');
  78. }
  79. ::-webkit-scrollbar {
  80. width: 10px;
  81. }
  82. ::-webkit-scrollbar-track {
  83. }
  84. ::-webkit-scrollbar-thumb {
  85. background: rgba(0,0,0,0.15);
  86. border-radius: $border-radius;
  87. &:hover {
  88. background: rgba(0,0,0,0.25);
  89. }
  90. }
  91. .header-buttons {
  92. &.left {
  93. float: left;
  94. padding-left: 10px;
  95. }
  96. &.right {
  97. float: right;
  98. padding-right: 10px;
  99. }
  100. height: 0;
  101. .vertical-align {
  102. height: $header-height;
  103. vertical-align: middle;
  104. display: table-cell;
  105. }
  106. }
  107. .conversation-header .timer-menu {
  108. margin-right: 10px;
  109. &:before {
  110. content: attr(data-time);
  111. display: inline-block;
  112. position: absolute;
  113. bottom: -10px;
  114. height: 10px;
  115. width: 100%;
  116. text-align: center;
  117. font-size: 8px;
  118. font-weight: bold;
  119. }
  120. }
  121. .menu {
  122. position: relative;
  123. float: right;
  124. .hamburger {
  125. width: $button-height;
  126. height: $button-height;
  127. vertical-align: middle;
  128. }
  129. .menu-list {
  130. display: none;
  131. position: absolute;
  132. color: $grey_d;
  133. z-index: 50;
  134. text-align: initial;
  135. top: 100%;
  136. right: 0;
  137. margin: 0;
  138. padding: 0;
  139. background-color: white;
  140. box-shadow: 0 0 1px 1px rgba(0,0,0, 0.2);
  141. li {
  142. display: block;
  143. white-space: nowrap;
  144. cursor: pointer;
  145. padding: 5px 15px 5px 10px;
  146. &:hover {
  147. background-color: $grey_l;
  148. }
  149. }
  150. }
  151. }
  152. .file-input {
  153. position: relative;
  154. .choose-file {
  155. cursor: pointer;
  156. padding-left: 10px;
  157. }
  158. .paperclip {
  159. width: 36px;
  160. height: 100%;
  161. padding: 5px 0 0;
  162. opacity: 0.5;
  163. border: none;
  164. background: transparent;
  165. &:before {
  166. content: '';
  167. display: inline-block;
  168. width: $button-height;
  169. height: $button-height;
  170. @include color-svg('/images/paperclip.svg', $grey);
  171. transform: rotateZ(-45deg);
  172. }
  173. &:focus, &:hover {
  174. opacity: 1.0;
  175. }
  176. }
  177. input[type=file] {
  178. display: none;
  179. position: absolute;
  180. width: 100%;
  181. height: 100%;
  182. opacity: 0;
  183. top: 0;
  184. left: 0;
  185. cursor: pointer;
  186. z-index: 1;
  187. }
  188. }
  189. .dropoff {
  190. outline: solid 1px #2090ea;
  191. }
  192. $avatar-size: 44px;
  193. .avatar {
  194. display: inline-block;
  195. height: $avatar-size;
  196. width: $avatar-size;
  197. border-radius: 50%;
  198. background-size: cover;
  199. vertical-align: middle;
  200. text-align: center;
  201. line-height: $avatar-size;
  202. overflow-x: hidden;
  203. text-overflow: ellipsis;
  204. color: white;
  205. font-size: 18px;
  206. @include avatar-colors;
  207. }
  208. .group-info-input {
  209. background: white;
  210. .group-avatar {
  211. display: inline-block;
  212. padding: 2px 0px 0px 2px;
  213. }
  214. .file-input .thumbnail, .thumbnail .avatar,
  215. img {
  216. height: 54px;
  217. width: 54px;
  218. border-radius: (54px / 2);
  219. }
  220. .thumbnail:after {
  221. content: '';
  222. position: absolute;
  223. height: 0;
  224. width: 0;
  225. bottom: 0;
  226. right: 0;
  227. border-bottom: 10px solid $grey;
  228. border-left: 10px solid transparent;
  229. }
  230. input.name {
  231. padding: 0.5em;
  232. border: solid 1px #ccc;
  233. border-width: 0 0 1px 0;
  234. width: calc(100% - 84px);
  235. }
  236. }
  237. .group-member-list,
  238. .new-group-update {
  239. .members .contact {
  240. box-shadow: none;
  241. border-bottom: 1px solid #eee;
  242. .last-message, .last-timestamp {
  243. display: none;
  244. }
  245. }
  246. }
  247. .conversation-list-item {
  248. cursor: pointer;
  249. &:hover {
  250. background: #f8f8f8;
  251. }
  252. .number {
  253. display: none;
  254. }
  255. .unread-count {
  256. float: right;
  257. margin: 3px 10px 0 20px;
  258. display: inline-block;
  259. padding: 0 3px;
  260. min-width: $unread-badge-size;
  261. height: $unread-badge-size;
  262. line-height: $unread-badge-size;
  263. font-size: 12px;
  264. font-weight: bold;
  265. text-align: center;
  266. border-radius: $border-radius;
  267. background-color: $blue;
  268. color: white;
  269. border: solid 1px rgba(255,255,255,0.6);
  270. }
  271. }
  272. .inactive .contact.selected {
  273. padding-left: 8px;
  274. border-left: 4px solid $blue;
  275. }
  276. .contact {
  277. position: relative;
  278. padding: 12px;
  279. white-space: nowrap;
  280. overflow: hidden;
  281. background: rgba(255,255,255,0.6);
  282. margin: 1px;
  283. &.selected {
  284. background: rgb(236, 243, 252);
  285. }
  286. &:first-child {
  287. margin-top: 0;
  288. }
  289. &:last-child::after {
  290. display: none;
  291. }
  292. }
  293. .contact-details {
  294. $left-margin: 8px;
  295. vertical-align: middle;
  296. display: inline-block;
  297. margin: 0 0 0 $left-margin;
  298. width: calc(100% - #{$avatar-size} - #{$left-margin} - #{(4/14) + em});
  299. text-align: left;
  300. p {
  301. overflow-x: hidden;
  302. text-overflow: ellipsis;
  303. }
  304. .name {
  305. display: block;
  306. margin: 0;
  307. font-size: 1em;
  308. text-overflow: ellipsis;
  309. overflow-x: hidden;
  310. text-align: left;
  311. }
  312. .number {
  313. color: $grey;
  314. font-size: $font-size-small;
  315. }
  316. }
  317. .recipients-input {
  318. position: relative;
  319. .recipients-container {
  320. background-color: white;
  321. padding: 2px;
  322. border-bottom: 1px solid #f2f2f2;
  323. line-height: 24px;
  324. }
  325. .recipient {
  326. display: inline-block;
  327. margin: 0 2px 2px 0;
  328. padding: 0 5px;
  329. border-radius: 10px;
  330. background-color: $blue;
  331. color: white;
  332. &.error {
  333. background-color: #f00;
  334. }
  335. .remove {
  336. margin-left: 5px;
  337. padding: 0 2px;
  338. }
  339. }
  340. .results {
  341. position: absolute;
  342. z-index: 10;
  343. margin: 0 0 0 20px;
  344. width: calc(100% - 30px);
  345. max-width: 300px;
  346. max-height: 55px * 3;
  347. overflow-y: auto;
  348. box-shadow: 0px 0px 1px rgba(#aaa, 0.8);
  349. .contact {
  350. cursor: pointer;
  351. }
  352. }
  353. }
  354. .attachment-preview {
  355. display: inline-block;
  356. position: relative;
  357. img {
  358. max-width: 100%;
  359. }
  360. }
  361. .new-conversation .recipients-input .recipients::before {
  362. content: 'To: ';
  363. }
  364. .new-group-update .recipients-input .recipients::before {
  365. content: 'Add: ';
  366. }
  367. .loading {
  368. position: relative;
  369. &::before {
  370. display: block;
  371. margin: 0px auto;
  372. content: " ";
  373. height: $loading-height;
  374. width: $loading-height;
  375. border-radius: 2 * $loading-height;
  376. border: solid 3px;
  377. border-color: $blue_l $blue_l $grey_l $grey_l !important;
  378. animation: rotate 1s linear infinite;
  379. }
  380. @keyframes rotate {
  381. to { transform: rotate(360deg); }
  382. }
  383. }
  384. .x {
  385. display: inline-block;
  386. float: right;
  387. cursor: pointer;
  388. border-radius: 50%;
  389. width: 22px;
  390. height: 22px;
  391. padding: 3px;
  392. background: $grey;
  393. &:before {
  394. content: '';
  395. display: block;
  396. width: 100%;
  397. height: 100%;
  398. @include color-svg('/images/x.svg', white);
  399. }
  400. }
  401. input[type=text], input[type=search], textarea {
  402. &:active, &:focus {
  403. outline: 1px solid $blue;
  404. }
  405. }
  406. .expiredAlert {
  407. background: #F3F3A7;
  408. padding: 10px;
  409. line-height: 36px;
  410. button {
  411. float: right;
  412. border: none;
  413. border-radius: $border-radius;
  414. color: white;
  415. font-weight: bold;
  416. line-height: 36px;
  417. padding: 0 20px;
  418. background: $blue;
  419. margin-left: 20px;
  420. }
  421. }
  422. //yellow border fix
  423. .inbox:focus {
  424. outline: none;
  425. }