1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. */
6 -webkit-user-select: none
;
7 font-family: Open Sans
, Droid Sans Fallback
, sans-serif
;
22 /* Common background for both mosaic and slide mode. */
24 background-color: black
;
29 /* We actually want (left,top) to be (0,0) but for some weird reason
30 this triggers :hover style on page reload which is ugly. */
31 .gallery > .back-button {
39 /* The close icon is in a nested div so that its opacity can be manipulated
40 independently from its parent (which can be dimmed when the crop frame
42 .gallery > .back-button div {
43 background-image: -webkit-image-set
(
44 url
('../images/gallery/back_to_files.png') 1x,
45 url
('../images/gallery/2x/back_to_files.png') 2x);
46 background-position: center center
;
47 background-repeat: no-repeat
;
53 .gallery[tools] > .back-button div {
57 .gallery[tools] > .back-button div:hover {
61 /* Image container and canvas elements */
63 .gallery .image-container {
64 cursor: none
; /* Only visible when the toolbar is active */
70 .gallery[tools] .image-container[cursor='default'] {
74 .gallery[tools] .image-container[cursor='move'] {
75 cursor: -webkit-image-set
(
76 url
('../images/gallery/cursor_move.png') 1x,
77 url
('../images/gallery/2x/cursor_move.png') 2x) 15 15, auto
;
80 .gallery[tools] .image-container[cursor='crop'] {
81 cursor: -webkit-image-set
(
82 url
('../images/gallery/cursor_crop.png') 1x,
83 url
('../images/gallery/2x/cursor_crop.png') 2x) 15 15, auto
;
86 .gallery
[tools
] .image-container
[cursor
='n-resize'],
87 .gallery[tools] .image-container[cursor='s-resize'] {
88 cursor: -webkit-image-set
(
89 url
('../images/gallery/cursor_updown.png') 1x,
90 url
('../images/gallery/2x/cursor_updown.png') 2x) 15 15, auto
;
93 .gallery
[tools
] .image-container
[cursor
='e-resize'],
94 .gallery[tools] .image-container[cursor='w-resize'] {
95 cursor: -webkit-image-set
(
96 url
('../images/gallery/cursor_leftright.png') 1x,
97 url
('../images/gallery/2x/cursor_leftright.png') 2x) 15 15, auto
;
100 .gallery
[tools
] .image-container
[cursor
='nw-resize'],
101 .gallery[tools] .image-container[cursor='se-resize'] {
102 cursor: -webkit-image-set
(
103 url
('../images/gallery/cursor_nwse.png') 1x,
104 url
('../images/gallery/2x/cursor_nwse.png') 2x) 15 15, auto
;
107 .gallery
[tools
] .image-container
[cursor
='ne-resize'],
108 .gallery[tools] .image-container[cursor='sw-resize'] {
109 cursor: -webkit-image-set
(
110 url
('../images/gallery/cursor_swne.png') 1x,
111 url
('../images/gallery/2x/cursor_swne.png') 2x) 15 15, auto
;
114 .gallery .image-container > .image {
115 pointer-events: none
;
117 /* Duration and timing function are set in Javascript. */
118 transition-property: -webkit-transform
, opacity
;
121 .gallery .image-container > .image[fade] {
125 /* Full resolution image is invisible unless printing. */
126 .gallery .image-container > canvas.fullres {
131 /* Do not print anything but the image content. */
132 .gallery > :not(.content) {
133 display: none
!important
;
136 /* Center the printed image. */
137 .gallery .image-container {
138 -webkit-box-align: center
;
139 -webkit-box-orient: horizontal
;
140 -webkit-box-pack: center
;
141 display: -webkit-box
;
144 /* Do not print the screen resolution image. */
145 .gallery .image-container > canvas.image {
146 display: none
!important
;
149 /* Print the full resolution image instead. */
150 .gallery .image-container > canvas.fullres {
151 display: block
!important
;
156 /* Print video at the center of the page */
157 .gallery .image-container > video.image {
158 position: auto
!important
;
165 .gallery > .toolbar {
166 -webkit-box-align: stretch
;
167 -webkit-box-orient: horizontal
;
168 -webkit-box-pack: start
;
169 background-color: rgba
(30, 30, 30, 0.8);
170 display: -webkit-box
;
174 pointer-events: none
;
177 transition: opacity
300ms ease
;
181 -webkit-box-align: center
;
182 -webkit-box-pack: end
;
183 border-bottom: 1px solid rgba
(50, 50, 50, 0.8);
184 display: -webkit-box
;
189 .gallery > .toolbar {
190 border-top: 1px solid rgba
(50, 50, 50, 0.8);
196 .gallery
[tools
]:not
([slideshow
]) > .header
,
197 .gallery[tools]:not([slideshow]) > .toolbar {
199 pointer-events: auto
;
202 /* Hide immediately when entering the slideshow. */
203 .gallery[tools][slideshow] > .toolbar {
204 transition-duration: 0;
207 .gallery[tools][locked] > .toolbar {
208 pointer-events: none
;
211 .gallery .arrow-box {
212 -webkit-box-align: center
;
213 -webkit-box-orient: horizontal
;
214 -webkit-box-pack: center
;
215 display: -webkit-box
;
217 pointer-events: none
;
223 .gallery .arrow-box .arrow {
225 pointer-events: none
;
228 .gallery .arrow-box .arrow-spacer {
230 pointer-events: none
;
233 .gallery[tools] .arrow-box[active] .arrow {
236 pointer-events: auto
;
239 /* The arrow icons are in nested divs so that their opacity can be manipulated
240 * independently from their parent (which can be dimmed when the crop frame
242 .gallery .arrow div {
243 background-position: center center
;
244 background-repeat: no-repeat
;
250 .gallery[tools] .arrow-box[active] .arrow div {
254 .gallery[tools] .arrow-box[active] .arrow div:hover {
258 .gallery .arrow.left div {
259 background-image: -webkit-image-set
(
260 url
('../images/gallery/arrow_left.png') 1x,
261 url
('../images/gallery/2x/arrow_left.png') 2x);
264 .gallery .arrow.right div {
265 background-image: -webkit-image-set
(
266 url
('../images/gallery/arrow_right.png') 1x,
267 url
('../images/gallery/2x/arrow_right.png') 2x);
270 /* Special behavior on mouse drag.
271 Redundant .gallery attributes included to make the rules more specific */
273 /* Everything but the image container should become mouse-transparent */
274 .gallery[tools][editing][mousedrag] * {
275 pointer-events: none
;
278 .gallery[tools][editing][mousedrag] .image-container {
279 pointer-events: auto
;
282 /* The editor marks elements with 'dimmed' attribute to get them out of the way
284 .gallery
[tools
][editing
] [dimmed
],
285 .gallery[tools][editing] [dimmed] * {
286 pointer-events: none
;
289 .gallery[tools][editing] [dimmed] {
295 .gallery .filename-spacer {
300 .gallery .filename-spacer > * {
301 background-color: transparent
;
304 transition: visibility
0 linear
180ms, all
180ms linear
;
308 .gallery .filename-spacer * {
312 .gallery .filename-spacer .namebox {
317 .gallery[editing] .filename-spacer .namebox {
323 .gallery .filename-spacer .namebox {
324 background-color: transparent
;
326 box-sizing: border-box
;
334 text-overflow: ellipsis
;
338 .gallery .filename-spacer .namebox[disabled] {
339 -webkit-user-select: none
;
343 .gallery .filename-spacer .namebox:not([disabled]):not(:focus):hover {
344 background-color: rgba
(48, 48, 48, 1.0);
347 .gallery .filename-spacer .namebox:focus {
348 background-color: white
;
353 .gallery .filename-spacer .options {
354 -webkit-box-align: center
;
355 -webkit-box-orient: horizontal
;
356 -webkit-box-pack: start
;
357 display: -webkit-box
;
363 .gallery[editing] .filename-spacer .options {
369 .gallery
.filename-spacer
.saved
,
370 .gallery .filename-spacer .overwrite-original {
376 pointer-events: none
;
377 transition: all linear
120ms;
380 .gallery[editing] .filename-spacer .saved {
385 .gallery
[editing
] .filename-spacer
.overwrite-original
,
386 .gallery[editing] .filename-spacer .overwrite-original > * {
389 pointer-events: auto
;
392 .gallery[editing] .options[saved] .overwrite-original {
396 .gallery
[editing
] .options
[saved
] .overwrite-original
,
397 .gallery[editing] .options[saved] .overwrite-original > * {
399 pointer-events: none
;
402 .gallery .filename-spacer .overwrite-original input {
407 .gallery .filename-spacer .saved[highlighted] {
408 -webkit-transform: scaleX
(1.1) scaleY
(1.1) rotate
(0);
413 .gallery .toolbar .bubble {
421 .gallery:not([editing]) .toolbar .bubble {
425 /* Toolbar buttons */
427 .gallery .button-spacer {
429 display: -webkit-box
;
434 .gallery .ribbon-spacer {
435 -webkit-box-align: center
;
436 -webkit-box-orient: horizontal
;
437 -webkit-box-pack: center
;
438 display: -webkit-box
;
445 .gallery .toolbar .ribbon {
447 -webkit-box-orient: horizontal
;
448 -webkit-box-pack: start
;
449 display: -webkit-box
;
452 transition: opacity
180ms linear
, visibility
0 linear
;
456 .gallery[editing] .toolbar .ribbon {
458 transition-delay: 0, 180ms;
462 .gallery .ribbon-image {
463 -webkit-box-align: center
;
464 -webkit-box-orient: horizontal
;
465 -webkit-box-pack: center
;
466 border: 2px solid rgba
(255, 255, 255, 0); /* transparent white */
468 display: -webkit-box
;
472 transition: all
180ms linear
;
476 .ribbon-image[vanishing='smooth'] {
477 border-left-width: 0;
478 border-right-width: 0;
484 .gallery .ribbon-image[selected] {
485 border: 2px solid rgba
(255, 233, 168, 1);
488 .gallery .toolbar .ribbon.fade-left {
489 -webkit-mask-image: linear-gradient
(to right
, rgba
(0, 0, 0, 0) 0,
490 rgba
(0, 0, 0, 1) 40px);
493 .gallery .toolbar .ribbon.fade-right {
494 -webkit-mask-image: linear-gradient
(to left
, rgba
(0, 0, 0, 0) 0,
495 rgba
(0, 0, 0, 1) 40px);
498 .gallery .toolbar .ribbon.fade-left.fade-right {
499 -webkit-mask-image: linear-gradient
(to right
, rgba
(0, 0, 0, 0) 0,
500 rgba
(0, 0, 0, 1) 40px,
501 rgba
(0, 0, 0, 1) 230px,
502 rgba
(0, 0, 0, 0) 100%);
505 .gallery .image-wrapper {
506 background-size: 45px 45px;
507 border: 1px solid rgba
(0, 0, 0, 0); /* transparent black */
514 .gallery .image-wrapper > img {
518 .gallery .image-wrapper > img:not(.cached) {
519 -webkit-animation: fadeIn
500ms ease-in
;
524 .gallery .edit-bar-spacer {
525 -webkit-box-align: center
;
526 -webkit-box-orient: horizontal
;
527 -webkit-box-pack: center
;
528 display: -webkit-box
;
534 transition: opacity
180ms linear
, visibility
0 linear
180ms;
538 .gallery .toolbar .edit-main {
539 -webkit-box-orient: horizontal
;
540 -webkit-box-pack: center
;
542 display: -webkit-box
;
547 .gallery[editing] .edit-bar-spacer {
549 pointer-events: auto
;
550 transition-delay: 100ms, 100ms;
554 .gallery
.header button
,
555 .gallery
.toolbar button
,
556 .gallery
.header button
[disabled
],
557 .gallery .toolbar button[disabled] {
558 -webkit-box-align: center
;
560 -webkit-box-orient: horizontal
;
561 -webkit-box-pack: end
;
562 background-color: rgba
(0, 0, 0, 0);
563 background-position: center
;
564 background-repeat: no-repeat
;
569 display: -webkit-box
;
570 opacity: 0.99; /* Workaround for http://crosbug.com/21065 */
571 padding: 1px; /* Instead of a border. */
576 .gallery
.header button
,
577 .gallery .toolbar button {
580 min-width: 40px; /* Reset. */
584 /* By default, labels are hidden. */
585 .gallery > .toolbar button span {
589 /* Show labels if there is enough space. */
590 @media (min-width: 1180px) {
592 .gallery
.edit-main button
,
593 .gallery .edit-main button[disabled] {
594 background-position: 5px center
;
596 min-width: 0; /* Reset. */
597 padding: 0 10px 0 35px;
601 .gallery > .toolbar button span {
607 .gallery
.header
button:hover
,
608 .gallery .toolbar button:hover {
609 background-color: rgba
(31, 31, 31, 1);
613 .gallery
.header
button:active
,
614 .gallery
.toolbar
button:active
,
615 .gallery
.header button
[pressed
],
616 .gallery
.toolbar button
[pressed
],
617 .gallery
.header button
[pressed
]:hover
,
618 .gallery .toolbar button[pressed]:hover {
619 background-color: rgba
(240, 240, 240, 1);
623 .gallery > .toolbar button.autofix {
624 background-image: -webkit-image-set
(
625 url
('../images/gallery/icon_autofix.png') 1x,
626 url
('../images/gallery/2x/icon_autofix.png') 2x);
629 .gallery
> .toolbar button
.autofix:active
,
630 .gallery > .toolbar button.autofix[pressed] {
631 background-image: -webkit-image-set
(
632 url
('../images/gallery/icon_autofix_selected.png') 1x,
633 url
('../images/gallery/2x/icon_autofix_selected.png') 2x);
636 .gallery > .toolbar button.crop {
637 background-image: -webkit-image-set
(
638 url
('../images/gallery/icon_crop.png') 1x,
639 url
('../images/gallery/2x/icon_crop.png') 2x);
642 .gallery
> .toolbar button
.crop:active
,
643 .gallery > .toolbar button.crop[pressed] {
644 background-image: -webkit-image-set
(
645 url
('../images/gallery/icon_crop_selected.png') 1x,
646 url
('../images/gallery/2x/icon_crop_selected.png') 2x);
649 .gallery > .toolbar button.exposure {
650 background-image: -webkit-image-set
(
651 url
('../images/gallery/icon_brightness.png') 1x,
652 url
('../images/gallery/2x/icon_brightness.png') 2x);
655 .gallery
> .toolbar button
.exposure:active
,
656 .gallery > .toolbar button.exposure[pressed] {
657 background-image: -webkit-image-set
(
658 url
('../images/gallery/icon_brightness_selected.png') 1x,
659 url
('../images/gallery/2x/icon_brightness_selected.png') 2x);
662 .gallery > .toolbar button.rotate_right {
663 background-image: -webkit-image-set
(
664 url
('../images/gallery/icon_rotate.png') 1x,
665 url
('../images/gallery/2x/icon_rotate.png') 2x);
668 .gallery
> .toolbar button
.rotate_right:active
,
669 .gallery > .toolbar button.rotate_right[pressed] {
670 background-image: -webkit-image-set
(
671 url
('../images/gallery/icon_rotate_selected.png') 1x,
672 url
('../images/gallery/2x/icon_rotate_selected.png') 2x);
675 .gallery > .toolbar button.rotate_left {
676 background-image: -webkit-image-set
(
677 url
('../images/gallery/icon_rotate_left.png') 1x,
678 url
('../images/gallery/2x/icon_rotate_left.png') 2x);
681 .gallery
> .toolbar button
.rotate_left:active
,
682 .gallery > .toolbar button.rotate_left[pressed] {
683 background-image: -webkit-image-set
(
684 url
('../images/gallery/icon_rotate_left_selected.png') 1x,
685 url
('../images/gallery/2x/icon_rotate_left_selected.png') 2x);
688 .gallery > .toolbar button.undo {
689 background-image: -webkit-image-set
(
690 url
('../images/gallery/icon_undo.png') 1x,
691 url
('../images/gallery/2x/icon_undo.png') 2x);
694 .gallery
> .toolbar button
.undo:active
,
695 .gallery > .toolbar button.undo[pressed] {
696 background-image: -webkit-image-set
(
697 url
('../images/gallery/icon_undo_selected.png') 1x,
698 url
('../images/gallery/2x/icon_undo_selected.png') 2x);
701 .gallery > .toolbar button.redo {
702 background-image: -webkit-image-set
(
703 url
('../images/gallery/icon_redo.png') 1x,
704 url
('../images/gallery/2x/icon_redo.png') 2x);
705 position: absolute
; /* Exclude from center-packing*/
708 .gallery
> .toolbar button
.redo:active
,
709 .gallery > .toolbar button.redo[pressed] {
710 background-image: -webkit-image-set
(
711 url
('../images/gallery/icon_redo_selected.png') 1x,
712 url
('../images/gallery/2x/icon_redo_selected.png') 2x);
715 .gallery
> .toolbar button
[disabled
],
716 .gallery[tools][locked] > .toolbar button {
718 pointer-events: none
;
721 .gallery > .toolbar button[hidden] {
725 .gallery[mode='slide'] > .toolbar > button.mode {
726 background-image: -webkit-image-set
(
727 url
('../images/gallery/icon_mosaic.png') 1x,
728 url
('../images/gallery/2x/icon_mosaic.png') 2x);
731 .gallery[mode='slide'] > .toolbar > button.mode:active {
732 background-image: -webkit-image-set
(
733 url
('../images/gallery/icon_mosaic_selected.png') 1x,
734 url
('../images/gallery/2x/icon_mosaic_selected.png') 2x);
737 .gallery[mode='mosaic'] > .toolbar > button.mode {
738 background-image: -webkit-image-set
(
739 url
('../images/gallery/icon_1up.png') 1x,
740 url
('../images/gallery/2x/icon_1up.png') 2x);
743 .gallery[mode='mosaic'] > .toolbar > button.mode:active {
744 background-image: -webkit-image-set
(
745 url
('../images/gallery/icon_1up_selected.png') 1x,
746 url
('../images/gallery/2x/icon_1up_selected.png') 2x);
749 .gallery > .toolbar > button.slideshow {
750 background-image: -webkit-image-set
(
751 url
('../images/gallery/icon_slideshow.png') 1x,
752 url
('../images/gallery/2x/icon_slideshow.png') 2x);
755 .gallery
> .toolbar
> button
.slideshow:active
,
756 .gallery > .toolbar > button.slideshow[pressed] {
757 background-image: -webkit-image-set
(
758 url
('../images/gallery/icon_slideshow_selected.png') 1x,
759 url
('../images/gallery/2x/icon_slideshow_selected.png') 2x);
762 .gallery > .toolbar > button.delete {
763 background-image: -webkit-image-set
(
764 url
('../images/gallery/icon_delete.png') 1x,
765 url
('../images/gallery/2x/icon_delete.png') 2x);
768 .gallery > .toolbar > button.delete:active {
769 background-image: -webkit-image-set
(
770 url
('../images/gallery/icon_delete_selected.png') 1x,
771 url
('../images/gallery/2x/icon_delete_selected.png') 2x);
774 .gallery > .toolbar > button.edit {
775 background-image: -webkit-image-set
(
776 url
('../images/gallery/icon_edit.png') 1x,
777 url
('../images/gallery/2x/icon_edit.png') 2x);
780 .gallery
> .toolbar
> button
.edit:active
,
781 .gallery > .toolbar > button.edit[pressed] {
782 background-image: -webkit-image-set
(
783 url
('../images/gallery/icon_edit_selected.png') 1x,
784 url
('../images/gallery/2x/icon_edit_selected.png') 2x);
787 .gallery > .toolbar > button.print {
788 background-image: -webkit-image-set
(
789 url
('../images/gallery/icon_print.png') 1x,
790 url
('../images/gallery/2x/icon_print.png') 2x);
793 .gallery
> .toolbar
> button
.print:active
,
794 .gallery > .toolbar > button.print[pressed] {
795 background-image: -webkit-image-set
(
796 url
('../images/gallery/icon_print_selected.png') 1x,
797 url
('../images/gallery/2x/icon_print_selected.png') 2x);
800 .gallery > .toolbar > button.share {
801 background-image: -webkit-image-set
(
802 url
('../images/gallery/icon_share.png') 1x,
803 url
('../images/gallery/2x/icon_share.png') 2x);
806 .gallery
> .toolbar
> button
.share:active
,
807 .gallery > .toolbar > button.share[pressed] {
808 background-image: -webkit-image-set
(
809 url
('../images/gallery/icon_share_selected.png') 1x,
810 url
('../images/gallery/2x/icon_share_selected.png') 2x);
813 .gallery > .toolbar > button.share[disabled] {
817 /* Secondary toolbar (mode-specific tools) */
819 .gallery .edit-modal {
820 -webkit-box-orient: horizontal
;
821 -webkit-box-pack: center
;
823 display: -webkit-box
;
825 pointer-events: none
;
830 .gallery .edit-modal-wrapper[hidden] {
834 .gallery .edit-modal-wrapper {
835 -webkit-box-align: center
;
836 -webkit-box-orient: horizontal
;
837 -webkit-box-pack: center
;
838 background-color: rgba
(0, 0, 0, 0.75);
840 display: -webkit-box
;
842 pointer-events: auto
;
845 .gallery .edit-modal .label {
846 -webkit-box-align: center
;
847 -webkit-box-orient: horizontal
;
848 background-position: 20px center
;
849 background-repeat: no-repeat
;
850 display: -webkit-box
;
856 .gallery .edit-modal .label.brightness {
857 background-image: -webkit-image-set
(
858 url
('../images/gallery/icon_brightness.png') 1x,
859 url
('../images/gallery/2x/icon_brightness.png') 2x);
862 .gallery .edit-modal .label.contrast {
863 background-image: -webkit-image-set
(
864 url
('../images/gallery/icon_contrast.png') 1x,
865 url
('../images/gallery/2x/icon_contrast.png') 2x);
870 .gallery .edit-modal .range {
871 -webkit-appearance: none
!important
;
877 .gallery .edit-modal .range::-webkit-slider-thumb {
878 -webkit-appearance: none
;
879 background-image: -webkit-image-set
(
880 url
('../images/gallery/slider_thumb.png') 1x,
881 url
('../images/gallery/2x/slider_thumb.png') 2x);
888 .gallery .crop-overlay {
889 -webkit-box-orient: vertical
;
890 display: -webkit-box
;
891 pointer-events: none
;
895 .gallery .crop-overlay .shadow {
896 background-color: rgba
(0, 0, 0, 0.65);
899 .gallery .crop-overlay .middle-box {
901 -webkit-box-orient: horizontal
;
902 display: -webkit-box
;
905 .gallery .crop-frame {
907 display: -webkit-box
;
911 .gallery .crop-frame div {
912 background-color: rgba
(255, 255, 255, 1);
913 box-shadow: 0 0 3px rgba
(0, 0, 0, 0.75);
917 .gallery .crop-frame .horizontal {
923 .gallery .crop-frame .horizontal.top {
927 .gallery .crop-frame .horizontal.bottom {
931 .gallery .crop-frame .vertical {
937 .gallery .crop-frame .vertical.left {
941 .gallery .crop-frame .vertical.right {
945 .gallery .crop-frame .corner {
951 .gallery .crop-frame .corner.left {
955 .gallery .crop-frame .corner.right {
959 .gallery .crop-frame .corner.top {
963 .gallery .crop-frame .corner.bottom {
967 /* Prompt/notification panel */
969 .gallery .prompt-wrapper {
970 -webkit-box-orient: horizontal
;
971 -webkit-box-pack: center
;
972 display: -webkit-box
;
974 pointer-events: none
;
979 .gallery .prompt-wrapper[pos=top] {
980 -webkit-box-align: start
;
983 .gallery .prompt-wrapper[pos=center] {
984 -webkit-box-align: center
;
987 .gallery .prompt-wrapper[pos=center] .back-button {
991 .gallery .prompt-wrapper > div.dimmable {
993 transition: opacity
220ms ease
;
997 -webkit-box-align: center
;
998 -webkit-box-orient: horizontal
;
999 background-color: rgba
(0, 0, 0, 0.8);
1001 display: -webkit-box
;
1008 transition: all
180ms ease
;
1011 .gallery .prompt[state='fadein'] {
1016 .gallery .prompt[state='fadeout'] {
1021 .gallery .prompt-wrapper[pos=top] .prompt {
1022 padding-right: 10px;
1025 .gallery .prompt .back-button {
1026 background-image: -webkit-image-set
(
1027 url
('../images/gallery/butterbar_close_button.png') 1x,
1028 url
('../images/gallery/2x/butterbar_close_button.png') 2x);
1029 background-position: center center
;
1030 background-repeat: no-repeat
;
1034 pointer-events: auto
;
1038 .gallery .prompt .back-button:hover {
1039 background-color: rgba
(81, 81, 81, 1);
1043 .gallery .share-menu {
1044 -webkit-box-align: stretch
;
1045 -webkit-box-orient: vertical
;
1046 -webkit-box-pack: start
;
1047 background-color: white
;
1048 border: 1px solid
#7f7f7f;
1051 display: -webkit-box
;
1056 transition: opacity
500ms ease-in-out
;
1059 .gallery .share-menu .bubble-point {
1060 background-image: -webkit-image-set
(
1061 url
('../images/gallery/bubble_point.png') 1x,
1062 url
('../images/gallery/2x/bubble_point.png') 2x);
1063 background-position: center top
;
1064 background-repeat: no-repeat
;
1073 .gallery .share-menu[hidden] {
1074 bottom: -100%; /* Offscreen so that 'dimmed' attribute does not show it. */
1076 pointer-events: none
;
1079 .gallery .share-menu > .item {
1080 background-color: rgba
(0, 0, 0, 0);
1081 background-position: 5px center
;
1082 background-repeat: no-repeat
;
1088 .gallery .share-menu > .item:hover {
1089 background-color: rgba
(240, 240, 240, 1);
1092 .gallery .share-menu > div > img {
1097 /* Load spinner and error banner. */
1100 background-image: url
(../images/common/spinner.svg);
1101 background-size: 100%;
1111 .gallery:not([spinner]) .spinner {
1115 .gallery .error-banner {
1116 -webkit-box-align: center
;
1117 -webkit-box-orient: horizontal
;
1118 -webkit-box-pack: center
;
1119 background-color: rgba
(24, 24, 24, 1);
1120 background-image: -webkit-image-set
(
1121 url
('../images/media/error.png') 1x,
1122 url
('../images/media/2x/error.png') 2x);
1123 background-position: 25px center
;
1124 background-repeat: no-repeat
;
1126 display: -webkit-box
;
1129 padding-right: 35px;
1132 .gallery:not([error]) .error-banner {
1136 /* Video playback support. */
1144 .gallery .video-controls-spacer {
1145 -webkit-box-align: center
;
1146 -webkit-box-orient: horizontal
;
1147 -webkit-box-pack: center
;
1148 bottom: 60px; /* Just above the toolbar */
1149 display: -webkit-box
;
1153 pointer-events: none
;
1158 .gallery[video] .video-controls-spacer {
1159 /* Animate opacity on 'tools' attribute toggle. */
1160 /* Change opacity immediately on 'video' attribute change. */
1161 transition: opacity
280ms ease
;
1164 .gallery[video][tools] .video-controls-spacer {
1168 .gallery .video-controls {
1173 .gallery[video] .video-controls {
1174 -webkit-box-flex: 1;
1175 display: -webkit-box
;
1178 .gallery[video] > .toolbar .edit-main {
1184 bottom: 55px; /* Toolbar height. */
1192 /* transition-duration is set in Javascript. */
1193 transition-property: -webkit-transform
;
1194 transition-timing-function: linear
;
1197 .mosaic::-webkit-scrollbar {
1198 background: transparent
;
1201 .mosaic::-webkit-scrollbar-thumb {
1202 background: rgb
(31, 31, 31);
1205 .gallery:not([mode='mosaic']) .mosaic::-webkit-scrollbar-thumb {
1206 background: transparent
;
1211 /* Tile's zoom factor is animated on hover. We apply the transform to
1212 the entire tile so that the image outline is included into the animation. */
1213 transition: -webkit-transform
150ms linear
;
1216 /* Mosaic tile's opacity is controlled by |visible| attribute which changes
1217 separately from .gallery[mode] */
1218 .mosaic:not([visible]) .mosaic-tile .img-border {
1222 /* Animate tile's opacity, except for the selected tile which should show/hide
1223 instantly (this looks better when zooming to/from the slide mode). */
1224 .mosaic-tile:not([selected]) .img-border {
1225 transition: opacity
350ms linear
;
1228 /* Must be in sync with mosaic_mode.js.
1229 Mosaic.Layout.SPACING should be equal to
1230 top + bottom + border-top-width + border-bottom-width AND
1231 left + right + border-left-width + border-right-width */
1232 .mosaic-tile .img-border {
1233 border: 1px solid black
; /* Space between the outline and the image. */
1236 outline: 2px solid transparent
;
1243 /* Selected and hover state are only visible when zoom transition is over. */
1244 .mosaic[visible='normal'] .mosaic-tile[selected] .img-border {
1245 outline-color: rgb
(51, 153, 255);
1248 .mosaic[visible='normal'].hover-visible .mosaic-tile:hover {
1249 -webkit-transform: scale
(1.05);
1253 .mosaic
[visible
='normal'].hover-visible
1254 .mosaic-tile:hover:not([selected]) .img-border {
1255 outline-color: rgb
(182, 212, 252);
1258 .mosaic-tile .img-wrapper {
1266 .mosaic-tile
.img-wrapper
[generic-thumbnail
],
1267 .mosaic-tile
.img-wrapper
.animated:not
([generic-thumbnail
])
1268 canvas:not
(.cached
) {
1269 -webkit-animation: fadeIn ease-in
1;
1270 -webkit-animation-duration: 500ms;
1271 -webkit-animation-fill-mode: forwards
;
1274 @-webkit-keyframes fadeIn
{
1283 /* In order to do mode animated transitions smoothly we keep both mosaic and
1284 image-container but transparent. */
1285 .gallery:not
([mode
='mosaic']) .mosaic
,
1286 .gallery:not([mode='slide']) .image-container {
1287 pointer-events: none
;
1290 .gallery:not
([mode
='slide']) .ribbon
,
1291 .gallery:not([mode='slide']) .arrow-box {
1293 pointer-events: none
;
1296 /* Temporary. Remove this along with the delete confirmation dialog
1297 when Undo delete is implemented. */
1299 background-color: black
;
1302 /* Slideshow controls */
1304 .slideshow-toolbar {
1305 -webkit-box-align: center
;
1306 -webkit-box-orient: horizontal
;
1307 -webkit-box-pack: center
;
1311 padding-bottom: 6px;
1312 pointer-events: none
;
1317 .gallery[tools][slideshow] .slideshow-toolbar {
1318 display: -webkit-box
;
1321 .slideshow-toolbar > div {
1322 background-position: center
;
1323 background-repeat: no-repeat
;
1326 pointer-events: auto
;
1330 .slideshow-toolbar > div:hover {
1334 .slideshow-toolbar > .slideshow-play {
1335 background-image: -webkit-image-set
(
1336 url
('../images/gallery/slideshow-play.png') 1x,
1337 url
('../images/gallery/2x/slideshow-play.png') 2x);
1341 .gallery[slideshow='playing'] .slideshow-toolbar > .slideshow-play {
1342 background-image: -webkit-image-set
(
1343 url
('../images/gallery/slideshow-pause.png') 1x,
1344 url
('../images/gallery/2x/slideshow-pause.png') 2x);
1347 .slideshow-toolbar > .slideshow-end {
1348 background-image: -webkit-image-set
(
1349 url
('../images/gallery/slideshow-end.png') 1x,
1350 url
('../images/gallery/2x/slideshow-end.png') 2x);
1354 .gallery > .header > button {
1355 -webkit-margin-start: 10px;
1362 .gallery > .header > .maximize-button {
1363 background: -webkit-image-set
(
1364 url
('chrome://resources/images/apps/topbar_button_maximize.png') 1x,
1365 url
('chrome://resources/images/2x/apps/topbar_button_maximize.png') 2x)
1369 .gallery > .header > .close-button {
1370 background: -webkit-image-set
(
1371 url
('chrome://resources/images/apps/topbar_button_close.png') 1x,
1372 url
('chrome://resources/images/2x/apps/topbar_button_close.png') 2x)