photoswipe-rails 4.0.8a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,483 @@
1
+ /*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
2
+ /*
3
+
4
+ Contents:
5
+
6
+ 1. Buttons
7
+ 2. Share modal and links
8
+ 3. Index indicator ("1 of X" counter)
9
+ 4. Caption
10
+ 5. Loading indicator
11
+ 6. Additional styles (root element, top bar, idle state, hidden state, etc.)
12
+
13
+ */
14
+ /*
15
+
16
+ 1. Buttons
17
+
18
+ */
19
+ /* <button> css reset */
20
+ .pswp__button {
21
+ width: 44px;
22
+ height: 44px;
23
+ position: relative;
24
+ background: none;
25
+ cursor: pointer;
26
+ overflow: visible;
27
+ -webkit-appearance: none;
28
+ display: block;
29
+ border: 0;
30
+ padding: 0;
31
+ margin: 0;
32
+ float: right;
33
+ opacity: 0.75;
34
+ -webkit-transition: opacity 0.2s;
35
+ transition: opacity 0.2s;
36
+ -webkit-box-shadow: none;
37
+ box-shadow: none; }
38
+ .pswp__button:focus,
39
+ .pswp__button:hover {
40
+ opacity: 1; }
41
+ .pswp__button:active {
42
+ outline: none;
43
+ opacity: 0.9; }
44
+ .pswp__button::-moz-focus-inner {
45
+ padding: 0;
46
+ border: 0; }
47
+
48
+ /* pswp__ui--over-close class it added when mouse is over element that should close gallery */
49
+ .pswp__ui--over-close .pswp__button--close {
50
+ opacity: 1; }
51
+
52
+ .pswp__button,
53
+ .pswp__button--arrow--left:before,
54
+ .pswp__button--arrow--right:before {
55
+ background: image-url("photoswipe/default-skin/default-skin.png") 0 0 no-repeat;
56
+ background-size: 264px 88px;
57
+ width: 44px;
58
+ height: 44px; }
59
+
60
+ @media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
61
+ /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
62
+ .pswp--svg .pswp__button,
63
+ .pswp--svg .pswp__button--arrow--left:before,
64
+ .pswp--svg .pswp__button--arrow--right:before {
65
+ background-image: image-url("photoswipe/default-skin/default-skin.svg"); }
66
+ .pswp--svg .pswp__button--arrow--left,
67
+ .pswp--svg .pswp__button--arrow--right {
68
+ background: none; } }
69
+
70
+ .pswp__button--close {
71
+ background-position: 0 -44px; }
72
+
73
+ .pswp__button--share {
74
+ background-position: -44px -44px; }
75
+
76
+ .pswp__button--fs {
77
+ display: none; }
78
+
79
+ .pswp--supports-fs .pswp__button--fs {
80
+ display: block; }
81
+
82
+ .pswp--fs .pswp__button--fs {
83
+ background-position: -44px 0; }
84
+
85
+ .pswp__button--zoom {
86
+ display: none;
87
+ background-position: -88px 0; }
88
+
89
+ .pswp--zoom-allowed .pswp__button--zoom {
90
+ display: block; }
91
+
92
+ .pswp--zoomed-in .pswp__button--zoom {
93
+ background-position: -132px 0; }
94
+
95
+ /* no arrows on touch screens */
96
+ .pswp--touch .pswp__button--arrow--left,
97
+ .pswp--touch .pswp__button--arrow--right {
98
+ visibility: hidden; }
99
+
100
+ /*
101
+ Arrow buttons hit area
102
+ (icon is added to :before pseudo-element)
103
+ */
104
+ .pswp__button--arrow--left,
105
+ .pswp__button--arrow--right {
106
+ background: none;
107
+ top: 50%;
108
+ margin-top: -50px;
109
+ width: 70px;
110
+ height: 100px;
111
+ position: absolute; }
112
+
113
+ .pswp__button--arrow--left {
114
+ left: 0; }
115
+
116
+ .pswp__button--arrow--right {
117
+ right: 0; }
118
+
119
+ .pswp__button--arrow--left:before,
120
+ .pswp__button--arrow--right:before {
121
+ content: '';
122
+ top: 35px;
123
+ background-color: rgba(0, 0, 0, 0.3);
124
+ height: 30px;
125
+ width: 32px;
126
+ position: absolute; }
127
+
128
+ .pswp__button--arrow--left:before {
129
+ left: 6px;
130
+ background-position: -138px -44px; }
131
+
132
+ .pswp__button--arrow--right:before {
133
+ right: 6px;
134
+ background-position: -94px -44px; }
135
+
136
+ /*
137
+
138
+ 2. Share modal/popup and links
139
+
140
+ */
141
+ .pswp__counter,
142
+ .pswp__share-modal {
143
+ -webkit-user-select: none;
144
+ -moz-user-select: none;
145
+ -ms-user-select: none;
146
+ user-select: none; }
147
+
148
+ .pswp__share-modal {
149
+ display: block;
150
+ background: rgba(0, 0, 0, 0.5);
151
+ width: 100%;
152
+ height: 100%;
153
+ top: 0;
154
+ left: 0;
155
+ padding: 10px;
156
+ position: absolute;
157
+ z-index: 1600;
158
+ opacity: 0;
159
+ -webkit-transition: opacity 0.25s ease-out;
160
+ transition: opacity 0.25s ease-out;
161
+ -webkit-backface-visibility: hidden;
162
+ will-change: opacity; }
163
+
164
+ .pswp__share-modal--hidden {
165
+ display: none; }
166
+
167
+ .pswp__share-tooltip {
168
+ z-index: 1620;
169
+ position: absolute;
170
+ background: #FFF;
171
+ top: 56px;
172
+ border-radius: 2px;
173
+ display: block;
174
+ width: auto;
175
+ right: 44px;
176
+ -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
177
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
178
+ -webkit-transform: translateY(6px);
179
+ -ms-transform: translateY(6px);
180
+ transform: translateY(6px);
181
+ -webkit-transition: -webkit-transform 0.25s;
182
+ transition: transform 0.25s;
183
+ -webkit-backface-visibility: hidden;
184
+ will-change: transform; }
185
+ .pswp__share-tooltip a {
186
+ display: block;
187
+ padding: 8px 12px;
188
+ color: #000;
189
+ text-decoration: none;
190
+ font-size: 14px;
191
+ line-height: 18px; }
192
+ .pswp__share-tooltip a:hover {
193
+ text-decoration: none;
194
+ color: #000; }
195
+ .pswp__share-tooltip a:first-child {
196
+ /* round corners on the first/last list item */
197
+ border-radius: 2px 2px 0 0; }
198
+ .pswp__share-tooltip a:last-child {
199
+ border-radius: 0 0 2px 2px; }
200
+
201
+ .pswp__share-modal--fade-in {
202
+ opacity: 1; }
203
+ .pswp__share-modal--fade-in .pswp__share-tooltip {
204
+ -webkit-transform: translateY(0);
205
+ -ms-transform: translateY(0);
206
+ transform: translateY(0); }
207
+
208
+ /* increase size of share links on touch devices */
209
+ .pswp--touch .pswp__share-tooltip a {
210
+ padding: 16px 12px; }
211
+
212
+ a.pswp__share--facebook:before {
213
+ content: '';
214
+ display: block;
215
+ width: 0;
216
+ height: 0;
217
+ position: absolute;
218
+ top: -12px;
219
+ right: 15px;
220
+ border: 6px solid transparent;
221
+ border-bottom-color: #FFF;
222
+ -webkit-pointer-events: none;
223
+ -moz-pointer-events: none;
224
+ pointer-events: none; }
225
+
226
+ a.pswp__share--facebook:hover {
227
+ background: #3E5C9A;
228
+ color: #FFF; }
229
+ a.pswp__share--facebook:hover:before {
230
+ border-bottom-color: #3E5C9A; }
231
+
232
+ a.pswp__share--twitter:hover {
233
+ background: #55ACEE;
234
+ color: #FFF; }
235
+
236
+ a.pswp__share--pinterest:hover {
237
+ background: #CCC;
238
+ color: #CE272D; }
239
+
240
+ a.pswp__share--download:hover {
241
+ background: #DDD; }
242
+
243
+ /*
244
+
245
+ 3. Index indicator ("1 of X" counter)
246
+
247
+ */
248
+ .pswp__counter {
249
+ position: absolute;
250
+ left: 0;
251
+ top: 0;
252
+ height: 44px;
253
+ font-size: 13px;
254
+ line-height: 44px;
255
+ color: #FFF;
256
+ opacity: 0.75;
257
+ padding: 0 10px; }
258
+
259
+ /*
260
+
261
+ 4. Caption
262
+
263
+ */
264
+ .pswp__caption {
265
+ position: absolute;
266
+ left: 0;
267
+ bottom: 0;
268
+ width: 100%;
269
+ min-height: 44px; }
270
+ .pswp__caption small {
271
+ font-size: 11px;
272
+ color: #BBB; }
273
+
274
+ .pswp__caption__center {
275
+ text-align: left;
276
+ max-width: 420px;
277
+ margin: 0 auto;
278
+ font-size: 13px;
279
+ padding: 10px;
280
+ line-height: 20px;
281
+ color: #CCC; }
282
+
283
+ .pswp__caption--empty {
284
+ display: none; }
285
+
286
+ /* Fake caption element, used to calculate height of next/prev image */
287
+ .pswp__caption--fake {
288
+ visibility: hidden; }
289
+
290
+ /*
291
+
292
+ 5. Loading indicator (preloader)
293
+
294
+ You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR
295
+
296
+ */
297
+ .pswp__preloader {
298
+ width: 44px;
299
+ height: 44px;
300
+ position: absolute;
301
+ top: 0;
302
+ left: 50%;
303
+ margin-left: -22px;
304
+ opacity: 0;
305
+ -webkit-transition: opacity 0.25s ease-out;
306
+ transition: opacity 0.25s ease-out;
307
+ will-change: opacity;
308
+ direction: ltr; }
309
+
310
+ .pswp__preloader__icn {
311
+ width: 20px;
312
+ height: 20px;
313
+ margin: 12px; }
314
+
315
+ .pswp__preloader--active {
316
+ opacity: 1; }
317
+ .pswp__preloader--active .pswp__preloader__icn {
318
+ /* We use .gif in browsers that don't support CSS animation */
319
+ background: image-url("photoswipe/default-skin/preloader.gif") 0 0 no-repeat; }
320
+
321
+ .pswp--css_animation .pswp__preloader--active {
322
+ opacity: 1; }
323
+ .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
324
+ -webkit-animation: clockwise 500ms linear infinite;
325
+ animation: clockwise 500ms linear infinite; }
326
+ .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
327
+ -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
328
+ animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }
329
+
330
+ .pswp--css_animation .pswp__preloader__icn {
331
+ background: none;
332
+ opacity: 0.75;
333
+ width: 14px;
334
+ height: 14px;
335
+ position: absolute;
336
+ left: 15px;
337
+ top: 15px;
338
+ margin: 0; }
339
+
340
+ .pswp--css_animation .pswp__preloader__cut {
341
+ /*
342
+ The idea of animating inner circle is based on Polymer ("material") loading indicator
343
+ by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
344
+ */
345
+ position: relative;
346
+ width: 7px;
347
+ height: 14px;
348
+ overflow: hidden; }
349
+
350
+ .pswp--css_animation .pswp__preloader__donut {
351
+ -webkit-box-sizing: border-box;
352
+ box-sizing: border-box;
353
+ width: 14px;
354
+ height: 14px;
355
+ border: 2px solid #FFF;
356
+ border-radius: 50%;
357
+ border-left-color: transparent;
358
+ border-bottom-color: transparent;
359
+ position: absolute;
360
+ top: 0;
361
+ left: 0;
362
+ background: none;
363
+ margin: 0; }
364
+
365
+ @media screen and (max-width: 1024px) {
366
+ .pswp__preloader {
367
+ position: relative;
368
+ left: auto;
369
+ top: auto;
370
+ margin: 0;
371
+ float: right; } }
372
+
373
+ @-webkit-keyframes clockwise {
374
+ 0% {
375
+ -webkit-transform: rotate(0deg);
376
+ transform: rotate(0deg); }
377
+ 100% {
378
+ -webkit-transform: rotate(360deg);
379
+ transform: rotate(360deg); } }
380
+
381
+ @keyframes clockwise {
382
+ 0% {
383
+ -webkit-transform: rotate(0deg);
384
+ transform: rotate(0deg); }
385
+ 100% {
386
+ -webkit-transform: rotate(360deg);
387
+ transform: rotate(360deg); } }
388
+
389
+ @-webkit-keyframes donut-rotate {
390
+ 0% {
391
+ -webkit-transform: rotate(0);
392
+ transform: rotate(0); }
393
+ 50% {
394
+ -webkit-transform: rotate(-140deg);
395
+ transform: rotate(-140deg); }
396
+ 100% {
397
+ -webkit-transform: rotate(0);
398
+ transform: rotate(0); } }
399
+
400
+ @keyframes donut-rotate {
401
+ 0% {
402
+ -webkit-transform: rotate(0);
403
+ transform: rotate(0); }
404
+ 50% {
405
+ -webkit-transform: rotate(-140deg);
406
+ transform: rotate(-140deg); }
407
+ 100% {
408
+ -webkit-transform: rotate(0);
409
+ transform: rotate(0); } }
410
+
411
+ /*
412
+
413
+ 6. Additional styles
414
+
415
+ */
416
+ /* root element of UI */
417
+ .pswp__ui {
418
+ -webkit-font-smoothing: auto;
419
+ visibility: visible;
420
+ opacity: 1;
421
+ z-index: 1550; }
422
+
423
+ /* top black bar with buttons and "1 of X" indicator */
424
+ .pswp__top-bar {
425
+ position: absolute;
426
+ left: 0;
427
+ top: 0;
428
+ height: 44px;
429
+ width: 100%; }
430
+
431
+ .pswp__caption,
432
+ .pswp__top-bar,
433
+ .pswp--has_mouse .pswp__button--arrow--left,
434
+ .pswp--has_mouse .pswp__button--arrow--right {
435
+ -webkit-backface-visibility: hidden;
436
+ will-change: opacity;
437
+ -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
438
+ transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
439
+
440
+ /* pswp--has_mouse class is added only when two subsequent mousemove events occur */
441
+ .pswp--has_mouse .pswp__button--arrow--left,
442
+ .pswp--has_mouse .pswp__button--arrow--right {
443
+ visibility: visible; }
444
+
445
+ .pswp__top-bar,
446
+ .pswp__caption {
447
+ background-color: rgba(0, 0, 0, 0.5); }
448
+
449
+ /* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
450
+ .pswp__ui--fit .pswp__top-bar,
451
+ .pswp__ui--fit .pswp__caption {
452
+ background-color: rgba(0, 0, 0, 0.3); }
453
+
454
+ /* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
455
+ .pswp__ui--idle .pswp__top-bar {
456
+ opacity: 0; }
457
+
458
+ .pswp__ui--idle .pswp__button--arrow--left,
459
+ .pswp__ui--idle .pswp__button--arrow--right {
460
+ opacity: 0; }
461
+
462
+ /*
463
+ pswp__ui--hidden class is added when controls are hidden
464
+ e.g. when user taps to toggle visibility of controls
465
+ */
466
+ .pswp__ui--hidden .pswp__top-bar,
467
+ .pswp__ui--hidden .pswp__caption,
468
+ .pswp__ui--hidden .pswp__button--arrow--left,
469
+ .pswp__ui--hidden .pswp__button--arrow--right {
470
+ /* Force paint & create composition layer for controls. */
471
+ opacity: 0.001; }
472
+
473
+ /* pswp__ui--one-slide class is added when there is just one item in gallery */
474
+ .pswp__ui--one-slide .pswp__button--arrow--left,
475
+ .pswp__ui--one-slide .pswp__button--arrow--right,
476
+ .pswp__ui--one-slide .pswp__counter {
477
+ display: none; }
478
+
479
+ .pswp__element--disabled {
480
+ display: none !important; }
481
+
482
+ .pswp--minimal--dark .pswp__top-bar {
483
+ background: none; }