]> cat aescling's git repositories - mastodon.git/blob - app/javascript/styles/mastodon/components.scss
Avoid using JS to set height in MediaModal (#6750)
[mastodon.git] / app / javascript / styles / mastodon / components.scss
1 .app-body {
2 -webkit-overflow-scrolling: touch;
3 -ms-overflow-style: -ms-autohiding-scrollbar;
4 }
5
6 .button {
7 background-color: darken($ui-highlight-color, 3%);
8 border: 10px none;
9 border-radius: 4px;
10 box-sizing: border-box;
11 color: $primary-text-color;
12 cursor: pointer;
13 display: inline-block;
14 font-family: inherit;
15 font-size: 14px;
16 font-weight: 500;
17 height: 36px;
18 letter-spacing: 0;
19 line-height: 36px;
20 overflow: hidden;
21 padding: 0 16px;
22 position: relative;
23 text-align: center;
24 text-transform: uppercase;
25 text-decoration: none;
26 text-overflow: ellipsis;
27 transition: all 100ms ease-in;
28 white-space: nowrap;
29 width: auto;
30
31 &:active,
32 &:focus,
33 &:hover {
34 background-color: lighten($ui-highlight-color, 7%);
35 transition: all 200ms ease-out;
36 }
37
38 &:disabled {
39 background-color: $ui-primary-color;
40 cursor: default;
41 }
42
43 &.button-primary,
44 &.button-alternative,
45 &.button-secondary,
46 &.button-alternative-2 {
47 font-size: 16px;
48 line-height: 36px;
49 height: auto;
50 text-transform: none;
51 padding: 4px 16px;
52 }
53
54 &.button-alternative {
55 color: $ui-base-color;
56 background: $ui-primary-color;
57
58 &:active,
59 &:focus,
60 &:hover {
61 background-color: lighten($ui-primary-color, 4%);
62 }
63 }
64
65 &.button-alternative-2 {
66 background: $ui-base-lighter-color;
67
68 &:active,
69 &:focus,
70 &:hover {
71 background-color: lighten($ui-base-lighter-color, 4%);
72 }
73 }
74
75 &.button-secondary {
76 color: $ui-primary-color;
77 background: transparent;
78 padding: 3px 15px;
79 border: 1px solid $ui-primary-color;
80
81 &:active,
82 &:focus,
83 &:hover {
84 border-color: lighten($ui-primary-color, 4%);
85 color: lighten($ui-primary-color, 4%);
86 }
87 }
88
89 &.button--block {
90 display: block;
91 width: 100%;
92 }
93 }
94
95 .column__wrapper {
96 display: flex;
97 flex: 1 1 auto;
98 position: relative;
99 }
100
101 .column-icon {
102 background: lighten($ui-base-color, 4%);
103 color: $ui-primary-color;
104 cursor: pointer;
105 font-size: 16px;
106 padding: 15px;
107 position: absolute;
108 right: 0;
109 top: -48px;
110 z-index: 3;
111
112 &:hover {
113 color: lighten($ui-primary-color, 7%);
114 }
115 }
116
117 .icon-button {
118 display: inline-block;
119 padding: 0;
120 color: $ui-base-lighter-color;
121 border: none;
122 background: transparent;
123 cursor: pointer;
124 transition: color 100ms ease-in;
125
126 &:hover,
127 &:active,
128 &:focus {
129 color: lighten($ui-base-color, 33%);
130 transition: color 200ms ease-out;
131 }
132
133 &.disabled {
134 color: lighten($ui-base-color, 13%);
135 cursor: default;
136 }
137
138 &.active {
139 color: $ui-highlight-color;
140 }
141
142 &::-moz-focus-inner {
143 border: 0;
144 }
145
146 &::-moz-focus-inner,
147 &:focus,
148 &:active {
149 outline: 0 !important;
150 }
151
152 &.inverted {
153 color: lighten($ui-base-color, 33%);
154
155 &:hover,
156 &:active,
157 &:focus {
158 color: $ui-base-lighter-color;
159 }
160
161 &.disabled {
162 color: $ui-primary-color;
163 }
164
165 &.active {
166 color: $ui-highlight-color;
167
168 &.disabled {
169 color: lighten($ui-highlight-color, 13%);
170 }
171 }
172 }
173
174 &.overlayed {
175 box-sizing: content-box;
176 background: rgba($base-overlay-background, 0.6);
177 color: rgba($primary-text-color, 0.7);
178 border-radius: 4px;
179 padding: 2px;
180
181 &:hover {
182 background: rgba($base-overlay-background, 0.9);
183 }
184 }
185 }
186
187 .text-icon-button {
188 color: lighten($ui-base-color, 33%);
189 border: none;
190 background: transparent;
191 cursor: pointer;
192 font-weight: 600;
193 font-size: 11px;
194 padding: 0 3px;
195 line-height: 27px;
196 outline: 0;
197 transition: color 100ms ease-in;
198
199 &:hover,
200 &:active,
201 &:focus {
202 color: $ui-base-lighter-color;
203 transition: color 200ms ease-out;
204 }
205
206 &.disabled {
207 color: lighten($ui-base-color, 13%);
208 cursor: default;
209 }
210
211 &.active {
212 color: $ui-highlight-color;
213 }
214
215 &::-moz-focus-inner {
216 border: 0;
217 }
218
219 &::-moz-focus-inner,
220 &:focus,
221 &:active {
222 outline: 0 !important;
223 }
224 }
225
226 .dropdown-menu {
227 position: absolute;
228 transform-origin: 50% 0;
229 }
230
231 .dropdown--active .icon-button {
232 color: $ui-highlight-color;
233 }
234
235 .dropdown--active::after {
236 @media screen and (min-width: 631px) {
237 content: "";
238 display: block;
239 position: absolute;
240 width: 0;
241 height: 0;
242 border-style: solid;
243 border-width: 0 4.5px 7.8px;
244 border-color: transparent transparent $ui-secondary-color;
245 bottom: 8px;
246 right: 104px;
247 }
248 }
249
250 .invisible {
251 font-size: 0;
252 line-height: 0;
253 display: inline-block;
254 width: 0;
255 height: 0;
256 position: absolute;
257
258 img,
259 svg {
260 margin: 0 !important;
261 border: 0 !important;
262 padding: 0 !important;
263 width: 0 !important;
264 height: 0 !important;
265 }
266 }
267
268 .ellipsis {
269 &::after {
270 content: "…";
271 }
272 }
273
274 .lightbox .icon-button {
275 color: $ui-base-color;
276 }
277
278 .compose-form {
279 padding: 10px;
280
281 .compose-form__warning {
282 color: darken($ui-secondary-color, 65%);
283 margin-bottom: 15px;
284 background: $ui-primary-color;
285 box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
286 padding: 8px 10px;
287 border-radius: 4px;
288 font-size: 13px;
289 font-weight: 400;
290
291 strong {
292 color: darken($ui-secondary-color, 65%);
293 font-weight: 500;
294
295 @each $lang in $cjk-langs {
296 &:lang(#{$lang}) {
297 font-weight: 700;
298 }
299 }
300 }
301
302 a {
303 color: darken($ui-primary-color, 33%);
304 font-weight: 500;
305 text-decoration: underline;
306
307 &:hover,
308 &:active,
309 &:focus {
310 text-decoration: none;
311 }
312 }
313 }
314
315 .compose-form__autosuggest-wrapper {
316 position: relative;
317
318 .emoji-picker-dropdown {
319 position: absolute;
320 right: 5px;
321 top: 5px;
322 }
323 }
324
325 .autosuggest-textarea,
326 .spoiler-input {
327 position: relative;
328 }
329
330 .autosuggest-textarea__textarea,
331 .spoiler-input__input {
332 display: block;
333 box-sizing: border-box;
334 width: 100%;
335 margin: 0;
336 color: $ui-base-color;
337 background: $simple-background-color;
338 padding: 10px;
339 font-family: inherit;
340 font-size: 14px;
341 resize: vertical;
342 border: 0;
343 outline: 0;
344
345 &:focus {
346 outline: 0;
347 }
348
349 @media screen and (max-width: 600px) {
350 font-size: 16px;
351 }
352 }
353
354 .spoiler-input__input {
355 border-radius: 4px;
356 }
357
358 .autosuggest-textarea__textarea {
359 min-height: 100px;
360 border-radius: 4px 4px 0 0;
361 padding-bottom: 0;
362 padding-right: 10px + 22px;
363 resize: none;
364
365 @media screen and (max-width: 600px) {
366 height: 100px !important; // prevent auto-resize textarea
367 resize: vertical;
368 }
369 }
370
371 .autosuggest-textarea__suggestions {
372 box-sizing: border-box;
373 display: none;
374 position: absolute;
375 top: 100%;
376 width: 100%;
377 z-index: 99;
378 box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
379 background: $ui-secondary-color;
380 border-radius: 0 0 4px 4px;
381 color: $ui-base-color;
382 font-size: 14px;
383 padding: 6px;
384
385 &.autosuggest-textarea__suggestions--visible {
386 display: block;
387 }
388 }
389
390 .autosuggest-textarea__suggestions__item {
391 padding: 10px;
392 cursor: pointer;
393 border-radius: 4px;
394
395 &:hover,
396 &:focus,
397 &:active,
398 &.selected {
399 background: darken($ui-secondary-color, 10%);
400 }
401 }
402
403 .autosuggest-account,
404 .autosuggest-emoji {
405 display: flex;
406 flex-direction: row;
407 align-items: center;
408 justify-content: flex-start;
409 line-height: 18px;
410 font-size: 14px;
411 }
412
413 .autosuggest-account-icon,
414 .autosuggest-emoji img {
415 display: block;
416 margin-right: 8px;
417 width: 16px;
418 height: 16px;
419 }
420
421 .autosuggest-account .display-name__account {
422 color: lighten($ui-base-color, 36%);
423 }
424
425 .compose-form__modifiers {
426 color: $ui-base-color;
427 font-family: inherit;
428 font-size: 14px;
429 background: $simple-background-color;
430
431 .compose-form__upload-wrapper {
432 overflow: hidden;
433 }
434
435 .compose-form__uploads-wrapper {
436 display: flex;
437 flex-direction: row;
438 padding: 5px;
439 flex-wrap: wrap;
440 }
441
442 .compose-form__upload {
443 flex: 1 1 0;
444 min-width: 40%;
445 margin: 5px;
446
447 &__actions {
448 background: linear-gradient(180deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
449 display: flex;
450 align-items: flex-start;
451 justify-content: space-between;
452 opacity: 0;
453 transition: opacity .1s ease;
454
455 .icon-button {
456 flex: 0 1 auto;
457 color: $ui-secondary-color;
458 font-size: 14px;
459 font-weight: 500;
460 padding: 10px;
461 font-family: inherit;
462
463 &:hover,
464 &:focus,
465 &:active {
466 color: lighten($ui-secondary-color, 4%);
467 }
468 }
469
470 &.active {
471 opacity: 1;
472 }
473 }
474
475 &-description {
476 position: absolute;
477 z-index: 2;
478 bottom: 0;
479 left: 0;
480 right: 0;
481 box-sizing: border-box;
482 background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent);
483 padding: 10px;
484 opacity: 0;
485 transition: opacity .1s ease;
486
487 input {
488 background: transparent;
489 color: $ui-secondary-color;
490 border: 0;
491 padding: 0;
492 margin: 0;
493 width: 100%;
494 font-family: inherit;
495 font-size: 14px;
496 font-weight: 500;
497
498 &:focus {
499 color: $white;
500 }
501
502 &::placeholder {
503 opacity: 0.54;
504 color: $ui-secondary-color;
505 }
506 }
507
508 &.active {
509 opacity: 1;
510 }
511 }
512 }
513
514 .compose-form__upload-thumbnail {
515 border-radius: 4px;
516 background-position: center;
517 background-size: cover;
518 background-repeat: no-repeat;
519 height: 140px;
520 width: 100%;
521 overflow: hidden;
522 }
523 }
524
525 .compose-form__buttons-wrapper {
526 padding: 10px;
527 background: darken($simple-background-color, 8%);
528 border-radius: 0 0 4px 4px;
529 display: flex;
530 justify-content: space-between;
531
532 .compose-form__buttons {
533 display: flex;
534
535 .compose-form__upload-button-icon {
536 line-height: 27px;
537 }
538
539 .compose-form__sensitive-button {
540 display: none;
541
542 &.compose-form__sensitive-button--visible {
543 display: block;
544 }
545
546 .compose-form__sensitive-button__icon {
547 line-height: 27px;
548 }
549 }
550 }
551
552 .icon-button {
553 box-sizing: content-box;
554 padding: 0 3px;
555 }
556
557 .character-counter__wrapper {
558 align-self: center;
559 margin-right: 4px;
560
561 .character-counter {
562 cursor: default;
563 font-family: 'mastodon-font-sans-serif', sans-serif;
564 font-size: 14px;
565 font-weight: 600;
566 color: lighten($ui-base-color, 12%);
567
568 &.character-counter--over {
569 color: $warning-red;
570 }
571 }
572 }
573 }
574
575 .compose-form__publish {
576 display: flex;
577 justify-content: flex-end;
578 min-width: 0;
579
580 .compose-form__publish-button-wrapper {
581 overflow: hidden;
582 padding-top: 10px;
583 }
584 }
585 }
586
587 .emojione {
588 display: inline-block;
589 font-size: inherit;
590 vertical-align: middle;
591 object-fit: contain;
592 margin: -.2ex .15em .2ex;
593 width: 16px;
594 height: 16px;
595
596 img {
597 width: auto;
598 }
599 }
600
601 .reply-indicator {
602 border-radius: 4px 4px 0 0;
603 position: relative;
604 bottom: -2px;
605 background: $ui-primary-color;
606 padding: 10px;
607 }
608
609 .reply-indicator__header {
610 margin-bottom: 5px;
611 overflow: hidden;
612 }
613
614 .reply-indicator__cancel {
615 float: right;
616 line-height: 24px;
617 }
618
619 .reply-indicator__display-name {
620 color: $ui-base-color;
621 display: block;
622 max-width: 100%;
623 line-height: 24px;
624 overflow: hidden;
625 padding-right: 25px;
626 text-decoration: none;
627 }
628
629 .reply-indicator__display-avatar {
630 float: left;
631 margin-right: 5px;
632 }
633
634 .status__content--with-action {
635 cursor: pointer;
636 }
637
638 .status__content,
639 .reply-indicator__content {
640 font-size: 15px;
641 line-height: 20px;
642 word-wrap: break-word;
643 font-weight: 400;
644 overflow: hidden;
645 white-space: pre-wrap;
646 padding-top: 2px;
647
648 &:focus {
649 outline: 0;
650 }
651
652 &.status__content--with-spoiler {
653 white-space: normal;
654
655 .status__content__text {
656 white-space: pre-wrap;
657 }
658 }
659
660 .emojione {
661 width: 20px;
662 height: 20px;
663 margin: -3px 0 0;
664 }
665
666 p {
667 margin-bottom: 20px;
668
669 &:last-child {
670 margin-bottom: 0;
671 }
672 }
673
674 a {
675 color: $ui-secondary-color;
676 text-decoration: none;
677
678 &:hover {
679 text-decoration: underline;
680
681 .fa {
682 color: lighten($ui-base-color, 40%);
683 }
684 }
685
686 &.mention {
687 &:hover {
688 text-decoration: none;
689
690 span {
691 text-decoration: underline;
692 }
693 }
694 }
695
696 .fa {
697 color: lighten($ui-base-color, 30%);
698 }
699 }
700
701 .status__content__spoiler-link {
702 background: lighten($ui-base-color, 30%);
703
704 &:hover {
705 background: lighten($ui-base-color, 33%);
706 text-decoration: none;
707 }
708 }
709
710 .status__content__text {
711 display: none;
712
713 &.status__content__text--visible {
714 display: block;
715 }
716 }
717 }
718
719 .status__content__spoiler-link {
720 display: inline-block;
721 border-radius: 2px;
722 background: transparent;
723 border: 0;
724 color: lighten($ui-base-color, 8%);
725 font-weight: 700;
726 font-size: 11px;
727 padding: 0 6px;
728 text-transform: uppercase;
729 line-height: 20px;
730 cursor: pointer;
731 vertical-align: middle;
732 }
733
734 .status__prepend-icon-wrapper {
735 left: -26px;
736 position: absolute;
737 }
738
739 .focusable {
740 &:focus {
741 outline: 0;
742 background: lighten($ui-base-color, 4%);
743
744 .status.status-direct {
745 background: lighten($ui-base-color, 12%);
746
747 &.muted {
748 background: transparent;
749 }
750 }
751
752 .detailed-status,
753 .detailed-status__action-bar {
754 background: lighten($ui-base-color, 8%);
755 }
756 }
757 }
758
759 .status {
760 padding: 8px 10px;
761 padding-left: 68px;
762 position: relative;
763 min-height: 48px;
764 border-bottom: 1px solid lighten($ui-base-color, 8%);
765 cursor: default;
766
767 @supports (-ms-overflow-style: -ms-autohiding-scrollbar) {
768 // Add margin to avoid Edge auto-hiding scrollbar appearing over content.
769 // On Edge 16 this is 16px and Edge <=15 it's 12px, so aim for 16px.
770 padding-right: 26px; // 10px + 16px
771 }
772
773 @keyframes fade {
774 0% { opacity: 0; }
775 100% { opacity: 1; }
776 }
777
778 opacity: 1;
779 animation: fade 150ms linear;
780
781 .video-player {
782 margin-top: 8px;
783 }
784
785 &.status-direct {
786 background: lighten($ui-base-color, 8%);
787
788 .icon-button.disabled {
789 color: lighten($ui-base-color, 16%);
790 }
791 }
792
793 &.light {
794 .status__relative-time {
795 color: $ui-primary-color;
796 }
797
798 .status__display-name {
799 color: $ui-base-color;
800 }
801
802 .display-name {
803 strong {
804 color: $ui-base-color;
805 }
806
807 span {
808 color: $ui-primary-color;
809 }
810 }
811
812 .status__content {
813 color: $ui-base-color;
814
815 a {
816 color: $ui-highlight-color;
817 }
818
819 a.status__content__spoiler-link {
820 color: $primary-text-color;
821 background: $ui-primary-color;
822
823 &:hover {
824 background: lighten($ui-primary-color, 8%);
825 }
826 }
827 }
828 }
829 }
830
831 .notification-favourite {
832 .status.status-direct {
833 background: transparent;
834
835 .icon-button.disabled {
836 color: lighten($ui-base-color, 13%);
837 }
838 }
839 }
840
841 .status__relative-time {
842 color: $ui-base-lighter-color;
843 float: right;
844 font-size: 14px;
845 }
846
847 .status__display-name {
848 color: $ui-base-lighter-color;
849 }
850
851 .status__info .status__display-name {
852 display: block;
853 max-width: 100%;
854 padding-right: 25px;
855 }
856
857 .status__info {
858 font-size: 15px;
859 }
860
861 .status-check-box {
862 border-bottom: 1px solid $ui-secondary-color;
863 display: flex;
864
865 .status-check-box__status {
866 margin: 10px 0 10px 10px;
867 flex: 1;
868
869 .media-gallery {
870 max-width: 250px;
871 }
872
873 .status__content {
874 padding: 0;
875 white-space: normal;
876 }
877
878 .video-player {
879 margin-top: 8px;
880 max-width: 250px;
881 }
882
883 .media-gallery__item-thumbnail {
884 cursor: default;
885 }
886 }
887 }
888
889 .status-check-box-toggle {
890 align-items: center;
891 display: flex;
892 flex: 0 0 auto;
893 justify-content: center;
894 padding: 10px;
895 }
896
897 .status__prepend {
898 margin-left: 68px;
899 color: $ui-base-lighter-color;
900 padding: 8px 0;
901 padding-bottom: 2px;
902 font-size: 14px;
903 position: relative;
904
905 .status__display-name strong {
906 color: $ui-base-lighter-color;
907 }
908
909 > span {
910 display: block;
911 overflow: hidden;
912 text-overflow: ellipsis;
913 }
914 }
915
916 .status__action-bar {
917 align-items: center;
918 display: flex;
919 margin-top: 8px;
920 }
921
922 .status__action-bar-button {
923 float: left;
924 margin-right: 18px;
925 }
926
927 .status__action-bar-dropdown {
928 float: left;
929 height: 23.15px;
930 width: 23.15px;
931 }
932
933 .detailed-status__action-bar-dropdown {
934 flex: 1 1 auto;
935 display: flex;
936 align-items: center;
937 justify-content: center;
938 position: relative;
939 }
940
941 .detailed-status {
942 background: lighten($ui-base-color, 4%);
943 padding: 14px 10px;
944
945 .status__content {
946 font-size: 19px;
947 line-height: 24px;
948
949 .emojione {
950 width: 24px;
951 height: 24px;
952 margin: -1px 0 0;
953 }
954
955 .status__content__spoiler-link {
956 line-height: 24px;
957 margin: -1px 0 0;
958 }
959 }
960
961 .video-player {
962 margin-top: 8px;
963 }
964 }
965
966 .detailed-status__meta {
967 margin-top: 15px;
968 color: $ui-base-lighter-color;
969 font-size: 14px;
970 line-height: 18px;
971 }
972
973 .detailed-status__action-bar {
974 background: lighten($ui-base-color, 4%);
975 border-top: 1px solid lighten($ui-base-color, 8%);
976 border-bottom: 1px solid lighten($ui-base-color, 8%);
977 display: flex;
978 flex-direction: row;
979 padding: 10px 0;
980 }
981
982 .detailed-status__link {
983 color: inherit;
984 text-decoration: none;
985 }
986
987 .detailed-status__favorites,
988 .detailed-status__reblogs {
989 display: inline-block;
990 font-weight: 500;
991 font-size: 12px;
992 margin-left: 6px;
993 }
994
995 .reply-indicator__content {
996 color: $ui-base-color;
997 font-size: 14px;
998
999 a {
1000 color: lighten($ui-base-color, 20%);
1001 }
1002 }
1003
1004 .account {
1005 padding: 10px;
1006 border-bottom: 1px solid lighten($ui-base-color, 8%);
1007
1008 .account__display-name {
1009 flex: 1 1 auto;
1010 display: block;
1011 color: $ui-primary-color;
1012 overflow: hidden;
1013 text-decoration: none;
1014 font-size: 14px;
1015 }
1016 }
1017
1018 .account__wrapper {
1019 display: flex;
1020 }
1021
1022 .account__avatar-wrapper {
1023 float: left;
1024 margin-left: 12px;
1025 margin-right: 12px;
1026 }
1027
1028 .account__avatar {
1029 @include avatar-radius();
1030 position: relative;
1031 cursor: pointer;
1032
1033 &-inline {
1034 display: inline-block;
1035 vertical-align: middle;
1036 margin-right: 5px;
1037 }
1038 }
1039
1040 .account__avatar-overlay {
1041 @include avatar-size(48px);
1042
1043 &-base {
1044 @include avatar-radius();
1045 @include avatar-size(36px);
1046 }
1047
1048 &-overlay {
1049 @include avatar-radius();
1050 @include avatar-size(24px);
1051
1052 position: absolute;
1053 bottom: 0;
1054 right: 0;
1055 z-index: 1;
1056 }
1057 }
1058
1059 .account__relationship {
1060 height: 18px;
1061 padding: 10px;
1062 white-space: nowrap;
1063 }
1064
1065 .account__header {
1066 flex: 0 0 auto;
1067 background: lighten($ui-base-color, 4%);
1068 text-align: center;
1069 background-size: cover;
1070 background-position: center;
1071 position: relative;
1072
1073 &.inactive {
1074 opacity: 0.5;
1075
1076 .account__header__avatar {
1077 filter: grayscale(100%);
1078 }
1079
1080 .account__header__username {
1081 color: $ui-primary-color;
1082 }
1083 }
1084
1085 & > div {
1086 background: rgba(lighten($ui-base-color, 4%), 0.9);
1087 padding: 20px 10px;
1088 }
1089
1090 .account__header__content {
1091 color: $ui-secondary-color;
1092 }
1093
1094 .account__header__display-name {
1095 color: $primary-text-color;
1096 display: inline-block;
1097 width: 100%;
1098 font-size: 20px;
1099 line-height: 27px;
1100 font-weight: 500;
1101 overflow: hidden;
1102 text-overflow: ellipsis;
1103 }
1104
1105 .account__header__username {
1106 color: $ui-highlight-color;
1107 font-size: 14px;
1108 font-weight: 400;
1109 display: block;
1110 margin-bottom: 10px;
1111 overflow: hidden;
1112 text-overflow: ellipsis;
1113 }
1114 }
1115
1116 .account__disclaimer {
1117 padding: 10px;
1118 border-top: 1px solid lighten($ui-base-color, 8%);
1119 color: $ui-base-lighter-color;
1120
1121 strong {
1122 font-weight: 500;
1123
1124 @each $lang in $cjk-langs {
1125 &:lang(#{$lang}) {
1126 font-weight: 700;
1127 }
1128 }
1129 }
1130
1131 a {
1132 font-weight: 500;
1133 color: inherit;
1134 text-decoration: underline;
1135
1136 &:hover,
1137 &:focus,
1138 &:active {
1139 text-decoration: none;
1140 }
1141 }
1142 }
1143
1144 .account__header__content {
1145 color: $ui-primary-color;
1146 font-size: 14px;
1147 font-weight: 400;
1148 overflow: hidden;
1149 word-break: normal;
1150 word-wrap: break-word;
1151
1152 p {
1153 margin-bottom: 20px;
1154
1155 &:last-child {
1156 margin-bottom: 0;
1157 }
1158 }
1159
1160 a {
1161 color: inherit;
1162 text-decoration: underline;
1163
1164 &:hover {
1165 text-decoration: none;
1166 }
1167 }
1168 }
1169
1170 .account__header__display-name {
1171 .emojione {
1172 width: 25px;
1173 height: 25px;
1174 }
1175 }
1176
1177 .account__action-bar {
1178 border-top: 1px solid lighten($ui-base-color, 8%);
1179 border-bottom: 1px solid lighten($ui-base-color, 8%);
1180 line-height: 36px;
1181 overflow: hidden;
1182 flex: 0 0 auto;
1183 display: flex;
1184 }
1185
1186 .account__action-bar-dropdown {
1187 flex: 0 1 calc(50% - 140px);
1188 padding: 10px;
1189
1190 .dropdown--active {
1191 .dropdown__content.dropdown__right {
1192 left: 6px;
1193 right: initial;
1194 }
1195
1196 &::after {
1197 bottom: initial;
1198 margin-left: 11px;
1199 margin-top: -7px;
1200 right: initial;
1201 }
1202 }
1203 }
1204
1205 .account__action-bar-links {
1206 display: flex;
1207 flex: 1 1 auto;
1208 line-height: 18px;
1209 }
1210
1211 .account__action-bar__tab {
1212 text-decoration: none;
1213 overflow: hidden;
1214 flex: 0 1 80px;
1215 border-left: 1px solid lighten($ui-base-color, 8%);
1216 padding: 10px 5px;
1217
1218 & > span {
1219 display: block;
1220 text-transform: uppercase;
1221 font-size: 11px;
1222 color: $ui-primary-color;
1223 }
1224
1225 strong {
1226 display: block;
1227 font-size: 15px;
1228 font-weight: 500;
1229 color: $primary-text-color;
1230
1231 @each $lang in $cjk-langs {
1232 &:lang(#{$lang}) {
1233 font-weight: 700;
1234 }
1235 }
1236 }
1237
1238 abbr {
1239 color: $ui-base-lighter-color;
1240 }
1241 }
1242
1243 .account__header__avatar {
1244 background-size: 90px 90px;
1245 display: block;
1246 height: 90px;
1247 margin: 0 auto 10px;
1248 overflow: hidden;
1249 width: 90px;
1250 }
1251
1252 .account-authorize {
1253 padding: 14px 10px;
1254
1255 .detailed-status__display-name {
1256 display: block;
1257 margin-bottom: 15px;
1258 overflow: hidden;
1259 }
1260 }
1261
1262 .account-authorize__avatar {
1263 float: left;
1264 margin-right: 10px;
1265 }
1266
1267 .status__display-name,
1268 .status__relative-time,
1269 .detailed-status__display-name,
1270 .detailed-status__datetime,
1271 .detailed-status__application,
1272 .account__display-name {
1273 text-decoration: none;
1274 }
1275
1276 .status__display-name,
1277 .account__display-name {
1278 strong {
1279 color: $primary-text-color;
1280 }
1281 }
1282
1283 .muted {
1284 .emojione {
1285 opacity: 0.5;
1286 }
1287 }
1288
1289 .status__display-name,
1290 .reply-indicator__display-name,
1291 .detailed-status__display-name,
1292 .account__display-name {
1293 &:hover strong {
1294 text-decoration: underline;
1295 }
1296 }
1297
1298 .account__display-name strong {
1299 display: block;
1300 overflow: hidden;
1301 text-overflow: ellipsis;
1302 }
1303
1304 .detailed-status__application,
1305 .detailed-status__datetime {
1306 color: inherit;
1307 }
1308
1309 .detailed-status__display-name {
1310 color: $ui-secondary-color;
1311 display: block;
1312 line-height: 24px;
1313 margin-bottom: 15px;
1314 overflow: hidden;
1315
1316 strong,
1317 span {
1318 display: block;
1319 text-overflow: ellipsis;
1320 overflow: hidden;
1321 }
1322
1323 strong {
1324 font-size: 16px;
1325 color: $primary-text-color;
1326 }
1327 }
1328
1329 .detailed-status__display-avatar {
1330 float: left;
1331 margin-right: 10px;
1332 }
1333
1334 .status__avatar {
1335 height: 48px;
1336 left: 10px;
1337 position: absolute;
1338 top: 10px;
1339 width: 48px;
1340 }
1341
1342 .muted {
1343 .status__content p,
1344 .status__content a {
1345 color: $ui-base-lighter-color;
1346 }
1347
1348 .status__display-name strong {
1349 color: $ui-base-lighter-color;
1350 }
1351
1352 .status__avatar {
1353 opacity: 0.5;
1354 }
1355
1356 a.status__content__spoiler-link {
1357 background: $ui-base-lighter-color;
1358 color: lighten($ui-base-color, 4%);
1359
1360 &:hover {
1361 background: lighten($ui-base-color, 29%);
1362 text-decoration: none;
1363 }
1364 }
1365 }
1366
1367 .notification__message {
1368 margin-left: 68px;
1369 padding: 8px 0;
1370 padding-bottom: 0;
1371 cursor: default;
1372 color: $ui-primary-color;
1373 font-size: 15px;
1374 position: relative;
1375
1376 .fa {
1377 color: $ui-highlight-color;
1378 }
1379
1380 > span {
1381 display: block;
1382 overflow: hidden;
1383 text-overflow: ellipsis;
1384 }
1385 }
1386
1387 .notification__favourite-icon-wrapper {
1388 left: -26px;
1389 position: absolute;
1390
1391 .star-icon {
1392 color: $gold-star;
1393 }
1394 }
1395
1396 .star-icon.active {
1397 color: $gold-star;
1398 }
1399
1400 .notification__display-name {
1401 color: inherit;
1402 font-weight: 500;
1403 text-decoration: none;
1404
1405 &:hover {
1406 color: $primary-text-color;
1407 text-decoration: underline;
1408 }
1409 }
1410
1411 .display-name {
1412 display: block;
1413 max-width: 100%;
1414 overflow: hidden;
1415 text-overflow: ellipsis;
1416 white-space: nowrap;
1417 }
1418
1419 .display-name__html {
1420 font-weight: 500;
1421 }
1422
1423 .display-name__account {
1424 font-size: 14px;
1425 }
1426
1427 .status__relative-time,
1428 .detailed-status__datetime {
1429 &:hover {
1430 text-decoration: underline;
1431 }
1432 }
1433
1434 .image-loader {
1435 position: relative;
1436 width: 100%;
1437 height: 100%;
1438
1439 &.image-loader--loading {
1440 display: flex;
1441 align-content: center;
1442
1443 .image-loader__preview-canvas {
1444 filter: blur(2px);
1445 }
1446 }
1447
1448 &.image-loader--amorphous .image-loader__preview-canvas {
1449 display: none;
1450 }
1451 }
1452
1453 .zoomable-image {
1454 position: relative;
1455 width: 100%;
1456 height: 100%;
1457 display: flex;
1458 align-content: center;
1459 }
1460
1461 .navigation-bar {
1462 padding: 10px;
1463 display: flex;
1464 flex-shrink: 0;
1465 cursor: default;
1466 color: $ui-primary-color;
1467
1468 strong {
1469 color: $primary-text-color;
1470 }
1471
1472 a {
1473 color: inherit;
1474 }
1475
1476 .permalink {
1477 text-decoration: none;
1478 }
1479
1480 .icon-button {
1481 pointer-events: none;
1482 opacity: 0;
1483 }
1484 }
1485
1486 .navigation-bar__profile {
1487 flex: 1 1 auto;
1488 margin-left: 8px;
1489 overflow: hidden;
1490 }
1491
1492 .navigation-bar__profile-account {
1493 display: block;
1494 font-weight: 500;
1495 overflow: hidden;
1496 text-overflow: ellipsis;
1497 }
1498
1499 .navigation-bar__profile-edit {
1500 color: inherit;
1501 text-decoration: none;
1502 }
1503
1504 .dropdown {
1505 display: inline-block;
1506 }
1507
1508 .dropdown__content {
1509 display: none;
1510 position: absolute;
1511 }
1512
1513 .dropdown-menu__separator {
1514 border-bottom: 1px solid darken($ui-secondary-color, 8%);
1515 margin: 5px 7px 6px;
1516 height: 0;
1517 }
1518
1519 .dropdown-menu {
1520 background: $ui-secondary-color;
1521 padding: 4px 0;
1522 border-radius: 4px;
1523 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
1524
1525 ul {
1526 list-style: none;
1527 }
1528 }
1529
1530 .dropdown-menu__arrow {
1531 position: absolute;
1532 width: 0;
1533 height: 0;
1534 border: 0 solid transparent;
1535
1536 &.left {
1537 right: -5px;
1538 margin-top: -5px;
1539 border-width: 5px 0 5px 5px;
1540 border-left-color: $ui-secondary-color;
1541 }
1542
1543 &.top {
1544 bottom: -5px;
1545 margin-left: -13px;
1546 border-width: 5px 7px 0;
1547 border-top-color: $ui-secondary-color;
1548 }
1549
1550 &.bottom {
1551 top: -5px;
1552 margin-left: -13px;
1553 border-width: 0 7px 5px;
1554 border-bottom-color: $ui-secondary-color;
1555 }
1556
1557 &.right {
1558 left: -5px;
1559 margin-top: -5px;
1560 border-width: 5px 5px 5px 0;
1561 border-right-color: $ui-secondary-color;
1562 }
1563 }
1564
1565 .dropdown-menu__item {
1566 a {
1567 font-size: 13px;
1568 line-height: 18px;
1569 display: block;
1570 padding: 4px 14px;
1571 box-sizing: border-box;
1572 text-decoration: none;
1573 background: $ui-secondary-color;
1574 color: $ui-base-color;
1575 overflow: hidden;
1576 text-overflow: ellipsis;
1577 white-space: nowrap;
1578
1579 &:focus,
1580 &:hover,
1581 &:active {
1582 background: $ui-highlight-color;
1583 color: $ui-secondary-color;
1584 outline: 0;
1585 }
1586 }
1587 }
1588
1589 .dropdown--active .dropdown__content {
1590 display: block;
1591 line-height: 18px;
1592 max-width: 311px;
1593 right: 0;
1594 text-align: left;
1595 z-index: 9999;
1596
1597 & > ul {
1598 list-style: none;
1599 background: $ui-secondary-color;
1600 padding: 4px 0;
1601 border-radius: 4px;
1602 box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
1603 min-width: 140px;
1604 position: relative;
1605 }
1606
1607 &.dropdown__right {
1608 right: 0;
1609 }
1610
1611 &.dropdown__left {
1612 & > ul {
1613 left: -98px;
1614 }
1615 }
1616
1617 & > ul > li > a {
1618 font-size: 13px;
1619 line-height: 18px;
1620 display: block;
1621 padding: 4px 14px;
1622 box-sizing: border-box;
1623 text-decoration: none;
1624 background: $ui-secondary-color;
1625 color: $ui-base-color;
1626 overflow: hidden;
1627 text-overflow: ellipsis;
1628 white-space: nowrap;
1629
1630 &:focus {
1631 outline: 0;
1632 }
1633
1634 &:hover {
1635 background: $ui-highlight-color;
1636 color: $ui-secondary-color;
1637 }
1638 }
1639 }
1640
1641 .dropdown__icon {
1642 vertical-align: middle;
1643 }
1644
1645 .static-content {
1646 padding: 10px;
1647 padding-top: 20px;
1648 color: $ui-base-lighter-color;
1649
1650 h1 {
1651 font-size: 16px;
1652 font-weight: 500;
1653 margin-bottom: 40px;
1654 text-align: center;
1655 }
1656
1657 p {
1658 font-size: 13px;
1659 margin-bottom: 20px;
1660 }
1661 }
1662
1663 .columns-area {
1664 display: flex;
1665 flex: 1 1 auto;
1666 flex-direction: row;
1667 justify-content: flex-start;
1668 overflow-x: auto;
1669 position: relative;
1670
1671 &.unscrollable {
1672 overflow-x: hidden;
1673 }
1674 }
1675
1676 @media screen and (min-width: 360px) {
1677 .columns-area {
1678 padding: 10px;
1679 }
1680
1681 .react-swipeable-view-container .columns-area {
1682 height: calc(100% - 20px) !important;
1683 }
1684 }
1685
1686 .react-swipeable-view-container {
1687 &,
1688 .columns-area,
1689 .drawer,
1690 .column {
1691 height: 100%;
1692 }
1693 }
1694
1695 .react-swipeable-view-container > * {
1696 display: flex;
1697 align-items: center;
1698 justify-content: center;
1699 height: 100%;
1700 }
1701
1702 .column {
1703 width: 330px;
1704 position: relative;
1705 box-sizing: border-box;
1706 display: flex;
1707 flex-direction: column;
1708
1709 > .scrollable {
1710 background: $ui-base-color;
1711 }
1712 }
1713
1714 .ui {
1715 flex: 0 0 auto;
1716 display: flex;
1717 flex-direction: column;
1718 width: 100%;
1719 height: 100%;
1720 background: darken($ui-base-color, 7%);
1721 }
1722
1723 .drawer {
1724 width: 300px;
1725 box-sizing: border-box;
1726 display: flex;
1727 flex-direction: column;
1728 overflow-y: hidden;
1729 }
1730
1731 .drawer__tab {
1732 display: block;
1733 flex: 1 1 auto;
1734 padding: 15px 5px 13px;
1735 color: $ui-primary-color;
1736 text-decoration: none;
1737 text-align: center;
1738 font-size: 16px;
1739 border-bottom: 2px solid transparent;
1740 }
1741
1742 .column,
1743 .drawer {
1744 flex: 1 1 100%;
1745 overflow: hidden;
1746 }
1747
1748 @media screen and (min-width: 360px) {
1749 .tabs-bar {
1750 margin: 10px;
1751 margin-bottom: 0;
1752 }
1753
1754 .search {
1755 margin-bottom: 10px;
1756 }
1757 }
1758
1759 @media screen and (max-width: 630px) {
1760 .column,
1761 .drawer {
1762 width: 100%;
1763 padding: 0;
1764 }
1765
1766 .columns-area {
1767 flex-direction: column;
1768 }
1769
1770 .search__input,
1771 .autosuggest-textarea__textarea {
1772 font-size: 16px;
1773 }
1774 }
1775
1776 @media screen and (min-width: 631px) {
1777 .columns-area {
1778 padding: 0;
1779 }
1780
1781 .column,
1782 .drawer {
1783 flex: 0 0 auto;
1784 padding: 10px;
1785 padding-left: 5px;
1786 padding-right: 5px;
1787
1788 &:first-child {
1789 padding-left: 10px;
1790 }
1791
1792 &:last-child {
1793 padding-right: 10px;
1794 }
1795 }
1796
1797 .columns-area > div {
1798 .column,
1799 .drawer {
1800 padding-left: 5px;
1801 padding-right: 5px;
1802 }
1803 }
1804 }
1805
1806 .drawer__pager {
1807 box-sizing: border-box;
1808 padding: 0;
1809 flex-grow: 1;
1810 position: relative;
1811 overflow: hidden;
1812 display: flex;
1813 }
1814
1815 .drawer__inner {
1816 position: absolute;
1817 top: 0;
1818 left: 0;
1819 background: lighten($ui-base-color, 13%);
1820 box-sizing: border-box;
1821 padding: 0;
1822 display: flex;
1823 flex-direction: column;
1824 overflow: hidden;
1825 overflow-y: auto;
1826 width: 100%;
1827 height: 100%;
1828
1829 &.darker {
1830 background: $ui-base-color;
1831 }
1832 }
1833
1834 .drawer__inner__mastodon {
1835 background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
1836 flex: 1;
1837 min-height: 47px;
1838
1839 > img {
1840 display: block;
1841 object-fit: contain;
1842 object-position: bottom left;
1843 width: 100%;
1844 height: 100%;
1845 }
1846 }
1847
1848 .pseudo-drawer {
1849 background: lighten($ui-base-color, 13%);
1850 font-size: 13px;
1851 text-align: left;
1852 }
1853
1854 .drawer__header {
1855 flex: 0 0 auto;
1856 font-size: 16px;
1857 background: lighten($ui-base-color, 8%);
1858 margin-bottom: 10px;
1859 display: flex;
1860 flex-direction: row;
1861
1862 a {
1863 transition: background 100ms ease-in;
1864
1865 &:hover {
1866 background: lighten($ui-base-color, 3%);
1867 transition: background 200ms ease-out;
1868 }
1869 }
1870 }
1871
1872 .tabs-bar {
1873 display: flex;
1874 background: lighten($ui-base-color, 8%);
1875 flex: 0 0 auto;
1876 overflow-y: auto;
1877 }
1878
1879 .tabs-bar__link {
1880 display: block;
1881 flex: 1 1 auto;
1882 padding: 15px 10px;
1883 color: $primary-text-color;
1884 text-decoration: none;
1885 text-align: center;
1886 font-size: 14px;
1887 font-weight: 500;
1888 border-bottom: 2px solid lighten($ui-base-color, 8%);
1889 transition: all 50ms linear;
1890
1891 .fa {
1892 font-weight: 400;
1893 font-size: 16px;
1894 }
1895
1896 &.active {
1897 border-bottom: 2px solid $ui-highlight-color;
1898 color: $ui-highlight-color;
1899 }
1900
1901 &:hover,
1902 &:focus,
1903 &:active {
1904 @media screen and (min-width: 631px) {
1905 background: lighten($ui-base-color, 14%);
1906 }
1907 }
1908
1909 span {
1910 margin-left: 5px;
1911 display: none;
1912 }
1913 }
1914
1915 @media screen and (min-width: 600px) {
1916 .tabs-bar__link {
1917 span {
1918 display: inline;
1919 }
1920 }
1921 }
1922
1923 @media screen and (min-width: 631px) {
1924 .tabs-bar {
1925 display: none;
1926 }
1927 }
1928
1929 .scrollable {
1930 overflow-y: scroll;
1931 overflow-x: hidden;
1932 flex: 1 1 auto;
1933 -webkit-overflow-scrolling: touch;
1934 will-change: transform; // improves perf in mobile Chrome
1935
1936 &.optionally-scrollable {
1937 overflow-y: auto;
1938 }
1939
1940 @supports(display: grid) { // hack to fix Chrome <57
1941 contain: strict;
1942 }
1943 }
1944
1945 .scrollable.fullscreen {
1946 @supports(display: grid) { // hack to fix Chrome <57
1947 contain: none;
1948 }
1949 }
1950
1951 .column-back-button {
1952 background: lighten($ui-base-color, 4%);
1953 color: $ui-highlight-color;
1954 cursor: pointer;
1955 flex: 0 0 auto;
1956 font-size: 16px;
1957 border: 0;
1958 text-align: unset;
1959 padding: 15px;
1960 margin: 0;
1961 z-index: 3;
1962
1963 &:hover {
1964 text-decoration: underline;
1965 }
1966 }
1967
1968 .column-header__back-button {
1969 background: lighten($ui-base-color, 4%);
1970 border: 0;
1971 font-family: inherit;
1972 color: $ui-highlight-color;
1973 cursor: pointer;
1974 white-space: nowrap;
1975 font-size: 16px;
1976 padding: 0 5px 0 0;
1977 z-index: 3;
1978
1979 &:hover {
1980 text-decoration: underline;
1981 }
1982
1983 &:last-child {
1984 padding: 0 15px 0 0;
1985 }
1986 }
1987
1988 .column-back-button__icon {
1989 display: inline-block;
1990 margin-right: 5px;
1991 }
1992
1993 .column-back-button--slim {
1994 position: relative;
1995 }
1996
1997 .column-back-button--slim-button {
1998 cursor: pointer;
1999 flex: 0 0 auto;
2000 font-size: 16px;
2001 padding: 15px;
2002 position: absolute;
2003 right: 0;
2004 top: -48px;
2005 }
2006
2007 .react-toggle {
2008 display: inline-block;
2009 position: relative;
2010 cursor: pointer;
2011 background-color: transparent;
2012 border: 0;
2013 padding: 0;
2014 user-select: none;
2015 -webkit-tap-highlight-color: rgba($base-overlay-background, 0);
2016 -webkit-tap-highlight-color: transparent;
2017 }
2018
2019 .react-toggle-screenreader-only {
2020 border: 0;
2021 clip: rect(0 0 0 0);
2022 height: 1px;
2023 margin: -1px;
2024 overflow: hidden;
2025 padding: 0;
2026 position: absolute;
2027 width: 1px;
2028 }
2029
2030 .react-toggle--disabled {
2031 cursor: not-allowed;
2032 opacity: 0.5;
2033 transition: opacity 0.25s;
2034 }
2035
2036 .react-toggle-track {
2037 width: 50px;
2038 height: 24px;
2039 padding: 0;
2040 border-radius: 30px;
2041 background-color: $ui-base-color;
2042 transition: all 0.2s ease;
2043 }
2044
2045 .react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
2046 background-color: darken($ui-base-color, 10%);
2047 }
2048
2049 .react-toggle--checked .react-toggle-track {
2050 background-color: $ui-highlight-color;
2051 }
2052
2053 .react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
2054 background-color: lighten($ui-highlight-color, 10%);
2055 }
2056
2057 .react-toggle-track-check {
2058 position: absolute;
2059 width: 14px;
2060 height: 10px;
2061 top: 0;
2062 bottom: 0;
2063 margin-top: auto;
2064 margin-bottom: auto;
2065 line-height: 0;
2066 left: 8px;
2067 opacity: 0;
2068 transition: opacity 0.25s ease;
2069 }
2070
2071 .react-toggle--checked .react-toggle-track-check {
2072 opacity: 1;
2073 transition: opacity 0.25s ease;
2074 }
2075
2076 .react-toggle-track-x {
2077 position: absolute;
2078 width: 10px;
2079 height: 10px;
2080 top: 0;
2081 bottom: 0;
2082 margin-top: auto;
2083 margin-bottom: auto;
2084 line-height: 0;
2085 right: 10px;
2086 opacity: 1;
2087 transition: opacity 0.25s ease;
2088 }
2089
2090 .react-toggle--checked .react-toggle-track-x {
2091 opacity: 0;
2092 }
2093
2094 .react-toggle-thumb {
2095 transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
2096 position: absolute;
2097 top: 1px;
2098 left: 1px;
2099 width: 22px;
2100 height: 22px;
2101 border: 1px solid $ui-base-color;
2102 border-radius: 50%;
2103 background-color: darken($simple-background-color, 2%);
2104 box-sizing: border-box;
2105 transition: all 0.25s ease;
2106 }
2107
2108 .react-toggle--checked .react-toggle-thumb {
2109 left: 27px;
2110 border-color: $ui-highlight-color;
2111 }
2112
2113 .column-link {
2114 background: lighten($ui-base-color, 8%);
2115 color: $primary-text-color;
2116 display: block;
2117 font-size: 16px;
2118 padding: 15px;
2119 text-decoration: none;
2120
2121 &:hover {
2122 background: lighten($ui-base-color, 11%);
2123 }
2124 }
2125
2126 .column-link__icon {
2127 display: inline-block;
2128 margin-right: 5px;
2129 }
2130
2131 .column-link__badge {
2132 display: inline-block;
2133 border-radius: 4px;
2134 font-size: 12px;
2135 line-height: 19px;
2136 font-weight: 500;
2137 background: $ui-base-color;
2138 padding: 4px 8px;
2139 margin: -6px 10px;
2140 }
2141
2142 .column-subheading {
2143 background: $ui-base-color;
2144 color: $ui-base-lighter-color;
2145 padding: 8px 20px;
2146 font-size: 12px;
2147 font-weight: 500;
2148 text-transform: uppercase;
2149 cursor: default;
2150 }
2151
2152 .getting-started__wrapper,
2153 .getting_started {
2154 background: $ui-base-color;
2155 }
2156
2157 .getting-started__wrapper {
2158 position: relative;
2159 overflow-y: auto;
2160 }
2161
2162 .getting-started {
2163 background: $ui-base-color;
2164 flex: 1 0 auto;
2165
2166 p {
2167 color: $ui-secondary-color;
2168 }
2169
2170 a {
2171 color: $ui-base-lighter-color;
2172 }
2173 }
2174
2175 .keyboard-shortcuts {
2176 padding: 8px 0 0;
2177 overflow: hidden;
2178
2179 thead {
2180 position: absolute;
2181 left: -9999px;
2182 }
2183
2184 td {
2185 padding: 0 10px 8px;
2186 }
2187
2188 kbd {
2189 display: inline-block;
2190 padding: 3px 5px;
2191 background-color: lighten($ui-base-color, 8%);
2192 border: 1px solid darken($ui-base-color, 4%);
2193 }
2194 }
2195
2196 .setting-text {
2197 color: $ui-primary-color;
2198 background: transparent;
2199 border: none;
2200 border-bottom: 2px solid $ui-primary-color;
2201 box-sizing: border-box;
2202 display: block;
2203 font-family: inherit;
2204 margin-bottom: 10px;
2205 padding: 7px 0;
2206 width: 100%;
2207
2208 &:focus,
2209 &:active {
2210 color: $primary-text-color;
2211 border-bottom-color: $ui-highlight-color;
2212 }
2213
2214 @media screen and (max-width: 600px) {
2215 font-size: 16px;
2216 }
2217
2218 &.light {
2219 color: $ui-base-color;
2220 border-bottom: 2px solid lighten($ui-base-color, 27%);
2221
2222 &:focus,
2223 &:active {
2224 color: $ui-base-color;
2225 border-bottom-color: $ui-highlight-color;
2226 }
2227 }
2228 }
2229
2230 .no-reduce-motion button.icon-button i.fa-retweet {
2231 background-position: 0 0;
2232 height: 19px;
2233 transition: background-position 0.9s steps(10);
2234 transition-duration: 0s;
2235 vertical-align: middle;
2236 width: 22px;
2237
2238 &::before {
2239 display: none !important;
2240 }
2241
2242 }
2243
2244 .no-reduce-motion button.icon-button.active i.fa-retweet {
2245 transition-duration: 0.9s;
2246 background-position: 0 100%;
2247 }
2248
2249 .reduce-motion button.icon-button i.fa-retweet {
2250 color: $ui-base-lighter-color;
2251 transition: color 100ms ease-in;
2252 }
2253
2254 .reduce-motion button.icon-button.active i.fa-retweet {
2255 color: $ui-highlight-color;
2256 }
2257
2258 .status-card {
2259 display: flex;
2260 font-size: 14px;
2261 border: 1px solid lighten($ui-base-color, 8%);
2262 border-radius: 4px;
2263 color: $ui-base-lighter-color;
2264 margin-top: 14px;
2265 text-decoration: none;
2266 overflow: hidden;
2267
2268 &__actions {
2269 bottom: 0;
2270 left: 0;
2271 position: absolute;
2272 right: 0;
2273 top: 0;
2274 display: flex;
2275 justify-content: center;
2276 align-items: center;
2277
2278 & > div {
2279 background: rgba($base-shadow-color, 0.6);
2280 border-radius: 4px;
2281 padding: 12px 9px;
2282 flex: 0 0 auto;
2283 display: flex;
2284 justify-content: center;
2285 align-items: center;
2286 }
2287
2288 button,
2289 a {
2290 display: inline;
2291 color: $primary-text-color;
2292 background: transparent;
2293 border: 0;
2294 padding: 0 5px;
2295 text-decoration: none;
2296 opacity: 0.6;
2297 font-size: 18px;
2298 line-height: 18px;
2299
2300 &:hover,
2301 &:active,
2302 &:focus {
2303 opacity: 1;
2304 }
2305 }
2306
2307 a {
2308 font-size: 19px;
2309 position: relative;
2310 bottom: -1px;
2311 }
2312 }
2313 }
2314
2315 a.status-card {
2316 cursor: pointer;
2317
2318 &:hover {
2319 background: lighten($ui-base-color, 8%);
2320 }
2321 }
2322
2323 .status-card-photo {
2324 cursor: zoom-in;
2325 display: block;
2326 text-decoration: none;
2327 width: 100%;
2328 height: auto;
2329 margin: 0;
2330 }
2331
2332 .status-card-video {
2333 iframe {
2334 width: 100%;
2335 height: 100%;
2336 }
2337 }
2338
2339 .status-card__title {
2340 display: block;
2341 font-weight: 500;
2342 margin-bottom: 5px;
2343 color: $ui-primary-color;
2344 overflow: hidden;
2345 text-overflow: ellipsis;
2346 white-space: nowrap;
2347 text-decoration: none;
2348 }
2349
2350 .status-card__content {
2351 flex: 1 1 auto;
2352 overflow: hidden;
2353 padding: 14px 14px 14px 8px;
2354 }
2355
2356 .status-card__description {
2357 color: $ui-primary-color;
2358 }
2359
2360 .status-card__host {
2361 display: block;
2362 margin-top: 5px;
2363 font-size: 13px;
2364 }
2365
2366 .status-card__image {
2367 flex: 0 0 100px;
2368 background: lighten($ui-base-color, 8%);
2369 position: relative;
2370 }
2371
2372 .status-card.horizontal {
2373 display: block;
2374
2375 .status-card__image {
2376 width: 100%;
2377 }
2378
2379 .status-card__image-image {
2380 border-radius: 4px 4px 0 0;
2381 }
2382
2383 .status-card__title {
2384 white-space: inherit;
2385 }
2386 }
2387
2388 .status-card__image-image {
2389 border-radius: 4px 0 0 4px;
2390 display: block;
2391 margin: 0;
2392 width: 100%;
2393 height: 100%;
2394 object-fit: cover;
2395 background-size: cover;
2396 background-position: center center;
2397 }
2398
2399 .load-more {
2400 display: block;
2401 color: $ui-base-lighter-color;
2402 background-color: transparent;
2403 border: 0;
2404 font-size: inherit;
2405 text-align: center;
2406 line-height: inherit;
2407 margin: 0;
2408 padding: 15px;
2409 width: 100%;
2410 clear: both;
2411
2412 &:hover {
2413 background: lighten($ui-base-color, 2%);
2414 }
2415 }
2416
2417 .regeneration-indicator {
2418 text-align: center;
2419 font-size: 16px;
2420 font-weight: 500;
2421 color: lighten($ui-base-color, 16%);
2422 background: $ui-base-color;
2423 cursor: default;
2424 display: flex;
2425 flex: 1 1 auto;
2426 align-items: center;
2427 justify-content: center;
2428 padding: 20px;
2429
2430 & > div {
2431 width: 100%;
2432 background: transparent;
2433 padding-top: 0;
2434 }
2435
2436 &__figure {
2437 background: url('../images/elephant_ui_working.svg') no-repeat center 0;
2438 width: 100%;
2439 height: 160px;
2440 background-size: contain;
2441 position: absolute;
2442 top: 50%;
2443 left: 50%;
2444 transform: translate(-50%, -50%);
2445 }
2446
2447 &.missing-indicator {
2448 padding-top: 20px + 48px;
2449
2450 .regeneration-indicator__figure {
2451 background-image: url('../images/elephant_ui_disappointed.svg');
2452 }
2453 }
2454
2455 &__label {
2456 margin-top: 200px;
2457
2458 strong {
2459 display: block;
2460 margin-bottom: 10px;
2461 color: lighten($ui-base-color, 34%);
2462 }
2463
2464 span {
2465 font-size: 15px;
2466 font-weight: 400;
2467 }
2468 }
2469 }
2470
2471 .column-header__wrapper {
2472 position: relative;
2473 flex: 0 0 auto;
2474
2475 &.active {
2476 &::before {
2477 display: block;
2478 content: "";
2479 position: absolute;
2480 top: 35px;
2481 left: 0;
2482 right: 0;
2483 margin: 0 auto;
2484 width: 60%;
2485 pointer-events: none;
2486 height: 28px;
2487 z-index: 1;
2488 background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
2489 }
2490 }
2491 }
2492
2493 .column-header {
2494 display: flex;
2495 font-size: 16px;
2496 background: lighten($ui-base-color, 4%);
2497 flex: 0 0 auto;
2498 cursor: pointer;
2499 position: relative;
2500 z-index: 2;
2501 outline: 0;
2502 overflow: hidden;
2503
2504 & > button {
2505 margin: 0;
2506 border: none;
2507 padding: 15px 0 15px 15px;
2508 color: inherit;
2509 background: transparent;
2510 font: inherit;
2511 text-align: left;
2512 text-overflow: ellipsis;
2513 overflow: hidden;
2514 white-space: nowrap;
2515 flex: 1;
2516 }
2517
2518 & > .column-header__back-button {
2519 color: $ui-highlight-color;
2520 }
2521
2522 &.active {
2523 box-shadow: 0 1px 0 rgba($ui-highlight-color, 0.3);
2524
2525 .column-header__icon {
2526 color: $ui-highlight-color;
2527 text-shadow: 0 0 10px rgba($ui-highlight-color, 0.4);
2528 }
2529 }
2530
2531 &:focus,
2532 &:active {
2533 outline: 0;
2534 }
2535 }
2536
2537 .column-header__buttons {
2538 height: 48px;
2539 display: flex;
2540 }
2541
2542 .column-header__links .text-btn {
2543 margin-right: 10px;
2544 }
2545
2546 .column-header__button {
2547 background: lighten($ui-base-color, 4%);
2548 border: 0;
2549 color: $ui-primary-color;
2550 cursor: pointer;
2551 font-size: 16px;
2552 padding: 0 15px;
2553
2554 &:hover {
2555 color: lighten($ui-primary-color, 7%);
2556 }
2557
2558 &.active {
2559 color: $primary-text-color;
2560 background: lighten($ui-base-color, 8%);
2561
2562 &:hover {
2563 color: $primary-text-color;
2564 background: lighten($ui-base-color, 8%);
2565 }
2566 }
2567 }
2568
2569 .column-header__collapsible {
2570 max-height: 70vh;
2571 overflow: hidden;
2572 overflow-y: auto;
2573 color: $ui-primary-color;
2574 transition: max-height 150ms ease-in-out, opacity 300ms linear;
2575 opacity: 1;
2576
2577 &.collapsed {
2578 max-height: 0;
2579 opacity: 0.5;
2580 }
2581
2582 &.animating {
2583 overflow-y: hidden;
2584 }
2585
2586 hr {
2587 height: 0;
2588 background: transparent;
2589 border: 0;
2590 border-top: 1px solid lighten($ui-base-color, 12%);
2591 margin: 10px 0;
2592 }
2593 }
2594
2595 .column-header__collapsible-inner {
2596 background: lighten($ui-base-color, 8%);
2597 padding: 15px;
2598 }
2599
2600 .column-header__setting-btn {
2601 &:hover {
2602 color: lighten($ui-primary-color, 4%);
2603 text-decoration: underline;
2604 }
2605 }
2606
2607 .column-header__setting-arrows {
2608 float: right;
2609
2610 .column-header__setting-btn {
2611 padding: 0 10px;
2612
2613 &:last-child {
2614 padding-right: 0;
2615 }
2616 }
2617 }
2618
2619 .text-btn {
2620 display: inline-block;
2621 padding: 0;
2622 font-family: inherit;
2623 font-size: inherit;
2624 color: inherit;
2625 border: 0;
2626 background: transparent;
2627 cursor: pointer;
2628 }
2629
2630 .column-header__icon {
2631 display: inline-block;
2632 margin-right: 5px;
2633 }
2634
2635 .loading-indicator {
2636 color: lighten($ui-base-color, 26%);
2637 font-size: 12px;
2638 font-weight: 400;
2639 text-transform: uppercase;
2640 overflow: visible;
2641 position: absolute;
2642 top: 50%;
2643 left: 50%;
2644 transform: translate(-50%, -50%);
2645
2646 span {
2647 display: block;
2648 float: left;
2649 margin-left: 50%;
2650 transform: translateX(-50%);
2651 margin: 82px 0 0 50%;
2652 white-space: nowrap;
2653 animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
2654 }
2655 }
2656
2657 .loading-indicator__figure {
2658 position: absolute;
2659 top: 50%;
2660 left: 50%;
2661 transform: translate(-50%, -50%);
2662 width: 0;
2663 height: 0;
2664 box-sizing: border-box;
2665 border: 0 solid lighten($ui-base-color, 26%);
2666 border-radius: 50%;
2667 animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
2668 }
2669
2670 @keyframes loader-figure {
2671 0% {
2672 width: 0;
2673 height: 0;
2674 background-color: lighten($ui-base-color, 26%);
2675 }
2676
2677 29% {
2678 background-color: lighten($ui-base-color, 26%);
2679 }
2680
2681 30% {
2682 width: 42px;
2683 height: 42px;
2684 background-color: transparent;
2685 border-width: 21px;
2686 opacity: 1;
2687 }
2688
2689 100% {
2690 width: 42px;
2691 height: 42px;
2692 border-width: 0;
2693 opacity: 0;
2694 background-color: transparent;
2695 }
2696 }
2697
2698 @keyframes loader-label {
2699 0% { opacity: 0.25; }
2700 30% { opacity: 1; }
2701 100% { opacity: 0.25; }
2702 }
2703
2704 .video-error-cover {
2705 align-items: center;
2706 background: $base-overlay-background;
2707 color: $primary-text-color;
2708 cursor: pointer;
2709 display: flex;
2710 flex-direction: column;
2711 height: 100%;
2712 justify-content: center;
2713 margin-top: 8px;
2714 position: relative;
2715 text-align: center;
2716 z-index: 100;
2717 }
2718
2719 .media-spoiler {
2720 background: $base-overlay-background;
2721 color: $ui-primary-color;
2722 border: 0;
2723 padding: 0;
2724 width: 100%;
2725 height: 100%;
2726 border-radius: 4px;
2727 appearance: none;
2728
2729 &:hover,
2730 &:active,
2731 &:focus {
2732 padding: 0;
2733 color: lighten($ui-primary-color, 8%);
2734 }
2735 }
2736
2737 .media-spoiler__warning {
2738 display: block;
2739 font-size: 14px;
2740 }
2741
2742 .media-spoiler__trigger {
2743 display: block;
2744 font-size: 11px;
2745 font-weight: 700;
2746 }
2747
2748 .spoiler-button {
2749 display: none;
2750 left: 4px;
2751 position: absolute;
2752 text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
2753 top: 4px;
2754 z-index: 100;
2755
2756 &.spoiler-button--visible {
2757 display: block;
2758 }
2759 }
2760
2761 .modal-container--preloader {
2762 background: lighten($ui-base-color, 8%);
2763 }
2764
2765 .account--panel {
2766 background: lighten($ui-base-color, 4%);
2767 border-top: 1px solid lighten($ui-base-color, 8%);
2768 border-bottom: 1px solid lighten($ui-base-color, 8%);
2769 display: flex;
2770 flex-direction: row;
2771 padding: 10px 0;
2772 }
2773
2774 .account--panel__button,
2775 .detailed-status__button {
2776 flex: 1 1 auto;
2777 text-align: center;
2778 }
2779
2780 .column-settings__outer {
2781 background: lighten($ui-base-color, 8%);
2782 padding: 15px;
2783 }
2784
2785 .column-settings__section {
2786 color: $ui-primary-color;
2787 cursor: default;
2788 display: block;
2789 font-weight: 500;
2790 margin-bottom: 10px;
2791 }
2792
2793 .column-settings__row {
2794 .text-btn {
2795 margin-bottom: 15px;
2796 }
2797 }
2798
2799 .account--follows-info {
2800 color: $primary-text-color;
2801 position: absolute;
2802 top: 10px;
2803 left: 10px;
2804 opacity: 0.7;
2805 display: inline-block;
2806 vertical-align: top;
2807 background-color: rgba($base-overlay-background, 0.4);
2808 text-transform: uppercase;
2809 font-size: 11px;
2810 font-weight: 500;
2811 padding: 4px;
2812 border-radius: 4px;
2813 }
2814
2815 .account--muting-info {
2816 color: $primary-text-color;
2817 position: absolute;
2818 top: 40px;
2819 left: 10px;
2820 opacity: 0.7;
2821 display: inline-block;
2822 vertical-align: top;
2823 background-color: rgba($base-overlay-background, 0.4);
2824 text-transform: uppercase;
2825 font-size: 11px;
2826 font-weight: 500;
2827 padding: 4px;
2828 border-radius: 4px;
2829 }
2830
2831 .account--action-button {
2832 position: absolute;
2833 top: 10px;
2834 right: 20px;
2835 }
2836
2837 .setting-toggle {
2838 display: block;
2839 line-height: 24px;
2840 }
2841
2842 .setting-toggle__label,
2843 .setting-meta__label {
2844 color: $ui-primary-color;
2845 display: inline-block;
2846 margin-bottom: 14px;
2847 margin-left: 8px;
2848 vertical-align: middle;
2849 }
2850
2851 .setting-meta__label {
2852 color: $ui-primary-color;
2853 float: right;
2854 }
2855
2856 .empty-column-indicator,
2857 .error-column {
2858 color: lighten($ui-base-color, 20%);
2859 background: $ui-base-color;
2860 text-align: center;
2861 padding: 20px;
2862 font-size: 15px;
2863 font-weight: 400;
2864 cursor: default;
2865 display: flex;
2866 flex: 1 1 auto;
2867 align-items: center;
2868 justify-content: center;
2869
2870 @supports(display: grid) { // hack to fix Chrome <57
2871 contain: strict;
2872 }
2873
2874 a {
2875 color: $ui-highlight-color;
2876 text-decoration: none;
2877
2878 &:hover {
2879 text-decoration: underline;
2880 }
2881 }
2882 }
2883
2884 .error-column {
2885 flex-direction: column;
2886 }
2887
2888 @keyframes heartbeat {
2889 from {
2890 transform: scale(1);
2891 animation-timing-function: ease-out;
2892 }
2893
2894 10% {
2895 transform: scale(0.91);
2896 animation-timing-function: ease-in;
2897 }
2898
2899 17% {
2900 transform: scale(0.98);
2901 animation-timing-function: ease-out;
2902 }
2903
2904 33% {
2905 transform: scale(0.87);
2906 animation-timing-function: ease-in;
2907 }
2908
2909 45% {
2910 transform: scale(1);
2911 animation-timing-function: ease-out;
2912 }
2913 }
2914
2915 .no-reduce-motion .pulse-loading {
2916 transform-origin: center center;
2917 animation: heartbeat 1.5s ease-in-out infinite both;
2918 }
2919
2920 @keyframes shake-bottom {
2921 0%,
2922 100% {
2923 transform: rotate(0deg);
2924 transform-origin: 50% 100%;
2925 }
2926
2927 10% {
2928 transform: rotate(2deg);
2929 }
2930
2931 20%,
2932 40%,
2933 60% {
2934 transform: rotate(-4deg);
2935 }
2936
2937 30%,
2938 50%,
2939 70% {
2940 transform: rotate(4deg);
2941 }
2942
2943 80% {
2944 transform: rotate(-2deg);
2945 }
2946
2947 90% {
2948 transform: rotate(2deg);
2949 }
2950 }
2951
2952 .no-reduce-motion .shake-bottom {
2953 transform-origin: 50% 100%;
2954 animation: shake-bottom 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) 2s 2 both;
2955 }
2956
2957 .emoji-picker-dropdown__menu {
2958 background: $simple-background-color;
2959 position: absolute;
2960 box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
2961 border-radius: 4px;
2962 margin-top: 5px;
2963
2964 .emoji-mart-scroll {
2965 transition: opacity 200ms ease;
2966 }
2967
2968 &.selecting .emoji-mart-scroll {
2969 opacity: 0.5;
2970 }
2971 }
2972
2973 .emoji-picker-dropdown__modifiers {
2974 position: absolute;
2975 top: 60px;
2976 right: 11px;
2977 cursor: pointer;
2978 }
2979
2980 .emoji-picker-dropdown__modifiers__menu {
2981 position: absolute;
2982 z-index: 4;
2983 top: -4px;
2984 left: -8px;
2985 background: $simple-background-color;
2986 border-radius: 4px;
2987 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
2988 overflow: hidden;
2989
2990 button {
2991 display: block;
2992 cursor: pointer;
2993 border: 0;
2994 padding: 4px 8px;
2995 background: transparent;
2996
2997 &:hover,
2998 &:focus,
2999 &:active {
3000 background: rgba($ui-secondary-color, 0.4);
3001 }
3002 }
3003
3004 .emoji-mart-emoji {
3005 height: 22px;
3006 }
3007 }
3008
3009 .emoji-mart-emoji {
3010 span {
3011 background-repeat: no-repeat;
3012 }
3013 }
3014
3015 .upload-area {
3016 align-items: center;
3017 background: rgba($base-overlay-background, 0.8);
3018 display: flex;
3019 height: 100%;
3020 justify-content: center;
3021 left: 0;
3022 opacity: 0;
3023 position: absolute;
3024 top: 0;
3025 visibility: hidden;
3026 width: 100%;
3027 z-index: 2000;
3028
3029 * {
3030 pointer-events: none;
3031 }
3032 }
3033
3034 .upload-area__drop {
3035 width: 320px;
3036 height: 160px;
3037 display: flex;
3038 box-sizing: border-box;
3039 position: relative;
3040 padding: 8px;
3041 }
3042
3043 .upload-area__background {
3044 position: absolute;
3045 top: 0;
3046 right: 0;
3047 bottom: 0;
3048 left: 0;
3049 z-index: -1;
3050 border-radius: 4px;
3051 background: $ui-base-color;
3052 box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
3053 }
3054
3055 .upload-area__content {
3056 flex: 1;
3057 display: flex;
3058 align-items: center;
3059 justify-content: center;
3060 color: $ui-secondary-color;
3061 font-size: 18px;
3062 font-weight: 500;
3063 border: 2px dashed $ui-base-lighter-color;
3064 border-radius: 4px;
3065 }
3066
3067 .upload-progress {
3068 padding: 10px;
3069 color: $ui-base-lighter-color;
3070 overflow: hidden;
3071 display: flex;
3072
3073 .fa {
3074 font-size: 34px;
3075 margin-right: 10px;
3076 }
3077
3078 span {
3079 font-size: 12px;
3080 text-transform: uppercase;
3081 font-weight: 500;
3082 display: block;
3083 }
3084 }
3085
3086 .upload-progess__message {
3087 flex: 1 1 auto;
3088 }
3089
3090 .upload-progress__backdrop {
3091 width: 100%;
3092 height: 6px;
3093 border-radius: 6px;
3094 background: $ui-base-lighter-color;
3095 position: relative;
3096 margin-top: 5px;
3097 }
3098
3099 .upload-progress__tracker {
3100 position: absolute;
3101 left: 0;
3102 top: 0;
3103 height: 6px;
3104 background: $ui-highlight-color;
3105 border-radius: 6px;
3106 }
3107
3108 .emoji-button {
3109 display: block;
3110 font-size: 24px;
3111 line-height: 24px;
3112 margin-left: 2px;
3113 width: 24px;
3114 outline: 0;
3115 cursor: pointer;
3116
3117 &:active,
3118 &:focus {
3119 outline: 0 !important;
3120 }
3121
3122 img {
3123 filter: grayscale(100%);
3124 opacity: 0.8;
3125 display: block;
3126 margin: 0;
3127 width: 22px;
3128 height: 22px;
3129 margin-top: 2px;
3130 }
3131
3132 &:hover,
3133 &:active,
3134 &:focus {
3135 img {
3136 opacity: 1;
3137 filter: none;
3138 }
3139 }
3140 }
3141
3142 .dropdown--active .emoji-button img {
3143 opacity: 1;
3144 filter: none;
3145 }
3146
3147 .privacy-dropdown__dropdown {
3148 position: absolute;
3149 background: $simple-background-color;
3150 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
3151 border-radius: 4px;
3152 margin-left: 40px;
3153 overflow: hidden;
3154 transform-origin: 50% 0;
3155 }
3156
3157 .privacy-dropdown__option {
3158 color: $ui-base-color;
3159 padding: 10px;
3160 cursor: pointer;
3161 display: flex;
3162
3163 &:hover,
3164 &.active {
3165 background: $ui-highlight-color;
3166 color: $primary-text-color;
3167
3168 .privacy-dropdown__option__content {
3169 color: $primary-text-color;
3170
3171 strong {
3172 color: $primary-text-color;
3173 }
3174 }
3175 }
3176
3177 &.active:hover {
3178 background: lighten($ui-highlight-color, 4%);
3179 }
3180 }
3181
3182 .privacy-dropdown__option__icon {
3183 display: flex;
3184 align-items: center;
3185 justify-content: center;
3186 margin-right: 10px;
3187 }
3188
3189 .privacy-dropdown__option__content {
3190 flex: 1 1 auto;
3191 color: darken($ui-primary-color, 24%);
3192
3193 strong {
3194 font-weight: 500;
3195 display: block;
3196 color: $ui-base-color;
3197
3198 @each $lang in $cjk-langs {
3199 &:lang(#{$lang}) {
3200 font-weight: 700;
3201 }
3202 }
3203 }
3204 }
3205
3206 .privacy-dropdown.active {
3207 .privacy-dropdown__value {
3208 background: $simple-background-color;
3209 border-radius: 4px 4px 0 0;
3210 box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);
3211
3212 .icon-button {
3213 transition: none;
3214 }
3215
3216 &.active {
3217 background: $ui-highlight-color;
3218
3219 .icon-button {
3220 color: $primary-text-color;
3221 }
3222 }
3223 }
3224
3225 .privacy-dropdown__dropdown {
3226 display: block;
3227 box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
3228 }
3229 }
3230
3231 .search {
3232 position: relative;
3233 }
3234
3235 .search__input {
3236 outline: 0;
3237 box-sizing: border-box;
3238 display: block;
3239 width: 100%;
3240 border: none;
3241 padding: 10px;
3242 padding-right: 30px;
3243 font-family: inherit;
3244 background: $ui-base-color;
3245 color: $ui-primary-color;
3246 font-size: 14px;
3247 margin: 0;
3248
3249 &::-moz-focus-inner {
3250 border: 0;
3251 }
3252
3253 &::-moz-focus-inner,
3254 &:focus,
3255 &:active {
3256 outline: 0 !important;
3257 }
3258
3259 &:focus {
3260 background: lighten($ui-base-color, 4%);
3261 }
3262
3263 @media screen and (max-width: 600px) {
3264 font-size: 16px;
3265 }
3266 }
3267
3268 .search__icon {
3269 .fa {
3270 position: absolute;
3271 top: 10px;
3272 right: 10px;
3273 z-index: 2;
3274 display: inline-block;
3275 opacity: 0;
3276 transition: all 100ms linear;
3277 font-size: 18px;
3278 width: 18px;
3279 height: 18px;
3280 color: $ui-secondary-color;
3281 cursor: default;
3282 pointer-events: none;
3283
3284 &.active {
3285 pointer-events: auto;
3286 opacity: 0.3;
3287 }
3288 }
3289
3290 .fa-search {
3291 transform: rotate(90deg);
3292
3293 &.active {
3294 pointer-events: none;
3295 transform: rotate(0deg);
3296 }
3297 }
3298
3299 .fa-times-circle {
3300 top: 11px;
3301 transform: rotate(0deg);
3302 cursor: pointer;
3303
3304 &.active {
3305 transform: rotate(90deg);
3306 }
3307
3308 &:hover {
3309 color: $primary-text-color;
3310 }
3311 }
3312 }
3313
3314 .search-results__header {
3315 color: $ui-base-lighter-color;
3316 background: lighten($ui-base-color, 2%);
3317 border-bottom: 1px solid darken($ui-base-color, 4%);
3318 padding: 15px 10px;
3319 font-size: 14px;
3320 font-weight: 500;
3321 }
3322
3323 .search-results__section {
3324 margin-bottom: 20px;
3325
3326 h5 {
3327 position: relative;
3328
3329 &::before {
3330 content: "";
3331 display: block;
3332 position: absolute;
3333 left: 0;
3334 right: 0;
3335 top: 50%;
3336 width: 100%;
3337 height: 0;
3338 border-top: 1px solid lighten($ui-base-color, 8%);
3339 }
3340
3341 span {
3342 display: inline-block;
3343 background: $ui-base-color;
3344 color: $ui-primary-color;
3345 font-size: 14px;
3346 font-weight: 500;
3347 padding: 10px;
3348 position: relative;
3349 z-index: 1;
3350 cursor: default;
3351 }
3352 }
3353
3354 .account:last-child,
3355 & > div:last-child .status {
3356 border-bottom: 0;
3357 }
3358 }
3359
3360 .search-results__hashtag {
3361 display: block;
3362 padding: 10px;
3363 color: $ui-secondary-color;
3364 text-decoration: none;
3365
3366 &:hover,
3367 &:active,
3368 &:focus {
3369 color: lighten($ui-secondary-color, 4%);
3370 text-decoration: underline;
3371 }
3372 }
3373
3374 .modal-root {
3375 transition: opacity 0.3s linear;
3376 will-change: opacity;
3377 z-index: 9999;
3378 }
3379
3380 .modal-root__overlay {
3381 position: absolute;
3382 top: 0;
3383 left: 0;
3384 right: 0;
3385 bottom: 0;
3386 background: rgba($base-overlay-background, 0.7);
3387 }
3388
3389 .modal-root__container {
3390 position: absolute;
3391 top: 0;
3392 left: 0;
3393 width: 100%;
3394 height: 100%;
3395 display: flex;
3396 flex-direction: column;
3397 align-items: center;
3398 justify-content: center;
3399 align-content: space-around;
3400 z-index: 9999;
3401 pointer-events: none;
3402 user-select: none;
3403 }
3404
3405 .modal-root__modal {
3406 pointer-events: auto;
3407 display: flex;
3408 z-index: 9999;
3409 }
3410
3411 .video-modal {
3412 max-width: 100vw;
3413 max-height: 100vh;
3414 position: relative;
3415 }
3416
3417 .media-modal {
3418 width: 100%;
3419 height: 100%;
3420 position: relative;
3421
3422 img,
3423 canvas,
3424 video {
3425 max-width: 100%;
3426 /*
3427 put margins on top and bottom of image to avoid the screen coverd by
3428 image.
3429 */
3430 max-height: 80%;
3431 width: auto;
3432 height: auto;
3433 margin: auto;
3434 }
3435
3436 img,
3437 canvas {
3438 display: block;
3439 background: url('../images/void.png') repeat;
3440 object-fit: contain;
3441 }
3442 }
3443
3444 .media-modal__closer {
3445 position: absolute;
3446 top: 0;
3447 left: 0;
3448 right: 0;
3449 bottom: 0;
3450 }
3451
3452 .media-modal__navigation {
3453 position: absolute;
3454 top: 0;
3455 left: 0;
3456 right: 0;
3457 bottom: 0;
3458 pointer-events: none;
3459 transition: opacity 0.3s linear;
3460 will-change: opacity;
3461
3462 * {
3463 pointer-events: auto;
3464 }
3465
3466 &.media-modal__navigation--hidden {
3467 opacity: 0;
3468
3469 * {
3470 pointer-events: none;
3471 }
3472 }
3473 }
3474
3475 .media-modal__nav {
3476 background: rgba($base-overlay-background, 0.5);
3477 box-sizing: border-box;
3478 border: 0;
3479 color: $primary-text-color;
3480 cursor: pointer;
3481 display: flex;
3482 align-items: center;
3483 font-size: 24px;
3484 height: 20vmax;
3485 margin: auto 0;
3486 padding: 30px 15px;
3487 position: absolute;
3488 top: 0;
3489 bottom: 0;
3490 }
3491
3492 .media-modal__nav--left {
3493 left: 0;
3494 }
3495
3496 .media-modal__nav--right {
3497 right: 0;
3498 }
3499
3500 .media-modal__pagination {
3501 width: 100%;
3502 text-align: center;
3503 position: absolute;
3504 left: 0;
3505 bottom: 20px;
3506 pointer-events: none;
3507 }
3508
3509 .media-modal__page-dot {
3510 display: inline-block;
3511 }
3512
3513 .media-modal__button {
3514 background-color: $white;
3515 height: 12px;
3516 width: 12px;
3517 border-radius: 6px;
3518 margin: 10px;
3519 padding: 0;
3520 border: 0;
3521 font-size: 0;
3522 }
3523
3524 .media-modal__button--active {
3525 background-color: $ui-highlight-color;
3526 }
3527
3528 .media-modal__close {
3529 position: absolute;
3530 right: 8px;
3531 top: 8px;
3532 z-index: 100;
3533 }
3534
3535 .onboarding-modal,
3536 .error-modal,
3537 .embed-modal {
3538 background: $ui-secondary-color;
3539 color: $ui-base-color;
3540 border-radius: 8px;
3541 overflow: hidden;
3542 display: flex;
3543 flex-direction: column;
3544 }
3545
3546 .onboarding-modal__pager {
3547 height: 80vh;
3548 width: 80vw;
3549 max-width: 520px;
3550 max-height: 470px;
3551
3552 .react-swipeable-view-container > div {
3553 width: 100%;
3554 height: 100%;
3555 box-sizing: border-box;
3556 display: none;
3557 flex-direction: column;
3558 align-items: center;
3559 justify-content: center;
3560 display: flex;
3561 user-select: text;
3562 }
3563 }
3564
3565 .error-modal__body {
3566 height: 80vh;
3567 width: 80vw;
3568 max-width: 520px;
3569 max-height: 420px;
3570 position: relative;
3571
3572 & > div {
3573 position: absolute;
3574 top: 0;
3575 left: 0;
3576 width: 100%;
3577 height: 100%;
3578 box-sizing: border-box;
3579 padding: 25px;
3580 display: none;
3581 flex-direction: column;
3582 align-items: center;
3583 justify-content: center;
3584 display: flex;
3585 opacity: 0;
3586 user-select: text;
3587 }
3588 }
3589
3590 .error-modal__body {
3591 display: flex;
3592 flex-direction: column;
3593 justify-content: center;
3594 align-items: center;
3595 text-align: center;
3596 }
3597
3598 @media screen and (max-width: 550px) {
3599 .onboarding-modal {
3600 width: 100%;
3601 height: 100%;
3602 border-radius: 0;
3603 }
3604
3605 .onboarding-modal__pager {
3606 width: 100%;
3607 height: auto;
3608 max-width: none;
3609 max-height: none;
3610 flex: 1 1 auto;
3611 }
3612 }
3613
3614 .onboarding-modal__paginator,
3615 .error-modal__footer {
3616 flex: 0 0 auto;
3617 background: darken($ui-secondary-color, 8%);
3618 display: flex;
3619 padding: 25px;
3620
3621 & > div {
3622 min-width: 33px;
3623 }
3624
3625 .onboarding-modal__nav,
3626 .error-modal__nav {
3627 color: darken($ui-secondary-color, 34%);
3628 border: 0;
3629 font-size: 14px;
3630 font-weight: 500;
3631 padding: 10px 25px;
3632 line-height: inherit;
3633 height: auto;
3634 margin: -10px;
3635 border-radius: 4px;
3636 background-color: transparent;
3637
3638 &:hover,
3639 &:focus,
3640 &:active {
3641 color: darken($ui-secondary-color, 38%);
3642 background-color: darken($ui-secondary-color, 16%);
3643 }
3644
3645 &.onboarding-modal__done,
3646 &.onboarding-modal__next {
3647 color: $ui-base-color;
3648
3649 &:hover,
3650 &:focus,
3651 &:active {
3652 color: darken($ui-base-color, 4%);
3653 }
3654 }
3655 }
3656 }
3657
3658 .error-modal__footer {
3659 justify-content: center;
3660 }
3661
3662 .onboarding-modal__dots {
3663 flex: 1 1 auto;
3664 display: flex;
3665 align-items: center;
3666 justify-content: center;
3667 }
3668
3669 .onboarding-modal__dot {
3670 width: 14px;
3671 height: 14px;
3672 border-radius: 14px;
3673 background: darken($ui-secondary-color, 16%);
3674 margin: 0 3px;
3675 cursor: pointer;
3676
3677 &:hover {
3678 background: darken($ui-secondary-color, 18%);
3679 }
3680
3681 &.active {
3682 cursor: default;
3683 background: darken($ui-secondary-color, 24%);
3684 }
3685 }
3686
3687 .onboarding-modal__page__wrapper {
3688 pointer-events: none;
3689 padding: 25px;
3690 padding-bottom: 0;
3691
3692 &.onboarding-modal__page__wrapper--active {
3693 pointer-events: auto;
3694 }
3695 }
3696
3697 .onboarding-modal__page {
3698 cursor: default;
3699 line-height: 21px;
3700
3701 h1 {
3702 font-size: 18px;
3703 font-weight: 500;
3704 color: $ui-base-color;
3705 margin-bottom: 20px;
3706 }
3707
3708 a {
3709 color: $ui-highlight-color;
3710
3711 &:hover,
3712 &:focus,
3713 &:active {
3714 color: lighten($ui-highlight-color, 4%);
3715 }
3716 }
3717
3718 .navigation-bar a {
3719 color: inherit;
3720 }
3721
3722 p {
3723 font-size: 16px;
3724 color: lighten($ui-base-color, 8%);
3725 margin-top: 10px;
3726 margin-bottom: 10px;
3727
3728 &:last-child {
3729 margin-bottom: 0;
3730 }
3731
3732 strong {
3733 font-weight: 500;
3734 background: $ui-base-color;
3735 color: $ui-secondary-color;
3736 border-radius: 4px;
3737 font-size: 14px;
3738 padding: 3px 6px;
3739
3740 @each $lang in $cjk-langs {
3741 &:lang(#{$lang}) {
3742 font-weight: 700;
3743 }
3744 }
3745 }
3746 }
3747 }
3748
3749 .onboarding-modal__page__wrapper-0 {
3750 background: url('../images/elephant_ui_greeting.svg') no-repeat left bottom / auto 250px;
3751 height: 100%;
3752 padding: 0;
3753 }
3754
3755 .onboarding-modal__page-one {
3756 &__lead {
3757 padding: 65px;
3758 padding-top: 45px;
3759 padding-bottom: 0;
3760 margin-bottom: 10px;
3761
3762 h1 {
3763 font-size: 26px;
3764 line-height: 36px;
3765 margin-bottom: 8px;
3766 }
3767
3768 p {
3769 margin-bottom: 0;
3770 }
3771 }
3772
3773 &__extra {
3774 padding-right: 65px;
3775 padding-left: 185px;
3776 text-align: center;
3777 }
3778 }
3779
3780 .display-case {
3781 text-align: center;
3782 font-size: 15px;
3783 margin-bottom: 15px;
3784
3785 &__label {
3786 font-weight: 500;
3787 color: $ui-base-color;
3788 margin-bottom: 5px;
3789 text-transform: uppercase;
3790 font-size: 12px;
3791 }
3792
3793 &__case {
3794 background: $ui-base-color;
3795 color: $ui-secondary-color;
3796 font-weight: 500;
3797 padding: 10px;
3798 border-radius: 4px;
3799 }
3800 }
3801
3802 .onboarding-modal__page-two,
3803 .onboarding-modal__page-three,
3804 .onboarding-modal__page-four,
3805 .onboarding-modal__page-five {
3806 p {
3807 text-align: left;
3808 }
3809
3810 .figure {
3811 background: darken($ui-base-color, 8%);
3812 color: $ui-secondary-color;
3813 margin-bottom: 20px;
3814 border-radius: 4px;
3815 padding: 10px;
3816 text-align: center;
3817 font-size: 14px;
3818 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.3);
3819
3820 .onboarding-modal__image {
3821 border-radius: 4px;
3822 margin-bottom: 10px;
3823 }
3824
3825 &.non-interactive {
3826 pointer-events: none;
3827 text-align: left;
3828 }
3829 }
3830 }
3831
3832 .onboarding-modal__page-four__columns {
3833 .row {
3834 display: flex;
3835 margin-bottom: 20px;
3836
3837 & > div {
3838 flex: 1 1 0;
3839 margin: 0 10px;
3840
3841 &:first-child {
3842 margin-left: 0;
3843 }
3844
3845 &:last-child {
3846 margin-right: 0;
3847 }
3848
3849 p {
3850 text-align: center;
3851 }
3852 }
3853
3854 &:last-child {
3855 margin-bottom: 0;
3856 }
3857 }
3858
3859 .column-header {
3860 color: $primary-text-color;
3861 }
3862 }
3863
3864 @media screen and (max-width: 320px) and (max-height: 600px) {
3865 .onboarding-modal__page p {
3866 font-size: 14px;
3867 line-height: 20px;
3868 }
3869
3870 .onboarding-modal__page-two .figure,
3871 .onboarding-modal__page-three .figure,
3872 .onboarding-modal__page-four .figure,
3873 .onboarding-modal__page-five .figure {
3874 font-size: 12px;
3875 margin-bottom: 10px;
3876 }
3877
3878 .onboarding-modal__page-four__columns .row {
3879 margin-bottom: 10px;
3880 }
3881
3882 .onboarding-modal__page-four__columns .column-header {
3883 padding: 5px;
3884 font-size: 12px;
3885 }
3886 }
3887
3888 .onboard-sliders {
3889 display: inline-block;
3890 max-width: 30px;
3891 max-height: auto;
3892 margin-left: 10px;
3893 }
3894
3895 .boost-modal,
3896 .confirmation-modal,
3897 .report-modal,
3898 .actions-modal,
3899 .mute-modal {
3900 background: lighten($ui-secondary-color, 8%);
3901 color: $ui-base-color;
3902 border-radius: 8px;
3903 overflow: hidden;
3904 max-width: 90vw;
3905 width: 480px;
3906 position: relative;
3907 flex-direction: column;
3908
3909 .status__display-name {
3910 display: block;
3911 max-width: 100%;
3912 padding-right: 25px;
3913 }
3914
3915 .status__avatar {
3916 height: 28px;
3917 left: 10px;
3918 position: absolute;
3919 top: 10px;
3920 width: 48px;
3921 }
3922 }
3923
3924 .actions-modal {
3925 .status {
3926 background: $white;
3927 border-bottom-color: $ui-secondary-color;
3928 padding-top: 10px;
3929 padding-bottom: 10px;
3930 }
3931
3932 .dropdown-menu__separator {
3933 border-bottom-color: $ui-secondary-color;
3934 }
3935 }
3936
3937 .boost-modal__container {
3938 overflow-x: scroll;
3939 padding: 10px;
3940
3941 .status {
3942 user-select: text;
3943 border-bottom: 0;
3944 }
3945 }
3946
3947 .boost-modal__action-bar,
3948 .confirmation-modal__action-bar,
3949 .mute-modal__action-bar {
3950 display: flex;
3951 justify-content: space-between;
3952 background: $ui-secondary-color;
3953 padding: 10px;
3954 line-height: 36px;
3955
3956 & > div {
3957 flex: 1 1 auto;
3958 text-align: right;
3959 color: lighten($ui-base-color, 33%);
3960 padding-right: 10px;
3961 }
3962
3963 .button {
3964 flex: 0 0 auto;
3965 }
3966 }
3967
3968 .boost-modal__status-header {
3969 font-size: 15px;
3970 }
3971
3972 .boost-modal__status-time {
3973 float: right;
3974 font-size: 14px;
3975 }
3976
3977 .confirmation-modal {
3978 max-width: 85vw;
3979
3980 @media screen and (min-width: 480px) {
3981 max-width: 380px;
3982 }
3983 }
3984
3985 .mute-modal {
3986 line-height: 24px;
3987 }
3988
3989 .mute-modal .react-toggle {
3990 vertical-align: middle;
3991 }
3992
3993 .report-modal {
3994 width: 90vw;
3995 max-width: 700px;
3996 }
3997
3998 .report-modal__container {
3999 display: flex;
4000 border-top: 1px solid $ui-secondary-color;
4001
4002 @media screen and (max-width: 480px) {
4003 flex-wrap: wrap;
4004 overflow-y: auto;
4005 }
4006 }
4007
4008 .report-modal__statuses,
4009 .report-modal__comment {
4010 box-sizing: border-box;
4011 width: 50%;
4012
4013 @media screen and (max-width: 480px) {
4014 width: 100%;
4015 }
4016 }
4017
4018 .report-modal__statuses {
4019 flex: 1 1 auto;
4020 min-height: 20vh;
4021 max-height: 40vh;
4022 overflow-y: auto;
4023 overflow-x: hidden;
4024
4025 @media screen and (max-width: 480px) {
4026 max-height: 10vh;
4027 }
4028 }
4029
4030 .report-modal__comment {
4031 padding: 20px;
4032 border-right: 1px solid $ui-secondary-color;
4033 max-width: 320px;
4034
4035 p {
4036 font-size: 14px;
4037 line-height: 20px;
4038 margin-bottom: 20px;
4039 }
4040
4041 .setting-text {
4042 display: block;
4043 box-sizing: border-box;
4044 width: 100%;
4045 margin: 0;
4046 color: $ui-base-color;
4047 background: $white;
4048 padding: 10px;
4049 font-family: inherit;
4050 font-size: 14px;
4051 resize: vertical;
4052 border: 0;
4053 outline: 0;
4054 border-radius: 4px;
4055 border: 1px solid $ui-secondary-color;
4056 margin-bottom: 20px;
4057
4058 &:focus {
4059 border: 1px solid darken($ui-secondary-color, 8%);
4060 }
4061 }
4062
4063 .setting-toggle {
4064 margin-top: 20px;
4065 margin-bottom: 24px;
4066
4067 &__label {
4068 color: $ui-base-color;
4069 font-size: 14px;
4070 }
4071 }
4072
4073 @media screen and (max-width: 480px) {
4074 padding: 10px;
4075 max-width: 100%;
4076 order: 2;
4077
4078 .setting-toggle {
4079 margin-bottom: 4px;
4080 }
4081 }
4082 }
4083
4084 .actions-modal {
4085 .status {
4086 overflow-y: auto;
4087 max-height: 300px;
4088 }
4089
4090 max-height: 80vh;
4091 max-width: 80vw;
4092
4093 .actions-modal__item-label {
4094 font-weight: 500;
4095 }
4096
4097 ul {
4098 overflow-y: auto;
4099 flex-shrink: 0;
4100
4101 li:empty {
4102 margin: 0;
4103 }
4104
4105 li:not(:empty) {
4106 a {
4107 color: $ui-base-color;
4108 display: flex;
4109 padding: 12px 16px;
4110 font-size: 15px;
4111 align-items: center;
4112 text-decoration: none;
4113
4114 &,
4115 button {
4116 transition: none;
4117 }
4118
4119 &.active,
4120 &:hover,
4121 &:active,
4122 &:focus {
4123 &,
4124 button {
4125 background: $ui-highlight-color;
4126 color: $primary-text-color;
4127 }
4128 }
4129
4130 button:first-child {
4131 margin-right: 10px;
4132 }
4133 }
4134 }
4135 }
4136 }
4137
4138 .confirmation-modal__action-bar,
4139 .mute-modal__action-bar {
4140 .confirmation-modal__cancel-button,
4141 .mute-modal__cancel-button {
4142 background-color: transparent;
4143 color: darken($ui-secondary-color, 34%);
4144 font-size: 14px;
4145 font-weight: 500;
4146
4147 &:hover,
4148 &:focus,
4149 &:active {
4150 color: darken($ui-secondary-color, 38%);
4151 }
4152 }
4153 }
4154
4155 .confirmation-modal__container,
4156 .mute-modal__container,
4157 .report-modal__target {
4158 padding: 30px;
4159 font-size: 16px;
4160 text-align: center;
4161
4162 strong {
4163 font-weight: 500;
4164
4165 @each $lang in $cjk-langs {
4166 &:lang(#{$lang}) {
4167 font-weight: 700;
4168 }
4169 }
4170 }
4171 }
4172
4173 .report-modal__target {
4174 padding: 20px;
4175
4176 .media-modal__close {
4177 top: 19px;
4178 right: 15px;
4179 }
4180 }
4181
4182 .loading-bar {
4183 background-color: $ui-highlight-color;
4184 height: 3px;
4185 position: absolute;
4186 top: 0;
4187 left: 0;
4188 }
4189
4190 .media-gallery__gifv__label {
4191 display: block;
4192 position: absolute;
4193 color: $primary-text-color;
4194 background: rgba($base-overlay-background, 0.5);
4195 bottom: 6px;
4196 left: 6px;
4197 padding: 2px 6px;
4198 border-radius: 2px;
4199 font-size: 11px;
4200 font-weight: 600;
4201 z-index: 1;
4202 pointer-events: none;
4203 opacity: 0.9;
4204 transition: opacity 0.1s ease;
4205 }
4206
4207 .media-gallery__gifv {
4208 &.autoplay {
4209 .media-gallery__gifv__label {
4210 display: none;
4211 }
4212 }
4213
4214 &:hover {
4215 .media-gallery__gifv__label {
4216 opacity: 1;
4217 }
4218 }
4219 }
4220
4221 .attachment-list {
4222 display: flex;
4223 font-size: 14px;
4224 border: 1px solid lighten($ui-base-color, 8%);
4225 border-radius: 4px;
4226 margin-top: 14px;
4227 overflow: hidden;
4228
4229 &__icon {
4230 flex: 0 0 auto;
4231 color: $ui-base-lighter-color;
4232 padding: 8px 18px;
4233 cursor: default;
4234 border-right: 1px solid lighten($ui-base-color, 8%);
4235 display: flex;
4236 flex-direction: column;
4237 align-items: center;
4238 justify-content: center;
4239 font-size: 26px;
4240
4241 .fa {
4242 display: block;
4243 }
4244 }
4245
4246 &__list {
4247 list-style: none;
4248 padding: 4px 0;
4249 padding-left: 8px;
4250 display: flex;
4251 flex-direction: column;
4252 justify-content: center;
4253
4254 li {
4255 display: block;
4256 padding: 4px 0;
4257 }
4258
4259 a {
4260 text-decoration: none;
4261 color: $ui-base-lighter-color;
4262 font-weight: 500;
4263
4264 &:hover {
4265 text-decoration: underline;
4266 }
4267 }
4268 }
4269
4270 &.compact {
4271 border: 0;
4272 margin-top: 4px;
4273
4274 .attachment-list__list {
4275 padding: 0;
4276 display: block;
4277 }
4278
4279 .fa {
4280 color: $ui-base-lighter-color;
4281 }
4282 }
4283 }
4284
4285 /* Media Gallery */
4286 .media-gallery {
4287 box-sizing: border-box;
4288 margin-top: 8px;
4289 overflow: hidden;
4290 border-radius: 4px;
4291 position: relative;
4292 width: 100%;
4293 }
4294
4295 .media-gallery__item {
4296 border: none;
4297 box-sizing: border-box;
4298 display: block;
4299 float: left;
4300 position: relative;
4301 border-radius: 4px;
4302 overflow: hidden;
4303
4304 &.standalone {
4305 .media-gallery__item-gifv-thumbnail {
4306 transform: none;
4307 top: 0;
4308 }
4309 }
4310 }
4311
4312 .media-gallery__item-thumbnail {
4313 cursor: zoom-in;
4314 display: block;
4315 text-decoration: none;
4316 color: $ui-secondary-color;
4317 line-height: 0;
4318
4319 &,
4320 img {
4321 height: 100%;
4322 width: 100%;
4323 }
4324
4325 img {
4326 object-fit: cover;
4327 }
4328 }
4329
4330 .media-gallery__gifv {
4331 height: 100%;
4332 overflow: hidden;
4333 position: relative;
4334 width: 100%;
4335 }
4336
4337 .media-gallery__item-gifv-thumbnail {
4338 cursor: zoom-in;
4339 height: 100%;
4340 object-fit: cover;
4341 position: relative;
4342 top: 50%;
4343 transform: translateY(-50%);
4344 width: 100%;
4345 z-index: 1;
4346 }
4347
4348 .media-gallery__item-thumbnail-label {
4349 clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
4350 clip: rect(1px, 1px, 1px, 1px);
4351 overflow: hidden;
4352 position: absolute;
4353 }
4354 /* End Media Gallery */
4355
4356 /* Status Video Player */
4357 .status__video-player {
4358 background: $base-overlay-background;
4359 box-sizing: border-box;
4360 cursor: default; /* May not be needed */
4361 margin-top: 8px;
4362 overflow: hidden;
4363 position: relative;
4364 }
4365
4366 .status__video-player-video {
4367 height: 100%;
4368 object-fit: cover;
4369 position: relative;
4370 top: 50%;
4371 transform: translateY(-50%);
4372 width: 100%;
4373 z-index: 1;
4374 }
4375
4376 .status__video-player-expand,
4377 .status__video-player-mute {
4378 color: $primary-text-color;
4379 opacity: 0.8;
4380 position: absolute;
4381 right: 4px;
4382 text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
4383 }
4384
4385 .status__video-player-spoiler {
4386 display: none;
4387 color: $primary-text-color;
4388 left: 4px;
4389 position: absolute;
4390 text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
4391 top: 4px;
4392 z-index: 100;
4393
4394 &.status__video-player-spoiler--visible {
4395 display: block;
4396 }
4397 }
4398
4399 .status__video-player-expand {
4400 bottom: 4px;
4401 z-index: 100;
4402 }
4403
4404 .status__video-player-mute {
4405 top: 4px;
4406 z-index: 5;
4407 }
4408
4409 .video-player {
4410 overflow: hidden;
4411 position: relative;
4412 background: $base-shadow-color;
4413 max-width: 100%;
4414 border-radius: 4px;
4415
4416 video {
4417 height: 100%;
4418 width: 100%;
4419 z-index: 1;
4420 }
4421
4422 &.fullscreen {
4423 width: 100% !important;
4424 height: 100% !important;
4425 margin: 0;
4426
4427 video {
4428 max-width: 100% !important;
4429 max-height: 100% !important;
4430 }
4431 }
4432
4433 &.inline {
4434 video {
4435 object-fit: contain;
4436 position: relative;
4437 top: 50%;
4438 transform: translateY(-50%);
4439 }
4440 }
4441
4442 &__controls {
4443 position: absolute;
4444 z-index: 2;
4445 bottom: 0;
4446 left: 0;
4447 right: 0;
4448 box-sizing: border-box;
4449 background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
4450 padding: 0 15px;
4451 opacity: 0;
4452 transition: opacity .1s ease;
4453
4454 &.active {
4455 opacity: 1;
4456 }
4457 }
4458
4459 &.inactive {
4460 video,
4461 .video-player__controls {
4462 visibility: hidden;
4463 }
4464 }
4465
4466 &__spoiler {
4467 display: none;
4468 position: absolute;
4469 top: 0;
4470 left: 0;
4471 width: 100%;
4472 height: 100%;
4473 z-index: 4;
4474 border: 0;
4475 background: $base-shadow-color;
4476 color: $ui-primary-color;
4477 transition: none;
4478 pointer-events: none;
4479
4480 &.active {
4481 display: block;
4482 pointer-events: auto;
4483
4484 &:hover,
4485 &:active,
4486 &:focus {
4487 color: lighten($ui-primary-color, 8%);
4488 }
4489 }
4490
4491 &__title {
4492 display: block;
4493 font-size: 14px;
4494 }
4495
4496 &__subtitle {
4497 display: block;
4498 font-size: 11px;
4499 font-weight: 500;
4500 }
4501 }
4502
4503 &__buttons-bar {
4504 display: flex;
4505 justify-content: space-between;
4506 padding-bottom: 10px;
4507 }
4508
4509 &__buttons {
4510 font-size: 16px;
4511 white-space: nowrap;
4512 overflow: hidden;
4513 text-overflow: ellipsis;
4514
4515 &.left {
4516 button {
4517 padding-left: 0;
4518 }
4519 }
4520
4521 &.right {
4522 button {
4523 padding-right: 0;
4524 }
4525 }
4526
4527 button {
4528 background: transparent;
4529 padding: 2px 10px;
4530 font-size: 16px;
4531 border: 0;
4532 color: rgba($white, 0.75);
4533
4534 &:active,
4535 &:hover,
4536 &:focus {
4537 color: $white;
4538 }
4539 }
4540 }
4541
4542 &__time-sep,
4543 &__time-total,
4544 &__time-current {
4545 font-size: 14px;
4546 font-weight: 500;
4547 }
4548
4549 &__time-current {
4550 color: $white;
4551 margin-left: 10px;
4552 }
4553
4554 &__time-sep {
4555 display: inline-block;
4556 margin: 0 6px;
4557 }
4558
4559 &__time-sep,
4560 &__time-total {
4561 color: $white;
4562 }
4563
4564 &__seek {
4565 cursor: pointer;
4566 height: 24px;
4567 position: relative;
4568
4569 &::before {
4570 content: "";
4571 width: 100%;
4572 background: rgba($white, 0.35);
4573 border-radius: 4px;
4574 display: block;
4575 position: absolute;
4576 height: 4px;
4577 top: 10px;
4578 }
4579
4580 &__progress,
4581 &__buffer {
4582 display: block;
4583 position: absolute;
4584 height: 4px;
4585 border-radius: 4px;
4586 top: 10px;
4587 background: lighten($ui-highlight-color, 8%);
4588 }
4589
4590 &__buffer {
4591 background: rgba($white, 0.2);
4592 }
4593
4594 &__handle {
4595 position: absolute;
4596 z-index: 3;
4597 opacity: 0;
4598 border-radius: 50%;
4599 width: 12px;
4600 height: 12px;
4601 top: 6px;
4602 margin-left: -6px;
4603 transition: opacity .1s ease;
4604 background: lighten($ui-highlight-color, 8%);
4605 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
4606 pointer-events: none;
4607
4608 &.active {
4609 opacity: 1;
4610 }
4611 }
4612
4613 &:hover {
4614 .video-player__seek__handle {
4615 opacity: 1;
4616 }
4617 }
4618 }
4619
4620 &.detailed,
4621 &.fullscreen {
4622 .video-player__buttons {
4623 button {
4624 padding-top: 10px;
4625 padding-bottom: 10px;
4626 }
4627 }
4628 }
4629 }
4630
4631 .media-spoiler-video {
4632 background-size: cover;
4633 background-repeat: no-repeat;
4634 background-position: center;
4635 cursor: pointer;
4636 margin-top: 8px;
4637 position: relative;
4638 border: 0;
4639 display: block;
4640 }
4641
4642 .media-spoiler-video-play-icon {
4643 border-radius: 100px;
4644 color: rgba($primary-text-color, 0.8);
4645 font-size: 36px;
4646 left: 50%;
4647 padding: 5px;
4648 position: absolute;
4649 top: 50%;
4650 transform: translate(-50%, -50%);
4651 }
4652 /* End Video Player */
4653
4654 .account-gallery__container {
4655 display: flex;
4656 justify-content: center;
4657 flex-wrap: wrap;
4658 padding: 2px;
4659 }
4660
4661 .account-gallery__item {
4662 flex-grow: 1;
4663 width: 50%;
4664 overflow: hidden;
4665 position: relative;
4666
4667 &::before {
4668 content: "";
4669 display: block;
4670 padding-top: 100%;
4671 }
4672
4673 a {
4674 display: block;
4675 width: calc(100% - 4px);
4676 height: calc(100% - 4px);
4677 margin: 2px;
4678 top: 0;
4679 left: 0;
4680 background-color: $base-overlay-background;
4681 background-size: cover;
4682 background-position: center;
4683 position: absolute;
4684 color: $ui-primary-color;
4685 text-decoration: none;
4686 border-radius: 4px;
4687
4688 &:hover,
4689 &:active,
4690 &:focus {
4691 outline: 0;
4692 color: $ui-secondary-color;
4693
4694 &::before {
4695 content: "";
4696 display: block;
4697 width: 100%;
4698 height: 100%;
4699 background: rgba($base-overlay-background, 0.3);
4700 border-radius: 4px;
4701 }
4702 }
4703 }
4704
4705 &__icons {
4706 position: absolute;
4707 top: 50%;
4708 left: 50%;
4709 transform: translate(-50%, -50%);
4710 font-size: 24px;
4711 }
4712 }
4713
4714 .account__section-headline {
4715 background: darken($ui-base-color, 4%);
4716 border-bottom: 1px solid lighten($ui-base-color, 8%);
4717 cursor: default;
4718 display: flex;
4719
4720 a {
4721 display: block;
4722 flex: 1 1 auto;
4723 color: $ui-primary-color;
4724 padding: 15px 0;
4725 font-size: 14px;
4726 font-weight: 500;
4727 text-align: center;
4728 text-decoration: none;
4729 position: relative;
4730
4731 &.active {
4732 color: $ui-secondary-color;
4733
4734 &::before,
4735 &::after {
4736 display: block;
4737 content: "";
4738 position: absolute;
4739 bottom: 0;
4740 left: 50%;
4741 width: 0;
4742 height: 0;
4743 transform: translateX(-50%);
4744 border-style: solid;
4745 border-width: 0 10px 10px;
4746 border-color: transparent transparent lighten($ui-base-color, 8%);
4747 }
4748
4749 &::after {
4750 bottom: -1px;
4751 border-color: transparent transparent $ui-base-color;
4752 }
4753 }
4754 }
4755 }
4756
4757 ::-webkit-scrollbar-thumb {
4758 border-radius: 0;
4759 }
4760
4761 .search-popout {
4762 background: $simple-background-color;
4763 border-radius: 4px;
4764 padding: 10px 14px;
4765 padding-bottom: 14px;
4766 margin-top: 10px;
4767 color: $ui-primary-color;
4768 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
4769
4770 h4 {
4771 text-transform: uppercase;
4772 color: $ui-primary-color;
4773 font-size: 13px;
4774 font-weight: 500;
4775 margin-bottom: 10px;
4776 }
4777
4778 li {
4779 padding: 4px 0;
4780 }
4781
4782 ul {
4783 margin-bottom: 10px;
4784 }
4785
4786 em {
4787 font-weight: 500;
4788 color: $ui-base-color;
4789 }
4790 }
4791
4792 noscript {
4793 text-align: center;
4794
4795 img {
4796 width: 200px;
4797 opacity: 0.5;
4798 animation: flicker 4s infinite;
4799 }
4800
4801 div {
4802 font-size: 14px;
4803 margin: 30px auto;
4804 color: $ui-secondary-color;
4805 max-width: 400px;
4806
4807 a {
4808 color: $ui-highlight-color;
4809 text-decoration: underline;
4810
4811 &:hover {
4812 text-decoration: none;
4813 }
4814 }
4815 }
4816 }
4817
4818 @keyframes flicker {
4819 0% { opacity: 1; }
4820 30% { opacity: 0.75; }
4821 100% { opacity: 1; }
4822 }
4823
4824 @media screen and (max-width: 630px) and (max-height: 400px) {
4825 $duration: 400ms;
4826 $delay: 100ms;
4827
4828 .tabs-bar,
4829 .search {
4830 will-change: margin-top;
4831 transition: margin-top $duration $delay;
4832 }
4833
4834 .navigation-bar {
4835 will-change: padding-bottom;
4836 transition: padding-bottom $duration $delay;
4837 }
4838
4839 .navigation-bar {
4840 & > a:first-child {
4841 will-change: margin-top, margin-left, width;
4842 transition: margin-top $duration $delay, margin-left $duration ($duration + $delay);
4843 }
4844
4845 & > .navigation-bar__profile-edit {
4846 will-change: margin-top;
4847 transition: margin-top $duration $delay;
4848 }
4849
4850 & > .icon-button {
4851 will-change: opacity;
4852 transition: opacity $duration $delay;
4853 }
4854 }
4855
4856 .is-composing {
4857 .tabs-bar,
4858 .search {
4859 margin-top: -50px;
4860 }
4861
4862 .navigation-bar {
4863 padding-bottom: 0;
4864
4865 & > a:first-child {
4866 margin-top: -50px;
4867 margin-left: -40px;
4868 }
4869
4870 .navigation-bar__profile {
4871 padding-top: 2px;
4872 }
4873
4874 .navigation-bar__profile-edit {
4875 position: absolute;
4876 margin-top: -50px;
4877 }
4878
4879 .icon-button {
4880 pointer-events: auto;
4881 opacity: 1;
4882 }
4883 }
4884 }
4885 }
4886
4887 .embed-modal {
4888 max-width: 80vw;
4889 max-height: 80vh;
4890
4891 h4 {
4892 padding: 30px;
4893 font-weight: 500;
4894 font-size: 16px;
4895 text-align: center;
4896 }
4897
4898 .embed-modal__container {
4899 padding: 10px;
4900
4901 .hint {
4902 margin-bottom: 15px;
4903 }
4904
4905 .embed-modal__html {
4906 color: $ui-secondary-color;
4907 outline: 0;
4908 box-sizing: border-box;
4909 display: block;
4910 width: 100%;
4911 border: none;
4912 padding: 10px;
4913 font-family: 'mastodon-font-monospace', monospace;
4914 background: $ui-base-color;
4915 color: $ui-primary-color;
4916 font-size: 14px;
4917 margin: 0;
4918 margin-bottom: 15px;
4919
4920 &::-moz-focus-inner {
4921 border: 0;
4922 }
4923
4924 &::-moz-focus-inner,
4925 &:focus,
4926 &:active {
4927 outline: 0 !important;
4928 }
4929
4930 &:focus {
4931 background: lighten($ui-base-color, 4%);
4932 }
4933
4934 @media screen and (max-width: 600px) {
4935 font-size: 16px;
4936 }
4937 }
4938
4939 .embed-modal__iframe {
4940 width: 400px;
4941 max-width: 100%;
4942 overflow: hidden;
4943 border: 0;
4944 }
4945 }
4946 }
4947
4948 .account__moved-note {
4949 padding: 14px 10px;
4950 padding-bottom: 16px;
4951 background: lighten($ui-base-color, 4%);
4952 border-top: 1px solid lighten($ui-base-color, 8%);
4953 border-bottom: 1px solid lighten($ui-base-color, 8%);
4954
4955 &__message {
4956 position: relative;
4957 margin-left: 58px;
4958 color: $ui-base-lighter-color;
4959 padding: 8px 0;
4960 padding-top: 0;
4961 padding-bottom: 4px;
4962 font-size: 14px;
4963
4964 > span {
4965 display: block;
4966 overflow: hidden;
4967 text-overflow: ellipsis;
4968 }
4969 }
4970
4971 &__icon-wrapper {
4972 left: -26px;
4973 position: absolute;
4974 }
4975
4976 .detailed-status__display-avatar {
4977 position: relative;
4978 }
4979
4980 .detailed-status__display-name {
4981 margin-bottom: 0;
4982 }
4983 }
4984
4985 .column-inline-form {
4986 padding: 7px 15px;
4987 padding-right: 5px;
4988 display: flex;
4989 justify-content: flex-start;
4990 align-items: center;
4991 background: lighten($ui-base-color, 4%);
4992
4993 label {
4994 flex: 1 1 auto;
4995
4996 input {
4997 width: 100%;
4998 margin-bottom: 6px;
4999
5000 &:focus {
5001 outline: 0;
5002 }
5003 }
5004 }
5005
5006 .icon-button {
5007 flex: 0 0 auto;
5008 margin-left: 5px;
5009 }
5010 }
5011
5012 .drawer__backdrop {
5013 cursor: pointer;
5014 position: absolute;
5015 top: 0;
5016 left: 0;
5017 width: 100%;
5018 height: 100%;
5019 background: rgba($base-overlay-background, 0.5);
5020 }
5021
5022 .list-editor {
5023 background: $ui-base-color;
5024 flex-direction: column;
5025 border-radius: 8px;
5026 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
5027 width: 380px;
5028 overflow: hidden;
5029
5030 @media screen and (max-width: 420px) {
5031 width: 90%;
5032 }
5033
5034 h4 {
5035 padding: 15px 0;
5036 background: lighten($ui-base-color, 13%);
5037 font-weight: 500;
5038 font-size: 16px;
5039 text-align: center;
5040 border-radius: 8px 8px 0 0;
5041 }
5042
5043 .drawer__pager {
5044 height: 50vh;
5045 }
5046
5047 .drawer__inner {
5048 border-radius: 0 0 8px 8px;
5049
5050 &.backdrop {
5051 width: calc(100% - 60px);
5052 box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
5053 border-radius: 0 0 0 8px;
5054 }
5055 }
5056
5057 &__accounts {
5058 overflow-y: auto;
5059 }
5060
5061 .account__display-name {
5062 &:hover strong {
5063 text-decoration: none;
5064 }
5065 }
5066
5067 .account__avatar {
5068 cursor: default;
5069 }
5070
5071 .search {
5072 margin-bottom: 0;
5073 }
5074 }
5075
5076 .focal-point-modal {
5077 max-width: 80vw;
5078 max-height: 80vh;
5079 position: relative;
5080 }
5081
5082 .focal-point {
5083 position: relative;
5084 cursor: pointer;
5085 overflow: hidden;
5086
5087 &.dragging {
5088 cursor: move;
5089 }
5090
5091 img {
5092 max-width: 80vw;
5093 max-height: 80vh;
5094 width: auto;
5095 height: auto;
5096 margin: auto;
5097 }
5098
5099 &__reticle {
5100 position: absolute;
5101 width: 100px;
5102 height: 100px;
5103 transform: translate(-50%, -50%);
5104 background: url('../images/reticle.png') no-repeat 0 0;
5105 border-radius: 50%;
5106 box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
5107 }
5108
5109 &__overlay {
5110 position: absolute;
5111 width: 100%;
5112 height: 100%;
5113 top: 0;
5114 left: 0;
5115 }
5116 }
5117
5118 .floating-action-button {
5119 position: fixed;
5120 display: flex;
5121 justify-content: center;
5122 align-items: center;
5123 width: 3.9375rem;
5124 height: 3.9375rem;
5125 bottom: 1.3125rem;
5126 right: 1.3125rem;
5127 background: darken($ui-highlight-color, 3%);
5128 color: $white;
5129 border-radius: 50%;
5130 font-size: 21px;
5131 line-height: 21px;
5132 text-decoration: none;
5133 box-shadow: 2px 3px 9px rgba($base-shadow-color, 0.4);
5134
5135 &:hover,
5136 &:focus,
5137 &:active {
5138 background: lighten($ui-highlight-color, 7%);
5139 }
5140 }
This page took 0.489251 seconds and 4 git commands to generate.