]> cat aescling's git repositories - mastodon.git/blob - app/javascript/styles/components.scss
Web Push Notifications (#3243)
[mastodon.git] / app / javascript / styles / components.scss
1 @import 'variables';
2
3 .app-body {
4 -webkit-overflow-scrolling: touch;
5 -ms-overflow-style: -ms-autohiding-scrollbar;
6 }
7
8 .button {
9 background-color: darken($ui-highlight-color, 3%);
10 border: 10px none;
11 border-radius: 4px;
12 box-sizing: border-box;
13 color: $primary-text-color;
14 cursor: pointer;
15 display: inline-block;
16 font-family: inherit;
17 font-size: 14px;
18 font-weight: 500;
19 height: 36px;
20 letter-spacing: 0;
21 line-height: 36px;
22 overflow: hidden;
23 padding: 0 16px;
24 position: relative;
25 text-align: center;
26 text-transform: uppercase;
27 text-decoration: none;
28 text-overflow: ellipsis;
29 transition: all 100ms ease-in;
30 white-space: nowrap;
31 width: auto;
32
33 &:active,
34 &:focus,
35 &:hover {
36 background-color: lighten($ui-highlight-color, 7%);
37 transition: all 200ms ease-out;
38 }
39
40 &:disabled {
41 background-color: $ui-primary-color;
42 cursor: default;
43 }
44
45 &.button-alternative {
46 font-size: 16px;
47 line-height: 36px;
48 height: auto;
49 color: $ui-base-color;
50 background: $ui-primary-color;
51 text-transform: none;
52 padding: 4px 16px;
53
54 &:active,
55 &:focus,
56 &:hover {
57 background-color: lighten($ui-primary-color, 4%);
58 }
59 }
60
61 &.button-secondary {
62 font-size: 16px;
63 line-height: 36px;
64 height: auto;
65 color: $ui-primary-color;
66 text-transform: none;
67 background: transparent;
68 padding: 3px 15px;
69 border: 1px solid $ui-primary-color;
70
71 &:active,
72 &:focus,
73 &:hover {
74 border-color: lighten($ui-primary-color, 4%);
75 color: lighten($ui-primary-color, 4%);
76 }
77 }
78
79 &.button--block {
80 display: block;
81 width: 100%;
82 }
83 }
84
85 .column__wrapper {
86 display: flex;
87 flex: 1 1 auto;
88 position: relative;
89 }
90
91 .column-icon {
92 background: lighten($ui-base-color, 4%);
93 color: $ui-primary-color;
94 cursor: pointer;
95 font-size: 16px;
96 padding: 15px;
97 position: absolute;
98 right: 0;
99 top: -48px;
100 z-index: 3;
101
102 &:hover {
103 color: lighten($ui-primary-color, 7%);
104 }
105 }
106
107 .icon-button {
108 display: inline-block;
109 padding: 0;
110 color: lighten($ui-base-color, 26%);
111 border: none;
112 background: transparent;
113 cursor: pointer;
114 transition: color 100ms ease-in;
115
116 &:hover,
117 &:active,
118 &:focus {
119 color: lighten($ui-base-color, 33%);
120 transition: color 200ms ease-out;
121 }
122
123 &.disabled {
124 color: lighten($ui-base-color, 13%);
125 cursor: default;
126 }
127
128 &.active {
129 color: $ui-highlight-color;
130 }
131
132 &::-moz-focus-inner {
133 border: 0;
134 }
135
136 &::-moz-focus-inner,
137 &:focus,
138 &:active {
139 outline: 0 !important;
140 }
141
142 &.inverted {
143 color: lighten($ui-base-color, 33%);
144
145 &:hover,
146 &:active,
147 &:focus {
148 color: lighten($ui-base-color, 26%);
149 }
150
151 &.active {
152 color: $ui-highlight-color;
153 }
154
155 &.disabled {
156 color: $ui-primary-color;
157 }
158 }
159
160 &.overlayed {
161 box-sizing: content-box;
162 background: rgba($base-overlay-background, 0.6);
163 color: rgba($primary-text-color, 0.7);
164 border-radius: 4px;
165 padding: 2px;
166
167 &:hover {
168 background: rgba($base-overlay-background, 0.9);
169 }
170 }
171 }
172
173 .text-icon-button {
174 color: lighten($ui-base-color, 33%);
175 border: none;
176 background: transparent;
177 cursor: pointer;
178 font-weight: 600;
179 font-size: 11px;
180 padding: 0 3px;
181 line-height: 27px;
182 outline: 0;
183 transition: color 100ms ease-in;
184
185 &:hover,
186 &:active,
187 &:focus {
188 color: lighten($ui-base-color, 26%);
189 transition: color 200ms ease-out;
190 }
191
192 &.disabled {
193 color: lighten($ui-base-color, 13%);
194 cursor: default;
195 }
196
197 &.active {
198 color: $ui-highlight-color;
199 }
200
201 &::-moz-focus-inner {
202 border: 0;
203 }
204
205 &::-moz-focus-inner,
206 &:focus,
207 &:active {
208 outline: 0 !important;
209 }
210 }
211
212 .dropdown--active .icon-button {
213 color: $ui-highlight-color;
214 }
215
216 .dropdown--active::after {
217 content: "";
218 display: block;
219 position: absolute;
220 width: 0;
221 height: 0;
222 border-style: solid;
223 border-width: 0 4.5px 7.8px;
224 border-color: transparent transparent $ui-secondary-color;
225 bottom: 8px;
226 right: 104px;
227 }
228
229 .invisible {
230 font-size: 0;
231 line-height: 0;
232 display: inline-block;
233 width: 0;
234 }
235
236 .ellipsis {
237 &::after {
238 content: "…";
239 }
240 }
241
242 .lightbox .icon-button {
243 color: $ui-base-color;
244 }
245
246 .compose-form {
247 padding: 10px;
248 }
249
250 .compose-form__warning {
251 color: darken($ui-secondary-color, 65%);
252 margin-bottom: 15px;
253 background: $ui-primary-color;
254 box-shadow: 0 2px 6px rgba($base-shadow-color, 0.3);
255 padding: 8px 10px;
256 border-radius: 4px;
257 font-size: 13px;
258 font-weight: 400;
259
260 strong {
261 color: darken($ui-secondary-color, 65%);
262 font-weight: 500;
263 }
264
265 a {
266 color: darken($ui-primary-color, 33%);
267 font-weight: 500;
268 text-decoration: underline;
269
270 &:hover,
271 &:active,
272 &:focus {
273 text-decoration: none;
274 }
275 }
276 }
277
278 .compose-form__modifiers {
279 color: $ui-base-color;
280 font-family: inherit;
281 font-size: 14px;
282 background: $simple-background-color;
283 border-radius: 0 0 4px;
284 }
285
286 .compose-form__buttons-wrapper {
287 display: flex;
288 justify-content: space-between;
289 }
290
291 .compose-form__buttons {
292 padding: 10px;
293 background: darken($simple-background-color, 8%);
294 box-shadow: inset 0 5px 5px rgba($base-shadow-color, 0.05);
295 border-radius: 0 0 4px 4px;
296 display: flex;
297
298 .icon-button {
299 box-sizing: content-box;
300 padding: 0 3px;
301 }
302 }
303
304 .compose-form__upload-button-icon {
305 line-height: 27px;
306 }
307
308 .compose-form__sensitive-button {
309 display: none;
310
311 &.compose-form__sensitive-button--visible {
312 display: block;
313 }
314
315 .compose-form__sensitive-button__icon {
316 line-height: 27px;
317 }
318 }
319
320 .compose-form__upload-wrapper {
321 overflow: hidden;
322 }
323
324 .compose-form__uploads-wrapper {
325 display: flex;
326 padding: 5px;
327 }
328
329 .compose-form__upload {
330 flex: 1 1 0;
331 margin: 5px;
332 }
333
334 .compose-form__upload-thumbnail {
335 border-radius: 4px;
336 background-position: center;
337 background-size: cover;
338 background-repeat: no-repeat;
339 height: 100px;
340 width: 100%;
341 }
342
343 .compose-form__upload-cancel {
344 background-size: cover;
345 border-radius: 4px;
346 height: 100px;
347 width: 100px;
348 }
349
350 .compose-form__label {
351 display: block;
352 line-height: 24px;
353 vertical-align: middle;
354
355 &.with-border {
356 border-top: 1px solid $ui-base-color;
357 padding-top: 10px;
358 }
359
360 .compose-form__label__text {
361 display: inline-block;
362 vertical-align: middle;
363 margin-bottom: 14px;
364 margin-left: 8px;
365 color: $ui-primary-color;
366 }
367 }
368
369 .compose-form__textarea,
370 .follow-form__input {
371 background: $simple-background-color;
372
373 &:disabled {
374 background: $ui-secondary-color;
375 }
376 }
377
378 .compose-form__autosuggest-wrapper {
379 position: relative;
380
381 .emoji-picker__dropdown {
382 position: absolute;
383 right: 5px;
384 top: 5px;
385
386 &.dropdown--active::after {
387 border-color: transparent transparent $base-border-color;
388 bottom: -1px;
389 right: 8px;
390 }
391 }
392 }
393
394 .compose-form__publish {
395 display: flex;
396 min-width: 0;
397 }
398
399 .compose-form__publish-button-wrapper {
400 overflow: hidden;
401 padding-top: 10px;
402 }
403
404 .emojione {
405 display: inline-block;
406 font-size: inherit;
407 vertical-align: middle;
408 margin: -.2ex .15em .2ex;
409 width: 16px;
410 height: 16px;
411
412 img {
413 width: auto;
414 }
415 }
416
417 .reply-indicator {
418 border-radius: 4px 4px 0 0;
419 position: relative;
420 bottom: -2px;
421 background: $ui-primary-color;
422 padding: 10px;
423 }
424
425 .reply-indicator__header {
426 margin-bottom: 5px;
427 overflow: hidden;
428 }
429
430 .reply-indicator__cancel {
431 float: right;
432 line-height: 24px;
433 }
434
435 .reply-indicator__display-name {
436 color: $ui-base-color;
437 display: block;
438 max-width: 100%;
439 line-height: 24px;
440 overflow: hidden;
441 padding-right: 25px;
442 text-decoration: none;
443 }
444
445 .reply-indicator__display-avatar {
446 float: left;
447 margin-right: 5px;
448 }
449
450 .status__content--with-action {
451 cursor: pointer;
452 }
453
454 .status__content,
455 .reply-indicator__content {
456 font-size: 15px;
457 line-height: 20px;
458 word-wrap: break-word;
459 font-weight: 400;
460 overflow: hidden;
461 white-space: pre-wrap;
462
463 .emojione {
464 width: 18px;
465 height: 18px;
466 }
467
468 p {
469 margin-bottom: 20px;
470
471 &:last-child {
472 margin-bottom: 0;
473 }
474 }
475
476 a {
477 color: $ui-secondary-color;
478 text-decoration: none;
479
480 &:hover {
481 text-decoration: underline;
482
483 .fa {
484 color: lighten($ui-base-color, 40%);
485 }
486 }
487
488 &.mention {
489 &:hover {
490 text-decoration: none;
491
492 span {
493 text-decoration: underline;
494 }
495 }
496 }
497
498 .fa {
499 color: lighten($ui-base-color, 30%);
500 }
501 }
502
503 .status__content__spoiler-link {
504 background: lighten($ui-base-color, 30%);
505
506 &:hover {
507 background: lighten($ui-base-color, 33%);
508 text-decoration: none;
509 }
510 }
511
512 .status__content__text {
513 display: none;
514
515 &.status__content__text--visible {
516 display: block;
517 }
518 }
519 }
520
521 .status__content__spoiler-link {
522 display: inline-block;
523 border-radius: 2px;
524 background: transparent;
525 border: 0;
526 color: lighten($ui-base-color, 8%);
527 font-weight: 500;
528 font-size: 11px;
529 padding: 0 6px;
530 text-transform: uppercase;
531 line-height: inherit;
532 cursor: pointer;
533 }
534
535 .status__prepend-icon-wrapper {
536 left: -26px;
537 position: absolute;
538 }
539
540 .status {
541 padding: 8px 10px;
542 padding-left: 68px;
543 position: relative;
544 min-height: 48px;
545 border-bottom: 1px solid lighten($ui-base-color, 8%);
546 cursor: default;
547
548 @keyframes fade {
549 0% { opacity: 0; }
550 100% { opacity: 1; }
551 }
552
553 opacity: 1;
554 animation: fade 150ms linear;
555
556 &.status-direct {
557 background: lighten($ui-base-color, 8%);
558
559 .icon-button.disabled {
560 color: lighten($ui-base-color, 16%);
561 }
562 }
563
564 &.light {
565 .status__relative-time {
566 color: $ui-primary-color;
567 }
568
569 .status__display-name {
570 color: $ui-base-color;
571 }
572
573 .display-name {
574 strong {
575 color: $ui-base-color;
576 }
577
578 span {
579 color: $ui-primary-color;
580 }
581 }
582
583 .status__content {
584 color: $ui-base-color;
585
586 a {
587 color: $ui-highlight-color;
588 }
589
590 a.status__content__spoiler-link {
591 color: $primary-text-color;
592 background: $ui-primary-color;
593
594 &:hover {
595 background: lighten($ui-primary-color, 8%);
596 }
597 }
598 }
599 }
600 }
601
602 .notification-favourite {
603 .status.status-direct {
604 background: transparent;
605
606 .icon-button.disabled {
607 color: lighten($ui-base-color, 13%);
608 }
609 }
610 }
611
612 .status__relative-time {
613 color: lighten($ui-base-color, 26%);
614 float: right;
615 font-size: 14px;
616 }
617
618 .status__display-name {
619 color: lighten($ui-base-color, 26%);
620 }
621
622 .status__info .status__display-name {
623 display: block;
624 max-width: 100%;
625 padding-right: 25px;
626 }
627
628 .status__info {
629 font-size: 15px;
630 }
631
632 .status-check-box {
633 border-bottom: 1px solid $ui-secondary-color;
634 display: flex;
635
636 .status__content {
637 flex: 1 1 auto;
638 padding: 10px;
639 overflow: hidden;
640 text-overflow: ellipsis;
641 white-space: nowrap;
642 }
643 }
644
645 .status-check-box-toggle {
646 align-items: center;
647 display: flex;
648 flex: 0 0 auto;
649 justify-content: center;
650 padding: 10px;
651 }
652
653 .status__prepend {
654 margin-left: 68px;
655 color: lighten($ui-base-color, 26%);
656 padding: 8px 0;
657 padding-bottom: 2px;
658 font-size: 14px;
659 position: relative;
660
661 .status__display-name strong {
662 color: lighten($ui-base-color, 26%);
663 }
664 }
665
666 .status__action-bar {
667 align-items: center;
668 display: flex;
669 margin-top: 10px;
670 }
671
672 .status__action-bar-button {
673 float: left;
674 margin-right: 18px;
675 }
676
677 .status__action-bar-dropdown {
678 float: left;
679 height: 18px;
680 width: 18px;
681 }
682
683 .detailed-status__action-bar-dropdown {
684 flex: 1 1 auto;
685 display: flex;
686 align-items: center;
687 justify-content: center;
688 position: relative;
689
690 .dropdown {
691 display: block;
692 width: 18px;
693 height: 18px;
694 }
695
696 .dropdown--active {
697 .dropdown__content.dropdown__left {
698 left: 20px;
699 right: initial;
700 }
701
702 &::after {
703 bottom: initial;
704 margin-left: 7px;
705 margin-top: -7px;
706 right: initial;
707 }
708 }
709 }
710
711 .detailed-status {
712 background: lighten($ui-base-color, 4%);
713 padding: 14px 10px;
714
715 .status__content {
716 font-size: 19px;
717 line-height: 24px;
718
719 .emojione {
720 width: 22px;
721 height: 22px;
722 }
723 }
724 }
725
726 .detailed-status__meta {
727 margin-top: 15px;
728 color: lighten($ui-base-color, 26%);
729 font-size: 14px;
730 line-height: 18px;
731 }
732
733 .detailed-status__action-bar {
734 background: lighten($ui-base-color, 4%);
735 border-top: 1px solid lighten($ui-base-color, 8%);
736 border-bottom: 1px solid lighten($ui-base-color, 8%);
737 display: flex;
738 flex-direction: row;
739 padding: 10px 0;
740 }
741
742 .detailed-status__link {
743 color: inherit;
744 text-decoration: none;
745 }
746
747 .detailed-status__favorites,
748 .detailed-status__reblogs {
749 display: inline-block;
750 font-weight: 500;
751 font-size: 12px;
752 margin-left: 6px;
753 }
754
755 .reply-indicator__content {
756 color: $ui-base-color;
757 font-size: 14px;
758
759 a {
760 color: lighten($ui-base-color, 20%);
761 }
762 }
763
764 .account {
765 padding: 10px;
766 border-bottom: 1px solid lighten($ui-base-color, 8%);
767
768 .account__display-name {
769 flex: 1 1 auto;
770 display: block;
771 color: $ui-primary-color;
772 overflow: hidden;
773 text-decoration: none;
774 font-size: 14px;
775 }
776 }
777
778 .account__wrapper {
779 display: flex;
780 }
781
782 .account__avatar-wrapper {
783 float: left;
784 margin-left: 12px;
785 margin-right: 12px;
786 }
787
788 .account__avatar {
789 @include avatar-radius();
790 position: relative;
791 cursor: pointer;
792
793 &-inline {
794 display: inline-block;
795 vertical-align: middle;
796 margin-right: 5px;
797 }
798 }
799
800 .account__avatar-overlay {
801 @include avatar-size(48px);
802
803 &-base {
804 @include avatar-radius();
805 @include avatar-size(36px);
806 }
807
808 &-overlay {
809 @include avatar-radius();
810 @include avatar-size(24px);
811
812 position: absolute;
813 bottom: 0;
814 right: 0;
815 z-index: 1;
816 }
817 }
818
819 .account__relationship {
820 height: 18px;
821 padding: 10px;
822 }
823
824 .account__header {
825 flex: 0 0 auto;
826 background: lighten($ui-base-color, 4%);
827 text-align: center;
828 background-size: cover;
829 background-position: center;
830 position: relative;
831
832 & > div {
833 background: rgba(lighten($ui-base-color, 4%), 0.9);
834 padding: 20px 10px;
835 }
836
837 .account__header__content {
838 color: $ui-secondary-color;
839 }
840
841 .account__header__display-name {
842 color: $primary-text-color;
843 display: inline-block;
844 font-size: 20px;
845 line-height: 27px;
846 font-weight: 500;
847 }
848
849 .account__header__username {
850 color: $ui-highlight-color;
851 font-size: 14px;
852 font-weight: 400;
853 display: block;
854 margin-bottom: 10px;
855 }
856 }
857
858 .account__header__content {
859 color: $ui-primary-color;
860 font-size: 14px;
861 font-weight: 400;
862 overflow: hidden;
863 word-break: normal;
864 word-wrap: break-word;
865
866 p {
867 margin-bottom: 20px;
868
869 &:last-child {
870 margin-bottom: 0;
871 }
872 }
873
874 a {
875 color: inherit;
876 text-decoration: underline;
877
878 &:hover {
879 text-decoration: none;
880 }
881 }
882 }
883
884 .account__header__display-name {
885 .emojione {
886 width: 25px;
887 height: 25px;
888 }
889 }
890
891 .account__action-bar {
892 border-top: 1px solid lighten($ui-base-color, 8%);
893 border-bottom: 1px solid lighten($ui-base-color, 8%);
894 line-height: 36px;
895 overflow: hidden;
896 flex: 0 0 auto;
897 display: flex;
898 }
899
900 .account__action-bar-dropdown {
901 flex: 1 1 auto;
902 padding: 10px;
903
904 .dropdown--active {
905 .dropdown__content.dropdown__right {
906 left: 6px;
907 right: initial;
908 }
909
910 &::after {
911 bottom: initial;
912 margin-left: 11px;
913 margin-top: -7px;
914 right: initial;
915 }
916 }
917 }
918
919 .account__action-bar-links {
920 display: flex;
921 flex: 1 1 auto;
922 line-height: 18px;
923 }
924
925 .account__action-bar__tab {
926 text-decoration: none;
927 overflow: hidden;
928 width: 80px;
929 border-left: 1px solid lighten($ui-base-color, 8%);
930 padding: 10px 5px;
931
932 & > span {
933 display: block;
934 text-transform: uppercase;
935 font-size: 11px;
936 color: $ui-primary-color;
937 }
938
939 strong {
940 display: block;
941 font-size: 15px;
942 font-weight: 500;
943 color: $primary-text-color;
944 }
945
946 abbr {
947 color: lighten($ui-base-color, 26%);
948 }
949 }
950
951 .account__header__avatar {
952 background-size: 90px 90px;
953 display: block;
954 height: 90px;
955 margin: 0 auto 10px;
956 overflow: hidden;
957 width: 90px;
958 }
959
960 .account-authorize {
961 padding: 14px 10px;
962
963 .detailed-status__display-name {
964 display: block;
965 margin-bottom: 15px;
966 overflow: hidden;
967 }
968 }
969
970 .account-authorize__avatar {
971 float: left;
972 margin-right: 10px;
973 }
974
975 .status__display-name,
976 .status__relative-time,
977 .detailed-status__display-name,
978 .detailed-status__datetime,
979 .detailed-status__application,
980 .account__display-name {
981 text-decoration: none;
982 }
983
984 .status__display-name,
985 .account__display-name {
986 strong {
987 color: $primary-text-color;
988 }
989
990 &.muted {
991 .emojione {
992 opacity: 0.5;
993 }
994 }
995 }
996
997 .status__display-name,
998 .reply-indicator__display-name,
999 .detailed-status__display-name,
1000 .account__display-name {
1001 &:hover strong {
1002 text-decoration: underline;
1003 }
1004 }
1005
1006 .account__display-name strong {
1007 display: block;
1008 }
1009
1010 .detailed-status__application,
1011 .detailed-status__datetime {
1012 color: inherit;
1013 }
1014
1015 .detailed-status__display-name {
1016 color: $ui-secondary-color;
1017 display: block;
1018 line-height: 24px;
1019 margin-bottom: 15px;
1020 overflow: hidden;
1021
1022 strong,
1023 span {
1024 display: block;
1025 }
1026
1027 strong {
1028 font-size: 16px;
1029 color: $primary-text-color;
1030 }
1031 }
1032
1033 .detailed-status__display-avatar {
1034 float: left;
1035 margin-right: 10px;
1036 }
1037
1038 .status__avatar {
1039 height: 48px;
1040 left: 10px;
1041 position: absolute;
1042 top: 10px;
1043 width: 48px;
1044 }
1045
1046 .muted {
1047 .status__content p,
1048 .status__content a {
1049 color: lighten($ui-base-color, 26%);
1050 }
1051
1052 .status__display-name strong {
1053 color: lighten($ui-base-color, 26%);
1054 }
1055
1056 .status__avatar {
1057 opacity: 0.5;
1058 }
1059
1060 a.status__content__spoiler-link {
1061 background: lighten($ui-base-color, 26%);
1062 color: lighten($ui-base-color, 4%);
1063
1064 &:hover {
1065 background: lighten($ui-base-color, 29%);
1066 text-decoration: none;
1067 }
1068 }
1069 }
1070
1071 .notification__message {
1072 margin-left: 68px;
1073 padding: 8px 0;
1074 padding-bottom: 0;
1075 cursor: default;
1076 color: $ui-primary-color;
1077 font-size: 15px;
1078 position: relative;
1079
1080 .fa {
1081 color: $ui-highlight-color;
1082 }
1083 }
1084
1085 .notification__favourite-icon-wrapper {
1086 left: -26px;
1087 position: absolute;
1088
1089 .star-icon {
1090 color: $gold-star;
1091 }
1092 }
1093
1094 .star-icon.active {
1095 color: $gold-star;
1096 }
1097
1098 .notification__display-name {
1099 color: inherit;
1100 font-weight: 500;
1101 text-decoration: none;
1102
1103 &:hover {
1104 color: $primary-text-color;
1105 text-decoration: underline;
1106 }
1107 }
1108
1109 .display-name {
1110 display: block;
1111 max-width: 100%;
1112 overflow: hidden;
1113 text-overflow: ellipsis;
1114 white-space: nowrap;
1115 }
1116
1117 .display-name__html {
1118 font-weight: 500;
1119 }
1120
1121 .display-name__account {
1122 font-size: 14px;
1123 }
1124
1125 .status__relative-time,
1126 .detailed-status__datetime {
1127 &:hover {
1128 text-decoration: underline;
1129 }
1130 }
1131
1132 .image-loader {
1133 position: relative;
1134
1135 &.image-loader--loading {
1136 .image-loader__preview-canvas {
1137 filter: blur(2px);
1138 }
1139 }
1140
1141 .image-loader__img {
1142 position: absolute;
1143 top: 0;
1144 left: 0;
1145 right: 0;
1146 width: 100%;
1147 height: 100%;
1148 background-image: none;
1149 }
1150
1151 &.image-loader--amorphous {
1152 position: static;
1153
1154 .image-loader__preview-canvas {
1155 display: none;
1156 }
1157
1158 .image-loader__img {
1159 position: static;
1160 width: auto;
1161 height: auto;
1162 }
1163 }
1164 }
1165
1166 .navigation-bar {
1167 padding: 10px;
1168 display: flex;
1169 flex-shrink: 0;
1170 cursor: default;
1171 color: $ui-primary-color;
1172
1173 strong {
1174 color: $primary-text-color;
1175 }
1176
1177 .permalink {
1178 text-decoration: none;
1179 }
1180 }
1181
1182 .navigation-bar__profile {
1183 flex: 1 1 auto;
1184 margin-left: 8px;
1185 }
1186
1187 .navigation-bar__profile-account {
1188 display: block;
1189 font-weight: 500;
1190 }
1191
1192 .navigation-bar__profile-edit {
1193 color: inherit;
1194 text-decoration: none;
1195 }
1196
1197 .dropdown {
1198 display: inline-block;
1199 }
1200
1201 .dropdown__content {
1202 display: none;
1203 position: absolute;
1204 }
1205
1206 .dropdown__sep {
1207 border-bottom: 1px solid darken($ui-secondary-color, 8%);
1208 margin: 5px 7px 6px;
1209 padding-top: 1px;
1210 }
1211
1212 .dropdown--active .dropdown__content {
1213 display: block;
1214 line-height: 18px;
1215 max-width: 311px;
1216 right: 0;
1217 text-align: left;
1218 z-index: 9999;
1219
1220 & > ul {
1221 list-style: none;
1222 background: $ui-secondary-color;
1223 padding: 4px 0;
1224 border-radius: 4px;
1225 box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
1226 min-width: 140px;
1227 position: relative;
1228 }
1229
1230 &.dropdown__right {
1231 right: 0;
1232 }
1233
1234 &.dropdown__left {
1235 & > ul {
1236 left: -98px;
1237 }
1238 }
1239
1240 & > ul > li > a {
1241 font-size: 13px;
1242 line-height: 18px;
1243 display: block;
1244 padding: 4px 14px;
1245 box-sizing: border-box;
1246 text-decoration: none;
1247 background: $ui-secondary-color;
1248 color: $ui-base-color;
1249 overflow: hidden;
1250 text-overflow: ellipsis;
1251 white-space: nowrap;
1252
1253 &:focus {
1254 outline: 0;
1255 }
1256
1257 &:hover {
1258 background: $ui-highlight-color;
1259 color: $ui-secondary-color;
1260 }
1261 }
1262 }
1263
1264 .dropdown__icon {
1265 vertical-align: middle;
1266 }
1267
1268 .static-content {
1269 padding: 10px;
1270 padding-top: 20px;
1271 color: lighten($ui-base-color, 26%);
1272
1273 h1 {
1274 font-size: 16px;
1275 font-weight: 500;
1276 margin-bottom: 40px;
1277 text-align: center;
1278 }
1279
1280 p {
1281 font-size: 13px;
1282 margin-bottom: 20px;
1283 }
1284 }
1285
1286 .columns-area {
1287 display: flex;
1288 flex: 1 1 auto;
1289 flex-direction: row;
1290 justify-content: flex-start;
1291 overflow-x: auto;
1292 position: relative;
1293 }
1294
1295 @media screen and (min-width: 360px) {
1296 .columns-area {
1297 padding: 10px;
1298 }
1299
1300 .react-swipeable-view-container .columns-area {
1301 height: calc(100% - 20px) !important;
1302 }
1303 }
1304
1305 .react-swipeable-view-container {
1306 &,
1307 .columns-area,
1308 .drawer,
1309 .column {
1310 height: 100%;
1311 }
1312 }
1313
1314 .react-swipeable-view-container > * {
1315 height: 100%;
1316 }
1317
1318 .column {
1319 width: 330px;
1320 position: relative;
1321 box-sizing: border-box;
1322 display: flex;
1323 flex-direction: column;
1324
1325 > .scrollable {
1326 background: $ui-base-color;
1327 }
1328 }
1329
1330 .ui {
1331 flex: 0 0 auto;
1332 display: flex;
1333 flex-direction: column;
1334 width: 100%;
1335 height: 100%;
1336 background: darken($ui-base-color, 7%);
1337 }
1338
1339 .drawer {
1340 width: 300px;
1341 box-sizing: border-box;
1342 display: flex;
1343 flex-direction: column;
1344 overflow-y: hidden;
1345 }
1346
1347 .drawer__tab {
1348 display: block;
1349 flex: 1 1 auto;
1350 padding: 15px 5px 13px;
1351 color: $ui-primary-color;
1352 text-decoration: none;
1353 text-align: center;
1354 font-size: 16px;
1355 border-bottom: 2px solid transparent;
1356 }
1357
1358 .column,
1359 .drawer {
1360 flex: 1 1 100%;
1361 overflow: hidden;
1362 @supports(display: grid) { // hack to fix Chrome <57
1363 contain: strict;
1364 }
1365 }
1366
1367 @media screen and (min-width: 360px) {
1368 .tabs-bar {
1369 margin: 10px;
1370 margin-bottom: 0;
1371 }
1372
1373 .search {
1374 margin-bottom: 10px;
1375 }
1376 }
1377
1378 @media screen and (max-width: 1024px) {
1379 .column,
1380 .drawer {
1381 width: 100%;
1382 padding: 0;
1383 }
1384
1385 .columns-area {
1386 flex-direction: column;
1387 }
1388
1389 .search__input,
1390 .autosuggest-textarea__textarea {
1391 font-size: 16px;
1392 }
1393 }
1394
1395 @media screen and (min-width: 1025px) {
1396 .columns-area {
1397 padding: 0;
1398 }
1399
1400 .column,
1401 .drawer {
1402 flex: 0 0 auto;
1403 padding: 10px;
1404 padding-left: 5px;
1405 padding-right: 5px;
1406
1407 &:first-child {
1408 padding-left: 10px;
1409 }
1410
1411 &:last-child {
1412 padding-right: 10px;
1413 }
1414 }
1415
1416 .columns-area > div {
1417 .column,
1418 .drawer {
1419 padding-left: 5px;
1420 padding-right: 5px;
1421 }
1422 }
1423 }
1424
1425 .drawer__pager {
1426 box-sizing: border-box;
1427 padding: 0;
1428 flex-grow: 1;
1429 position: relative;
1430 overflow: hidden;
1431 display: flex;
1432 }
1433
1434 .drawer__inner {
1435 position: absolute;
1436 top: 0;
1437 left: 0;
1438 background: lighten($ui-base-color, 13%);
1439 box-sizing: border-box;
1440 padding: 0;
1441 display: flex;
1442 flex-direction: column;
1443 overflow: hidden;
1444 overflow-y: auto;
1445 width: 100%;
1446 height: 100%;
1447
1448 &.darker {
1449 background: $ui-base-color;
1450 }
1451 }
1452
1453 .pseudo-drawer {
1454 background: lighten($ui-base-color, 13%);
1455 font-size: 13px;
1456 text-align: left;
1457 }
1458
1459 .drawer__header {
1460 flex: 0 0 auto;
1461 font-size: 16px;
1462 background: lighten($ui-base-color, 8%);
1463 margin-bottom: 10px;
1464 display: flex;
1465 flex-direction: row;
1466
1467 a {
1468 transition: background 100ms ease-in;
1469
1470 &:hover {
1471 background: lighten($ui-base-color, 3%);
1472 transition: background 200ms ease-out;
1473 }
1474 }
1475 }
1476
1477 .tabs-bar {
1478 display: flex;
1479 background: lighten($ui-base-color, 8%);
1480 flex: 0 0 auto;
1481 overflow-y: auto;
1482 }
1483
1484 .tabs-bar__link {
1485 display: block;
1486 flex: 1 1 auto;
1487 padding: 15px 10px;
1488 color: $primary-text-color;
1489 text-decoration: none;
1490 text-align: center;
1491 font-size: 14px;
1492 font-weight: 500;
1493 border-bottom: 2px solid lighten($ui-base-color, 8%);
1494 transition: all 200ms linear;
1495
1496 .fa {
1497 font-weight: 400;
1498 font-size: 16px;
1499 }
1500
1501 &.active {
1502 border-bottom: 2px solid $ui-highlight-color;
1503 color: $ui-highlight-color;
1504 }
1505
1506 &:hover,
1507 &:focus,
1508 &:active {
1509 @media screen and (min-width: 1025px) {
1510 background: lighten($ui-base-color, 14%);
1511 transition: all 100ms linear;
1512 }
1513 }
1514
1515 span {
1516 margin-left: 5px;
1517 display: none;
1518 }
1519 }
1520
1521 @media screen and (min-width: 600px) {
1522 .tabs-bar__link {
1523 span {
1524 display: inline;
1525 }
1526 }
1527 }
1528
1529 @media screen and (min-width: 1025px) {
1530 .tabs-bar {
1531 display: none;
1532 }
1533 }
1534
1535 .scrollable {
1536 overflow-y: scroll;
1537 overflow-x: hidden;
1538 flex: 1 1 auto;
1539 backface-visibility: hidden;
1540 -webkit-overflow-scrolling: touch;
1541 @supports(display: grid) { // hack to fix Chrome <57
1542 contain: strict;
1543 }
1544
1545 &.optionally-scrollable {
1546 overflow-y: auto;
1547 }
1548 }
1549
1550 .column-back-button {
1551 background: lighten($ui-base-color, 4%);
1552 color: $ui-highlight-color;
1553 cursor: pointer;
1554 flex: 0 0 auto;
1555 font-size: 16px;
1556 padding: 15px;
1557 z-index: 3;
1558
1559 &:hover {
1560 text-decoration: underline;
1561 }
1562 }
1563
1564 .column-header__back-button {
1565 background: lighten($ui-base-color, 4%);
1566 border: 0;
1567 font-family: inherit;
1568 color: $ui-highlight-color;
1569 cursor: pointer;
1570 flex: 0 0 auto;
1571 font-size: 16px;
1572 padding: 0 5px 0 0;
1573 z-index: 3;
1574
1575 &:hover {
1576 text-decoration: underline;
1577 }
1578 }
1579
1580 .column-back-button__icon {
1581 display: inline-block;
1582 margin-right: 5px;
1583 }
1584
1585 .column-back-button--slim {
1586 position: relative;
1587 }
1588
1589 .column-back-button--slim-button {
1590 cursor: pointer;
1591 flex: 0 0 auto;
1592 font-size: 16px;
1593 padding: 15px;
1594 position: absolute;
1595 right: 0;
1596 top: -48px;
1597 }
1598
1599 .react-toggle {
1600 display: inline-block;
1601 position: relative;
1602 cursor: pointer;
1603 background-color: transparent;
1604 border: 0;
1605 padding: 0;
1606 user-select: none;
1607 -webkit-tap-highlight-color: rgba($base-overlay-background, 0);
1608 -webkit-tap-highlight-color: transparent;
1609 }
1610
1611 .react-toggle-screenreader-only {
1612 border: 0;
1613 clip: rect(0 0 0 0);
1614 height: 1px;
1615 margin: -1px;
1616 overflow: hidden;
1617 padding: 0;
1618 position: absolute;
1619 width: 1px;
1620 }
1621
1622 .react-toggle--disabled {
1623 cursor: not-allowed;
1624 opacity: 0.5;
1625 transition: opacity 0.25s;
1626 }
1627
1628 .react-toggle-track {
1629 width: 50px;
1630 height: 24px;
1631 padding: 0;
1632 border-radius: 30px;
1633 background-color: $ui-base-color;
1634 transition: all 0.2s ease;
1635 }
1636
1637 .react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
1638 background-color: darken($ui-base-color, 10%);
1639 }
1640
1641 .react-toggle--checked .react-toggle-track {
1642 background-color: $ui-highlight-color;
1643 }
1644
1645 .react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
1646 background-color: lighten($ui-highlight-color, 10%);
1647 }
1648
1649 .react-toggle-track-check {
1650 position: absolute;
1651 width: 14px;
1652 height: 10px;
1653 top: 0;
1654 bottom: 0;
1655 margin-top: auto;
1656 margin-bottom: auto;
1657 line-height: 0;
1658 left: 8px;
1659 opacity: 0;
1660 transition: opacity 0.25s ease;
1661 }
1662
1663 .react-toggle--checked .react-toggle-track-check {
1664 opacity: 1;
1665 transition: opacity 0.25s ease;
1666 }
1667
1668 .react-toggle-track-x {
1669 position: absolute;
1670 width: 10px;
1671 height: 10px;
1672 top: 0;
1673 bottom: 0;
1674 margin-top: auto;
1675 margin-bottom: auto;
1676 line-height: 0;
1677 right: 10px;
1678 opacity: 1;
1679 transition: opacity 0.25s ease;
1680 }
1681
1682 .react-toggle--checked .react-toggle-track-x {
1683 opacity: 0;
1684 }
1685
1686 .react-toggle-thumb {
1687 transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
1688 position: absolute;
1689 top: 1px;
1690 left: 1px;
1691 width: 22px;
1692 height: 22px;
1693 border: 1px solid $ui-base-color;
1694 border-radius: 50%;
1695 background-color: darken($simple-background-color, 2%);
1696 box-sizing: border-box;
1697 transition: all 0.25s ease;
1698 }
1699
1700 .react-toggle--checked .react-toggle-thumb {
1701 left: 27px;
1702 border-color: $ui-highlight-color;
1703 }
1704
1705 .column-link {
1706 background: lighten($ui-base-color, 8%);
1707 color: $primary-text-color;
1708 display: block;
1709 font-size: 16px;
1710 padding: 15px;
1711 text-decoration: none;
1712
1713 &:hover {
1714 background: lighten($ui-base-color, 11%);
1715 }
1716
1717 &.hidden-on-mobile {
1718 @media screen and (max-width: 1024px) {
1719 display: none;
1720 }
1721 }
1722 }
1723
1724 .column-link__icon {
1725 display: inline-block;
1726 margin-right: 5px;
1727 }
1728
1729 .column-subheading {
1730 background: $ui-base-color;
1731 color: lighten($ui-base-color, 26%);
1732 padding: 8px 20px;
1733 font-size: 12px;
1734 font-weight: 500;
1735 text-transform: uppercase;
1736 cursor: default;
1737 }
1738
1739 .autosuggest-textarea,
1740 .spoiler-input {
1741 position: relative;
1742 }
1743
1744 .autosuggest-textarea__textarea,
1745 .spoiler-input__input {
1746 display: block;
1747 box-sizing: border-box;
1748 width: 100%;
1749 margin: 0;
1750 color: $ui-base-color;
1751 background: $simple-background-color;
1752 padding: 10px;
1753 font-family: inherit;
1754 font-size: 14px;
1755 resize: vertical;
1756 border: 0;
1757 outline: 0;
1758
1759 &:focus {
1760 outline: 0;
1761 }
1762
1763 @media screen and (max-width: 600px) {
1764 font-size: 16px;
1765 }
1766 }
1767
1768 .spoiler-input__input {
1769 border-radius: 4px;
1770 }
1771
1772 .autosuggest-textarea__textarea {
1773 min-height: 100px;
1774 border-radius: 4px 4px 0 0;
1775 padding-bottom: 0;
1776 padding-right: 10px + 22px;
1777 resize: none;
1778
1779 @media screen and (max-width: 600px) {
1780 height: 100px !important; // prevent auto-resize textarea
1781 resize: vertical;
1782 }
1783 }
1784
1785 .autosuggest-textarea__suggestions {
1786 display: none;
1787 position: absolute;
1788 top: 100%;
1789 width: 100%;
1790 z-index: 99;
1791 box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
1792 background: $ui-secondary-color;
1793 color: $ui-base-color;
1794 font-size: 14px;
1795
1796 &.autosuggest-textarea__suggestions--visible {
1797 display: block;
1798 }
1799 }
1800
1801 .autosuggest-textarea__suggestions__item {
1802 padding: 10px;
1803 cursor: pointer;
1804
1805 &:hover {
1806 background: darken($ui-secondary-color, 10%);
1807 }
1808
1809 &.selected {
1810 background: $ui-highlight-color;
1811 color: $base-border-color;
1812 }
1813 }
1814
1815 .autosuggest-account {
1816 overflow: hidden;
1817 }
1818
1819 .autosuggest-account-icon {
1820 float: left;
1821 margin-right: 5px;
1822 }
1823
1824 .autosuggest-status {
1825 overflow: hidden;
1826 white-space: nowrap;
1827 text-overflow: ellipsis;
1828
1829 strong {
1830 font-weight: 500;
1831 }
1832 }
1833
1834 .character-counter__wrapper {
1835 line-height: 36px;
1836 margin-right: 16px;
1837 padding-top: 10px;
1838 }
1839
1840 .character-counter {
1841 cursor: default;
1842 font-size: 16px;
1843 }
1844
1845 .character-counter--over {
1846 color: $warning-red;
1847 }
1848
1849 .getting-started__wrapper {
1850 position: relative;
1851 flex: 0 0 auto;
1852 }
1853
1854 .getting-started__footer {
1855 display: flex;
1856 flex-direction: column;
1857 }
1858
1859 .getting-started {
1860 box-sizing: border-box;
1861 padding-bottom: 235px;
1862 background: url('../images/mastodon-getting-started.png') no-repeat 0 100%;
1863 flex: 1 0 auto;
1864
1865 p {
1866 color: $ui-secondary-color;
1867 }
1868
1869 a {
1870 color: lighten($ui-base-color, 26%);
1871 }
1872 }
1873
1874 .setting-text {
1875 color: $ui-primary-color;
1876 background: transparent;
1877 border: none;
1878 border-bottom: 2px solid $ui-primary-color;
1879 box-sizing: border-box;
1880 display: block;
1881 font-family: inherit;
1882 margin-bottom: 10px;
1883 padding: 7px 0;
1884 width: 100%;
1885
1886 &:focus,
1887 &:active {
1888 color: $primary-text-color;
1889 border-bottom-color: $ui-highlight-color;
1890 }
1891
1892 @media screen and (max-width: 600px) {
1893 font-size: 16px;
1894 }
1895
1896 &.light {
1897 color: $ui-base-color;
1898 border-bottom: 2px solid lighten($ui-base-color, 27%);
1899
1900 &:focus,
1901 &:active {
1902 color: $ui-base-color;
1903 border-bottom-color: $ui-highlight-color;
1904 }
1905 }
1906 }
1907
1908 @import 'boost';
1909
1910 button.icon-button i.fa-retweet {
1911 background-position: 0 0;
1912 height: 19px;
1913 transition: background-position 0.9s steps(10);
1914 transition-duration: 0s;
1915 vertical-align: middle;
1916 width: 22px;
1917
1918 &::before {
1919 display: none !important;
1920 }
1921 }
1922
1923 button.icon-button.active i.fa-retweet {
1924 transition-duration: 0.9s;
1925 background-position: 0 100%;
1926 }
1927
1928 .status-card {
1929 display: flex;
1930 cursor: pointer;
1931 font-size: 14px;
1932 border: 1px solid lighten($ui-base-color, 8%);
1933 border-radius: 4px;
1934 color: lighten($ui-base-color, 26%);
1935 margin-top: 14px;
1936 text-decoration: none;
1937 overflow: hidden;
1938
1939 &:hover {
1940 background: lighten($ui-base-color, 8%);
1941 }
1942 }
1943
1944 .status-card-video,
1945 .status-card-rich,
1946 .status-card-photo {
1947 margin-top: 14px;
1948 overflow: hidden;
1949
1950 iframe {
1951 width: 100%;
1952 height: auto;
1953 }
1954 }
1955
1956 .status-card-photo {
1957 display: block;
1958 text-decoration: none;
1959
1960 img {
1961 display: block;
1962 width: 100%;
1963 height: auto;
1964 margin: 0;
1965 }
1966 }
1967
1968 .status-card-video {
1969 position: relative;
1970 width: 100%;
1971 height: auto;
1972 padding-top: 56.25%;
1973
1974 iframe {
1975 position: absolute;
1976 top: 0;
1977 left: 0;
1978 bottom: 0;
1979 right: 0;
1980 width: 1px;
1981 min-width: 100%;
1982 height: 1px;
1983 min-height: 100%;
1984 margin: auto;
1985 }
1986 }
1987
1988 .status-card__title {
1989 display: block;
1990 font-weight: 500;
1991 margin-bottom: 5px;
1992 color: $ui-primary-color;
1993 overflow: hidden;
1994 text-overflow: ellipsis;
1995 white-space: nowrap;
1996 }
1997
1998 .status-card__content {
1999 flex: 1 1 auto;
2000 overflow: hidden;
2001 padding: 14px 14px 14px 8px;
2002 }
2003
2004 .status-card__description {
2005 color: $ui-primary-color;
2006 }
2007
2008 .status-card__host {
2009 display: block;
2010 margin-top: 5px;
2011 font-size: 13px;
2012 }
2013
2014 .status-card__image {
2015 flex: 0 0 100px;
2016 background: lighten($ui-base-color, 8%);
2017 }
2018
2019 .status-card__image-image {
2020 border-radius: 4px 0 0 4px;
2021 display: block;
2022 height: auto;
2023 margin: 0;
2024 width: 100%;
2025 }
2026
2027 .load-more {
2028 display: block;
2029 color: lighten($ui-base-color, 26%);
2030 background-color: transparent;
2031 border: 0;
2032 font-size: inherit;
2033 text-align: center;
2034 line-height: inherit;
2035 margin: 0;
2036 padding: 15px;
2037 width: 100%;
2038 clear: both;
2039
2040 &:hover {
2041 background: lighten($ui-base-color, 2%);
2042 }
2043 }
2044
2045 .missing-indicator {
2046 text-align: center;
2047 font-size: 16px;
2048 font-weight: 500;
2049 color: lighten($ui-base-color, 16%);
2050 background: $ui-base-color;
2051 cursor: default;
2052 display: flex;
2053 flex: 1 1 auto;
2054 align-items: center;
2055 justify-content: center;
2056
2057 & > div {
2058 background: url('../images/mastodon-not-found.png') no-repeat center -50px;
2059 padding-top: 210px;
2060 width: 100%;
2061 }
2062 }
2063
2064 .column-header__wrapper {
2065 position: relative;
2066 flex: 0 0 auto;
2067
2068 &.active {
2069 &::before {
2070 display: block;
2071 content: "";
2072 position: absolute;
2073 top: 35px;
2074 left: 0;
2075 right: 0;
2076 margin: 0 auto;
2077 width: 60%;
2078 pointer-events: none;
2079 height: 28px;
2080 z-index: 1;
2081 background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
2082 }
2083 }
2084 }
2085
2086 .column-header {
2087 padding: 15px;
2088 font-size: 16px;
2089 background: lighten($ui-base-color, 4%);
2090 flex: 0 0 auto;
2091 cursor: pointer;
2092 position: relative;
2093 z-index: 2;
2094 outline: 0;
2095
2096 &.active {
2097 box-shadow: 0 1px 0 rgba($ui-highlight-color, 0.3);
2098
2099 .column-header__icon {
2100 color: $ui-highlight-color;
2101 text-shadow: 0 0 10px rgba($ui-highlight-color, 0.4);
2102 }
2103 }
2104
2105 &.hidden-on-mobile {
2106 @media screen and (max-width: 1024px) {
2107 display: none;
2108 }
2109 }
2110
2111 &:focus,
2112 &:active {
2113 outline: 0;
2114 }
2115 }
2116
2117 .column-header__buttons {
2118 position: absolute;
2119 right: 0;
2120 top: 0;
2121 height: 100%;
2122 display: flex;
2123 height: 48px;
2124 }
2125
2126 .column-header__button {
2127 background: lighten($ui-base-color, 4%);
2128 border: 0;
2129 color: $ui-primary-color;
2130 cursor: pointer;
2131 font-size: 16px;
2132 padding: 0 15px;
2133
2134 &:hover {
2135 color: lighten($ui-primary-color, 7%);
2136 }
2137
2138 &.active {
2139 color: $primary-text-color;
2140 background: lighten($ui-base-color, 8%);
2141
2142 &:hover {
2143 color: $primary-text-color;
2144 background: lighten($ui-base-color, 8%);
2145 }
2146 }
2147 }
2148
2149 .column-header__collapsible {
2150 max-height: 70vh;
2151 overflow: hidden;
2152 overflow-y: auto;
2153 color: $ui-primary-color;
2154 transition: max-height 150ms ease-in-out, opacity 300ms linear;
2155 opacity: 1;
2156
2157 &.collapsed {
2158 max-height: 0;
2159 opacity: 0.5;
2160 }
2161
2162 &.animating {
2163 overflow-y: hidden;
2164 }
2165 }
2166
2167 .column-header__collapsible-inner {
2168 background: lighten($ui-base-color, 8%);
2169 padding: 15px;
2170 }
2171
2172 .column-header__setting-btn {
2173 &:hover {
2174 color: lighten($ui-primary-color, 4%);
2175 text-decoration: underline;
2176 }
2177 }
2178
2179 .column-header__setting-arrows {
2180 float: right;
2181
2182 .column-header__setting-btn {
2183 padding: 0 10px;
2184
2185 &:last-child {
2186 padding-right: 0;
2187 }
2188 }
2189 }
2190
2191 .text-btn {
2192 display: inline-block;
2193 padding: 0;
2194 font-family: inherit;
2195 font-size: inherit;
2196 color: inherit;
2197 border: 0;
2198 background: transparent;
2199 cursor: pointer;
2200 }
2201
2202 .column-header__icon {
2203 display: inline-block;
2204 margin-right: 5px;
2205 }
2206
2207 .loading-indicator {
2208 color: $ui-secondary-color;
2209 font-size: 16px;
2210 font-weight: 500;
2211 padding-top: 120px;
2212 text-align: center;
2213 }
2214
2215 .video-error-cover {
2216 align-items: center;
2217 background: $base-overlay-background;
2218 color: $primary-text-color;
2219 cursor: pointer;
2220 display: flex;
2221 flex-direction: column;
2222 height: 100%;
2223 justify-content: center;
2224 margin-top: 8px;
2225 position: relative;
2226 text-align: center;
2227 z-index: 100;
2228 }
2229
2230 .media-spoiler {
2231 align-items: center;
2232 background: $base-overlay-background;
2233 color: $primary-text-color;
2234 cursor: pointer;
2235 display: flex;
2236 flex-direction: column;
2237 height: 100%;
2238 justify-content: center;
2239 position: relative;
2240 text-align: center;
2241 z-index: 100;
2242 }
2243
2244 .media-spoiler__warning {
2245 display: block;
2246 font-size: 14px;
2247 }
2248
2249 .media-spoiler__trigger {
2250 display: block;
2251 font-size: 11px;
2252 font-weight: 500;
2253 }
2254
2255 .spoiler-button {
2256 display: none;
2257 left: 4px;
2258 position: absolute;
2259 text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
2260 top: 4px;
2261 z-index: 100;
2262
2263 &.spoiler-button--visible {
2264 display: block;
2265 }
2266 }
2267
2268 .modal-container--preloader {
2269 background: lighten($ui-base-color, 8%);
2270 }
2271
2272 .account--panel {
2273 background: lighten($ui-base-color, 4%);
2274 border-top: 1px solid lighten($ui-base-color, 8%);
2275 border-bottom: 1px solid lighten($ui-base-color, 8%);
2276 display: flex;
2277 flex-direction: row;
2278 padding: 10px 0;
2279 }
2280
2281 .account--panel__button,
2282 .detailed-status__button {
2283 flex: 1 1 auto;
2284 text-align: center;
2285 }
2286
2287 .column-settings__outer {
2288 background: lighten($ui-base-color, 8%);
2289 padding: 15px;
2290 }
2291
2292 .column-settings__section {
2293 color: $ui-primary-color;
2294 cursor: default;
2295 display: block;
2296 font-weight: 500;
2297 margin-bottom: 10px;
2298 }
2299
2300 .column-settings__row {
2301 .text-btn {
2302 margin-bottom: 15px;
2303 }
2304 }
2305
2306 .modal-container__nav {
2307 align-items: center;
2308 background: rgba($base-overlay-background, 0.5);
2309 box-sizing: border-box;
2310 color: $primary-text-color;
2311 cursor: pointer;
2312 display: flex;
2313 font-size: 24px;
2314 height: 100%;
2315 padding: 30px 15px;
2316 position: absolute;
2317 top: 0;
2318 }
2319
2320 .modal-container__nav--left {
2321 left: -61px;
2322 }
2323
2324 .modal-container__nav--right {
2325 right: -61px;
2326 }
2327
2328 .account--follows-info {
2329 color: $primary-text-color;
2330 position: absolute;
2331 top: 10px;
2332 right: 10px;
2333 opacity: 0.7;
2334 display: inline-block;
2335 vertical-align: top;
2336 background-color: rgba($base-overlay-background, 0.4);
2337 text-transform: uppercase;
2338 font-size: 11px;
2339 font-weight: 500;
2340 padding: 4px;
2341 border-radius: 4px;
2342 }
2343
2344 .account--action-button {
2345 position: absolute;
2346 top: 10px;
2347 left: 20px;
2348 }
2349
2350 .setting-toggle {
2351 display: block;
2352 line-height: 24px;
2353 }
2354
2355 .setting-toggle__label,
2356 .setting-meta__label {
2357 color: $ui-primary-color;
2358 display: inline-block;
2359 margin-bottom: 14px;
2360 margin-left: 8px;
2361 vertical-align: middle;
2362 }
2363
2364 .setting-meta__label {
2365 color: $ui-primary-color;
2366 float: right;
2367 }
2368
2369 .empty-column-indicator,
2370 .error-column {
2371 color: lighten($ui-base-color, 20%);
2372 background: $ui-base-color;
2373 text-align: center;
2374 padding: 20px;
2375 font-size: 15px;
2376 font-weight: 400;
2377 cursor: default;
2378 display: flex;
2379 flex: 1 1 auto;
2380 align-items: center;
2381 justify-content: center;
2382 @supports(display: grid) { // hack to fix Chrome <57
2383 contain: strict;
2384 }
2385
2386 a {
2387 color: $ui-highlight-color;
2388 text-decoration: none;
2389
2390 &:hover {
2391 text-decoration: underline;
2392 }
2393 }
2394 }
2395
2396 .error-column {
2397 flex-direction: column;
2398 }
2399
2400 @keyframes pulse {
2401 0% {
2402 opacity: 1;
2403 }
2404
2405 100% {
2406 opacity: 0.5;
2407 }
2408 }
2409
2410 .pulse-loading {
2411 animation: pulse 1s ease-in-out infinite;
2412 animation-direction: alternate;
2413 }
2414
2415 .emoji-dialog {
2416 width: 245px;
2417 height: 270px;
2418 background: $simple-background-color;
2419 box-sizing: border-box;
2420 border-radius: 4px;
2421 overflow: hidden;
2422 position: relative;
2423 box-shadow: 0 0 8px rgba($base-shadow-color, 0.2);
2424
2425 .emojione {
2426 margin: 0;
2427 width: 100%;
2428 height: auto;
2429 }
2430
2431 .emoji-dialog-header {
2432 padding: 0 10px;
2433
2434 ul {
2435 padding: 0;
2436 margin: 0;
2437 list-style: none;
2438 }
2439
2440 li {
2441 display: inline-block;
2442 box-sizing: border-box;
2443 padding: 10px 5px;
2444 cursor: pointer;
2445 border-bottom: 2px solid transparent;
2446
2447 .emoji {
2448 width: 18px;
2449 height: 18px;
2450 }
2451
2452 img,
2453 svg {
2454 width: 18px;
2455 height: 18px;
2456 filter: grayscale(100%);
2457 }
2458
2459 &:hover {
2460 img,
2461 svg {
2462 filter: grayscale(0);
2463 }
2464 }
2465
2466 &.active {
2467 border-bottom-color: $ui-highlight-color;
2468
2469 img,
2470 svg {
2471 filter: grayscale(0);
2472 }
2473 }
2474 }
2475 }
2476
2477 .emoji-row {
2478 box-sizing: border-box;
2479 overflow-y: hidden;
2480 padding-left: 10px;
2481
2482 .emoji {
2483 display: inline-block;
2484 padding: 2.5px;
2485 border-radius: 4px;
2486 }
2487 }
2488
2489 .emoji-category-header {
2490 box-sizing: border-box;
2491 overflow-y: hidden;
2492 padding: 10px 8px 10px 16px;
2493 display: table;
2494
2495 > * {
2496 display: table-cell;
2497 vertical-align: middle;
2498 }
2499 }
2500
2501 .emoji-category-title {
2502 font-size: 12px;
2503 text-transform: uppercase;
2504 font-weight: 500;
2505 color: darken($ui-secondary-color, 18%);
2506 cursor: default;
2507 }
2508
2509 .emoji-category-heading-decoration {
2510 text-align: right;
2511 }
2512
2513 .modifiers {
2514 list-style: none;
2515 padding: 0;
2516 margin: 0;
2517 vertical-align: middle;
2518 white-space: nowrap;
2519 margin-top: 4px;
2520
2521 li {
2522 display: inline-block;
2523 padding: 0 2px;
2524
2525 &:last-of-type {
2526 padding-right: 0;
2527 }
2528 }
2529
2530 .modifier {
2531 display: inline-block;
2532 border-radius: 10px;
2533 width: 15px;
2534 height: 15px;
2535 position: relative;
2536 cursor: pointer;
2537
2538 &.active::after {
2539 content: "";
2540 display: block;
2541 position: absolute;
2542 width: 7px;
2543 height: 7px;
2544 border-radius: 10px;
2545 border: 2px solid $base-border-color;
2546 top: 2px;
2547 left: 2px;
2548 }
2549 }
2550 }
2551
2552 .emoji-search-wrapper {
2553 padding: 10px;
2554 border-bottom: 1px solid lighten($ui-secondary-color, 4%);
2555 }
2556
2557 .emoji-search {
2558 font-size: 14px;
2559 font-weight: 400;
2560 padding: 7px 9px;
2561 font-family: inherit;
2562 display: block;
2563 width: 100%;
2564 background: rgba($ui-secondary-color, 0.3);
2565 color: darken($ui-secondary-color, 18%);
2566 border: 1px solid $ui-secondary-color;
2567 border-radius: 4px;
2568 }
2569
2570 .emoji-categories-wrapper {
2571 position: absolute;
2572 top: 42px;
2573 bottom: 0;
2574 left: 0;
2575 right: 0;
2576 }
2577
2578 .emoji-search-wrapper + .emoji-categories-wrapper {
2579 top: 93px;
2580 }
2581
2582 .emoji-row .emoji {
2583 img,
2584 svg {
2585 transition: transform 60ms ease-in-out;
2586 }
2587
2588 &:hover {
2589 background: lighten($ui-secondary-color, 3%);
2590
2591 img,
2592 svg {
2593 transform: translateZ(0) scale(1.2);
2594 }
2595 }
2596 }
2597
2598 .emoji {
2599 width: 22px;
2600 height: 22px;
2601 cursor: pointer;
2602
2603 &:focus {
2604 outline: 0;
2605 }
2606 }
2607 }
2608
2609 .upload-area {
2610 align-items: center;
2611 background: rgba($base-overlay-background, 0.8);
2612 display: flex;
2613 height: 100%;
2614 justify-content: center;
2615 left: 0;
2616 opacity: 0;
2617 position: absolute;
2618 top: 0;
2619 visibility: hidden;
2620 width: 100%;
2621 z-index: 2000;
2622
2623 * {
2624 pointer-events: none;
2625 }
2626 }
2627
2628 .upload-area__drop {
2629 width: 320px;
2630 height: 160px;
2631 display: flex;
2632 box-sizing: border-box;
2633 position: relative;
2634 padding: 8px;
2635 }
2636
2637 .upload-area__background {
2638 position: absolute;
2639 top: 0;
2640 right: 0;
2641 bottom: 0;
2642 left: 0;
2643 z-index: -1;
2644 border-radius: 4px;
2645 background: $ui-base-color;
2646 box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
2647 }
2648
2649 .upload-area__content {
2650 flex: 1;
2651 display: flex;
2652 align-items: center;
2653 justify-content: center;
2654 color: $ui-secondary-color;
2655 font-size: 18px;
2656 font-weight: 500;
2657 border: 2px dashed lighten($ui-base-color, 26%);
2658 border-radius: 4px;
2659 }
2660
2661 .upload-progress {
2662 padding: 10px;
2663 color: lighten($ui-base-color, 26%);
2664 overflow: hidden;
2665 display: flex;
2666
2667 .fa {
2668 font-size: 34px;
2669 margin-right: 10px;
2670 }
2671
2672 span {
2673 font-size: 12px;
2674 text-transform: uppercase;
2675 font-weight: 500;
2676 display: block;
2677 }
2678 }
2679
2680 .upload-progess__message {
2681 flex: 1 1 auto;
2682 }
2683
2684 .upload-progress__backdrop {
2685 width: 100%;
2686 height: 6px;
2687 border-radius: 6px;
2688 background: lighten($ui-base-color, 26%);
2689 position: relative;
2690 margin-top: 5px;
2691 }
2692
2693 .upload-progress__tracker {
2694 position: absolute;
2695 left: 0;
2696 top: 0;
2697 height: 6px;
2698 background: $ui-highlight-color;
2699 border-radius: 6px;
2700 }
2701
2702 .emoji-button {
2703 display: block;
2704 font-size: 24px;
2705 line-height: 24px;
2706 margin-left: 2px;
2707 width: 24px;
2708 outline: 0;
2709
2710 &:active,
2711 &:focus {
2712 outline: 0 !important;
2713 }
2714
2715 img {
2716 filter: grayscale(100%);
2717 opacity: 0.8;
2718 display: block;
2719 margin: 0;
2720 width: 22px;
2721 height: 22px;
2722 margin-top: 2px;
2723 }
2724
2725 &:hover,
2726 &:active,
2727 &:focus {
2728 img {
2729 opacity: 1;
2730 filter: none;
2731 }
2732 }
2733 }
2734
2735 .dropdown--active .emoji-button img {
2736 opacity: 1;
2737 filter: none;
2738 }
2739
2740 .privacy-dropdown {
2741 position: relative;
2742 }
2743
2744 .privacy-dropdown__dropdown {
2745 display: none;
2746 position: absolute;
2747 left: 0;
2748 top: 27px;
2749 width: 230px;
2750 background: $simple-background-color;
2751 border-radius: 0 4px 4px;
2752 z-index: 2;
2753 overflow: hidden;
2754 }
2755
2756 .privacy-dropdown__option {
2757 color: $ui-base-color;
2758 padding: 10px;
2759 cursor: pointer;
2760 display: flex;
2761
2762 &:hover,
2763 &.active {
2764 background: $ui-highlight-color;
2765 color: $primary-text-color;
2766
2767 .privacy-dropdown__option__content {
2768 color: $primary-text-color;
2769
2770 strong {
2771 color: $primary-text-color;
2772 }
2773 }
2774 }
2775
2776 &.active:hover {
2777 background: lighten($ui-highlight-color, 4%);
2778 }
2779 }
2780
2781 .privacy-dropdown__option__icon {
2782 display: flex;
2783 align-items: center;
2784 justify-content: center;
2785 margin-right: 10px;
2786 }
2787
2788 .privacy-dropdown__option__content {
2789 flex: 1 1 auto;
2790 color: darken($ui-primary-color, 24%);
2791
2792 strong {
2793 font-weight: 500;
2794 display: block;
2795 color: $ui-base-color;
2796 }
2797 }
2798
2799 .privacy-dropdown.active {
2800 .privacy-dropdown__value {
2801 background: $simple-background-color;
2802 border-radius: 4px 4px 0 0;
2803 box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);
2804 }
2805
2806 .privacy-dropdown__dropdown {
2807 display: block;
2808 box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
2809 }
2810 }
2811
2812 .search {
2813 position: relative;
2814 }
2815
2816 .search__input {
2817 padding-right: 30px;
2818 color: $ui-secondary-color;
2819 outline: 0;
2820 box-sizing: border-box;
2821 display: block;
2822 width: 100%;
2823 border: none;
2824 padding: 10px;
2825 padding-right: 30px;
2826 font-family: inherit;
2827 background: $ui-base-color;
2828 color: $ui-primary-color;
2829 font-size: 14px;
2830 margin: 0;
2831
2832 &::-moz-focus-inner {
2833 border: 0;
2834 }
2835
2836 &::-moz-focus-inner,
2837 &:focus,
2838 &:active {
2839 outline: 0 !important;
2840 }
2841
2842 &:focus {
2843 background: lighten($ui-base-color, 4%);
2844 }
2845
2846 @media screen and (max-width: 600px) {
2847 font-size: 16px;
2848 }
2849 }
2850
2851 .search__icon {
2852 .fa {
2853 position: absolute;
2854 top: 10px;
2855 right: 10px;
2856 z-index: 2;
2857 display: inline-block;
2858 opacity: 0;
2859 transition: all 100ms linear;
2860 font-size: 18px;
2861 width: 18px;
2862 height: 18px;
2863 color: $ui-secondary-color;
2864 cursor: default;
2865 pointer-events: none;
2866
2867 &.active {
2868 pointer-events: auto;
2869 opacity: 0.3;
2870 }
2871 }
2872
2873 .fa-search {
2874 transform: translateZ(0) rotate(90deg);
2875
2876 &.active {
2877 pointer-events: none;
2878 transform: translateZ(0) rotate(0deg);
2879 }
2880 }
2881
2882 .fa-times-circle {
2883 top: 11px;
2884 transform: translateZ(0) rotate(0deg);
2885 cursor: pointer;
2886
2887 &.active {
2888 transform: translateZ(0) rotate(90deg);
2889 }
2890
2891 &:hover {
2892 color: $primary-text-color;
2893 }
2894 }
2895 }
2896
2897 .search-results__header {
2898 color: lighten($ui-base-color, 26%);
2899 background: lighten($ui-base-color, 2%);
2900 border-bottom: 1px solid darken($ui-base-color, 4%);
2901 padding: 15px 10px;
2902 font-size: 14px;
2903 font-weight: 500;
2904 }
2905
2906 .search-results__hashtag {
2907 display: block;
2908 padding: 10px;
2909 color: $ui-secondary-color;
2910 text-decoration: none;
2911
2912 &:hover,
2913 &:active,
2914 &:focus {
2915 color: lighten($ui-secondary-color, 4%);
2916 text-decoration: underline;
2917 }
2918 }
2919
2920 .modal-root__overlay {
2921 position: absolute;
2922 top: 0;
2923 left: 0;
2924 right: 0;
2925 bottom: 0;
2926 z-index: 9999;
2927 opacity: 0;
2928 background: rgba($base-overlay-background, 0.7);
2929 transform: translateZ(0);
2930 }
2931
2932 .modal-root__container {
2933 position: absolute;
2934 top: 0;
2935 left: 0;
2936 width: 100%;
2937 height: 100%;
2938 display: flex;
2939 flex-direction: column;
2940 align-items: center;
2941 justify-content: center;
2942 align-content: space-around;
2943 z-index: 9999;
2944 opacity: 0;
2945 pointer-events: none;
2946 user-select: none;
2947 }
2948
2949 .modal-root__modal {
2950 pointer-events: auto;
2951 display: flex;
2952 z-index: 9999;
2953 }
2954
2955 .media-modal {
2956 max-width: 80vw;
2957 max-height: 80vh;
2958 position: relative;
2959
2960 img,
2961 canvas,
2962 video {
2963 max-width: 80vw;
2964 max-height: 80vh;
2965 width: 100%;
2966 height: auto;
2967 }
2968
2969 img,
2970 canvas {
2971 display: block;
2972 background: url('../images/void.png') repeat;
2973 object-fit: contain;
2974 }
2975 }
2976
2977 .media-modal__close {
2978 position: absolute;
2979 right: 4px;
2980 top: 4px;
2981 z-index: 100;
2982 }
2983
2984 .onboarding-modal,
2985 .error-modal {
2986 background: $ui-secondary-color;
2987 color: $ui-base-color;
2988 border-radius: 8px;
2989 overflow: hidden;
2990 display: flex;
2991 flex-direction: column;
2992 }
2993
2994 .onboarding-modal__pager {
2995 height: 80vh;
2996 width: 80vw;
2997 max-width: 520px;
2998 max-height: 420px;
2999
3000 .react-swipeable-view-container > div {
3001 width: 100%;
3002 height: 100%;
3003 box-sizing: border-box;
3004 padding: 25px;
3005 display: none;
3006 flex-direction: column;
3007 align-items: center;
3008 justify-content: center;
3009 display: flex;
3010 user-select: text;
3011 }
3012 }
3013
3014 .error-modal__body {
3015 height: 80vh;
3016 width: 80vw;
3017 max-width: 520px;
3018 max-height: 420px;
3019 position: relative;
3020
3021 & > div {
3022 position: absolute;
3023 top: 0;
3024 left: 0;
3025 width: 100%;
3026 height: 100%;
3027 box-sizing: border-box;
3028 padding: 25px;
3029 display: none;
3030 flex-direction: column;
3031 align-items: center;
3032 justify-content: center;
3033 display: flex;
3034 opacity: 0;
3035 user-select: text;
3036 }
3037 }
3038
3039 .error-modal__body {
3040 display: flex;
3041 flex-direction: column;
3042 justify-content: center;
3043 align-items: center;
3044 text-align: center;
3045 }
3046
3047 @media screen and (max-width: 550px) {
3048 .onboarding-modal {
3049 width: 100%;
3050 height: 100%;
3051 border-radius: 0;
3052 }
3053
3054 .onboarding-modal__pager {
3055 width: 100%;
3056 height: auto;
3057 max-width: none;
3058 max-height: none;
3059 flex: 1 1 auto;
3060 }
3061 }
3062
3063 .onboarding-modal__paginator,
3064 .error-modal__footer {
3065 flex: 0 0 auto;
3066 background: darken($ui-secondary-color, 8%);
3067 display: flex;
3068 padding: 25px;
3069
3070 & > div {
3071 min-width: 33px;
3072 }
3073
3074 .onboarding-modal__nav,
3075 .error-modal__nav {
3076 color: darken($ui-secondary-color, 34%);
3077 background-color: transparent;
3078 border: 0;
3079 font-size: 14px;
3080 font-weight: 500;
3081 padding: 0;
3082 line-height: inherit;
3083 height: auto;
3084
3085 &:hover,
3086 &:focus,
3087 &:active {
3088 color: darken($ui-secondary-color, 38%);
3089 }
3090
3091 &.onboarding-modal__done,
3092 &.onboarding-modal__next {
3093 color: $ui-highlight-color;
3094 }
3095 }
3096 }
3097
3098 .error-modal__footer {
3099 justify-content: center;
3100 }
3101
3102 .onboarding-modal__dots {
3103 flex: 1 1 auto;
3104 display: flex;
3105 align-items: center;
3106 justify-content: center;
3107 }
3108
3109 .onboarding-modal__dot {
3110 width: 14px;
3111 height: 14px;
3112 border-radius: 14px;
3113 background: darken($ui-secondary-color, 16%);
3114 margin: 0 3px;
3115 cursor: pointer;
3116
3117 &:hover {
3118 background: darken($ui-secondary-color, 18%);
3119 }
3120
3121 &.active {
3122 cursor: default;
3123 background: darken($ui-secondary-color, 24%);
3124 }
3125 }
3126
3127 .onboarding-modal__page__wrapper {
3128 pointer-events: none;
3129
3130 &.onboarding-modal__page__wrapper--active {
3131 pointer-events: auto;
3132 }
3133 }
3134
3135 .onboarding-modal__page {
3136 cursor: default;
3137 line-height: 21px;
3138
3139 h1 {
3140 font-size: 18px;
3141 font-weight: 500;
3142 color: $ui-base-color;
3143 margin-bottom: 20px;
3144 }
3145
3146 a {
3147 color: $ui-highlight-color;
3148
3149 &:hover,
3150 &:focus,
3151 &:active {
3152 color: lighten($ui-highlight-color, 4%);
3153 }
3154 }
3155
3156 p {
3157 font-size: 16px;
3158 color: lighten($ui-base-color, 8%);
3159 margin-top: 10px;
3160 margin-bottom: 10px;
3161
3162 &:last-child {
3163 margin-bottom: 0;
3164 }
3165
3166 strong {
3167 font-weight: 500;
3168 background: $ui-base-color;
3169 color: $ui-secondary-color;
3170 border-radius: 4px;
3171 font-size: 14px;
3172 padding: 3px 6px;
3173 }
3174 }
3175 }
3176
3177 .onboarding-modal__page-one {
3178 display: flex;
3179 align-items: center;
3180 }
3181
3182 .onboarding-modal__page-one__elephant-friend {
3183 background: url('../images/elephant-friend-1.png') no-repeat center center / contain;
3184 width: 155px;
3185 height: 193px;
3186 margin-right: 15px;
3187 }
3188
3189 @media screen and (max-width: 400px) {
3190 .onboarding-modal__page-one {
3191 flex-direction: column;
3192 align-items: normal;
3193 }
3194
3195 .onboarding-modal__page-one__elephant-friend {
3196 width: 100%;
3197 height: 30vh;
3198 max-height: 160px;
3199 margin-bottom: 5vh;
3200 }
3201 }
3202
3203 .onboarding-modal__page-two,
3204 .onboarding-modal__page-three,
3205 .onboarding-modal__page-four,
3206 .onboarding-modal__page-five {
3207 p {
3208 text-align: left;
3209 }
3210
3211 .figure {
3212 background: darken($ui-base-color, 8%);
3213 color: $ui-secondary-color;
3214 margin-bottom: 20px;
3215 border-radius: 4px;
3216 padding: 10px;
3217 text-align: center;
3218 font-size: 14px;
3219 box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.3);
3220
3221 .onboarding-modal__image {
3222 border-radius: 4px;
3223 margin-bottom: 10px;
3224 }
3225
3226 &.non-interactive {
3227 pointer-events: none;
3228 text-align: left;
3229 }
3230 }
3231 }
3232
3233 .onboarding-modal__page-four__columns {
3234 .row {
3235 display: flex;
3236 margin-bottom: 20px;
3237
3238 & > div {
3239 flex: 1 1 0;
3240 margin: 0 10px;
3241
3242 &:first-child {
3243 margin-left: 0;
3244 }
3245
3246 &:last-child {
3247 margin-right: 0;
3248 }
3249
3250 p {
3251 text-align: center;
3252 }
3253 }
3254
3255 &:last-child {
3256 margin-bottom: 0;
3257 }
3258 }
3259
3260 .column-header {
3261 color: $primary-text-color;
3262 }
3263 }
3264
3265 @media screen and (max-width: 320px) and (max-height: 600px) {
3266 .onboarding-modal__page p {
3267 font-size: 14px;
3268 line-height: 20px;
3269 }
3270
3271 .onboarding-modal__page-two .figure,
3272 .onboarding-modal__page-three .figure,
3273 .onboarding-modal__page-four .figure,
3274 .onboarding-modal__page-five .figure {
3275 font-size: 12px;
3276 margin-bottom: 10px;
3277 }
3278
3279 .onboarding-modal__page-four__columns .row {
3280 margin-bottom: 10px;
3281 }
3282
3283 .onboarding-modal__page-four__columns .column-header {
3284 padding: 5px;
3285 font-size: 12px;
3286 }
3287 }
3288
3289 .onboarding-modal__image {
3290 border-radius: 8px;
3291 width: 70vw;
3292 max-width: 450px;
3293 max-height: auto;
3294 display: block;
3295 margin: auto;
3296 margin-bottom: 20px;
3297 }
3298
3299 .onboard-sliders {
3300 display: inline-block;
3301 max-width: 30px;
3302 max-height: auto;
3303 margin-left: 10px;
3304 }
3305
3306 .boost-modal,
3307 .confirmation-modal,
3308 .report-modal {
3309 background: lighten($ui-secondary-color, 8%);
3310 color: $ui-base-color;
3311 border-radius: 8px;
3312 overflow: hidden;
3313 max-width: 90vw;
3314 width: 480px;
3315 position: relative;
3316 flex-direction: column;
3317
3318 .status__display-name {
3319 display: block;
3320 max-width: 100%;
3321 padding-right: 25px;
3322 }
3323
3324 .status__avatar {
3325 height: 28px;
3326 left: 10px;
3327 position: absolute;
3328 top: 10px;
3329 width: 48px;
3330 }
3331 }
3332
3333 .boost-modal__container {
3334 overflow-x: scroll;
3335 padding: 10px;
3336
3337 .status {
3338 user-select: text;
3339 border-bottom: 0;
3340 }
3341 }
3342
3343 .boost-modal__action-bar,
3344 .confirmation-modal__action-bar,
3345 .report-modal__action-bar {
3346 display: flex;
3347 justify-content: space-between;
3348 background: $ui-secondary-color;
3349 padding: 10px;
3350 line-height: 36px;
3351
3352 & > div {
3353 flex: 1 1 auto;
3354 text-align: right;
3355 color: lighten($ui-base-color, 33%);
3356 padding-right: 10px;
3357 }
3358
3359 .button {
3360 flex: 0 0 auto;
3361 }
3362 }
3363
3364 .boost-modal__status-header {
3365 font-size: 15px;
3366 }
3367
3368 .boost-modal__status-time {
3369 float: right;
3370 font-size: 14px;
3371 }
3372
3373 .confirmation-modal {
3374 max-width: 280px;
3375
3376 @media screen and (min-width: 480px) {
3377 max-width: 380px;
3378 }
3379 }
3380
3381 .report-modal__statuses,
3382 .report-modal__comment {
3383 padding: 10px;
3384 }
3385
3386 .report-modal__statuses {
3387 min-height: 20vh;
3388 max-height: 40vh;
3389 overflow-y: auto;
3390 overflow-x: hidden;
3391 }
3392
3393 .report-modal__comment {
3394 .setting-text {
3395 margin-top: 10px;
3396 }
3397 }
3398
3399 .confirmation-modal__action-bar {
3400 .confirmation-modal__cancel-button {
3401 background-color: transparent;
3402 color: darken($ui-secondary-color, 34%);
3403 font-size: 14px;
3404 font-weight: 500;
3405
3406 &:hover,
3407 &:focus,
3408 &:active {
3409 color: darken($ui-secondary-color, 38%);
3410 }
3411 }
3412 }
3413
3414 .confirmation-modal__container,
3415 .report-modal__target {
3416 padding: 30px;
3417 font-size: 16px;
3418 text-align: center;
3419
3420 strong {
3421 font-weight: 500;
3422 }
3423 }
3424
3425 .loading-bar {
3426 background-color: $ui-highlight-color;
3427 height: 3px;
3428 position: absolute;
3429 top: 0;
3430 left: 0;
3431 }
3432
3433 .media-gallery__gifv__label {
3434 display: block;
3435 position: absolute;
3436 color: $primary-text-color;
3437 background: rgba($base-overlay-background, 0.5);
3438 bottom: 6px;
3439 left: 6px;
3440 padding: 2px 6px;
3441 border-radius: 2px;
3442 font-size: 11px;
3443 font-weight: 600;
3444 z-index: 1;
3445 pointer-events: none;
3446 opacity: 0.9;
3447 transition: opacity 0.1s ease;
3448 }
3449
3450 .media-gallery__gifv {
3451 &.autoplay {
3452 .media-gallery__gifv__label {
3453 display: none;
3454 }
3455 }
3456
3457 &:hover {
3458 .media-gallery__gifv__label {
3459 opacity: 1;
3460 }
3461 }
3462 }
3463
3464 .attachment-list {
3465 display: flex;
3466 font-size: 14px;
3467 border: 1px solid lighten($ui-base-color, 8%);
3468 border-radius: 4px;
3469 margin-top: 14px;
3470 overflow: hidden;
3471 }
3472
3473 .attachment-list__icon {
3474 flex: 0 0 auto;
3475 color: lighten($ui-base-color, 26%);
3476 padding: 8px 18px;
3477 cursor: default;
3478 border-right: 1px solid lighten($ui-base-color, 8%);
3479 display: flex;
3480 flex-direction: column;
3481 align-items: center;
3482 justify-content: center;
3483 font-size: 26px;
3484
3485 .fa {
3486 display: block;
3487 }
3488 }
3489
3490 .attachment-list__list {
3491 list-style: none;
3492 padding: 4px 0;
3493 padding-left: 8px;
3494 display: flex;
3495 flex-direction: column;
3496 justify-content: center;
3497
3498 li {
3499 display: block;
3500 padding: 4px 0;
3501 }
3502
3503 a {
3504 text-decoration: none;
3505 color: lighten($ui-base-color, 26%);
3506 font-weight: 500;
3507
3508 &:hover {
3509 text-decoration: underline;
3510 }
3511 }
3512 }
3513
3514 /* Media Gallery */
3515 .media-gallery {
3516 box-sizing: border-box;
3517 margin-top: 8px;
3518 overflow: hidden;
3519 position: relative;
3520 width: 100%;
3521 }
3522
3523 .media-gallery__item {
3524 border: none;
3525 box-sizing: border-box;
3526 display: block;
3527 float: left;
3528 position: relative;
3529 }
3530
3531 .media-gallery__item-thumbnail {
3532 cursor: zoom-in;
3533 display: block;
3534 text-decoration: none;
3535 height: 100%;
3536
3537 &,
3538 img {
3539 width: 100%;
3540 height: 100%;
3541 object-fit: cover;
3542 }
3543 }
3544
3545 .media-gallery__gifv {
3546 height: 100%;
3547 overflow: hidden;
3548 position: relative;
3549 width: 100%;
3550 }
3551
3552 .media-gallery__item-gifv-thumbnail {
3553 cursor: zoom-in;
3554 height: 100%;
3555 object-fit: cover;
3556 position: relative;
3557 top: 50%;
3558 transform: translateY(-50%);
3559 width: 100%;
3560 z-index: 1;
3561 }
3562
3563 .media-gallery__item-thumbnail-label {
3564 clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
3565 clip: rect(1px, 1px, 1px, 1px);
3566 overflow: hidden;
3567 position: absolute;
3568 }
3569 /* End Media Gallery */
3570
3571 /* Status Video Player */
3572 .status__video-player {
3573 background: $base-overlay-background;
3574 box-sizing: border-box;
3575 cursor: default; /* May not be needed */
3576 margin-top: 8px;
3577 overflow: hidden;
3578 position: relative;
3579 }
3580
3581 .status__video-player-video {
3582 height: 100%;
3583 object-fit: cover;
3584 position: relative;
3585 top: 50%;
3586 transform: translateY(-50%);
3587 width: 100%;
3588 z-index: 1;
3589 }
3590
3591 .status__video-player-expand,
3592 .status__video-player-mute {
3593 color: $primary-text-color;
3594 opacity: 0.8;
3595 position: absolute;
3596 right: 4px;
3597 text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
3598 }
3599
3600 .status__video-player-spoiler {
3601 display: none;
3602 color: $primary-text-color;
3603 left: 4px;
3604 position: absolute;
3605 text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
3606 top: 4px;
3607 z-index: 100;
3608
3609 &.status__video-player-spoiler--visible {
3610 display: block;
3611 }
3612 }
3613
3614 .status__video-player-expand {
3615 bottom: 4px;
3616 z-index: 100;
3617 }
3618
3619 .status__video-player-mute {
3620 top: 4px;
3621 z-index: 5;
3622 }
3623
3624 .media-spoiler-video {
3625 background-size: cover;
3626 background-repeat: no-repeat;
3627 background-position: center;
3628 cursor: pointer;
3629 margin-top: 8px;
3630 position: relative;
3631 }
3632
3633 .media-spoiler-video-play-icon {
3634 border-radius: 100px;
3635 color: rgba($primary-text-color, 0.8);
3636 font-size: 36px;
3637 left: 50%;
3638 padding: 5px;
3639 position: absolute;
3640 top: 50%;
3641 transform: translate(-50%, -50%);
3642 }
3643 /* End Video Player */
3644
3645 .account-gallery__container {
3646 margin: -2px;
3647 padding: 4px;
3648 }
3649
3650 .account-gallery__item {
3651 float: left;
3652 width: 96px;
3653 height: 96px;
3654 margin: 2px;
3655
3656 a {
3657 display: block;
3658 width: 100%;
3659 height: 100%;
3660 background-color: $base-overlay-background;
3661 background-size: cover;
3662 background-position: center;
3663 position: relative;
3664 }
3665 }
3666
3667 .account-section-headline {
3668 color: lighten($ui-base-color, 26%);
3669 background: lighten($ui-base-color, 2%);
3670 border-bottom: 1px solid lighten($ui-base-color, 4%);
3671 padding: 15px 10px;
3672 font-size: 14px;
3673 font-weight: 500;
3674 position: relative;
3675 cursor: default;
3676
3677 &::before,
3678 &::after {
3679 display: block;
3680 content: "";
3681 position: absolute;
3682 bottom: 0;
3683 left: 18px;
3684 width: 0;
3685 height: 0;
3686 border-style: solid;
3687 border-width: 0 10px 10px;
3688 border-color: transparent transparent lighten($ui-base-color, 4%);
3689 }
3690
3691 &::after {
3692 bottom: -1px;
3693 border-color: transparent transparent $ui-base-color;
3694 }
3695 }
3696
3697 noscript {
3698 text-align: center;
3699
3700 div {
3701 font-size: 20px;
3702 margin: 20px 0;
3703 }
3704 }
This page took 0.412299 seconds and 4 git commands to generate.