blob: 2c41798ddbe3e695350907fc48f3e4fe4513a543 [file] [log] [blame]
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -04001/** Variable and font definitions */
Adrien Beraud8e25afb2017-04-19 01:38:57 +02002
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -04003:root {
4 /* color definitions */
5 --ring-light-blue: rgba(59, 193, 211, 0.3);
6 --ring-dark-blue: #003b4e;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -04007
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -04008 /* main properties */
9 --bg-color: #f2f2f2; /* same as macOS client */
Sébastien Blinf4f90282017-10-03 14:07:16 -040010
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040011 /* navbar properties */
12 --navbar-height: 40px;
13 --navbar-padding-top: 8px;
14 --navbar-padding-bottom: var(--navbar-padding-top);
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -040015
16 /* message bar properties */
17 --textarea-max-height: 150px;
Sébastien Blinf4f90282017-10-03 14:07:16 -040018
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040019 /* button properties */
20 --action-icon-color: var(--ring-dark-blue);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040021 --deactivated-icon-color: #BEBEBE;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040022 --action-icon-hover-color: var(--ring-light-blue);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040023 --action-critical-icon-hover-color: rgba(211, 77, 59, 0.3); /* complementary color of ring light blue */
24 --action-critical-icon-press-color: rgba(211, 77, 59, 0.5);
25 --action-critical-icon-color: #4E1300;
26 --non-action-icon-color: #212121;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040027 --action-icon-press-color: rgba(59, 193, 211, 0.5);
Sébastien Blinf4f90282017-10-03 14:07:16 -040028
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040029 /* hairline properties */
30 --hairline-color: #d9d9d9;
31 --hairline-thickness: 0.2px;
aviau32b8dd62016-11-02 00:36:57 -040032}
33
Hugo Lefeuvre9186c602018-05-03 10:44:15 -040034@font-face {
35 font-family: emoji;
36
37 /* Fonts for text outside emoji blocks */
38 src: local('Open sans'),
39 local('Helvetica'),
40 local('Segoe UI'),
41 local('sans-serif');
42}
43
44@font-face {
45 font-family: emoji;
46
47 src: local('Noto Color Emoji'),
48 local('Android Emoji'),
49 local('Twitter Color Emoji');
50
51 /* Emoji unicode blocks */
52 unicode-range: U+1F300-1F5FF, U+1F600-1F64F, U+1F680-1F6FF, U+2600-26FF;
53}
54
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040055/** Body */
56
57body {
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -040058 --navbar-size: calc(var(--navbar-height) + var(--navbar-padding-top) + var(--navbar-padding-bottom));
59 --messagebar-size: 57px; /* FIXME clean this up */
60
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040061 margin: 0;
62 overflow: hidden;
63 background-color: var(--bg-color);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040064 padding-top: var(--navbar-size);
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040065 padding-bottom: var(--messagebar-size);
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -040066
67 /* disable selection highlight because it looks very bad */
68 -webkit-user-select: none;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -040069}
70
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040071/** Navbar */
72
73.navbar-wrapper {
74 /* on top, over everything and full width */
75 position: fixed;
76 left:0; right:0;
77 z-index: 500;
78 top: 0;
79}
80
81#navbar {
82 background-color: var(--bg-color);
83 padding-right: 8px;
84 padding-left: 8px;
85 padding-top: var(--navbar-padding-top);
86 padding-bottom: var(--navbar-padding-bottom);
87 height: var(--navbar-height);
88 overflow: hidden;
89 align-items: center;
90
91 /* takes whole width */
92 left:0; right:0;
93
94 /* hairline */
95 border-bottom: var(--hairline-thickness) solid var(--hairline-color);
Hugo Lefeuvreedad8832018-05-14 16:36:06 -040096}
97
98#navbar.hiddenState {
99 visibility: hidden;
100}
101
102.svgicon {
103 display: block;
104 margin: auto;
105 height: 100%;
106}
107
108.nav-button {
109 width: 40px;
110 height: 40px;
111 align-self: center;
112 display: flex;
113 cursor: pointer;
114 border-radius: 50%;
115}
116
117.nav-button.deactivated {
118 width: 40px;
119 height: 40px;
120 align-self: center;
121 display: flex;
122 border-radius: 50%;
123 cursor: auto;
124}
125
126.nav-right {
127 float: right;
128}
129
130.nav-left {
131 float: left;
132}
133
134#nav-contactid {
135 margin: 0px;
136 margin-left: 5px;
137 padding: 0px;
138 height: 100%;
139 font-family: emoji;
140
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400141 /* enable selection (it is globally disabled in the body) */
Hugo Lefeuvreedad8832018-05-14 16:36:06 -0400142 -webkit-user-select: auto;
143}
144
145#nav-contactid.oneEntry {
146 display: flex;
147 justify-content: center;
148 align-items: center;
149}
150
151#nav-contactid-alias {
152 font-size: 14px;
153 font-weight: bold;
154 margin: 5px 0px 3px;
155}
156
157#nav-contactid-bestId {
158 font-size: 11px;
159}
160
161.oneEntry #nav-contactid-bestId {
162 visibility: hidden;
163}
164
165.action-button svg {
166 fill: var(--action-icon-color);
167}
168
169.action-button.deactivated svg {
170 fill: var(--deactivated-icon-color);
171}
172
173.non-action-button svg {
174 fill: var(--non-action-icon-color);
175}
176
177.non-action-button:hover, .action-button:hover {
178 background: var(--action-icon-hover-color);
179}
180
181.non-action-button:active, .action-button:active {
182 background: var(--action-icon-press-color);
183}
184
185.action-button.deactivated:hover, .action-button.deactivated:active {
186 background: none;
187}
188
189.action-critical-button svg {
190 fill: var(--action-critical-icon-color);
191}
192
193.action-critical-button:hover {
194 background: var(--action-critical-icon-hover-color);
195}
196
197.action-critical-button:active {
198 background: var(--action-critical-icon-press-color);
199}
200
201#navbar #addBannedContactButton, #navbar #addToConversationsButton {
202 display: none;
203}
204
205#navbar.onBannedState #addToConvButton, #navbar.onBannedState #callButtons, #navbar.onBannedState #addToConversationsButton {
206 display: none;
207}
208
209#navbar.onBannedState #addBannedContactButton {
210 display: flex;
211}
212
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400213/** Invitation bar */
214
215#invitation {
216 visibility: hidden;
217 background: var(--ring-light-blue);
218 position: absolute;
219 width: 100%;
220
221 /* hairline */
222 border-bottom: var(--hairline-thickness) solid var(--hairline-color);
223}
224
225#actions
226{
227 margin: 10px;
228 list-style: none;
229 display: flex;
230 align-items: center;
231 justify-content: center;
232}
233
234.invitation-button,
235.flat-button {
236 margin: 5px;
237 border: 0;
238 border-radius: 5px;
239 transition: all 0.3s ease;
Hugo Lefeuvreedad8832018-05-14 16:36:06 -0400240 color: #f9f9f9;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400241 padding: 10px 20px 10px 20px;
242 vertical-align: middle;
243 cursor: pointer;
244}
245
246.button-green {
247 background: #27ae60;
248}
249
250.button-green:hover {
251 background: #1f8b4c;
252}
253
254.button-red {
255 background: #dc3a37;
256}
257
258.button-red:hover {
259 background: #b02e2c;
260}
261
262#invitation #text h1 {
263 font-size: 1.5em;
264}
265
266#invitation #text {
267 text-align: center;
268 width: 90%;
269 margin: auto;
270 margin-top: 10px;
271 font-size: 0.8em;
272}
273
274/** Messaging bar */
275
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400276#sendMessage {
277 background-color: var(--bg-color);
278 display: flex;
279 position: relative;
280 padding-right: 10px;
281 padding-left: 8px;
282 overflow: hidden;
283 padding-top: 8px;
284 padding-bottom: 8px;
285 align-items: center;
286
287 position: fixed;
288 left:0; right:0;
289 z-index: 500;
290 bottom: 0;
291 /* hairline */
292 border-top: var(--hairline-thickness) solid var(--hairline-color);
293}
294
295#sendMessage.hiddenState {
296 visibility: hidden;
297}
298
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400299#message {
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400300 font-family: emoji;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400301 flex: 1;
302 background-color: var(--bg-color);
303 border: 0;
304 overflow-y: scroll;
305 color: black;
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400306 max-height: var(--textarea-max-height);
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400307 margin-right: 10px;
308 resize: none;
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400309
310 /* enable selection (it is globally disabled in the body) */
311 -webkit-user-select: auto;
Hugo Lefeuvre8127fe12018-05-23 10:53:12 -0400312}
313
314#message:focus,
315#message.focus {
316 outline: none;
317}
318
319#container[disabled] {
320 background-color: #ccc;
321}
322
323input[placeholder], [placeholder], *[placeholder] {
324 color: #d3d3d3;
325}
326
327/** Main chat view */
328
329#container {
330 position: relative;
331 height: 100%;
332 width: 100%;
333 display: flex;
334 flex-direction: column;
335 margin: 0;
336 padding: 0;
337 justify-content: flex-end;
338}
339
340a:link {
341 text-decoration: none;
342 color: #0e649b;
343 transition: all 0.2s ease-in-out;
344 border-bottom: dotted 1px;
345}
346
347a:hover {
348 border: 0;
349}
350
351#messages {
352 position: relative;
353 z-index: 0;
354 width: 100%;
355 overflow-y: scroll;
356 height: auto;
357 padding-top: 0.5em;
358 padding-bottom: 1em;
359}
360
361/* General messages */
362
363.wc {
364 will-change: transform;
365}
366
367.message_wrapper {
368 transform: scale(0);
369 max-width: 70%;
370 margin: 8px 0 0 0;
371 display: inline-block;
372 padding: 1em;
373 border-radius: 10px;
374 position: relative;
375 -webkit-animation: talk;
376 -webkit-animation-duration: 0.3s;
377 -webkit-animation-delay: 0.1s;
378 -webkit-animation-fill-mode: forwards;
379 -webkit-animation-timing-function: ease-in-out;
380}
381
aviau32b8dd62016-11-02 00:36:57 -0400382.message {
Hugo Lefeuvre9186c602018-05-03 10:44:15 -0400383 font: 0.875em emoji;
aviau32b8dd62016-11-02 00:36:57 -0400384 margin: 0;
385 display: flex;
386 justify-content: flex-start;
387 align-items: top;
388 overflow: hidden;
Hugo Lefeuvre368c47c2018-05-29 15:50:07 -0400389
390 /* enable selection (it is globally disabled in the body) */
391 -webkit-user-select: auto;
aviau32b8dd62016-11-02 00:36:57 -0400392}
393
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400394.menu_interaction
395{
396 margin: 5px;
397 padding: 10px;
398 padding-top: 0;
399 opacity: 0;
400 height: 20px;
401 transition:visibility 0.3s linear,opacity 0.3s linear;
402}
403
404.message_type_contact .menu_interaction
405{
406 display: none;
407 visibility: hidden;
408}
409
410.message_type_call .menu_interaction
411{
412 margin: auto;
413 padding: 0;
414 vertical-align: center;
415}
416
417.message_type_call .menu_interaction .dropdown
418{
419 margin-top: -17px;
420}
421
422.message:hover .menu_interaction
423{
424 display: block;
425 opacity: 1;
426}
427
428.dropdown {
429 display: none;
430 z-index: 1;
431 position: absolute;
432 background-color: #fff;
433 padding-top: 3px;
434 padding-bottom: 3px;
435}
436
437.dropdown div
438{
439 color: #111;
440 padding: 10px;
441}
442
443.dropdown div:hover
444{
445 background-color: #ddd;
446}
447
448#showmenu:checked ~ .dropdown{
449 display:block;
450}
451
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400452.message_in {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400453 padding-left: 25%;
AmarOk6286ad42017-07-14 12:11:08 -0400454}
455
aviau32b8dd62016-11-02 00:36:57 -0400456.message_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400457 padding-right: 25%;
458 flex-direction: row-reverse;
Sébastien Blinc6f3a262017-07-28 16:12:24 -0400459}
460
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400461.message_in + .message_in .sender_image {
462 opacity: 0;
463}
464
465.message_out + .message_out .sender_image {
466 opacity: 0;
467}
468
469.message_in > .message_wrapper:before {
470 content: "";
471 width: 10px;
472 height: 10px;
473 position: absolute;
474 left: -10px;
475 top: 0;
476 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E %3Cpath d= 'M10,0 L0,0 C10,0 10,10 10,10' fill='%23fdfdfd'/%3E %3C/svg%3E");
477 transform-origin: top left;
478}
479
480.message_in + .message_in > .message_wrapper:before {
481 display: none;
482}
483
484.message_out + .message_out > .message_wrapper:after {
485 display: none;
486}
487
488.message_out > .message_wrapper:after {
489 content: "";
490 width: 10px;
491 height: 10px;
492 position: absolute;
493 right: -10px;
494 top: 0;
495 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E %3Cpath d= 'M0,0 L10,0 C0,0 0,10 0,10' fill='%23cfd8dc'/%3E %3C/svg%3E");
496 transform-origin: top right;
497}
498
499.message_delivery_status {
500 margin: 10px 10px;
501 color: #A0A0A0;
502 opacity: 0;
503 -webkit-animation-name: fade-in;
504 -webkit-animation-duration: 0.2s;
505 -webkit-animation-timing-function: ease-in-out;
506 -webkit-animation-delay: 0.4s;
507 -webkit-animation-fill-mode: forwards;
508 transition: opacity 0.5s ease-in-out;
509}
510
aviau32b8dd62016-11-02 00:36:57 -0400511.message_sender {
512 display: none;
513}
514
515.sender_image {
516 border-radius: 50%;
517 transition: transform 0.2s ease-in-out;
Frédéric Guimont3e5f1b62016-11-22 11:41:38 -0500518 margin: 10px;
aviau32b8dd62016-11-02 00:36:57 -0400519}
520
521.message_in .sender_image {
522 -webkit-animation-name: enter-stage-left;
523 -webkit-animation-duration: 0.2s;
524 -webkit-animation-timing-function: ease-in-out;
525}
526
527.message_out .sender_image {
528 -webkit-animation-name: enter-stage-right;
529 -webkit-animation-duration: 0.2s;
530 -webkit-animation-timing-function: ease-in-out;
531}
532
533@-webkit-keyframes enter-stage-left {
534 from {
535 transform: translateX(-100%);
536 }
537 to {
538 transform: translateX(0);
539 }
540}
541
542@-webkit-keyframes enter-stage-right {
543 from {
544 transform: translateX(100%);
545 }
546 to {
547 transform: translateX(0);
548 }
549}
550
551.message_out > .message_wrapper {
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400552 background-color: #cfd8dc;
aviau32b8dd62016-11-02 00:36:57 -0400553 border-top-right-radius: 0;
554 transform-origin: top right;
555}
556
557.message_out + .message_out > .message_wrapper {
558 border-top-right-radius: 10px;
559}
560
561.message_in > .message_wrapper {
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400562 background-color: #fdfdfd;
aviau32b8dd62016-11-02 00:36:57 -0400563 border-top-left-radius: 0;
564 transform-origin: top left;
565}
566
567.message_in + .message_in > .message_wrapper {
568 border-top-left-radius: 10px;
569}
570
aviau32b8dd62016-11-02 00:36:57 -0400571
572@-webkit-keyframes fade-in {
573 from {
574 opacity: 0;
575 }
576 to {
577 opacity: 1;
578 }
579}
580
aviau32b8dd62016-11-02 00:36:57 -0400581@-webkit-keyframes talk {
582 from {
583 transform: scale(0);
584 }
585 to {
586 transform: scale(1);
587 }
588}
589
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400590.timestamp {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400591 display: flex;
592 justify-content: flex-start;
593 color: #333;
594 font-size: 10px;
595 padding: 5px;
aviau32b8dd62016-11-02 00:36:57 -0400596}
597
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400598.timestamp_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400599 flex-direction: row-reverse;
aviau32b8dd62016-11-02 00:36:57 -0400600}
601
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400602/* Buttons */
603
604.flat-button {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400605 flex: 1;
606 padding: 0;
aviau32b8dd62016-11-02 00:36:57 -0400607}
608
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400609.left_buttons {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400610 display: flex;
611 align-self: center;
612 max-width: 90px;
613 padding-left: 1em;
aviau32b8dd62016-11-02 00:36:57 -0400614}
615
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400616/* Status */
617
618.status_circle {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400619 fill: #A0A0A0;
620 -webkit-animation: circle-dance;
621 -webkit-animation-duration: 0.8s;
622 -webkit-animation-iteration-count: infinite;
623 -webkit-animation-direction: alternate;
624 -webkit-animation-timing-function: ease-in-out;
aviau32b8dd62016-11-02 00:36:57 -0400625}
Sébastien Blinf4f90282017-10-03 14:07:16 -0400626
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400627.anim-first {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400628 -webkit-animation-delay: 0.7s;
Sébastien Blinf4f90282017-10-03 14:07:16 -0400629}
630
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400631.anim-second {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400632 -webkit-animation-delay: 0.9s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400633}
634
635.anim-third {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400636 -webkit-animation-delay: 1.1s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400637}
638
639@-webkit-keyframes circle-dance {
640 0%,50% {
641 -webkit-transform: translateY(0);
642 fill: #A0A0A0;
643 }
644 100% {
645 -webkit-transform: translateY(-8px);
646 fill: #000;
647 }
648}
649
650.status-x {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400651 stroke-dasharray: 12;
652 stroke-dashoffset: 12;
653 -webkit-animation: dash-x;
654 -webkit-animation-duration: 0.2s;
655 -webkit-animation-fill-mode: forwards;
656 -webkit-animation-timing-function: ease-in-out;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400657}
658
659.x-first {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400660 -webkit-animation-delay: 0.7s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400661}
662
663.x-second {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400664 -webkit-animation-delay: 0.9s;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400665}
666
667@-webkit-keyframes dash-x{
668 from {
669 stroke-dashoffset: 12;
670 }
671 to {
672 stroke-dashoffset: 0;
673 }
674}
675
676/* Contact + Call interactions */
677.message_type_contact .message_wrapper,
678.message_type_call .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400679 width: auto;
680 margin-left: 30%;
681 margin-right: 30%;
682 display: flex;
683 flex-wrap: wrap;
684 background-color: #f2f2f2;
685 padding: 0;
Sébastien Blinf4f90282017-10-03 14:07:16 -0400686}
687
Sébastien Blinf4f90282017-10-03 14:07:16 -0400688.message_type_contact .message_wrapper:before,
689.message_type_call .message_wrapper:before {
690 display: none;
691}
692
693.message_type_call .message_wrapper:after,
694.message_type_contact .message_wrapper:after {
695 display: none;
696}
697
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400698.message_type_contact .text,
699.message_type_call .text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400700 align-self: center;
701 font-size: 1.2em;
702 padding: 1em;
Sébastien Blinf4f90282017-10-03 14:07:16 -0400703}
704
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400705/* file interactions */
Sébastien Blinf4f90282017-10-03 14:07:16 -0400706
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400707.message_type_data_transfer .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400708 padding: 0;
709 width: 30%;
710 display: flex;
711 flex-wrap: wrap;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500712}
713
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400714.accept, .refuse {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400715 border-radius: 50%;
716 cursor: pointer;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400717}
718
719.accept svg,
720.refuse svg {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400721 padding: 8px;
722 width: 24px;
723 height: 24px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400724}
725
726.accept {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400727 fill: #219d55;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400728}
729
730.accept:hover {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400731 fill: white;
732 background: #219d55;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400733}
734
735.refuse {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400736 fill: #dc2719;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400737}
738
739.refuse:hover {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400740 fill: white;
741 background: #dc2719;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400742}
743
744.message_type_data_transfer .text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400745 padding: 1em;
746 text-align: left;
747 align-self: left;
748 max-width: calc(100% - 180px);
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400749}
750
751.message_type_data_transfer .filename {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400752 cursor: pointer;
753 font-size: 1.1em;
754 overflow: hidden;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500755}
756
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400757.message_type_data_transfer .informations {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400758 color: #555;
759 font-size: 0.8em;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500760}
761
762.message_progress_bar {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400763 width: 100%;
764 height: 1em;
765 position: relative;
766 overflow: hidden;
767 background-color: #eee;
768 border-radius: 0;
769 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500770}
771
772.message_progress_bar > span {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400773 display: inline;
774 height: 100%;
775 background-color: #01a2b8;
776 position: absolute;
777 overflow: hidden;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500778}
779
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400780/* text interactions */
781
782.message_type_text .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400783 max-width: 40%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400784}
785
786.message_type_text .message_text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400787 padding: 0px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400788}
789
790.message_text {
791 hyphens: auto; /* When webkitgtk+ will supports this, intelligent word-breaking */
792 word-break: break-word;
793 word-wrap: break-word;
794 display: block;
795}
796
797pre {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400798 font : inherit;
799 font-family : inherit;
800 font-size : inherit;
801 font-style : inherit;
802 font-variant : inherit;
803 font-weight : inherit;
804 margin: 0;
805 padding: 0;
Guillaume Roguez5b137be2018-02-21 10:44:58 -0500806}
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400807
808/* Media interactions */
809.media_wrapper img {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400810 max-width: 800px;
811 max-height: 700px;
812 margin: 5px 0 0 0;
813 border-radius: 10px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400814}
815
816.playVideo {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400817 background-color: rgba(0, 0, 0, 0.6);
818 height: 50px;
819 width: 50px;
820 border-radius: 5px;
821 float: right;
822 position: absolute;
823 top: calc(50% - 25px);
824 left: calc(50% - 25px);
825 z-index: 3;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400826}
827
828.containerVideo {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400829 width: 100%;
830 position: relative;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400831}
832
833.playVideo svg {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400834 height: 40px;
835 width: 40px;
836 margin: 5px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400837}
838
839/* Text interaction */
840.failure,
841.sending {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400842 margin: 10px 10px;
843 color: #A0A0A0;
844 opacity: 0;
845 -webkit-animation-name: fade-in;
846 -webkit-animation-duration: 0.2s;
847 -webkit-animation-timing-function: ease-in-out;
848 -webkit-animation-delay: 0.4s;
849 -webkit-animation-fill-mode: forwards;
850 transition: opacity 0.5s ease-in-out;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400851}
852
853/* Classic screens */
854@media screen and (max-width: 1920px), screen and (max-height: 1080px) {
855 .message_in {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400856 padding-left: 15%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400857 }
858
859 .message_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400860 padding-right: 15%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400861 }
862
863 .message_type_text .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400864 max-width: 60%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400865 }
866
867 /* File interactions */
868 .message_type_data_transfer .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400869 width: 40%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400870 }
871
872 /* Media interactions */
873 .media_wrapper img {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400874 max-width: 450px;
875 max-height: 450px;
876 }
877
878 .menu_interaction
879 {
880 margin: 5px;
881 padding: 2px;
882 height: 10px;
883 font-size: 0.7em;
884 transition:visibility 0.3s linear,opacity 0.3s linear;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400885 }
886}
887
888/* lower resolutions */
889@media screen and (max-width: 1000px), screen and (max-height: 480px) {
890 .message_in {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400891 padding-left: 0;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400892 }
893
894 .message_out {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400895 padding-right: 0;
896 }
897
898 .message_type_contact,
899 .message_type_call {
900 max-width: 100%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400901 }
902
903 .message_type_text .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400904 max-width: 90%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400905 }
906
907 /* File interactions */
908 .message_type_data_transfer .message_wrapper {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400909 width: 70%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400910 }
911
912 /* Media interactions */
913 .media_wrapper img {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400914 max-width: 200px;
915 max-height: 200px;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400916 }
917}
918
919/* Special case */
920@media screen and (max-width: 300px) {
921 .sender_image {
922 visibility: hidden;
923 display: none;
924 }
925
926 /* File interactions */
927 .message_type_data_transfer .left_buttons {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400928 max-width: 100%;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400929 }
930
931 .message_type_data_transfer .text {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400932 max-width: 100%;
933 padding-left: 0;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400934 }
935}
936
937.message_type_contact .message_wrapper:hover .timestamp_action,
938.message_type_call .message_wrapper:hover .timestamp_action {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400939 opacity: 1;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400940}
941
942.timestamp_action {
Sébastien Blind2ea6dd2018-04-18 11:35:33 -0400943 margin: auto;
944 padding: 0;
945 vertical-align: center;
946 opacity:0;
947 transition:visibility 0.3s linear,opacity 0.3s linear;
Sébastien Blin82d0d2d2018-03-14 17:21:42 -0400948}