Version Description
- Date Updated : 2022-03-31
- New : Added new gallery template : Carousel
- Fix : Fixed bug with captions showing alternatives when using paging
- Fix : Fixed conflict with image lazy loading in Safari 15.4, by adding loading=eager
- Update : FooGallery client side 2.0.30
Download this release
Release Info
Developer | bradvin |
Plugin | FooGallery – Image Gallery WordPress Plugin |
Version | 2.2.6 |
Comparing to | |
See all releases |
Code changes from version 2.1.34 to 2.2.6
- LICENSE.txt +338 -338
- README.txt +1031 -1015
- changelog.txt +3 -3
- css/admin-foogallery-gallery-piles.css +92 -92
- css/admin-foogallery.css +679 -679
- css/admin-page-foogallery-extensions.css +269 -269
- css/admin-page-foogallery-help.css +564 -564
- css/admin-page-foogallery-settings.css +44 -44
- css/admin-tinymce.css +114 -114
- css/foogallery-foovideo-overrides.css +95 -95
- css/foogallery.admin.datasources.css +122 -122
- extensions/albums/admin/class-columns.php +73 -73
- extensions/albums/admin/class-metaboxes.php +577 -577
- extensions/albums/album-default.php +84 -84
- extensions/albums/album-stack.php +86 -86
- extensions/albums/class-albums-extension.php +175 -175
- extensions/albums/class-foogallery-album.php +256 -256
- extensions/albums/class-posttypes.php +108 -108
- extensions/albums/css/admin-foogallery-album.css +272 -272
- extensions/albums/css/album-default.css +102 -102
- extensions/albums/css/album-stack.css +289 -289
- extensions/albums/functions.php +390 -390
- extensions/albums/js/admin-foogallery-album.js +148 -148
- extensions/albums/js/album-stack.js +869 -869
- extensions/albums/public/class-foogallery-album-template-loader.php +184 -184
- extensions/albums/public/class-rewrite-rules.php +46 -46
- extensions/albums/public/class-shortcodes.php +44 -44
- extensions/default-templates/carousel/class-carousel-gallery-template.php +339 -0
- extensions/default-templates/carousel/gallery-carousel.php +26 -0
- extensions/default-templates/class-default-templates-extension.php +13 -13
- extensions/default-templates/class-default-templates.php +54 -53
- extensions/default-templates/default/class-default-gallery-template.php +239 -239
- extensions/default-templates/default/gallery-default.php +19 -19
- extensions/default-templates/default/js/admin-gallery-default.js +88 -88
- extensions/default-templates/functions.php +49 -49
- extensions/default-templates/image-viewer/class-image-viewer-gallery-template.php +311 -311
- extensions/default-templates/image-viewer/gallery-image-viewer.php +38 -38
- extensions/default-templates/image-viewer/js/admin-gallery-image-viewer.js +122 -122
- extensions/default-templates/justified/class-justified-gallery-template.php +352 -352
- extensions/default-templates/justified/gallery-justified.php +15 -15
- extensions/default-templates/masonry/class-masonry-gallery-template.php +406 -406
- extensions/default-templates/masonry/gallery-masonry.php +25 -25
- extensions/default-templates/masonry/js/admin-gallery-masonry.js +29 -29
- extensions/default-templates/shared/css/admin-foogallery.css +86 -86
- extensions/default-templates/shared/css/foogallery.css +3641 -3478
- extensions/default-templates/shared/css/foogallery.min.css +1 -1
LICENSE.txt
CHANGED
@@ -1,339 +1,339 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 2, June 1991
|
3 |
-
|
4 |
-
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
5 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
-
Everyone is permitted to copy and distribute verbatim copies
|
7 |
-
of this license document, but changing it is not allowed.
|
8 |
-
|
9 |
-
Preamble
|
10 |
-
|
11 |
-
The licenses for most software are designed to take away your
|
12 |
-
freedom to share and change it. By contrast, the GNU General Public
|
13 |
-
License is intended to guarantee your freedom to share and change free
|
14 |
-
software--to make sure the software is free for all its users. This
|
15 |
-
General Public License applies to most of the Free Software
|
16 |
-
Foundation's software and to any other program whose authors commit to
|
17 |
-
using it. (Some other Free Software Foundation software is covered by
|
18 |
-
the GNU Lesser General Public License instead.) You can apply it to
|
19 |
-
your programs, too.
|
20 |
-
|
21 |
-
When we speak of free software, we are referring to freedom, not
|
22 |
-
price. Our General Public Licenses are designed to make sure that you
|
23 |
-
have the freedom to distribute copies of free software (and charge for
|
24 |
-
this service if you wish), that you receive source code or can get it
|
25 |
-
if you want it, that you can change the software or use pieces of it
|
26 |
-
in new free programs; and that you know you can do these things.
|
27 |
-
|
28 |
-
To protect your rights, we need to make restrictions that forbid
|
29 |
-
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
-
These restrictions translate to certain responsibilities for you if you
|
31 |
-
distribute copies of the software, or if you modify it.
|
32 |
-
|
33 |
-
For example, if you distribute copies of such a program, whether
|
34 |
-
gratis or for a fee, you must give the recipients all the rights that
|
35 |
-
you have. You must make sure that they, too, receive or can get the
|
36 |
-
source code. And you must show them these terms so they know their
|
37 |
-
rights.
|
38 |
-
|
39 |
-
We protect your rights with two steps: (1) copyright the software, and
|
40 |
-
(2) offer you this license which gives you legal permission to copy,
|
41 |
-
distribute and/or modify the software.
|
42 |
-
|
43 |
-
Also, for each author's protection and ours, we want to make certain
|
44 |
-
that everyone understands that there is no warranty for this free
|
45 |
-
software. If the software is modified by someone else and passed on, we
|
46 |
-
want its recipients to know that what they have is not the original, so
|
47 |
-
that any problems introduced by others will not reflect on the original
|
48 |
-
authors' reputations.
|
49 |
-
|
50 |
-
Finally, any free program is threatened constantly by software
|
51 |
-
patents. We wish to avoid the danger that redistributors of a free
|
52 |
-
program will individually obtain patent licenses, in effect making the
|
53 |
-
program proprietary. To prevent this, we have made it clear that any
|
54 |
-
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
-
|
56 |
-
The precise terms and conditions for copying, distribution and
|
57 |
-
modification follow.
|
58 |
-
|
59 |
-
GNU GENERAL PUBLIC LICENSE
|
60 |
-
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
-
|
62 |
-
0. This License applies to any program or other work which contains
|
63 |
-
a notice placed by the copyright holder saying it may be distributed
|
64 |
-
under the terms of this General Public License. The "Program", below,
|
65 |
-
refers to any such program or work, and a "work based on the Program"
|
66 |
-
means either the Program or any derivative work under copyright law:
|
67 |
-
that is to say, a work containing the Program or a portion of it,
|
68 |
-
either verbatim or with modifications and/or translated into another
|
69 |
-
language. (Hereinafter, translation is included without limitation in
|
70 |
-
the term "modification".) Each licensee is addressed as "you".
|
71 |
-
|
72 |
-
Activities other than copying, distribution and modification are not
|
73 |
-
covered by this License; they are outside its scope. The act of
|
74 |
-
running the Program is not restricted, and the output from the Program
|
75 |
-
is covered only if its contents constitute a work based on the
|
76 |
-
Program (independent of having been made by running the Program).
|
77 |
-
Whether that is true depends on what the Program does.
|
78 |
-
|
79 |
-
1. You may copy and distribute verbatim copies of the Program's
|
80 |
-
source code as you receive it, in any medium, provided that you
|
81 |
-
conspicuously and appropriately publish on each copy an appropriate
|
82 |
-
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
-
notices that refer to this License and to the absence of any warranty;
|
84 |
-
and give any other recipients of the Program a copy of this License
|
85 |
-
along with the Program.
|
86 |
-
|
87 |
-
You may charge a fee for the physical act of transferring a copy, and
|
88 |
-
you may at your option offer warranty protection in exchange for a fee.
|
89 |
-
|
90 |
-
2. You may modify your copy or copies of the Program or any portion
|
91 |
-
of it, thus forming a work based on the Program, and copy and
|
92 |
-
distribute such modifications or work under the terms of Section 1
|
93 |
-
above, provided that you also meet all of these conditions:
|
94 |
-
|
95 |
-
a) You must cause the modified files to carry prominent notices
|
96 |
-
stating that you changed the files and the date of any change.
|
97 |
-
|
98 |
-
b) You must cause any work that you distribute or publish, that in
|
99 |
-
whole or in part contains or is derived from the Program or any
|
100 |
-
part thereof, to be licensed as a whole at no charge to all third
|
101 |
-
parties under the terms of this License.
|
102 |
-
|
103 |
-
c) If the modified program normally reads commands interactively
|
104 |
-
when run, you must cause it, when started running for such
|
105 |
-
interactive use in the most ordinary way, to print or display an
|
106 |
-
announcement including an appropriate copyright notice and a
|
107 |
-
notice that there is no warranty (or else, saying that you provide
|
108 |
-
a warranty) and that users may redistribute the program under
|
109 |
-
these conditions, and telling the user how to view a copy of this
|
110 |
-
License. (Exception: if the Program itself is interactive but
|
111 |
-
does not normally print such an announcement, your work based on
|
112 |
-
the Program is not required to print an announcement.)
|
113 |
-
|
114 |
-
These requirements apply to the modified work as a whole. If
|
115 |
-
identifiable sections of that work are not derived from the Program,
|
116 |
-
and can be reasonably considered independent and separate works in
|
117 |
-
themselves, then this License, and its terms, do not apply to those
|
118 |
-
sections when you distribute them as separate works. But when you
|
119 |
-
distribute the same sections as part of a whole which is a work based
|
120 |
-
on the Program, the distribution of the whole must be on the terms of
|
121 |
-
this License, whose permissions for other licensees extend to the
|
122 |
-
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
-
|
124 |
-
Thus, it is not the intent of this section to claim rights or contest
|
125 |
-
your rights to work written entirely by you; rather, the intent is to
|
126 |
-
exercise the right to control the distribution of derivative or
|
127 |
-
collective works based on the Program.
|
128 |
-
|
129 |
-
In addition, mere aggregation of another work not based on the Program
|
130 |
-
with the Program (or with a work based on the Program) on a volume of
|
131 |
-
a storage or distribution medium does not bring the other work under
|
132 |
-
the scope of this License.
|
133 |
-
|
134 |
-
3. You may copy and distribute the Program (or a work based on it,
|
135 |
-
under Section 2) in object code or executable form under the terms of
|
136 |
-
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
-
|
138 |
-
a) Accompany it with the complete corresponding machine-readable
|
139 |
-
source code, which must be distributed under the terms of Sections
|
140 |
-
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
-
|
142 |
-
b) Accompany it with a written offer, valid for at least three
|
143 |
-
years, to give any third party, for a charge no more than your
|
144 |
-
cost of physically performing source distribution, a complete
|
145 |
-
machine-readable copy of the corresponding source code, to be
|
146 |
-
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
-
customarily used for software interchange; or,
|
148 |
-
|
149 |
-
c) Accompany it with the information you received as to the offer
|
150 |
-
to distribute corresponding source code. (This alternative is
|
151 |
-
allowed only for noncommercial distribution and only if you
|
152 |
-
received the program in object code or executable form with such
|
153 |
-
an offer, in accord with Subsection b above.)
|
154 |
-
|
155 |
-
The source code for a work means the preferred form of the work for
|
156 |
-
making modifications to it. For an executable work, complete source
|
157 |
-
code means all the source code for all modules it contains, plus any
|
158 |
-
associated interface definition files, plus the scripts used to
|
159 |
-
control compilation and installation of the executable. However, as a
|
160 |
-
special exception, the source code distributed need not include
|
161 |
-
anything that is normally distributed (in either source or binary
|
162 |
-
form) with the major components (compiler, kernel, and so on) of the
|
163 |
-
operating system on which the executable runs, unless that component
|
164 |
-
itself accompanies the executable.
|
165 |
-
|
166 |
-
If distribution of executable or object code is made by offering
|
167 |
-
access to copy from a designated place, then offering equivalent
|
168 |
-
access to copy the source code from the same place counts as
|
169 |
-
distribution of the source code, even though third parties are not
|
170 |
-
compelled to copy the source along with the object code.
|
171 |
-
|
172 |
-
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
-
except as expressly provided under this License. Any attempt
|
174 |
-
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
-
void, and will automatically terminate your rights under this License.
|
176 |
-
However, parties who have received copies, or rights, from you under
|
177 |
-
this License will not have their licenses terminated so long as such
|
178 |
-
parties remain in full compliance.
|
179 |
-
|
180 |
-
5. You are not required to accept this License, since you have not
|
181 |
-
signed it. However, nothing else grants you permission to modify or
|
182 |
-
distribute the Program or its derivative works. These actions are
|
183 |
-
prohibited by law if you do not accept this License. Therefore, by
|
184 |
-
modifying or distributing the Program (or any work based on the
|
185 |
-
Program), you indicate your acceptance of this License to do so, and
|
186 |
-
all its terms and conditions for copying, distributing or modifying
|
187 |
-
the Program or works based on it.
|
188 |
-
|
189 |
-
6. Each time you redistribute the Program (or any work based on the
|
190 |
-
Program), the recipient automatically receives a license from the
|
191 |
-
original licensor to copy, distribute or modify the Program subject to
|
192 |
-
these terms and conditions. You may not impose any further
|
193 |
-
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
-
You are not responsible for enforcing compliance by third parties to
|
195 |
-
this License.
|
196 |
-
|
197 |
-
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
-
infringement or for any other reason (not limited to patent issues),
|
199 |
-
conditions are imposed on you (whether by court order, agreement or
|
200 |
-
otherwise) that contradict the conditions of this License, they do not
|
201 |
-
excuse you from the conditions of this License. If you cannot
|
202 |
-
distribute so as to satisfy simultaneously your obligations under this
|
203 |
-
License and any other pertinent obligations, then as a consequence you
|
204 |
-
may not distribute the Program at all. For example, if a patent
|
205 |
-
license would not permit royalty-free redistribution of the Program by
|
206 |
-
all those who receive copies directly or indirectly through you, then
|
207 |
-
the only way you could satisfy both it and this License would be to
|
208 |
-
refrain entirely from distribution of the Program.
|
209 |
-
|
210 |
-
If any portion of this section is held invalid or unenforceable under
|
211 |
-
any particular circumstance, the balance of the section is intended to
|
212 |
-
apply and the section as a whole is intended to apply in other
|
213 |
-
circumstances.
|
214 |
-
|
215 |
-
It is not the purpose of this section to induce you to infringe any
|
216 |
-
patents or other property right claims or to contest validity of any
|
217 |
-
such claims; this section has the sole purpose of protecting the
|
218 |
-
integrity of the free software distribution system, which is
|
219 |
-
implemented by public license practices. Many people have made
|
220 |
-
generous contributions to the wide range of software distributed
|
221 |
-
through that system in reliance on consistent application of that
|
222 |
-
system; it is up to the author/donor to decide if he or she is willing
|
223 |
-
to distribute software through any other system and a licensee cannot
|
224 |
-
impose that choice.
|
225 |
-
|
226 |
-
This section is intended to make thoroughly clear what is believed to
|
227 |
-
be a consequence of the rest of this License.
|
228 |
-
|
229 |
-
8. If the distribution and/or use of the Program is restricted in
|
230 |
-
certain countries either by patents or by copyrighted interfaces, the
|
231 |
-
original copyright holder who places the Program under this License
|
232 |
-
may add an explicit geographical distribution limitation excluding
|
233 |
-
those countries, so that distribution is permitted only in or among
|
234 |
-
countries not thus excluded. In such case, this License incorporates
|
235 |
-
the limitation as if written in the body of this License.
|
236 |
-
|
237 |
-
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
-
of the General Public License from time to time. Such new versions will
|
239 |
-
be similar in spirit to the present version, but may differ in detail to
|
240 |
-
address new problems or concerns.
|
241 |
-
|
242 |
-
Each version is given a distinguishing version number. If the Program
|
243 |
-
specifies a version number of this License which applies to it and "any
|
244 |
-
later version", you have the option of following the terms and conditions
|
245 |
-
either of that version or of any later version published by the Free
|
246 |
-
Software Foundation. If the Program does not specify a version number of
|
247 |
-
this License, you may choose any version ever published by the Free Software
|
248 |
-
Foundation.
|
249 |
-
|
250 |
-
10. If you wish to incorporate parts of the Program into other free
|
251 |
-
programs whose distribution conditions are different, write to the author
|
252 |
-
to ask for permission. For software which is copyrighted by the Free
|
253 |
-
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
-
make exceptions for this. Our decision will be guided by the two goals
|
255 |
-
of preserving the free status of all derivatives of our free software and
|
256 |
-
of promoting the sharing and reuse of software generally.
|
257 |
-
|
258 |
-
NO WARRANTY
|
259 |
-
|
260 |
-
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
-
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
-
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
-
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
-
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
-
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
-
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
-
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
-
REPAIR OR CORRECTION.
|
269 |
-
|
270 |
-
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
-
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
-
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
-
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
-
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
-
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
-
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
-
POSSIBILITY OF SUCH DAMAGES.
|
279 |
-
|
280 |
-
END OF TERMS AND CONDITIONS
|
281 |
-
|
282 |
-
How to Apply These Terms to Your New Programs
|
283 |
-
|
284 |
-
If you develop a new program, and you want it to be of the greatest
|
285 |
-
possible use to the public, the best way to achieve this is to make it
|
286 |
-
free software which everyone can redistribute and change under these terms.
|
287 |
-
|
288 |
-
To do so, attach the following notices to the program. It is safest
|
289 |
-
to attach them to the start of each source file to most effectively
|
290 |
-
convey the exclusion of warranty; and each file should have at least
|
291 |
-
the "copyright" line and a pointer to where the full notice is found.
|
292 |
-
|
293 |
-
<one line to give the program's name and a brief idea of what it does.>
|
294 |
-
Copyright (C) <year> <name of author>
|
295 |
-
|
296 |
-
This program is free software; you can redistribute it and/or modify
|
297 |
-
it under the terms of the GNU General Public License as published by
|
298 |
-
the Free Software Foundation; either version 2 of the License, or
|
299 |
-
(at your option) any later version.
|
300 |
-
|
301 |
-
This program is distributed in the hope that it will be useful,
|
302 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
303 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
304 |
-
GNU General Public License for more details.
|
305 |
-
|
306 |
-
You should have received a copy of the GNU General Public License along
|
307 |
-
with this program; if not, write to the Free Software Foundation, Inc.,
|
308 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
309 |
-
|
310 |
-
Also add information on how to contact you by electronic and paper mail.
|
311 |
-
|
312 |
-
If the program is interactive, make it output a short notice like this
|
313 |
-
when it starts in an interactive mode:
|
314 |
-
|
315 |
-
Gnomovision version 69, Copyright (C) year name of author
|
316 |
-
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
317 |
-
This is free software, and you are welcome to redistribute it
|
318 |
-
under certain conditions; type `show c' for details.
|
319 |
-
|
320 |
-
The hypothetical commands `show w' and `show c' should show the appropriate
|
321 |
-
parts of the General Public License. Of course, the commands you use may
|
322 |
-
be called something other than `show w' and `show c'; they could even be
|
323 |
-
mouse-clicks or menu items--whatever suits your program.
|
324 |
-
|
325 |
-
You should also get your employer (if you work as a programmer) or your
|
326 |
-
school, if any, to sign a "copyright disclaimer" for the program, if
|
327 |
-
necessary. Here is a sample; alter the names:
|
328 |
-
|
329 |
-
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
330 |
-
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
331 |
-
|
332 |
-
<signature of Ty Coon>, 1 April 1989
|
333 |
-
Ty Coon, President of Vice
|
334 |
-
|
335 |
-
This General Public License does not permit incorporating your program into
|
336 |
-
proprietary programs. If your program is a subroutine library, you may
|
337 |
-
consider it more useful to permit linking proprietary applications with the
|
338 |
-
library. If this is what you want to do, use the GNU Lesser General
|
339 |
Public License instead of this License.
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 2, June 1991
|
3 |
+
|
4 |
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
5 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
+
Everyone is permitted to copy and distribute verbatim copies
|
7 |
+
of this license document, but changing it is not allowed.
|
8 |
+
|
9 |
+
Preamble
|
10 |
+
|
11 |
+
The licenses for most software are designed to take away your
|
12 |
+
freedom to share and change it. By contrast, the GNU General Public
|
13 |
+
License is intended to guarantee your freedom to share and change free
|
14 |
+
software--to make sure the software is free for all its users. This
|
15 |
+
General Public License applies to most of the Free Software
|
16 |
+
Foundation's software and to any other program whose authors commit to
|
17 |
+
using it. (Some other Free Software Foundation software is covered by
|
18 |
+
the GNU Lesser General Public License instead.) You can apply it to
|
19 |
+
your programs, too.
|
20 |
+
|
21 |
+
When we speak of free software, we are referring to freedom, not
|
22 |
+
price. Our General Public Licenses are designed to make sure that you
|
23 |
+
have the freedom to distribute copies of free software (and charge for
|
24 |
+
this service if you wish), that you receive source code or can get it
|
25 |
+
if you want it, that you can change the software or use pieces of it
|
26 |
+
in new free programs; and that you know you can do these things.
|
27 |
+
|
28 |
+
To protect your rights, we need to make restrictions that forbid
|
29 |
+
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
+
These restrictions translate to certain responsibilities for you if you
|
31 |
+
distribute copies of the software, or if you modify it.
|
32 |
+
|
33 |
+
For example, if you distribute copies of such a program, whether
|
34 |
+
gratis or for a fee, you must give the recipients all the rights that
|
35 |
+
you have. You must make sure that they, too, receive or can get the
|
36 |
+
source code. And you must show them these terms so they know their
|
37 |
+
rights.
|
38 |
+
|
39 |
+
We protect your rights with two steps: (1) copyright the software, and
|
40 |
+
(2) offer you this license which gives you legal permission to copy,
|
41 |
+
distribute and/or modify the software.
|
42 |
+
|
43 |
+
Also, for each author's protection and ours, we want to make certain
|
44 |
+
that everyone understands that there is no warranty for this free
|
45 |
+
software. If the software is modified by someone else and passed on, we
|
46 |
+
want its recipients to know that what they have is not the original, so
|
47 |
+
that any problems introduced by others will not reflect on the original
|
48 |
+
authors' reputations.
|
49 |
+
|
50 |
+
Finally, any free program is threatened constantly by software
|
51 |
+
patents. We wish to avoid the danger that redistributors of a free
|
52 |
+
program will individually obtain patent licenses, in effect making the
|
53 |
+
program proprietary. To prevent this, we have made it clear that any
|
54 |
+
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
+
|
56 |
+
The precise terms and conditions for copying, distribution and
|
57 |
+
modification follow.
|
58 |
+
|
59 |
+
GNU GENERAL PUBLIC LICENSE
|
60 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
+
|
62 |
+
0. This License applies to any program or other work which contains
|
63 |
+
a notice placed by the copyright holder saying it may be distributed
|
64 |
+
under the terms of this General Public License. The "Program", below,
|
65 |
+
refers to any such program or work, and a "work based on the Program"
|
66 |
+
means either the Program or any derivative work under copyright law:
|
67 |
+
that is to say, a work containing the Program or a portion of it,
|
68 |
+
either verbatim or with modifications and/or translated into another
|
69 |
+
language. (Hereinafter, translation is included without limitation in
|
70 |
+
the term "modification".) Each licensee is addressed as "you".
|
71 |
+
|
72 |
+
Activities other than copying, distribution and modification are not
|
73 |
+
covered by this License; they are outside its scope. The act of
|
74 |
+
running the Program is not restricted, and the output from the Program
|
75 |
+
is covered only if its contents constitute a work based on the
|
76 |
+
Program (independent of having been made by running the Program).
|
77 |
+
Whether that is true depends on what the Program does.
|
78 |
+
|
79 |
+
1. You may copy and distribute verbatim copies of the Program's
|
80 |
+
source code as you receive it, in any medium, provided that you
|
81 |
+
conspicuously and appropriately publish on each copy an appropriate
|
82 |
+
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
+
notices that refer to this License and to the absence of any warranty;
|
84 |
+
and give any other recipients of the Program a copy of this License
|
85 |
+
along with the Program.
|
86 |
+
|
87 |
+
You may charge a fee for the physical act of transferring a copy, and
|
88 |
+
you may at your option offer warranty protection in exchange for a fee.
|
89 |
+
|
90 |
+
2. You may modify your copy or copies of the Program or any portion
|
91 |
+
of it, thus forming a work based on the Program, and copy and
|
92 |
+
distribute such modifications or work under the terms of Section 1
|
93 |
+
above, provided that you also meet all of these conditions:
|
94 |
+
|
95 |
+
a) You must cause the modified files to carry prominent notices
|
96 |
+
stating that you changed the files and the date of any change.
|
97 |
+
|
98 |
+
b) You must cause any work that you distribute or publish, that in
|
99 |
+
whole or in part contains or is derived from the Program or any
|
100 |
+
part thereof, to be licensed as a whole at no charge to all third
|
101 |
+
parties under the terms of this License.
|
102 |
+
|
103 |
+
c) If the modified program normally reads commands interactively
|
104 |
+
when run, you must cause it, when started running for such
|
105 |
+
interactive use in the most ordinary way, to print or display an
|
106 |
+
announcement including an appropriate copyright notice and a
|
107 |
+
notice that there is no warranty (or else, saying that you provide
|
108 |
+
a warranty) and that users may redistribute the program under
|
109 |
+
these conditions, and telling the user how to view a copy of this
|
110 |
+
License. (Exception: if the Program itself is interactive but
|
111 |
+
does not normally print such an announcement, your work based on
|
112 |
+
the Program is not required to print an announcement.)
|
113 |
+
|
114 |
+
These requirements apply to the modified work as a whole. If
|
115 |
+
identifiable sections of that work are not derived from the Program,
|
116 |
+
and can be reasonably considered independent and separate works in
|
117 |
+
themselves, then this License, and its terms, do not apply to those
|
118 |
+
sections when you distribute them as separate works. But when you
|
119 |
+
distribute the same sections as part of a whole which is a work based
|
120 |
+
on the Program, the distribution of the whole must be on the terms of
|
121 |
+
this License, whose permissions for other licensees extend to the
|
122 |
+
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
+
|
124 |
+
Thus, it is not the intent of this section to claim rights or contest
|
125 |
+
your rights to work written entirely by you; rather, the intent is to
|
126 |
+
exercise the right to control the distribution of derivative or
|
127 |
+
collective works based on the Program.
|
128 |
+
|
129 |
+
In addition, mere aggregation of another work not based on the Program
|
130 |
+
with the Program (or with a work based on the Program) on a volume of
|
131 |
+
a storage or distribution medium does not bring the other work under
|
132 |
+
the scope of this License.
|
133 |
+
|
134 |
+
3. You may copy and distribute the Program (or a work based on it,
|
135 |
+
under Section 2) in object code or executable form under the terms of
|
136 |
+
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
+
|
138 |
+
a) Accompany it with the complete corresponding machine-readable
|
139 |
+
source code, which must be distributed under the terms of Sections
|
140 |
+
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
+
|
142 |
+
b) Accompany it with a written offer, valid for at least three
|
143 |
+
years, to give any third party, for a charge no more than your
|
144 |
+
cost of physically performing source distribution, a complete
|
145 |
+
machine-readable copy of the corresponding source code, to be
|
146 |
+
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
+
customarily used for software interchange; or,
|
148 |
+
|
149 |
+
c) Accompany it with the information you received as to the offer
|
150 |
+
to distribute corresponding source code. (This alternative is
|
151 |
+
allowed only for noncommercial distribution and only if you
|
152 |
+
received the program in object code or executable form with such
|
153 |
+
an offer, in accord with Subsection b above.)
|
154 |
+
|
155 |
+
The source code for a work means the preferred form of the work for
|
156 |
+
making modifications to it. For an executable work, complete source
|
157 |
+
code means all the source code for all modules it contains, plus any
|
158 |
+
associated interface definition files, plus the scripts used to
|
159 |
+
control compilation and installation of the executable. However, as a
|
160 |
+
special exception, the source code distributed need not include
|
161 |
+
anything that is normally distributed (in either source or binary
|
162 |
+
form) with the major components (compiler, kernel, and so on) of the
|
163 |
+
operating system on which the executable runs, unless that component
|
164 |
+
itself accompanies the executable.
|
165 |
+
|
166 |
+
If distribution of executable or object code is made by offering
|
167 |
+
access to copy from a designated place, then offering equivalent
|
168 |
+
access to copy the source code from the same place counts as
|
169 |
+
distribution of the source code, even though third parties are not
|
170 |
+
compelled to copy the source along with the object code.
|
171 |
+
|
172 |
+
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
+
except as expressly provided under this License. Any attempt
|
174 |
+
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
+
void, and will automatically terminate your rights under this License.
|
176 |
+
However, parties who have received copies, or rights, from you under
|
177 |
+
this License will not have their licenses terminated so long as such
|
178 |
+
parties remain in full compliance.
|
179 |
+
|
180 |
+
5. You are not required to accept this License, since you have not
|
181 |
+
signed it. However, nothing else grants you permission to modify or
|
182 |
+
distribute the Program or its derivative works. These actions are
|
183 |
+
prohibited by law if you do not accept this License. Therefore, by
|
184 |
+
modifying or distributing the Program (or any work based on the
|
185 |
+
Program), you indicate your acceptance of this License to do so, and
|
186 |
+
all its terms and conditions for copying, distributing or modifying
|
187 |
+
the Program or works based on it.
|
188 |
+
|
189 |
+
6. Each time you redistribute the Program (or any work based on the
|
190 |
+
Program), the recipient automatically receives a license from the
|
191 |
+
original licensor to copy, distribute or modify the Program subject to
|
192 |
+
these terms and conditions. You may not impose any further
|
193 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
+
You are not responsible for enforcing compliance by third parties to
|
195 |
+
this License.
|
196 |
+
|
197 |
+
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
+
infringement or for any other reason (not limited to patent issues),
|
199 |
+
conditions are imposed on you (whether by court order, agreement or
|
200 |
+
otherwise) that contradict the conditions of this License, they do not
|
201 |
+
excuse you from the conditions of this License. If you cannot
|
202 |
+
distribute so as to satisfy simultaneously your obligations under this
|
203 |
+
License and any other pertinent obligations, then as a consequence you
|
204 |
+
may not distribute the Program at all. For example, if a patent
|
205 |
+
license would not permit royalty-free redistribution of the Program by
|
206 |
+
all those who receive copies directly or indirectly through you, then
|
207 |
+
the only way you could satisfy both it and this License would be to
|
208 |
+
refrain entirely from distribution of the Program.
|
209 |
+
|
210 |
+
If any portion of this section is held invalid or unenforceable under
|
211 |
+
any particular circumstance, the balance of the section is intended to
|
212 |
+
apply and the section as a whole is intended to apply in other
|
213 |
+
circumstances.
|
214 |
+
|
215 |
+
It is not the purpose of this section to induce you to infringe any
|
216 |
+
patents or other property right claims or to contest validity of any
|
217 |
+
such claims; this section has the sole purpose of protecting the
|
218 |
+
integrity of the free software distribution system, which is
|
219 |
+
implemented by public license practices. Many people have made
|
220 |
+
generous contributions to the wide range of software distributed
|
221 |
+
through that system in reliance on consistent application of that
|
222 |
+
system; it is up to the author/donor to decide if he or she is willing
|
223 |
+
to distribute software through any other system and a licensee cannot
|
224 |
+
impose that choice.
|
225 |
+
|
226 |
+
This section is intended to make thoroughly clear what is believed to
|
227 |
+
be a consequence of the rest of this License.
|
228 |
+
|
229 |
+
8. If the distribution and/or use of the Program is restricted in
|
230 |
+
certain countries either by patents or by copyrighted interfaces, the
|
231 |
+
original copyright holder who places the Program under this License
|
232 |
+
may add an explicit geographical distribution limitation excluding
|
233 |
+
those countries, so that distribution is permitted only in or among
|
234 |
+
countries not thus excluded. In such case, this License incorporates
|
235 |
+
the limitation as if written in the body of this License.
|
236 |
+
|
237 |
+
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
+
of the General Public License from time to time. Such new versions will
|
239 |
+
be similar in spirit to the present version, but may differ in detail to
|
240 |
+
address new problems or concerns.
|
241 |
+
|
242 |
+
Each version is given a distinguishing version number. If the Program
|
243 |
+
specifies a version number of this License which applies to it and "any
|
244 |
+
later version", you have the option of following the terms and conditions
|
245 |
+
either of that version or of any later version published by the Free
|
246 |
+
Software Foundation. If the Program does not specify a version number of
|
247 |
+
this License, you may choose any version ever published by the Free Software
|
248 |
+
Foundation.
|
249 |
+
|
250 |
+
10. If you wish to incorporate parts of the Program into other free
|
251 |
+
programs whose distribution conditions are different, write to the author
|
252 |
+
to ask for permission. For software which is copyrighted by the Free
|
253 |
+
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
+
make exceptions for this. Our decision will be guided by the two goals
|
255 |
+
of preserving the free status of all derivatives of our free software and
|
256 |
+
of promoting the sharing and reuse of software generally.
|
257 |
+
|
258 |
+
NO WARRANTY
|
259 |
+
|
260 |
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
+
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
+
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
+
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
+
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
+
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
+
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
+
REPAIR OR CORRECTION.
|
269 |
+
|
270 |
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
+
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
+
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
+
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
+
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
+
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
+
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
+
POSSIBILITY OF SUCH DAMAGES.
|
279 |
+
|
280 |
+
END OF TERMS AND CONDITIONS
|
281 |
+
|
282 |
+
How to Apply These Terms to Your New Programs
|
283 |
+
|
284 |
+
If you develop a new program, and you want it to be of the greatest
|
285 |
+
possible use to the public, the best way to achieve this is to make it
|
286 |
+
free software which everyone can redistribute and change under these terms.
|
287 |
+
|
288 |
+
To do so, attach the following notices to the program. It is safest
|
289 |
+
to attach them to the start of each source file to most effectively
|
290 |
+
convey the exclusion of warranty; and each file should have at least
|
291 |
+
the "copyright" line and a pointer to where the full notice is found.
|
292 |
+
|
293 |
+
<one line to give the program's name and a brief idea of what it does.>
|
294 |
+
Copyright (C) <year> <name of author>
|
295 |
+
|
296 |
+
This program is free software; you can redistribute it and/or modify
|
297 |
+
it under the terms of the GNU General Public License as published by
|
298 |
+
the Free Software Foundation; either version 2 of the License, or
|
299 |
+
(at your option) any later version.
|
300 |
+
|
301 |
+
This program is distributed in the hope that it will be useful,
|
302 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
303 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
304 |
+
GNU General Public License for more details.
|
305 |
+
|
306 |
+
You should have received a copy of the GNU General Public License along
|
307 |
+
with this program; if not, write to the Free Software Foundation, Inc.,
|
308 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
309 |
+
|
310 |
+
Also add information on how to contact you by electronic and paper mail.
|
311 |
+
|
312 |
+
If the program is interactive, make it output a short notice like this
|
313 |
+
when it starts in an interactive mode:
|
314 |
+
|
315 |
+
Gnomovision version 69, Copyright (C) year name of author
|
316 |
+
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
317 |
+
This is free software, and you are welcome to redistribute it
|
318 |
+
under certain conditions; type `show c' for details.
|
319 |
+
|
320 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
321 |
+
parts of the General Public License. Of course, the commands you use may
|
322 |
+
be called something other than `show w' and `show c'; they could even be
|
323 |
+
mouse-clicks or menu items--whatever suits your program.
|
324 |
+
|
325 |
+
You should also get your employer (if you work as a programmer) or your
|
326 |
+
school, if any, to sign a "copyright disclaimer" for the program, if
|
327 |
+
necessary. Here is a sample; alter the names:
|
328 |
+
|
329 |
+
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
330 |
+
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
331 |
+
|
332 |
+
<signature of Ty Coon>, 1 April 1989
|
333 |
+
Ty Coon, President of Vice
|
334 |
+
|
335 |
+
This General Public License does not permit incorporating your program into
|
336 |
+
proprietary programs. If your program is a subroutine library, you may
|
337 |
+
consider it more useful to permit linking proprietary applications with the
|
338 |
+
library. If this is what you want to do, use the GNU Lesser General
|
339 |
Public License instead of this License.
|
README.txt
CHANGED
@@ -1,1016 +1,1032 @@
|
|
1 |
-
=== Best WordPress Gallery Plugin
|
2 |
-
Contributors: bradvin, steveush, fooplugins
|
3 |
-
Donate link: https://fooplugins.com
|
4 |
-
Tags: gallery, image gallery, photo gallery, responsive gallery, wordpress gallery plugin, best gallery plugin, albums, media gallery, video gallery, lightbox
|
5 |
-
Requires at least:
|
6 |
-
Tested up to: 5.9
|
7 |
-
Stable tag: 2.1.34
|
8 |
-
License: GPLv2 or later
|
9 |
-
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
-
|
11 |
-
The best WordPress gallery plugin. Create stunning galleries in minutes, with advanced settings for complete customization and control.
|
12 |
-
|
13 |
-
== Description ==
|
14 |
-
|
15 |
-
= WordPress Gallery Plugin =
|
16 |
-
|
17 |
-
Make galleries in WordPress great again with FooGallery! Add a stunning gallery to your website in under 1 minute using our beautiful pre-built templates, or if you want more control, then take advantage of all our advanced settings to customsize your galleries to look exactly the way you want.
|
18 |
-
|
19 |
-
FooGallery is an easy-to-use image gallery plugin, with stunning pre-built gallery layouts and a focus on performance and SEO.
|
20 |
-
It is also responsive, retina-ready and supports lazy loading for lightning fast photo galleries.
|
21 |
-
|
22 |
-
Live previews are available while creating an image gallery, and also within the Gutenberg block editor with our FooGallery Block.
|
23 |
-
|
24 |
-
FooGallery was built to be highly configurable and extendable for developers or freelancers.
|
25 |
-
|
26 |
-
That is why we think FooGallery is the best WordPress gallery plugin. After using it, we hope you will agree.
|
27 |
-
|
28 |
-
[Visit the FooGallery Homepage](https://fooplugins.com/foogallery-wordpress-gallery-plugin/)
|
29 |
-
|
30 |
-
= Performance Updates for Google's Core Web Vitals =
|
31 |
-
|
32 |
-
A faster gallery now means a more favourable ranking in Google!
|
33 |
-
FooGallery has been specifically optimized to score better for Google's Core Web Vitals update in 2021.
|
34 |
-
We have focused on the speed of our javascript code, and also improved the visual stability of all gallery layouts.
|
35 |
-
This has led to dramatically better scores for the 3 key lighthouse factors including:
|
36 |
-
|
37 |
-
* Largest Contentful Paint - galleries load and appear quicker for your visitors
|
38 |
-
* First Input Delay - you can interact with the gallery sooner
|
39 |
-
* Cumulative Layout Shift - gallery images shift around a lot less than before!
|
40 |
-
|
41 |
-
= WordPress Gallery Plugin Features =
|
42 |
-
|
43 |
-
The following free features make FooGallery the **best gallery plugin** on the market!
|
44 |
-
|
45 |
-
*
|
46 |
-
* Responsive Image Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/responsive-image-gallery/)
|
47 |
-
* Image Viewer Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/image-viewer-gallery/)
|
48 |
-
* Masonry Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/masonry-gallery/)
|
49 |
-
* Simple Portfolio - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/wordpress-portfolio-gallery/)
|
50 |
-
* Justified Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/justified-gallery/)
|
51 |
-
* Single Thumbnail Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/single-thumbnail-gallery/)
|
52 |
-
*
|
53 |
-
|
54 |
-
* Adjust
|
55 |
-
*
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
*
|
60 |
-
|
61 |
-
*
|
62 |
-
*
|
63 |
-
*
|
64 |
-
*
|
65 |
-
|
66 |
-
*
|
67 |
-
*
|
68 |
-
*
|
69 |
-
*
|
70 |
-
|
71 |
-
*
|
72 |
-
*
|
73 |
-
*
|
74 |
-
*
|
75 |
-
*
|
76 |
-
*
|
77 |
-
*
|
78 |
-
*
|
79 |
-
*
|
80 |
-
*
|
81 |
-
*
|
82 |
-
*
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
*
|
95 |
-
*
|
96 |
-
*
|
97 |
-
*
|
98 |
-
*
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
*
|
105 |
-
*
|
106 |
-
|
107 |
-
*
|
108 |
-
*
|
109 |
-
*
|
110 |
-
|
111 |
-
* Load from a
|
112 |
-
* Load
|
113 |
-
* Load all attachments with Media
|
114 |
-
* Load
|
115 |
-
* Load
|
116 |
-
*
|
117 |
-
|
118 |
-
*
|
119 |
-
*
|
120 |
-
*
|
121 |
-
*
|
122 |
-
*
|
123 |
-
*
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
*
|
130 |
-
*
|
131 |
-
|
132 |
-
*
|
133 |
-
*
|
134 |
-
*
|
135 |
-
*
|
136 |
-
*
|
137 |
-
*
|
138 |
-
|
139 |
-
*
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
* What
|
238 |
-
* What
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
*
|
304 |
-
|
305 |
-
|
306 |
-
*
|
307 |
-
* Update : FooGallery client side 2.0.
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
*
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
*
|
317 |
-
*
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
*
|
326 |
-
*
|
327 |
-
*
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
*
|
332 |
-
*
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
*
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
*
|
342 |
-
* Update : FooGallery client side 2.0.
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
*
|
347 |
-
*
|
348 |
-
*
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
*
|
355 |
-
*
|
356 |
-
*
|
357 |
-
*
|
358 |
-
*
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
*
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
*
|
367 |
-
* Update : FooGallery client side 2.0.
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
*
|
373 |
-
* New :
|
374 |
-
* New :
|
375 |
-
*
|
376 |
-
*
|
377 |
-
*
|
378 |
-
*
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
*
|
383 |
-
*
|
384 |
-
*
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
*
|
389 |
-
*
|
390 |
-
*
|
391 |
-
*
|
392 |
-
*
|
393 |
-
*
|
394 |
-
*
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
*
|
399 |
-
*
|
400 |
-
|
401 |
-
|
402 |
-
*
|
403 |
-
*
|
404 |
-
|
405 |
-
|
406 |
-
*
|
407 |
-
* Fix :
|
408 |
-
|
409 |
-
|
410 |
-
*
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
*
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
*
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
*
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
*
|
442 |
-
|
443 |
-
*
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
*
|
448 |
-
|
449 |
-
|
450 |
-
= 1.9.
|
451 |
-
* Date Updated :
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
*
|
456 |
-
*
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
*
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
*
|
472 |
-
* Fix :
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
*
|
478 |
-
* Fix :
|
479 |
-
|
480 |
-
|
481 |
-
*
|
482 |
-
*
|
483 |
-
|
484 |
-
|
485 |
-
= 1.9.
|
486 |
-
* Date Updated : 2020-
|
487 |
-
*
|
488 |
-
|
489 |
-
|
490 |
-
*
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
*
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
*
|
500 |
-
|
501 |
-
|
502 |
-
*
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
*
|
507 |
-
|
508 |
-
|
509 |
-
= 1.9.
|
510 |
-
* Date Updated : 2020-
|
511 |
-
* Fix :
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
*
|
519 |
-
|
520 |
-
|
521 |
-
*
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
*
|
527 |
-
* Fix :
|
528 |
-
*
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
*
|
535 |
-
*
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
*
|
542 |
-
|
543 |
-
|
544 |
-
*
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
*
|
549 |
-
*
|
550 |
-
*
|
551 |
-
*
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
*
|
556 |
-
*
|
557 |
-
* Update : FooGallery client side 1.4.
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
*
|
562 |
-
*
|
563 |
-
*
|
564 |
-
*
|
565 |
-
*
|
566 |
-
* New : Added
|
567 |
-
* New : Added
|
568 |
-
|
569 |
-
*
|
570 |
-
|
571 |
-
|
572 |
-
*
|
573 |
-
*
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
* Fix :
|
579 |
-
*
|
580 |
-
|
581 |
-
|
582 |
-
*
|
583 |
-
*
|
584 |
-
|
585 |
-
* Update : FooGallery client side 1.
|
586 |
-
|
587 |
-
= 1.8
|
588 |
-
* Date Updated :
|
589 |
-
* New :
|
590 |
-
|
591 |
-
*
|
592 |
-
*
|
593 |
-
|
594 |
-
* Fix :
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
*
|
599 |
-
|
600 |
-
|
601 |
-
*
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
*
|
606 |
-
|
607 |
-
|
608 |
-
*
|
609 |
-
* Fix :
|
610 |
-
* Fix :
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
* New :
|
615 |
-
|
616 |
-
* Fix :
|
617 |
-
* Fix :
|
618 |
-
* Update : FooGallery client side 1.
|
619 |
-
|
620 |
-
= 1.
|
621 |
-
*
|
622 |
-
|
623 |
-
|
624 |
-
*
|
625 |
-
|
626 |
-
|
627 |
-
*
|
628 |
-
|
629 |
-
|
630 |
-
*
|
631 |
-
*
|
632 |
-
*
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
*
|
638 |
-
|
639 |
-
|
640 |
-
*
|
641 |
-
|
642 |
-
|
643 |
-
* New :
|
644 |
-
* Fix :
|
645 |
-
* Fix :
|
646 |
-
*
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
* Fix :
|
652 |
-
*
|
653 |
-
* Update : FooGallery client side 1.
|
654 |
-
|
655 |
-
= 1.
|
656 |
-
*
|
657 |
-
*
|
658 |
-
|
659 |
-
|
660 |
-
*
|
661 |
-
*
|
662 |
-
*
|
663 |
-
|
664 |
-
|
665 |
-
*
|
666 |
-
*
|
667 |
-
* Fix :
|
668 |
-
*
|
669 |
-
* Update :
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
*
|
679 |
-
*
|
680 |
-
|
681 |
-
|
682 |
-
*
|
683 |
-
* Fix :
|
684 |
-
* Fix :
|
685 |
-
*
|
686 |
-
* Update : FooGallery client side 1.1.
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
* New :
|
691 |
-
*
|
692 |
-
|
693 |
-
|
694 |
-
* Fix :
|
695 |
-
*
|
696 |
-
|
697 |
-
|
698 |
-
*
|
699 |
-
*
|
700 |
-
|
701 |
-
|
702 |
-
*
|
703 |
-
|
704 |
-
|
705 |
-
*
|
706 |
-
|
707 |
-
|
708 |
-
* Fix :
|
709 |
-
|
710 |
-
|
711 |
-
*
|
712 |
-
*
|
713 |
-
*
|
714 |
-
* Update : FooGallery client side 1.1.
|
715 |
-
* Update : Freemius SDK 2.
|
716 |
-
|
717 |
-
|
718 |
-
*
|
719 |
-
* Fix :
|
720 |
-
*
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
*
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
*
|
731 |
-
*
|
732 |
-
* Fix :
|
733 |
-
* Fix :
|
734 |
-
*
|
735 |
-
*
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
*
|
741 |
-
*
|
742 |
-
* Fix :
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
* Fix :
|
748 |
-
* Fix :
|
749 |
-
* Fix :
|
750 |
-
*
|
751 |
-
* Update : FooGallery client side 1.0.
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
* Fix :
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
*
|
764 |
-
* Fix :
|
765 |
-
* Fix :
|
766 |
-
* Fix :
|
767 |
-
*
|
768 |
-
*
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
*
|
780 |
-
*
|
781 |
-
*
|
782 |
-
*
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
*
|
787 |
-
*
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
*
|
796 |
-
*
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
* New :
|
803 |
-
*
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
* New :
|
811 |
-
* New :
|
812 |
-
* Update to latest client side JS
|
813 |
-
|
814 |
-
= 1.4.
|
815 |
-
|
816 |
-
* Fix :
|
817 |
-
* Fix :
|
818 |
-
*
|
819 |
-
*
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
*
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
* Fix :
|
833 |
-
* Fix :
|
834 |
-
* Fix :
|
835 |
-
*
|
836 |
-
* New :
|
837 |
-
*
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
*
|
842 |
-
|
843 |
-
= 1.3
|
844 |
-
|
845 |
-
*
|
846 |
-
*
|
847 |
-
*
|
848 |
-
*
|
849 |
-
*
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
* New :
|
854 |
-
*
|
855 |
-
*
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
* New :
|
864 |
-
* New :
|
865 |
-
*
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
*
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
* New :
|
880 |
-
* New :
|
881 |
-
* New :
|
882 |
-
* New :
|
883 |
-
*
|
884 |
-
* Fix :
|
885 |
-
* Fix :
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
* New :
|
896 |
-
* New :
|
897 |
-
* New :
|
898 |
-
* New :
|
899 |
-
*
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
* Fix :
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
*
|
912 |
-
* New :
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
*
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
* Fix :
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
*
|
933 |
-
*
|
934 |
-
* New :
|
935 |
-
* New :
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
* Fix :
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
* Fix :
|
944 |
-
|
945 |
-
= 1.2.
|
946 |
-
|
947 |
-
* New :
|
948 |
-
* New :
|
949 |
-
* New :
|
950 |
-
* New :
|
951 |
-
* New :
|
952 |
-
* New :
|
953 |
-
* Fix :
|
954 |
-
* Fix :
|
955 |
-
* Fix :
|
956 |
-
* Fix :
|
957 |
-
|
958 |
-
|
959 |
-
*
|
960 |
-
|
961 |
-
|
962 |
-
*
|
963 |
-
*
|
964 |
-
*
|
965 |
-
|
966 |
-
|
967 |
-
*
|
968 |
-
*
|
969 |
-
|
970 |
-
|
971 |
-
*
|
972 |
-
*
|
973 |
-
|
974 |
-
|
975 |
-
*
|
976 |
-
*
|
977 |
-
*
|
978 |
-
|
979 |
-
|
980 |
-
*
|
981 |
-
|
982 |
-
|
983 |
-
*
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
*
|
988 |
-
*
|
989 |
-
*
|
990 |
-
|
991 |
-
|
992 |
-
* Added
|
993 |
-
*
|
994 |
-
|
995 |
-
|
996 |
-
*
|
997 |
-
|
998 |
-
|
999 |
-
*
|
1000 |
-
|
1001 |
-
|
1002 |
-
*
|
1003 |
-
|
1004 |
-
|
1005 |
-
*
|
1006 |
-
|
1007 |
-
= 1.
|
1008 |
-
*
|
1009 |
-
|
1010 |
-
|
1011 |
-
*
|
1012 |
-
* Added
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1016 |
* first version!
|
1 |
+
=== Best WordPress Gallery Plugin – FooGallery ===
|
2 |
+
Contributors: bradvin, steveush, fooplugins
|
3 |
+
Donate link: https://fooplugins.com
|
4 |
+
Tags: gallery, image gallery, photo gallery, responsive gallery, wordpress gallery plugin, best gallery plugin, albums, media gallery, video gallery, lightbox
|
5 |
+
Requires at least: 5.2
|
6 |
+
Tested up to: 5.9
|
7 |
+
Stable tag: 2.1.34
|
8 |
+
License: GPLv2 or later
|
9 |
+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
+
|
11 |
+
The best WordPress gallery plugin. Create stunning galleries in minutes, with advanced settings for complete customization and control.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
+
= WordPress Gallery Plugin =
|
16 |
+
|
17 |
+
Make galleries in WordPress great again with FooGallery! Add a stunning gallery to your website in under 1 minute using our beautiful pre-built templates, or if you want more control, then take advantage of all our advanced settings to customsize your galleries to look exactly the way you want.
|
18 |
+
|
19 |
+
FooGallery is an easy-to-use image gallery plugin, with stunning pre-built gallery layouts and a focus on performance and SEO.
|
20 |
+
It is also responsive, retina-ready and supports lazy loading for lightning fast photo galleries.
|
21 |
+
|
22 |
+
Live previews are available while creating an image gallery, and also within the Gutenberg block editor with our FooGallery Block.
|
23 |
+
|
24 |
+
FooGallery was built to be highly configurable and extendable for developers or freelancers.
|
25 |
+
|
26 |
+
That is why we think FooGallery is the best WordPress gallery plugin. After using it, we hope you will agree.
|
27 |
+
|
28 |
+
[Visit the FooGallery Homepage](https://fooplugins.com/foogallery-wordpress-gallery-plugin/)
|
29 |
+
|
30 |
+
= Performance Updates for Google's Core Web Vitals =
|
31 |
+
|
32 |
+
A faster gallery now means a more favourable ranking in Google!
|
33 |
+
FooGallery has been specifically optimized to score better for Google's Core Web Vitals update in 2021.
|
34 |
+
We have focused on the speed of our javascript code, and also improved the visual stability of all gallery layouts.
|
35 |
+
This has led to dramatically better scores for the 3 key lighthouse factors including:
|
36 |
+
|
37 |
+
* Largest Contentful Paint - galleries load and appear quicker for your visitors
|
38 |
+
* First Input Delay - you can interact with the gallery sooner
|
39 |
+
* Cumulative Layout Shift - gallery images shift around a lot less than before!
|
40 |
+
|
41 |
+
= WordPress Gallery Plugin Features =
|
42 |
+
|
43 |
+
The following free features make FooGallery the **best gallery plugin** on the market!
|
44 |
+
|
45 |
+
* 7 Beautiful Image Gallery templates
|
46 |
+
* Responsive Image Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/responsive-image-gallery/)
|
47 |
+
* Image Viewer Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/image-viewer-gallery/)
|
48 |
+
* Masonry Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/masonry-gallery/)
|
49 |
+
* Simple Portfolio - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/wordpress-portfolio-gallery/)
|
50 |
+
* Justified Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/justified-gallery/)
|
51 |
+
* Single Thumbnail Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/single-thumbnail-gallery/)
|
52 |
+
* Carousel Gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/wordpress-carousel/)
|
53 |
+
* Easy to customize!
|
54 |
+
* Adjust thumbnail size, spacing & alignment
|
55 |
+
* Adjust border size, rounded corners, drop shadows, inner shadows
|
56 |
+
* Choose from a selection of loading icons
|
57 |
+
* Animated loaded effects - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/animated-loaded-effects/)
|
58 |
+
* Awesome hover effects - adjust colors, scaling and icons
|
59 |
+
* Complete control over captions
|
60 |
+
* Focus on Performance
|
61 |
+
* Lazy Loading options
|
62 |
+
* Simple pagination [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/gallery-pagination/)
|
63 |
+
* Optimized code
|
64 |
+
* Reduced content layout shift
|
65 |
+
* Focus on SEO
|
66 |
+
* ALT and title attributes on all images
|
67 |
+
* Yoast SEO sitemap integration
|
68 |
+
* Rank Math SEO sitemap integration
|
69 |
+
* AIOSEO sitemap integration
|
70 |
+
* Albums built-in! (just activate the albums extension)
|
71 |
+
* Responsive album layout - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/wordpress-album-gallery/)
|
72 |
+
* All-in-one Stack album - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/wordpress-album-gallery/#all-in-one)
|
73 |
+
* Gutenberg ready (Gallery previews inside the new editor!)
|
74 |
+
* Live previews as you make changes!
|
75 |
+
* Retina thumbnail support
|
76 |
+
* Gallery Widget
|
77 |
+
* Use built-in media library to manage images
|
78 |
+
* Drag n Drop reordering of images and galleries
|
79 |
+
* Custom CSS for both galleries and albums
|
80 |
+
* Copy to clipboard shortcodes
|
81 |
+
* One-click gallery page creation
|
82 |
+
* NextGen importer tool (albums and galleries and shortcodes)
|
83 |
+
* Multisite Support
|
84 |
+
|
85 |
+
= PRO Gallery Features =
|
86 |
+
|
87 |
+
There are 3 PRO plans available, that will work with any budget:
|
88 |
+
|
89 |
+
[PRO Starter](https://fooplugins.com/foogallery-wordpress-gallery-plugin/#pro-starter-features) | [PRO Expert](https://fooplugins.com/foogallery-wordpress-gallery-plugin/#pro-expert-features) | [PRO Commerce](https://fooplugins.com/foogallery-wordpress-gallery-plugin/#pro-commerce-features)
|
90 |
+
|
91 |
+
**PRO Starter Features**
|
92 |
+
|
93 |
+
* 3 more beautiful PRO responsive gallery templates:
|
94 |
+
* Polaroid gallery template - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/polaroid-gallery/)
|
95 |
+
* Grid gallery template - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/grid-gallery/)
|
96 |
+
* Slider gallery template - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/slider-gallery/)
|
97 |
+
* PRO image and media lightbox built in! [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/pro-lightbox/)
|
98 |
+
* 11 beautiful hover effect presets - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/hover-presets/)
|
99 |
+
* 12 CSS thumbnail filters (Instagram) - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/filter-effects/)
|
100 |
+
|
101 |
+
**PRO Expert Features**
|
102 |
+
|
103 |
+
* Video Support - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/video-gallery/)
|
104 |
+
* Import video from Youtube, Vimeo and others
|
105 |
+
* Self-hosted videos
|
106 |
+
* Filtering
|
107 |
+
* Add filters using Media Tags or Categories - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/filtering/)
|
108 |
+
* Multi-level filtering for galleries [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/filtering/#multi-level)
|
109 |
+
* Bulk media tags and category management for attachments
|
110 |
+
* Dynamic Galleries (load images from other sources):
|
111 |
+
* Load from a folder on the server
|
112 |
+
* Load from a collection from Adobe Lightroom (using WP/LR Sync)
|
113 |
+
* Load all attachments with Media Tags
|
114 |
+
* Load all attachments with Media Categories
|
115 |
+
* Load from a folder in Real Media Library
|
116 |
+
* Load featured images from a post/page/custom post type - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/post-query-gallery/)
|
117 |
+
* Advanced Pagination
|
118 |
+
* Numbered pagination - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/pagination/#numbered)
|
119 |
+
* "Load More" pagination - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/pagination/#load-more)
|
120 |
+
* Infinite scroll image gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/pagination/#infinite-scroll)
|
121 |
+
* Advanced Custom Captions - [demo](hhttps://fooplugins.com/foogallery-wordpress-gallery-plugin/custom-captions/)
|
122 |
+
* EXIF metadata gallery - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/exif-data/)
|
123 |
+
* Bulk Copy Gallery Settings - [more info](https://fooplugins.com/bulk-copy-foogallery-pro/)
|
124 |
+
* Deeplinking support for pages and filters
|
125 |
+
|
126 |
+
**PRO Commerce Features**
|
127 |
+
|
128 |
+
* Image Protection
|
129 |
+
* Photo watermarking - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/photo-watermark/)
|
130 |
+
* No right-click protection - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/photo-watermark/)
|
131 |
+
* Deep WooCommerce integration - [demo](https://fooplugins.com/foogallery-wordpress-gallery-plugin/woocommerce-integration/#product-gallery)
|
132 |
+
* Create a dynamic gallery from your WooCommerce products in seconds!
|
133 |
+
* Filter using WooCommerce product categories
|
134 |
+
* Show sales ribbons for products on sale
|
135 |
+
* Add-to-cart buttons on thumbnails
|
136 |
+
* Support for product variations
|
137 |
+
* Show product details (including variations) in Lightbox
|
138 |
+
* Sell your images online - [demo](https://footest.tastewp.com/)
|
139 |
+
* Link all your gallery items to a single master product
|
140 |
+
* Supports variations
|
141 |
+
* Master Galleries
|
142 |
+
* Set a gallery as a master and then all galleries who use that master will inherit all settings from the master - [docs](https://fooplugins.com/documentation/foogallery/pro-commerce/use-master-gallery/)
|
143 |
+
|
144 |
+
[See More Demos](https://fooplugins.com/foogallery-wordpress-gallery-plugin/demos/)
|
145 |
+
|
146 |
+
**Test Drive**
|
147 |
+
|
148 |
+
Take FooGallery for a test drive! Spin up your very own WP instance with FooGallery pre-installed:
|
149 |
+
|
150 |
+
[Start FooGallery Test Drive!](https://tastewp.com/new/?pre-installed-plugin-slug=foogallery)
|
151 |
+
|
152 |
+
**Documentation**
|
153 |
+
|
154 |
+
* [FooGallery Documentation](https://fooplugins.com/documentation/foogallery/)
|
155 |
+
|
156 |
+
**Gutenberg**
|
157 |
+
|
158 |
+
FooGallery includes a really simple-to-use Gutenberg block to add your existing FooGallery image galleries in seconds. And it includes live previews of the image gallery too!
|
159 |
+
|
160 |
+
**GDPR**
|
161 |
+
|
162 |
+
When you install FooGallery for the first time, the plugin asks you (the website admin) to opt-in so that we can track your usage of the plugin and provide a better service (send you update emails for new version releases and security updates etc). *This is optional and not required in order to use the plugin.*
|
163 |
+
|
164 |
+
From your website point of view, FooGallery never collects or stores any visitor information at all, when someone visits your website.
|
165 |
+
|
166 |
+
**PHP 8 Compatible**
|
167 |
+
|
168 |
+
FooGallery has been tried and tested on servers running up to PHP 8
|
169 |
+
|
170 |
+
**Retina Support**
|
171 |
+
|
172 |
+
FooGallery is a responsive gallery with built-in support for higher quality thumbnails on retina-enabled displays. No more blurry thumbnails, just crisp thumbnails so that your image galleries look amazing on all devices.
|
173 |
+
|
174 |
+
**Video Gallery**
|
175 |
+
|
176 |
+
FooGallery PRO Expert allows you to create a video gallery in seconds! Import from YouTube, Vimeo, Facebook, TED and Dailymotion, or import a self-hosted video from any online source (eg. S3 bucket).
|
177 |
+
You can also easily create mixed galleries with both images and videos!
|
178 |
+
|
179 |
+
**WooCommerce**
|
180 |
+
|
181 |
+
Sell your photographs online with our full WooCommerce integration, available in PRO Commerce. You can either create a dyanmic gallery from your existing products, or you can sell images in a gallery by linking them to a single master product. With full support for variations. Highlight products for sale with ribbons. Add call-to-action buttons to your items, for example AJAX Add to Cart buttons.
|
182 |
+
|
183 |
+
**Albums Built In**
|
184 |
+
|
185 |
+
Albums are built in as an extension. Simply head over to the extensions page and activate the albums extension. A new menu item will appear that allows you to add albums just as easily as galleries.
|
186 |
+
|
187 |
+
**Built For Developers**
|
188 |
+
|
189 |
+
FooGallery was designed to be the most developer-friendly image gallery plugin available for WordPress. It was also built on top of a solid extension framework, which means different functionality is separated out into different areas in the codebase. It also means the core plugin is lightweight, but still allowing for the most flexibility.
|
190 |
+
|
191 |
+
**Special Thanks**
|
192 |
+
|
193 |
+
Thanks to Fortinet FortiGuard Labs for the security testing conducted on the plugin. FooGallery is a safer plugin thanks to them.
|
194 |
+
|
195 |
+
== Best Wordpress Gallery Plugin ==
|
196 |
+
|
197 |
+
We did the research. FooGallery has the best performance and has the most features out of any free WordPress gallery plugin. Read our blog post about it:
|
198 |
+
|
199 |
+
[What is the Best WordPress Gallery Plugin?](https://fooplugins.com/best-wordpress-gallery-plugin/)
|
200 |
+
|
201 |
+
== Installation ==
|
202 |
+
|
203 |
+
1. Upload `foogallery` folder to the `/wp-content/plugins/` directory
|
204 |
+
2. Activate the plugin through the 'Plugins' menu in WordPress
|
205 |
+
3. You will be redirected to the FooGallery Help page to get started with the best gallery plugin
|
206 |
+
|
207 |
+
== Frequently Asked Questions ==
|
208 |
+
|
209 |
+
= My galleries are not working. Thumbnails are greyed out and not loading when I scroll down the page. =
|
210 |
+
|
211 |
+
Lazy loading is not working on your gallery. This could be due to a conflict between our plugin and your theme.
|
212 |
+
You can test this theory by testing a different theme (if possible).
|
213 |
+
We can help you get it working, by contacting our support.
|
214 |
+
|
215 |
+
= I have created a gallery in the backend, but when I look at it on the frontend, it does not show correctly. =
|
216 |
+
|
217 |
+
Sometimes, there are issues when the theme does not follow WordPress best practices.
|
218 |
+
In order for FooGallery to function properly, the theme needs to have:
|
219 |
+
* A call to wp_head(); in the header.php file.
|
220 |
+
* A call to wp_footer(); in the footer.php file.
|
221 |
+
|
222 |
+
One way to check if the theme is the problem, is by switching to one of the built-in WordPress themes, and then see if the gallery loads.
|
223 |
+
|
224 |
+
= After updating, my galleries no longer work! What should I do? =
|
225 |
+
|
226 |
+
Do you have any WordPress caching or optimization plugins? If so, then clear/purge your caches.
|
227 |
+
Do you have any caching setup at your website host? If so, clear/purge those caches.
|
228 |
+
|
229 |
+
= After installing the plugin, my site is broken! Help! =
|
230 |
+
|
231 |
+
First thing to do is restore your site to it's previous working state.
|
232 |
+
1. Get access to your site via FTP, or SFTP.
|
233 |
+
2. Navigate to the wp-content/plugins folder.
|
234 |
+
3. Rename the foogallery folder to foogallery1 in order to deactivate the plugin.
|
235 |
+
4. At this point, your site should be working again.
|
236 |
+
5. Please contact our support and provide the following info:
|
237 |
+
* What version of WordPress you are running.
|
238 |
+
* What version of PHP you are using.
|
239 |
+
* What version of FooGallery you installed.
|
240 |
+
* What error was shown when your site was broken?
|
241 |
+
* What plugins and theme are you using?
|
242 |
+
|
243 |
+
= I purchased a PRO license, but the Free version is still running. =
|
244 |
+
|
245 |
+
Make sure you are running the PRO version. You can check this by visiting the FooGallery -> Account page within the WordPress admin.
|
246 |
+
If you do not have the PRO version, you can download it by visiting your account page at https://fooplugins.com/account
|
247 |
+
If you have the PRO version, then clear any caches on your site or for your host. Also clear CSS Optimiztion Cache from FooGallery Settings.
|
248 |
+
If it still does not work, then please contact our support to help further.
|
249 |
+
|
250 |
+
= Why are my thumbnails so blurry? =
|
251 |
+
|
252 |
+
Have you enabled retina support for your galleries? To enable retina support, edit the gallery and locate the Retina Support metabox.
|
253 |
+
|
254 |
+
= Can I add videos to my galleries? =
|
255 |
+
|
256 |
+
Yes, video is supported in [FooGallery PRO Expert](https://fooplugins.com/foogallery-wordpress-gallery-plugin/#pro-expert-features)!
|
257 |
+
|
258 |
+
= Can I sell photographs from a gallery? =
|
259 |
+
|
260 |
+
Yes, that is why we built [FooGallery PRO Commerce](https://fooplugins.com/foogallery-wordpress-gallery-plugin/#pro-commerce-features)!
|
261 |
+
You can choose to create a gallery based of your products, or you can link all images in a gallery to a master product. This allows you complete control over how you want to run your image store and how they are sold on your website.
|
262 |
+
|
263 |
+
= Do I need to install a separate plugin to show a lightbox? =
|
264 |
+
|
265 |
+
For the Free version of FooGallery - Yes, you will need to install FooBox Image Lightbox.
|
266 |
+
For the PRO version of FooGallery - No, we have built in a uniquely beautiful lightbox!
|
267 |
+
|
268 |
+
= How do I get albums working? =
|
269 |
+
|
270 |
+
Simply go to the FooGallery extensions page and activate the Albums extension. If you do not see a button to activate the albums extension, reload the extensions list by clicking the reload button.
|
271 |
+
|
272 |
+
= Can I add a watermark to my images? =
|
273 |
+
|
274 |
+
Yes, our PRO Commerce plan includes image watermarking.
|
275 |
+
|
276 |
+
= Can I add external links to items in the gallery? =
|
277 |
+
|
278 |
+
Yes, you can link to any external website by choosing "Custom URL" for the Thumbnail Link setting. You also then need to set a custom URL for the items in your gallery, which is done by editing the attachment.
|
279 |
+
|
280 |
+
= How do I turn off all the PRO Promotions in the admin? =
|
281 |
+
|
282 |
+
Goto FooGallery Settings -> Advanced Tab and check "Disable PRO Promotions" and then save your settings.
|
283 |
+
|
284 |
+
= How can you claim that FooGallery is the best WordPress gallery plugin? =
|
285 |
+
|
286 |
+
We did the research and comparison. See our findings : [What is the Best WordPress Gallery Plugin?](https://fooplugins.com/best-wordpress-gallery-plugin/)
|
287 |
+
|
288 |
+
== Screenshots ==
|
289 |
+
|
290 |
+
1. Gallery Edit Page
|
291 |
+
2. Visual Shortcodes
|
292 |
+
3. Gallery Picker
|
293 |
+
4. Frontend example with default template
|
294 |
+
5. Album Edit Page
|
295 |
+
|
296 |
+
== Upgrade Notice ==
|
297 |
+
|
298 |
+
Please update in order to for FooGallery to work in WP 5.5+!
|
299 |
+
|
300 |
+
== Changelog ==
|
301 |
+
|
302 |
+
= 2.2.6 =
|
303 |
+
* Date Updated : 2022-03-31
|
304 |
+
* New : Added new gallery template : Carousel
|
305 |
+
* Fix : Fixed bug with captions showing alternatives when using paging
|
306 |
+
* Fix : Fixed conflict with image lazy loading in Safari 15.4, by adding loading=eager
|
307 |
+
* Update : FooGallery client side 2.0.30
|
308 |
+
|
309 |
+
|
310 |
+
= 2.1.35 =
|
311 |
+
* Date Updated : 2022-03-08
|
312 |
+
* Fix : Fixed PHP warning on Widget Editor page in admin
|
313 |
+
|
314 |
+
|
315 |
+
= 2.1.34 =
|
316 |
+
* Date Updated : 2022-03-01
|
317 |
+
* Fix : Fixed bug where WebP images could not be uploaded when using the GD image editor
|
318 |
+
* Fix : Security Fix in wp-admin
|
319 |
+
* Update : Update to Freemius SDK
|
320 |
+
|
321 |
+
= 2.1.33 =
|
322 |
+
* Date Updated : 2022-01-15
|
323 |
+
* Update : FooGallery client side 2.0.24
|
324 |
+
* Fix : Ensure gallery layout is triggered in certain scenarios.
|
325 |
+
* Fix : Updated the hover effects and presets to trigger on focus for better accessibility.
|
326 |
+
* Fix : il8n bug where il8n script was not being included in page in some scenarios.
|
327 |
+
* Fix : Removed Gutenberg editor warnings when using the FooGallery block.
|
328 |
+
|
329 |
+
|
330 |
+
= 2.1.28 =
|
331 |
+
* Date Updated : 2021-10-27
|
332 |
+
* Fix : Fixed issue when no attachments being saved when updating gallery, in some scenarios.
|
333 |
+
* Update : Updated features on help page. Updated links to correct URL's.
|
334 |
+
|
335 |
+
|
336 |
+
= 2.1.24 =
|
337 |
+
* Date Updated : 2021-10-16
|
338 |
+
|
339 |
+
|
340 |
+
= 2.1.18 =
|
341 |
+
* Date Updated : 2021-09-01
|
342 |
+
* Update : FooGallery client side 2.0.20
|
343 |
+
* Update : Updated FooGallery Help page in admin to match new branding
|
344 |
+
* Update : Updated internal promotions to match plans
|
345 |
+
* Fix : fixed bug in WP 5.8 when not all attachments showing in media modal
|
346 |
+
* Fix : Added custom CSS for 3 gallery templates, to avoid incorrect thumb widths with certain themes and SVG thumbnails.
|
347 |
+
* Fix : Added logic to generate unique ID's for the gallery container if the gallery is included more than once on a page.
|
348 |
+
* New : Added custom pagination theme
|
349 |
+
|
350 |
+
|
351 |
+
= 2.0.39 =
|
352 |
+
* Date Updated : 2021-06-12
|
353 |
+
* Fix : Changed how attachment full size image details are determined, when there are issues in certain setups
|
354 |
+
* Fix : jQuery backwards compatibility
|
355 |
+
* Fix : Fixed issues with thumb widths for certain theme css
|
356 |
+
* Fix : Updated lazyload placeholder SVG to include width and height attributes
|
357 |
+
* Fix : Updated help page demo's to use correct placeholders
|
358 |
+
* Update : FooGallery client side 2.0.16
|
359 |
+
|
360 |
+
|
361 |
+
= 2.0.35 =
|
362 |
+
* Date Updated : 2021-05-20
|
363 |
+
* New : Added lazyload compatibility for Imagify (replace img tags with picture tags)
|
364 |
+
* Fix : updated how gallery usage is determined
|
365 |
+
* Fix : sanitised gallery custom CSS and global custom CSS & JS admin settings
|
366 |
+
* Fix : only show rating admin message after 5 galleries have been created (was showing always!)
|
367 |
+
* Update : FooGallery client side 2.0.13
|
368 |
+
|
369 |
+
= 2.0.30 =
|
370 |
+
* Date Updated : 2021-05-03
|
371 |
+
* New : Added lazyload compatibility for Jetpack, Jetpack Boost, WPMU Smush, EWWW Image Optimizer, W3 Total Cache, WP Optimize
|
372 |
+
* New : Added "Enable Gallery Descriptions" setting for Albums
|
373 |
+
* New : Galleries used in albums will now show a link to the album in the Usage column on the gallery listing page
|
374 |
+
* New : output gallery debug info when debugging setting is enable
|
375 |
+
* Update : FooGallery client side 2.0.12
|
376 |
+
* Update : Updated the thumbnail generation test image to use a local image within the plugin
|
377 |
+
* Update : Added "Last Row" gallery setting back for Justified Galleries
|
378 |
+
* Fix : Fixed bug with custom URL's not working for Single Thumbnail galleries
|
379 |
+
|
380 |
+
|
381 |
+
= 2.0.24 =
|
382 |
+
* Date Updated : 2021-18-04
|
383 |
+
* Update : FooGallery client side 2.0.11
|
384 |
+
* Fix : Fixed compatibility with WPRocket and rendering inline script of gallery items json
|
385 |
+
|
386 |
+
|
387 |
+
= 2.0.20 =
|
388 |
+
* Date Updated : 2021-11-04
|
389 |
+
* New : Major performance improvements for all gallery templates (improving scores for Core Web Vitals)
|
390 |
+
* New : Added "Mobile Columns" gallery setting for Responsive Galleries
|
391 |
+
* New : Added 6 Columns option for Masonry gallery layout
|
392 |
+
* New : Added "Horizontal Layout" gallery setting for Masonry galleries, to try maintain left-to-right order of images
|
393 |
+
* New : Made all image loaded effects in PRO now available in free!!
|
394 |
+
* New : Added first-class support for ShortPixel Adaptive Images as a thumbnail engine. (can be changed from settings)
|
395 |
+
* New : Added "Alignment" gallery setting under "Captions" tab for changing horizontal alignment of thumbnail captions
|
396 |
+
* New : Added "Image Title Attribute" gallery setting under "Advanced" tab for disabling the title attribute added to thumbnail img tags
|
397 |
+
* New : Added gallery settings to change the lightbox captions when FooBox is the selected lightbox
|
398 |
+
* New : Added ability to refresh gallery preview when editing by clicking preview button again
|
399 |
+
* New : Added lazyload support to stack album, giving a major performance boost to very large albums!
|
400 |
+
* New : Overhauled Help page when plugin is activated, including the ability create demo gallery content and view inline demos
|
401 |
+
* New : Added ability to override captions for FooBox
|
402 |
+
* Update : FooGallery client side 2.0.9
|
403 |
+
* Update : Simplified extensions admin page and removed all build-your-own logic
|
404 |
+
* Update : Updated the Justified gallery template. Removed "Max Row Height" and "Last Row" settings.
|
405 |
+
* Update : Updated the Thumbnail gallery template. Removed "Thumbnail Crop" setting.
|
406 |
+
* Fix : Updated styling for FooGallery Block to look correct in latest version of Gutenberg
|
407 |
+
* Fix : JSON objects get built using all attributes needed
|
408 |
+
* Fix : Could not add images to the gallery for some installs, due to no thumbnail sizes being returned. Made the logic more resilient.
|
409 |
+
* Fix : Compatible with WP Rocket Lazy loading
|
410 |
+
* Fix : Javascript error with Masonry related to script dependencies when using script minifiers
|
411 |
+
|
412 |
+
|
413 |
+
= 1.10.4 =
|
414 |
+
* Date Updated : 2021-02-03
|
415 |
+
* Fix : fix for fatal error running pre WP5 : Fatal error: Uncaught ArgumentCountError: Too few arguments to function FooGallery_Thumb_Engine_Default::delete_cache_folder_for_attachment()
|
416 |
+
|
417 |
+
= 1.10.3 =
|
418 |
+
* Date Updated : 2021-20-02
|
419 |
+
* Fix : fixed a fatal PHP error on some installs
|
420 |
+
|
421 |
+
= 1.10.1 =
|
422 |
+
* Date Updated : 2021-18-02
|
423 |
+
* Fix : fixed a fatal PHP error with PHP 5.6
|
424 |
+
|
425 |
+
= 1.10.0 =
|
426 |
+
* Date Updated : 2021-18-02
|
427 |
+
* Update : Removed WPThumb library completely
|
428 |
+
* Update : Updated to Freemius SDK 2.4.2
|
429 |
+
* Fix : updated FooGallery block category to 'media'
|
430 |
+
|
431 |
+
|
432 |
+
= 1.9.53 =
|
433 |
+
* Date Updated : 2021-23-01
|
434 |
+
* Update : FooGallery client side 1.4.26
|
435 |
+
|
436 |
+
= 1.9.52 =
|
437 |
+
* Date Updated : 2021-22-01
|
438 |
+
|
439 |
+
|
440 |
+
= 1.9.50 =
|
441 |
+
* Date Updated : 2021-21-01
|
442 |
+
|
443 |
+
* Fix : fixed incorrect settings showing for certain gallery templates
|
444 |
+
|
445 |
+
= 1.9.49 =
|
446 |
+
* Date Updated : 2021-13-01
|
447 |
+
* Fix : Advanced settings for a gallery to properly override settings rather than merge
|
448 |
+
|
449 |
+
|
450 |
+
= 1.9.48 =
|
451 |
+
* Date Updated : 2021-11-01
|
452 |
+
* New : Added global Custom JS & CSS settings which are included for all galleries
|
453 |
+
* New : Added global language settings which apply to all galleries
|
454 |
+
* Update : Updated All-in-one SEO support to work with AIOSEO v4
|
455 |
+
* Update : FooGallery client side 1.4.25
|
456 |
+
* Update : updated WPML compatibility to account for new language settings
|
457 |
+
* Fix : image URL's with spaces - always ensure image URL's are escaped
|
458 |
+
* Fix : fixed PHP warning on activation
|
459 |
+
* Test : tested PHP8 support!
|
460 |
+
|
461 |
+
|
462 |
+
= 1.9.47 =
|
463 |
+
* Date Updated : 2020-16-10
|
464 |
+
|
465 |
+
|
466 |
+
= 1.9.46 =
|
467 |
+
* Date Updated : 2020-15-10
|
468 |
+
|
469 |
+
|
470 |
+
= 1.9.45 =
|
471 |
+
* Date Updated : 2020-15-10
|
472 |
+
* Fix : Updated albums to use FooGallery stylesheet enqueue function
|
473 |
+
|
474 |
+
|
475 |
+
= 1.9.44 =
|
476 |
+
* Date Updated : 2020-12-06
|
477 |
+
* New : Allow thumb width and height to be overridden with shortcode arguments override_width and override_height
|
478 |
+
* Fix : fixed caption bugs where FooBox was not picking up custom/override captions
|
479 |
+
* Fix : removed use of deprecated functions in jQuery for WP 5.6
|
480 |
+
* Fix : removed localStorage checks, so that browser does not say that cookies are in use
|
481 |
+
* Update : FooGallery client side 1.4.24
|
482 |
+
* Update : Frontend gallery initialization now uses custom ready event by default, to avoid jQuery errors
|
483 |
+
|
484 |
+
|
485 |
+
= 1.9.40 =
|
486 |
+
* Date Updated : 2020-11-29
|
487 |
+
* Fix : rewrite of All-in-one Stack album fixing many bugs
|
488 |
+
* Fix : fixed some styling issues with album edit page and gallery select modal
|
489 |
+
* New : Added setting 'Force Hide Trial Notice' to never show the trail upsell message again
|
490 |
+
* Update : FooGallery client side 1.4.22
|
491 |
+
|
492 |
+
= 1.9.39 =
|
493 |
+
* Date Updated : 2020-11-24
|
494 |
+
* Fix : Allow gallery thumb order to be overridden when using foogallery_attachment_get_posts_args filter
|
495 |
+
|
496 |
+
= 1.9.38 =
|
497 |
+
* Date Updated : 2020-11-02
|
498 |
+
* Fix : Fixed PHP warning within thumbnail generation code when deleting attachments
|
499 |
+
* New : Added function to render an album : foogallery_render_album
|
500 |
+
|
501 |
+
= 1.9.37 =
|
502 |
+
* Date Updated : 2020-10-29
|
503 |
+
* Update : Ensure Gallery Items and Settings metaboxes are always visible when editing a gallery
|
504 |
+
|
505 |
+
= 1.9.36 =
|
506 |
+
* Date Updated : 2020-10-27
|
507 |
+
* Update : Freemius SDK 2.4.1
|
508 |
+
|
509 |
+
= 1.9.35 =
|
510 |
+
* Date Updated : 2020-10-12
|
511 |
+
* Fix : Fix for thumbnail generation not working when upload folder is not HTTPS
|
512 |
+
|
513 |
+
|
514 |
+
= 1.9.34 =
|
515 |
+
* Date Updated : 2020-08-30
|
516 |
+
* Fix : Fix for incorrect captions in some scenarios
|
517 |
+
* Fix : Compatibility with Owl Carousel Extension and others
|
518 |
+
* Update : FooGallery client side 1.4.18
|
519 |
+
|
520 |
+
= 1.9.31 =
|
521 |
+
* Date Updated : 2020-08-07
|
522 |
+
* Fix : IMPORTANT fix for WP 5.5 compatibility when editing galleries (gallery preview button was not showing)
|
523 |
+
|
524 |
+
|
525 |
+
= 1.9.30 =
|
526 |
+
* Date Updated : 2020-08-03
|
527 |
+
* Fix : IMPORTANT fix for WP 5.5 compatibility when editing galleries (gallery template selector was not showing)
|
528 |
+
* New : Support for All in One SEO Pack sitemaps
|
529 |
+
* Update : improved lightbox messages when no lightboxes are installed
|
530 |
+
* Update : Freemius SDK 2.4.0.1
|
531 |
+
|
532 |
+
|
533 |
+
= 1.9.28 =
|
534 |
+
* Date Updated : 2020-07-18
|
535 |
+
* Fix : Fix for some installs showing thumbnail generation error
|
536 |
+
* Update : better mobile support for admin settings tabs
|
537 |
+
* Update : FooGallery client side 1.4.16
|
538 |
+
|
539 |
+
|
540 |
+
= 1.9.26 =
|
541 |
+
* Date Updated : 2020-06-29
|
542 |
+
* Fix : Fix for All-In-One album hidden items still clickable
|
543 |
+
* Fix : Fix for fatal error on some versions of PHP
|
544 |
+
* Update : FooGallery client side 1.4.15
|
545 |
+
|
546 |
+
|
547 |
+
= 1.9.25 =
|
548 |
+
* Date Updated : 2020-06-04
|
549 |
+
* Fix : Fixed bug to prevent infinite loop with ResizeObserver in some themes
|
550 |
+
* Fix : Fixed possible text-domain issue
|
551 |
+
* Update : FooGallery client side 1.4.13
|
552 |
+
|
553 |
+
|
554 |
+
= 1.9.24 =
|
555 |
+
* Date Updated : 2020-05-04
|
556 |
+
* Fix : Fixed bug where thumbs were not loading on mobile in Justified and Portfolio galleries
|
557 |
+
* Update : FooGallery client side 1.4.12
|
558 |
+
|
559 |
+
= 1.9.23 =
|
560 |
+
* Date Updated : 2020-05-02
|
561 |
+
* New : Reworked hover effect settings to allow none
|
562 |
+
* New : Added new zoomed hover effect
|
563 |
+
* New : Added new transparent theme hover effect
|
564 |
+
* New : Added new advanced setting to add custom class to the gallery container
|
565 |
+
* New : Added global settings for upscaling small images when using larger thumbnail dimensions
|
566 |
+
* New : Added Pro feature promotions in gallery settings
|
567 |
+
* New : Added setting to force GD Image editor as the default
|
568 |
+
* New : Added info for active image editor to Settings -> Images tab
|
569 |
+
* New : Improved caption sanitization
|
570 |
+
* Fix : Fixed bug with Safari when editing a gallery, not loading thumbs
|
571 |
+
* Fix : Fixed gallery previews in certain situations
|
572 |
+
* Update : Freemius SDK 2.3.2
|
573 |
+
* Update : FooGallery client side 1.4.11
|
574 |
+
|
575 |
+
|
576 |
+
= 1.9.11 =
|
577 |
+
* Date Updated : 2020-03-29
|
578 |
+
* Fix : Fix for Simple Portfolio template not saving "None" for captions.
|
579 |
+
* Fix : Fixed albums when adding incorrect markup target="default"
|
580 |
+
* Fix : Updated thumbnail generation test logic to be more resilient, and improved admin message.
|
581 |
+
* Fix : Updated RankMath compatibility to work with pre PHP 5.4
|
582 |
+
* New : Added filter "foogallery_build_dynamic_gallery" for dynamic gallery creation
|
583 |
+
* New : Added WPML config file for better translations. (Also improves Polylang compatibility.)
|
584 |
+
|
585 |
+
* Update : FooGallery client side 1.4.6 (including multiple bug fixes)
|
586 |
+
|
587 |
+
= 1.9.8 =
|
588 |
+
* Date Updated : 2020-03-08
|
589 |
+
* New : Added RankMath compatibility - sitemap image indexing.
|
590 |
+
* New : Added new setting under Hover Effects : Invert Color. Invert the caption icon colors from dark to light.
|
591 |
+
* New : All hover and loading icons converted to SVG format.
|
592 |
+
* New : Lazy load gallery images when editing a gallery (improved performance for large galleries in the admin).
|
593 |
+
|
594 |
+
* Fix : Previews not updating in some cases.
|
595 |
+
* Update : FooGallery client side 1.4.0 (MAJOR UPDATE).
|
596 |
+
|
597 |
+
= 1.8.20 =
|
598 |
+
* Date Updated : 2019-11-22
|
599 |
+
* Fix : Fix for Masonry template layout issue in Firefox
|
600 |
+
|
601 |
+
* Update : FooGallery client side 1.3.6
|
602 |
+
|
603 |
+
= 1.8.18 =
|
604 |
+
* Date Updated : 2019-10-23
|
605 |
+
* New : Elementor compatibility - gallery previews in Elementor editor work, and added a FooGallery widget to the Elementor editor
|
606 |
+
|
607 |
+
* Fix : Images in Yoast SEO sitemaps pull correctly for all types of gallery embedding
|
608 |
+
* Fix : Lazy-load issues on certain browsers (reverted back to old logic)
|
609 |
+
* Fix : Updated WPThumb so that images with querystrings in the URL will work
|
610 |
+
* Fix : Minor security issue fixed on the FooGallery settings page (only exploitable by administrators)
|
611 |
+
|
612 |
+
= 1.8.14 =
|
613 |
+
|
614 |
+
* New : Added setting to move "Add Media" button to front of attachment listing (Advanced tab in FooGallery Settings)
|
615 |
+
|
616 |
+
* Fix : Lazy-load issues with Gutenberg Editor
|
617 |
+
* Fix : Simple portfolio layout issue with certain themes
|
618 |
+
* Update : FooGallery client side 1.3.4
|
619 |
+
|
620 |
+
= 1.8.12 =
|
621 |
+
* Fix : Previews not working on new galleries
|
622 |
+
|
623 |
+
= 1.8.11 =
|
624 |
+
* New : Added advanced gallery settings for custom settings and custom attributes
|
625 |
+
* Fix : Rewrite of Simple Portfolio to incorrect thumb heights
|
626 |
+
* Fix : Lazy-load issues for certain themes
|
627 |
+
* Update : FooGallery client side 1.3.3
|
628 |
+
|
629 |
+
= 1.8.8 =
|
630 |
+
* New : Implemented the Datasource architecture within the plugin
|
631 |
+
* Fix : PHP Warnings when previewing galleries
|
632 |
+
* Fix : Simple Portfolio thumbnails cut off in certain scenarios
|
633 |
+
* Fix : Updated Gutenberg block to work in latest Gutengerg release
|
634 |
+
* Update : FooGallery client side 1.2.10
|
635 |
+
|
636 |
+
= 1.7.8 =
|
637 |
+
* New : Added filter to override content when creating a gallery page 'foogallery_create_gallery_page_content'
|
638 |
+
* Fix : Fixed bug for Justified gallery, when last row was set to hidden
|
639 |
+
* Update : FooGallery client side 1.2.8
|
640 |
+
* Update : Freemius SDK 2.3.0
|
641 |
+
|
642 |
+
= 1.7.7 =
|
643 |
+
* New : Added slider navigation buttons in Slider PRO template
|
644 |
+
* Fix : Fixed gallery usage with custom post types
|
645 |
+
* Fix : Captions being cut off in portfolio template
|
646 |
+
* Fix : Multiple small bugs and tweaks
|
647 |
+
* Update : Updated to handle Chrome's new allow attribute in videos
|
648 |
+
* Update : FooGallery client side 1.2.7
|
649 |
+
|
650 |
+
= 1.7.6 =
|
651 |
+
* Fix : Fixed issues with paging introduced in 1.7.4
|
652 |
+
* Fix : Fixed conflicts with other lazy loading plugins
|
653 |
+
* Update : FooGallery client side 1.2.3
|
654 |
+
|
655 |
+
= 1.7.4 =
|
656 |
+
* New : Major performance enhancements for all galleries
|
657 |
+
* New : Performance enhancements with FooBox
|
658 |
+
* New : Force HTTPS setting for migrated sites
|
659 |
+
* New : FooGallery Gutenberg block gallery search
|
660 |
+
* Fix : fixed scroll blocking violation warnings in dev tools
|
661 |
+
* Fix : fixed Wistia video import issues
|
662 |
+
* Update : FooGallery client side 1.2.2
|
663 |
+
|
664 |
+
= 1.6.17 =
|
665 |
+
* IMPORTANT : Please update to address a security vulnerability.
|
666 |
+
* Fix : Security vulnerability
|
667 |
+
* Fix : Images caching in certain browsers, not loading
|
668 |
+
* Update : Freemius SDK 2.2.4
|
669 |
+
* Update : FooGallery client side 1.1.13
|
670 |
+
|
671 |
+
= 1.6.15 =
|
672 |
+
* Fix : fixed logo path in admin
|
673 |
+
* Update : changed the paging default output to HTML
|
674 |
+
|
675 |
+
= 1.6.14 =
|
676 |
+
* New : Added free trial tab to landing page
|
677 |
+
* New : Added demo tab to landing page
|
678 |
+
* New : Added support tab to landing page
|
679 |
+
* New : Added help with FooBox lightbox in gallery templates
|
680 |
+
* New : New setting to override thumb generation test URL
|
681 |
+
* New : New setting to output gallery JSON to script block
|
682 |
+
* New : Added rating admin notice after 5 galleries has been created
|
683 |
+
* Fix : Fixed issues with video support in All-In-One stack album
|
684 |
+
* Fix : Support for galleries loading in FooBox
|
685 |
+
* Update : updated plugin generator
|
686 |
+
* Update : FooGallery client side 1.1.10
|
687 |
+
* Update : Freemius SDK 2.2.3
|
688 |
+
|
689 |
+
= 1.6.13 =
|
690 |
+
* New : Added setting to render JSON data to script block (fix for some caching plugins)
|
691 |
+
* Fix : Compatibility with WPML Media
|
692 |
+
|
693 |
+
= 1.6.11 =
|
694 |
+
* Fix : Random thumbnails not loading in FireFox
|
695 |
+
* Update : FooGallery client side 1.1.8
|
696 |
+
|
697 |
+
= 1.6.10 =
|
698 |
+
* Fix : Safari bug with lazy loading
|
699 |
+
* Fix : Thumbs not loading with paging
|
700 |
+
* Fix : duplicate caption title in some scenarios
|
701 |
+
* Fix : clicking html in caption was not loading lightbox
|
702 |
+
* Update : FooGallery client side 1.1.7
|
703 |
+
|
704 |
+
= 1.6.7 =
|
705 |
+
* New : added new filter for allowed post types that foogallery can be attached to
|
706 |
+
* New : added loop setting for image viewer gallery template
|
707 |
+
* New : override sorting in shortcode by providing "sort" attribute
|
708 |
+
* Fix : Beaver Builder javascript error while editing a page
|
709 |
+
* Fix : album shortcodes not working in some page builders
|
710 |
+
* Fix : attach gallery to post when gutenberg block is included
|
711 |
+
* Fix : filtering + paging bugs corrected in some scenarios
|
712 |
+
* Fix : multiple small bugs and tweaks
|
713 |
+
* Fix : Thumbnail generation tries to use first image in media library
|
714 |
+
* Update : FooGallery client side 1.1.5
|
715 |
+
* Update : Freemius SDK 2.2.2
|
716 |
+
|
717 |
+
= 1.6.1 =
|
718 |
+
* New : Gutenberg FooGallery block (including live gallery previews!)
|
719 |
+
* Fix : foogallery shortcode not rendering in certain cases
|
720 |
+
* Fix : disabling lazy loading via settings was being ignored
|
721 |
+
* Update : Freemius SDK 2.1.3 (which fixes fatal Multisite bug)
|
722 |
+
|
723 |
+
= 1.5.9 =
|
724 |
+
* Fix : Theme customizer not loading for some theme/plugin combinations
|
725 |
+
|
726 |
+
= 1.5.8 =
|
727 |
+
* Major version bump to correspond with FooGallery PRO which includes video support
|
728 |
+
* New : Upgrade offer to FooGallery PRO for FooVideo customers
|
729 |
+
* New : Language setting for load more pagination
|
730 |
+
* Update : FooGallery client side 1.1.2
|
731 |
+
* Update : Freemius SDK 2.1.1
|
732 |
+
* Fix : Pagination + Filtering bugs
|
733 |
+
* Fix : PHP 7.1 compatibility tests failing for clone
|
734 |
+
* Fix : better paging + filtering support
|
735 |
+
* Fix : better RTL support in media modal
|
736 |
+
* Multiple bug fixes and improvements
|
737 |
+
|
738 |
+
= 1.4.31 =
|
739 |
+
|
740 |
+
* New : GDPR notice in readme
|
741 |
+
* New : Update to Freemius SDK 2.0.1
|
742 |
+
* Fix : Default captions bug introduced in 1.4.30
|
743 |
+
|
744 |
+
= 1.4.30 =
|
745 |
+
|
746 |
+
* Fix : Album 404 issues when used on homepage
|
747 |
+
* Fix : Dimension attributes missing for upscaling small images
|
748 |
+
* Fix : Issue when galleries cannot be added to an album
|
749 |
+
* Fix : Lightbox caption mismatch
|
750 |
+
* New : Setting for legacy thumb cropping in Simple Portfolio gallery
|
751 |
+
* Update : FooGallery client side 1.0.26
|
752 |
+
|
753 |
+
= 1.4.29 =
|
754 |
+
|
755 |
+
* New : Added an album setting to set the gallery title size (h2,h3,h4,h5,h6)
|
756 |
+
* Fix : media modal issues with Elementor
|
757 |
+
* Fix : media modal issues with Thrive Architect
|
758 |
+
* Fix : caption override fix for single thumbnail galleries
|
759 |
+
* Update : media modal improvements
|
760 |
+
|
761 |
+
= 1.4.27 =
|
762 |
+
|
763 |
+
* Fix : Justified gallery issues in certain browsers / devices
|
764 |
+
* Fix : Portfolio gallery issues in certain browsers / devices
|
765 |
+
* Fix : Use of correct rel attribute for better lightbox compatibility and W3 validation
|
766 |
+
* Fix : Removed local translations that were incomplete and outdated
|
767 |
+
* Update : FooGallery client side 1.0.24
|
768 |
+
* Update : language files
|
769 |
+
|
770 |
+
= 1.4.26 =
|
771 |
+
|
772 |
+
* Fix : Filtering introduced an array initialization construct not working for older versions of php
|
773 |
+
|
774 |
+
= 1.4.25 =
|
775 |
+
|
776 |
+
* New : Retina support for albums!
|
777 |
+
* New : Default crop position setting for attachments
|
778 |
+
* New : Speed up gallery previews in wp-admin
|
779 |
+
* New : Caption support for Responsive Lightbox by dFactory
|
780 |
+
* Fix : Extension loading issues on certain installs
|
781 |
+
* Fix : Shortcode copy-to-clipboard metabox works again
|
782 |
+
* Fix : Bugs fixes for paging, filtering, FooBox and more
|
783 |
+
* Fix : Ensure jquery-ui-sortable is loaded on edit page for some installs
|
784 |
+
* Fix : All-In-One Stack Album layout bugs
|
785 |
+
* Fix : Reworked extensions listing page logic
|
786 |
+
* Update : FooGallery client side 1.0.23
|
787 |
+
* Update : Freemius SDK 1.2.4
|
788 |
+
|
789 |
+
= 1.4.15 =
|
790 |
+
|
791 |
+
* Fix : All-In-One stack album fatal error when 2 albums on same page
|
792 |
+
|
793 |
+
= 1.4.14 =
|
794 |
+
|
795 |
+
* Fix : All-In-One stack album now uses the gallery featured image
|
796 |
+
* Added more position options for Single Thumbnail Gallery
|
797 |
+
* Added paging output setting
|
798 |
+
* Update to latest client side JS 1.0.20
|
799 |
+
|
800 |
+
= 1.4.12 =
|
801 |
+
|
802 |
+
* New : NextGen importer now includes shortcode replacement
|
803 |
+
* New : Masonry gallery supports captions below thumbnails
|
804 |
+
* New : Performance improvements for very large galleries (1000+ images)
|
805 |
+
* Fix : Bugs fixes for paging, FooBox and more
|
806 |
+
* Update to latest client side JS 1.0.18
|
807 |
+
|
808 |
+
= 1.4.8 =
|
809 |
+
|
810 |
+
* New : added custom ready event setting for overcoming 3rd party jQuery exceptions
|
811 |
+
* New : added crop thumbnail option to 'Single Thumbnail' and 'Image Viewer' templates
|
812 |
+
* Update to latest client side JS
|
813 |
+
|
814 |
+
= 1.4.7 =
|
815 |
+
|
816 |
+
* Fix : conflicts with WP Rocket CDN features
|
817 |
+
* Fix : conflicts with themes or plugins deferring script loading
|
818 |
+
* New : Auto-loading of default templates
|
819 |
+
* Update to latest client side JS
|
820 |
+
|
821 |
+
= 1.4.6 =
|
822 |
+
|
823 |
+
* Fix : conflicts with other scripts or plugins using data-src attributes
|
824 |
+
* Fix : script moved back to use jQuery ready event, to avoid some conflicts
|
825 |
+
* New : Global setting to disable lazy loading for all galleries
|
826 |
+
* New : FooGallery Widget!
|
827 |
+
* New : Admin notice for Autoptomize users to delete cache on updates
|
828 |
+
* Update to latest client side JS
|
829 |
+
|
830 |
+
= 1.4.5 =
|
831 |
+
|
832 |
+
* Fix : Lazy loading - scrolling galleries in certain scenarios were not loading thumbs
|
833 |
+
* Fix : Galleries that were hidden on page load were not displaying correctly when shown
|
834 |
+
* Fix : Default gallery settings were not being applied to new galleries
|
835 |
+
* New : shortcode arguments applied to gallery for common fields
|
836 |
+
* New : HTML caching is disabled by default now!
|
837 |
+
* Updated to latest client side JS and CSS
|
838 |
+
|
839 |
+
= 1.4.4 =
|
840 |
+
|
841 |
+
* Fix : upgrade was calling underfined function
|
842 |
+
|
843 |
+
= 1.4.3 =
|
844 |
+
|
845 |
+
* Fix : Justify gallery template issues
|
846 |
+
* Fix : Masonry gallery template issues
|
847 |
+
* Fix : Caption description not hidden when supposed to
|
848 |
+
* Fix : Complete rework of thumbnail dimension logic!
|
849 |
+
* Fix : Redirection bug on activation
|
850 |
+
* Fix : Added checks for galleries causing PHP warnings
|
851 |
+
* Fix : Multisite warnings on activation
|
852 |
+
* New : Last Row setting in Justify gallery template
|
853 |
+
* New : Alignment setting in Simple Portfolio gallery template
|
854 |
+
* New : Added more checks after load to ensure gallery layout is correct
|
855 |
+
* New : Added lazy loading advanced setting
|
856 |
+
* Updated to Freemius SDK 1.2.2.10
|
857 |
+
* Updated to latest client side JS and CSS
|
858 |
+
|
859 |
+
= 1.3.28 =
|
860 |
+
|
861 |
+
* Complete rewrite of the built-in gallery templates
|
862 |
+
* New : lazy loading
|
863 |
+
* New : simple pagination
|
864 |
+
* New : Live Previews when editing a gallery
|
865 |
+
* 260+ updates, changes and bug fixes
|
866 |
+
|
867 |
+
= 1.3.8 =
|
868 |
+
|
869 |
+
* New : Built in support for FooBox, fixing a lot of issues where FooBox option is not available
|
870 |
+
* Fix : More reliable extension active status on extensions listing
|
871 |
+
* Fix : More obvious wording for 3rd party plugins when they are not installed
|
872 |
+
|
873 |
+
= 1.3.7 =
|
874 |
+
|
875 |
+
* Fix : Activation redirect bug showing "Sorry, you are not allowed to access this page."
|
876 |
+
|
877 |
+
= 1.3.6 =
|
878 |
+
|
879 |
+
* New : Freemius integration!
|
880 |
+
* New : Added support for the Responsive Lightbox by dFactory
|
881 |
+
* New : New custom class field for an attachment
|
882 |
+
* New : Added more system info for better debugging when there are server issues
|
883 |
+
* Fix : Visual editor FooGallery edit button
|
884 |
+
* Fix : Image Viewer hover effect none now works as expected
|
885 |
+
* Fix : Disable HTML caching for randomly ordered galleries
|
886 |
+
|
887 |
+
= 1.2.20 =
|
888 |
+
|
889 |
+
* New : Force Use Original thumb setting on gallery edit page
|
890 |
+
* Fix : PHP warning from thumbnail class since 1.2.19
|
891 |
+
|
892 |
+
= 1.2.19 =
|
893 |
+
|
894 |
+
* New : Gallery output caching! Saves database requests improving load time
|
895 |
+
* New : Gallery usage column in admin gallery listing
|
896 |
+
* New : Better support for animated gifs
|
897 |
+
* New : Hover icons retina support
|
898 |
+
* New : Uninstall button on settings
|
899 |
+
* New : Save thumb dimensions per attachment. (needed in future versions)
|
900 |
+
* Fix : Extensions refactor and many issues resolved
|
901 |
+
* Fix : Better retina support for all templates
|
902 |
+
* Fix : Colorize / Greyscale CSS filters
|
903 |
+
* Fix : Even better wpthumb compatibility
|
904 |
+
|
905 |
+
= 1.2.18 =
|
906 |
+
|
907 |
+
* Fix : Handle no settings in retina metabox
|
908 |
+
|
909 |
+
= 1.2.17 =
|
910 |
+
|
911 |
+
* New : Retina support - metabox per gallery and default settings
|
912 |
+
* New : Attachment datasources - backend changes for how images are used in a gallery. (This will allow for new external sources in the future)
|
913 |
+
* New : Caption color settings in Simple portfolio gallery template
|
914 |
+
* New : Updated to latest Justified Gallery
|
915 |
+
* Fix : Better wpthumb compatibility
|
916 |
+
|
917 |
+
= 1.2.16 =
|
918 |
+
|
919 |
+
* Fix : Yoast SEO Sitemaps fatal error with deleted galleries
|
920 |
+
* Fix : Updating pages with deleted galleries throws php warnings
|
921 |
+
|
922 |
+
= 1.2.15 =
|
923 |
+
|
924 |
+
* Fix : Album admin CSS issues in WP 4.6
|
925 |
+
* Fix : Masonry layout issues in WP 4.6
|
926 |
+
* Fix : Media attachment fields not updating
|
927 |
+
* Fix : Better support for IE10
|
928 |
+
* New : Thumbnail generation test admin notice and settings
|
929 |
+
|
930 |
+
= 1.2.13 =
|
931 |
+
|
932 |
+
* Fix : Shortcode replacing content in visual editor
|
933 |
+
* Fix : Gallery hover effect of None being ignored
|
934 |
+
* New : ImageViewer language settings for 'Prev', 'Next' & 'of'
|
935 |
+
* New : Setting to use original thumbnails if available
|
936 |
+
|
937 |
+
= 1.2.12 =
|
938 |
+
|
939 |
+
* Fix : Simple Portfolio missing captions fix
|
940 |
+
|
941 |
+
= 1.2.11 =
|
942 |
+
|
943 |
+
* Fix : Simple Portfolio undefined function fix
|
944 |
+
|
945 |
+
= 1.2.10 =
|
946 |
+
|
947 |
+
* New : support for multiple admin JS and CSS assets for gallery templates
|
948 |
+
* New : Added setting to choose Caption Description source
|
949 |
+
* New : Crop position can be chosen for attachments
|
950 |
+
* New : Albums gallery details modal for setting a gallery URL
|
951 |
+
* New : Better shortcode preview in editor
|
952 |
+
* New : Editor button now supported if multiple editors exist
|
953 |
+
* Fix : Better No-Link support for gallery templates
|
954 |
+
* Fix : Compatible with Unyson plugin
|
955 |
+
* Fix : Compatible with Advanced Custom Fields
|
956 |
+
* Fix : Simple Portfolio fixes and tweaks
|
957 |
+
* Fix : ImageViewer fixes and better browser compatibility
|
958 |
+
* Fix : Changed assets enqueue version to rather use extension version
|
959 |
+
* Fix : Album URL fix for permalinks with no trailing slashes
|
960 |
+
|
961 |
+
= 1.2.9 =
|
962 |
+
* New : Added Image Viewer gallery template
|
963 |
+
* New : Caption support for default template
|
964 |
+
* New : Yoast SEO gallery image support!
|
965 |
+
* New : Responsive options for Masonry gallery
|
966 |
+
* New : change gallery URL slug for albums
|
967 |
+
* New : setting to turn off loading animation in default gallery
|
968 |
+
* New : French translation
|
969 |
+
* Fix : Support for WP 4.4
|
970 |
+
* Fix : All templates - moved all jQuery ready events to vanilla JS
|
971 |
+
* Fix : Many gallery template tweaks
|
972 |
+
* Fix : allow no default to be chosen in settings
|
973 |
+
|
974 |
+
= 1.2.8 =
|
975 |
+
* Works now with Polylang translation plugin
|
976 |
+
* CSS Updates & enhancements to all gallery templates
|
977 |
+
* Password protected galleries now work as expected
|
978 |
+
* Ability to hide WYSIWYG editor button
|
979 |
+
* Updated WPThumb
|
980 |
+
* Multiple bug fixes and improvements
|
981 |
+
|
982 |
+
= 1.2.7 =
|
983 |
+
* Bug fixes for 1.2.6 release
|
984 |
+
* Added 2 new settings to Justified Gallery template (maxRowHeight + Caption Source)
|
985 |
+
|
986 |
+
= 1.2.6 =
|
987 |
+
* CSS load optimizations
|
988 |
+
* Updates and tweaks on all built-in gallery templates
|
989 |
+
* More robust extension loading
|
990 |
+
* More robust upgrades to FooBox PRO
|
991 |
+
* Improved copy-to-clipboard
|
992 |
+
* Added more hover effects
|
993 |
+
* Support for FooVideo
|
994 |
+
|
995 |
+
= 1.2.5 =
|
996 |
+
* Fix for extensions being empty
|
997 |
+
* Added support for Multi-site
|
998 |
+
* Added esc_url to all places where url is rendered
|
999 |
+
* Updated to latest Justified Gallery v3.5.4
|
1000 |
+
|
1001 |
+
= 1.2.4 =
|
1002 |
+
* Many album template updates, enhancements and fixes
|
1003 |
+
* Many gallery template tweaks and fixes
|
1004 |
+
* Sort order settings for galleries and albums
|
1005 |
+
* Added new Single Thumbnail Gallery template
|
1006 |
+
|
1007 |
+
= 1.2.1 =
|
1008 |
+
* Added setting to choose default gallery to copy settings from
|
1009 |
+
* Fixed bug #45 - gallery fields not showing onload
|
1010 |
+
* replaced minicolors with spectrum colorpicker
|
1011 |
+
* Allow gallery fields to have a suffix
|
1012 |
+
* Added function to render galleries "foogallery_render_gallery( $gallery_id )"
|
1013 |
+
|
1014 |
+
= 1.2.0 =
|
1015 |
+
* Added albums extension
|
1016 |
+
* Added custom CSS metaboxes
|
1017 |
+
* Updated Nextgen importer
|
1018 |
+
* Fixed many bugs
|
1019 |
+
|
1020 |
+
= 1.1.8.2 =
|
1021 |
+
* Fixed "edit gallery" CSS with WP 4.0
|
1022 |
+
|
1023 |
+
= 1.1.8.1 =
|
1024 |
+
* Fixed "insert gallery" CSS with WP 4.0
|
1025 |
+
|
1026 |
+
= 1.1.8 =
|
1027 |
+
* Added 2 new gallery templates
|
1028 |
+
* Added 10+ actions and filters for more customization
|
1029 |
+
* Countless bug fixes and enhancements
|
1030 |
+
|
1031 |
+
= 1.1.7 =
|
1032 |
* first version!
|
changelog.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
FooGallery Changelog
|
2 |
-
====================
|
3 |
-
|
4 |
See changelog in readme.txt
|
1 |
+
FooGallery Changelog
|
2 |
+
====================
|
3 |
+
|
4 |
See changelog in readme.txt
|
css/admin-foogallery-gallery-piles.css
CHANGED
@@ -1,93 +1,93 @@
|
|
1 |
-
.foogallery-pile {
|
2 |
-
position: relative;
|
3 |
-
z-index: 10;
|
4 |
-
float: left;
|
5 |
-
margin: 10px 15px 15px 10px !important;
|
6 |
-
}
|
7 |
-
|
8 |
-
/* Image styles */
|
9 |
-
.foogallery-pile .foogallery-gallery-select {
|
10 |
-
width: 150px;
|
11 |
-
height: 150px;
|
12 |
-
position: relative;
|
13 |
-
box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.05);
|
14 |
-
background: #eee;
|
15 |
-
vertical-align: bottom;
|
16 |
-
border: 8px solid #fff;
|
17 |
-
overflow: hidden;
|
18 |
-
cursor: pointer;
|
19 |
-
}
|
20 |
-
|
21 |
-
/* Stacks creted by the use of generated content */
|
22 |
-
.foogallery-pile:before, .foogallery-pile:after {
|
23 |
-
content: "";
|
24 |
-
width: 100%;
|
25 |
-
height: 100%;
|
26 |
-
position: absolute;
|
27 |
-
border: 8px solid #fff;
|
28 |
-
left: 0;
|
29 |
-
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
30 |
-
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
31 |
-
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
32 |
-
-webkit-box-sizing: border-box;
|
33 |
-
-moz-box-sizing: border-box;
|
34 |
-
box-sizing: border-box;
|
35 |
-
}
|
36 |
-
/* 1st element in stack (behind image) */
|
37 |
-
.foogallery-pile:before {
|
38 |
-
top: -3px; z-index: -10;
|
39 |
-
-webkit-transform: rotate(2deg);
|
40 |
-
-moz-transform: rotate(2deg);
|
41 |
-
transform: rotate(2deg);
|
42 |
-
}
|
43 |
-
/* 2nd element in stack (behind image) */
|
44 |
-
.foogallery-pile:after {
|
45 |
-
top: -2px; z-index: -20;
|
46 |
-
-webkit-transform: rotate(-2deg);
|
47 |
-
-moz-transform: rotate(-2deg);
|
48 |
-
transform: rotate(-2deg);
|
49 |
-
}
|
50 |
-
|
51 |
-
.foogallery-pile img {
|
52 |
-
width: 150px;
|
53 |
-
}
|
54 |
-
|
55 |
-
.foogallery-pile h3 {
|
56 |
-
background: #fff;
|
57 |
-
position: absolute;
|
58 |
-
display: block;
|
59 |
-
bottom: 0px;
|
60 |
-
padding: 5px;
|
61 |
-
width: 100%;
|
62 |
-
box-sizing: border-box;
|
63 |
-
margin: 0;
|
64 |
-
opacity: 0.8;
|
65 |
-
}
|
66 |
-
|
67 |
-
.foogallery-pile h3 span {
|
68 |
-
display: block;
|
69 |
-
font-size: 0.6em;
|
70 |
-
}
|
71 |
-
|
72 |
-
.foogallery-gallery-select.selected {
|
73 |
-
border-color: #1E8CBE;
|
74 |
-
}
|
75 |
-
|
76 |
-
.foogallery-gallery-select.selected::before {
|
77 |
-
content: "\f147" !important;
|
78 |
-
display: inline-block !important;
|
79 |
-
font: normal 60px/70px 'dashicons';
|
80 |
-
position: absolute;
|
81 |
-
color: #FFF;
|
82 |
-
top: 40%;
|
83 |
-
left: 50%;
|
84 |
-
margin-left: -30px;
|
85 |
-
margin-top: -30px;
|
86 |
-
-webkit-font-smoothing: antialiased;
|
87 |
-
background: #1E8CBE;
|
88 |
-
border-radius: 50%;
|
89 |
-
width: 60px;
|
90 |
-
height: 60px;
|
91 |
-
z-index: 4;
|
92 |
-
padding-top:0 !important;
|
93 |
}
|
1 |
+
.foogallery-pile {
|
2 |
+
position: relative;
|
3 |
+
z-index: 10;
|
4 |
+
float: left;
|
5 |
+
margin: 10px 15px 15px 10px !important;
|
6 |
+
}
|
7 |
+
|
8 |
+
/* Image styles */
|
9 |
+
.foogallery-pile .foogallery-gallery-select {
|
10 |
+
width: 150px;
|
11 |
+
height: 150px;
|
12 |
+
position: relative;
|
13 |
+
box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.05);
|
14 |
+
background: #eee;
|
15 |
+
vertical-align: bottom;
|
16 |
+
border: 8px solid #fff;
|
17 |
+
overflow: hidden;
|
18 |
+
cursor: pointer;
|
19 |
+
}
|
20 |
+
|
21 |
+
/* Stacks creted by the use of generated content */
|
22 |
+
.foogallery-pile:before, .foogallery-pile:after {
|
23 |
+
content: "";
|
24 |
+
width: 100%;
|
25 |
+
height: 100%;
|
26 |
+
position: absolute;
|
27 |
+
border: 8px solid #fff;
|
28 |
+
left: 0;
|
29 |
+
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
30 |
+
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
31 |
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
32 |
+
-webkit-box-sizing: border-box;
|
33 |
+
-moz-box-sizing: border-box;
|
34 |
+
box-sizing: border-box;
|
35 |
+
}
|
36 |
+
/* 1st element in stack (behind image) */
|
37 |
+
.foogallery-pile:before {
|
38 |
+
top: -3px; z-index: -10;
|
39 |
+
-webkit-transform: rotate(2deg);
|
40 |
+
-moz-transform: rotate(2deg);
|
41 |
+
transform: rotate(2deg);
|
42 |
+
}
|
43 |
+
/* 2nd element in stack (behind image) */
|
44 |
+
.foogallery-pile:after {
|
45 |
+
top: -2px; z-index: -20;
|
46 |
+
-webkit-transform: rotate(-2deg);
|
47 |
+
-moz-transform: rotate(-2deg);
|
48 |
+
transform: rotate(-2deg);
|
49 |
+
}
|
50 |
+
|
51 |
+
.foogallery-pile img {
|
52 |
+
width: 150px;
|
53 |
+
}
|
54 |
+
|
55 |
+
.foogallery-pile h3 {
|
56 |
+
background: #fff;
|
57 |
+
position: absolute;
|
58 |
+
display: block;
|
59 |
+
bottom: 0px;
|
60 |
+
padding: 5px;
|
61 |
+
width: 100%;
|
62 |
+
box-sizing: border-box;
|
63 |
+
margin: 0;
|
64 |
+
opacity: 0.8;
|
65 |
+
}
|
66 |
+
|
67 |
+
.foogallery-pile h3 span {
|
68 |
+
display: block;
|
69 |
+
font-size: 0.6em;
|
70 |
+
}
|
71 |
+
|
72 |
+
.foogallery-gallery-select.selected {
|
73 |
+
border-color: #1E8CBE;
|
74 |
+
}
|
75 |
+
|
76 |
+
.foogallery-gallery-select.selected::before {
|
77 |
+
content: "\f147" !important;
|
78 |
+
display: inline-block !important;
|
79 |
+
font: normal 60px/70px 'dashicons';
|
80 |
+
position: absolute;
|
81 |
+
color: #FFF;
|
82 |
+
top: 40%;
|
83 |
+
left: 50%;
|
84 |
+
margin-left: -30px;
|
85 |
+
margin-top: -30px;
|
86 |
+
-webkit-font-smoothing: antialiased;
|
87 |
+
background: #1E8CBE;
|
88 |
+
border-radius: 50%;
|
89 |
+
width: 60px;
|
90 |
+
height: 60px;
|
91 |
+
z-index: 4;
|
92 |
+
padding-top:0 !important;
|
93 |
}
|
css/admin-foogallery.css
CHANGED
@@ -1,680 +1,680 @@
|
|
1 |
-
.foogallery-attachments-list .add-attachment {
|
2 |
-
background: #ddd;
|
3 |
-
border: #888 1px dashed;
|
4 |
-
position: relative;
|
5 |
-
float: left;
|
6 |
-
padding: 0;
|
7 |
-
color: #464646;
|
8 |
-
list-style: none;
|
9 |
-
text-align: center;
|
10 |
-
-webkit-user-select: none;
|
11 |
-
-moz-user-select: none;
|
12 |
-
-ms-user-select: none;
|
13 |
-
-o-user-select: none;
|
14 |
-
user-select: none;
|
15 |
-
}
|
16 |
-
|
17 |
-
.foogallery-attachments-list .add-attachment a {
|
18 |
-
display: table-cell;
|
19 |
-
vertical-align: middle;
|
20 |
-
height: 150px;
|
21 |
-
text-align: center;
|
22 |
-
width: 150px;
|
23 |
-
color:#666;
|
24 |
-
font-weight: bold;
|
25 |
-
text-decoration: none;
|
26 |
-
}
|
27 |
-
|
28 |
-
.foogallery-attachments-list .add-attachment a:hover {
|
29 |
-
color:#444;
|
30 |
-
}
|
31 |
-
|
32 |
-
.foogallery-attachments-list .add-attachment a div.dashicons {
|
33 |
-
font-size:50px;
|
34 |
-
width: 50px;
|
35 |
-
height: 50px;
|
36 |
-
}
|
37 |
-
|
38 |
-
.foogallery-attachments-list .add-attachment a span {
|
39 |
-
display: block;
|
40 |
-
}
|
41 |
-
|
42 |
-
|
43 |
-
.foogallery-attachments-list .attachment-preview,
|
44 |
-
.foogallery-attachments-list .attachment-preview .thumbnail {
|
45 |
-
width: 150px;
|
46 |
-
height: 150px;
|
47 |
-
cursor:move;
|
48 |
-
}
|
49 |
-
|
50 |
-
.foogallery-attachments-list .attachment {
|
51 |
-
border: transparent 1px solid;
|
52 |
-
box-shadow: none !important;
|
53 |
-
width: auto !important;
|
54 |
-
padding: 0 !important;
|
55 |
-
}
|
56 |
-
|
57 |
-
.foogallery-attachments-list .attachment.placeholder {
|
58 |
-
width: 150px !important;
|
59 |
-
height: 150px;
|
60 |
-
border: #1e8cbe 1px dashed;
|
61 |
-
background: #eee;
|
62 |
-
}
|
63 |
-
|
64 |
-
.foogallery-attachments-list li {
|
65 |
-
margin: 0px 10px 10px 0px !important;
|
66 |
-
}
|
67 |
-
|
68 |
-
.foogallery-attachments-list .attachment.ui-sortable-helper {
|
69 |
-
opacity: 0.5;
|
70 |
-
}
|
71 |
-
|
72 |
-
.foogallery-attachments-list .attachment.ui-sortable-helper:hover .close {
|
73 |
-
display: none;
|
74 |
-
}
|
75 |
-
|
76 |
-
.foogallery-attachments-list input.describe {
|
77 |
-
margin:0;
|
78 |
-
width: 150px;
|
79 |
-
font-size: 12px;
|
80 |
-
}
|
81 |
-
|
82 |
-
.foogallery-attachments-list .attachment .attachment-preview a {
|
83 |
-
display: none;
|
84 |
-
position: absolute;
|
85 |
-
padding: 0;
|
86 |
-
font-size: 20px;
|
87 |
-
line-height: 20px;
|
88 |
-
text-align: center;
|
89 |
-
text-decoration: none;
|
90 |
-
background-color: #444;
|
91 |
-
border-top-right-radius: 50%;
|
92 |
-
border-top-left-radius: 50%;
|
93 |
-
border-bottom-right-radius: 50%;
|
94 |
-
border-bottom-left-radius: 50%;
|
95 |
-
}
|
96 |
-
|
97 |
-
.foogallery-attachments-list .attachment .attachment-preview:hover a {
|
98 |
-
display: block;
|
99 |
-
}
|
100 |
-
|
101 |
-
.foogallery-attachments-list .attachment .attachment-preview a span {
|
102 |
-
color:#fff;
|
103 |
-
}
|
104 |
-
|
105 |
-
.foogallery-attachments-list .attachment .attachment-preview a:hover span {
|
106 |
-
color:#ddd;
|
107 |
-
}
|
108 |
-
|
109 |
-
.foogallery-attachments-list .attachment .attachment-preview a.remove {
|
110 |
-
top: 5px;
|
111 |
-
right: 5px;
|
112 |
-
}
|
113 |
-
|
114 |
-
.foogallery-attachments-list .attachment .attachment-preview a.info {
|
115 |
-
top: 5px;
|
116 |
-
left: 5px;
|
117 |
-
}
|
118 |
-
|
119 |
-
.spacer {
|
120 |
-
display: inline-block;
|
121 |
-
width:30px;
|
122 |
-
}
|
123 |
-
|
124 |
-
.foogallery_template_field td {
|
125 |
-
padding-bottom: 20px;
|
126 |
-
}
|
127 |
-
|
128 |
-
.foogallery_template_field th {
|
129 |
-
vertical-align: top;
|
130 |
-
text-align: left;
|
131 |
-
padding-top: 0.3em;
|
132 |
-
padding-right: 10px;
|
133 |
-
}
|
134 |
-
|
135 |
-
.foogallery_template_field textarea {
|
136 |
-
min-width: 500px;
|
137 |
-
min-height: 100px;
|
138 |
-
}
|
139 |
-
|
140 |
-
.foogallery_template_field.foogallery_template_field_type-help {
|
141 |
-
border-bottom: none;
|
142 |
-
}
|
143 |
-
|
144 |
-
.foogallery_template_field.foogallery_template_field_type-help td {
|
145 |
-
padding-bottom: 0;
|
146 |
-
}
|
147 |
-
|
148 |
-
.foogallery_template_field.foogallery_template_field_type-icon td {
|
149 |
-
padding-bottom: 0;
|
150 |
-
}
|
151 |
-
|
152 |
-
.foogallery_metabox_field-icon label {
|
153 |
-
display:inline-block;
|
154 |
-
margin-right:10px;
|
155 |
-
border:solid 3px transparent;
|
156 |
-
background:#aaa;
|
157 |
-
border-radius: 3px;
|
158 |
-
-moz-border-radius: 3px;
|
159 |
-
-webkit-border-radius: 3px;
|
160 |
-
padding:5px;
|
161 |
-
line-height: 0;
|
162 |
-
margin-bottom: 10px;
|
163 |
-
}
|
164 |
-
|
165 |
-
.foogallery_metabox_field-icon input:checked + label {
|
166 |
-
border:solid 3px #444;
|
167 |
-
background: #888;
|
168 |
-
}
|
169 |
-
|
170 |
-
.foogallery_metabox_field-icon label:hover {
|
171 |
-
border:solid 3px #444;
|
172 |
-
}
|
173 |
-
|
174 |
-
.foogallery_template_field.foogallery_template_field_type-htmlicon td {
|
175 |
-
padding-bottom: 0;
|
176 |
-
}
|
177 |
-
|
178 |
-
.foogallery_metabox_field-htmlicon label {
|
179 |
-
display:inline-block;
|
180 |
-
margin-right:10px;
|
181 |
-
border:solid 3px transparent;
|
182 |
-
background:#aaa;
|
183 |
-
border-radius: 3px;
|
184 |
-
-moz-border-radius: 3px;
|
185 |
-
-webkit-border-radius: 3px;
|
186 |
-
padding:5px;
|
187 |
-
line-height: 0;
|
188 |
-
margin-bottom: 10px;
|
189 |
-
}
|
190 |
-
|
191 |
-
.foogallery_template_field_id-lightbox_custom_button_theme .foogallery_metabox_field-htmlicon label,
|
192 |
-
.foogallery_template_field_id-lightbox_custom_button_highlight .foogallery_metabox_field-htmlicon label
|
193 |
-
{
|
194 |
-
padding:0px;
|
195 |
-
}
|
196 |
-
|
197 |
-
.foogallery_metabox_field-htmlicon input:checked + label {
|
198 |
-
border:solid 3px #444;
|
199 |
-
background: #888;
|
200 |
-
}
|
201 |
-
|
202 |
-
.foogallery_metabox_field-htmlicon label:hover {
|
203 |
-
border:solid 3px #444;
|
204 |
-
}
|
205 |
-
|
206 |
-
.foogallery_metabox_field-thumb_size label {
|
207 |
-
vertical-align: baseline;
|
208 |
-
}
|
209 |
-
|
210 |
-
.foogallery_metabox_field-thumb_size input[type="number"] {
|
211 |
-
margin-right: 10px;
|
212 |
-
margin-left: 10px;
|
213 |
-
}
|
214 |
-
|
215 |
-
.foogallery_template_field_type-text input.small-text {
|
216 |
-
width: 65px;
|
217 |
-
height: 28px;
|
218 |
-
line-height: 1;
|
219 |
-
}
|
220 |
-
|
221 |
-
#foogallery_pages ul li:hover .row-actions { visibility: visible; }
|
222 |
-
|
223 |
-
.foogallery-shortcode {
|
224 |
-
text-align: center;
|
225 |
-
}
|
226 |
-
|
227 |
-
.foogallery-shortcode input {
|
228 |
-
cursor: pointer;
|
229 |
-
text-align: center;
|
230 |
-
padding: 10px;
|
231 |
-
font-family: "courier new", courier;
|
232 |
-
border: none;
|
233 |
-
box-shadow: none;
|
234 |
-
background: #efefef;
|
235 |
-
}
|
236 |
-
|
237 |
-
.wp-list-table .foogallery-shortcode {
|
238 |
-
cursor: pointer;
|
239 |
-
font-size: 1em;
|
240 |
-
border: none;
|
241 |
-
box-shadow: none;
|
242 |
-
background: #efefef;
|
243 |
-
font-family: "courier new", courier;
|
244 |
-
}
|
245 |
-
|
246 |
-
.foogallery-shortcode-message {
|
247 |
-
font-style: italic;
|
248 |
-
color: #2EA2CC !important;
|
249 |
-
}
|
250 |
-
|
251 |
-
.foogallery-help {
|
252 |
-
position: relative;
|
253 |
-
display: block;
|
254 |
-
line-height: 19px;
|
255 |
-
padding: 11px 10px 11px 40px;
|
256 |
-
font-size: 14px;
|
257 |
-
text-align: left;
|
258 |
-
margin: 5px 0 0 2px;
|
259 |
-
background-color: #F4F4FF;
|
260 |
-
border-left: 4px solid #1e8cbe;
|
261 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
262 |
-
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
263 |
-
}
|
264 |
-
|
265 |
-
.foogallery-help:before {
|
266 |
-
content: "\f223";
|
267 |
-
font: 400 30px/1 dashicons !important;
|
268 |
-
speak: none;
|
269 |
-
color: #1e8cbe;
|
270 |
-
display: inline-block;
|
271 |
-
-webkit-font-smoothing: antialiased;
|
272 |
-
-moz-osx-font-smoothing: grayscale;
|
273 |
-
vertical-align: bottom;
|
274 |
-
position: absolute;
|
275 |
-
left: 5px;
|
276 |
-
margin-top: -15px;
|
277 |
-
top: 50%;
|
278 |
-
height: 1em;
|
279 |
-
}
|
280 |
-
|
281 |
-
#post-body.columns-2 #postbox-container-1 .foogallery-help {
|
282 |
-
padding-left: 11px;
|
283 |
-
margin-left: 5px;
|
284 |
-
}
|
285 |
-
|
286 |
-
#post-body.columns-2 #postbox-container-1 .foogallery-help:before {
|
287 |
-
content: '';
|
288 |
-
}
|
289 |
-
|
290 |
-
tr.foogallery_template_field[data-foogallery-hidden] {
|
291 |
-
display: none;
|
292 |
-
}
|
293 |
-
|
294 |
-
tr.foogallery_template_field[data-foogallery-invisible] {
|
295 |
-
display: none;
|
296 |
-
}
|
297 |
-
|
298 |
-
.foogallery_template_field_type-promo .foogallery-promo {
|
299 |
-
position: relative;
|
300 |
-
display: block;
|
301 |
-
line-height: 19px;
|
302 |
-
padding: 11px 10px 11px 40px;
|
303 |
-
font-size: 14px;
|
304 |
-
text-align: left;
|
305 |
-
margin: 5px 0 0 2px;
|
306 |
-
background-color: #f7fff6;
|
307 |
-
border-left: 4px solid #31be4d;
|
308 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
309 |
-
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
310 |
-
}
|
311 |
-
|
312 |
-
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo {
|
313 |
-
border-color: #3397C1;
|
314 |
-
background-color: #f6fffe;
|
315 |
-
}
|
316 |
-
|
317 |
-
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo {
|
318 |
-
border-color: #B0459D;
|
319 |
-
background-color: #fdf6ff;
|
320 |
-
}
|
321 |
-
|
322 |
-
.foogallery_template_field_type-promo .foogallery-promo:before {
|
323 |
-
/* content: "\f313"; award */
|
324 |
-
content: "\f155"; /* star */
|
325 |
-
font: 400 30px/1 dashicons !important;
|
326 |
-
speak: none;
|
327 |
-
color: #31be4d;
|
328 |
-
display: inline-block;
|
329 |
-
-webkit-font-smoothing: antialiased;
|
330 |
-
-moz-osx-font-smoothing: grayscale;
|
331 |
-
position: absolute;
|
332 |
-
left: 5px;
|
333 |
-
margin-top: -5px;
|
334 |
-
height: 1em;
|
335 |
-
}
|
336 |
-
|
337 |
-
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo:before {
|
338 |
-
color: #3397C1;
|
339 |
-
}
|
340 |
-
|
341 |
-
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo:before {
|
342 |
-
color: #B0459D;
|
343 |
-
}
|
344 |
-
|
345 |
-
#post-body.columns-2 #postbox-container-1 .foogallery-promo {
|
346 |
-
padding-left: 11px;
|
347 |
-
margin-left: 5px;
|
348 |
-
}
|
349 |
-
|
350 |
-
#post-body.columns-2 #postbox-container-1 .foogallery-promo:before {
|
351 |
-
content: '';
|
352 |
-
}
|
353 |
-
|
354 |
-
.foogallery_template_field_type-promo .foogallery-promo .button-primary {
|
355 |
-
background: #1d7b30;
|
356 |
-
border-color: #1d7b30;
|
357 |
-
margin-right: 10px;
|
358 |
-
}
|
359 |
-
|
360 |
-
.foogallery_template_field_type-promo .foogallery-promo .button-secondary {
|
361 |
-
border-color: #1d7b30;
|
362 |
-
color: #1d7b30;
|
363 |
-
}
|
364 |
-
|
365 |
-
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo .button-primary {
|
366 |
-
background: #3397C1;
|
367 |
-
border-color: #3397C1;
|
368 |
-
}
|
369 |
-
|
370 |
-
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo .button-secondary {
|
371 |
-
border-color: #3397C1;
|
372 |
-
color: #3397C1;
|
373 |
-
}
|
374 |
-
|
375 |
-
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo .button-primary {
|
376 |
-
background: #B0459D;
|
377 |
-
border-color: #B0459D;
|
378 |
-
}
|
379 |
-
|
380 |
-
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo .button-secondary {
|
381 |
-
border-color: #B0459D;
|
382 |
-
color: #B0459D;
|
383 |
-
}
|
384 |
-
|
385 |
-
.foogallery_template_field_promo th .dashicons {
|
386 |
-
color: #31be4d;
|
387 |
-
}
|
388 |
-
|
389 |
-
.foogallery_metabox_field-radio label.foogallery-promo i {
|
390 |
-
font: 400 15px/1 dashicons !important;
|
391 |
-
speak: none;
|
392 |
-
color: #31be4d;
|
393 |
-
vertical-align: inherit;
|
394 |
-
padding-left: 2px;
|
395 |
-
}
|
396 |
-
|
397 |
-
.foogallery_metabox_field-radio label.foogallery-promo-prostarter i {
|
398 |
-
font: 400 15px/1 dashicons !important;
|
399 |
-
speak: none;
|
400 |
-
color: #3397C1;
|
401 |
-
vertical-align: inherit;
|
402 |
-
padding-left: 2px;
|
403 |
-
}
|
404 |
-
|
405 |
-
.foogallery_metabox_field-radio label.foogallery_promo_commerce i {
|
406 |
-
font: 400 15px/1 dashicons !important;
|
407 |
-
speak: none;
|
408 |
-
color: #B0459D;
|
409 |
-
vertical-align: inherit;
|
410 |
-
padding-left: 2px;
|
411 |
-
}
|
412 |
-
|
413 |
-
/** <gallery settings styling overrides> **/
|
414 |
-
|
415 |
-
.foogallery-metabox-settings {
|
416 |
-
width: 100%;
|
417 |
-
border-collapse: collapse;
|
418 |
-
}
|
419 |
-
|
420 |
-
.foogallery-metabox-settings th {
|
421 |
-
font-weight: normal;
|
422 |
-
padding: 10px;
|
423 |
-
width: 200px;
|
424 |
-
}
|
425 |
-
|
426 |
-
.foogallery-metabox-settings tr {
|
427 |
-
border-bottom: solid 1px #EEE;
|
428 |
-
}
|
429 |
-
|
430 |
-
.foogallery-metabox-settings td {
|
431 |
-
padding: 10px;
|
432 |
-
}
|
433 |
-
|
434 |
-
.foogallery_metabox_field-radio > input,
|
435 |
-
.foogallery_metabox_field-radio > label {
|
436 |
-
margin-bottom: 10px;
|
437 |
-
display: inline-block;
|
438 |
-
}
|
439 |
-
|
440 |
-
.foogallery_metabox_field-radio input[type="checkbox"],
|
441 |
-
.foogallery_metabox_field-radio input[type="radio"] {
|
442 |
-
margin: 0 0 10px 0;
|
443 |
-
}
|
444 |
-
|
445 |
-
.foogallery_metabox_field-select select {
|
446 |
-
min-width: 250px;
|
447 |
-
}
|
448 |
-
|
449 |
-
.foogallery-thumbsize-crop {
|
450 |
-
margin-top: 10px;
|
451 |
-
}
|
452 |
-
|
453 |
-
.foogallery_metabox_field-checkboxlist > input,
|
454 |
-
.foogallery_metabox_field-checkboxlist > label {
|
455 |
-
margin-bottom: 10px;
|
456 |
-
display: inline-block;
|
457 |
-
}
|
458 |
-
|
459 |
-
.foogallery_metabox_field-checkboxlist input[type="checkbox"] {
|
460 |
-
margin: 0 0 10px 0;
|
461 |
-
}
|
462 |
-
|
463 |
-
/** </gallery settings styling overrides> **/
|
464 |
-
|
465 |
-
.foogallery_metabox_custom_css {
|
466 |
-
width: 100%;
|
467 |
-
height: 10em;
|
468 |
-
}
|
469 |
-
|
470 |
-
.foo-nav-tabs a:focus {
|
471 |
-
box-shadow: none;
|
472 |
-
outline: 0;
|
473 |
-
}
|
474 |
-
|
475 |
-
.foogallery-thumbnail-preview {
|
476 |
-
display: inline-block;
|
477 |
-
}
|
478 |
-
|
479 |
-
#foogallery_apply_retina_support_container {
|
480 |
-
margin-top: 5px;
|
481 |
-
}
|
482 |
-
|
483 |
-
.widefat th.column-icon {
|
484 |
-
width: 60px;
|
485 |
-
}
|
486 |
-
|
487 |
-
#foogallery_settings .inside {
|
488 |
-
margin: 0;
|
489 |
-
padding: 0;
|
490 |
-
}
|
491 |
-
/** Balloon.css **/
|
492 |
-
button[data-balloon]{overflow:visible}[data-balloon]{position:relative}[data-balloon]:after,[data-balloon]:before{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-khtml-opacity:0;-moz-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;bottom:100%;left:50%;position:absolute;z-index:10;-webkit-transform:translate(-50%,10px);-ms-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon]:after{background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);font-size:12px;padding:.5em 1em;white-space:nowrap;margin-bottom:11px}[data-balloon]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:6px;width:18px;content:"";margin-bottom:5px}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;pointer-events:auto;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon-pos=down]:after,[data-balloon-pos=down]:before{bottom:auto;left:50%;top:100%;-webkit-transform:translate(-50%,-10px);-ms-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon-pos=down]:after{margin-top:11px}[data-balloon-pos=down]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:6px;width:18px;margin-top:5px;margin-bottom:0}[data-balloon-pos=down]:hover:after,[data-balloon-pos=down]:hover:before,[data-balloon-pos=down][data-balloon-visible]:after,[data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}[data-balloon-pos=left]:after,[data-balloon-pos=left]:before{bottom:auto;left:auto;right:100%;top:50%;-webkit-transform:translate(10px,-50%);-ms-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon-pos=left]:after{margin-right:11px}[data-balloon-pos=left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:18px;width:6px;margin-right:5px;margin-bottom:0}[data-balloon-pos=left]:hover:after,[data-balloon-pos=left]:hover:before,[data-balloon-pos=left][data-balloon-visible]:after,[data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%)}[data-balloon-pos=right]:after,[data-balloon-pos=right]:before{bottom:auto;left:100%;top:50%;-webkit-transform:translate(-10px,-50%);-ms-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon-pos=right]:after{margin-left:11px}[data-balloon-pos=right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:18px;width:6px;margin-bottom:0;margin-left:5px}[data-balloon-pos=right]:hover:after,[data-balloon-pos=right]:hover:before,[data-balloon-pos=right][data-balloon-visible]:after,[data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%)}[data-balloon-length]:after{white-space:normal}[data-balloon-length=small]:after{width:80px}[data-balloon-length=medium]:after{width:150px}[data-balloon-length=large]:after{width:260px}[data-balloon-length=xlarge]:after{width:90vw}@media screen and (min-width:768px){[data-balloon-length=xlarge]:after{width:380px}}[data-balloon-length=fit]:after{width:100%}
|
493 |
-
|
494 |
-
/** Balloon.css overrides **/
|
495 |
-
[data-balloon]:after,
|
496 |
-
[data-balloon]:before {
|
497 |
-
text-align: center;
|
498 |
-
line-height: 1.2em;
|
499 |
-
}
|
500 |
-
|
501 |
-
.foogallery-items-view-switch-container.hidden {
|
502 |
-
display: none;
|
503 |
-
}
|
504 |
-
|
505 |
-
.foogallery-items-view-switch-container {
|
506 |
-
display: inline-block;
|
507 |
-
margin-left: 10px;
|
508 |
-
}
|
509 |
-
|
510 |
-
.foogallery-items-view-switch-container .spinner {
|
511 |
-
margin: 2px 10px 0;
|
512 |
-
}
|
513 |
-
|
514 |
-
.foogallery-items-view-switch {
|
515 |
-
vertical-align: middle;
|
516 |
-
display: inline-block;
|
517 |
-
}
|
518 |
-
|
519 |
-
.foogallery-items-view-switch a {
|
520 |
-
font-size: 11px;
|
521 |
-
padding: 4px 10px;
|
522 |
-
line-height: 12px;
|
523 |
-
border: 1px solid #2271b1;
|
524 |
-
float: left;
|
525 |
-
display: inline-block;
|
526 |
-
text-decoration: none;
|
527 |
-
margin: 0;
|
528 |
-
border-radius: 3px;
|
529 |
-
text-align: center;
|
530 |
-
white-space: nowrap;
|
531 |
-
vertical-align: middle;
|
532 |
-
-ms-touch-action: manipulation;
|
533 |
-
touch-action: manipulation;
|
534 |
-
cursor: pointer;
|
535 |
-
-webkit-user-select: none;
|
536 |
-
-moz-user-select: none;
|
537 |
-
-ms-user-select: none;
|
538 |
-
user-select: none;
|
539 |
-
/*background: #f7f7f7;*/
|
540 |
-
/*color: #555;*/
|
541 |
-
|
542 |
-
color: #2271b1;
|
543 |
-
background: #f6f7f7;
|
544 |
-
}
|
545 |
-
.foogallery-items-view-switch a:hover {
|
546 |
-
background: #f0f0f1;
|
547 |
-
border-color: #0a4b78;
|
548 |
-
color: #0a4b78;
|
549 |
-
}
|
550 |
-
.foogallery-items-view-switch a:focus {
|
551 |
-
box-shadow: none;
|
552 |
-
outline: none;
|
553 |
-
}
|
554 |
-
|
555 |
-
.foogallery-items-view-switch a:first-child:not(:last-child) {
|
556 |
-
border-top-right-radius: 0;
|
557 |
-
border-bottom-right-radius: 0;
|
558 |
-
border-right: none;
|
559 |
-
}
|
560 |
-
|
561 |
-
.foogallery-items-view-switch a:last-child:not(:first-child) {
|
562 |
-
border-top-left-radius: 0;
|
563 |
-
border-bottom-left-radius: 0;
|
564 |
-
border-left: none;
|
565 |
-
}
|
566 |
-
|
567 |
-
.foogallery-items-view-switch a:first-child {
|
568 |
-
margin-right: 0;
|
569 |
-
}
|
570 |
-
|
571 |
-
.foogallery-items-view-switch a.current {
|
572 |
-
background: #2271b1;
|
573 |
-
border-color: #2271b1;
|
574 |
-
color: #fff;
|
575 |
-
}
|
576 |
-
|
577 |
-
.foogallery-items-view-switch a.current:hover {
|
578 |
-
background: #135e96;
|
579 |
-
border-color: #135e96;
|
580 |
-
color: #fff;
|
581 |
-
}
|
582 |
-
|
583 |
-
.foogallery-items-view-switch a+a {
|
584 |
-
margin-left: -1px;
|
585 |
-
}
|
586 |
-
|
587 |
-
.foogallery-gallery-items-metabox-title {
|
588 |
-
float:none;
|
589 |
-
}
|
590 |
-
|
591 |
-
.foogallery_preview_container {
|
592 |
-
position: relative;
|
593 |
-
padding: 10px;
|
594 |
-
}
|
595 |
-
|
596 |
-
.foogallery-items-add {
|
597 |
-
padding:20px;
|
598 |
-
text-align: center
|
599 |
-
}
|
600 |
-
.foogallery-items-view-preview {
|
601 |
-
overflow: hidden;
|
602 |
-
}
|
603 |
-
|
604 |
-
.foogallery-items-view .button-hero .dashicons {
|
605 |
-
vertical-align: middle;
|
606 |
-
padding-right: 10px;
|
607 |
-
width: 24px;
|
608 |
-
height: 24px;
|
609 |
-
font-size: 24px;
|
610 |
-
font-weight: normal;
|
611 |
-
}
|
612 |
-
|
613 |
-
.foogallery_preview_container.loading:after {
|
614 |
-
content: '';
|
615 |
-
position: absolute;
|
616 |
-
top: 0;
|
617 |
-
left: 0;
|
618 |
-
right: 0;
|
619 |
-
bottom: 0;
|
620 |
-
background: #fff;
|
621 |
-
opacity: 0.8;
|
622 |
-
z-index: 159900;
|
623 |
-
}
|
624 |
-
|
625 |
-
.fs-submenu-item.foogallery {
|
626 |
-
font-size: 13px;
|
627 |
-
line-height: 1.2;
|
628 |
-
}
|
629 |
-
|
630 |
-
.foogallery_template_field_type-thumb_size_no_crop input.small-text+label {
|
631 |
-
margin-left: 10px;
|
632 |
-
}
|
633 |
-
|
634 |
-
.foogallery_template_field_type-thumb_size_no_crop label+input {
|
635 |
-
margin-left: 5px;
|
636 |
-
}
|
637 |
-
|
638 |
-
/* changes to the media modal */
|
639 |
-
.compat-item .compat-attachment-fields th.label label span {
|
640 |
-
text-align: left;
|
641 |
-
}
|
642 |
-
|
643 |
-
.compat-item .compat-attachment-fields td.field {
|
644 |
-
width: 100%;
|
645 |
-
margin: 0;
|
646 |
-
}
|
647 |
-
|
648 |
-
.foogallery-attachments-list {
|
649 |
-
max-height: 486px;
|
650 |
-
/*max-height: 324px;*/
|
651 |
-
/*max-height: 162px;*/
|
652 |
-
overflow: scroll;
|
653 |
-
overflow-x: hidden;
|
654 |
-
list-style: none;
|
655 |
-
border: 1px solid #ccd0d4;
|
656 |
-
padding: 10px;
|
657 |
-
}
|
658 |
-
.foogallery-attachments-list:after,
|
659 |
-
.foogallery-attachments-list-bar:after {
|
660 |
-
content: '';
|
661 |
-
display: block;
|
662 |
-
clear: both;
|
663 |
-
}
|
664 |
-
|
665 |
-
.foogallery-attachments-list-bar button.alignright {
|
666 |
-
margin-left: 5px;
|
667 |
-
}
|
668 |
-
|
669 |
-
.foogallery-custom-metabox-header {
|
670 |
-
justify-content: flex-start !important;
|
671 |
-
}
|
672 |
-
|
673 |
-
.foogallery-custom-metabox-header .foogallery-template-selector {
|
674 |
-
margin-left: 10px;
|
675 |
-
}
|
676 |
-
|
677 |
-
.foogallery-custom-metabox-header .foogallery-template-selector select {
|
678 |
-
font-size: 13px;
|
679 |
-
margin-left: 6px;
|
680 |
}
|
1 |
+
.foogallery-attachments-list .add-attachment {
|
2 |
+
background: #ddd;
|
3 |
+
border: #888 1px dashed;
|
4 |
+
position: relative;
|
5 |
+
float: left;
|
6 |
+
padding: 0;
|
7 |
+
color: #464646;
|
8 |
+
list-style: none;
|
9 |
+
text-align: center;
|
10 |
+
-webkit-user-select: none;
|
11 |
+
-moz-user-select: none;
|
12 |
+
-ms-user-select: none;
|
13 |
+
-o-user-select: none;
|
14 |
+
user-select: none;
|
15 |
+
}
|
16 |
+
|
17 |
+
.foogallery-attachments-list .add-attachment a {
|
18 |
+
display: table-cell;
|
19 |
+
vertical-align: middle;
|
20 |
+
height: 150px;
|
21 |
+
text-align: center;
|
22 |
+
width: 150px;
|
23 |
+
color:#666;
|
24 |
+
font-weight: bold;
|
25 |
+
text-decoration: none;
|
26 |
+
}
|
27 |
+
|
28 |
+
.foogallery-attachments-list .add-attachment a:hover {
|
29 |
+
color:#444;
|
30 |
+
}
|
31 |
+
|
32 |
+
.foogallery-attachments-list .add-attachment a div.dashicons {
|
33 |
+
font-size:50px;
|
34 |
+
width: 50px;
|
35 |
+
height: 50px;
|
36 |
+
}
|
37 |
+
|
38 |
+
.foogallery-attachments-list .add-attachment a span {
|
39 |
+
display: block;
|
40 |
+
}
|
41 |
+
|
42 |
+
|
43 |
+
.foogallery-attachments-list .attachment-preview,
|
44 |
+
.foogallery-attachments-list .attachment-preview .thumbnail {
|
45 |
+
width: 150px;
|
46 |
+
height: 150px;
|
47 |
+
cursor:move;
|
48 |
+
}
|
49 |
+
|
50 |
+
.foogallery-attachments-list .attachment {
|
51 |
+
border: transparent 1px solid;
|
52 |
+
box-shadow: none !important;
|
53 |
+
width: auto !important;
|
54 |
+
padding: 0 !important;
|
55 |
+
}
|
56 |
+
|
57 |
+
.foogallery-attachments-list .attachment.placeholder {
|
58 |
+
width: 150px !important;
|
59 |
+
height: 150px;
|
60 |
+
border: #1e8cbe 1px dashed;
|
61 |
+
background: #eee;
|
62 |
+
}
|
63 |
+
|
64 |
+
.foogallery-attachments-list li {
|
65 |
+
margin: 0px 10px 10px 0px !important;
|
66 |
+
}
|
67 |
+
|
68 |
+
.foogallery-attachments-list .attachment.ui-sortable-helper {
|
69 |
+
opacity: 0.5;
|
70 |
+
}
|
71 |
+
|
72 |
+
.foogallery-attachments-list .attachment.ui-sortable-helper:hover .close {
|
73 |
+
display: none;
|
74 |
+
}
|
75 |
+
|
76 |
+
.foogallery-attachments-list input.describe {
|
77 |
+
margin:0;
|
78 |
+
width: 150px;
|
79 |
+
font-size: 12px;
|
80 |
+
}
|
81 |
+
|
82 |
+
.foogallery-attachments-list .attachment .attachment-preview a {
|
83 |
+
display: none;
|
84 |
+
position: absolute;
|
85 |
+
padding: 0;
|
86 |
+
font-size: 20px;
|
87 |
+
line-height: 20px;
|
88 |
+
text-align: center;
|
89 |
+
text-decoration: none;
|
90 |
+
background-color: #444;
|
91 |
+
border-top-right-radius: 50%;
|
92 |
+
border-top-left-radius: 50%;
|
93 |
+
border-bottom-right-radius: 50%;
|
94 |
+
border-bottom-left-radius: 50%;
|
95 |
+
}
|
96 |
+
|
97 |
+
.foogallery-attachments-list .attachment .attachment-preview:hover a {
|
98 |
+
display: block;
|
99 |
+
}
|
100 |
+
|
101 |
+
.foogallery-attachments-list .attachment .attachment-preview a span {
|
102 |
+
color:#fff;
|
103 |
+
}
|
104 |
+
|
105 |
+
.foogallery-attachments-list .attachment .attachment-preview a:hover span {
|
106 |
+
color:#ddd;
|
107 |
+
}
|
108 |
+
|
109 |
+
.foogallery-attachments-list .attachment .attachment-preview a.remove {
|
110 |
+
top: 5px;
|
111 |
+
right: 5px;
|
112 |
+
}
|
113 |
+
|
114 |
+
.foogallery-attachments-list .attachment .attachment-preview a.info {
|
115 |
+
top: 5px;
|
116 |
+
left: 5px;
|
117 |
+
}
|
118 |
+
|
119 |
+
.spacer {
|
120 |
+
display: inline-block;
|
121 |
+
width:30px;
|
122 |
+
}
|
123 |
+
|
124 |
+
.foogallery_template_field td {
|
125 |
+
padding-bottom: 20px;
|
126 |
+
}
|
127 |
+
|
128 |
+
.foogallery_template_field th {
|
129 |
+
vertical-align: top;
|
130 |
+
text-align: left;
|
131 |
+
padding-top: 0.3em;
|
132 |
+
padding-right: 10px;
|
133 |
+
}
|
134 |
+
|
135 |
+
.foogallery_template_field textarea {
|
136 |
+
min-width: 500px;
|
137 |
+
min-height: 100px;
|
138 |
+
}
|
139 |
+
|
140 |
+
.foogallery_template_field.foogallery_template_field_type-help {
|
141 |
+
border-bottom: none;
|
142 |
+
}
|
143 |
+
|
144 |
+
.foogallery_template_field.foogallery_template_field_type-help td {
|
145 |
+
padding-bottom: 0;
|
146 |
+
}
|
147 |
+
|
148 |
+
.foogallery_template_field.foogallery_template_field_type-icon td {
|
149 |
+
padding-bottom: 0;
|
150 |
+
}
|
151 |
+
|
152 |
+
.foogallery_metabox_field-icon label {
|
153 |
+
display:inline-block;
|
154 |
+
margin-right:10px;
|
155 |
+
border:solid 3px transparent;
|
156 |
+
background:#aaa;
|
157 |
+
border-radius: 3px;
|
158 |
+
-moz-border-radius: 3px;
|
159 |
+
-webkit-border-radius: 3px;
|
160 |
+
padding:5px;
|
161 |
+
line-height: 0;
|
162 |
+
margin-bottom: 10px;
|
163 |
+
}
|
164 |
+
|
165 |
+
.foogallery_metabox_field-icon input:checked + label {
|
166 |
+
border:solid 3px #444;
|
167 |
+
background: #888;
|
168 |
+
}
|
169 |
+
|
170 |
+
.foogallery_metabox_field-icon label:hover {
|
171 |
+
border:solid 3px #444;
|
172 |
+
}
|
173 |
+
|
174 |
+
.foogallery_template_field.foogallery_template_field_type-htmlicon td {
|
175 |
+
padding-bottom: 0;
|
176 |
+
}
|
177 |
+
|
178 |
+
.foogallery_metabox_field-htmlicon label {
|
179 |
+
display:inline-block;
|
180 |
+
margin-right:10px;
|
181 |
+
border:solid 3px transparent;
|
182 |
+
background:#aaa;
|
183 |
+
border-radius: 3px;
|
184 |
+
-moz-border-radius: 3px;
|
185 |
+
-webkit-border-radius: 3px;
|
186 |
+
padding:5px;
|
187 |
+
line-height: 0;
|
188 |
+
margin-bottom: 10px;
|
189 |
+
}
|
190 |
+
|
191 |
+
.foogallery_template_field_id-lightbox_custom_button_theme .foogallery_metabox_field-htmlicon label,
|
192 |
+
.foogallery_template_field_id-lightbox_custom_button_highlight .foogallery_metabox_field-htmlicon label
|
193 |
+
{
|
194 |
+
padding:0px;
|
195 |
+
}
|
196 |
+
|
197 |
+
.foogallery_metabox_field-htmlicon input:checked + label {
|
198 |
+
border:solid 3px #444;
|
199 |
+
background: #888;
|
200 |
+
}
|
201 |
+
|
202 |
+
.foogallery_metabox_field-htmlicon label:hover {
|
203 |
+
border:solid 3px #444;
|
204 |
+
}
|
205 |
+
|
206 |
+
.foogallery_metabox_field-thumb_size label {
|
207 |
+
vertical-align: baseline;
|
208 |
+
}
|
209 |
+
|
210 |
+
.foogallery_metabox_field-thumb_size input[type="number"] {
|
211 |
+
margin-right: 10px;
|
212 |
+
margin-left: 10px;
|
213 |
+
}
|
214 |
+
|
215 |
+
.foogallery_template_field_type-text input.small-text {
|
216 |
+
width: 65px;
|
217 |
+
height: 28px;
|
218 |
+
line-height: 1;
|
219 |
+
}
|
220 |
+
|
221 |
+
#foogallery_pages ul li:hover .row-actions { visibility: visible; }
|
222 |
+
|
223 |
+
.foogallery-shortcode {
|
224 |
+
text-align: center;
|
225 |
+
}
|
226 |
+
|
227 |
+
.foogallery-shortcode input {
|
228 |
+
cursor: pointer;
|
229 |
+
text-align: center;
|
230 |
+
padding: 10px;
|
231 |
+
font-family: "courier new", courier;
|
232 |
+
border: none;
|
233 |
+
box-shadow: none;
|
234 |
+
background: #efefef;
|
235 |
+
}
|
236 |
+
|
237 |
+
.wp-list-table .foogallery-shortcode {
|
238 |
+
cursor: pointer;
|
239 |
+
font-size: 1em;
|
240 |
+
border: none;
|
241 |
+
box-shadow: none;
|
242 |
+
background: #efefef;
|
243 |
+
font-family: "courier new", courier;
|
244 |
+
}
|
245 |
+
|
246 |
+
.foogallery-shortcode-message {
|
247 |
+
font-style: italic;
|
248 |
+
color: #2EA2CC !important;
|
249 |
+
}
|
250 |
+
|
251 |
+
.foogallery-help {
|
252 |
+
position: relative;
|
253 |
+
display: block;
|
254 |
+
line-height: 19px;
|
255 |
+
padding: 11px 10px 11px 40px;
|
256 |
+
font-size: 14px;
|
257 |
+
text-align: left;
|
258 |
+
margin: 5px 0 0 2px;
|
259 |
+
background-color: #F4F4FF;
|
260 |
+
border-left: 4px solid #1e8cbe;
|
261 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
262 |
+
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
263 |
+
}
|
264 |
+
|
265 |
+
.foogallery-help:before {
|
266 |
+
content: "\f223";
|
267 |
+
font: 400 30px/1 dashicons !important;
|
268 |
+
speak: none;
|
269 |
+
color: #1e8cbe;
|
270 |
+
display: inline-block;
|
271 |
+
-webkit-font-smoothing: antialiased;
|
272 |
+
-moz-osx-font-smoothing: grayscale;
|
273 |
+
vertical-align: bottom;
|
274 |
+
position: absolute;
|
275 |
+
left: 5px;
|
276 |
+
margin-top: -15px;
|
277 |
+
top: 50%;
|
278 |
+
height: 1em;
|
279 |
+
}
|
280 |
+
|
281 |
+
#post-body.columns-2 #postbox-container-1 .foogallery-help {
|
282 |
+
padding-left: 11px;
|
283 |
+
margin-left: 5px;
|
284 |
+
}
|
285 |
+
|
286 |
+
#post-body.columns-2 #postbox-container-1 .foogallery-help:before {
|
287 |
+
content: '';
|
288 |
+
}
|
289 |
+
|
290 |
+
tr.foogallery_template_field[data-foogallery-hidden] {
|
291 |
+
display: none;
|
292 |
+
}
|
293 |
+
|
294 |
+
tr.foogallery_template_field[data-foogallery-invisible] {
|
295 |
+
display: none;
|
296 |
+
}
|
297 |
+
|
298 |
+
.foogallery_template_field_type-promo .foogallery-promo {
|
299 |
+
position: relative;
|
300 |
+
display: block;
|
301 |
+
line-height: 19px;
|
302 |
+
padding: 11px 10px 11px 40px;
|
303 |
+
font-size: 14px;
|
304 |
+
text-align: left;
|
305 |
+
margin: 5px 0 0 2px;
|
306 |
+
background-color: #f7fff6;
|
307 |
+
border-left: 4px solid #31be4d;
|
308 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
309 |
+
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
310 |
+
}
|
311 |
+
|
312 |
+
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo {
|
313 |
+
border-color: #3397C1;
|
314 |
+
background-color: #f6fffe;
|
315 |
+
}
|
316 |
+
|
317 |
+
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo {
|
318 |
+
border-color: #B0459D;
|
319 |
+
background-color: #fdf6ff;
|
320 |
+
}
|
321 |
+
|
322 |
+
.foogallery_template_field_type-promo .foogallery-promo:before {
|
323 |
+
/* content: "\f313"; award */
|
324 |
+
content: "\f155"; /* star */
|
325 |
+
font: 400 30px/1 dashicons !important;
|
326 |
+
speak: none;
|
327 |
+
color: #31be4d;
|
328 |
+
display: inline-block;
|
329 |
+
-webkit-font-smoothing: antialiased;
|
330 |
+
-moz-osx-font-smoothing: grayscale;
|
331 |
+
position: absolute;
|
332 |
+
left: 5px;
|
333 |
+
margin-top: -5px;
|
334 |
+
height: 1em;
|
335 |
+
}
|
336 |
+
|
337 |
+
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo:before {
|
338 |
+
color: #3397C1;
|
339 |
+
}
|
340 |
+
|
341 |
+
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo:before {
|
342 |
+
color: #B0459D;
|
343 |
+
}
|
344 |
+
|
345 |
+
#post-body.columns-2 #postbox-container-1 .foogallery-promo {
|
346 |
+
padding-left: 11px;
|
347 |
+
margin-left: 5px;
|
348 |
+
}
|
349 |
+
|
350 |
+
#post-body.columns-2 #postbox-container-1 .foogallery-promo:before {
|
351 |
+
content: '';
|
352 |
+
}
|
353 |
+
|
354 |
+
.foogallery_template_field_type-promo .foogallery-promo .button-primary {
|
355 |
+
background: #1d7b30;
|
356 |
+
border-color: #1d7b30;
|
357 |
+
margin-right: 10px;
|
358 |
+
}
|
359 |
+
|
360 |
+
.foogallery_template_field_type-promo .foogallery-promo .button-secondary {
|
361 |
+
border-color: #1d7b30;
|
362 |
+
color: #1d7b30;
|
363 |
+
}
|
364 |
+
|
365 |
+
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo .button-primary {
|
366 |
+
background: #3397C1;
|
367 |
+
border-color: #3397C1;
|
368 |
+
}
|
369 |
+
|
370 |
+
.foogallery_template_field_type-promo.foogallery_promo_prostarter .foogallery-promo .button-secondary {
|
371 |
+
border-color: #3397C1;
|
372 |
+
color: #3397C1;
|
373 |
+
}
|
374 |
+
|
375 |
+
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo .button-primary {
|
376 |
+
background: #B0459D;
|
377 |
+
border-color: #B0459D;
|
378 |
+
}
|
379 |
+
|
380 |
+
.foogallery_template_field_type-promo.foogallery_promo_commerce .foogallery-promo .button-secondary {
|
381 |
+
border-color: #B0459D;
|
382 |
+
color: #B0459D;
|
383 |
+
}
|
384 |
+
|
385 |
+
.foogallery_template_field_promo th .dashicons {
|
386 |
+
color: #31be4d;
|
387 |
+
}
|
388 |
+
|
389 |
+
.foogallery_metabox_field-radio label.foogallery-promo i {
|
390 |
+
font: 400 15px/1 dashicons !important;
|
391 |
+
speak: none;
|
392 |
+
color: #31be4d;
|
393 |
+
vertical-align: inherit;
|
394 |
+
padding-left: 2px;
|
395 |
+
}
|
396 |
+
|
397 |
+
.foogallery_metabox_field-radio label.foogallery-promo-prostarter i {
|
398 |
+
font: 400 15px/1 dashicons !important;
|
399 |
+
speak: none;
|
400 |
+
color: #3397C1;
|
401 |
+
vertical-align: inherit;
|
402 |
+
padding-left: 2px;
|
403 |
+
}
|
404 |
+
|
405 |
+
.foogallery_metabox_field-radio label.foogallery_promo_commerce i {
|
406 |
+
font: 400 15px/1 dashicons !important;
|
407 |
+
speak: none;
|
408 |
+
color: #B0459D;
|
409 |
+
vertical-align: inherit;
|
410 |
+
padding-left: 2px;
|
411 |
+
}
|
412 |
+
|
413 |
+
/** <gallery settings styling overrides> **/
|
414 |
+
|
415 |
+
.foogallery-metabox-settings {
|
416 |
+
width: 100%;
|
417 |
+
border-collapse: collapse;
|
418 |
+
}
|
419 |
+
|
420 |
+
.foogallery-metabox-settings th {
|
421 |
+
font-weight: normal;
|
422 |
+
padding: 10px;
|
423 |
+
width: 200px;
|
424 |
+
}
|
425 |
+
|
426 |
+
.foogallery-metabox-settings tr {
|
427 |
+
border-bottom: solid 1px #EEE;
|
428 |
+
}
|
429 |
+
|
430 |
+
.foogallery-metabox-settings td {
|
431 |
+
padding: 10px;
|
432 |
+
}
|
433 |
+
|
434 |
+
.foogallery_metabox_field-radio > input,
|
435 |
+
.foogallery_metabox_field-radio > label {
|
436 |
+
margin-bottom: 10px;
|
437 |
+
display: inline-block;
|
438 |
+
}
|
439 |
+
|
440 |
+
.foogallery_metabox_field-radio input[type="checkbox"],
|
441 |
+
.foogallery_metabox_field-radio input[type="radio"] {
|
442 |
+
margin: 0 0 10px 0;
|
443 |
+
}
|
444 |
+
|
445 |
+
.foogallery_metabox_field-select select {
|
446 |
+
min-width: 250px;
|
447 |
+
}
|
448 |
+
|
449 |
+
.foogallery-thumbsize-crop {
|
450 |
+
margin-top: 10px;
|
451 |
+
}
|
452 |
+
|
453 |
+
.foogallery_metabox_field-checkboxlist > input,
|
454 |
+
.foogallery_metabox_field-checkboxlist > label {
|
455 |
+
margin-bottom: 10px;
|
456 |
+
display: inline-block;
|
457 |
+
}
|
458 |
+
|
459 |
+
.foogallery_metabox_field-checkboxlist input[type="checkbox"] {
|
460 |
+
margin: 0 0 10px 0;
|
461 |
+
}
|
462 |
+
|
463 |
+
/** </gallery settings styling overrides> **/
|
464 |
+
|
465 |
+
.foogallery_metabox_custom_css {
|
466 |
+
width: 100%;
|
467 |
+
height: 10em;
|
468 |
+
}
|
469 |
+
|
470 |
+
.foo-nav-tabs a:focus {
|
471 |
+
box-shadow: none;
|
472 |
+
outline: 0;
|
473 |
+
}
|
474 |
+
|
475 |
+
.foogallery-thumbnail-preview {
|
476 |
+
display: inline-block;
|
477 |
+
}
|
478 |
+
|
479 |
+
#foogallery_apply_retina_support_container {
|
480 |
+
margin-top: 5px;
|
481 |
+
}
|
482 |
+
|
483 |
+
.widefat th.column-icon {
|
484 |
+
width: 60px;
|
485 |
+
}
|
486 |
+
|
487 |
+
#foogallery_settings .inside {
|
488 |
+
margin: 0;
|
489 |
+
padding: 0;
|
490 |
+
}
|
491 |
+
/** Balloon.css **/
|
492 |
+
button[data-balloon]{overflow:visible}[data-balloon]{position:relative}[data-balloon]:after,[data-balloon]:before{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-khtml-opacity:0;-moz-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;bottom:100%;left:50%;position:absolute;z-index:10;-webkit-transform:translate(-50%,10px);-ms-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon]:after{background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);font-size:12px;padding:.5em 1em;white-space:nowrap;margin-bottom:11px}[data-balloon]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:6px;width:18px;content:"";margin-bottom:5px}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;pointer-events:auto;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon-pos=down]:after,[data-balloon-pos=down]:before{bottom:auto;left:50%;top:100%;-webkit-transform:translate(-50%,-10px);-ms-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon-pos=down]:after{margin-top:11px}[data-balloon-pos=down]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:6px;width:18px;margin-top:5px;margin-bottom:0}[data-balloon-pos=down]:hover:after,[data-balloon-pos=down]:hover:before,[data-balloon-pos=down][data-balloon-visible]:after,[data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}[data-balloon-pos=left]:after,[data-balloon-pos=left]:before{bottom:auto;left:auto;right:100%;top:50%;-webkit-transform:translate(10px,-50%);-ms-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon-pos=left]:after{margin-right:11px}[data-balloon-pos=left]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:18px;width:6px;margin-right:5px;margin-bottom:0}[data-balloon-pos=left]:hover:after,[data-balloon-pos=left]:hover:before,[data-balloon-pos=left][data-balloon-visible]:after,[data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%)}[data-balloon-pos=right]:after,[data-balloon-pos=right]:before{bottom:auto;left:100%;top:50%;-webkit-transform:translate(-10px,-50%);-ms-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon-pos=right]:after{margin-left:11px}[data-balloon-pos=right]:before{background:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') no-repeat;background-size:100% auto;height:18px;width:6px;margin-bottom:0;margin-left:5px}[data-balloon-pos=right]:hover:after,[data-balloon-pos=right]:hover:before,[data-balloon-pos=right][data-balloon-visible]:after,[data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%)}[data-balloon-length]:after{white-space:normal}[data-balloon-length=small]:after{width:80px}[data-balloon-length=medium]:after{width:150px}[data-balloon-length=large]:after{width:260px}[data-balloon-length=xlarge]:after{width:90vw}@media screen and (min-width:768px){[data-balloon-length=xlarge]:after{width:380px}}[data-balloon-length=fit]:after{width:100%}
|
493 |
+
|
494 |
+
/** Balloon.css overrides **/
|
495 |
+
[data-balloon]:after,
|
496 |
+
[data-balloon]:before {
|
497 |
+
text-align: center;
|
498 |
+
line-height: 1.2em;
|
499 |
+
}
|
500 |
+
|
501 |
+
.foogallery-items-view-switch-container.hidden {
|
502 |
+
display: none;
|
503 |
+
}
|
504 |
+
|
505 |
+
.foogallery-items-view-switch-container {
|
506 |
+
display: inline-block;
|
507 |
+
margin-left: 10px;
|
508 |
+
}
|
509 |
+
|
510 |
+
.foogallery-items-view-switch-container .spinner {
|
511 |
+
margin: 2px 10px 0;
|
512 |
+
}
|
513 |
+
|
514 |
+
.foogallery-items-view-switch {
|
515 |
+
vertical-align: middle;
|
516 |
+
display: inline-block;
|
517 |
+
}
|
518 |
+
|
519 |
+
.foogallery-items-view-switch a {
|
520 |
+
font-size: 11px;
|
521 |
+
padding: 4px 10px;
|
522 |
+
line-height: 12px;
|
523 |
+
border: 1px solid #2271b1;
|
524 |
+
float: left;
|
525 |
+
display: inline-block;
|
526 |
+
text-decoration: none;
|
527 |
+
margin: 0;
|
528 |
+
border-radius: 3px;
|
529 |
+
text-align: center;
|
530 |
+
white-space: nowrap;
|
531 |
+
vertical-align: middle;
|
532 |
+
-ms-touch-action: manipulation;
|
533 |
+
touch-action: manipulation;
|
534 |
+
cursor: pointer;
|
535 |
+
-webkit-user-select: none;
|
536 |
+
-moz-user-select: none;
|
537 |
+
-ms-user-select: none;
|
538 |
+
user-select: none;
|
539 |
+
/*background: #f7f7f7;*/
|
540 |
+
/*color: #555;*/
|
541 |
+
|
542 |
+
color: #2271b1;
|
543 |
+
background: #f6f7f7;
|
544 |
+
}
|
545 |
+
.foogallery-items-view-switch a:hover {
|
546 |
+
background: #f0f0f1;
|
547 |
+
border-color: #0a4b78;
|
548 |
+
color: #0a4b78;
|
549 |
+
}
|
550 |
+
.foogallery-items-view-switch a:focus {
|
551 |
+
box-shadow: none;
|
552 |
+
outline: none;
|
553 |
+
}
|
554 |
+
|
555 |
+
.foogallery-items-view-switch a:first-child:not(:last-child) {
|
556 |
+
border-top-right-radius: 0;
|
557 |
+
border-bottom-right-radius: 0;
|
558 |
+
border-right: none;
|
559 |
+
}
|
560 |
+
|
561 |
+
.foogallery-items-view-switch a:last-child:not(:first-child) {
|
562 |
+
border-top-left-radius: 0;
|
563 |
+
border-bottom-left-radius: 0;
|
564 |
+
border-left: none;
|
565 |
+
}
|
566 |
+
|
567 |
+
.foogallery-items-view-switch a:first-child {
|
568 |
+
margin-right: 0;
|
569 |
+
}
|
570 |
+
|
571 |
+
.foogallery-items-view-switch a.current {
|
572 |
+
background: #2271b1;
|
573 |
+
border-color: #2271b1;
|
574 |
+
color: #fff;
|
575 |
+
}
|
576 |
+
|
577 |
+
.foogallery-items-view-switch a.current:hover {
|
578 |
+
background: #135e96;
|
579 |
+
border-color: #135e96;
|
580 |
+
color: #fff;
|
581 |
+
}
|
582 |
+
|
583 |
+
.foogallery-items-view-switch a+a {
|
584 |
+
margin-left: -1px;
|
585 |
+
}
|
586 |
+
|
587 |
+
.foogallery-gallery-items-metabox-title {
|
588 |
+
float:none;
|
589 |
+
}
|
590 |
+
|
591 |
+
.foogallery_preview_container {
|
592 |
+
position: relative;
|
593 |
+
padding: 10px;
|
594 |
+
}
|
595 |
+
|
596 |
+
.foogallery-items-add {
|
597 |
+
padding:20px;
|
598 |
+
text-align: center
|
599 |
+
}
|
600 |
+
.foogallery-items-view-preview {
|
601 |
+
overflow: hidden;
|
602 |
+
}
|
603 |
+
|
604 |
+
.foogallery-items-view .button-hero .dashicons {
|
605 |
+
vertical-align: middle;
|
606 |
+
padding-right: 10px;
|
607 |
+
width: 24px;
|
608 |
+
height: 24px;
|
609 |
+
font-size: 24px;
|
610 |
+
font-weight: normal;
|
611 |
+
}
|
612 |
+
|
613 |
+
.foogallery_preview_container.loading:after {
|
614 |
+
content: '';
|
615 |
+
position: absolute;
|
616 |
+
top: 0;
|
617 |
+
left: 0;
|
618 |
+
right: 0;
|
619 |
+
bottom: 0;
|
620 |
+
background: #fff;
|
621 |
+
opacity: 0.8;
|
622 |
+
z-index: 159900;
|
623 |
+
}
|
624 |
+
|
625 |
+
.fs-submenu-item.foogallery {
|
626 |
+
font-size: 13px;
|
627 |
+
line-height: 1.2;
|
628 |
+
}
|
629 |
+
|
630 |
+
.foogallery_template_field_type-thumb_size_no_crop input.small-text+label {
|
631 |
+
margin-left: 10px;
|
632 |
+
}
|
633 |
+
|
634 |
+
.foogallery_template_field_type-thumb_size_no_crop label+input {
|
635 |
+
margin-left: 5px;
|
636 |
+
}
|
637 |
+
|
638 |
+
/* changes to the media modal */
|
639 |
+
.compat-item .compat-attachment-fields th.label label span {
|
640 |
+
text-align: left;
|
641 |
+
}
|
642 |
+
|
643 |
+
.compat-item .compat-attachment-fields td.field {
|
644 |
+
width: 100%;
|
645 |
+
margin: 0;
|
646 |
+
}
|
647 |
+
|
648 |
+
.foogallery-attachments-list {
|
649 |
+
max-height: 486px;
|
650 |
+
/*max-height: 324px;*/
|
651 |
+
/*max-height: 162px;*/
|
652 |
+
overflow: scroll;
|
653 |
+
overflow-x: hidden;
|
654 |
+
list-style: none;
|
655 |
+
border: 1px solid #ccd0d4;
|
656 |
+
padding: 10px;
|
657 |
+
}
|
658 |
+
.foogallery-attachments-list:after,
|
659 |
+
.foogallery-attachments-list-bar:after {
|
660 |
+
content: '';
|
661 |
+
display: block;
|
662 |
+
clear: both;
|
663 |
+
}
|
664 |
+
|
665 |
+
.foogallery-attachments-list-bar button.alignright {
|
666 |
+
margin-left: 5px;
|
667 |
+
}
|
668 |
+
|
669 |
+
.foogallery-custom-metabox-header {
|
670 |
+
justify-content: flex-start !important;
|
671 |
+
}
|
672 |
+
|
673 |
+
.foogallery-custom-metabox-header .foogallery-template-selector {
|
674 |
+
margin-left: 10px;
|
675 |
+
}
|
676 |
+
|
677 |
+
.foogallery-custom-metabox-header .foogallery-template-selector select {
|
678 |
+
font-size: 13px;
|
679 |
+
margin-left: 6px;
|
680 |
}
|
css/admin-page-foogallery-extensions.css
CHANGED
@@ -1,270 +1,270 @@
|
|
1 |
-
|
2 |
-
.foogallery-extension-browser .extension-controls {
|
3 |
-
margin-bottom: 10px;
|
4 |
-
}
|
5 |
-
|
6 |
-
.foogallery-extension-browser .extension-controls .subsubsub {
|
7 |
-
margin:0;
|
8 |
-
}
|
9 |
-
|
10 |
-
.extension-reload {
|
11 |
-
display: inline-block;
|
12 |
-
vertical-align: middle;
|
13 |
-
}
|
14 |
-
|
15 |
-
.extension-reload .button {
|
16 |
-
padding: 3px 5px 0 5px;
|
17 |
-
line-height: 0;
|
18 |
-
}
|
19 |
-
|
20 |
-
.extension-reload .button.disabled span.dashicons {
|
21 |
-
-webkit-animation: rotation 2s infinite linear;
|
22 |
-
animation: rotation 2s infinite linear;
|
23 |
-
}
|
24 |
-
|
25 |
-
div.foogallery-message-success {
|
26 |
-
border-left: 4px solid #7ad03a;
|
27 |
-
padding: 1px 12px;
|
28 |
-
background-color: #fff;
|
29 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
30 |
-
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1)
|
31 |
-
}
|
32 |
-
|
33 |
-
div.foogallery-message-error {
|
34 |
-
border-left: 4px solid #dd3d36;
|
35 |
-
background: #fff;
|
36 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
37 |
-
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
38 |
-
padding: 1px 12px
|
39 |
-
}
|
40 |
-
|
41 |
-
.spinner {
|
42 |
-
position: absolute;
|
43 |
-
margin-top: 15px;
|
44 |
-
}
|
45 |
-
|
46 |
-
.foogallery-extension-browser {
|
47 |
-
margin-top: 10px;
|
48 |
-
width: 100%;
|
49 |
-
position: relative;
|
50 |
-
}
|
51 |
-
|
52 |
-
.foogallery-extension-browser * {
|
53 |
-
box-sizing: border-box;
|
54 |
-
}
|
55 |
-
|
56 |
-
.foogallery-extension-browser .extensions .extension {
|
57 |
-
float: left;
|
58 |
-
margin: 0 20px 20px 0;
|
59 |
-
position: relative;
|
60 |
-
width: 400px;
|
61 |
-
height: 300px;
|
62 |
-
border: 1px solid #DEDEDE;
|
63 |
-
-webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
|
64 |
-
box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
|
65 |
-
-webkit-box-sizing: border-box;
|
66 |
-
-moz-box-sizing: border-box;
|
67 |
-
box-sizing: border-box;
|
68 |
-
background: #fff;
|
69 |
-
}
|
70 |
-
|
71 |
-
.foogallery-extension-browser .extensions .extension h3 {
|
72 |
-
position: absolute;
|
73 |
-
bottom: 0;
|
74 |
-
width: 100%;
|
75 |
-
font-size: 15px;
|
76 |
-
font-weight: bold;
|
77 |
-
height: 50px;
|
78 |
-
line-height: 50px;
|
79 |
-
margin: 0;
|
80 |
-
padding-left: 15px;
|
81 |
-
-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
|
82 |
-
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
|
83 |
-
overflow: hidden;
|
84 |
-
white-space: nowrap;
|
85 |
-
text-overflow: ellipsis;
|
86 |
-
background: #000;
|
87 |
-
opacity: 0.9;
|
88 |
-
color:#fff;
|
89 |
-
}
|
90 |
-
|
91 |
-
.foogallery-extension-browser .extensions .extension h3 .new {
|
92 |
-
background: #D54E21;
|
93 |
-
background: rgba(213, 78, 33, 0.95);
|
94 |
-
-webkit-border-radius: 3px;
|
95 |
-
border-radius: 3px;
|
96 |
-
padding:2px 5px;
|
97 |
-
color:#fff;
|
98 |
-
font-size: 10px;
|
99 |
-
margin-left: 5px;
|
100 |
-
margin-bottom: 3px;
|
101 |
-
}
|
102 |
-
|
103 |
-
.foogallery-extension-browser .extensions .extension h3 .tag {
|
104 |
-
background: #888;
|
105 |
-
-webkit-border-radius: 3px;
|
106 |
-
border-radius: 3px;
|
107 |
-
padding:2px 5px;
|
108 |
-
color:#000;
|
109 |
-
font-size: 9px;
|
110 |
-
margin-left: 5px;
|
111 |
-
vertical-align:top;
|
112 |
-
}
|
113 |
-
|
114 |
-
.foogallery-extension-browser .extensions .extension h3 .tag.functionality {
|
115 |
-
background: #8a5cc9;
|
116 |
-
}
|
117 |
-
|
118 |
-
.foogallery-extension-browser .extensions .extension h3 .tag.premium {
|
119 |
-
background: #080;
|
120 |
-
}
|
121 |
-
|
122 |
-
.foogallery-extension-browser .extensions .extension h3 .tag.lightbox {
|
123 |
-
background: #ff7f00;
|
124 |
-
}
|
125 |
-
|
126 |
-
.foogallery-extension-browser .extensions .extension h3 .tag.template {
|
127 |
-
background: #369;
|
128 |
-
}
|
129 |
-
|
130 |
-
.foogallery-extension-browser .extensions .extension h3 .tag.new {
|
131 |
-
background: #F00;
|
132 |
-
}
|
133 |
-
|
134 |
-
.foogallery-extension-browser .extensions .extension .screenshot {
|
135 |
-
height: 100%;
|
136 |
-
position: absolute;
|
137 |
-
left: 0;
|
138 |
-
top: 0;
|
139 |
-
width: 100%;
|
140 |
-
-webkit-transform: translateZ(0);
|
141 |
-
-webkit-transition: opacity .2s ease-in-out;
|
142 |
-
transition: opacity .2s ease-in-out;
|
143 |
-
}
|
144 |
-
|
145 |
-
.foogallery-extension-browser .extensions .extension:hover .screenshot {
|
146 |
-
opacity: .4;
|
147 |
-
}
|
148 |
-
|
149 |
-
.foogallery-extension-browser .extensions .extension .extension-actions {
|
150 |
-
-webkit-transition: opacity .1s ease-in-out;
|
151 |
-
transition: opacity .1s ease-in-out;
|
152 |
-
position: absolute;
|
153 |
-
bottom: 0;
|
154 |
-
right: 0;
|
155 |
-
height: 50px;
|
156 |
-
padding: 9px 10px 0;
|
157 |
-
}
|
158 |
-
|
159 |
-
.foogallery-extension-browser .extensions .extension .extension-details {
|
160 |
-
-ms-filter: "alpha(Opacity=0)";
|
161 |
-
opacity: 0;
|
162 |
-
position: absolute;
|
163 |
-
top: 25%;
|
164 |
-
right: 20%;
|
165 |
-
left: 20%;
|
166 |
-
background: #222;
|
167 |
-
background: rgba(0, 0, 0, 0.7);
|
168 |
-
color: #FFF;
|
169 |
-
font-size: 15px;
|
170 |
-
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
|
171 |
-
-webkit-font-smoothing: antialiased;
|
172 |
-
font-weight: 600;
|
173 |
-
padding: 15px 12px;
|
174 |
-
text-align: center;
|
175 |
-
-webkit-border-radius: 3px;
|
176 |
-
border-radius: 3px;
|
177 |
-
-webkit-transition: opacity .1s ease-in-out;
|
178 |
-
transition: opacity .1s ease-in-out;
|
179 |
-
}
|
180 |
-
|
181 |
-
.foogallery-extension-browser .extensions .extension:hover .extension-details {
|
182 |
-
-ms-filter: "alpha(Opacity=1)";
|
183 |
-
opacity: 1;
|
184 |
-
}
|
185 |
-
|
186 |
-
.foogallery-extension-browser .extensions .extension .banner {
|
187 |
-
background: #888;
|
188 |
-
color: #FFF;
|
189 |
-
display: block;
|
190 |
-
font-size: 13px;
|
191 |
-
font-weight: 400;
|
192 |
-
height: 48px;
|
193 |
-
line-height: 48px;
|
194 |
-
padding: 0 10px 0 40px;
|
195 |
-
position: absolute;
|
196 |
-
top: 0;
|
197 |
-
right: 0;
|
198 |
-
left: 0;
|
199 |
-
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
200 |
-
overflow: hidden;
|
201 |
-
}
|
202 |
-
|
203 |
-
.foogallery-extension-browser .extensions .extension .banner:empty {
|
204 |
-
display: none;
|
205 |
-
}
|
206 |
-
|
207 |
-
.foogallery-extension-browser .extensions .extension .banner:before {
|
208 |
-
display: inline-block;
|
209 |
-
font: 400 30px/1 dashicons;
|
210 |
-
top: 10px;
|
211 |
-
left: 10px;
|
212 |
-
position: absolute;
|
213 |
-
speak: none;
|
214 |
-
-webkit-font-smoothing: antialiased;
|
215 |
-
}
|
216 |
-
|
217 |
-
.foogallery-extension-browser .extensions .extension.activated .banner {
|
218 |
-
background: #080;
|
219 |
-
}
|
220 |
-
|
221 |
-
.foogallery-extension-browser .extensions .extension.activated .banner:before {
|
222 |
-
content: "\f147";
|
223 |
-
}
|
224 |
-
|
225 |
-
.foogallery-extension-browser .extensions .extension.has_error .banner {
|
226 |
-
background: #800;
|
227 |
-
}
|
228 |
-
|
229 |
-
.foogallery-extension-browser .extensions .extension.has_error .banner:before {
|
230 |
-
content: "\f158";
|
231 |
-
}
|
232 |
-
|
233 |
-
.foogallery-extension-browser .extensions .extension.updating .banner {
|
234 |
-
background: #888;
|
235 |
-
}
|
236 |
-
|
237 |
-
.foogallery-extension-browser .extensions .extension.updating .banner:before {
|
238 |
-
content: "\f463";
|
239 |
-
-webkit-animation: rotation 2s infinite linear;
|
240 |
-
animation: rotation 2s infinite linear;
|
241 |
-
}
|
242 |
-
|
243 |
-
.foogallery-extension-browser .extensions .extension .activate,
|
244 |
-
.foogallery-extension-browser .extensions .extension .deactivate {
|
245 |
-
display: none;
|
246 |
-
}
|
247 |
-
|
248 |
-
.foogallery-extension-browser .extensions .extension.downloaded .activate {
|
249 |
-
display: block;
|
250 |
-
}
|
251 |
-
|
252 |
-
.foogallery-extension-browser .extensions .extension.downloaded .download {
|
253 |
-
display: none;
|
254 |
-
}
|
255 |
-
|
256 |
-
.foogallery-extension-browser .extensions .extension.activated .activate {
|
257 |
-
display: none;
|
258 |
-
}
|
259 |
-
|
260 |
-
.foogallery-extension-browser .extensions .extension.activated .deactivate {
|
261 |
-
display: block;
|
262 |
-
}
|
263 |
-
|
264 |
-
.foogallery-extension-browser .extensions .extension.activated .updating {
|
265 |
-
display: block;
|
266 |
-
}
|
267 |
-
|
268 |
-
.foogallery-extension-browser .extension-page {
|
269 |
-
display: none;
|
270 |
}
|
1 |
+
|
2 |
+
.foogallery-extension-browser .extension-controls {
|
3 |
+
margin-bottom: 10px;
|
4 |
+
}
|
5 |
+
|
6 |
+
.foogallery-extension-browser .extension-controls .subsubsub {
|
7 |
+
margin:0;
|
8 |
+
}
|
9 |
+
|
10 |
+
.extension-reload {
|
11 |
+
display: inline-block;
|
12 |
+
vertical-align: middle;
|
13 |
+
}
|
14 |
+
|
15 |
+
.extension-reload .button {
|
16 |
+
padding: 3px 5px 0 5px;
|
17 |
+
line-height: 0;
|
18 |
+
}
|
19 |
+
|
20 |
+
.extension-reload .button.disabled span.dashicons {
|
21 |
+
-webkit-animation: rotation 2s infinite linear;
|
22 |
+
animation: rotation 2s infinite linear;
|
23 |
+
}
|
24 |
+
|
25 |
+
div.foogallery-message-success {
|
26 |
+
border-left: 4px solid #7ad03a;
|
27 |
+
padding: 1px 12px;
|
28 |
+
background-color: #fff;
|
29 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
30 |
+
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1)
|
31 |
+
}
|
32 |
+
|
33 |
+
div.foogallery-message-error {
|
34 |
+
border-left: 4px solid #dd3d36;
|
35 |
+
background: #fff;
|
36 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
37 |
+
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
38 |
+
padding: 1px 12px
|
39 |
+
}
|
40 |
+
|
41 |
+
.spinner {
|
42 |
+
position: absolute;
|
43 |
+
margin-top: 15px;
|
44 |
+
}
|
45 |
+
|
46 |
+
.foogallery-extension-browser {
|
47 |
+
margin-top: 10px;
|
48 |
+
width: 100%;
|
49 |
+
position: relative;
|
50 |
+
}
|
51 |
+
|
52 |
+
.foogallery-extension-browser * {
|
53 |
+
box-sizing: border-box;
|
54 |
+
}
|
55 |
+
|
56 |
+
.foogallery-extension-browser .extensions .extension {
|
57 |
+
float: left;
|
58 |
+
margin: 0 20px 20px 0;
|
59 |
+
position: relative;
|
60 |
+
width: 400px;
|
61 |
+
height: 300px;
|
62 |
+
border: 1px solid #DEDEDE;
|
63 |
+
-webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
|
64 |
+
box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
|
65 |
+
-webkit-box-sizing: border-box;
|
66 |
+
-moz-box-sizing: border-box;
|
67 |
+
box-sizing: border-box;
|
68 |
+
background: #fff;
|
69 |
+
}
|
70 |
+
|
71 |
+
.foogallery-extension-browser .extensions .extension h3 {
|
72 |
+
position: absolute;
|
73 |
+
bottom: 0;
|
74 |
+
width: 100%;
|
75 |
+
font-size: 15px;
|
76 |
+
font-weight: bold;
|
77 |
+
height: 50px;
|
78 |
+
line-height: 50px;
|
79 |
+
margin: 0;
|
80 |
+
padding-left: 15px;
|
81 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
|
82 |
+
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
|
83 |
+
overflow: hidden;
|
84 |
+
white-space: nowrap;
|
85 |
+
text-overflow: ellipsis;
|
86 |
+
background: #000;
|
87 |
+
opacity: 0.9;
|
88 |
+
color:#fff;
|
89 |
+
}
|
90 |
+
|
91 |
+
.foogallery-extension-browser .extensions .extension h3 .new {
|
92 |
+
background: #D54E21;
|
93 |
+
background: rgba(213, 78, 33, 0.95);
|
94 |
+
-webkit-border-radius: 3px;
|
95 |
+
border-radius: 3px;
|
96 |
+
padding:2px 5px;
|
97 |
+
color:#fff;
|
98 |
+
font-size: 10px;
|
99 |
+
margin-left: 5px;
|
100 |
+
margin-bottom: 3px;
|
101 |
+
}
|
102 |
+
|
103 |
+
.foogallery-extension-browser .extensions .extension h3 .tag {
|
104 |
+
background: #888;
|
105 |
+
-webkit-border-radius: 3px;
|
106 |
+
border-radius: 3px;
|
107 |
+
padding:2px 5px;
|
108 |
+
color:#000;
|
109 |
+
font-size: 9px;
|
110 |
+
margin-left: 5px;
|
111 |
+
vertical-align:top;
|
112 |
+
}
|
113 |
+
|
114 |
+
.foogallery-extension-browser .extensions .extension h3 .tag.functionality {
|
115 |
+
background: #8a5cc9;
|
116 |
+
}
|
117 |
+
|
118 |
+
.foogallery-extension-browser .extensions .extension h3 .tag.premium {
|
119 |
+
background: #080;
|
120 |
+
}
|
121 |
+
|
122 |
+
.foogallery-extension-browser .extensions .extension h3 .tag.lightbox {
|
123 |
+
background: #ff7f00;
|
124 |
+
}
|
125 |
+
|
126 |
+
.foogallery-extension-browser .extensions .extension h3 .tag.template {
|
127 |
+
background: #369;
|
128 |
+
}
|
129 |
+
|
130 |
+
.foogallery-extension-browser .extensions .extension h3 .tag.new {
|
131 |
+
background: #F00;
|
132 |
+
}
|
133 |
+
|
134 |
+
.foogallery-extension-browser .extensions .extension .screenshot {
|
135 |
+
height: 100%;
|
136 |
+
position: absolute;
|
137 |
+
left: 0;
|
138 |
+
top: 0;
|
139 |
+
width: 100%;
|
140 |
+
-webkit-transform: translateZ(0);
|
141 |
+
-webkit-transition: opacity .2s ease-in-out;
|
142 |
+
transition: opacity .2s ease-in-out;
|
143 |
+
}
|
144 |
+
|
145 |
+
.foogallery-extension-browser .extensions .extension:hover .screenshot {
|
146 |
+
opacity: .4;
|
147 |
+
}
|
148 |
+
|
149 |
+
.foogallery-extension-browser .extensions .extension .extension-actions {
|
150 |
+
-webkit-transition: opacity .1s ease-in-out;
|
151 |
+
transition: opacity .1s ease-in-out;
|
152 |
+
position: absolute;
|
153 |
+
bottom: 0;
|
154 |
+
right: 0;
|
155 |
+
height: 50px;
|
156 |
+
padding: 9px 10px 0;
|
157 |
+
}
|
158 |
+
|
159 |
+
.foogallery-extension-browser .extensions .extension .extension-details {
|
160 |
+
-ms-filter: "alpha(Opacity=0)";
|
161 |
+
opacity: 0;
|
162 |
+
position: absolute;
|
163 |
+
top: 25%;
|
164 |
+
right: 20%;
|
165 |
+
left: 20%;
|
166 |
+
background: #222;
|
167 |
+
background: rgba(0, 0, 0, 0.7);
|
168 |
+
color: #FFF;
|
169 |
+
font-size: 15px;
|
170 |
+
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
|
171 |
+
-webkit-font-smoothing: antialiased;
|
172 |
+
font-weight: 600;
|
173 |
+
padding: 15px 12px;
|
174 |
+
text-align: center;
|
175 |
+
-webkit-border-radius: 3px;
|
176 |
+
border-radius: 3px;
|
177 |
+
-webkit-transition: opacity .1s ease-in-out;
|
178 |
+
transition: opacity .1s ease-in-out;
|
179 |
+
}
|
180 |
+
|
181 |
+
.foogallery-extension-browser .extensions .extension:hover .extension-details {
|
182 |
+
-ms-filter: "alpha(Opacity=1)";
|
183 |
+
opacity: 1;
|
184 |
+
}
|
185 |
+
|
186 |
+
.foogallery-extension-browser .extensions .extension .banner {
|
187 |
+
background: #888;
|
188 |
+
color: #FFF;
|
189 |
+
display: block;
|
190 |
+
font-size: 13px;
|
191 |
+
font-weight: 400;
|
192 |
+
height: 48px;
|
193 |
+
line-height: 48px;
|
194 |
+
padding: 0 10px 0 40px;
|
195 |
+
position: absolute;
|
196 |
+
top: 0;
|
197 |
+
right: 0;
|
198 |
+
left: 0;
|
199 |
+
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
200 |
+
overflow: hidden;
|
201 |
+
}
|
202 |
+
|
203 |
+
.foogallery-extension-browser .extensions .extension .banner:empty {
|
204 |
+
display: none;
|
205 |
+
}
|
206 |
+
|
207 |
+
.foogallery-extension-browser .extensions .extension .banner:before {
|
208 |
+
display: inline-block;
|
209 |
+
font: 400 30px/1 dashicons;
|
210 |
+
top: 10px;
|
211 |
+
left: 10px;
|
212 |
+
position: absolute;
|
213 |
+
speak: none;
|
214 |
+
-webkit-font-smoothing: antialiased;
|
215 |
+
}
|
216 |
+
|
217 |
+
.foogallery-extension-browser .extensions .extension.activated .banner {
|
218 |
+
background: #080;
|
219 |
+
}
|
220 |
+
|
221 |
+
.foogallery-extension-browser .extensions .extension.activated .banner:before {
|
222 |
+
content: "\f147";
|
223 |
+
}
|
224 |
+
|
225 |
+
.foogallery-extension-browser .extensions .extension.has_error .banner {
|
226 |
+
background: #800;
|
227 |
+
}
|
228 |
+
|
229 |
+
.foogallery-extension-browser .extensions .extension.has_error .banner:before {
|
230 |
+
content: "\f158";
|
231 |
+
}
|
232 |
+
|
233 |
+
.foogallery-extension-browser .extensions .extension.updating .banner {
|
234 |
+
background: #888;
|
235 |
+
}
|
236 |
+
|
237 |
+
.foogallery-extension-browser .extensions .extension.updating .banner:before {
|
238 |
+
content: "\f463";
|
239 |
+
-webkit-animation: rotation 2s infinite linear;
|
240 |
+
animation: rotation 2s infinite linear;
|
241 |
+
}
|
242 |
+
|
243 |
+
.foogallery-extension-browser .extensions .extension .activate,
|
244 |
+
.foogallery-extension-browser .extensions .extension .deactivate {
|
245 |
+
display: none;
|
246 |
+
}
|
247 |
+
|
248 |
+
.foogallery-extension-browser .extensions .extension.downloaded .activate {
|
249 |
+
display: block;
|
250 |
+
}
|
251 |
+
|
252 |
+
.foogallery-extension-browser .extensions .extension.downloaded .download {
|
253 |
+
display: none;
|
254 |
+
}
|
255 |
+
|
256 |
+
.foogallery-extension-browser .extensions .extension.activated .activate {
|
257 |
+
display: none;
|
258 |
+
}
|
259 |
+
|
260 |
+
.foogallery-extension-browser .extensions .extension.activated .deactivate {
|
261 |
+
display: block;
|
262 |
+
}
|
263 |
+
|
264 |
+
.foogallery-extension-browser .extensions .extension.activated .updating {
|
265 |
+
display: block;
|
266 |
+
}
|
267 |
+
|
268 |
+
.foogallery-extension-browser .extension-page {
|
269 |
+
display: none;
|
270 |
}
|
css/admin-page-foogallery-help.css
CHANGED
@@ -1,565 +1,565 @@
|
|
1 |
-
.foogallery_page_foogallery-help .fs-notice {
|
2 |
-
margin-right: 200px !important;
|
3 |
-
}
|
4 |
-
|
5 |
-
|
6 |
-
body {
|
7 |
-
background-color: #646970;/*#484c50;*/
|
8 |
-
}
|
9 |
-
#wpcontent {
|
10 |
-
padding-right: 20px;
|
11 |
-
box-sizing: border-box;
|
12 |
-
}
|
13 |
-
@media screen and (max-width: 782px){
|
14 |
-
.auto-fold #wpcontent {
|
15 |
-
padding-right: 10px;
|
16 |
-
}
|
17 |
-
}
|
18 |
-
|
19 |
-
.foogallery-admin-help,
|
20 |
-
.foogallery-admin-help * {
|
21 |
-
box-sizing: border-box;
|
22 |
-
}
|
23 |
-
|
24 |
-
.foogallery-admin-help {
|
25 |
-
max-width: 1000px;
|
26 |
-
margin: 24px auto;
|
27 |
-
clear: both;
|
28 |
-
background-color: #101517;
|
29 |
-
border-radius: 20px;
|
30 |
-
color: #ffffff;
|
31 |
-
font-size: 14px;
|
32 |
-
line-height: 1.4;
|
33 |
-
}
|
34 |
-
|
35 |
-
.foogallery-admin-help img {
|
36 |
-
display: block;
|
37 |
-
max-width: 100%;
|
38 |
-
height: auto;
|
39 |
-
box-sizing: border-box;
|
40 |
-
margin: 0 auto;
|
41 |
-
}
|
42 |
-
.foogallery-admin-help p {
|
43 |
-
margin: 0.8em 0;
|
44 |
-
font-size: 14px;
|
45 |
-
line-height: 1.4;
|
46 |
-
}
|
47 |
-
.foogallery-admin-help h2,
|
48 |
-
.foogallery-admin-help h3,
|
49 |
-
.foogallery-admin-help h4 {
|
50 |
-
color: inherit;
|
51 |
-
}
|
52 |
-
|
53 |
-
.foogallery-admin-help a {
|
54 |
-
color: #3582c4;
|
55 |
-
text-decoration: none;
|
56 |
-
}
|
57 |
-
.foogallery-admin-help a:focus {
|
58 |
-
box-shadow: none;
|
59 |
-
}
|
60 |
-
.foogallery-admin-help a:hover {
|
61 |
-
color: #4f94d4;
|
62 |
-
}
|
63 |
-
|
64 |
-
.foogallery-admin-help-header {
|
65 |
-
margin: 0;
|
66 |
-
color: #FFFFFF;
|
67 |
-
position: relative;
|
68 |
-
text-align: center;
|
69 |
-
padding: 20px;
|
70 |
-
}
|
71 |
-
.foogallery-admin-help-header > img {
|
72 |
-
margin: 3em auto;
|
73 |
-
}
|
74 |
-
|
75 |
-
.foogallery-admin-help-tagline {
|
76 |
-
margin: 0;
|
77 |
-
padding: 10px;
|
78 |
-
font-size: 1.5em;
|
79 |
-
}
|
80 |
-
|
81 |
-
.foogallery-admin-help-ribbon {
|
82 |
-
position: absolute;
|
83 |
-
right: -5px;
|
84 |
-
top: -5px;
|
85 |
-
z-index: 1;
|
86 |
-
overflow: hidden;
|
87 |
-
width: 75px;
|
88 |
-
height: 75px;
|
89 |
-
text-align: right;
|
90 |
-
}
|
91 |
-
.foogallery-admin-help-ribbon span {
|
92 |
-
font-size: 10px;
|
93 |
-
font-weight: bold;
|
94 |
-
color: #2b2400;
|
95 |
-
text-transform: uppercase;
|
96 |
-
text-align: center;
|
97 |
-
line-height: 20px;
|
98 |
-
transform: rotate(45deg);
|
99 |
-
width: 100px;
|
100 |
-
display: block;
|
101 |
-
background: #b04cff;
|
102 |
-
box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
|
103 |
-
position: absolute;
|
104 |
-
top: 19px; right: -21px;
|
105 |
-
}
|
106 |
-
.foogallery-admin-help-ribbon span::before {
|
107 |
-
content: "";
|
108 |
-
position: absolute;
|
109 |
-
left: 0;
|
110 |
-
top: 100%;
|
111 |
-
z-index: -1;
|
112 |
-
border-left: 3px solid #6a00b8;
|
113 |
-
border-right: 3px solid transparent;
|
114 |
-
border-bottom: 3px solid transparent;
|
115 |
-
border-top: 3px solid #6a00b8;
|
116 |
-
}
|
117 |
-
.foogallery-admin-help-ribbon span::after {
|
118 |
-
content: "";
|
119 |
-
position: absolute;
|
120 |
-
right: 0;
|
121 |
-
top: 100%;
|
122 |
-
z-index: -1;
|
123 |
-
border-left: 3px solid transparent;
|
124 |
-
border-right: 3px solid #6a00b8;
|
125 |
-
border-bottom: 3px solid transparent;
|
126 |
-
border-top: 3px solid #6a00b8;
|
127 |
-
}
|
128 |
-
|
129 |
-
.foogallery-admin-help nav {
|
130 |
-
background: #101517;/*#1d2327*/;
|
131 |
-
clear: both;
|
132 |
-
padding-top: 0;
|
133 |
-
color: #9ca2a7;
|
134 |
-
display: flex;
|
135 |
-
width: 100%;
|
136 |
-
max-width: 100%;
|
137 |
-
justify-content: stretch;
|
138 |
-
align-items: stretch;
|
139 |
-
flex-wrap: nowrap;
|
140 |
-
padding-left: 10px;
|
141 |
-
padding-right: 10px;
|
142 |
-
border-bottom: 3px solid #fff;
|
143 |
-
}
|
144 |
-
|
145 |
-
.foogallery-admin-help nav a {
|
146 |
-
display: block;
|
147 |
-
flex-grow: 1;
|
148 |
-
margin-left: 0;
|
149 |
-
padding: 24px 32px 18px 32px;
|
150 |
-
font-size: 1.3em;
|
151 |
-
line-height: 1.4;
|
152 |
-
border: 3px solid transparent;
|
153 |
-
border-top-left-radius: .6rem;
|
154 |
-
border-top-right-radius: .6rem;
|
155 |
-
background: transparent;
|
156 |
-
color: inherit;
|
157 |
-
text-decoration: none;
|
158 |
-
font-weight: 600;
|
159 |
-
box-shadow: none;
|
160 |
-
text-align: center;
|
161 |
-
}
|
162 |
-
|
163 |
-
.foogallery-admin-help nav a.foogallery-admin-help-tab-active {
|
164 |
-
background-color: #2c3338;
|
165 |
-
color: #ffffff;
|
166 |
-
border-color: #ffffff;
|
167 |
-
border-bottom: none;
|
168 |
-
border-bottom-color: #2c3338;
|
169 |
-
margin-bottom: -3px;
|
170 |
-
}
|
171 |
-
|
172 |
-
.fgah-feature {
|
173 |
-
display: block;
|
174 |
-
position: relative;
|
175 |
-
max-width: 100%;
|
176 |
-
margin: 0;
|
177 |
-
padding: 16px;
|
178 |
-
font-size: 14px;
|
179 |
-
background-color: #1d2327;
|
180 |
-
}
|
181 |
-
.fgah-feature:nth-child(odd) {
|
182 |
-
background-color: #2c3338;
|
183 |
-
}
|
184 |
-
|
185 |
-
.fgah-feature > * {
|
186 |
-
margin: 16px;
|
187 |
-
}
|
188 |
-
.fgah-feature > header + * {
|
189 |
-
margin-top: 32px;
|
190 |
-
}
|
191 |
-
.fgah-feature > * + footer {
|
192 |
-
margin-top: 32px;
|
193 |
-
}
|
194 |
-
|
195 |
-
.fgah-feature > header {
|
196 |
-
text-align: left;
|
197 |
-
}
|
198 |
-
|
199 |
-
.fgah-feature > header > h3 {
|
200 |
-
font-size: 1.5em;
|
201 |
-
margin: 0;
|
202 |
-
padding: 0;
|
203 |
-
font-weight: 600;
|
204 |
-
}
|
205 |
-
.fgah-feature > header > h3 + p {
|
206 |
-
margin-top: 24px;
|
207 |
-
}
|
208 |
-
|
209 |
-
.fgah-feature > footer {
|
210 |
-
text-align: center;
|
211 |
-
padding: 0;
|
212 |
-
}
|
213 |
-
|
214 |
-
.fgah-feature > footer > small {
|
215 |
-
display: block;
|
216 |
-
margin: 16px 0;
|
217 |
-
color: #c3c4c7;
|
218 |
-
}
|
219 |
-
|
220 |
-
.fgah-feature > footer > *:last-child {
|
221 |
-
margin-bottom: 0;
|
222 |
-
}
|
223 |
-
|
224 |
-
.fgah-feature > div {
|
225 |
-
display: flex;
|
226 |
-
flex-direction: row;
|
227 |
-
justify-content: center;
|
228 |
-
align-items: flex-start;
|
229 |
-
max-width: 100%;
|
230 |
-
}
|
231 |
-
.fgah-feature-right > div {
|
232 |
-
flex-direction: row-reverse;
|
233 |
-
}
|
234 |
-
.fgah-feature > div > * {
|
235 |
-
padding: 0;
|
236 |
-
margin: 0;
|
237 |
-
width: 33.33%;
|
238 |
-
}
|
239 |
-
.fgah-feature > div > figure {
|
240 |
-
width: 66.66%;
|
241 |
-
text-align: center;
|
242 |
-
padding-right: 32px;
|
243 |
-
}
|
244 |
-
.fgah-feature-right > div > figure {
|
245 |
-
padding-right: 0;
|
246 |
-
padding-left: 32px;
|
247 |
-
}
|
248 |
-
|
249 |
-
.fgah-feature > div > ol {
|
250 |
-
|
251 |
-
}
|
252 |
-
.fgah-feature > div > ol > li {
|
253 |
-
list-style-type: decimal;
|
254 |
-
margin: 0 2em;
|
255 |
-
padding: 0;
|
256 |
-
}
|
257 |
-
|
258 |
-
.fgah-feature > div > dl {
|
259 |
-
|
260 |
-
}
|
261 |
-
.fgah-feature > div > dl > dt {
|
262 |
-
font-size: large;
|
263 |
-
margin: 0 0 16px 0;
|
264 |
-
font-weight: 600;
|
265 |
-
}
|
266 |
-
.fgah-feature > div > dl > dt > code {
|
267 |
-
background-color: transparent;
|
268 |
-
font-size: inherit;
|
269 |
-
padding: 0;
|
270 |
-
margin: 0;
|
271 |
-
}
|
272 |
-
.fgah-feature > div > dl > dd {
|
273 |
-
font-size: inherit;
|
274 |
-
margin: 16px 0;
|
275 |
-
}
|
276 |
-
.fgah-feature > div > dl > dd + dt {
|
277 |
-
margin: 32px 0 16px 0;
|
278 |
-
}
|
279 |
-
|
280 |
-
.fgah-feature-pro {
|
281 |
-
counter-increment: number-counter;
|
282 |
-
}
|
283 |
-
|
284 |
-
.fgah-feature-pro > div > dl > dd > p > a {
|
285 |
-
text-decoration: underline;
|
286 |
-
}
|
287 |
-
|
288 |
-
.fgah-feature-pro > div > dl > dt::before {
|
289 |
-
content: counters(number-counter, ".") " ";
|
290 |
-
line-height: 30px;
|
291 |
-
display: inline-block;
|
292 |
-
min-width: 20px;
|
293 |
-
margin: 0 8px 0 0;
|
294 |
-
padding: 0 5px;
|
295 |
-
text-align: center;
|
296 |
-
vertical-align: 1px;
|
297 |
-
color: #fff;
|
298 |
-
border-radius: 3px;
|
299 |
-
background: #4098D7;
|
300 |
-
background: linear-gradient(45deg, #6638b8 0%, #4098D7 100%);
|
301 |
-
}
|
302 |
-
|
303 |
-
span.fgah-plan-prostarter {
|
304 |
-
color: #4098D7;
|
305 |
-
font-weight: bold;
|
306 |
-
}
|
307 |
-
|
308 |
-
.fgah-feature-pro.fgah-feature-plan-pro > div > dl > dt::before {
|
309 |
-
background: #2CA03D;
|
310 |
-
background: linear-gradient(45deg, #6638b8 0%, #2CA03D 100%);
|
311 |
-
}
|
312 |
-
|
313 |
-
span.fgah-plan-pro {
|
314 |
-
color: #2CA03D;
|
315 |
-
font-weight: bold;
|
316 |
-
}
|
317 |
-
|
318 |
-
.fgah-feature-pro.fgah-feature-plan-commerce > div > dl > dt::before {
|
319 |
-
background: #B0459D;
|
320 |
-
background: linear-gradient(45deg, #6638b8 0%, #B0459D 100%);
|
321 |
-
}
|
322 |
-
|
323 |
-
span.fgah-plan-commerce {
|
324 |
-
color: #B0459D;
|
325 |
-
font-weight: bold;
|
326 |
-
}
|
327 |
-
|
328 |
-
.fgah-feature-sub-title {
|
329 |
-
margin-bottom: 16px;
|
330 |
-
}
|
331 |
-
|
332 |
-
.fgah-feature-sub-title h4 {
|
333 |
-
margin: 0px 0px 5px 0;
|
334 |
-
}
|
335 |
-
|
336 |
-
.fgah-feature-sub-title span {
|
337 |
-
background: #6d6d6d;
|
338 |
-
color: #191a1f;
|
339 |
-
padding: 1px 6px;
|
340 |
-
border-radius: 3px;
|
341 |
-
margin-right: 3px;
|
342 |
-
font-weight: 500;
|
343 |
-
}
|
344 |
-
|
345 |
-
.fgah-feature-sub-title span.fgah-plan-prostarter {
|
346 |
-
background: #3397C1;
|
347 |
-
}
|
348 |
-
|
349 |
-
.fgah-feature-sub-title span.fgah-plan-pro {
|
350 |
-
background: #2CA03D;
|
351 |
-
}
|
352 |
-
|
353 |
-
.fgah-feature-sub-title span.fgah-plan-commerce {
|
354 |
-
background: #B0459D;
|
355 |
-
}
|
356 |
-
|
357 |
-
.fgah-help-list {
|
358 |
-
list-style-type: none;
|
359 |
-
}
|
360 |
-
.fgah-help-list li {
|
361 |
-
list-style-type: none;
|
362 |
-
margin: 0 0 16px 0;
|
363 |
-
padding: 0;
|
364 |
-
}
|
365 |
-
.fgah-help-list li:last-child {
|
366 |
-
margin-bottom: 0;
|
367 |
-
}
|
368 |
-
.fgah-help-list li::before {
|
369 |
-
content: "\003F";
|
370 |
-
display: inline-block;
|
371 |
-
background-color: #1897ff;
|
372 |
-
color: #FFFFFF;
|
373 |
-
border-radius: 50%;
|
374 |
-
line-height: 1;
|
375 |
-
width: 1em;
|
376 |
-
height: 1em;
|
377 |
-
padding: 0.14em;
|
378 |
-
text-align: center;
|
379 |
-
margin-right: 0.4em;
|
380 |
-
border: solid 2px #FFFFFF;
|
381 |
-
float: left;
|
382 |
-
}
|
383 |
-
|
384 |
-
.fgah-demo {
|
385 |
-
display: block;
|
386 |
-
position: relative;
|
387 |
-
max-width: 100%;
|
388 |
-
margin: 0;
|
389 |
-
padding: 16px;
|
390 |
-
font-size: 14px;
|
391 |
-
background-color: #2c3338;
|
392 |
-
}
|
393 |
-
.fgah-demo > header {
|
394 |
-
text-align: left;
|
395 |
-
margin: 16px;
|
396 |
-
}
|
397 |
-
.fgah-demo > header + * {
|
398 |
-
margin-top: 32px;
|
399 |
-
}
|
400 |
-
.fgah-demo > header > h3 {
|
401 |
-
font-size: 1.5em;
|
402 |
-
margin: 0;
|
403 |
-
padding: 0;
|
404 |
-
font-weight: 600;
|
405 |
-
}
|
406 |
-
.fgah-demo > header > h3 + p {
|
407 |
-
margin-top: 24px;
|
408 |
-
}
|
409 |
-
.fgah-demo > div.foogallery {
|
410 |
-
margin-bottom: 15px;
|
411 |
-
}
|
412 |
-
|
413 |
-
.foogallery-admin-help-button {
|
414 |
-
position: relative;
|
415 |
-
background-color: #7d4fff;
|
416 |
-
color: #ffffff !important;
|
417 |
-
padding: 10px 20px;
|
418 |
-
font-size: 1em;
|
419 |
-
border-radius: 3px;
|
420 |
-
text-decoration: none;
|
421 |
-
font-weight: 400;
|
422 |
-
display: inline-block;
|
423 |
-
text-align: center;
|
424 |
-
line-height: 1.2;
|
425 |
-
border: none;
|
426 |
-
box-shadow: none;
|
427 |
-
outline: none;
|
428 |
-
cursor: pointer;
|
429 |
-
transition: background-color .1s ease-in-out;
|
430 |
-
}
|
431 |
-
|
432 |
-
.foogallery-admin-help-button-active {
|
433 |
-
background-color: #1897ff;
|
434 |
-
}
|
435 |
-
|
436 |
-
.foogallery-admin-help-button-cta {
|
437 |
-
position: relative;
|
438 |
-
background-color: #7d4fff;
|
439 |
-
color: #ffffff !important;
|
440 |
-
padding: 12px 36px;
|
441 |
-
font-size: 1.3em;
|
442 |
-
border-radius: 5px;
|
443 |
-
text-decoration: none;
|
444 |
-
font-weight: 600;
|
445 |
-
display: inline-block;
|
446 |
-
min-width: 250px;
|
447 |
-
text-align: center;
|
448 |
-
line-height: 1.4;
|
449 |
-
border: none;
|
450 |
-
box-shadow: none;
|
451 |
-
outline: none;
|
452 |
-
cursor: pointer;
|
453 |
-
transition: background-color .1s ease-in-out;
|
454 |
-
}
|
455 |
-
|
456 |
-
.foogallery-admin-help-button-cta:hover,
|
457 |
-
.foogallery-admin-help-button-cta:focus {
|
458 |
-
background-color: #5234a7;
|
459 |
-
}
|
460 |
-
|
461 |
-
.foogallery-admin-help-button-cta.foogallery-admin-help-loading {
|
462 |
-
position: relative;
|
463 |
-
cursor: wait;
|
464 |
-
}
|
465 |
-
|
466 |
-
.foogallery-admin-help-button-cta .progress {
|
467 |
-
border-radius: 5px;
|
468 |
-
width: 0;
|
469 |
-
background: #1897ff;
|
470 |
-
opacity: 0;
|
471 |
-
transition: all 0.3s ease;
|
472 |
-
position: absolute;
|
473 |
-
left: 0;
|
474 |
-
top: 0;
|
475 |
-
right: 0;
|
476 |
-
bottom: 0;
|
477 |
-
}
|
478 |
-
.foogallery-admin-help-button-cta.foogallery-admin-help-loading .progress {
|
479 |
-
opacity: 1;
|
480 |
-
animation: progress-anim 5s ease 0s;
|
481 |
-
animation-fill-mode: both;
|
482 |
-
}
|
483 |
-
|
484 |
-
@keyframes progress-anim {
|
485 |
-
0% {
|
486 |
-
width: 0%;
|
487 |
-
}
|
488 |
-
5% {
|
489 |
-
width: 0%;
|
490 |
-
}
|
491 |
-
10% {
|
492 |
-
width: 15%;
|
493 |
-
}
|
494 |
-
30% {
|
495 |
-
width: 40%;
|
496 |
-
}
|
497 |
-
50% {
|
498 |
-
width: 55%;
|
499 |
-
}
|
500 |
-
80% {
|
501 |
-
width: 70%;
|
502 |
-
}
|
503 |
-
90% {
|
504 |
-
width: 80%;
|
505 |
-
}
|
506 |
-
100% {
|
507 |
-
width: 95%;
|
508 |
-
}
|
509 |
-
}
|
510 |
-
|
511 |
-
.foogallery-admin-help-footer {
|
512 |
-
margin: 0;
|
513 |
-
color: #ffffff;
|
514 |
-
text-align: center;
|
515 |
-
padding: 20px;
|
516 |
-
font-size: 1.3em;
|
517 |
-
}
|
518 |
-
|
519 |
-
.foogallery-admin-help-column .foogallery-admin-help-button-cta {
|
520 |
-
min-width: auto;
|
521 |
-
padding: 12px 24px;
|
522 |
-
}
|
523 |
-
|
524 |
-
|
525 |
-
@media screen and (max-width: 782px){
|
526 |
-
.foogallery-admin-help nav {
|
527 |
-
flex-wrap: wrap;
|
528 |
-
}
|
529 |
-
.foogallery-admin-help nav a {
|
530 |
-
padding: 24px 24px 18px 24px;
|
531 |
-
width: 50%;
|
532 |
-
}
|
533 |
-
}
|
534 |
-
|
535 |
-
@media screen and (max-width: 600px){
|
536 |
-
.fgah-feature > div,
|
537 |
-
.fgah-feature-right > div {
|
538 |
-
flex-direction: column;
|
539 |
-
}
|
540 |
-
.fgah-feature > div > *,
|
541 |
-
.fgah-feature > div > figure {
|
542 |
-
width: 100%;
|
543 |
-
}
|
544 |
-
.fgah-feature > div > figure + * {
|
545 |
-
margin-top: 32px;
|
546 |
-
}
|
547 |
-
.fgah-feature > div > figure,
|
548 |
-
.fgah-feature-right > div > figure {
|
549 |
-
padding-right: 0;
|
550 |
-
padding-left: 0;
|
551 |
-
}
|
552 |
-
}
|
553 |
-
|
554 |
-
@media screen and (max-width: 400px){
|
555 |
-
.foogallery-admin-help-button-cta {
|
556 |
-
min-width: 150px;
|
557 |
-
}
|
558 |
-
}
|
559 |
-
|
560 |
-
|
561 |
-
@media (hover: hover){
|
562 |
-
.foogallery-admin-help a:hover {
|
563 |
-
color: #0097de;
|
564 |
-
}
|
565 |
}
|
1 |
+
.foogallery_page_foogallery-help .fs-notice {
|
2 |
+
margin-right: 200px !important;
|
3 |
+
}
|
4 |
+
|
5 |
+
|
6 |
+
body {
|
7 |
+
background-color: #646970;/*#484c50;*/
|
8 |
+
}
|
9 |
+
#wpcontent {
|
10 |
+
padding-right: 20px;
|
11 |
+
box-sizing: border-box;
|
12 |
+
}
|
13 |
+
@media screen and (max-width: 782px){
|
14 |
+
.auto-fold #wpcontent {
|
15 |
+
padding-right: 10px;
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
.foogallery-admin-help,
|
20 |
+
.foogallery-admin-help * {
|
21 |
+
box-sizing: border-box;
|
22 |
+
}
|
23 |
+
|
24 |
+
.foogallery-admin-help {
|
25 |
+
max-width: 1000px;
|
26 |
+
margin: 24px auto;
|
27 |
+
clear: both;
|
28 |
+
background-color: #101517;
|
29 |
+
border-radius: 20px;
|
30 |
+
color: #ffffff;
|
31 |
+
font-size: 14px;
|
32 |
+
line-height: 1.4;
|
33 |
+
}
|
34 |
+
|
35 |
+
.foogallery-admin-help img {
|
36 |
+
display: block;
|
37 |
+
max-width: 100%;
|
38 |
+
height: auto;
|
39 |
+
box-sizing: border-box;
|
40 |
+
margin: 0 auto;
|
41 |
+
}
|
42 |
+
.foogallery-admin-help p {
|
43 |
+
margin: 0.8em 0;
|
44 |
+
font-size: 14px;
|
45 |
+
line-height: 1.4;
|
46 |
+
}
|
47 |
+
.foogallery-admin-help h2,
|
48 |
+
.foogallery-admin-help h3,
|
49 |
+
.foogallery-admin-help h4 {
|
50 |
+
color: inherit;
|
51 |
+
}
|
52 |
+
|
53 |
+
.foogallery-admin-help a {
|
54 |
+
color: #3582c4;
|
55 |
+
text-decoration: none;
|
56 |
+
}
|
57 |
+
.foogallery-admin-help a:focus {
|
58 |
+
box-shadow: none;
|
59 |
+
}
|
60 |
+
.foogallery-admin-help a:hover {
|
61 |
+
color: #4f94d4;
|
62 |
+
}
|
63 |
+
|
64 |
+
.foogallery-admin-help-header {
|
65 |
+
margin: 0;
|
66 |
+
color: #FFFFFF;
|
67 |
+
position: relative;
|
68 |
+
text-align: center;
|
69 |
+
padding: 20px;
|
70 |
+
}
|
71 |
+
.foogallery-admin-help-header > img {
|
72 |
+
margin: 3em auto;
|
73 |
+
}
|
74 |
+
|
75 |
+
.foogallery-admin-help-tagline {
|
76 |
+
margin: 0;
|
77 |
+
padding: 10px;
|
78 |
+
font-size: 1.5em;
|
79 |
+
}
|
80 |
+
|
81 |
+
.foogallery-admin-help-ribbon {
|
82 |
+
position: absolute;
|
83 |
+
right: -5px;
|
84 |
+
top: -5px;
|
85 |
+
z-index: 1;
|
86 |
+
overflow: hidden;
|
87 |
+
width: 75px;
|
88 |
+
height: 75px;
|
89 |
+
text-align: right;
|
90 |
+
}
|
91 |
+
.foogallery-admin-help-ribbon span {
|
92 |
+
font-size: 10px;
|
93 |
+
font-weight: bold;
|
94 |
+
color: #2b2400;
|
95 |
+
text-transform: uppercase;
|
96 |
+
text-align: center;
|
97 |
+
line-height: 20px;
|
98 |
+
transform: rotate(45deg);
|
99 |
+
width: 100px;
|
100 |
+
display: block;
|
101 |
+
background: #b04cff;
|
102 |
+
box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
|
103 |
+
position: absolute;
|
104 |
+
top: 19px; right: -21px;
|
105 |
+
}
|
106 |
+
.foogallery-admin-help-ribbon span::before {
|
107 |
+
content: "";
|
108 |
+
position: absolute;
|
109 |
+
left: 0;
|
110 |
+
top: 100%;
|
111 |
+
z-index: -1;
|
112 |
+
border-left: 3px solid #6a00b8;
|
113 |
+
border-right: 3px solid transparent;
|
114 |
+
border-bottom: 3px solid transparent;
|
115 |
+
border-top: 3px solid #6a00b8;
|
116 |
+
}
|
117 |
+
.foogallery-admin-help-ribbon span::after {
|
118 |
+
content: "";
|
119 |
+
position: absolute;
|
120 |
+
right: 0;
|
121 |
+
top: 100%;
|
122 |
+
z-index: -1;
|
123 |
+
border-left: 3px solid transparent;
|
124 |
+
border-right: 3px solid #6a00b8;
|
125 |
+
border-bottom: 3px solid transparent;
|
126 |
+
border-top: 3px solid #6a00b8;
|
127 |
+
}
|
128 |
+
|
129 |
+
.foogallery-admin-help nav {
|
130 |
+
background: #101517;/*#1d2327*/;
|
131 |
+
clear: both;
|
132 |
+
padding-top: 0;
|
133 |
+
color: #9ca2a7;
|
134 |
+
display: flex;
|
135 |
+
width: 100%;
|
136 |
+
max-width: 100%;
|
137 |
+
justify-content: stretch;
|
138 |
+
align-items: stretch;
|
139 |
+
flex-wrap: nowrap;
|
140 |
+
padding-left: 10px;
|
141 |
+
padding-right: 10px;
|
142 |
+
border-bottom: 3px solid #fff;
|
143 |
+
}
|
144 |
+
|
145 |
+
.foogallery-admin-help nav a {
|
146 |
+
display: block;
|
147 |
+
flex-grow: 1;
|
148 |
+
margin-left: 0;
|
149 |
+
padding: 24px 32px 18px 32px;
|
150 |
+
font-size: 1.3em;
|
151 |
+
line-height: 1.4;
|
152 |
+
border: 3px solid transparent;
|
153 |
+
border-top-left-radius: .6rem;
|
154 |
+
border-top-right-radius: .6rem;
|
155 |
+
background: transparent;
|
156 |
+
color: inherit;
|
157 |
+
text-decoration: none;
|
158 |
+
font-weight: 600;
|
159 |
+
box-shadow: none;
|
160 |
+
text-align: center;
|
161 |
+
}
|
162 |
+
|
163 |
+
.foogallery-admin-help nav a.foogallery-admin-help-tab-active {
|
164 |
+
background-color: #2c3338;
|
165 |
+
color: #ffffff;
|
166 |
+
border-color: #ffffff;
|
167 |
+
border-bottom: none;
|
168 |
+
border-bottom-color: #2c3338;
|
169 |
+
margin-bottom: -3px;
|
170 |
+
}
|
171 |
+
|
172 |
+
.fgah-feature {
|
173 |
+
display: block;
|
174 |
+
position: relative;
|
175 |
+
max-width: 100%;
|
176 |
+
margin: 0;
|
177 |
+
padding: 16px;
|
178 |
+
font-size: 14px;
|
179 |
+
background-color: #1d2327;
|
180 |
+
}
|
181 |
+
.fgah-feature:nth-child(odd) {
|
182 |
+
background-color: #2c3338;
|
183 |
+
}
|
184 |
+
|
185 |
+
.fgah-feature > * {
|
186 |
+
margin: 16px;
|
187 |
+
}
|
188 |
+
.fgah-feature > header + * {
|
189 |
+
margin-top: 32px;
|
190 |
+
}
|
191 |
+
.fgah-feature > * + footer {
|
192 |
+
margin-top: 32px;
|
193 |
+
}
|
194 |
+
|
195 |
+
.fgah-feature > header {
|
196 |
+
text-align: left;
|
197 |
+
}
|
198 |
+
|
199 |
+
.fgah-feature > header > h3 {
|
200 |
+
font-size: 1.5em;
|
201 |
+
margin: 0;
|
202 |
+
padding: 0;
|
203 |
+
font-weight: 600;
|
204 |
+
}
|
205 |
+
.fgah-feature > header > h3 + p {
|
206 |
+
margin-top: 24px;
|
207 |
+
}
|
208 |
+
|
209 |
+
.fgah-feature > footer {
|
210 |
+
text-align: center;
|
211 |
+
padding: 0;
|
212 |
+
}
|
213 |
+
|
214 |
+
.fgah-feature > footer > small {
|
215 |
+
display: block;
|
216 |
+
margin: 16px 0;
|
217 |
+
color: #c3c4c7;
|
218 |
+
}
|
219 |
+
|
220 |
+
.fgah-feature > footer > *:last-child {
|
221 |
+
margin-bottom: 0;
|
222 |
+
}
|
223 |
+
|
224 |
+
.fgah-feature > div {
|
225 |
+
display: flex;
|
226 |
+
flex-direction: row;
|
227 |
+
justify-content: center;
|
228 |
+
align-items: flex-start;
|
229 |
+
max-width: 100%;
|
230 |
+
}
|
231 |
+
.fgah-feature-right > div {
|
232 |
+
flex-direction: row-reverse;
|
233 |
+
}
|
234 |
+
.fgah-feature > div > * {
|
235 |
+
padding: 0;
|
236 |
+
margin: 0;
|
237 |
+
width: 33.33%;
|
238 |
+
}
|
239 |
+
.fgah-feature > div > figure {
|
240 |
+
width: 66.66%;
|
241 |
+
text-align: center;
|
242 |
+
padding-right: 32px;
|
243 |
+
}
|
244 |
+
.fgah-feature-right > div > figure {
|
245 |
+
padding-right: 0;
|
246 |
+
padding-left: 32px;
|
247 |
+
}
|
248 |
+
|
249 |
+
.fgah-feature > div > ol {
|
250 |
+
|
251 |
+
}
|
252 |
+
.fgah-feature > div > ol > li {
|
253 |
+
list-style-type: decimal;
|
254 |
+
margin: 0 2em;
|
255 |
+
padding: 0;
|
256 |
+
}
|
257 |
+
|
258 |
+
.fgah-feature > div > dl {
|
259 |
+
|
260 |
+
}
|
261 |
+
.fgah-feature > div > dl > dt {
|
262 |
+
font-size: large;
|
263 |
+
margin: 0 0 16px 0;
|
264 |
+
font-weight: 600;
|
265 |
+
}
|
266 |
+
.fgah-feature > div > dl > dt > code {
|
267 |
+
background-color: transparent;
|
268 |
+
font-size: inherit;
|
269 |
+
padding: 0;
|
270 |
+
margin: 0;
|
271 |
+
}
|
272 |
+
.fgah-feature > div > dl > dd {
|
273 |
+
font-size: inherit;
|
274 |
+
margin: 16px 0;
|
275 |
+
}
|
276 |
+
.fgah-feature > div > dl > dd + dt {
|
277 |
+
margin: 32px 0 16px 0;
|
278 |
+
}
|
279 |
+
|
280 |
+
.fgah-feature-pro {
|
281 |
+
counter-increment: number-counter;
|
282 |
+
}
|
283 |
+
|
284 |
+
.fgah-feature-pro > div > dl > dd > p > a {
|
285 |
+
text-decoration: underline;
|
286 |
+
}
|
287 |
+
|
288 |
+
.fgah-feature-pro > div > dl > dt::before {
|
289 |
+
content: counters(number-counter, ".") " ";
|
290 |
+
line-height: 30px;
|
291 |
+
display: inline-block;
|
292 |
+
min-width: 20px;
|
293 |
+
margin: 0 8px 0 0;
|
294 |
+
padding: 0 5px;
|
295 |
+
text-align: center;
|
296 |
+
vertical-align: 1px;
|
297 |
+
color: #fff;
|
298 |
+
border-radius: 3px;
|
299 |
+
background: #4098D7;
|
300 |
+
background: linear-gradient(45deg, #6638b8 0%, #4098D7 100%);
|
301 |
+
}
|
302 |
+
|
303 |
+
span.fgah-plan-prostarter {
|
304 |
+
color: #4098D7;
|
305 |
+
font-weight: bold;
|
306 |
+
}
|
307 |
+
|
308 |
+
.fgah-feature-pro.fgah-feature-plan-pro > div > dl > dt::before {
|
309 |
+
background: #2CA03D;
|
310 |
+
background: linear-gradient(45deg, #6638b8 0%, #2CA03D 100%);
|
311 |
+
}
|
312 |
+
|
313 |
+
span.fgah-plan-pro {
|
314 |
+
color: #2CA03D;
|
315 |
+
font-weight: bold;
|
316 |
+
}
|
317 |
+
|
318 |
+
.fgah-feature-pro.fgah-feature-plan-commerce > div > dl > dt::before {
|
319 |
+
background: #B0459D;
|
320 |
+
background: linear-gradient(45deg, #6638b8 0%, #B0459D 100%);
|
321 |
+
}
|
322 |
+
|
323 |
+
span.fgah-plan-commerce {
|
324 |
+
color: #B0459D;
|
325 |
+
font-weight: bold;
|
326 |
+
}
|
327 |
+
|
328 |
+
.fgah-feature-sub-title {
|
329 |
+
margin-bottom: 16px;
|
330 |
+
}
|
331 |
+
|
332 |
+
.fgah-feature-sub-title h4 {
|
333 |
+
margin: 0px 0px 5px 0;
|
334 |
+
}
|
335 |
+
|
336 |
+
.fgah-feature-sub-title span {
|
337 |
+
background: #6d6d6d;
|
338 |
+
color: #191a1f;
|
339 |
+
padding: 1px 6px;
|
340 |
+
border-radius: 3px;
|
341 |
+
margin-right: 3px;
|
342 |
+
font-weight: 500;
|
343 |
+
}
|
344 |
+
|
345 |
+
.fgah-feature-sub-title span.fgah-plan-prostarter {
|
346 |
+
background: #3397C1;
|
347 |
+
}
|
348 |
+
|
349 |
+
.fgah-feature-sub-title span.fgah-plan-pro {
|
350 |
+
background: #2CA03D;
|
351 |
+
}
|
352 |
+
|
353 |
+
.fgah-feature-sub-title span.fgah-plan-commerce {
|
354 |
+
background: #B0459D;
|
355 |
+
}
|
356 |
+
|
357 |
+
.fgah-help-list {
|
358 |
+
list-style-type: none;
|
359 |
+
}
|
360 |
+
.fgah-help-list li {
|
361 |
+
list-style-type: none;
|
362 |
+
margin: 0 0 16px 0;
|
363 |
+
padding: 0;
|
364 |
+
}
|
365 |
+
.fgah-help-list li:last-child {
|
366 |
+
margin-bottom: 0;
|
367 |
+
}
|
368 |
+
.fgah-help-list li::before {
|
369 |
+
content: "\003F";
|
370 |
+
display: inline-block;
|
371 |
+
background-color: #1897ff;
|
372 |
+
color: #FFFFFF;
|
373 |
+
border-radius: 50%;
|
374 |
+
line-height: 1;
|
375 |
+
width: 1em;
|
376 |
+
height: 1em;
|
377 |
+
padding: 0.14em;
|
378 |
+
text-align: center;
|
379 |
+
margin-right: 0.4em;
|
380 |
+
border: solid 2px #FFFFFF;
|
381 |
+
float: left;
|
382 |
+
}
|
383 |
+
|
384 |
+
.fgah-demo {
|
385 |
+
display: block;
|
386 |
+
position: relative;
|
387 |
+
max-width: 100%;
|
388 |
+
margin: 0;
|
389 |
+
padding: 16px;
|
390 |
+
font-size: 14px;
|
391 |
+
background-color: #2c3338;
|
392 |
+
}
|
393 |
+
.fgah-demo > header {
|
394 |
+
text-align: left;
|
395 |
+
margin: 16px;
|
396 |
+
}
|
397 |
+
.fgah-demo > header + * {
|
398 |
+
margin-top: 32px;
|
399 |
+
}
|
400 |
+
.fgah-demo > header > h3 {
|
401 |
+
font-size: 1.5em;
|
402 |
+
margin: 0;
|
403 |
+
padding: 0;
|
404 |
+
font-weight: 600;
|
405 |
+
}
|
406 |
+
.fgah-demo > header > h3 + p {
|
407 |
+
margin-top: 24px;
|
408 |
+
}
|
409 |
+
.fgah-demo > div.foogallery {
|
410 |
+
margin-bottom: 15px;
|
411 |
+
}
|
412 |
+
|
413 |
+
.foogallery-admin-help-button {
|
414 |
+
position: relative;
|
415 |
+
background-color: #7d4fff;
|
416 |
+
color: #ffffff !important;
|
417 |
+
padding: 10px 20px;
|
418 |
+
font-size: 1em;
|
419 |
+
border-radius: 3px;
|
420 |
+
text-decoration: none;
|
421 |
+
font-weight: 400;
|
422 |
+
display: inline-block;
|
423 |
+
text-align: center;
|
424 |
+
line-height: 1.2;
|
425 |
+
border: none;
|
426 |
+
box-shadow: none;
|
427 |
+
outline: none;
|
428 |
+
cursor: pointer;
|
429 |
+
transition: background-color .1s ease-in-out;
|
430 |
+
}
|
431 |
+
|
432 |
+
.foogallery-admin-help-button-active {
|
433 |
+
background-color: #1897ff;
|
434 |
+
}
|
435 |
+
|
436 |
+
.foogallery-admin-help-button-cta {
|
437 |
+
position: relative;
|
438 |
+
background-color: #7d4fff;
|
439 |
+
color: #ffffff !important;
|
440 |
+
padding: 12px 36px;
|
441 |
+
font-size: 1.3em;
|
442 |
+
border-radius: 5px;
|
443 |
+
text-decoration: none;
|
444 |
+
font-weight: 600;
|
445 |
+
display: inline-block;
|
446 |
+
min-width: 250px;
|
447 |
+
text-align: center;
|
448 |
+
line-height: 1.4;
|
449 |
+
border: none;
|
450 |
+
box-shadow: none;
|
451 |
+
outline: none;
|
452 |
+
cursor: pointer;
|
453 |
+
transition: background-color .1s ease-in-out;
|
454 |
+
}
|
455 |
+
|
456 |
+
.foogallery-admin-help-button-cta:hover,
|
457 |
+
.foogallery-admin-help-button-cta:focus {
|
458 |
+
background-color: #5234a7;
|
459 |
+
}
|
460 |
+
|
461 |
+
.foogallery-admin-help-button-cta.foogallery-admin-help-loading {
|
462 |
+
position: relative;
|
463 |
+
cursor: wait;
|
464 |
+
}
|
465 |
+
|
466 |
+
.foogallery-admin-help-button-cta .progress {
|
467 |
+
border-radius: 5px;
|
468 |
+
width: 0;
|
469 |
+
background: #1897ff;
|
470 |
+
opacity: 0;
|
471 |
+
transition: all 0.3s ease;
|
472 |
+
position: absolute;
|
473 |
+
left: 0;
|
474 |
+
top: 0;
|
475 |
+
right: 0;
|
476 |
+
bottom: 0;
|
477 |
+
}
|
478 |
+
.foogallery-admin-help-button-cta.foogallery-admin-help-loading .progress {
|
479 |
+
opacity: 1;
|
480 |
+
animation: progress-anim 5s ease 0s;
|
481 |
+
animation-fill-mode: both;
|
482 |
+
}
|
483 |
+
|
484 |
+
@keyframes progress-anim {
|
485 |
+
0% {
|
486 |
+
width: 0%;
|
487 |
+
}
|
488 |
+
5% {
|
489 |
+
width: 0%;
|
490 |
+
}
|
491 |
+
10% {
|
492 |
+
width: 15%;
|
493 |
+
}
|
494 |
+
30% {
|
495 |
+
width: 40%;
|
496 |
+
}
|
497 |
+
50% {
|
498 |
+
width: 55%;
|
499 |
+
}
|
500 |
+
80% {
|
501 |
+
width: 70%;
|
502 |
+
}
|
503 |
+
90% {
|
504 |
+
width: 80%;
|
505 |
+
}
|
506 |
+
100% {
|
507 |
+
width: 95%;
|
508 |
+
}
|
509 |
+
}
|
510 |
+
|
511 |
+
.foogallery-admin-help-footer {
|
512 |
+
margin: 0;
|
513 |
+
color: #ffffff;
|
514 |
+
text-align: center;
|
515 |
+
padding: 20px;
|
516 |
+
font-size: 1.3em;
|
517 |
+
}
|
518 |
+
|
519 |
+
.foogallery-admin-help-column .foogallery-admin-help-button-cta {
|
520 |
+
min-width: auto;
|
521 |
+
padding: 12px 24px;
|
522 |
+
}
|
523 |
+
|
524 |
+
|
525 |
+
@media screen and (max-width: 782px){
|
526 |
+
.foogallery-admin-help nav {
|
527 |
+
flex-wrap: wrap;
|
528 |
+
}
|
529 |
+
.foogallery-admin-help nav a {
|
530 |
+
padding: 24px 24px 18px 24px;
|
531 |
+
width: 50%;
|
532 |
+
}
|
533 |
+
}
|
534 |
+
|
535 |
+
@media screen and (max-width: 600px){
|
536 |
+
.fgah-feature > div,
|
537 |
+
.fgah-feature-right > div {
|
538 |
+
flex-direction: column;
|
539 |
+
}
|
540 |
+
.fgah-feature > div > *,
|
541 |
+
.fgah-feature > div > figure {
|
542 |
+
width: 100%;
|
543 |
+
}
|
544 |
+
.fgah-feature > div > figure + * {
|
545 |
+
margin-top: 32px;
|
546 |
+
}
|
547 |
+
.fgah-feature > div > figure,
|
548 |
+
.fgah-feature-right > div > figure {
|
549 |
+
padding-right: 0;
|
550 |
+
padding-left: 0;
|
551 |
+
}
|
552 |
+
}
|
553 |
+
|
554 |
+
@media screen and (max-width: 400px){
|
555 |
+
.foogallery-admin-help-button-cta {
|
556 |
+
min-width: 150px;
|
557 |
+
}
|
558 |
+
}
|
559 |
+
|
560 |
+
|
561 |
+
@media (hover: hover){
|
562 |
+
.foogallery-admin-help a:hover {
|
563 |
+
color: #0097de;
|
564 |
+
}
|
565 |
}
|
css/admin-page-foogallery-settings.css
CHANGED
@@ -1,45 +1,45 @@
|
|
1 |
-
#foogallery-settings-main div+br {
|
2 |
-
display: none;
|
3 |
-
}
|
4 |
-
|
5 |
-
#custom_assets_tab textarea {
|
6 |
-
width: 500px;
|
7 |
-
height: 300px;
|
8 |
-
}
|
9 |
-
|
10 |
-
.foogallery_settings_radioicon label {
|
11 |
-
display:inline-block;
|
12 |
-
margin-right:10px;
|
13 |
-
border:solid 3px transparent;
|
14 |
-
background:#aaa;
|
15 |
-
border-radius: 3px;
|
16 |
-
-moz-border-radius: 3px;
|
17 |
-
-webkit-border-radius: 3px;
|
18 |
-
padding:5px;
|
19 |
-
line-height: 0;
|
20 |
-
margin-bottom: 10px;
|
21 |
-
}
|
22 |
-
|
23 |
-
.foogallery_settings_radioicon input:checked + label {
|
24 |
-
border:solid 3px #444;
|
25 |
-
background: #888;
|
26 |
-
}
|
27 |
-
|
28 |
-
.foogallery_settings_radioicon label:hover {
|
29 |
-
border:solid 3px #444;
|
30 |
-
}
|
31 |
-
|
32 |
-
.foogallery_settings_short_text {
|
33 |
-
width: 5em;
|
34 |
-
}
|
35 |
-
|
36 |
-
.foogallery_settings_long_text {
|
37 |
-
width: 50em;
|
38 |
-
}
|
39 |
-
|
40 |
-
tr.foogallery_settings_radio td input[type="radio"] {
|
41 |
-
margin: 0.25rem 0.25rem 0.5rem 0;
|
42 |
-
}
|
43 |
-
tr.foogallery_settings_radio td input[type="radio"] + label {
|
44 |
-
vertical-align: text-top;
|
45 |
}
|
1 |
+
#foogallery-settings-main div+br {
|
2 |
+
display: none;
|
3 |
+
}
|
4 |
+
|
5 |
+
#custom_assets_tab textarea {
|
6 |
+
width: 500px;
|
7 |
+
height: 300px;
|
8 |
+
}
|
9 |
+
|
10 |
+
.foogallery_settings_radioicon label {
|
11 |
+
display:inline-block;
|
12 |
+
margin-right:10px;
|
13 |
+
border:solid 3px transparent;
|
14 |
+
background:#aaa;
|
15 |
+
border-radius: 3px;
|
16 |
+
-moz-border-radius: 3px;
|
17 |
+
-webkit-border-radius: 3px;
|
18 |
+
padding:5px;
|
19 |
+
line-height: 0;
|
20 |
+
margin-bottom: 10px;
|
21 |
+
}
|
22 |
+
|
23 |
+
.foogallery_settings_radioicon input:checked + label {
|
24 |
+
border:solid 3px #444;
|
25 |
+
background: #888;
|
26 |
+
}
|
27 |
+
|
28 |
+
.foogallery_settings_radioicon label:hover {
|
29 |
+
border:solid 3px #444;
|
30 |
+
}
|
31 |
+
|
32 |
+
.foogallery_settings_short_text {
|
33 |
+
width: 5em;
|
34 |
+
}
|
35 |
+
|
36 |
+
.foogallery_settings_long_text {
|
37 |
+
width: 50em;
|
38 |
+
}
|
39 |
+
|
40 |
+
tr.foogallery_settings_radio td input[type="radio"] {
|
41 |
+
margin: 0.25rem 0.25rem 0.5rem 0;
|
42 |
+
}
|
43 |
+
tr.foogallery_settings_radio td input[type="radio"] + label {
|
44 |
+
vertical-align: text-top;
|
45 |
}
|
css/admin-tinymce.css
CHANGED
@@ -1,115 +1,115 @@
|
|
1 |
-
.mce-content-body div.foogallery-tinymce-view {
|
2 |
-
background-color: rgba(0, 0, 0, 0.1);
|
3 |
-
position: relative;
|
4 |
-
margin-bottom: 16px;
|
5 |
-
border: 1px solid rgba(0, 0, 0, 0);
|
6 |
-
width: 99.99%;
|
7 |
-
clear: both;
|
8 |
-
height: 250px;
|
9 |
-
text-align: center;
|
10 |
-
}
|
11 |
-
|
12 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-toolbar {
|
13 |
-
display: none;
|
14 |
-
position: absolute;
|
15 |
-
top: 0;
|
16 |
-
left: 0;
|
17 |
-
z-index: 100;
|
18 |
-
}
|
19 |
-
|
20 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-toolbar .dashicons {
|
21 |
-
margin-top: 7px;
|
22 |
-
margin-left: 7px;
|
23 |
-
padding: 2px;
|
24 |
-
width: 30px;
|
25 |
-
height: 30px;
|
26 |
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
27 |
-
background-color: #000;
|
28 |
-
background-color: rgba(0, 0, 0, 0.9);
|
29 |
-
cursor: pointer;
|
30 |
-
color: #FFF;
|
31 |
-
font-size: 30px;
|
32 |
-
}
|
33 |
-
|
34 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-toolbar .dashicons:hover {
|
35 |
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
|
36 |
-
background-color: #000;
|
37 |
-
color: #2EA2CC;
|
38 |
-
}
|
39 |
-
|
40 |
-
.mce-content-body div.foogallery-tinymce-view.foogallery-tinymce-selected {
|
41 |
-
border-color: rgba(0, 0, 0, 0.3);
|
42 |
-
}
|
43 |
-
|
44 |
-
.mce-content-body div.foogallery-tinymce-view.foogallery-tinymce-selected .foogallery-tinymce-toolbar {
|
45 |
-
display: block;
|
46 |
-
}
|
47 |
-
|
48 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-pile {
|
49 |
-
position: absolute;
|
50 |
-
z-index: 10;
|
51 |
-
left: 50%;
|
52 |
-
top: 50%;
|
53 |
-
margin-left: -83px;
|
54 |
-
margin-top: -95px;
|
55 |
-
}
|
56 |
-
|
57 |
-
/* Image styles */
|
58 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-pile .foogallery-pile-inner { max-width: 100%; height: auto; vertical-align: bottom; border: 8px solid #fff;
|
59 |
-
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
60 |
-
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
61 |
-
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
62 |
-
overflow: hidden;
|
63 |
-
background: #CCC;
|
64 |
-
font-size: 0;
|
65 |
-
}
|
66 |
-
|
67 |
-
/* Stacks creted by the use of generated content */
|
68 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-pile:before, .foogallery-pile:after { content: ""; width: 100%; height: 100%; position: absolute; border: 8px solid #fff; left: 0;
|
69 |
-
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
70 |
-
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
71 |
-
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
72 |
-
-webkit-box-sizing: border-box;
|
73 |
-
-moz-box-sizing: border-box;
|
74 |
-
box-sizing: border-box;
|
75 |
-
}
|
76 |
-
/* 1st element in stack (behind image) */
|
77 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-pile:before {
|
78 |
-
top: 0;
|
79 |
-
z-index: -10;
|
80 |
-
-webkit-transform: rotate(-3deg);
|
81 |
-
-moz-transform: rotate(-3deg);
|
82 |
-
transform: rotate(-3deg);
|
83 |
-
}
|
84 |
-
/* 2nd element in stack (behind image) */
|
85 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-pile:after {
|
86 |
-
top: 1px;
|
87 |
-
z-index: -20;
|
88 |
-
-webkit-transform: rotate(4deg);
|
89 |
-
-moz-transform: rotate(4deg);
|
90 |
-
transform: rotate(4deg);
|
91 |
-
}
|
92 |
-
|
93 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-pile-inner img {
|
94 |
-
max-width: 150px;
|
95 |
-
}
|
96 |
-
|
97 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-title {
|
98 |
-
font-family: "Open Sans", sans-serif;
|
99 |
-
font-size: 1.2em;
|
100 |
-
color: #666;
|
101 |
-
position: absolute;
|
102 |
-
bottom: 1em;
|
103 |
-
width: 100%;
|
104 |
-
left: 0;
|
105 |
-
}
|
106 |
-
|
107 |
-
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-count {
|
108 |
-
font-family: "Open Sans", sans-serif;
|
109 |
-
font-size: 0.7em;
|
110 |
-
color: #888;
|
111 |
-
position: absolute;
|
112 |
-
bottom: 0.5em;
|
113 |
-
width: 100%;
|
114 |
-
left: 0;
|
115 |
}
|
1 |
+
.mce-content-body div.foogallery-tinymce-view {
|
2 |
+
background-color: rgba(0, 0, 0, 0.1);
|
3 |
+
position: relative;
|
4 |
+
margin-bottom: 16px;
|
5 |
+
border: 1px solid rgba(0, 0, 0, 0);
|
6 |
+
width: 99.99%;
|
7 |
+
clear: both;
|
8 |
+
height: 250px;
|
9 |
+
text-align: center;
|
10 |
+
}
|
11 |
+
|
12 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-toolbar {
|
13 |
+
display: none;
|
14 |
+
position: absolute;
|
15 |
+
top: 0;
|
16 |
+
left: 0;
|
17 |
+
z-index: 100;
|
18 |
+
}
|
19 |
+
|
20 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-toolbar .dashicons {
|
21 |
+
margin-top: 7px;
|
22 |
+
margin-left: 7px;
|
23 |
+
padding: 2px;
|
24 |
+
width: 30px;
|
25 |
+
height: 30px;
|
26 |
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
27 |
+
background-color: #000;
|
28 |
+
background-color: rgba(0, 0, 0, 0.9);
|
29 |
+
cursor: pointer;
|
30 |
+
color: #FFF;
|
31 |
+
font-size: 30px;
|
32 |
+
}
|
33 |
+
|
34 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-toolbar .dashicons:hover {
|
35 |
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
|
36 |
+
background-color: #000;
|
37 |
+
color: #2EA2CC;
|
38 |
+
}
|
39 |
+
|
40 |
+
.mce-content-body div.foogallery-tinymce-view.foogallery-tinymce-selected {
|
41 |
+
border-color: rgba(0, 0, 0, 0.3);
|
42 |
+
}
|
43 |
+
|
44 |
+
.mce-content-body div.foogallery-tinymce-view.foogallery-tinymce-selected .foogallery-tinymce-toolbar {
|
45 |
+
display: block;
|
46 |
+
}
|
47 |
+
|
48 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-pile {
|
49 |
+
position: absolute;
|
50 |
+
z-index: 10;
|
51 |
+
left: 50%;
|
52 |
+
top: 50%;
|
53 |
+
margin-left: -83px;
|
54 |
+
margin-top: -95px;
|
55 |
+
}
|
56 |
+
|
57 |
+
/* Image styles */
|
58 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-pile .foogallery-pile-inner { max-width: 100%; height: auto; vertical-align: bottom; border: 8px solid #fff;
|
59 |
+
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
60 |
+
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
61 |
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
62 |
+
overflow: hidden;
|
63 |
+
background: #CCC;
|
64 |
+
font-size: 0;
|
65 |
+
}
|
66 |
+
|
67 |
+
/* Stacks creted by the use of generated content */
|
68 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-pile:before, .foogallery-pile:after { content: ""; width: 100%; height: 100%; position: absolute; border: 8px solid #fff; left: 0;
|
69 |
+
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
70 |
+
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
71 |
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
72 |
+
-webkit-box-sizing: border-box;
|
73 |
+
-moz-box-sizing: border-box;
|
74 |
+
box-sizing: border-box;
|
75 |
+
}
|
76 |
+
/* 1st element in stack (behind image) */
|
77 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-pile:before {
|
78 |
+
top: 0;
|
79 |
+
z-index: -10;
|
80 |
+
-webkit-transform: rotate(-3deg);
|
81 |
+
-moz-transform: rotate(-3deg);
|
82 |
+
transform: rotate(-3deg);
|
83 |
+
}
|
84 |
+
/* 2nd element in stack (behind image) */
|
85 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-pile:after {
|
86 |
+
top: 1px;
|
87 |
+
z-index: -20;
|
88 |
+
-webkit-transform: rotate(4deg);
|
89 |
+
-moz-transform: rotate(4deg);
|
90 |
+
transform: rotate(4deg);
|
91 |
+
}
|
92 |
+
|
93 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-pile-inner img {
|
94 |
+
max-width: 150px;
|
95 |
+
}
|
96 |
+
|
97 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-title {
|
98 |
+
font-family: "Open Sans", sans-serif;
|
99 |
+
font-size: 1.2em;
|
100 |
+
color: #666;
|
101 |
+
position: absolute;
|
102 |
+
bottom: 1em;
|
103 |
+
width: 100%;
|
104 |
+
left: 0;
|
105 |
+
}
|
106 |
+
|
107 |
+
.mce-content-body div.foogallery-tinymce-view .foogallery-tinymce-count {
|
108 |
+
font-family: "Open Sans", sans-serif;
|
109 |
+
font-size: 0.7em;
|
110 |
+
color: #888;
|
111 |
+
position: absolute;
|
112 |
+
bottom: 0.5em;
|
113 |
+
width: 100%;
|
114 |
+
left: 0;
|
115 |
}
|
css/foogallery-foovideo-overrides.css
CHANGED
@@ -1,96 +1,96 @@
|
|
1 |
-
/* sticky video icon states */
|
2 |
-
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-thumb,
|
3 |
-
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-thumb,
|
4 |
-
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-thumb,
|
5 |
-
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-thumb,
|
6 |
-
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-thumb {
|
7 |
-
transform: translateY(0) translateX(0) translateZ(0);
|
8 |
-
}
|
9 |
-
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-item-inner:hover .fg-thumb,
|
10 |
-
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-item-inner:hover .fg-thumb,
|
11 |
-
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-item-inner:hover .fg-thumb,
|
12 |
-
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-item-inner:hover .fg-thumb,
|
13 |
-
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-item-inner:hover .fg-thumb {
|
14 |
-
transform: translateY(0) translateX(0) translateZ(0);
|
15 |
-
}
|
16 |
-
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-thumb:before,
|
17 |
-
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-thumb:before,
|
18 |
-
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-thumb:before,
|
19 |
-
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-thumb:before,
|
20 |
-
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-thumb:before {
|
21 |
-
content: '';
|
22 |
-
display: block;
|
23 |
-
top: 0;
|
24 |
-
left: 0;
|
25 |
-
bottom: 0;
|
26 |
-
right: 0;
|
27 |
-
visibility: visible;
|
28 |
-
opacity: 1;
|
29 |
-
background-color: rgba(0,0,0,0);
|
30 |
-
transition-timing-function: ease;
|
31 |
-
transition-duration: 300ms;
|
32 |
-
transition-property: opacity,visibility,background-color;
|
33 |
-
transform: translateY(0) translateX(0) translateZ(0);
|
34 |
-
z-index: 8;
|
35 |
-
}
|
36 |
-
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-item-inner:hover .fg-thumb:before,
|
37 |
-
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-item-inner:hover .fg-thumb:before,
|
38 |
-
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-item-inner:hover .fg-thumb:before,
|
39 |
-
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-item-inner:hover .fg-thumb:before,
|
40 |
-
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-item-inner:hover .fg-thumb:before {
|
41 |
-
background-color: rgba(0,0,0,0.5);
|
42 |
-
}
|
43 |
-
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before,
|
44 |
-
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before,
|
45 |
-
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before,
|
46 |
-
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before,
|
47 |
-
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
48 |
-
display: none;
|
49 |
-
}
|
50 |
-
|
51 |
-
/* The icons */
|
52 |
-
.foogallery-container.video-icon-default .fg-video .fg-thumb:before,
|
53 |
-
.foogallery-container.video-icon-1 .fg-video .fg-thumb:before,
|
54 |
-
.foogallery-container.video-icon-2 .fg-video .fg-thumb:before,
|
55 |
-
.foogallery-container.video-icon-3 .fg-video .fg-thumb:before,
|
56 |
-
.foogallery-container.video-icon-4 .fg-video .fg-thumb:before,
|
57 |
-
.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before,
|
58 |
-
.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before,
|
59 |
-
.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before,
|
60 |
-
.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before,
|
61 |
-
.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
62 |
-
background-size: 60px 60px;
|
63 |
-
}
|
64 |
-
.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before,
|
65 |
-
.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before,
|
66 |
-
.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before,
|
67 |
-
.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before,
|
68 |
-
.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
69 |
-
width: 60px;
|
70 |
-
height: 60px;
|
71 |
-
}
|
72 |
-
|
73 |
-
.foogallery-container.video-icon-default .fg-video .fg-thumb:before,
|
74 |
-
.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before {
|
75 |
-
background-image: url('data:image/png;base64,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')!important;
|
76 |
-
}
|
77 |
-
|
78 |
-
.foogallery-container.video-icon-1 .fg-video .fg-thumb:before,
|
79 |
-
.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before {
|
80 |
-
background-image: url('data:image/png;base64,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')!important;
|
81 |
-
}
|
82 |
-
|
83 |
-
.foogallery-container.video-icon-2 .fg-video .fg-thumb:before,
|
84 |
-
.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before {
|
85 |
-
background-image: url('data:image/png;base64,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')!important;
|
86 |
-
}
|
87 |
-
|
88 |
-
.foogallery-container.video-icon-3 .fg-video .fg-thumb:before,
|
89 |
-
.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before {
|
90 |
-
background-image: url('data:image/png;base64,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')!important;
|
91 |
-
}
|
92 |
-
|
93 |
-
.foogallery-container.video-icon-4 .fg-video .fg-thumb:before,
|
94 |
-
.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
95 |
-
background-image: url(data:image/png;base64,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)!important;
|
96 |
}
|
1 |
+
/* sticky video icon states */
|
2 |
+
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-thumb,
|
3 |
+
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-thumb,
|
4 |
+
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-thumb,
|
5 |
+
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-thumb,
|
6 |
+
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-thumb {
|
7 |
+
transform: translateY(0) translateX(0) translateZ(0);
|
8 |
+
}
|
9 |
+
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-item-inner:hover .fg-thumb,
|
10 |
+
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-item-inner:hover .fg-thumb,
|
11 |
+
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-item-inner:hover .fg-thumb,
|
12 |
+
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-item-inner:hover .fg-thumb,
|
13 |
+
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-item-inner:hover .fg-thumb {
|
14 |
+
transform: translateY(0) translateX(0) translateZ(0);
|
15 |
+
}
|
16 |
+
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-thumb:before,
|
17 |
+
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-thumb:before,
|
18 |
+
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-thumb:before,
|
19 |
+
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-thumb:before,
|
20 |
+
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-thumb:before {
|
21 |
+
content: '';
|
22 |
+
display: block;
|
23 |
+
top: 0;
|
24 |
+
left: 0;
|
25 |
+
bottom: 0;
|
26 |
+
right: 0;
|
27 |
+
visibility: visible;
|
28 |
+
opacity: 1;
|
29 |
+
background-color: rgba(0,0,0,0);
|
30 |
+
transition-timing-function: ease;
|
31 |
+
transition-duration: 300ms;
|
32 |
+
transition-property: opacity,visibility,background-color;
|
33 |
+
transform: translateY(0) translateX(0) translateZ(0);
|
34 |
+
z-index: 8;
|
35 |
+
}
|
36 |
+
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-item-inner:hover .fg-thumb:before,
|
37 |
+
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-item-inner:hover .fg-thumb:before,
|
38 |
+
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-item-inner:hover .fg-thumb:before,
|
39 |
+
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-item-inner:hover .fg-thumb:before,
|
40 |
+
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-item-inner:hover .fg-thumb:before {
|
41 |
+
background-color: rgba(0,0,0,0.5);
|
42 |
+
}
|
43 |
+
.video-icon-sticky.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before,
|
44 |
+
.video-icon-sticky.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before,
|
45 |
+
.video-icon-sticky.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before,
|
46 |
+
.video-icon-sticky.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before,
|
47 |
+
.video-icon-sticky.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
48 |
+
display: none;
|
49 |
+
}
|
50 |
+
|
51 |
+
/* The icons */
|
52 |
+
.foogallery-container.video-icon-default .fg-video .fg-thumb:before,
|
53 |
+
.foogallery-container.video-icon-1 .fg-video .fg-thumb:before,
|
54 |
+
.foogallery-container.video-icon-2 .fg-video .fg-thumb:before,
|
55 |
+
.foogallery-container.video-icon-3 .fg-video .fg-thumb:before,
|
56 |
+
.foogallery-container.video-icon-4 .fg-video .fg-thumb:before,
|
57 |
+
.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before,
|
58 |
+
.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before,
|
59 |
+
.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before,
|
60 |
+
.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before,
|
61 |
+
.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
62 |
+
background-size: 60px 60px;
|
63 |
+
}
|
64 |
+
.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before,
|
65 |
+
.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before,
|
66 |
+
.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before,
|
67 |
+
.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before,
|
68 |
+
.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
69 |
+
width: 60px;
|
70 |
+
height: 60px;
|
71 |
+
}
|
72 |
+
|
73 |
+
.foogallery-container.video-icon-default .fg-video .fg-thumb:before,
|
74 |
+
.foogallery-container.video-icon-default .fg-video .fg-caption-inner:before {
|
75 |
+
background-image: url('data:image/png;base64,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')!important;
|
76 |
+
}
|
77 |
+
|
78 |
+
.foogallery-container.video-icon-1 .fg-video .fg-thumb:before,
|
79 |
+
.foogallery-container.video-icon-1 .fg-video .fg-caption-inner:before {
|
80 |
+
background-image: url('data:image/png;base64,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')!important;
|
81 |
+
}
|
82 |
+
|
83 |
+
.foogallery-container.video-icon-2 .fg-video .fg-thumb:before,
|
84 |
+
.foogallery-container.video-icon-2 .fg-video .fg-caption-inner:before {
|
85 |
+
background-image: url('data:image/png;base64,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')!important;
|
86 |
+
}
|
87 |
+
|
88 |
+
.foogallery-container.video-icon-3 .fg-video .fg-thumb:before,
|
89 |
+
.foogallery-container.video-icon-3 .fg-video .fg-caption-inner:before {
|
90 |
+
background-image: url('data:image/png;base64,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')!important;
|
91 |
+
}
|
92 |
+
|
93 |
+
.foogallery-container.video-icon-4 .fg-video .fg-thumb:before,
|
94 |
+
.foogallery-container.video-icon-4 .fg-video .fg-caption-inner:before {
|
95 |
+
background-image: url(data:image/png;base64,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)!important;
|
96 |
}
|
css/foogallery.admin.datasources.css
CHANGED
@@ -1,123 +1,123 @@
|
|
1 |
-
.foogallery-datasource-modal-title {
|
2 |
-
position: absolute;
|
3 |
-
top: 0;
|
4 |
-
left: 0;
|
5 |
-
right: 0;
|
6 |
-
height: 50px;
|
7 |
-
z-index: 200;
|
8 |
-
padding-left: 16px;
|
9 |
-
border-bottom: 1px solid #ddd;
|
10 |
-
}
|
11 |
-
|
12 |
-
.foogallery-datasource-modal-sidebar {
|
13 |
-
position: absolute;
|
14 |
-
top: 51px;
|
15 |
-
left: 0;
|
16 |
-
bottom: 0;
|
17 |
-
width: 200px;
|
18 |
-
z-index: 75;
|
19 |
-
background: #f3f3f3;
|
20 |
-
overflow: auto;
|
21 |
-
-webkit-overflow-scrolling: touch;
|
22 |
-
}
|
23 |
-
|
24 |
-
.foogallery-datasource-modal-sidebar-menu {
|
25 |
-
position: absolute;
|
26 |
-
top: 0;
|
27 |
-
left: 0;
|
28 |
-
right: 0;
|
29 |
-
bottom: 0;
|
30 |
-
margin: 0;
|
31 |
-
padding: 10px 0;
|
32 |
-
background: #f3f3f3;
|
33 |
-
border-right-width: 1px;
|
34 |
-
border-right-style: solid;
|
35 |
-
border-right-color: #ccc;
|
36 |
-
-webkit-user-select: none;
|
37 |
-
-moz-user-select: none;
|
38 |
-
-ms-user-select: none;
|
39 |
-
user-select: none
|
40 |
-
}
|
41 |
-
|
42 |
-
.foogallery-datasource-modal-sidebar-menu>a {
|
43 |
-
display: block;
|
44 |
-
position: relative;
|
45 |
-
padding: 8px 20px;
|
46 |
-
margin: 0;
|
47 |
-
line-height: 18px;
|
48 |
-
font-size: 14px;
|
49 |
-
color: #0073aa;
|
50 |
-
text-decoration: none;
|
51 |
-
}
|
52 |
-
|
53 |
-
.foogallery-datasource-modal-sidebar-menu>a:hover {
|
54 |
-
color: #0073aa;
|
55 |
-
background: rgba(0,0,0,.04)
|
56 |
-
}
|
57 |
-
|
58 |
-
.foogallery-datasource-modal-sidebar-menu .active,
|
59 |
-
.foogallery-datasource-modal-sidebar-menu .active:hover{
|
60 |
-
color: #23282d;
|
61 |
-
font-weight: 600;
|
62 |
-
background: rgba(0,0,0,.04);
|
63 |
-
}
|
64 |
-
|
65 |
-
.foogallery-datasource-modal-sidebar-menu>a,
|
66 |
-
.foogallery-datasource-modal-sidebar-menu>a:active,
|
67 |
-
.foogallery-datasource-modal-sidebar-menu>a:hover,
|
68 |
-
.foogallery-datasource-modal-sidebar-menu>a:focus {
|
69 |
-
box-shadow: none;
|
70 |
-
outline: 0
|
71 |
-
}
|
72 |
-
|
73 |
-
.media-menu .separator {
|
74 |
-
height: 0;
|
75 |
-
margin: 12px 20px;
|
76 |
-
padding: 0;
|
77 |
-
border-top: 1px solid #ddd
|
78 |
-
}
|
79 |
-
|
80 |
-
.foogallery-datasource-modal-container {
|
81 |
-
position: absolute;
|
82 |
-
top: 51px;
|
83 |
-
padding: 16px;
|
84 |
-
left: 200px;
|
85 |
-
right: 0;
|
86 |
-
bottom: 60px;
|
87 |
-
overflow: auto;
|
88 |
-
outline: 0;
|
89 |
-
}
|
90 |
-
|
91 |
-
.foogallery-datasource-modal-toolbar {
|
92 |
-
position: absolute;
|
93 |
-
left: 200px;
|
94 |
-
right: 0;
|
95 |
-
z-index: 100;
|
96 |
-
bottom: 60px;
|
97 |
-
height: auto;
|
98 |
-
border-top: 1px solid #ddd;
|
99 |
-
}
|
100 |
-
|
101 |
-
.foogallery-datasource-modal-toolbar-inner {
|
102 |
-
position: absolute;
|
103 |
-
top: 0;
|
104 |
-
left: 0;
|
105 |
-
right: 0;
|
106 |
-
bottom: -45px;
|
107 |
-
height: 60px;
|
108 |
-
padding: 0 16px;
|
109 |
-
overflow: hidden;
|
110 |
-
}
|
111 |
-
|
112 |
-
.foogallery-datasource-modal-container-inner .spinner {
|
113 |
-
float: left;
|
114 |
-
}
|
115 |
-
|
116 |
-
.foogallery-datasource-modal-insert {
|
117 |
-
float: right;
|
118 |
-
}
|
119 |
-
|
120 |
-
.foogallery-datasource-item {
|
121 |
-
padding: 20px;
|
122 |
-
text-align: center;
|
123 |
}
|
1 |
+
.foogallery-datasource-modal-title {
|
2 |
+
position: absolute;
|
3 |
+
top: 0;
|
4 |
+
left: 0;
|
5 |
+
right: 0;
|
6 |
+
height: 50px;
|
7 |
+
z-index: 200;
|
8 |
+
padding-left: 16px;
|
9 |
+
border-bottom: 1px solid #ddd;
|
10 |
+
}
|
11 |
+
|
12 |
+
.foogallery-datasource-modal-sidebar {
|
13 |
+
position: absolute;
|
14 |
+
top: 51px;
|
15 |
+
left: 0;
|
16 |
+
bottom: 0;
|
17 |
+
width: 200px;
|
18 |
+
z-index: 75;
|
19 |
+
background: #f3f3f3;
|
20 |
+
overflow: auto;
|
21 |
+
-webkit-overflow-scrolling: touch;
|
22 |
+
}
|
23 |
+
|
24 |
+
.foogallery-datasource-modal-sidebar-menu {
|
25 |
+
position: absolute;
|
26 |
+
top: 0;
|
27 |
+
left: 0;
|
28 |
+
right: 0;
|
29 |
+
bottom: 0;
|
30 |
+
margin: 0;
|
31 |
+
padding: 10px 0;
|
32 |
+
background: #f3f3f3;
|
33 |
+
border-right-width: 1px;
|
34 |
+
border-right-style: solid;
|
35 |
+
border-right-color: #ccc;
|
36 |
+
-webkit-user-select: none;
|
37 |
+
-moz-user-select: none;
|
38 |
+
-ms-user-select: none;
|
39 |
+
user-select: none
|
40 |
+
}
|
41 |
+
|
42 |
+
.foogallery-datasource-modal-sidebar-menu>a {
|
43 |
+
display: block;
|
44 |
+
position: relative;
|
45 |
+
padding: 8px 20px;
|
46 |
+
margin: 0;
|
47 |
+
line-height: 18px;
|
48 |
+
font-size: 14px;
|
49 |
+
color: #0073aa;
|
50 |
+
text-decoration: none;
|
51 |
+
}
|
52 |
+
|
53 |
+
.foogallery-datasource-modal-sidebar-menu>a:hover {
|
54 |
+
color: #0073aa;
|
55 |
+
background: rgba(0,0,0,.04)
|
56 |
+
}
|
57 |
+
|
58 |
+
.foogallery-datasource-modal-sidebar-menu .active,
|
59 |
+
.foogallery-datasource-modal-sidebar-menu .active:hover{
|
60 |
+
color: #23282d;
|
61 |
+
font-weight: 600;
|
62 |
+
background: rgba(0,0,0,.04);
|
63 |
+
}
|
64 |
+
|
65 |
+
.foogallery-datasource-modal-sidebar-menu>a,
|
66 |
+
.foogallery-datasource-modal-sidebar-menu>a:active,
|
67 |
+
.foogallery-datasource-modal-sidebar-menu>a:hover,
|
68 |
+
.foogallery-datasource-modal-sidebar-menu>a:focus {
|
69 |
+
box-shadow: none;
|
70 |
+
outline: 0
|
71 |
+
}
|
72 |
+
|
73 |
+
.media-menu .separator {
|
74 |
+
height: 0;
|
75 |
+
margin: 12px 20px;
|
76 |
+
padding: 0;
|
77 |
+
border-top: 1px solid #ddd
|
78 |
+
}
|
79 |
+
|
80 |
+
.foogallery-datasource-modal-container {
|
81 |
+
position: absolute;
|
82 |
+
top: 51px;
|
83 |
+
padding: 16px;
|
84 |
+
left: 200px;
|
85 |
+
right: 0;
|
86 |
+
bottom: 60px;
|
87 |
+
overflow: auto;
|
88 |
+
outline: 0;
|
89 |
+
}
|
90 |
+
|
91 |
+
.foogallery-datasource-modal-toolbar {
|
92 |
+
position: absolute;
|
93 |
+
left: 200px;
|
94 |
+
right: 0;
|
95 |
+
z-index: 100;
|
96 |
+
bottom: 60px;
|
97 |
+
height: auto;
|
98 |
+
border-top: 1px solid #ddd;
|
99 |
+
}
|
100 |
+
|
101 |
+
.foogallery-datasource-modal-toolbar-inner {
|
102 |
+
position: absolute;
|
103 |
+
top: 0;
|
104 |
+
left: 0;
|
105 |
+
right: 0;
|
106 |
+
bottom: -45px;
|
107 |
+
height: 60px;
|
108 |
+
padding: 0 16px;
|
109 |
+
overflow: hidden;
|
110 |
+
}
|
111 |
+
|
112 |
+
.foogallery-datasource-modal-container-inner .spinner {
|
113 |
+
float: left;
|
114 |
+
}
|
115 |
+
|
116 |
+
.foogallery-datasource-modal-insert {
|
117 |
+
float: right;
|
118 |
+
}
|
119 |
+
|
120 |
+
.foogallery-datasource-item {
|
121 |
+
padding: 20px;
|
122 |
+
text-align: center;
|
123 |
}
|
extensions/albums/admin/class-columns.php
CHANGED
@@ -1,73 +1,73 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
* FooGallery Admin Columns class
|
4 |
-
*/
|
5 |
-
|
6 |
-
if ( ! class_exists( 'FooGallery_Albums_Admin_Columns' ) ) {
|
7 |
-
|
8 |
-
class FooGallery_Albums_Admin_Columns {
|
9 |
-
|
10 |
-
private $include_clipboard_script = false;
|
11 |
-
|
12 |
-
function __construct() {
|
13 |
-
add_filter( 'manage_edit-' . FOOGALLERY_CPT_ALBUM . '_columns', array( $this, 'album_custom_columns' ) );
|
14 |
-
add_action( 'manage_posts_custom_column', array( $this, 'album_custom_column_content' ) );
|
15 |
-
add_action( 'admin_footer', array( $this, 'include_clipboard_script' ) );
|
16 |
-
}
|
17 |
-
|
18 |
-
function album_custom_columns( $columns ) {
|
19 |
-
$columns[FOOGALLERY_CPT_ALBUM . '_template'] = __( 'Template', 'foogallery' );
|
20 |
-
$columns[FOOGALLERY_CPT_ALBUM . '_galleries'] = __( 'Galleries', 'foogallery' );
|
21 |
-
$columns[FOOGALLERY_CPT_ALBUM . '_shortcode'] = __( 'Shortcode', 'foogallery' );
|
22 |
-
|
23 |
-
return $columns;
|
24 |
-
}
|
25 |
-
|
26 |
-
function album_custom_column_content( $column ) {
|
27 |
-
global $post;
|
28 |
-
|
29 |
-
switch ( $column ) {
|
30 |
-
case FOOGALLERY_CPT_ALBUM . '_template':
|
31 |
-
$album = FooGalleryAlbum::get( $post );
|
32 |
-
$template = $album->album_template_details();
|
33 |
-
if ( false !== $template ) {
|
34 |
-
echo $template['name'];
|
35 |
-
}
|
36 |
-
break;
|
37 |
-
case FOOGALLERY_CPT_ALBUM . '_galleries':
|
38 |
-
$album = FooGalleryAlbum::get( $post );
|
39 |
-
echo $album->gallery_count();
|
40 |
-
break;
|
41 |
-
case FOOGALLERY_CPT_ALBUM . '_shortcode':
|
42 |
-
$album = FooGalleryAlbum::get( $post );
|
43 |
-
$shortcode = $album->shortcode();
|
44 |
-
echo '<input type="text" readonly="readonly" size="' . strlen( $shortcode ) . '" value="' . esc_attr( $shortcode ) . '" class="foogallery-shortcode" />';
|
45 |
-
$this->include_clipboard_script = true;
|
46 |
-
break;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
|
50 |
-
function include_clipboard_script() {
|
51 |
-
if ( $this->include_clipboard_script ) { ?>
|
52 |
-
<script>
|
53 |
-
jQuery(function($) {
|
54 |
-
$('.foogallery-shortcode').on('click', function () {
|
55 |
-
try {
|
56 |
-
//select the contents
|
57 |
-
this.select();
|
58 |
-
//copy the selection
|
59 |
-
document.execCommand('copy');
|
60 |
-
//show the copied message
|
61 |
-
$('.foogallery-shortcode-message').remove();
|
62 |
-
$(this).after('<p class="foogallery-shortcode-message"><?php _e( 'Shortcode copied to clipboard :)','foogallery' ); ?></p>');
|
63 |
-
} catch(err) {
|
64 |
-
console.log('Oops, unable to copy!');
|
65 |
-
}
|
66 |
-
});
|
67 |
-
});
|
68 |
-
</script>
|
69 |
-
<?php
|
70 |
-
}
|
71 |
-
}
|
72 |
-
}
|
73 |
-
}
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* FooGallery Admin Columns class
|
4 |
+
*/
|
5 |
+
|
6 |
+
if ( ! class_exists( 'FooGallery_Albums_Admin_Columns' ) ) {
|
7 |
+
|
8 |
+
class FooGallery_Albums_Admin_Columns {
|
9 |
+
|
10 |
+
private $include_clipboard_script = false;
|
11 |
+
|
12 |
+
function __construct() {
|
13 |
+
add_filter( 'manage_edit-' . FOOGALLERY_CPT_ALBUM . '_columns', array( $this, 'album_custom_columns' ) );
|
14 |
+
add_action( 'manage_posts_custom_column', array( $this, 'album_custom_column_content' ) );
|
15 |
+
add_action( 'admin_footer', array( $this, 'include_clipboard_script' ) );
|
16 |
+
}
|
17 |
+
|
18 |
+
function album_custom_columns( $columns ) {
|
19 |
+
$columns[FOOGALLERY_CPT_ALBUM . '_template'] = __( 'Template', 'foogallery' );
|
20 |
+
$columns[FOOGALLERY_CPT_ALBUM . '_galleries'] = __( 'Galleries', 'foogallery' );
|
21 |
+
$columns[FOOGALLERY_CPT_ALBUM . '_shortcode'] = __( 'Shortcode', 'foogallery' );
|
22 |
+
|
23 |
+
return $columns;
|
24 |
+
}
|
25 |
+
|
26 |
+
function album_custom_column_content( $column ) {
|
27 |
+
global $post;
|
28 |
+
|
29 |
+
switch ( $column ) {
|
30 |
+
case FOOGALLERY_CPT_ALBUM . '_template':
|
31 |
+
$album = FooGalleryAlbum::get( $post );
|
32 |
+
$template = $album->album_template_details();
|
33 |
+
if ( false !== $template ) {
|
34 |
+
echo $template['name'];
|
35 |
+
}
|
36 |
+
break;
|
37 |
+
case FOOGALLERY_CPT_ALBUM . '_galleries':
|
38 |
+
$album = FooGalleryAlbum::get( $post );
|
39 |
+
echo $album->gallery_count();
|
40 |
+
break;
|
41 |
+
case FOOGALLERY_CPT_ALBUM . '_shortcode':
|
42 |
+
$album = FooGalleryAlbum::get( $post );
|
43 |
+
$shortcode = $album->shortcode();
|
44 |
+
echo '<input type="text" readonly="readonly" size="' . strlen( $shortcode ) . '" value="' . esc_attr( $shortcode ) . '" class="foogallery-shortcode" />';
|
45 |
+
$this->include_clipboard_script = true;
|
46 |
+
break;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
function include_clipboard_script() {
|
51 |
+
if ( $this->include_clipboard_script ) { ?>
|
52 |
+
<script>
|
53 |
+
jQuery(function($) {
|
54 |
+
$('.foogallery-shortcode').on('click', function () {
|
55 |
+
try {
|
56 |
+
//select the contents
|
57 |
+
this.select();
|
58 |
+
//copy the selection
|
59 |
+
document.execCommand('copy');
|
60 |
+
//show the copied message
|
61 |
+
$('.foogallery-shortcode-message').remove();
|
62 |
+
$(this).after('<p class="foogallery-shortcode-message"><?php _e( 'Shortcode copied to clipboard :)','foogallery' ); ?></p>');
|
63 |
+
} catch(err) {
|
64 |
+
console.log('Oops, unable to copy!');
|
65 |
+
}
|
66 |
+
});
|
67 |
+
});
|
68 |
+
</script>
|
69 |
+
<?php
|
70 |
+
}
|
71 |
+
}
|
72 |
+
}
|
73 |
+
}
|
extensions/albums/admin/class-metaboxes.php
CHANGED
@@ -1,577 +1,577 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* FooGallery Admin Album MetaBoxes class
|
5 |
-
*/
|
6 |
-
|
7 |
-
if ( ! class_exists( 'FooGallery_Admin_Album_MetaBoxes' ) ) {
|
8 |
-
|
9 |
-
class FooGallery_Admin_Album_MetaBoxes {
|
10 |
-
|
11 |
-
private $_album;
|
12 |
-
|
13 |
-
public function __construct() {
|
14 |
-
//add our foogallery metaboxes
|
15 |
-
add_action( 'add_meta_boxes_' . FOOGALLERY_CPT_ALBUM, array( $this, 'add_meta_boxes' ) );
|
16 |
-
|
17 |
-
//save extra post data for a gallery
|
18 |
-
add_action( 'save_post', array( $this, 'save_album' ) );
|
19 |
-
|
20 |
-
//add scripts used by metaboxes
|
21 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'include_required_scripts' ) );
|
22 |
-
|
23 |
-
// Ajax call for getting gallery details
|
24 |
-
add_action( 'wp_ajax_foogallery_get_gallery_details', array( $this, 'ajax_get_gallery_details' ) );
|
25 |
-
|
26 |
-
// Ajax call for saving gallery details
|
27 |
-
add_action( 'wp_ajax_foogallery_save_gallery_details', array( $this, 'ajax_save_gallery_details' ) );
|
28 |
-
|
29 |
-
// Save details for the gallery
|
30 |
-
add_action( 'foogallery_album_gallery_details_save', array( $this, 'gallery_details_save' ), 10, 3 );
|
31 |
-
}
|
32 |
-
|
33 |
-
public function add_meta_boxes( $post ) {
|
34 |
-
add_meta_box(
|
35 |
-
'foogalleryalbum_galleries',
|
36 |
-
__( 'Galleries - click a gallery to add it to your album.', 'foogallery' ),
|
37 |
-
array( $this, 'render_gallery_metabox' ),
|
38 |
-
FOOGALLERY_CPT_ALBUM,
|
39 |
-
'normal',
|
40 |
-
'high'
|
41 |
-
);
|
42 |
-
|
43 |
-
add_meta_box(
|
44 |
-
'foogalleryalbum_settings',
|
45 |
-
__( 'Settings', 'foogallery' ),
|
46 |
-
array( $this, 'render_settings_metabox' ),
|
47 |
-
FOOGALLERY_CPT_ALBUM,
|
48 |
-
'normal',
|
49 |
-
'high'
|
50 |
-
);
|
51 |
-
|
52 |
-
add_meta_box(
|
53 |
-
'foogalleryalbum_customcss',
|
54 |
-
__( 'Custom CSS', 'foogallery' ),
|
55 |
-
array( $this, 'render_customcss_metabox' ),
|
56 |
-
FOOGALLERY_CPT_ALBUM,
|
57 |
-
'normal',
|
58 |
-
'low'
|
59 |
-
);
|
60 |
-
|
61 |
-
add_meta_box(
|
62 |
-
'foogalleryalbum_shortcode',
|
63 |
-
__( 'Album Shortcode', 'foogallery' ),
|
64 |
-
array( $this, 'render_shortcode_metabox' ),
|
65 |
-
FOOGALLERY_CPT_ALBUM,
|
66 |
-
'side',
|
67 |
-
'default'
|
68 |
-
);
|
69 |
-
|
70 |
-
add_meta_box(
|
71 |
-
'foogalleryalbum_sorting',
|
72 |
-
__( 'Album Sorting', 'foogallery' ),
|
73 |
-
array( $this, 'render_sorting_metabox' ),
|
74 |
-
FOOGALLERY_CPT_ALBUM,
|
75 |
-
'side',
|
76 |
-
'default'
|
77 |
-
);
|
78 |
-
}
|
79 |
-
|
80 |
-
public function get_album( $post ) {
|
81 |
-
if ( ! isset( $this->_album ) ) {
|
82 |
-
$this->_album = FooGalleryAlbum::get( $post );
|
83 |
-
}
|
84 |
-
|
85 |
-
return $this->_album;
|
86 |
-
}
|
87 |
-
|
88 |
-
public function save_album( $post_id ) {
|
89 |
-
// check autosave
|
90 |
-
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
91 |
-
return $post_id;
|
92 |
-
}
|
93 |
-
|
94 |
-
// verify nonce
|
95 |
-
if ( array_key_exists( FOOGALLERY_CPT_ALBUM . '_nonce', $_POST ) &&
|
96 |
-
wp_verify_nonce( $_POST[ FOOGALLERY_CPT_ALBUM . '_nonce' ], plugin_basename( FOOGALLERY_FILE ) )
|
97 |
-
) {
|
98 |
-
//if we get here, we are dealing with the Album custom post type
|
99 |
-
|
100 |
-
$galleries = apply_filters( 'foogallery_save_album_galleries', explode( ',', $_POST[ FOOGALLERY_ALBUM_META_GALLERIES ] ) );
|
101 |
-
update_post_meta( $post_id, FOOGALLERY_ALBUM_META_GALLERIES, $galleries );
|
102 |
-
|
103 |
-
if ( !empty( $_POST[FOOGALLERY_ALBUM_META_TEMPLATE] ) ) {
|
104 |
-
update_post_meta( $post_id, FOOGALLERY_ALBUM_META_TEMPLATE, $_POST[FOOGALLERY_ALBUM_META_TEMPLATE] );
|
105 |
-
}
|
106 |
-
|
107 |
-
if ( isset( $_POST[FOOGALLERY_ALBUM_META_SORT] ) ) {
|
108 |
-
update_post_meta( $post_id, FOOGALLERY_ALBUM_META_SORT, $_POST[FOOGALLERY_ALBUM_META_SORT] );
|
109 |
-
}
|
110 |
-
|
111 |
-
$settings = isset($_POST['_foogallery_settings']) ?
|
112 |
-
$_POST['_foogallery_settings'] : array();
|
113 |
-
|
114 |
-
$settings = apply_filters( 'foogallery_save_album_settings', $settings );
|
115 |
-
|
116 |
-
if ( !empty( $settings ) ) {
|
117 |
-
update_post_meta( $post_id, FOOGALLERY_META_SETTINGS_OLD, $settings );
|
118 |
-
} else {
|
119 |
-
delete_post_meta( $post_id, FOOGALLERY_META_SETTINGS_OLD );
|
120 |
-
}
|
121 |
-
|
122 |
-
$custom_css = foogallery_sanitize_html( isset( $_POST[FOOGALLERY_META_CUSTOM_CSS] ) ?
|
123 |
-
$_POST[FOOGALLERY_META_CUSTOM_CSS] : '' );
|
124 |
-
|
125 |
-
if ( empty( $custom_css ) ) {
|
126 |
-
delete_post_meta( $post_id, FOOGALLERY_META_CUSTOM_CSS );
|
127 |
-
} else {
|
128 |
-
update_post_meta( $post_id, FOOGALLERY_META_CUSTOM_CSS, $custom_css );
|
129 |
-
}
|
130 |
-
|
131 |
-
// update usage for each of the galleries.
|
132 |
-
foreach ( $galleries as $gallery_id ) {
|
133 |
-
add_post_meta( $post_id, FOOGALLERY_META_POST_USAGE, $gallery_id, false );
|
134 |
-
}
|
135 |
-
|
136 |
-
do_action( 'foogallery_after_save_album', $post_id, $_POST );
|
137 |
-
}
|
138 |
-
}
|
139 |
-
|
140 |
-
public function get_ordered_galleries( $album ) {
|
141 |
-
//exclude the galleries already added to the album
|
142 |
-
$excluded_galleries = $album->gallery_ids;
|
143 |
-
|
144 |
-
//allow more galleries to be excluded
|
145 |
-
$excluded_galleries = apply_filters( 'foogallery_album_exlcuded_galleries', $excluded_galleries, $album );
|
146 |
-
|
147 |
-
//get all other galleries
|
148 |
-
$galleries = foogallery_get_all_galleries( $excluded_galleries );
|
149 |
-
|
150 |
-
$album_galleries = $album->galleries();
|
151 |
-
|
152 |
-
return array_merge( $album_galleries, $galleries );
|
153 |
-
}
|
154 |
-
|
155 |
-
public function render_gallery_metabox( $post ) {
|
156 |
-
$album = $this->get_album( $post );
|
157 |
-
|
158 |
-
$galleries = $this->get_ordered_galleries( $album );
|
159 |
-
|
160 |
-
wp_enqueue_style( 'media-views' );
|
161 |
-
|
162 |
-
?>
|
163 |
-
<input type="hidden" name="<?php echo FOOGALLERY_CPT_ALBUM; ?>_nonce"
|
164 |
-
id="<?php echo FOOGALLERY_CPT_ALBUM; ?>_nonce"
|
165 |
-
value="<?php echo wp_create_nonce( plugin_basename( FOOGALLERY_FILE ) ); ?>"/>
|
166 |
-
<input type="hidden" name='foogallery_album_galleries' id="foogallery_album_galleries"
|
167 |
-
value="<?php echo $album->gallery_id_csv(); ?>"/>
|
168 |
-
<div>
|
169 |
-
<?php if ( !$album->has_galleries() ) { ?>
|
170 |
-
<div class="foogallery-album-error">
|
171 |
-
<?php _e( 'There are no galleries selected for your album yet! Click any gallery to add it to your album.', 'foogallery' ); ?>
|
172 |
-
</div>
|
173 |
-
<?php } ?>
|
174 |
-
|
175 |
-
<div class="foogallery-album-info-modal media-modal">
|
176 |
-
<div class="media-modal-content">
|
177 |
-
<div class="media-frame mode-select">
|
178 |
-
<div class="media-frame-title">
|
179 |
-
<h1><?php _e('Edit Gallery Details', 'foogallery'); ?></h1>
|
180 |
-
<span class="spinner is-active"></span>
|
181 |
-
</div>
|
182 |
-
<div class="modal-content">
|
183 |
-
<?php wp_nonce_field( 'foogallery_album_gallery_details', 'foogallery_album_gallery_details_nonce', false ); ?>
|
184 |
-
<div class="gallery-details" data-loading="<?php _e( 'Loading details for ', 'foogallery' ); ?>"></div>
|
185 |
-
</div>
|
186 |
-
</div>
|
187 |
-
<div class="media-frame-toolbar">
|
188 |
-
<div class="media-toolbar">
|
189 |
-
<div class="media-toolbar-secondary"></div>
|
190 |
-
<div class="media-toolbar-primary search-form">
|
191 |
-
<button type="button" class="button media-button button-primary button-large media-button-select gallery-details-save"><?php _e('Save Gallery Details', 'foogallery'); ?></button>
|
192 |
-
<span class="spinner"></span>
|
193 |
-
</div>
|
194 |
-
</div>
|
195 |
-
</div>
|
196 |
-
</div>
|
197 |
-
<button type="button" class="button-link media-modal-close">
|
198 |
-
<span class="media-modal-icon"><span class="screen-reader-text"><?php _e('Close media panel', 'foogallery'); ?></span></span>
|
199 |
-
</button>
|
200 |
-
|
201 |
-
</div>
|
202 |
-
<div class="foogallery-album-info-modal-backdrop media-modal-backdrop"></div>
|
203 |
-
|
204 |
-
|
205 |
-
<ul class="foogallery-album-gallery-list">
|
206 |
-
<?php
|
207 |
-
foreach ( $galleries as $gallery ) {
|
208 |
-
$img_src = foogallery_find_featured_attachment_thumbnail_src( $gallery );
|
209 |
-
$images = $gallery->image_count();
|
210 |
-
$selected = $album->includes_gallery( $gallery->ID ) ? ' selected' : '';
|
211 |
-
$title = $gallery->safe_name();
|
212 |
-
?>
|
213 |
-
<li class="foogallery-pile">
|
214 |
-
<div class="foogallery-gallery-select landscape<?php echo $selected; ?>" data-foogallery-id="<?php echo $gallery->ID; ?>">
|
215 |
-
<div style="display: table;">
|
216 |
-
<div style="display: table-cell; vertical-align: middle; text-align: center;">
|
217 |
-
<img src="<?php echo $img_src; ?>"/>
|
218 |
-
<h3>
|
219 |
-
<?php echo esc_html( $title ); ?>
|
220 |
-
<span><?php echo $images; ?></span>
|
221 |
-
</h3>
|
222 |
-
</div>
|
223 |
-
</div>
|
224 |
-
<a class="info foogallery-album-info" href="#"
|
225 |
-
title="<?php _e( 'Edit Album Info', 'foogallery' ); ?>"
|
226 |
-
data-gallery-title="<?php echo $title; ?>"
|
227 |
-
data-gallery-id="<?php echo $gallery->ID; ?>"><span class="dashicons dashicons-info"></span>
|
228 |
-
</a>
|
229 |
-
</div>
|
230 |
-
</li>
|
231 |
-
<?php } ?>
|
232 |
-
</ul>
|
233 |
-
<div style="clear: both;"></div>
|
234 |
-
</div>
|
235 |
-
<?php
|
236 |
-
}
|
237 |
-
|
238 |
-
public function render_shortcode_metabox( $post ) {
|
239 |
-
$album = $this->get_album( $post );
|
240 |
-
$shortcode = $album->shortcode();
|
241 |
-
?>
|
242 |
-
<p class="foogallery-shortcode">
|
243 |
-
<input type="text" id="foogallery_copy_shortcode" size="<?php echo strlen( $shortcode ); ?>" value="<?php echo htmlspecialchars( $shortcode ); ?>" readonly="readonly" />
|
244 |
-
</p>
|
245 |
-
<p>
|
246 |
-
<?php _e( 'Paste the above shortcode into a post or page to show the album.', 'foogallery' ); ?>
|
247 |
-
</p>
|
248 |
-
<script>
|
249 |
-
jQuery(function($) {
|
250 |
-
var shortcodeInput = document.querySelector('#foogallery_copy_shortcode');
|
251 |
-
shortcodeInput.addEventListener('click', function () {
|
252 |
-
try {
|
253 |
-
// select the contents
|
254 |
-
shortcodeInput.select();
|
255 |
-
//copy the selection
|
256 |
-
document.execCommand('copy');
|
257 |
-
//show the copied message
|
258 |
-
$('.foogallery-shortcode-message').remove();
|
259 |
-
$(shortcodeInput).after('<p class="foogallery-shortcode-message"><?php _e( 'Shortcode copied to clipboard :)','foogallery' ); ?></p>');
|
260 |
-
} catch(err) {
|
261 |
-
console.log('Oops, unable to copy!');
|
262 |
-
}
|
263 |
-
}, false);
|
264 |
-
});
|
265 |
-
</script>
|
266 |
-
<?php
|
267 |
-
}
|
268 |
-
|
269 |
-
public function render_sorting_metabox( $post ) {
|
270 |
-
$album = $this->get_album( $post );
|
271 |
-
$sorting_options = foogallery_sorting_options(); ?>
|
272 |
-
<p>
|
273 |
-
<?php _e('Change the way galleries are sorted within your album. By default, they are sorted in the order you see them.', 'foogallery'); ?>
|
274 |
-
</p>
|
275 |
-
<?php
|
276 |
-
foreach ( $sorting_options as $sorting_key => $sorting_label ) { ?>
|
277 |
-
<p>
|
278 |
-
<input type="radio" value="<?php echo $sorting_key; ?>" <?php checked( $sorting_key === $album->sorting ); ?> id="FooGallerySettings_AlbumSort_<?php echo $sorting_key; ?>" name="<?php echo FOOGALLERY_ALBUM_META_SORT; ?>" />
|
279 |
-
<label for="FooGallerySettings_AlbumSort_<?php echo $sorting_key; ?>"><?php echo $sorting_label; ?></label>
|
280 |
-
</p><?php
|
281 |
-
}
|
282 |
-
}
|
283 |
-
|
284 |
-
public function render_settings_metabox( $post ) {
|
285 |
-
$album = $this->get_album( $post );
|
286 |
-
$available_templates = foogallery_album_templates();
|
287 |
-
$album_template = foogallery_default_album_template();
|
288 |
-
if ( ! empty($album->album_template) ) {
|
289 |
-
$album_template = $album->album_template;
|
290 |
-
}
|
291 |
-
if ( false === $album_template ) {
|
292 |
-
$album_template = $available_templates[0]['slug'];
|
293 |
-
}
|
294 |
-
$hide_help = 'on' == foogallery_get_setting( 'hide_gallery_template_help' );
|
295 |
-
?>
|
296 |
-
<table class="foogallery-album-metabox-settings">
|
297 |
-
<tbody>
|
298 |
-
<tr class="foogallery_template_field foogallery_template_field_selector">
|
299 |
-
<th>
|
300 |
-
<label for="FooGallerySettings_AlbumTemplate"><?php _e( 'Album Template', 'foogallery' ); ?></label>
|
301 |
-
</th>
|
302 |
-
<td>
|
303 |
-
<select id="FooGallerySettings_AlbumTemplate" name="<?php echo FOOGALLERY_ALBUM_META_TEMPLATE; ?>">
|
304 |
-
<?php
|
305 |
-
foreach ( $available_templates as $template ) {
|
306 |
-
$selected = ($album_template === $template['slug']) ? 'selected' : '';
|
307 |
-
echo "<option {$selected} value=\"{$template['slug']}\">{$template['name']}</option>";
|
308 |
-
}
|
309 |
-
?>
|
310 |
-
</select>
|
311 |
-
<br />
|
312 |
-
<small><?php _e( 'The album template that will be used when the album is output to the frontend.', 'foogallery' ); ?></small>
|
313 |
-
</td>
|
314 |
-
</tr>
|
315 |
-
<?php
|
316 |
-
foreach ( $available_templates as $template ) {
|
317 |
-
$field_visibility = ($album_template !== $template['slug']) ? 'style="display:none"' : '';
|
318 |
-
$section = '';
|
319 |
-
$fields = isset( $template['fields'] ) ? $template['fields'] : array();
|
320 |
-
foreach ( $fields as $field ) {
|
321 |
-
//allow for the field to be altered by extensions.
|
322 |
-
$field = apply_filters( 'foogallery_alter_gallery_template_field', $field, $album );
|
323 |
-
|
324 |
-
$class ="foogallery_template_field foogallery_template_field-{$template['slug']} foogallery_template_field-{$template['slug']}-{$field['id']}";
|
325 |
-
|
326 |
-
if ( isset($field['section']) && $field['section'] !== $section ) {
|
327 |
-
$section = $field['section'];
|
328 |
-
?>
|
329 |
-
<tr class="<?php echo $class; ?>" <?php echo $field_visibility; ?>>
|
330 |
-
<td colspan="2"><h4><?php echo $section; ?></h4></td>
|
331 |
-
</tr>
|
332 |
-
<?php }
|
333 |
-
if (isset($field['type']) && 'help' == $field['type'] && $hide_help) {
|
334 |
-
continue; //skip help if the 'hide help' setting is turned on
|
335 |
-
}
|
336 |
-
?>
|
337 |
-
<tr class="<?php echo $class; ?>" <?php echo $field_visibility; ?>>
|
338 |
-
<?php if ( isset($field['type']) && 'help' == $field['type'] ) { ?>
|
339 |
-
<td colspan="2">
|
340 |
-
<div class="foogallery-help">
|
341 |
-
<?php echo $field['desc']; ?>
|
342 |
-
</div>
|
343 |
-
</td>
|
344 |
-
<?php } else { ?>
|
345 |
-
<th>
|
346 |
-
<label for="FooGallerySettings_<?php echo $template['slug'] . '_' . $field['id']; ?>"><?php echo $field['title']; ?></label>
|
347 |
-
</th>
|
348 |
-
<td>
|
349 |
-
<?php do_action( 'foogallery_render_gallery_template_field', $field, $album, $template ); ?>
|
350 |
-
</td>
|
351 |
-
<?php } ?>
|
352 |
-
</tr>
|
353 |
-
<?php
|
354 |
-
}
|
355 |
-
}
|
356 |
-
?>
|
357 |
-
</tbody>
|
358 |
-
</table>
|
359 |
-
<?php
|
360 |
-
}
|
361 |
-
|
362 |
-
public function render_customcss_metabox( $post ) {
|
363 |
-
$album = $this->get_album( $post );
|
364 |
-
$custom_css = $album->custom_css;
|
365 |
-
$example = '<code>#foogallery-album-' . $post->ID . ' { }</code>';
|
366 |
-
?>
|
367 |
-
<p>
|
368 |
-
<?php printf( __( 'Add any custom CSS to target this specific album. For example %s', 'foogallery' ), $example ); ?>
|
369 |
-
</p>
|
370 |
-
<table id="table_styling" class="form-table">
|
371 |
-
<tbody>
|
372 |
-
<tr>
|
373 |
-
<td>
|
374 |
-
<textarea class="foogallery_metabox_custom_css" name="<?php echo FOOGALLERY_META_CUSTOM_CSS; ?>" type="text"><?php echo $custom_css; ?></textarea>
|
375 |
-
</td>
|
376 |
-
</tr>
|
377 |
-
</tbody>
|
378 |
-
</table>
|
379 |
-
<?php
|
380 |
-
}
|
381 |
-
|
382 |
-
public function include_required_scripts() {
|
383 |
-
if ( FOOGALLERY_CPT_ALBUM === foo_current_screen_post_type() ) {
|
384 |
-
//include album selection script
|
385 |
-
$url = FOOGALLERY_ALBUM_URL . 'js/admin-foogallery-album.js';
|
386 |
-
wp_enqueue_script( 'admin-foogallery-album', $url, array( 'jquery', 'jquery-ui-core','jquery-ui-sortable' ), FOOGALLERY_VERSION );
|
387 |
-
|
388 |
-
//include album selection css
|
389 |
-
$url = FOOGALLERY_ALBUM_URL . 'css/admin-foogallery-album.css';
|
390 |
-
wp_enqueue_style( 'admin-foogallery-album', $url, array(), FOOGALLERY_VERSION );
|
391 |
-
$url = FOOGALLERY_URL . 'css/admin-foogallery-gallery-piles.css';
|
392 |
-
wp_enqueue_style( 'admin-foogallery-gallery-piles', $url, array(), FOOGALLERY_VERSION );
|
393 |
-
|
394 |
-
//spectrum needed for the colorpicker field
|
395 |
-
$url = FOOGALLERY_URL . 'lib/spectrum/spectrum.js';
|
396 |
-
wp_enqueue_script( 'foogallery-spectrum', $url, array('jquery'), FOOGALLERY_VERSION );
|
397 |
-
$url = FOOGALLERY_URL . 'lib/spectrum/spectrum.css';
|
398 |
-
wp_enqueue_style( 'foogallery-spectrum', $url, array(), FOOGALLERY_VERSION );
|
399 |
-
}
|
400 |
-
}
|
401 |
-
|
402 |
-
public function ajax_get_gallery_details() {
|
403 |
-
if ( check_admin_referer( 'foogallery_album_gallery_details' ) ) {
|
404 |
-
$foogallery_id = $_POST['foogallery_id'];
|
405 |
-
$gallery = FooGallery::get_by_id( $foogallery_id );
|
406 |
-
|
407 |
-
if ( false !== $gallery ) {
|
408 |
-
$fields = $this->get_gallery_detail_fields( $gallery ); ?>
|
409 |
-
<form name="foogallery_gallery_details">
|
410 |
-
<input type="hidden" name="foogallery_id" id="foogallery_id" value="<?php echo $foogallery_id; ?>" />
|
411 |
-
<table class="gallery-detail-fields">
|
412 |
-
<tbody>
|
413 |
-
<?php foreach ( $fields as $field => $values ) {
|
414 |
-
$value = get_post_meta( $gallery->ID, $field, true );
|
415 |
-
$input_id = 'foogallery-gallery-detail-fields-' . $field;
|
416 |
-
switch ( $values['input'] ) {
|
417 |
-
case 'text':
|
418 |
-
$values['html'] = '<input type="text" id="' . $input_id . '" name="' . $field . '" value="' . $value . '" />';
|
419 |
-
break;
|
420 |
-
|
421 |
-
case 'textarea':
|
422 |
-
$values['html'] = '<textarea id="' . $input_id . '" name="' . $field . '">' . $value . '</textarea>';
|
423 |
-
break;
|
424 |
-
|
425 |
-
case 'select':
|
426 |
-
$html = '<select id="' . $input_id . '" name="' . $field . '">';
|
427 |
-
|
428 |
-
// If options array is passed
|
429 |
-
if ( isset( $values['options'] ) ) {
|
430 |
-
// Browse and add the options
|
431 |
-
foreach ( $values['options'] as $k => $v ) {
|
432 |
-
// Set the option selected or not
|
433 |
-
if ( $value == $k )
|
434 |
-
$selected = ' selected="selected"';
|
435 |
-
else
|
436 |
-
$selected = '';
|
437 |
-
|
438 |
-
$html .= '<option' . $selected . ' value="' . $k . '">' . $v . '</option>';
|
439 |
-
}
|
440 |
-
}
|
441 |
-
|
442 |
-
$html .= '</select>';
|
443 |
-
|
444 |
-
// Set the html content
|
445 |
-
$values['html'] = $html;
|
446 |
-
|
447 |
-
break;
|
448 |
-
|
449 |
-
case 'checkbox':
|
450 |
-
// Set the checkbox checked or not
|
451 |
-
if ( $value == 'on' )
|
452 |
-
$checked = ' checked="checked"';
|
453 |
-
else
|
454 |
-
$checked = '';
|
455 |
-
|
456 |
-
$html = '<input' . $checked . ' type="checkbox" name="' . $field . ']" id="' . $input_id . '" />';
|
457 |
-
|
458 |
-
$values['html'] = $html;
|
459 |
-
|
460 |
-
break;
|
461 |
-
|
462 |
-
case 'radio':
|
463 |
-
$html = '';
|
464 |
-
|
465 |
-
if ( ! empty( $values['options'] ) ) {
|
466 |
-
$i = 0;
|
467 |
-
|
468 |
-
foreach ( $values['options'] as $k => $v ) {
|
469 |
-
if ( $value == $k )
|
470 |
-
$checked = ' checked="checked"';
|
471 |
-
else
|
472 |
-
$checked = '';
|
473 |
-
|
474 |
-
$html .= '<input' . $checked . ' value="' . $k . '" type="radio" name="' . $field . ']" id="' . sanitize_key( $field . '_' . $i ) . '" /> <label for="' . sanitize_key( $field . '_' . $i ) . '">' . $v . '</label><br />';
|
475 |
-
$i++;
|
476 |
-
}
|
477 |
-
}
|
478 |
-
|
479 |
-
$values['html'] = $html;
|
480 |
-
|
481 |
-
break;
|
482 |
-
} ?>
|
483 |
-
<tr class="foogallery-gallery-detail-fields-<?php echo $field; ?>">
|
484 |
-
<th scope="row" class="label">
|
485 |
-
<label for="foogallery-gallery-detail-fields-<?php echo $field; ?>"><?php echo $values['label']; ?></label>
|
486 |
-
</th>
|
487 |
-
<td>
|
488 |
-
<?php echo $values['html']; ?>
|
489 |
-
<?php if ( !empty( $values['help'] ) ) { ?><p class="help"><?php echo $values['help']; ?></p><?php } ?>
|
490 |
-
</td>
|
491 |
-
</tr>
|
492 |
-
<?php } ?>
|
493 |
-
</tbody>
|
494 |
-
</table>
|
495 |
-
</form><?php
|
496 |
-
} else {
|
497 |
-
echo '<h2>' . __( 'Invalid Gallery!', 'foogallery' ) . '</h2>';
|
498 |
-
}
|
499 |
-
}
|
500 |
-
die();
|
501 |
-
}
|
502 |
-
|
503 |
-
public function ajax_save_gallery_details() {
|
504 |
-
if ( check_admin_referer( 'foogallery_album_gallery_details' ) ) {
|
505 |
-
$foogallery_id = $_POST['foogallery_id'];
|
506 |
-
$gallery = FooGallery::get_by_id( $foogallery_id );
|
507 |
-
if ( false !== $gallery ) {
|
508 |
-
$fields = $this->get_gallery_detail_fields( $gallery );
|
509 |
-
|
510 |
-
foreach ( $fields as $field => $values ) {
|
511 |
-
//for every field, save some info
|
512 |
-
do_action( 'foogallery_album_gallery_details_save', $field, $values, $gallery );
|
513 |
-
}
|
514 |
-
}
|
515 |
-
}
|
516 |
-
}
|
517 |
-
|
518 |
-
public function gallery_details_save($field, $field_args, $gallery) {
|
519 |
-
if ( 'custom_url' === $field || 'custom_target' === $field ) {
|
520 |
-
$value = $_POST[$field];
|
521 |
-
update_post_meta( $gallery->ID, $field, $value );
|
522 |
-
}
|
523 |
-
}
|
524 |
-
|
525 |
-
/**
|
526 |
-
* Get the fields that we want to edit for a gallery from the album management page
|
527 |
-
* @param $gallery FooGallery
|
528 |
-
*
|
529 |
-
* @return mixed|void
|
530 |
-
*/
|
531 |
-
public function get_gallery_detail_fields($gallery) {
|
532 |
-
|
533 |
-
$target_options = apply_filters( 'foogallery_gallery_detail_fields_custom_target_options', array(
|
534 |
-
'default' => __( 'Default', 'foogallery' ),
|
535 |
-
'_blank' => __( 'New tab (_blank)', 'foogallery' ),
|
536 |
-
'_self' => __( 'Same tab (_self)', 'foogallery' )
|
537 |
-
) );
|
538 |
-
|
539 |
-
$edit_url = get_edit_post_link( $gallery->ID );
|
540 |
-
|
541 |
-
$fields = array(
|
542 |
-
'gallery_title' => array(
|
543 |
-
'label' => __( 'Gallery Title', 'foogallery' ),
|
544 |
-
'input' => 'html',
|
545 |
-
'html' => '<strong>' . $gallery->safe_name() . ' <a href="' . $edit_url . '" target="_blank">' . __( 'Edit Gallery', 'foogallery' ) . '</a></strong>',
|
546 |
-
),
|
547 |
-
|
548 |
-
'gallery_template' => array(
|
549 |
-
'label' => __( 'Gallery Template', 'foogallery' ),
|
550 |
-
'input' => 'html',
|
551 |
-
'html' => '<strong>' . $gallery->gallery_template_name() . '</strong>',
|
552 |
-
),
|
553 |
-
|
554 |
-
'gallery_media' => array(
|
555 |
-
'label' => __( 'Media', 'foogallery' ),
|
556 |
-
'input' => 'html',
|
557 |
-
'html' => '<strong>' . $gallery->image_count() . '</strong>'
|
558 |
-
),
|
559 |
-
|
560 |
-
'custom_url' => array(
|
561 |
-
'label' => __( 'Custom URL', 'foogallery' ),
|
562 |
-
'input' => 'text',
|
563 |
-
'help' => __( 'Point your gallery to a custom URL', 'foogallery' )
|
564 |
-
),
|
565 |
-
|
566 |
-
'custom_target' => array(
|
567 |
-
'label' => __( 'Custom Target', 'foogallery' ),
|
568 |
-
'input' => 'select',
|
569 |
-
'help' => __( 'Set a custom target for your gallery', 'foogallery' ),
|
570 |
-
'options' => $target_options
|
571 |
-
)
|
572 |
-
);
|
573 |
-
|
574 |
-
return apply_filters( 'foogallery_gallery_detail_fields', $fields );
|
575 |
-
}
|
576 |
-
}
|
577 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* FooGallery Admin Album MetaBoxes class
|
5 |
+
*/
|
6 |
+
|
7 |
+
if ( ! class_exists( 'FooGallery_Admin_Album_MetaBoxes' ) ) {
|
8 |
+
|
9 |
+
class FooGallery_Admin_Album_MetaBoxes {
|
10 |
+
|
11 |
+
private $_album;
|
12 |
+
|
13 |
+
public function __construct() {
|
14 |
+
//add our foogallery metaboxes
|
15 |
+
add_action( 'add_meta_boxes_' . FOOGALLERY_CPT_ALBUM, array( $this, 'add_meta_boxes' ) );
|
16 |
+
|
17 |
+
//save extra post data for a gallery
|
18 |
+
add_action( 'save_post', array( $this, 'save_album' ) );
|
19 |
+
|
20 |
+
//add scripts used by metaboxes
|
21 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'include_required_scripts' ) );
|
22 |
+
|
23 |
+
// Ajax call for getting gallery details
|
24 |
+
add_action( 'wp_ajax_foogallery_get_gallery_details', array( $this, 'ajax_get_gallery_details' ) );
|
25 |
+
|
26 |
+
// Ajax call for saving gallery details
|
27 |
+
add_action( 'wp_ajax_foogallery_save_gallery_details', array( $this, 'ajax_save_gallery_details' ) );
|
28 |
+
|
29 |
+
// Save details for the gallery
|
30 |
+
add_action( 'foogallery_album_gallery_details_save', array( $this, 'gallery_details_save' ), 10, 3 );
|
31 |
+
}
|
32 |
+
|
33 |
+
public function add_meta_boxes( $post ) {
|
34 |
+
add_meta_box(
|
35 |
+
'foogalleryalbum_galleries',
|
36 |
+
__( 'Galleries - click a gallery to add it to your album.', 'foogallery' ),
|
37 |
+
array( $this, 'render_gallery_metabox' ),
|
38 |
+
FOOGALLERY_CPT_ALBUM,
|
39 |
+
'normal',
|
40 |
+
'high'
|
41 |
+
);
|
42 |
+
|
43 |
+
add_meta_box(
|
44 |
+
'foogalleryalbum_settings',
|
45 |
+
__( 'Settings', 'foogallery' ),
|
46 |
+
array( $this, 'render_settings_metabox' ),
|
47 |
+
FOOGALLERY_CPT_ALBUM,
|
48 |
+
'normal',
|
49 |
+
'high'
|
50 |
+
);
|
51 |
+
|
52 |
+
add_meta_box(
|
53 |
+
'foogalleryalbum_customcss',
|
54 |
+
__( 'Custom CSS', 'foogallery' ),
|
55 |
+
array( $this, 'render_customcss_metabox' ),
|
56 |
+
FOOGALLERY_CPT_ALBUM,
|
57 |
+
'normal',
|
58 |
+
'low'
|
59 |
+
);
|
60 |
+
|
61 |
+
add_meta_box(
|
62 |
+
'foogalleryalbum_shortcode',
|
63 |
+
__( 'Album Shortcode', 'foogallery' ),
|
64 |
+
array( $this, 'render_shortcode_metabox' ),
|
65 |
+
FOOGALLERY_CPT_ALBUM,
|
66 |
+
'side',
|
67 |
+
'default'
|
68 |
+
);
|
69 |
+
|
70 |
+
add_meta_box(
|
71 |
+
'foogalleryalbum_sorting',
|
72 |
+
__( 'Album Sorting', 'foogallery' ),
|
73 |
+
array( $this, 'render_sorting_metabox' ),
|
74 |
+
FOOGALLERY_CPT_ALBUM,
|
75 |
+
'side',
|
76 |
+
'default'
|
77 |
+
);
|
78 |
+
}
|
79 |
+
|
80 |
+
public function get_album( $post ) {
|
81 |
+
if ( ! isset( $this->_album ) ) {
|
82 |
+
$this->_album = FooGalleryAlbum::get( $post );
|
83 |
+
}
|
84 |
+
|
85 |
+
return $this->_album;
|
86 |
+
}
|
87 |
+
|
88 |
+
public function save_album( $post_id ) {
|
89 |
+
// check autosave
|
90 |
+
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
91 |
+
return $post_id;
|
92 |
+
}
|
93 |
+
|
94 |
+
// verify nonce
|
95 |
+
if ( array_key_exists( FOOGALLERY_CPT_ALBUM . '_nonce', $_POST ) &&
|
96 |
+
wp_verify_nonce( $_POST[ FOOGALLERY_CPT_ALBUM . '_nonce' ], plugin_basename( FOOGALLERY_FILE ) )
|
97 |
+
) {
|
98 |
+
//if we get here, we are dealing with the Album custom post type
|
99 |
+
|
100 |
+
$galleries = apply_filters( 'foogallery_save_album_galleries', explode( ',', $_POST[ FOOGALLERY_ALBUM_META_GALLERIES ] ) );
|
101 |
+
update_post_meta( $post_id, FOOGALLERY_ALBUM_META_GALLERIES, $galleries );
|
102 |
+
|
103 |
+
if ( !empty( $_POST[FOOGALLERY_ALBUM_META_TEMPLATE] ) ) {
|
104 |
+
update_post_meta( $post_id, FOOGALLERY_ALBUM_META_TEMPLATE, $_POST[FOOGALLERY_ALBUM_META_TEMPLATE] );
|
105 |
+
}
|
106 |
+
|
107 |
+
if ( isset( $_POST[FOOGALLERY_ALBUM_META_SORT] ) ) {
|
108 |
+
update_post_meta( $post_id, FOOGALLERY_ALBUM_META_SORT, $_POST[FOOGALLERY_ALBUM_META_SORT] );
|
109 |
+
}
|
110 |
+
|
111 |
+
$settings = isset($_POST['_foogallery_settings']) ?
|
112 |
+
$_POST['_foogallery_settings'] : array();
|
113 |
+
|
114 |
+
$settings = apply_filters( 'foogallery_save_album_settings', $settings );
|
115 |
+
|
116 |
+
if ( !empty( $settings ) ) {
|
117 |
+
update_post_meta( $post_id, FOOGALLERY_META_SETTINGS_OLD, $settings );
|
118 |
+
} else {
|
119 |
+
delete_post_meta( $post_id, FOOGALLERY_META_SETTINGS_OLD );
|
120 |
+
}
|
121 |
+
|
122 |
+
$custom_css = foogallery_sanitize_html( isset( $_POST[FOOGALLERY_META_CUSTOM_CSS] ) ?
|
123 |
+
$_POST[FOOGALLERY_META_CUSTOM_CSS] : '' );
|
124 |
+
|
125 |
+
if ( empty( $custom_css ) ) {
|
126 |
+
delete_post_meta( $post_id, FOOGALLERY_META_CUSTOM_CSS );
|
127 |
+
} else {
|
128 |
+
update_post_meta( $post_id, FOOGALLERY_META_CUSTOM_CSS, $custom_css );
|
129 |
+
}
|
130 |
+
|
131 |
+
// update usage for each of the galleries.
|
132 |
+
foreach ( $galleries as $gallery_id ) {
|
133 |
+
add_post_meta( $post_id, FOOGALLERY_META_POST_USAGE, $gallery_id, false );
|
134 |
+
}
|
135 |
+
|
136 |
+
do_action( 'foogallery_after_save_album', $post_id, $_POST );
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
public function get_ordered_galleries( $album ) {
|
141 |
+
//exclude the galleries already added to the album
|
142 |
+
$excluded_galleries = $album->gallery_ids;
|
143 |
+
|
144 |
+
//allow more galleries to be excluded
|
145 |
+
$excluded_galleries = apply_filters( 'foogallery_album_exlcuded_galleries', $excluded_galleries, $album );
|
146 |
+
|
147 |
+
//get all other galleries
|
148 |
+
$galleries = foogallery_get_all_galleries( $excluded_galleries );
|
149 |
+
|
150 |
+
$album_galleries = $album->galleries();
|
151 |
+
|
152 |
+
return array_merge( $album_galleries, $galleries );
|
153 |
+
}
|
154 |
+
|
155 |
+
public function render_gallery_metabox( $post ) {
|
156 |
+
$album = $this->get_album( $post );
|
157 |
+
|
158 |
+
$galleries = $this->get_ordered_galleries( $album );
|
159 |
+
|
160 |
+
wp_enqueue_style( 'media-views' );
|
161 |
+
|
162 |
+
?>
|
163 |
+
<input type="hidden" name="<?php echo FOOGALLERY_CPT_ALBUM; ?>_nonce"
|
164 |
+
id="<?php echo FOOGALLERY_CPT_ALBUM; ?>_nonce"
|
165 |
+
value="<?php echo wp_create_nonce( plugin_basename( FOOGALLERY_FILE ) ); ?>"/>
|
166 |
+
<input type="hidden" name='foogallery_album_galleries' id="foogallery_album_galleries"
|
167 |
+
value="<?php echo $album->gallery_id_csv(); ?>"/>
|
168 |
+
<div>
|
169 |
+
<?php if ( !$album->has_galleries() ) { ?>
|
170 |
+
<div class="foogallery-album-error">
|
171 |
+
<?php _e( 'There are no galleries selected for your album yet! Click any gallery to add it to your album.', 'foogallery' ); ?>
|
172 |
+
</div>
|
173 |
+
<?php } ?>
|
174 |
+
|
175 |
+
<div class="foogallery-album-info-modal media-modal">
|
176 |
+
<div class="media-modal-content">
|
177 |
+
<div class="media-frame mode-select">
|
178 |
+
<div class="media-frame-title">
|
179 |
+
<h1><?php _e('Edit Gallery Details', 'foogallery'); ?></h1>
|
180 |
+
<span class="spinner is-active"></span>
|
181 |
+
</div>
|
182 |
+
<div class="modal-content">
|
183 |
+
<?php wp_nonce_field( 'foogallery_album_gallery_details', 'foogallery_album_gallery_details_nonce', false ); ?>
|
184 |
+
<div class="gallery-details" data-loading="<?php _e( 'Loading details for ', 'foogallery' ); ?>"></div>
|
185 |
+
</div>
|
186 |
+
</div>
|
187 |
+
<div class="media-frame-toolbar">
|
188 |
+
<div class="media-toolbar">
|
189 |
+
<div class="media-toolbar-secondary"></div>
|
190 |
+
<div class="media-toolbar-primary search-form">
|
191 |
+
<button type="button" class="button media-button button-primary button-large media-button-select gallery-details-save"><?php _e('Save Gallery Details', 'foogallery'); ?></button>
|
192 |
+
<span class="spinner"></span>
|
193 |
+
</div>
|
194 |
+
</div>
|
195 |
+
</div>
|
196 |
+
</div>
|
197 |
+
<button type="button" class="button-link media-modal-close">
|
198 |
+
<span class="media-modal-icon"><span class="screen-reader-text"><?php _e('Close media panel', 'foogallery'); ?></span></span>
|
199 |
+
</button>
|
200 |
+
|
201 |
+
</div>
|
202 |
+
<div class="foogallery-album-info-modal-backdrop media-modal-backdrop"></div>
|
203 |
+
|
204 |
+
|
205 |
+
<ul class="foogallery-album-gallery-list">
|
206 |
+
<?php
|
207 |
+
foreach ( $galleries as $gallery ) {
|
208 |
+
$img_src = foogallery_find_featured_attachment_thumbnail_src( $gallery );
|
209 |
+
$images = $gallery->image_count();
|
210 |
+
$selected = $album->includes_gallery( $gallery->ID ) ? ' selected' : '';
|
211 |
+
$title = $gallery->safe_name();
|
212 |
+
?>
|
213 |
+
<li class="foogallery-pile">
|
214 |
+
<div class="foogallery-gallery-select landscape<?php echo $selected; ?>" data-foogallery-id="<?php echo $gallery->ID; ?>">
|
215 |
+
<div style="display: table;">
|
216 |
+
<div style="display: table-cell; vertical-align: middle; text-align: center;">
|
217 |
+
<img src="<?php echo $img_src; ?>"/>
|
218 |
+
<h3>
|
219 |
+
<?php echo esc_html( $title ); ?>
|
220 |
+
<span><?php echo $images; ?></span>
|
221 |
+
</h3>
|
222 |
+
</div>
|
223 |
+
</div>
|
224 |
+
<a class="info foogallery-album-info" href="#"
|
225 |
+
title="<?php _e( 'Edit Album Info', 'foogallery' ); ?>"
|
226 |
+
data-gallery-title="<?php echo $title; ?>"
|
227 |
+
data-gallery-id="<?php echo $gallery->ID; ?>"><span class="dashicons dashicons-info"></span>
|
228 |
+
</a>
|
229 |
+
</div>
|
230 |
+
</li>
|
231 |
+
<?php } ?>
|
232 |
+
</ul>
|
233 |
+
<div style="clear: both;"></div>
|
234 |
+
</div>
|
235 |
+
<?php
|
236 |
+
}
|
237 |
+
|
238 |
+
public function render_shortcode_metabox( $post ) {
|
239 |
+
$album = $this->get_album( $post );
|
240 |
+
$shortcode = $album->shortcode();
|
241 |
+
?>
|
242 |
+
<p class="foogallery-shortcode">
|
243 |
+
<input type="text" id="foogallery_copy_shortcode" size="<?php echo strlen( $shortcode ); ?>" value="<?php echo htmlspecialchars( $shortcode ); ?>" readonly="readonly" />
|
244 |
+
</p>
|
245 |
+
<p>
|
246 |
+
<?php _e( 'Paste the above shortcode into a post or page to show the album.', 'foogallery' ); ?>
|
247 |
+
</p>
|
248 |
+
<script>
|
249 |
+
jQuery(function($) {
|
250 |
+
var shortcodeInput = document.querySelector('#foogallery_copy_shortcode');
|
251 |
+
shortcodeInput.addEventListener('click', function () {
|
252 |
+
try {
|
253 |
+
// select the contents
|
254 |
+
shortcodeInput.select();
|
255 |
+
//copy the selection
|
256 |
+
document.execCommand('copy');
|
257 |
+
//show the copied message
|
258 |
+
$('.foogallery-shortcode-message').remove();
|
259 |
+
$(shortcodeInput).after('<p class="foogallery-shortcode-message"><?php _e( 'Shortcode copied to clipboard :)','foogallery' ); ?></p>');
|
260 |
+
} catch(err) {
|
261 |
+
console.log('Oops, unable to copy!');
|
262 |
+
}
|
263 |
+
}, false);
|
264 |
+
});
|
265 |
+
</script>
|
266 |
+
<?php
|
267 |
+
}
|
268 |
+
|
269 |
+
public function render_sorting_metabox( $post ) {
|
270 |
+
$album = $this->get_album( $post );
|
271 |
+
$sorting_options = foogallery_sorting_options(); ?>
|
272 |
+
<p>
|
273 |
+
<?php _e('Change the way galleries are sorted within your album. By default, they are sorted in the order you see them.', 'foogallery'); ?>
|
274 |
+
</p>
|
275 |
+
<?php
|
276 |
+
foreach ( $sorting_options as $sorting_key => $sorting_label ) { ?>
|
277 |
+
<p>
|
278 |
+
<input type="radio" value="<?php echo $sorting_key; ?>" <?php checked( $sorting_key === $album->sorting ); ?> id="FooGallerySettings_AlbumSort_<?php echo $sorting_key; ?>" name="<?php echo FOOGALLERY_ALBUM_META_SORT; ?>" />
|
279 |
+
<label for="FooGallerySettings_AlbumSort_<?php echo $sorting_key; ?>"><?php echo $sorting_label; ?></label>
|
280 |
+
</p><?php
|
281 |
+
}
|
282 |
+
}
|
283 |
+
|
284 |
+
public function render_settings_metabox( $post ) {
|
285 |
+
$album = $this->get_album( $post );
|
286 |
+
$available_templates = foogallery_album_templates();
|
287 |
+
$album_template = foogallery_default_album_template();
|
288 |
+
if ( ! empty($album->album_template) ) {
|
289 |
+
$album_template = $album->album_template;
|
290 |
+
}
|
291 |
+
if ( false === $album_template ) {
|
292 |
+
$album_template = $available_templates[0]['slug'];
|
293 |
+
}
|
294 |
+
$hide_help = 'on' == foogallery_get_setting( 'hide_gallery_template_help' );
|
295 |
+
?>
|
296 |
+
<table class="foogallery-album-metabox-settings">
|
297 |
+
<tbody>
|
298 |
+
<tr class="foogallery_template_field foogallery_template_field_selector">
|
299 |
+
<th>
|
300 |
+
<label for="FooGallerySettings_AlbumTemplate"><?php _e( 'Album Template', 'foogallery' ); ?></label>
|
301 |
+
</th>
|
302 |
+
<td>
|
303 |
+
<select id="FooGallerySettings_AlbumTemplate" name="<?php echo FOOGALLERY_ALBUM_META_TEMPLATE; ?>">
|
304 |
+
<?php
|
305 |
+
foreach ( $available_templates as $template ) {
|
306 |
+
$selected = ($album_template === $template['slug']) ? 'selected' : '';
|
307 |
+
echo "<option {$selected} value=\"{$template['slug']}\">{$template['name']}</option>";
|
308 |
+
}
|
309 |
+
?>
|
310 |
+
</select>
|
311 |
+
<br />
|
312 |
+
<small><?php _e( 'The album template that will be used when the album is output to the frontend.', 'foogallery' ); ?></small>
|
313 |
+
</td>
|
314 |
+
</tr>
|
315 |
+
<?php
|
316 |
+
foreach ( $available_templates as $template ) {
|
317 |
+
$field_visibility = ($album_template !== $template['slug']) ? 'style="display:none"' : '';
|
318 |
+
$section = '';
|
319 |
+
$fields = isset( $template['fields'] ) ? $template['fields'] : array();
|
320 |
+
foreach ( $fields as $field ) {
|
321 |
+
//allow for the field to be altered by extensions.
|
322 |
+
$field = apply_filters( 'foogallery_alter_gallery_template_field', $field, $album );
|
323 |
+
|
324 |
+
$class ="foogallery_template_field foogallery_template_field-{$template['slug']} foogallery_template_field-{$template['slug']}-{$field['id']}";
|
325 |
+
|
326 |
+
if ( isset($field['section']) && $field['section'] !== $section ) {
|
327 |
+
$section = $field['section'];
|
328 |
+
?>
|
329 |
+
<tr class="<?php echo $class; ?>" <?php echo $field_visibility; ?>>
|
330 |
+
<td colspan="2"><h4><?php echo $section; ?></h4></td>
|
331 |
+
</tr>
|
332 |
+
<?php }
|
333 |
+
if (isset($field['type']) && 'help' == $field['type'] && $hide_help) {
|
334 |
+
continue; //skip help if the 'hide help' setting is turned on
|
335 |
+
}
|
336 |
+
?>
|
337 |
+
<tr class="<?php echo $class; ?>" <?php echo $field_visibility; ?>>
|
338 |
+
<?php if ( isset($field['type']) && 'help' == $field['type'] ) { ?>
|
339 |
+
<td colspan="2">
|
340 |
+
<div class="foogallery-help">
|
341 |
+
<?php echo $field['desc']; ?>
|
342 |
+
</div>
|
343 |
+
</td>
|
344 |
+
<?php } else { ?>
|
345 |
+
<th>
|
346 |
+
<label for="FooGallerySettings_<?php echo $template['slug'] . '_' . $field['id']; ?>"><?php echo $field['title']; ?></label>
|
347 |
+
</th>
|
348 |
+
<td>
|
349 |
+
<?php do_action( 'foogallery_render_gallery_template_field', $field, $album, $template ); ?>
|
350 |
+
</td>
|
351 |
+
<?php } ?>
|
352 |
+
</tr>
|
353 |
+
<?php
|
354 |
+
}
|
355 |
+
}
|
356 |
+
?>
|
357 |
+
</tbody>
|
358 |
+
</table>
|
359 |
+
<?php
|
360 |
+
}
|
361 |
+
|
362 |
+
public function render_customcss_metabox( $post ) {
|
363 |
+
$album = $this->get_album( $post );
|
364 |
+
$custom_css = $album->custom_css;
|
365 |
+
$example = '<code>#foogallery-album-' . $post->ID . ' { }</code>';
|
366 |
+
?>
|
367 |
+
<p>
|
368 |
+
<?php printf( __( 'Add any custom CSS to target this specific album. For example %s', 'foogallery' ), $example ); ?>
|
369 |
+
</p>
|
370 |
+
<table id="table_styling" class="form-table">
|
371 |
+
<tbody>
|
372 |
+
<tr>
|
373 |
+
<td>
|
374 |
+
<textarea class="foogallery_metabox_custom_css" name="<?php echo FOOGALLERY_META_CUSTOM_CSS; ?>" type="text"><?php echo $custom_css; ?></textarea>
|
375 |
+
</td>
|
376 |
+
</tr>
|
377 |
+
</tbody>
|
378 |
+
</table>
|
379 |
+
<?php
|
380 |
+
}
|
381 |
+
|
382 |
+
public function include_required_scripts() {
|
383 |
+
if ( FOOGALLERY_CPT_ALBUM === foo_current_screen_post_type() ) {
|
384 |
+
//include album selection script
|
385 |
+
$url = FOOGALLERY_ALBUM_URL . 'js/admin-foogallery-album.js';
|
386 |
+
wp_enqueue_script( 'admin-foogallery-album', $url, array( 'jquery', 'jquery-ui-core','jquery-ui-sortable' ), FOOGALLERY_VERSION );
|
387 |
+
|
388 |
+
//include album selection css
|
389 |
+
$url = FOOGALLERY_ALBUM_URL . 'css/admin-foogallery-album.css';
|
390 |
+
wp_enqueue_style( 'admin-foogallery-album', $url, array(), FOOGALLERY_VERSION );
|
391 |
+
$url = FOOGALLERY_URL . 'css/admin-foogallery-gallery-piles.css';
|
392 |
+
wp_enqueue_style( 'admin-foogallery-gallery-piles', $url, array(), FOOGALLERY_VERSION );
|
393 |
+
|
394 |
+
//spectrum needed for the colorpicker field
|
395 |
+
$url = FOOGALLERY_URL . 'lib/spectrum/spectrum.js';
|
396 |
+
wp_enqueue_script( 'foogallery-spectrum', $url, array('jquery'), FOOGALLERY_VERSION );
|
397 |
+
$url = FOOGALLERY_URL . 'lib/spectrum/spectrum.css';
|
398 |
+
wp_enqueue_style( 'foogallery-spectrum', $url, array(), FOOGALLERY_VERSION );
|
399 |
+
}
|
400 |
+
}
|
401 |
+
|
402 |
+
public function ajax_get_gallery_details() {
|
403 |
+
if ( check_admin_referer( 'foogallery_album_gallery_details' ) ) {
|
404 |
+
$foogallery_id = $_POST['foogallery_id'];
|
405 |
+
$gallery = FooGallery::get_by_id( $foogallery_id );
|
406 |
+
|
407 |
+
if ( false !== $gallery ) {
|
408 |
+
$fields = $this->get_gallery_detail_fields( $gallery ); ?>
|
409 |
+
<form name="foogallery_gallery_details">
|
410 |
+
<input type="hidden" name="foogallery_id" id="foogallery_id" value="<?php echo $foogallery_id; ?>" />
|
411 |
+
<table class="gallery-detail-fields">
|
412 |
+
<tbody>
|
413 |
+
<?php foreach ( $fields as $field => $values ) {
|
414 |
+
$value = get_post_meta( $gallery->ID, $field, true );
|
415 |
+
$input_id = 'foogallery-gallery-detail-fields-' . $field;
|
416 |
+
switch ( $values['input'] ) {
|
417 |
+
case 'text':
|
418 |
+
$values['html'] = '<input type="text" id="' . $input_id . '" name="' . $field . '" value="' . $value . '" />';
|
419 |
+
break;
|
420 |
+
|
421 |
+
case 'textarea':
|
422 |
+
$values['html'] = '<textarea id="' . $input_id . '" name="' . $field . '">' . $value . '</textarea>';
|
423 |
+
break;
|
424 |
+
|
425 |
+
case 'select':
|
426 |
+
$html = '<select id="' . $input_id . '" name="' . $field . '">';
|
427 |
+
|
428 |
+
// If options array is passed
|
429 |
+
if ( isset( $values['options'] ) ) {
|
430 |
+
// Browse and add the options
|
431 |
+
foreach ( $values['options'] as $k => $v ) {
|
432 |
+
// Set the option selected or not
|
433 |
+
if ( $value == $k )
|
434 |
+
$selected = ' selected="selected"';
|
435 |
+
else
|
436 |
+
$selected = '';
|
437 |
+
|
438 |
+
$html .= '<option' . $selected . ' value="' . $k . '">' . $v . '</option>';
|
439 |
+
}
|
440 |
+
}
|
441 |
+
|
442 |
+
$html .= '</select>';
|
443 |
+
|
444 |
+
// Set the html content
|
445 |
+
$values['html'] = $html;
|
446 |
+
|
447 |
+
break;
|
448 |
+
|
449 |
+
case 'checkbox':
|
450 |
+
// Set the checkbox checked or not
|
451 |
+
if ( $value == 'on' )
|
452 |
+
$checked = ' checked="checked"';
|
453 |
+
else
|
454 |
+
$checked = '';
|
455 |
+
|
456 |
+
$html = '<input' . $checked . ' type="checkbox" name="' . $field . ']" id="' . $input_id . '" />';
|
457 |
+
|
458 |
+
$values['html'] = $html;
|
459 |
+
|
460 |
+
break;
|
461 |
+
|
462 |
+
case 'radio':
|
463 |
+
$html = '';
|
464 |
+
|
465 |
+
if ( ! empty( $values['options'] ) ) {
|
466 |
+
$i = 0;
|
467 |
+
|
468 |
+
foreach ( $values['options'] as $k => $v ) {
|
469 |
+
if ( $value == $k )
|
470 |
+
$checked = ' checked="checked"';
|
471 |
+
else
|
472 |
+
$checked = '';
|
473 |
+
|
474 |
+
$html .= '<input' . $checked . ' value="' . $k . '" type="radio" name="' . $field . ']" id="' . sanitize_key( $field . '_' . $i ) . '" /> <label for="' . sanitize_key( $field . '_' . $i ) . '">' . $v . '</label><br />';
|
475 |
+
$i++;
|
476 |
+
}
|
477 |
+
}
|
478 |
+
|
479 |
+
$values['html'] = $html;
|
480 |
+
|
481 |
+
break;
|
482 |
+
} ?>
|
483 |
+
<tr class="foogallery-gallery-detail-fields-<?php echo $field; ?>">
|
484 |
+
<th scope="row" class="label">
|
485 |
+
<label for="foogallery-gallery-detail-fields-<?php echo $field; ?>"><?php echo $values['label']; ?></label>
|
486 |
+
</th>
|
487 |
+
<td>
|
488 |
+
<?php echo $values['html']; ?>
|
489 |
+
<?php if ( !empty( $values['help'] ) ) { ?><p class="help"><?php echo $values['help']; ?></p><?php } ?>
|
490 |
+
</td>
|
491 |
+
</tr>
|
492 |
+
<?php } ?>
|
493 |
+
</tbody>
|
494 |
+
</table>
|
495 |
+
</form><?php
|
496 |
+
} else {
|
497 |
+
echo '<h2>' . __( 'Invalid Gallery!', 'foogallery' ) . '</h2>';
|
498 |
+
}
|
499 |
+
}
|
500 |
+
die();
|
501 |
+
}
|
502 |
+
|
503 |
+
public function ajax_save_gallery_details() {
|
504 |
+
if ( check_admin_referer( 'foogallery_album_gallery_details' ) ) {
|
505 |
+
$foogallery_id = $_POST['foogallery_id'];
|
506 |
+
$gallery = FooGallery::get_by_id( $foogallery_id );
|
507 |
+
if ( false !== $gallery ) {
|
508 |
+
$fields = $this->get_gallery_detail_fields( $gallery );
|
509 |
+
|
510 |
+
foreach ( $fields as $field => $values ) {
|
511 |
+
//for every field, save some info
|
512 |
+
do_action( 'foogallery_album_gallery_details_save', $field, $values, $gallery );
|
513 |
+
}
|
514 |
+
}
|
515 |
+
}
|
516 |
+
}
|
517 |
+
|
518 |
+
public function gallery_details_save($field, $field_args, $gallery) {
|
519 |
+
if ( 'custom_url' === $field || 'custom_target' === $field ) {
|
520 |
+
$value = $_POST[$field];
|
521 |
+
update_post_meta( $gallery->ID, $field, $value );
|
522 |
+
}
|
523 |
+
}
|
524 |
+
|
525 |
+
/**
|
526 |
+
* Get the fields that we want to edit for a gallery from the album management page
|
527 |
+
* @param $gallery FooGallery
|
528 |
+
*
|
529 |
+
* @return mixed|void
|
530 |
+
*/
|
531 |
+
public function get_gallery_detail_fields($gallery) {
|
532 |
+
|
533 |
+
$target_options = apply_filters( 'foogallery_gallery_detail_fields_custom_target_options', array(
|
534 |
+
'default' => __( 'Default', 'foogallery' ),
|
535 |
+
'_blank' => __( 'New tab (_blank)', 'foogallery' ),
|
536 |
+
'_self' => __( 'Same tab (_self)', 'foogallery' )
|
537 |
+
) );
|
538 |
+
|
539 |
+
$edit_url = get_edit_post_link( $gallery->ID );
|
540 |
+
|
541 |
+
$fields = array(
|
542 |
+
'gallery_title' => array(
|
543 |
+
'label' => __( 'Gallery Title', 'foogallery' ),
|
544 |
+
'input' => 'html',
|
545 |
+
'html' => '<strong>' . $gallery->safe_name() . ' <a href="' . $edit_url . '" target="_blank">' . __( 'Edit Gallery', 'foogallery' ) . '</a></strong>',
|
546 |
+
),
|
547 |
+
|
548 |
+
'gallery_template' => array(
|
549 |
+
'label' => __( 'Gallery Template', 'foogallery' ),
|
550 |
+
'input' => 'html',
|
551 |
+
'html' => '<strong>' . $gallery->gallery_template_name() . '</strong>',
|
552 |
+
),
|
553 |
+
|
554 |
+
'gallery_media' => array(
|
555 |
+
'label' => __( 'Media', 'foogallery' ),
|
556 |
+
'input' => 'html',
|
557 |
+
'html' => '<strong>' . $gallery->image_count() . '</strong>'
|
558 |
+
),
|
559 |
+
|
560 |
+
'custom_url' => array(
|
561 |
+
'label' => __( 'Custom URL', 'foogallery' ),
|
562 |
+
'input' => 'text',
|
563 |
+
'help' => __( 'Point your gallery to a custom URL', 'foogallery' )
|
564 |
+
),
|
565 |
+
|
566 |
+
'custom_target' => array(
|
567 |
+
'label' => __( 'Custom Target', 'foogallery' ),
|
568 |
+
'input' => 'select',
|
569 |
+
'help' => __( 'Set a custom target for your gallery', 'foogallery' ),
|
570 |
+
'options' => $target_options
|
571 |
+
)
|
572 |
+
);
|
573 |
+
|
574 |
+
return apply_filters( 'foogallery_gallery_detail_fields', $fields );
|
575 |
+
}
|
576 |
+
}
|
577 |
+
}
|
extensions/albums/album-default.php
CHANGED
@@ -1,84 +1,84 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery default responsive album template
|
4 |
-
*/
|
5 |
-
global $current_foogallery_album;
|
6 |
-
global $current_foogallery_album_arguments;
|
7 |
-
global $current_foogallery;
|
8 |
-
$gallery = foogallery_album_get_current_gallery();
|
9 |
-
$alignment = foogallery_album_template_setting( 'alignment', 'alignment-left' );
|
10 |
-
$foogallery = false;
|
11 |
-
|
12 |
-
if ( !empty( $gallery ) ) {
|
13 |
-
$foogallery = FooGallery::get_by_slug( $gallery );
|
14 |
-
|
15 |
-
//check to see if the gallery belongs to the album
|
16 |
-
if ( !$current_foogallery_album->includes_gallery( $foogallery->ID ) ) {
|
17 |
-
$foogallery = false;
|
18 |
-
}
|
19 |
-
}
|
20 |
-
|
21 |
-
if ( false !== $foogallery ) {
|
22 |
-
$album_url = trailingslashit( foogallery_album_remove_gallery_from_link() );
|
23 |
-
$gallery_title_size = foogallery_album_template_setting('gallery_title_size', 'h2');
|
24 |
-
echo '<div id="' . $current_foogallery_album->slug . '" class="foogallery-album-header">';
|
25 |
-
echo '<p><a href="' . esc_url( $album_url ) . '">' . foogallery_get_setting( 'language_back_to_album_text', __( '« back to album', 'foogallery' ) ) . '</a></p>';
|
26 |
-
echo '<' . $gallery_title_size . '>' . $foogallery->name . '</'. $gallery_title_size . '>';
|
27 |
-
echo apply_filters('foogallery_album_default_gallery_content', '', $foogallery);
|
28 |
-
echo '</div>';
|
29 |
-
echo do_shortcode('[foogallery id="' . $foogallery->ID . '"]');
|
30 |
-
} else {
|
31 |
-
$title_bg = foogallery_album_template_setting( 'title_bg', '#ffffff' );
|
32 |
-
$title_font_color = foogallery_album_template_setting( 'title_font_color', '#000000' );
|
33 |
-
$args = foogallery_album_template_setting( 'thumbnail_dimensions', array() );
|
34 |
-
if ( !empty( $title_bg ) || !empty( $title_font_color ) ) {
|
35 |
-
echo '<style type="text/css">';
|
36 |
-
if ( !empty( $title_bg ) ) {
|
37 |
-
echo '.foogallery-album-gallery-list .foogallery-pile h3 { background: ' . $title_bg . ' !important; }';
|
38 |
-
}
|
39 |
-
if ( !empty( $title_font_color ) ) {
|
40 |
-
echo '.foogallery-album-gallery-list .foogallery-pile h3 { color: ' . $title_font_color . ' !important; }';
|
41 |
-
}
|
42 |
-
echo '</style>';
|
43 |
-
}
|
44 |
-
?>
|
45 |
-
<div id="foogallery-album-<?php echo $current_foogallery_album->ID; ?>">
|
46 |
-
<ul class="foogallery-album-gallery-list <?php echo $alignment; ?>">
|
47 |
-
<?php
|
48 |
-
foreach ( $current_foogallery_album->galleries() as $gallery ) {
|
49 |
-
$current_foogallery = $gallery;
|
50 |
-
if (!empty($gallery->has_items())) {
|
51 |
-
$attachment = $gallery->featured_attachment();
|
52 |
-
|
53 |
-
if ( false === $attachment ) continue;
|
54 |
-
|
55 |
-
$img_html = $attachment->html_img( $args );
|
56 |
-
$images = $gallery->image_count();
|
57 |
-
$gallery_link = foogallery_album_build_gallery_link( $current_foogallery_album, $gallery );
|
58 |
-
$gallery_link_target = foogallery_album_build_gallery_link_target( $current_foogallery_album, $gallery );
|
59 |
-
?>
|
60 |
-
<li>
|
61 |
-
<div class="foogallery-pile">
|
62 |
-
<div class="foogallery-pile-inner">
|
63 |
-
<a href="<?php echo esc_url( $gallery_link ); ?>" target="<?php echo $gallery_link_target; ?>">
|
64 |
-
<?php echo $img_html; ?>
|
65 |
-
<?php
|
66 |
-
|
67 |
-
$title = empty( $gallery->name ) ?
|
68 |
-
sprintf( __( '%s #%s', 'foogallery' ), foogallery_plugin_name(), $gallery->ID ) :
|
69 |
-
$gallery->name;
|
70 |
-
|
71 |
-
?>
|
72 |
-
<h3><?php echo $title; ?>
|
73 |
-
<span><?php echo $images; ?></span>
|
74 |
-
</h3>
|
75 |
-
</a>
|
76 |
-
</div>
|
77 |
-
</div>
|
78 |
-
</li>
|
79 |
-
<?php } ?>
|
80 |
-
<?php } ?>
|
81 |
-
</ul>
|
82 |
-
<div style="clear: both;"></div>
|
83 |
-
</div>
|
84 |
-
<?php }
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery default responsive album template
|
4 |
+
*/
|
5 |
+
global $current_foogallery_album;
|
6 |
+
global $current_foogallery_album_arguments;
|
7 |
+
global $current_foogallery;
|
8 |
+
$gallery = foogallery_album_get_current_gallery();
|
9 |
+
$alignment = foogallery_album_template_setting( 'alignment', 'alignment-left' );
|
10 |
+
$foogallery = false;
|
11 |
+
|
12 |
+
if ( !empty( $gallery ) ) {
|
13 |
+
$foogallery = FooGallery::get_by_slug( $gallery );
|
14 |
+
|
15 |
+
//check to see if the gallery belongs to the album
|
16 |
+
if ( !$current_foogallery_album->includes_gallery( $foogallery->ID ) ) {
|
17 |
+
$foogallery = false;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
+
if ( false !== $foogallery ) {
|
22 |
+
$album_url = trailingslashit( foogallery_album_remove_gallery_from_link() );
|
23 |
+
$gallery_title_size = foogallery_album_template_setting('gallery_title_size', 'h2');
|
24 |
+
echo '<div id="' . $current_foogallery_album->slug . '" class="foogallery-album-header">';
|
25 |
+
echo '<p><a href="' . esc_url( $album_url ) . '">' . foogallery_get_setting( 'language_back_to_album_text', __( '« back to album', 'foogallery' ) ) . '</a></p>';
|
26 |
+
echo '<' . $gallery_title_size . '>' . $foogallery->name . '</'. $gallery_title_size . '>';
|
27 |
+
echo apply_filters('foogallery_album_default_gallery_content', '', $foogallery);
|
28 |
+
echo '</div>';
|
29 |
+
echo do_shortcode('[foogallery id="' . $foogallery->ID . '"]');
|
30 |
+
} else {
|
31 |
+
$title_bg = foogallery_album_template_setting( 'title_bg', '#ffffff' );
|
32 |
+
$title_font_color = foogallery_album_template_setting( 'title_font_color', '#000000' );
|
33 |
+
$args = foogallery_album_template_setting( 'thumbnail_dimensions', array() );
|
34 |
+
if ( !empty( $title_bg ) || !empty( $title_font_color ) ) {
|
35 |
+
echo '<style type="text/css">';
|
36 |
+
if ( !empty( $title_bg ) ) {
|
37 |
+
echo '.foogallery-album-gallery-list .foogallery-pile h3 { background: ' . $title_bg . ' !important; }';
|
38 |
+
}
|
39 |
+
if ( !empty( $title_font_color ) ) {
|
40 |
+
echo '.foogallery-album-gallery-list .foogallery-pile h3 { color: ' . $title_font_color . ' !important; }';
|
41 |
+
}
|
42 |
+
echo '</style>';
|
43 |
+
}
|
44 |
+
?>
|
45 |
+
<div id="foogallery-album-<?php echo $current_foogallery_album->ID; ?>">
|
46 |
+
<ul class="foogallery-album-gallery-list <?php echo $alignment; ?>">
|
47 |
+
<?php
|
48 |
+
foreach ( $current_foogallery_album->galleries() as $gallery ) {
|
49 |
+
$current_foogallery = $gallery;
|
50 |
+
if (!empty($gallery->has_items())) {
|
51 |
+
$attachment = $gallery->featured_attachment();
|
52 |
+
|
53 |
+
if ( false === $attachment ) continue;
|
54 |
+
|
55 |
+
$img_html = $attachment->html_img( $args );
|
56 |
+
$images = $gallery->image_count();
|
57 |
+
$gallery_link = foogallery_album_build_gallery_link( $current_foogallery_album, $gallery );
|
58 |
+
$gallery_link_target = foogallery_album_build_gallery_link_target( $current_foogallery_album, $gallery );
|
59 |
+
?>
|
60 |
+
<li>
|
61 |
+
<div class="foogallery-pile">
|
62 |
+
<div class="foogallery-pile-inner">
|
63 |
+
<a href="<?php echo esc_url( $gallery_link ); ?>" target="<?php echo $gallery_link_target; ?>">
|
64 |
+
<?php echo $img_html; ?>
|
65 |
+
<?php
|
66 |
+
|
67 |
+
$title = empty( $gallery->name ) ?
|
68 |
+
sprintf( __( '%s #%s', 'foogallery' ), foogallery_plugin_name(), $gallery->ID ) :
|
69 |
+
$gallery->name;
|
70 |
+
|
71 |
+
?>
|
72 |
+
<h3><?php echo $title; ?>
|
73 |
+
<span><?php echo $images; ?></span>
|
74 |
+
</h3>
|
75 |
+
</a>
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
+
</li>
|
79 |
+
<?php } ?>
|
80 |
+
<?php } ?>
|
81 |
+
</ul>
|
82 |
+
<div style="clear: both;"></div>
|
83 |
+
</div>
|
84 |
+
<?php }
|
extensions/albums/album-stack.php
CHANGED
@@ -1,86 +1,86 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery All-In-One Stack Album template
|
4 |
-
*/
|
5 |
-
global $current_foogallery_album;
|
6 |
-
global $current_foogallery_album_arguments;
|
7 |
-
global $current_foogallery;
|
8 |
-
|
9 |
-
|
10 |
-
$args = foogallery_album_template_setting( 'thumbnail_dimensions', array() );
|
11 |
-
$args['crop'] = true;
|
12 |
-
$lightbox = foogallery_album_template_setting( 'lightbox', 'unknown' );
|
13 |
-
if ( $lightbox === 'foogallery' ) {
|
14 |
-
$lightbox = 'unknown';
|
15 |
-
}
|
16 |
-
$random_angle = foogallery_album_template_setting( 'random_angle', 'false' );
|
17 |
-
$gutter = foogallery_album_template_setting( 'gutter', '40' );
|
18 |
-
$pile_angles = foogallery_album_template_setting( 'pile_angles', '2' );
|
19 |
-
|
20 |
-
$data_options = array(
|
21 |
-
'itemWidth' => intval( $args['width'] ),
|
22 |
-
'itemHeight' => intval( $args['height'] ),
|
23 |
-
'gutter' => intval( $gutter ),
|
24 |
-
'angleStep' => intval( $pile_angles ),
|
25 |
-
'randomAngle' => 'true' === $random_angle
|
26 |
-
);
|
27 |
-
|
28 |
-
$data_options = foogallery_json_encode( $data_options );
|
29 |
-
|
30 |
-
if ( !function_exists( 'foogallery_album_all_in_one_stack_render_gallery_attachment2' ) ) {
|
31 |
-
function foogallery_album_all_in_one_stack_render_gallery_attachment2( $gallery, $attachment, $args ) {
|
32 |
-
echo '<li class="fg-pile-item">';
|
33 |
-
$args['link_attributes']['class'] = apply_filters( 'foogallery_album_stack_link_class_name', 'fg-pile-item-thumb' );
|
34 |
-
|
35 |
-
$anchor_html = foogallery_attachment_html_anchor_opening( $attachment, $args );
|
36 |
-
$anchor_html = str_replace( 'fg-thumb', '', $anchor_html );
|
37 |
-
echo $anchor_html;
|
38 |
-
|
39 |
-
$image_html = foogallery_attachment_html_image( $attachment, $args );
|
40 |
-
$image_html = str_replace( 'fg-image', 'fg-pile-item-image', $image_html );
|
41 |
-
echo $image_html;
|
42 |
-
|
43 |
-
$captions = foogallery_build_attachment_html_caption( $attachment, $args );
|
44 |
-
if ( $captions !== false ) {
|
45 |
-
echo '<span class="fg-pile-item-caption">';
|
46 |
-
if ( array_key_exists( 'title', $captions ) ) {
|
47 |
-
echo '<span class="fg-pile-item-title">' . $captions['title'] . '</span>';
|
48 |
-
}
|
49 |
-
if ( array_key_exists( 'desc', $captions ) ) {
|
50 |
-
echo '<span class="fg-pile-item-desc">' . $captions['desc'] . '</span>';
|
51 |
-
}
|
52 |
-
echo '</span>';
|
53 |
-
}
|
54 |
-
|
55 |
-
echo '</a>';
|
56 |
-
echo '</li>';
|
57 |
-
}
|
58 |
-
}
|
59 |
-
?>
|
60 |
-
<div id="foogallery-album-<?php echo $current_foogallery_album->ID; ?>" class="foogallery-container foogallery-stack-album" data-foogallery="<?php echo esc_attr( $data_options ); ?>">
|
61 |
-
<div class="fg-header">
|
62 |
-
<h2 class="fg-header-title"><?php echo $current_foogallery_album->name; ?></h2>
|
63 |
-
<span class="fg-header-back">←</span>
|
64 |
-
<h3 class="fg-header-active"></h3>
|
65 |
-
</div>
|
66 |
-
<div class="fg-piles">
|
67 |
-
<?php
|
68 |
-
foreach ( $current_foogallery_album->galleries() as $gallery ) {
|
69 |
-
?><ul class="fg-pile <?php echo $lightbox; ?>" data-title="<?php echo esc_attr( $gallery->name ); ?>"><?php
|
70 |
-
$current_foogallery = $gallery;
|
71 |
-
$featured_attachment = $gallery->featured_attachment();
|
72 |
-
//render the featured attachment first
|
73 |
-
foogallery_album_all_in_one_stack_render_gallery_attachment2( $gallery, $featured_attachment, $args, $lightbox );
|
74 |
-
|
75 |
-
foreach ( $gallery->attachments() as $attachment ) {
|
76 |
-
if ( $featured_attachment->ID !== $attachment->ID ) {
|
77 |
-
//render all but the featured attachment
|
78 |
-
foogallery_album_all_in_one_stack_render_gallery_attachment2( $gallery, $attachment, $args, $lightbox );
|
79 |
-
}
|
80 |
-
}
|
81 |
-
?></ul><?php
|
82 |
-
}
|
83 |
-
?>
|
84 |
-
</div>
|
85 |
-
</div>
|
86 |
-
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery All-In-One Stack Album template
|
4 |
+
*/
|
5 |
+
global $current_foogallery_album;
|
6 |
+
global $current_foogallery_album_arguments;
|
7 |
+
global $current_foogallery;
|
8 |
+
|
9 |
+
|
10 |
+
$args = foogallery_album_template_setting( 'thumbnail_dimensions', array() );
|
11 |
+
$args['crop'] = true;
|
12 |
+
$lightbox = foogallery_album_template_setting( 'lightbox', 'unknown' );
|
13 |
+
if ( $lightbox === 'foogallery' ) {
|
14 |
+
$lightbox = 'unknown';
|
15 |
+
}
|
16 |
+
$random_angle = foogallery_album_template_setting( 'random_angle', 'false' );
|
17 |
+
$gutter = foogallery_album_template_setting( 'gutter', '40' );
|
18 |
+
$pile_angles = foogallery_album_template_setting( 'pile_angles', '2' );
|
19 |
+
|
20 |
+
$data_options = array(
|
21 |
+
'itemWidth' => intval( $args['width'] ),
|
22 |
+
'itemHeight' => intval( $args['height'] ),
|
23 |
+
'gutter' => intval( $gutter ),
|
24 |
+
'angleStep' => intval( $pile_angles ),
|
25 |
+
'randomAngle' => 'true' === $random_angle
|
26 |
+
);
|
27 |
+
|
28 |
+
$data_options = foogallery_json_encode( $data_options );
|
29 |
+
|
30 |
+
if ( !function_exists( 'foogallery_album_all_in_one_stack_render_gallery_attachment2' ) ) {
|
31 |
+
function foogallery_album_all_in_one_stack_render_gallery_attachment2( $gallery, $attachment, $args ) {
|
32 |
+
echo '<li class="fg-pile-item">';
|
33 |
+
$args['link_attributes']['class'] = apply_filters( 'foogallery_album_stack_link_class_name', 'fg-pile-item-thumb' );
|
34 |
+
|
35 |
+
$anchor_html = foogallery_attachment_html_anchor_opening( $attachment, $args );
|
36 |
+
$anchor_html = str_replace( 'fg-thumb', '', $anchor_html );
|
37 |
+
echo $anchor_html;
|
38 |
+
|
39 |
+
$image_html = foogallery_attachment_html_image( $attachment, $args );
|
40 |
+
$image_html = str_replace( 'fg-image', 'fg-pile-item-image', $image_html );
|
41 |
+
echo $image_html;
|
42 |
+
|
43 |
+
$captions = foogallery_build_attachment_html_caption( $attachment, $args );
|
44 |
+
if ( $captions !== false ) {
|
45 |
+
echo '<span class="fg-pile-item-caption">';
|
46 |
+
if ( array_key_exists( 'title', $captions ) ) {
|
47 |
+
echo '<span class="fg-pile-item-title">' . $captions['title'] . '</span>';
|
48 |
+
}
|
49 |
+
if ( array_key_exists( 'desc', $captions ) ) {
|
50 |
+
echo '<span class="fg-pile-item-desc">' . $captions['desc'] . '</span>';
|
51 |
+
}
|
52 |
+
echo '</span>';
|
53 |
+
}
|
54 |
+
|
55 |
+
echo '</a>';
|
56 |
+
echo '</li>';
|
57 |
+
}
|
58 |
+
}
|
59 |
+
?>
|
60 |
+
<div id="foogallery-album-<?php echo $current_foogallery_album->ID; ?>" class="foogallery-container foogallery-stack-album" data-foogallery="<?php echo esc_attr( $data_options ); ?>">
|
61 |
+
<div class="fg-header">
|
62 |
+
<h2 class="fg-header-title"><?php echo $current_foogallery_album->name; ?></h2>
|
63 |
+
<span class="fg-header-back">←</span>
|
64 |
+
<h3 class="fg-header-active"></h3>
|
65 |
+
</div>
|
66 |
+
<div class="fg-piles">
|
67 |
+
<?php
|
68 |
+
foreach ( $current_foogallery_album->galleries() as $gallery ) {
|
69 |
+
?><ul class="fg-pile <?php echo $lightbox; ?>" data-title="<?php echo esc_attr( $gallery->name ); ?>"><?php
|
70 |
+
$current_foogallery = $gallery;
|
71 |
+
$featured_attachment = $gallery->featured_attachment();
|
72 |
+
//render the featured attachment first
|
73 |
+
foogallery_album_all_in_one_stack_render_gallery_attachment2( $gallery, $featured_attachment, $args, $lightbox );
|
74 |
+
|
75 |
+
foreach ( $gallery->attachments() as $attachment ) {
|
76 |
+
if ( $featured_attachment->ID !== $attachment->ID ) {
|
77 |
+
//render all but the featured attachment
|
78 |
+
foogallery_album_all_in_one_stack_render_gallery_attachment2( $gallery, $attachment, $args, $lightbox );
|
79 |
+
}
|
80 |
+
}
|
81 |
+
?></ul><?php
|
82 |
+
}
|
83 |
+
?>
|
84 |
+
</div>
|
85 |
+
</div>
|
86 |
+
|
extensions/albums/class-albums-extension.php
CHANGED
@@ -1,175 +1,175 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! class_exists( 'FooGallery_Albums_Extension' ) ) {
|
3 |
-
|
4 |
-
define( 'FOOGALLERY_ALBUM_PATH', plugin_dir_path( __FILE__ ) );
|
5 |
-
define( 'FOOGALLERY_ALBUM_URL', plugin_dir_url( __FILE__ ) );
|
6 |
-
define( 'FOOGALLERY_CPT_ALBUM', 'foogallery-album' );
|
7 |
-
define( 'FOOGALLERY_ALBUM_META_GALLERIES', 'foogallery_album_galleries' );
|
8 |
-
define( 'FOOGALLERY_ALBUM_META_TEMPLATE', 'foogallery_album_template' );
|
9 |
-
define( 'FOOGALLERY_ALBUM_META_SORT', 'foogallery_album_sort' );
|
10 |
-
|
11 |
-
class FooGallery_Albums_Extension {
|
12 |
-
|
13 |
-
function __construct() {
|
14 |
-
$this->includes();
|
15 |
-
|
16 |
-
new FooGallery_Album_Rewrite_Rules();
|
17 |
-
new FooGallery_Albums_PostTypes();
|
18 |
-
new FooGallery_Album_Shortcodes();
|
19 |
-
|
20 |
-
if ( is_admin() ) {
|
21 |
-
new FooGallery_Albums_Admin_Columns();
|
22 |
-
new FooGallery_Admin_Album_MetaBoxes();
|
23 |
-
|
24 |
-
//add some global settings for albums
|
25 |
-
add_filter( 'foogallery_admin_settings_override', array($this, 'add_album_settings' ) );
|
26 |
-
|
27 |
-
add_action( 'foogallery_uninstall', array($this, 'uninstall' ) );
|
28 |
-
}
|
29 |
-
add_filter( 'foogallery_album_templates_files', array( $this, 'register_myself' ) );
|
30 |
-
add_filter( 'foogallery_defaults', array( $this, 'apply_album_defaults' ) );
|
31 |
-
add_action( 'foogallery_extension_activated-albums', array( $this, 'flush_rewrite_rules' ) );
|
32 |
-
add_filter( 'foogallery_albums_supports_video-stack', '__return_true' );
|
33 |
-
|
34 |
-
add_filter( 'fooboxshare_use_permalink', array( $this, 'check_for_albums_for_fooboxshare' ) );
|
35 |
-
|
36 |
-
add_action( 'foogallery_located_album_template-stack', array( $this, 'load_stack_assets' ) );
|
37 |
-
|
38 |
-
add_filter( 'foogallery_album_default_gallery_content', array( $this, 'render_gallery_description' ), 10, 2 );
|
39 |
-
|
40 |
-
add_filter( 'foogallery_gallery_posttype_register_args', array( $this, 'override_gallery_posttype_register_args' ) );
|
41 |
-
|
42 |
-
add_filter( 'foogallery_allowed_post_types_for_attachment', array( $this, 'allow_albums' ) );
|
43 |
-
}
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Add the album post type to the allowed list of post types that galleries can be attached to.
|
47 |
-
* This will then show albums in the Usage column for the galleries
|
48 |
-
*
|
49 |
-
* @param array $allowed The allowed list of post types.
|
50 |
-
*
|
51 |
-
* @return array
|
52 |
-
*/
|
53 |
-
public function allow_albums( $allowed ) {
|
54 |
-
$allowed[] = FOOGALLERY_CPT_ALBUM;
|
55 |
-
return $allowed;
|
56 |
-
}
|
57 |
-
|
58 |
-
/**
|
59 |
-
* Overrides the gallery posttype register args
|
60 |
-
*
|
61 |
-
* @param array $args The arguments.
|
62 |
-
*
|
63 |
-
* @return array
|
64 |
-
*/
|
65 |
-
public function override_gallery_posttype_register_args( $args ) {
|
66 |
-
if ( 'on' === foogallery_get_setting( 'enable_gallery_descriptions' ) ) {
|
67 |
-
$args['supports'][] = 'editor';
|
68 |
-
}
|
69 |
-
return $args;
|
70 |
-
}
|
71 |
-
|
72 |
-
/**
|
73 |
-
* Render the gallery description
|
74 |
-
*
|
75 |
-
* @param string $content The default content to be rendered.
|
76 |
-
* @param FooGallery $foogallery The gallery we are showing.
|
77 |
-
*
|
78 |
-
* @return string
|
79 |
-
*/
|
80 |
-
public function render_gallery_description( $content, $foogallery ) {
|
81 |
-
if ( 'on' === foogallery_get_setting( 'enable_gallery_descriptions' ) ) {
|
82 |
-
if ( isset( $foogallery->_post ) && ! empty( $foogallery->_post->post_content ) ) {
|
83 |
-
$content = apply_filters( 'the_content', $foogallery->_post->post_content );
|
84 |
-
}
|
85 |
-
}
|
86 |
-
|
87 |
-
return $content;
|
88 |
-
}
|
89 |
-
|
90 |
-
function load_stack_assets( $current_foogallery_album ) {
|
91 |
-
foogallery_enqueue_core_gallery_template_script();
|
92 |
-
foogallery_enqueue_core_gallery_template_style();
|
93 |
-
}
|
94 |
-
|
95 |
-
function check_for_albums_for_fooboxshare( $default ) {
|
96 |
-
|
97 |
-
$album_gallery = foogallery_album_get_current_gallery();
|
98 |
-
|
99 |
-
if ( !empty( $album_gallery) ) {
|
100 |
-
return false;
|
101 |
-
}
|
102 |
-
|
103 |
-
return $default;
|
104 |
-
}
|
105 |
-
|
106 |
-
function includes() {
|
107 |
-
require_once FOOGALLERY_ALBUM_PATH . 'functions.php';
|
108 |
-
require_once FOOGALLERY_ALBUM_PATH . 'class-posttypes.php';
|
109 |
-
require_once FOOGALLERY_ALBUM_PATH . 'class-foogallery-album.php';
|
110 |
-
require_once FOOGALLERY_ALBUM_PATH . 'public/class-rewrite-rules.php';
|
111 |
-
require_once FOOGALLERY_ALBUM_PATH . 'public/class-shortcodes.php';
|
112 |
-
require_once FOOGALLERY_ALBUM_PATH . 'public/class-foogallery-album-template-loader.php';
|
113 |
-
|
114 |
-
if ( is_admin() ) {
|
115 |
-
// only admin.
|
116 |
-
require_once FOOGALLERY_ALBUM_PATH . 'admin/class-metaboxes.php';
|
117 |
-
require_once FOOGALLERY_ALBUM_PATH . 'admin/class-columns.php';
|
118 |
-
}
|
119 |
-
}
|
120 |
-
|
121 |
-
function apply_album_defaults( $defaults ) {
|
122 |
-
$defaults['album_template'] = 'default';
|
123 |
-
|
124 |
-
return $defaults;
|
125 |
-
}
|
126 |
-
|
127 |
-
function register_myself( $extensions ) {
|
128 |
-
$extensions[] = __FILE__;
|
129 |
-
return $extensions;
|
130 |
-
}
|
131 |
-
|
132 |
-
function flush_rewrite_rules() {
|
133 |
-
$rewrite = new FooGallery_Album_Rewrite_Rules();
|
134 |
-
$rewrite->add_gallery_endpoint();
|
135 |
-
|
136 |
-
flush_rewrite_rules();
|
137 |
-
}
|
138 |
-
|
139 |
-
function add_album_settings( $settings ) {
|
140 |
-
|
141 |
-
$settings['tabs']['albums'] = __( 'Albums', 'foogallery' );
|
142 |
-
|
143 |
-
$settings['settings'][] = array(
|
144 |
-
'id' => 'album_gallery_slug',
|
145 |
-
'title' => __( 'Gallery Slug', 'foogallery' ),
|
146 |
-
'type' => 'text',
|
147 |
-
'default' => 'gallery',
|
148 |
-
'desc' => __( 'The slug that is used when generating gallery URL\'s for albums. PLEASE NOTE : if you change this value, you might need to save your Permalinks again.', 'foogallery' ),
|
149 |
-
'tab' => 'albums',
|
150 |
-
);
|
151 |
-
|
152 |
-
$settings['settings'][] = array(
|
153 |
-
'id' => 'language_back_to_album_text',
|
154 |
-
'title' => __( 'Back To Album Text', 'foogallery' ),
|
155 |
-
'type' => 'text',
|
156 |
-
'default' => __( '« back to album', 'foogallery' ),
|
157 |
-
'tab' => 'albums',
|
158 |
-
);
|
159 |
-
|
160 |
-
$settings['settings'][] = array(
|
161 |
-
'id' => 'enable_gallery_descriptions',
|
162 |
-
'title' => __( 'Enable Gallery Descriptions', 'foogallery' ),
|
163 |
-
'desc' => __( 'Enable descriptions for galleries. These descriptions will be displayed under the gallery title within the Responsive Album Layout.', 'foogallery' ),
|
164 |
-
'type' => 'checkbox',
|
165 |
-
'tab' => 'albums',
|
166 |
-
);
|
167 |
-
|
168 |
-
return $settings;
|
169 |
-
}
|
170 |
-
|
171 |
-
function uninstall() {
|
172 |
-
foogallery_album_uninstall();
|
173 |
-
}
|
174 |
-
}
|
175 |
-
}
|
1 |
+
<?php
|
2 |
+
if ( ! class_exists( 'FooGallery_Albums_Extension' ) ) {
|
3 |
+
|
4 |
+
define( 'FOOGALLERY_ALBUM_PATH', plugin_dir_path( __FILE__ ) );
|
5 |
+
define( 'FOOGALLERY_ALBUM_URL', plugin_dir_url( __FILE__ ) );
|
6 |
+
define( 'FOOGALLERY_CPT_ALBUM', 'foogallery-album' );
|
7 |
+
define( 'FOOGALLERY_ALBUM_META_GALLERIES', 'foogallery_album_galleries' );
|
8 |
+
define( 'FOOGALLERY_ALBUM_META_TEMPLATE', 'foogallery_album_template' );
|
9 |
+
define( 'FOOGALLERY_ALBUM_META_SORT', 'foogallery_album_sort' );
|
10 |
+
|
11 |
+
class FooGallery_Albums_Extension {
|
12 |
+
|
13 |
+
function __construct() {
|
14 |
+
$this->includes();
|
15 |
+
|
16 |
+
new FooGallery_Album_Rewrite_Rules();
|
17 |
+
new FooGallery_Albums_PostTypes();
|
18 |
+
new FooGallery_Album_Shortcodes();
|
19 |
+
|
20 |
+
if ( is_admin() ) {
|
21 |
+
new FooGallery_Albums_Admin_Columns();
|
22 |
+
new FooGallery_Admin_Album_MetaBoxes();
|
23 |
+
|
24 |
+
//add some global settings for albums
|
25 |
+
add_filter( 'foogallery_admin_settings_override', array($this, 'add_album_settings' ) );
|
26 |
+
|
27 |
+
add_action( 'foogallery_uninstall', array($this, 'uninstall' ) );
|
28 |
+
}
|
29 |
+
add_filter( 'foogallery_album_templates_files', array( $this, 'register_myself' ) );
|
30 |
+
add_filter( 'foogallery_defaults', array( $this, 'apply_album_defaults' ) );
|
31 |
+
add_action( 'foogallery_extension_activated-albums', array( $this, 'flush_rewrite_rules' ) );
|
32 |
+
add_filter( 'foogallery_albums_supports_video-stack', '__return_true' );
|
33 |
+
|
34 |
+
add_filter( 'fooboxshare_use_permalink', array( $this, 'check_for_albums_for_fooboxshare' ) );
|
35 |
+
|
36 |
+
add_action( 'foogallery_located_album_template-stack', array( $this, 'load_stack_assets' ) );
|
37 |
+
|
38 |
+
add_filter( 'foogallery_album_default_gallery_content', array( $this, 'render_gallery_description' ), 10, 2 );
|
39 |
+
|
40 |
+
add_filter( 'foogallery_gallery_posttype_register_args', array( $this, 'override_gallery_posttype_register_args' ) );
|
41 |
+
|
42 |
+
add_filter( 'foogallery_allowed_post_types_for_attachment', array( $this, 'allow_albums' ) );
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Add the album post type to the allowed list of post types that galleries can be attached to.
|
47 |
+
* This will then show albums in the Usage column for the galleries
|
48 |
+
*
|
49 |
+
* @param array $allowed The allowed list of post types.
|
50 |
+
*
|
51 |
+
* @return array
|
52 |
+
*/
|
53 |
+
public function allow_albums( $allowed ) {
|
54 |
+
$allowed[] = FOOGALLERY_CPT_ALBUM;
|
55 |
+
return $allowed;
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Overrides the gallery posttype register args
|
60 |
+
*
|
61 |
+
* @param array $args The arguments.
|
62 |
+
*
|
63 |
+
* @return array
|
64 |
+
*/
|
65 |
+
public function override_gallery_posttype_register_args( $args ) {
|
66 |
+
if ( 'on' === foogallery_get_setting( 'enable_gallery_descriptions' ) ) {
|
67 |
+
$args['supports'][] = 'editor';
|
68 |
+
}
|
69 |
+
return $args;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Render the gallery description
|
74 |
+
*
|
75 |
+
* @param string $content The default content to be rendered.
|
76 |
+
* @param FooGallery $foogallery The gallery we are showing.
|
77 |
+
*
|
78 |
+
* @return string
|
79 |
+
*/
|
80 |
+
public function render_gallery_description( $content, $foogallery ) {
|
81 |
+
if ( 'on' === foogallery_get_setting( 'enable_gallery_descriptions' ) ) {
|
82 |
+
if ( isset( $foogallery->_post ) && ! empty( $foogallery->_post->post_content ) ) {
|
83 |
+
$content = apply_filters( 'the_content', $foogallery->_post->post_content );
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
return $content;
|
88 |
+
}
|
89 |
+
|
90 |
+
function load_stack_assets( $current_foogallery_album ) {
|
91 |
+
foogallery_enqueue_core_gallery_template_script();
|
92 |
+
foogallery_enqueue_core_gallery_template_style();
|
93 |
+
}
|
94 |
+
|
95 |
+
function check_for_albums_for_fooboxshare( $default ) {
|
96 |
+
|
97 |
+
$album_gallery = foogallery_album_get_current_gallery();
|
98 |
+
|
99 |
+
if ( !empty( $album_gallery) ) {
|
100 |
+
return false;
|
101 |
+
}
|
102 |
+
|
103 |
+
return $default;
|
104 |
+
}
|
105 |
+
|
106 |
+
function includes() {
|
107 |
+
require_once FOOGALLERY_ALBUM_PATH . 'functions.php';
|
108 |
+
require_once FOOGALLERY_ALBUM_PATH . 'class-posttypes.php';
|
109 |
+
require_once FOOGALLERY_ALBUM_PATH . 'class-foogallery-album.php';
|
110 |
+
require_once FOOGALLERY_ALBUM_PATH . 'public/class-rewrite-rules.php';
|
111 |
+
require_once FOOGALLERY_ALBUM_PATH . 'public/class-shortcodes.php';
|
112 |
+
require_once FOOGALLERY_ALBUM_PATH . 'public/class-foogallery-album-template-loader.php';
|
113 |
+
|
114 |
+
if ( is_admin() ) {
|
115 |
+
// only admin.
|
116 |
+
require_once FOOGALLERY_ALBUM_PATH . 'admin/class-metaboxes.php';
|
117 |
+
require_once FOOGALLERY_ALBUM_PATH . 'admin/class-columns.php';
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
function apply_album_defaults( $defaults ) {
|
122 |
+
$defaults['album_template'] = 'default';
|
123 |
+
|
124 |
+
return $defaults;
|
125 |
+
}
|
126 |
+
|
127 |
+
function register_myself( $extensions ) {
|
128 |
+
$extensions[] = __FILE__;
|
129 |
+
return $extensions;
|
130 |
+
}
|
131 |
+
|
132 |
+
function flush_rewrite_rules() {
|
133 |
+
$rewrite = new FooGallery_Album_Rewrite_Rules();
|
134 |
+
$rewrite->add_gallery_endpoint();
|
135 |
+
|
136 |
+
flush_rewrite_rules();
|
137 |
+
}
|
138 |
+
|
139 |
+
function add_album_settings( $settings ) {
|
140 |
+
|
141 |
+
$settings['tabs']['albums'] = __( 'Albums', 'foogallery' );
|
142 |
+
|
143 |
+
$settings['settings'][] = array(
|
144 |
+
'id' => 'album_gallery_slug',
|
145 |
+
'title' => __( 'Gallery Slug', 'foogallery' ),
|
146 |
+
'type' => 'text',
|
147 |
+
'default' => 'gallery',
|
148 |
+
'desc' => __( 'The slug that is used when generating gallery URL\'s for albums. PLEASE NOTE : if you change this value, you might need to save your Permalinks again.', 'foogallery' ),
|
149 |
+
'tab' => 'albums',
|
150 |
+
);
|
151 |
+
|
152 |
+
$settings['settings'][] = array(
|
153 |
+
'id' => 'language_back_to_album_text',
|
154 |
+
'title' => __( 'Back To Album Text', 'foogallery' ),
|
155 |
+
'type' => 'text',
|
156 |
+
'default' => __( '« back to album', 'foogallery' ),
|
157 |
+
'tab' => 'albums',
|
158 |
+
);
|
159 |
+
|
160 |
+
$settings['settings'][] = array(
|
161 |
+
'id' => 'enable_gallery_descriptions',
|
162 |
+
'title' => __( 'Enable Gallery Descriptions', 'foogallery' ),
|
163 |
+
'desc' => __( 'Enable descriptions for galleries. These descriptions will be displayed under the gallery title within the Responsive Album Layout.', 'foogallery' ),
|
164 |
+
'type' => 'checkbox',
|
165 |
+
'tab' => 'albums',
|
166 |
+
);
|
167 |
+
|
168 |
+
return $settings;
|
169 |
+
}
|
170 |
+
|
171 |
+
function uninstall() {
|
172 |
+
foogallery_album_uninstall();
|
173 |
+
}
|
174 |
+
}
|
175 |
+
}
|
extensions/albums/class-foogallery-album.php
CHANGED
@@ -1,256 +1,256 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Class FooGalleryAlbum
|
5 |
-
*
|
6 |
-
* An easy to use wrapper class for a FooGallery Album post
|
7 |
-
*/
|
8 |
-
class FooGalleryAlbum extends stdClass {
|
9 |
-
|
10 |
-
/**
|
11 |
-
* private constructor
|
12 |
-
*
|
13 |
-
* @param null $post
|
14 |
-
*/
|
15 |
-
private function __construct( $post = null ) {
|
16 |
-
$this->set_defaults();
|
17 |
-
|
18 |
-
if ( $post !== null ) {
|
19 |
-
$this->load( $post );
|
20 |
-
}
|
21 |
-
}
|
22 |
-
|
23 |
-
/**
|
24 |
-
* Sets the default when a new album is instantiated
|
25 |
-
*/
|
26 |
-
private function set_defaults() {
|
27 |
-
$this->_post = null;
|
28 |
-
$this->ID = 0;
|
29 |
-
$this->gallery_ids = array();
|
30 |
-
$this->_galleries = false;
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* private gallery load function
|
35 |
-
* @param $post
|
36 |
-
*/
|
37 |
-
private function load( $post ) {
|
38 |
-
$this->_post = $post;
|
39 |
-
$this->ID = $post->ID;
|
40 |
-
$this->slug = $post->post_name;
|
41 |
-
$this->name = $post->post_title;
|
42 |
-
$this->author = $post->post_author;
|
43 |
-
$this->post_status = $post->post_status;
|
44 |
-
$album_meta = get_post_meta( $this->ID, FOOGALLERY_ALBUM_META_GALLERIES, true );
|
45 |
-
$this->gallery_ids = is_array( $album_meta ) ? array_filter( $album_meta ) : array();
|
46 |
-
$this->album_template = get_post_meta( $post->ID, FOOGALLERY_ALBUM_META_TEMPLATE, true );
|
47 |
-
$this->settings = get_post_meta( $post->ID, FOOGALLERY_META_SETTINGS_OLD, true );
|
48 |
-
$this->custom_css = get_post_meta( $post->ID, FOOGALLERY_META_CUSTOM_CSS, true );
|
49 |
-
$this->sorting = get_post_meta( $post->ID, FOOGALLERY_ALBUM_META_SORT, true );
|
50 |
-
do_action( 'foogallery_foogallery-album_instance_after_load', $this, $post );
|
51 |
-
}
|
52 |
-
|
53 |
-
/**
|
54 |
-
* private function to load a album by an id
|
55 |
-
* @param $post_id
|
56 |
-
*/
|
57 |
-
private function load_by_id( $post_id ) {
|
58 |
-
$post = get_post( $post_id );
|
59 |
-
if ( $post ) {
|
60 |
-
$this->load( $post );
|
61 |
-
}
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* private function to load a album by the slug.
|
66 |
-
* Will be used when loading album shortcodes
|
67 |
-
* @param $slug
|
68 |
-
*/
|
69 |
-
private function load_by_slug( $slug ) {
|
70 |
-
if ( ! empty( $slug ) ) {
|
71 |
-
$args = array(
|
72 |
-
'name' => $slug,
|
73 |
-
'numberposts' => 1,
|
74 |
-
'post_type' => FOOGALLERY_CPT_ALBUM,
|
75 |
-
);
|
76 |
-
|
77 |
-
$albums = get_posts( $args );
|
78 |
-
|
79 |
-
if ( $albums ) {
|
80 |
-
$this->load( $albums[0] );
|
81 |
-
}
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
85 |
-
/**
|
86 |
-
* Static function to load a Album instance by passing in a post object
|
87 |
-
* @static
|
88 |
-
*
|
89 |
-
* @param $post
|
90 |
-
*
|
91 |
-
* @return FooGalleryAlbum
|
92 |
-
*/
|
93 |
-
public static function get( $post ) {
|
94 |
-
return new self( $post );
|
95 |
-
}
|
96 |
-
|
97 |
-
/**
|
98 |
-
* Static function to load an Album instance by post id
|
99 |
-
*
|
100 |
-
* @param $post_id
|
101 |
-
*
|
102 |
-
* @return FooGalleryAlbum
|
103 |
-
*/
|
104 |
-
public static function get_by_id( $post_id ) {
|
105 |
-
$album = new self();
|
106 |
-
$album->load_by_id( $post_id );
|
107 |
-
if ( ! $album->does_exist() ) {
|
108 |
-
return false;
|
109 |
-
}
|
110 |
-
return $album;
|
111 |
-
}
|
112 |
-
|
113 |
-
/**
|
114 |
-
* Static function to load a album instance by passing in a album slug
|
115 |
-
*
|
116 |
-
* @param string $slug
|
117 |
-
*
|
118 |
-
* @return FooGalleryAlbum
|
119 |
-
*/
|
120 |
-
public static function get_by_slug( $slug ) {
|
121 |
-
$album = new self();
|
122 |
-
$album->load_by_slug( $slug );
|
123 |
-
if ( ! $album->does_exist() ) {
|
124 |
-
return false;
|
125 |
-
}
|
126 |
-
return $album;
|
127 |
-
}
|
128 |
-
|
129 |
-
/**
|
130 |
-
* Checks if the album has galleries
|
131 |
-
* @return bool
|
132 |
-
*/
|
133 |
-
public function has_galleries() {
|
134 |
-
return sizeof( $this->gallery_ids ) > 0;
|
135 |
-
}
|
136 |
-
|
137 |
-
/**
|
138 |
-
* Checks if the album exists
|
139 |
-
* @return bool
|
140 |
-
*/
|
141 |
-
public function does_exist() {
|
142 |
-
return $this->ID > 0;
|
143 |
-
}
|
144 |
-
|
145 |
-
/**
|
146 |
-
* Returns true if the album is published
|
147 |
-
* @return bool
|
148 |
-
*/
|
149 |
-
public function is_published() {
|
150 |
-
return $this->post_status === 'publish';
|
151 |
-
}
|
152 |
-
|
153 |
-
/**
|
154 |
-
* Get a comma separated list of gallery ids
|
155 |
-
* @return string
|
156 |
-
*/
|
157 |
-
public function gallery_id_csv() {
|
158 |
-
if ( is_array( $this->gallery_ids ) ) {
|
159 |
-
return implode( ',', $this->gallery_ids );
|
160 |
-
}
|
161 |
-
|
162 |
-
return '';
|
163 |
-
}
|
164 |
-
|
165 |
-
/**
|
166 |
-
* Lazy load the attachments for the gallery
|
167 |
-
*
|
168 |
-
* @return array
|
169 |
-
*/
|
170 |
-
public function galleries() {
|
171 |
-
//lazy load the attachments for performance
|
172 |
-
if ( $this->_galleries === false ) {
|
173 |
-
$this->_galleries = array();
|
174 |
-
|
175 |
-
if ( ! empty( $this->gallery_ids ) ) {
|
176 |
-
|
177 |
-
$gallery_query_args = apply_filters( 'foogallery_album_gallery_get_posts_args', array(
|
178 |
-
'post_type' => FOOGALLERY_CPT_GALLERY,
|
179 |
-
'posts_per_page' => -1,
|
180 |
-
'post__in' => $this->gallery_ids,
|
181 |
-
'orderby' => foogallery_sorting_get_posts_orderby_arg( $this->sorting ),
|
182 |
-
'order' => foogallery_sorting_get_posts_order_arg( $this->sorting )
|
183 |
-
) );
|
184 |
-
|
185 |
-
$galleries = get_posts( $gallery_query_args );
|
186 |
-
|
187 |
-
$this->_galleries = array_map( array( 'FooGallery', 'get' ), $galleries );
|
188 |
-
}
|
189 |
-
}
|
190 |
-
|
191 |
-
return $this->_galleries;
|
192 |
-
}
|
193 |
-
|
194 |
-
function includes_gallery( $gallery_id ) {
|
195 |
-
if ( $this->has_galleries() ) {
|
196 |
-
return in_array( $gallery_id, $this->gallery_ids );
|
197 |
-
}
|
198 |
-
return false;
|
199 |
-
}
|
200 |
-
|
201 |
-
public function gallery_count() {
|
202 |
-
$count = sizeof( $this->gallery_ids );
|
203 |
-
switch ( $count ) {
|
204 |
-
case 0:
|
205 |
-
return __( 'No galleries', 'foogallery' );
|
206 |
-
case 1:
|
207 |
-
return __( '1 gallery', 'foogallery' );
|
208 |
-
default:
|
209 |
-
return sprintf( __( '%s galleries', 'foogallery' ), $count );
|
210 |
-
}
|
211 |
-
}
|
212 |
-
|
213 |
-
/**
|
214 |
-
* Output the shortcode for the gallery
|
215 |
-
*
|
216 |
-
* @return string
|
217 |
-
*/
|
218 |
-
public function shortcode() {
|
219 |
-
return foogallery_build_album_shortcode( $this->ID );
|
220 |
-
}
|
221 |
-
|
222 |
-
function get_meta( $key, $default ) {
|
223 |
-
if ( ! is_array( $this->settings ) ) {
|
224 |
-
return $default;
|
225 |
-
}
|
226 |
-
|
227 |
-
$value = array_key_exists( $key, $this->settings ) ? $this->settings[ $key ] : null;
|
228 |
-
|
229 |
-
if ( $value === null ) {
|
230 |
-
return $default;
|
231 |
-
}
|
232 |
-
|
233 |
-
return $value;
|
234 |
-
}
|
235 |
-
|
236 |
-
function is_checked( $key, $default = false ) {
|
237 |
-
if ( ! is_array( $this->settings ) ) {
|
238 |
-
return $default;
|
239 |
-
}
|
240 |
-
|
241 |
-
return array_key_exists( $key, $this->settings );
|
242 |
-
}
|
243 |
-
|
244 |
-
public function album_template_details() {
|
245 |
-
if ( ! empty( $this->album_template ) ) {
|
246 |
-
|
247 |
-
foreach ( foogallery_album_templates() as $template ) {
|
248 |
-
if ( $this->album_template == $template['slug'] ) {
|
249 |
-
return $template;
|
250 |
-
}
|
251 |
-
}
|
252 |
-
}
|
253 |
-
|
254 |
-
return false;
|
255 |
-
}
|
256 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class FooGalleryAlbum
|
5 |
+
*
|
6 |
+
* An easy to use wrapper class for a FooGallery Album post
|
7 |
+
*/
|
8 |
+
class FooGalleryAlbum extends stdClass {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* private constructor
|
12 |
+
*
|
13 |
+
* @param null $post
|
14 |
+
*/
|
15 |
+
private function __construct( $post = null ) {
|
16 |
+
$this->set_defaults();
|
17 |
+
|
18 |
+
if ( $post !== null ) {
|
19 |
+
$this->load( $post );
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Sets the default when a new album is instantiated
|
25 |
+
*/
|
26 |
+
private function set_defaults() {
|
27 |
+
$this->_post = null;
|
28 |
+
$this->ID = 0;
|
29 |
+
$this->gallery_ids = array();
|
30 |
+
$this->_galleries = false;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* private gallery load function
|
35 |
+
* @param $post
|
36 |
+
*/
|
37 |
+
private function load( $post ) {
|
38 |
+
$this->_post = $post;
|
39 |
+
$this->ID = $post->ID;
|
40 |
+
$this->slug = $post->post_name;
|
41 |
+
$this->name = $post->post_title;
|
42 |
+
$this->author = $post->post_author;
|
43 |
+
$this->post_status = $post->post_status;
|
44 |
+
$album_meta = get_post_meta( $this->ID, FOOGALLERY_ALBUM_META_GALLERIES, true );
|
45 |
+
$this->gallery_ids = is_array( $album_meta ) ? array_filter( $album_meta ) : array();
|
46 |
+
$this->album_template = get_post_meta( $post->ID, FOOGALLERY_ALBUM_META_TEMPLATE, true );
|
47 |
+
$this->settings = get_post_meta( $post->ID, FOOGALLERY_META_SETTINGS_OLD, true );
|
48 |
+
$this->custom_css = get_post_meta( $post->ID, FOOGALLERY_META_CUSTOM_CSS, true );
|
49 |
+
$this->sorting = get_post_meta( $post->ID, FOOGALLERY_ALBUM_META_SORT, true );
|
50 |
+
do_action( 'foogallery_foogallery-album_instance_after_load', $this, $post );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* private function to load a album by an id
|
55 |
+
* @param $post_id
|
56 |
+
*/
|
57 |
+
private function load_by_id( $post_id ) {
|
58 |
+
$post = get_post( $post_id );
|
59 |
+
if ( $post ) {
|
60 |
+
$this->load( $post );
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* private function to load a album by the slug.
|
66 |
+
* Will be used when loading album shortcodes
|
67 |
+
* @param $slug
|
68 |
+
*/
|
69 |
+
private function load_by_slug( $slug ) {
|
70 |
+
if ( ! empty( $slug ) ) {
|
71 |
+
$args = array(
|
72 |
+
'name' => $slug,
|
73 |
+
'numberposts' => 1,
|
74 |
+
'post_type' => FOOGALLERY_CPT_ALBUM,
|
75 |
+
);
|
76 |
+
|
77 |
+
$albums = get_posts( $args );
|
78 |
+
|
79 |
+
if ( $albums ) {
|
80 |
+
$this->load( $albums[0] );
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Static function to load a Album instance by passing in a post object
|
87 |
+
* @static
|
88 |
+
*
|
89 |
+
* @param $post
|
90 |
+
*
|
91 |
+
* @return FooGalleryAlbum
|
92 |
+
*/
|
93 |
+
public static function get( $post ) {
|
94 |
+
return new self( $post );
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Static function to load an Album instance by post id
|
99 |
+
*
|
100 |
+
* @param $post_id
|
101 |
+
*
|
102 |
+
* @return FooGalleryAlbum
|
103 |
+
*/
|
104 |
+
public static function get_by_id( $post_id ) {
|
105 |
+
$album = new self();
|
106 |
+
$album->load_by_id( $post_id );
|
107 |
+
if ( ! $album->does_exist() ) {
|
108 |
+
return false;
|
109 |
+
}
|
110 |
+
return $album;
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Static function to load a album instance by passing in a album slug
|
115 |
+
*
|
116 |
+
* @param string $slug
|
117 |
+
*
|
118 |
+
* @return FooGalleryAlbum
|
119 |
+
*/
|
120 |
+
public static function get_by_slug( $slug ) {
|
121 |
+
$album = new self();
|
122 |
+
$album->load_by_slug( $slug );
|
123 |
+
if ( ! $album->does_exist() ) {
|
124 |
+
return false;
|
125 |
+
}
|
126 |
+
return $album;
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Checks if the album has galleries
|
131 |
+
* @return bool
|
132 |
+
*/
|
133 |
+
public function has_galleries() {
|
134 |
+
return sizeof( $this->gallery_ids ) > 0;
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Checks if the album exists
|
139 |
+
* @return bool
|
140 |
+
*/
|
141 |
+
public function does_exist() {
|
142 |
+
return $this->ID > 0;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Returns true if the album is published
|
147 |
+
* @return bool
|
148 |
+
*/
|
149 |
+
public function is_published() {
|
150 |
+
return $this->post_status === 'publish';
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Get a comma separated list of gallery ids
|
155 |
+
* @return string
|
156 |
+
*/
|
157 |
+
public function gallery_id_csv() {
|
158 |
+
if ( is_array( $this->gallery_ids ) ) {
|
159 |
+
return implode( ',', $this->gallery_ids );
|
160 |
+
}
|
161 |
+
|
162 |
+
return '';
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Lazy load the attachments for the gallery
|
167 |
+
*
|
168 |
+
* @return array
|
169 |
+
*/
|
170 |
+
public function galleries() {
|
171 |
+
//lazy load the attachments for performance
|
172 |
+
if ( $this->_galleries === false ) {
|
173 |
+
$this->_galleries = array();
|
174 |
+
|
175 |
+
if ( ! empty( $this->gallery_ids ) ) {
|
176 |
+
|
177 |
+
$gallery_query_args = apply_filters( 'foogallery_album_gallery_get_posts_args', array(
|
178 |
+
'post_type' => FOOGALLERY_CPT_GALLERY,
|
179 |
+
'posts_per_page' => -1,
|
180 |
+
'post__in' => $this->gallery_ids,
|
181 |
+
'orderby' => foogallery_sorting_get_posts_orderby_arg( $this->sorting ),
|
182 |
+
'order' => foogallery_sorting_get_posts_order_arg( $this->sorting )
|
183 |
+
) );
|
184 |
+
|
185 |
+
$galleries = get_posts( $gallery_query_args );
|
186 |
+
|
187 |
+
$this->_galleries = array_map( array( 'FooGallery', 'get' ), $galleries );
|
188 |
+
}
|
189 |
+
}
|
190 |
+
|
191 |
+
return $this->_galleries;
|
192 |
+
}
|
193 |
+
|
194 |
+
function includes_gallery( $gallery_id ) {
|
195 |
+
if ( $this->has_galleries() ) {
|
196 |
+
return in_array( $gallery_id, $this->gallery_ids );
|
197 |
+
}
|
198 |
+
return false;
|
199 |
+
}
|
200 |
+
|
201 |
+
public function gallery_count() {
|
202 |
+
$count = sizeof( $this->gallery_ids );
|
203 |
+
switch ( $count ) {
|
204 |
+
case 0:
|
205 |
+
return __( 'No galleries', 'foogallery' );
|
206 |
+
case 1:
|
207 |
+
return __( '1 gallery', 'foogallery' );
|
208 |
+
default:
|
209 |
+
return sprintf( __( '%s galleries', 'foogallery' ), $count );
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Output the shortcode for the gallery
|
215 |
+
*
|
216 |
+
* @return string
|
217 |
+
*/
|
218 |
+
public function shortcode() {
|
219 |
+
return foogallery_build_album_shortcode( $this->ID );
|
220 |
+
}
|
221 |
+
|
222 |
+
function get_meta( $key, $default ) {
|
223 |
+
if ( ! is_array( $this->settings ) ) {
|
224 |
+
return $default;
|
225 |
+
}
|
226 |
+
|
227 |
+
$value = array_key_exists( $key, $this->settings ) ? $this->settings[ $key ] : null;
|
228 |
+
|
229 |
+
if ( $value === null ) {
|
230 |
+
return $default;
|
231 |
+
}
|
232 |
+
|
233 |
+
return $value;
|
234 |
+
}
|
235 |
+
|
236 |
+
function is_checked( $key, $default = false ) {
|
237 |
+
if ( ! is_array( $this->settings ) ) {
|
238 |
+
return $default;
|
239 |
+
}
|
240 |
+
|
241 |
+
return array_key_exists( $key, $this->settings );
|
242 |
+
}
|
243 |
+
|
244 |
+
public function album_template_details() {
|
245 |
+
if ( ! empty( $this->album_template ) ) {
|
246 |
+
|
247 |
+
foreach ( foogallery_album_templates() as $template ) {
|
248 |
+
if ( $this->album_template == $template['slug'] ) {
|
249 |
+
return $template;
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
253 |
+
|
254 |
+
return false;
|
255 |
+
}
|
256 |
+
}
|
extensions/albums/class-posttypes.php
CHANGED
@@ -1,108 +1,108 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
* FooGallery Album Custom Post Types
|
4 |
-
*/
|
5 |
-
|
6 |
-
if ( ! class_exists( 'FooGallery_Albums_PostTypes' ) ) {
|
7 |
-
|
8 |
-
class FooGallery_Albums_PostTypes {
|
9 |
-
|
10 |
-
function __construct() {
|
11 |
-
//register the post types
|
12 |
-
add_action( 'init', array( $this, 'register_posttype' ) );
|
13 |
-
|
14 |
-
//update post type messages
|
15 |
-
add_filter( 'post_updated_messages', array( $this, 'update_messages' ) );
|
16 |
-
|
17 |
-
//update post bulk messages
|
18 |
-
add_filter( 'bulk_post_updated_messages', array( $this, 'update_bulk_messages' ), 10, 2 );
|
19 |
-
}
|
20 |
-
|
21 |
-
function register_posttype() {
|
22 |
-
//allow extensions to override the album post type
|
23 |
-
$args = apply_filters( 'foogallery_album_posttype_register_args',
|
24 |
-
array(
|
25 |
-
'labels' => array(
|
26 |
-
'name' => __( 'Albums', 'foogallery' ),
|
27 |
-
'singular_name' => __( 'Album', 'foogallery' ),
|
28 |
-
'add_new' => __( 'Add Album', 'foogallery' ),
|
29 |
-
'add_new_item' => __( 'Add New Album', 'foogallery' ),
|
30 |
-
'edit_item' => __( 'Edit Album', 'foogallery' ),
|
31 |
-
'new_item' => __( 'New Album', 'foogallery' ),
|
32 |
-
'view_item' => __( 'View Album', 'foogallery' ),
|
33 |
-
'search_items' => __( 'Search Albums', 'foogallery' ),
|
34 |
-
'not_found' => __( 'No Albums found', 'foogallery' ),
|
35 |
-
'not_found_in_trash' => __( 'No Albums found in Trash', 'foogallery' ),
|
36 |
-
'menu_name' => __( 'Albums', 'foogallery' ),
|
37 |
-
'all_items' => __( 'Albums', 'foogallery' )
|
38 |
-
),
|
39 |
-
'hierarchical' => false,
|
40 |
-
'public' => false,
|
41 |
-
'rewrite' => false,
|
42 |
-
'show_ui' => true,
|
43 |
-
'show_in_menu' => foogallery_admin_menu_parent_slug(),
|
44 |
-
'supports' => array( 'title' ),
|
45 |
-
)
|
46 |
-
);
|
47 |
-
|
48 |
-
register_post_type( FOOGALLERY_CPT_ALBUM, $args );
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* Customize the update messages for a album
|
53 |
-
*
|
54 |
-
* @global object $post The current post object.
|
55 |
-
*
|
56 |
-
* @param array $messages Array of default post updated messages.
|
57 |
-
*
|
58 |
-
* @return array $messages Amended array of post updated messages.
|
59 |
-
*/
|
60 |
-
public function update_messages( $messages ) {
|
61 |
-
|
62 |
-
global $post;
|
63 |
-
|
64 |
-
// Add our album messages
|
65 |
-
$messages[FOOGALLERY_CPT_ALBUM] = apply_filters( 'foogallery_album_posttype_update_messages',
|
66 |
-
array(
|
67 |
-
0 => '',
|
68 |
-
1 => __( 'Album updated.', 'foogallery' ),
|
69 |
-
2 => __( 'Album custom field updated.', 'foogallery' ),
|
70 |
-
3 => __( 'Album custom field deleted.', 'foogallery' ),
|
71 |
-
4 => __( 'Album updated.', 'foogallery' ),
|
72 |
-
5 => isset($_GET['revision']) ? sprintf( __( 'Album restored to revision from %s.', 'foogallery' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
|
73 |
-
6 => __( 'Album published.', 'foogallery' ),
|
74 |
-
7 => __( 'Album saved.', 'foogallery' ),
|
75 |
-
8 => __( 'Album submitted.', 'foogallery' ),
|
76 |
-
9 => sprintf( __( 'Album scheduled for: <strong>%1$s</strong>.', 'foogallery' ), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ) ),
|
77 |
-
10 => __( 'Album draft updated.', 'foogallery' )
|
78 |
-
)
|
79 |
-
);
|
80 |
-
|
81 |
-
return $messages;
|
82 |
-
|
83 |
-
}
|
84 |
-
|
85 |
-
/**
|
86 |
-
* Customize the bulk update messages for a album
|
87 |
-
*
|
88 |
-
* @param array $bulk_messages Array of default bulk updated messages.
|
89 |
-
* @param array $bulk_counts Array containing count of posts involved in the action.
|
90 |
-
*
|
91 |
-
* @return array mixed Amended array of bulk updated messages.
|
92 |
-
*/
|
93 |
-
function update_bulk_messages( $bulk_messages, $bulk_counts ) {
|
94 |
-
|
95 |
-
$bulk_messages[FOOGALLERY_CPT_ALBUM] = apply_filters( 'foogallery_album_posttype_bulk_update_messages',
|
96 |
-
array(
|
97 |
-
'updated' => _n( '%s Album updated.', '%s Albums updated.', $bulk_counts['updated'], 'foogallery' ),
|
98 |
-
'locked' => _n( '%s Album not updated, somebody is editing it.', '%s Albums not updated, somebody is editing them.', $bulk_counts['locked'], 'foogallery' ),
|
99 |
-
'deleted' => _n( '%s Album permanently deleted.', '%s Albums permanently deleted.', $bulk_counts['deleted'], 'foogallery' ),
|
100 |
-
'trashed' => _n( '%s Album moved to the Trash.', '%s Albums moved to the Trash.', $bulk_counts['trashed'], 'foogallery' ),
|
101 |
-
'untrashed' => _n( '%s Album restored from the Trash.', '%s Albums restored from the Trash.', $bulk_counts['untrashed'], 'foogallery' ),
|
102 |
-
)
|
103 |
-
);
|
104 |
-
|
105 |
-
return $bulk_messages;
|
106 |
-
}
|
107 |
-
}
|
108 |
-
}
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* FooGallery Album Custom Post Types
|
4 |
+
*/
|
5 |
+
|
6 |
+
if ( ! class_exists( 'FooGallery_Albums_PostTypes' ) ) {
|
7 |
+
|
8 |
+
class FooGallery_Albums_PostTypes {
|
9 |
+
|
10 |
+
function __construct() {
|
11 |
+
//register the post types
|
12 |
+
add_action( 'init', array( $this, 'register_posttype' ) );
|
13 |
+
|
14 |
+
//update post type messages
|
15 |
+
add_filter( 'post_updated_messages', array( $this, 'update_messages' ) );
|
16 |
+
|
17 |
+
//update post bulk messages
|
18 |
+
add_filter( 'bulk_post_updated_messages', array( $this, 'update_bulk_messages' ), 10, 2 );
|
19 |
+
}
|
20 |
+
|
21 |
+
function register_posttype() {
|
22 |
+
//allow extensions to override the album post type
|
23 |
+
$args = apply_filters( 'foogallery_album_posttype_register_args',
|
24 |
+
array(
|
25 |
+
'labels' => array(
|
26 |
+
'name' => __( 'Albums', 'foogallery' ),
|
27 |
+
'singular_name' => __( 'Album', 'foogallery' ),
|
28 |
+
'add_new' => __( 'Add Album', 'foogallery' ),
|
29 |
+
'add_new_item' => __( 'Add New Album', 'foogallery' ),
|
30 |
+
'edit_item' => __( 'Edit Album', 'foogallery' ),
|
31 |
+
'new_item' => __( 'New Album', 'foogallery' ),
|
32 |
+
'view_item' => __( 'View Album', 'foogallery' ),
|
33 |
+
'search_items' => __( 'Search Albums', 'foogallery' ),
|
34 |
+
'not_found' => __( 'No Albums found', 'foogallery' ),
|
35 |
+
'not_found_in_trash' => __( 'No Albums found in Trash', 'foogallery' ),
|
36 |
+
'menu_name' => __( 'Albums', 'foogallery' ),
|
37 |
+
'all_items' => __( 'Albums', 'foogallery' )
|
38 |
+
),
|
39 |
+
'hierarchical' => false,
|
40 |
+
'public' => false,
|
41 |
+
'rewrite' => false,
|
42 |
+
'show_ui' => true,
|
43 |
+
'show_in_menu' => foogallery_admin_menu_parent_slug(),
|
44 |
+
'supports' => array( 'title' ),
|
45 |
+
)
|
46 |
+
);
|
47 |
+
|
48 |
+
register_post_type( FOOGALLERY_CPT_ALBUM, $args );
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Customize the update messages for a album
|
53 |
+
*
|
54 |
+
* @global object $post The current post object.
|
55 |
+
*
|
56 |
+
* @param array $messages Array of default post updated messages.
|
57 |
+
*
|
58 |
+
* @return array $messages Amended array of post updated messages.
|
59 |
+
*/
|
60 |
+
public function update_messages( $messages ) {
|
61 |
+
|
62 |
+
global $post;
|
63 |
+
|
64 |
+
// Add our album messages
|
65 |
+
$messages[FOOGALLERY_CPT_ALBUM] = apply_filters( 'foogallery_album_posttype_update_messages',
|
66 |
+
array(
|
67 |
+
0 => '',
|
68 |
+
1 => __( 'Album updated.', 'foogallery' ),
|
69 |
+
2 => __( 'Album custom field updated.', 'foogallery' ),
|
70 |
+
3 => __( 'Album custom field deleted.', 'foogallery' ),
|
71 |
+
4 => __( 'Album updated.', 'foogallery' ),
|
72 |
+
5 => isset($_GET['revision']) ? sprintf( __( 'Album restored to revision from %s.', 'foogallery' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
|
73 |
+
6 => __( 'Album published.', 'foogallery' ),
|
74 |
+
7 => __( 'Album saved.', 'foogallery' ),
|
75 |
+
8 => __( 'Album submitted.', 'foogallery' ),
|
76 |
+
9 => sprintf( __( 'Album scheduled for: <strong>%1$s</strong>.', 'foogallery' ), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ) ),
|
77 |
+
10 => __( 'Album draft updated.', 'foogallery' )
|
78 |
+
)
|
79 |
+
);
|
80 |
+
|
81 |
+
return $messages;
|
82 |
+
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Customize the bulk update messages for a album
|
87 |
+
*
|
88 |
+
* @param array $bulk_messages Array of default bulk updated messages.
|
89 |
+
* @param array $bulk_counts Array containing count of posts involved in the action.
|
90 |
+
*
|
91 |
+
* @return array mixed Amended array of bulk updated messages.
|
92 |
+
*/
|
93 |
+
function update_bulk_messages( $bulk_messages, $bulk_counts ) {
|
94 |
+
|
95 |
+
$bulk_messages[FOOGALLERY_CPT_ALBUM] = apply_filters( 'foogallery_album_posttype_bulk_update_messages',
|
96 |
+
array(
|
97 |
+
'updated' => _n( '%s Album updated.', '%s Albums updated.', $bulk_counts['updated'], 'foogallery' ),
|
98 |
+
'locked' => _n( '%s Album not updated, somebody is editing it.', '%s Albums not updated, somebody is editing them.', $bulk_counts['locked'], 'foogallery' ),
|
99 |
+
'deleted' => _n( '%s Album permanently deleted.', '%s Albums permanently deleted.', $bulk_counts['deleted'], 'foogallery' ),
|
100 |
+
'trashed' => _n( '%s Album moved to the Trash.', '%s Albums moved to the Trash.', $bulk_counts['trashed'], 'foogallery' ),
|
101 |
+
'untrashed' => _n( '%s Album restored from the Trash.', '%s Albums restored from the Trash.', $bulk_counts['untrashed'], 'foogallery' ),
|
102 |
+
)
|
103 |
+
);
|
104 |
+
|
105 |
+
return $bulk_messages;
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
extensions/albums/css/admin-foogallery-album.css
CHANGED
@@ -1,273 +1,273 @@
|
|
1 |
-
|
2 |
-
.foogallery-shortcode {
|
3 |
-
text-align: center;
|
4 |
-
}
|
5 |
-
|
6 |
-
.foogallery-shortcode input {
|
7 |
-
cursor: pointer;
|
8 |
-
text-align: center;
|
9 |
-
padding: 10px;
|
10 |
-
font-family: "courier new", courier;
|
11 |
-
border: none;
|
12 |
-
box-shadow: none;
|
13 |
-
background: #efefef;
|
14 |
-
}
|
15 |
-
|
16 |
-
.wp-list-table .foogallery-shortcode {
|
17 |
-
cursor: pointer;
|
18 |
-
font-size: 1em;
|
19 |
-
border: none;
|
20 |
-
box-shadow: none;
|
21 |
-
background: #efefef;
|
22 |
-
font-family: "courier new", courier;
|
23 |
-
}
|
24 |
-
|
25 |
-
.foogallery-shortcode-message {
|
26 |
-
font-style: italic;
|
27 |
-
color: #2EA2CC !important;
|
28 |
-
}
|
29 |
-
|
30 |
-
.foogallery-album-gallery-list .attachment.placeholder {
|
31 |
-
position: relative;
|
32 |
-
z-index: 10;
|
33 |
-
float: left;
|
34 |
-
margin: 10px 15px 15px 10px !important;
|
35 |
-
width: 164px;
|
36 |
-
height: 164px;
|
37 |
-
border: #1e8cbe 1px dashed;
|
38 |
-
background: #eee;
|
39 |
-
}
|
40 |
-
|
41 |
-
.foogallery-album-gallery-list .foogallery-pile.ui-sortable-helper {
|
42 |
-
opacity: 0.5;
|
43 |
-
}
|
44 |
-
|
45 |
-
.foogallery-album-gallery-list .foogallery-pile.ui-sortable-helper:hover .close {
|
46 |
-
display: none;
|
47 |
-
}
|
48 |
-
|
49 |
-
.foogallery_template_field td {
|
50 |
-
padding-bottom: 20px;
|
51 |
-
}
|
52 |
-
|
53 |
-
.foogallery_template_field th {
|
54 |
-
vertical-align: top;
|
55 |
-
text-align: left;
|
56 |
-
padding-top: 0.3em;
|
57 |
-
padding-right: 10px;
|
58 |
-
}
|
59 |
-
|
60 |
-
.foogallery_metabox_field-icon label {
|
61 |
-
display:inline-block;
|
62 |
-
margin-right:10px;
|
63 |
-
border:solid 3px transparent;
|
64 |
-
background:#aaa;
|
65 |
-
border-radius: 3px;
|
66 |
-
-moz-border-radius: 3px;
|
67 |
-
-webkit-border-radius: 3px;
|
68 |
-
padding:5px;
|
69 |
-
line-height: 0;
|
70 |
-
}
|
71 |
-
|
72 |
-
.foogallery_metabox_field-icon input:checked + label {
|
73 |
-
border:solid 3px #444;
|
74 |
-
background: #888;
|
75 |
-
}
|
76 |
-
|
77 |
-
.foogallery_metabox_field-icon label:hover {
|
78 |
-
border:solid 3px #444;
|
79 |
-
}
|
80 |
-
|
81 |
-
.foogallery_metabox_field-thumb_size label {
|
82 |
-
vertical-align: baseline;
|
83 |
-
}
|
84 |
-
|
85 |
-
.foogallery_metabox_field-thumb_size input[type="number"] {
|
86 |
-
margin-right: 10px;
|
87 |
-
}
|
88 |
-
|
89 |
-
.foogallery_template_field h4 {
|
90 |
-
font-size: 1.2em;
|
91 |
-
border-bottom: solid 1px #EEE;
|
92 |
-
padding-bottom: 5px;
|
93 |
-
margin: 0;
|
94 |
-
}
|
95 |
-
|
96 |
-
.foogallery_metabox_field-number input[type="number"] {
|
97 |
-
width: 10em;
|
98 |
-
}
|
99 |
-
|
100 |
-
.foogallery_metabox_custom_css {
|
101 |
-
width: 100%;
|
102 |
-
height: 10em;
|
103 |
-
}
|
104 |
-
|
105 |
-
.foogallery_metabox_field-radio > input, .foogallery_metabox_field-radio > label {
|
106 |
-
margin-bottom: 10px;
|
107 |
-
display: inline-block;
|
108 |
-
}
|
109 |
-
|
110 |
-
.foogallery_template_field th {
|
111 |
-
width: 180px;
|
112 |
-
}
|
113 |
-
|
114 |
-
.foogallery-help {
|
115 |
-
position: relative;
|
116 |
-
display: block;
|
117 |
-
line-height: 19px;
|
118 |
-
padding: 11px 15px 11px 40px;
|
119 |
-
font-size: 14px;
|
120 |
-
text-align: left;
|
121 |
-
margin: 5px 0 20px 2px;
|
122 |
-
background-color: #F4F4FF;
|
123 |
-
border-left: 4px solid #1e8cbe;
|
124 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
125 |
-
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
126 |
-
}
|
127 |
-
|
128 |
-
.foogallery-help:before {
|
129 |
-
content: "\f223";
|
130 |
-
font: 400 30px/1 dashicons !important;
|
131 |
-
speak: none;
|
132 |
-
color: #1e8cbe;
|
133 |
-
display: inline-block;
|
134 |
-
-webkit-font-smoothing: antialiased;
|
135 |
-
-moz-osx-font-smoothing: grayscale;
|
136 |
-
vertical-align: bottom;
|
137 |
-
position: absolute;
|
138 |
-
left: 5px;
|
139 |
-
height: 100%;
|
140 |
-
margin-top: -15px;
|
141 |
-
top: 50%;
|
142 |
-
}
|
143 |
-
|
144 |
-
.foogallery-album-error {
|
145 |
-
padding: 11px 15px;
|
146 |
-
font-size: 14px;
|
147 |
-
text-align: left;
|
148 |
-
border-left: 4px solid #dc3232;
|
149 |
-
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
150 |
-
box-shadow: 1px 1px 1px 1px rgba(0,0,0,.1);
|
151 |
-
}
|
152 |
-
|
153 |
-
.foogallery-album-gallery-list a.info {
|
154 |
-
display: none;
|
155 |
-
position: absolute;
|
156 |
-
padding: 0;
|
157 |
-
font-size: 20px;
|
158 |
-
line-height: 20px;
|
159 |
-
text-align: center;
|
160 |
-
text-decoration: none;
|
161 |
-
background-color: #444;
|
162 |
-
border-radius: 50%;
|
163 |
-
color: #fff;
|
164 |
-
top: 5px;
|
165 |
-
left: 5px;
|
166 |
-
}
|
167 |
-
|
168 |
-
.foogallery-album-gallery-list .foogallery-gallery-select:hover a.info {
|
169 |
-
display: block;
|
170 |
-
}
|
171 |
-
|
172 |
-
.foogallery-album-info-modal {
|
173 |
-
display: none;
|
174 |
-
top: 20%;
|
175 |
-
bottom: 20%;
|
176 |
-
left: 30%;
|
177 |
-
right: 30%;
|
178 |
-
}
|
179 |
-
|
180 |
-
.foogallery-album-info-modal .media-frame-title {
|
181 |
-
left:0;
|
182 |
-
}
|
183 |
-
|
184 |
-
.foogallery-album-info-modal .media-frame-title h1 {
|
185 |
-
float: left;
|
186 |
-
}
|
187 |
-
|
188 |
-
.foogallery-album-info-modal .media-frame-title .spinner {
|
189 |
-
float:left;
|
190 |
-
margin: 15px 0;
|
191 |
-
}
|
192 |
-
|
193 |
-
.foogallery-album-info-modal .close {
|
194 |
-
position: absolute;
|
195 |
-
top: 20px;
|
196 |
-
right: 20px;
|
197 |
-
cursor: pointer;
|
198 |
-
font-size: 20px;
|
199 |
-
}
|
200 |
-
|
201 |
-
.foogallery-album-info-modal .modal-content {
|
202 |
-
position: absolute;
|
203 |
-
top: 50px;
|
204 |
-
left: 0;
|
205 |
-
right: 0;
|
206 |
-
bottom: 61px;
|
207 |
-
height: auto;
|
208 |
-
width: auto;
|
209 |
-
margin: 0;
|
210 |
-
overflow: auto;
|
211 |
-
background: #fff;
|
212 |
-
border-top: 1px solid #ddd;
|
213 |
-
border-bottom: 1px solid #ddd;
|
214 |
-
padding: 20px;
|
215 |
-
min-width: 400px;
|
216 |
-
}
|
217 |
-
|
218 |
-
.foogallery-album-info-modal .gallery-details,
|
219 |
-
.foogallery-album-info-modal .gallery-details table {
|
220 |
-
width: 100%;
|
221 |
-
}
|
222 |
-
|
223 |
-
.foogallery-album-info-modal .gallery-details th {
|
224 |
-
vertical-align: top;
|
225 |
-
}
|
226 |
-
|
227 |
-
.foogallery-album-info-modal .gallery-details th label {
|
228 |
-
box-sizing: border-box;
|
229 |
-
float: right;
|
230 |
-
padding: 6px 0px;
|
231 |
-
margin-right: 20px;
|
232 |
-
font-weight: normal;
|
233 |
-
}
|
234 |
-
|
235 |
-
.foogallery-album-info-modal .gallery-details td input,
|
236 |
-
.foogallery-album-info-modal .gallery-details td textarea,
|
237 |
-
.foogallery-album-info-modal .gallery-details td select {
|
238 |
-
width: 100%;
|
239 |
-
}
|
240 |
-
|
241 |
-
.foogallery-album-info-modal .gallery-details td select {
|
242 |
-
line-height: inherit;
|
243 |
-
padding: 6px 8px;
|
244 |
-
height: inherit;
|
245 |
-
}
|
246 |
-
|
247 |
-
.foogallery-album-info-modal .gallery-details td .help {
|
248 |
-
margin-top: 0;
|
249 |
-
font-size: 0.8em;
|
250 |
-
}
|
251 |
-
|
252 |
-
.foogallery-album-info-modal .media-toolbar .spinner {
|
253 |
-
margin-top: 20px;
|
254 |
-
margin-right: 0;
|
255 |
-
}
|
256 |
-
|
257 |
-
.foogallery-album-info-modal .media-frame-toolbar {
|
258 |
-
left: 0;
|
259 |
-
}
|
260 |
-
|
261 |
-
.foogallery-album-info-modal .media-frame-toolbar .media-toolbar-secondary {
|
262 |
-
line-height: 60px;
|
263 |
-
font-weight: bold;
|
264 |
-
}
|
265 |
-
|
266 |
-
.foogallery-album-info-modal-backdrop {
|
267 |
-
display: none;
|
268 |
-
}
|
269 |
-
|
270 |
-
.spacer {
|
271 |
-
display: inline-block;
|
272 |
-
width:30px;
|
273 |
}
|
1 |
+
|
2 |
+
.foogallery-shortcode {
|
3 |
+
text-align: center;
|
4 |
+
}
|
5 |
+
|
6 |
+
.foogallery-shortcode input {
|
7 |
+
cursor: pointer;
|
8 |
+
text-align: center;
|
9 |
+
padding: 10px;
|
10 |
+
font-family: "courier new", courier;
|
11 |
+
border: none;
|
12 |
+
box-shadow: none;
|
13 |
+
background: #efefef;
|
14 |
+
}
|
15 |
+
|
16 |
+
.wp-list-table .foogallery-shortcode {
|
17 |
+
cursor: pointer;
|
18 |
+
font-size: 1em;
|
19 |
+
border: none;
|
20 |
+
box-shadow: none;
|
21 |
+
background: #efefef;
|
22 |
+
font-family: "courier new", courier;
|
23 |
+
}
|
24 |
+
|
25 |
+
.foogallery-shortcode-message {
|
26 |
+
font-style: italic;
|
27 |
+
color: #2EA2CC !important;
|
28 |
+
}
|
29 |
+
|
30 |
+
.foogallery-album-gallery-list .attachment.placeholder {
|
31 |
+
position: relative;
|
32 |
+
z-index: 10;
|
33 |
+
float: left;
|
34 |
+
margin: 10px 15px 15px 10px !important;
|
35 |
+
width: 164px;
|
36 |
+
height: 164px;
|
37 |
+
border: #1e8cbe 1px dashed;
|
38 |
+
background: #eee;
|
39 |
+
}
|
40 |
+
|
41 |
+
.foogallery-album-gallery-list .foogallery-pile.ui-sortable-helper {
|
42 |
+
opacity: 0.5;
|
43 |
+
}
|
44 |
+
|
45 |
+
.foogallery-album-gallery-list .foogallery-pile.ui-sortable-helper:hover .close {
|
46 |
+
display: none;
|
47 |
+
}
|
48 |
+
|
49 |
+
.foogallery_template_field td {
|
50 |
+
padding-bottom: 20px;
|
51 |
+
}
|
52 |
+
|
53 |
+
.foogallery_template_field th {
|
54 |
+
vertical-align: top;
|
55 |
+
text-align: left;
|
56 |
+
padding-top: 0.3em;
|
57 |
+
padding-right: 10px;
|
58 |
+
}
|
59 |
+
|
60 |
+
.foogallery_metabox_field-icon label {
|
61 |
+
display:inline-block;
|
62 |
+
margin-right:10px;
|
63 |
+
border:solid 3px transparent;
|
64 |
+
background:#aaa;
|
65 |
+
border-radius: 3px;
|
66 |
+
-moz-border-radius: 3px;
|
67 |
+
-webkit-border-radius: 3px;
|
68 |
+
padding:5px;
|
69 |
+
line-height: 0;
|
70 |
+
}
|
71 |
+
|
72 |
+
.foogallery_metabox_field-icon input:checked + label {
|
73 |
+
border:solid 3px #444;
|
74 |
+
background: #888;
|
75 |
+
}
|
76 |
+
|
77 |
+
.foogallery_metabox_field-icon label:hover {
|
78 |
+
border:solid 3px #444;
|
79 |
+
}
|
80 |
+
|
81 |
+
.foogallery_metabox_field-thumb_size label {
|
82 |
+
vertical-align: baseline;
|
83 |
+
}
|
84 |
+
|
85 |
+
.foogallery_metabox_field-thumb_size input[type="number"] {
|
86 |
+
margin-right: 10px;
|
87 |
+
}
|
88 |
+
|
89 |
+
.foogallery_template_field h4 {
|
90 |
+
font-size: 1.2em;
|
91 |
+
border-bottom: solid 1px #EEE;
|
92 |
+
padding-bottom: 5px;
|
93 |
+
margin: 0;
|
94 |
+
}
|
95 |
+
|
96 |
+
.foogallery_metabox_field-number input[type="number"] {
|
97 |
+
width: 10em;
|
98 |
+
}
|
99 |
+
|
100 |
+
.foogallery_metabox_custom_css {
|
101 |
+
width: 100%;
|
102 |
+
height: 10em;
|
103 |
+
}
|
104 |
+
|
105 |
+
.foogallery_metabox_field-radio > input, .foogallery_metabox_field-radio > label {
|
106 |
+
margin-bottom: 10px;
|
107 |
+
display: inline-block;
|
108 |
+
}
|
109 |
+
|
110 |
+
.foogallery_template_field th {
|
111 |
+
width: 180px;
|
112 |
+
}
|
113 |
+
|
114 |
+
.foogallery-help {
|
115 |
+
position: relative;
|
116 |
+
display: block;
|
117 |
+
line-height: 19px;
|
118 |
+
padding: 11px 15px 11px 40px;
|
119 |
+
font-size: 14px;
|
120 |
+
text-align: left;
|
121 |
+
margin: 5px 0 20px 2px;
|
122 |
+
background-color: #F4F4FF;
|
123 |
+
border-left: 4px solid #1e8cbe;
|
124 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
125 |
+
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
126 |
+
}
|
127 |
+
|
128 |
+
.foogallery-help:before {
|
129 |
+
content: "\f223";
|
130 |
+
font: 400 30px/1 dashicons !important;
|
131 |
+
speak: none;
|
132 |
+
color: #1e8cbe;
|
133 |
+
display: inline-block;
|
134 |
+
-webkit-font-smoothing: antialiased;
|
135 |
+
-moz-osx-font-smoothing: grayscale;
|
136 |
+
vertical-align: bottom;
|
137 |
+
position: absolute;
|
138 |
+
left: 5px;
|
139 |
+
height: 100%;
|
140 |
+
margin-top: -15px;
|
141 |
+
top: 50%;
|
142 |
+
}
|
143 |
+
|
144 |
+
.foogallery-album-error {
|
145 |
+
padding: 11px 15px;
|
146 |
+
font-size: 14px;
|
147 |
+
text-align: left;
|
148 |
+
border-left: 4px solid #dc3232;
|
149 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
|
150 |
+
box-shadow: 1px 1px 1px 1px rgba(0,0,0,.1);
|
151 |
+
}
|
152 |
+
|
153 |
+
.foogallery-album-gallery-list a.info {
|
154 |
+
display: none;
|
155 |
+
position: absolute;
|
156 |
+
padding: 0;
|
157 |
+
font-size: 20px;
|
158 |
+
line-height: 20px;
|
159 |
+
text-align: center;
|
160 |
+
text-decoration: none;
|
161 |
+
background-color: #444;
|
162 |
+
border-radius: 50%;
|
163 |
+
color: #fff;
|
164 |
+
top: 5px;
|
165 |
+
left: 5px;
|
166 |
+
}
|
167 |
+
|
168 |
+
.foogallery-album-gallery-list .foogallery-gallery-select:hover a.info {
|
169 |
+
display: block;
|
170 |
+
}
|
171 |
+
|
172 |
+
.foogallery-album-info-modal {
|
173 |
+
display: none;
|
174 |
+
top: 20%;
|
175 |
+
bottom: 20%;
|
176 |
+
left: 30%;
|
177 |
+
right: 30%;
|
178 |
+
}
|
179 |
+
|
180 |
+
.foogallery-album-info-modal .media-frame-title {
|
181 |
+
left:0;
|
182 |
+
}
|
183 |
+
|
184 |
+
.foogallery-album-info-modal .media-frame-title h1 {
|
185 |
+
float: left;
|
186 |
+
}
|
187 |
+
|
188 |
+
.foogallery-album-info-modal .media-frame-title .spinner {
|
189 |
+
float:left;
|
190 |
+
margin: 15px 0;
|
191 |
+
}
|
192 |
+
|
193 |
+
.foogallery-album-info-modal .close {
|
194 |
+
position: absolute;
|
195 |
+
top: 20px;
|
196 |
+
right: 20px;
|
197 |
+
cursor: pointer;
|
198 |
+
font-size: 20px;
|
199 |
+
}
|
200 |
+
|
201 |
+
.foogallery-album-info-modal .modal-content {
|
202 |
+
position: absolute;
|
203 |
+
top: 50px;
|
204 |
+
left: 0;
|
205 |
+
right: 0;
|
206 |
+
bottom: 61px;
|
207 |
+
height: auto;
|
208 |
+
width: auto;
|
209 |
+
margin: 0;
|
210 |
+
overflow: auto;
|
211 |
+
background: #fff;
|
212 |
+
border-top: 1px solid #ddd;
|
213 |
+
border-bottom: 1px solid #ddd;
|
214 |
+
padding: 20px;
|
215 |
+
min-width: 400px;
|
216 |
+
}
|
217 |
+
|
218 |
+
.foogallery-album-info-modal .gallery-details,
|
219 |
+
.foogallery-album-info-modal .gallery-details table {
|
220 |
+
width: 100%;
|
221 |
+
}
|
222 |
+
|
223 |
+
.foogallery-album-info-modal .gallery-details th {
|
224 |
+
vertical-align: top;
|
225 |
+
}
|
226 |
+
|
227 |
+
.foogallery-album-info-modal .gallery-details th label {
|
228 |
+
box-sizing: border-box;
|
229 |
+
float: right;
|
230 |
+
padding: 6px 0px;
|
231 |
+
margin-right: 20px;
|
232 |
+
font-weight: normal;
|
233 |
+
}
|
234 |
+
|
235 |
+
.foogallery-album-info-modal .gallery-details td input,
|
236 |
+
.foogallery-album-info-modal .gallery-details td textarea,
|
237 |
+
.foogallery-album-info-modal .gallery-details td select {
|
238 |
+
width: 100%;
|
239 |
+
}
|
240 |
+
|
241 |
+
.foogallery-album-info-modal .gallery-details td select {
|
242 |
+
line-height: inherit;
|
243 |
+
padding: 6px 8px;
|
244 |
+
height: inherit;
|
245 |
+
}
|
246 |
+
|
247 |
+
.foogallery-album-info-modal .gallery-details td .help {
|
248 |
+
margin-top: 0;
|
249 |
+
font-size: 0.8em;
|
250 |
+
}
|
251 |
+
|
252 |
+
.foogallery-album-info-modal .media-toolbar .spinner {
|
253 |
+
margin-top: 20px;
|
254 |
+
margin-right: 0;
|
255 |
+
}
|
256 |
+
|
257 |
+
.foogallery-album-info-modal .media-frame-toolbar {
|
258 |
+
left: 0;
|
259 |
+
}
|
260 |
+
|
261 |
+
.foogallery-album-info-modal .media-frame-toolbar .media-toolbar-secondary {
|
262 |
+
line-height: 60px;
|
263 |
+
font-weight: bold;
|
264 |
+
}
|
265 |
+
|
266 |
+
.foogallery-album-info-modal-backdrop {
|
267 |
+
display: none;
|
268 |
+
}
|
269 |
+
|
270 |
+
.spacer {
|
271 |
+
display: inline-block;
|
272 |
+
width:30px;
|
273 |
}
|
extensions/albums/css/album-default.css
CHANGED
@@ -1,103 +1,103 @@
|
|
1 |
-
.foogallery-album-gallery-list {
|
2 |
-
list-style: none !important;
|
3 |
-
padding: 0 !important;
|
4 |
-
}
|
5 |
-
|
6 |
-
.foogallery-album-gallery-list li {
|
7 |
-
list-style-type: none !important;
|
8 |
-
display: inline-block;
|
9 |
-
}
|
10 |
-
|
11 |
-
.foogallery-album-gallery-list .foogallery-pile {
|
12 |
-
position: relative;
|
13 |
-
z-index: 10;
|
14 |
-
float: left;
|
15 |
-
margin: 10px 15px 15px 10px !important;
|
16 |
-
}
|
17 |
-
|
18 |
-
/* Stacks created by the use of generated content */
|
19 |
-
.foogallery-album-gallery-list .foogallery-pile:before,
|
20 |
-
.foogallery-album-gallery-list .foogallery-pile:after {
|
21 |
-
content: "";
|
22 |
-
width: 100%;
|
23 |
-
height: 100%;
|
24 |
-
position: absolute;
|
25 |
-
border: 8px solid #fff;
|
26 |
-
left: 0;
|
27 |
-
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
28 |
-
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
29 |
-
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
30 |
-
-webkit-box-sizing: border-box;
|
31 |
-
-moz-box-sizing: border-box;
|
32 |
-
box-sizing: border-box;
|
33 |
-
}
|
34 |
-
/* 1st element in stack (behind image) */
|
35 |
-
.foogallery-album-gallery-list .foogallery-pile:before {
|
36 |
-
top: -3px; z-index: -10;
|
37 |
-
-webkit-transform: rotate(2deg);
|
38 |
-
-moz-transform: rotate(2deg);
|
39 |
-
transform: rotate(2deg);
|
40 |
-
}
|
41 |
-
/* 2nd element in stack (behind image) */
|
42 |
-
.foogallery-album-gallery-list .foogallery-pile:after {
|
43 |
-
top: -2px; z-index: -20;
|
44 |
-
-webkit-transform: rotate(-2deg);
|
45 |
-
-moz-transform: rotate(-2deg);
|
46 |
-
transform: rotate(-2deg);
|
47 |
-
}
|
48 |
-
|
49 |
-
.foogallery-album-gallery-list .foogallery-pile .foogallery-pile-inner {
|
50 |
-
border: 8px solid #fff;
|
51 |
-
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
52 |
-
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
53 |
-
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
54 |
-
overflow: hidden;
|
55 |
-
line-height: 0;
|
56 |
-
}
|
57 |
-
|
58 |
-
.foogallery-album-gallery-list .foogallery-pile .foogallery-pile-inner a {
|
59 |
-
display: inline-block;
|
60 |
-
}
|
61 |
-
|
62 |
-
.foogallery-album-gallery-list .foogallery-pile img {
|
63 |
-
}
|
64 |
-
|
65 |
-
.foogallery-album-gallery-list .foogallery-pile h3 {
|
66 |
-
background: #FFF;
|
67 |
-
position: absolute;
|
68 |
-
display: block;
|
69 |
-
bottom: 0px;
|
70 |
-
padding: 5px 5px 0 5px;
|
71 |
-
width: 100%;
|
72 |
-
box-sizing: border-box;
|
73 |
-
margin: 0;
|
74 |
-
opacity: 0.6;
|
75 |
-
line-height: 1em;
|
76 |
-
}
|
77 |
-
|
78 |
-
.foogallery-album-gallery-list .foogallery-pile h3 span {
|
79 |
-
display: block;
|
80 |
-
font-size: 0.6em;
|
81 |
-
}
|
82 |
-
|
83 |
-
.foogallery-album-gallery-list .foogallery-pile a {
|
84 |
-
position: relative;
|
85 |
-
}
|
86 |
-
|
87 |
-
.foogallery-album-gallery-list.alignment-left {
|
88 |
-
text-align: left;
|
89 |
-
}
|
90 |
-
|
91 |
-
.foogallery-album-gallery-list.alignment-center {
|
92 |
-
text-align: center;
|
93 |
-
}
|
94 |
-
|
95 |
-
.foogallery-album-gallery-list.alignment-right {
|
96 |
-
text-align: right;
|
97 |
-
}
|
98 |
-
|
99 |
-
/* force no borders */
|
100 |
-
.foogallery-album-gallery-list .foogallery-pile a,
|
101 |
-
.foogallery-album-gallery-list .foogallery-pile a:hover {
|
102 |
-
border: none !important;
|
103 |
}
|
1 |
+
.foogallery-album-gallery-list {
|
2 |
+
list-style: none !important;
|
3 |
+
padding: 0 !important;
|
4 |
+
}
|
5 |
+
|
6 |
+
.foogallery-album-gallery-list li {
|
7 |
+
list-style-type: none !important;
|
8 |
+
display: inline-block;
|
9 |
+
}
|
10 |
+
|
11 |
+
.foogallery-album-gallery-list .foogallery-pile {
|
12 |
+
position: relative;
|
13 |
+
z-index: 10;
|
14 |
+
float: left;
|
15 |
+
margin: 10px 15px 15px 10px !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
/* Stacks created by the use of generated content */
|
19 |
+
.foogallery-album-gallery-list .foogallery-pile:before,
|
20 |
+
.foogallery-album-gallery-list .foogallery-pile:after {
|
21 |
+
content: "";
|
22 |
+
width: 100%;
|
23 |
+
height: 100%;
|
24 |
+
position: absolute;
|
25 |
+
border: 8px solid #fff;
|
26 |
+
left: 0;
|
27 |
+
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
28 |
+
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
29 |
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
30 |
+
-webkit-box-sizing: border-box;
|
31 |
+
-moz-box-sizing: border-box;
|
32 |
+
box-sizing: border-box;
|
33 |
+
}
|
34 |
+
/* 1st element in stack (behind image) */
|
35 |
+
.foogallery-album-gallery-list .foogallery-pile:before {
|
36 |
+
top: -3px; z-index: -10;
|
37 |
+
-webkit-transform: rotate(2deg);
|
38 |
+
-moz-transform: rotate(2deg);
|
39 |
+
transform: rotate(2deg);
|
40 |
+
}
|
41 |
+
/* 2nd element in stack (behind image) */
|
42 |
+
.foogallery-album-gallery-list .foogallery-pile:after {
|
43 |
+
top: -2px; z-index: -20;
|
44 |
+
-webkit-transform: rotate(-2deg);
|
45 |
+
-moz-transform: rotate(-2deg);
|
46 |
+
transform: rotate(-2deg);
|
47 |
+
}
|
48 |
+
|
49 |
+
.foogallery-album-gallery-list .foogallery-pile .foogallery-pile-inner {
|
50 |
+
border: 8px solid #fff;
|
51 |
+
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
52 |
+
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
53 |
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
54 |
+
overflow: hidden;
|
55 |
+
line-height: 0;
|
56 |
+
}
|
57 |
+
|
58 |
+
.foogallery-album-gallery-list .foogallery-pile .foogallery-pile-inner a {
|
59 |
+
display: inline-block;
|
60 |
+
}
|
61 |
+
|
62 |
+
.foogallery-album-gallery-list .foogallery-pile img {
|
63 |
+
}
|
64 |
+
|
65 |
+
.foogallery-album-gallery-list .foogallery-pile h3 {
|
66 |
+
background: #FFF;
|
67 |
+
position: absolute;
|
68 |
+
display: block;
|
69 |
+
bottom: 0px;
|
70 |
+
padding: 5px 5px 0 5px;
|
71 |
+
width: 100%;
|
72 |
+
box-sizing: border-box;
|
73 |
+
margin: 0;
|
74 |
+
opacity: 0.6;
|
75 |
+
line-height: 1em;
|
76 |
+
}
|
77 |
+
|
78 |
+
.foogallery-album-gallery-list .foogallery-pile h3 span {
|
79 |
+
display: block;
|
80 |
+
font-size: 0.6em;
|
81 |
+
}
|
82 |
+
|
83 |
+
.foogallery-album-gallery-list .foogallery-pile a {
|
84 |
+
position: relative;
|
85 |
+
}
|
86 |
+
|
87 |
+
.foogallery-album-gallery-list.alignment-left {
|
88 |
+
text-align: left;
|
89 |
+
}
|
90 |
+
|
91 |
+
.foogallery-album-gallery-list.alignment-center {
|
92 |
+
text-align: center;
|
93 |
+
}
|
94 |
+
|
95 |
+
.foogallery-album-gallery-list.alignment-right {
|
96 |
+
text-align: right;
|
97 |
+
}
|
98 |
+
|
99 |
+
/* force no borders */
|
100 |
+
.foogallery-album-gallery-list .foogallery-pile a,
|
101 |
+
.foogallery-album-gallery-list .foogallery-pile a:hover {
|
102 |
+
border: none !important;
|
103 |
}
|
extensions/albums/css/album-stack.css
CHANGED
@@ -1,290 +1,290 @@
|
|
1 |
-
.tp-grid {
|
2 |
-
list-style-type: none;
|
3 |
-
position: relative;
|
4 |
-
display: block;
|
5 |
-
}
|
6 |
-
|
7 |
-
.tp-grid li {
|
8 |
-
position: absolute;
|
9 |
-
cursor: pointer;
|
10 |
-
border: 10px solid #fff;
|
11 |
-
box-shadow: 0 2px 3px rgba(0,0,0,0.2);
|
12 |
-
display: none;
|
13 |
-
overflow: hidden;
|
14 |
-
-webkit-backface-visibility: hidden;
|
15 |
-
-moz-backface-visibility: hidden;
|
16 |
-
-o-backface-visibility: hidden;
|
17 |
-
-ms-backface-visibility: hidden;
|
18 |
-
backface-visibility: hidden;
|
19 |
-
}
|
20 |
-
|
21 |
-
.no-js .tp-grid li {
|
22 |
-
position: relative;
|
23 |
-
display: inline-block;
|
24 |
-
}
|
25 |
-
|
26 |
-
.tp-grid li a {
|
27 |
-
display: block;
|
28 |
-
outline: none;
|
29 |
-
}
|
30 |
-
|
31 |
-
.tp-grid li img {
|
32 |
-
display: block;
|
33 |
-
border: none;
|
34 |
-
}
|
35 |
-
|
36 |
-
.tp-info,
|
37 |
-
.tp-title {
|
38 |
-
position: absolute;
|
39 |
-
background: #fff;
|
40 |
-
line-height: 20px;
|
41 |
-
color: #333;
|
42 |
-
top: 40%;
|
43 |
-
width: 75%;
|
44 |
-
padding: 10px;
|
45 |
-
font-weight: 700;
|
46 |
-
text-align: right;
|
47 |
-
left: -100%;
|
48 |
-
box-shadow:
|
49 |
-
1px 1px 1px rgba(0,0,0,0.1),
|
50 |
-
5px 0 5px -3px rgba(0,0,0,0.4),
|
51 |
-
inset 0 0 5px rgba(0,0,0,0.04);
|
52 |
-
}
|
53 |
-
|
54 |
-
.tp-title-cover {
|
55 |
-
position: absolute;
|
56 |
-
top: 0;
|
57 |
-
bottom: 0;
|
58 |
-
left: 0;
|
59 |
-
right: 0;
|
60 |
-
}
|
61 |
-
|
62 |
-
.tp-open .tp-title-cover {
|
63 |
-
display: none;
|
64 |
-
}
|
65 |
-
|
66 |
-
.touch .tp-info {
|
67 |
-
left: 0px;
|
68 |
-
}
|
69 |
-
|
70 |
-
.no-touch .tp-info {
|
71 |
-
-webkit-transition: all 0.3s ease-in-out;
|
72 |
-
-moz-transition: all 0.3s ease-in-out;
|
73 |
-
-o-transition: all 0.3s ease-in-out;
|
74 |
-
-ms-transition: all 0.3s ease-in-out;
|
75 |
-
transition: all 0.3s ease-in-out;
|
76 |
-
}
|
77 |
-
|
78 |
-
.no-touch .tp-grid li:hover .tp-info {
|
79 |
-
-webkit-transition-delay: 150ms;
|
80 |
-
-moz-transition-delay: 150ms;
|
81 |
-
-o-transition-delay: 150ms;
|
82 |
-
-ms-transition-delay: 150ms;
|
83 |
-
transition-delay: 150ms;
|
84 |
-
}
|
85 |
-
|
86 |
-
.no-touch .tp-open li:hover .tp-info {
|
87 |
-
left: 0px;
|
88 |
-
}
|
89 |
-
|
90 |
-
.tp-title {
|
91 |
-
padding: 10px 35px 10px 10px;
|
92 |
-
left: 0px;
|
93 |
-
}
|
94 |
-
|
95 |
-
.tp-title span:nth-child(2){
|
96 |
-
color: #aaa;
|
97 |
-
padding: 0 5px;
|
98 |
-
background: #F7F7F7;
|
99 |
-
right: 0px;
|
100 |
-
height: 100%;
|
101 |
-
line-height: 40px;
|
102 |
-
top: 0px;
|
103 |
-
position: absolute;
|
104 |
-
display: block;
|
105 |
-
}
|
106 |
-
|
107 |
-
.foogallery-stack-album * {
|
108 |
-
box-sizing: border-box;
|
109 |
-
}
|
110 |
-
|
111 |
-
.foogallery-stack-album .topbar {
|
112 |
-
position: relative;
|
113 |
-
padding: 10px 0;
|
114 |
-
margin: 0 0 20px;
|
115 |
-
box-shadow: 0 1px 0 #aaa, 0 -1px 0 #aaa;
|
116 |
-
}
|
117 |
-
|
118 |
-
.foogallery-stack-album .back {
|
119 |
-
width: 40px;
|
120 |
-
height: 40px;
|
121 |
-
position: absolute;
|
122 |
-
left: 50%;
|
123 |
-
top: 50%;
|
124 |
-
margin: -20px 0 0 -20px;
|
125 |
-
border-radius: 50%;
|
126 |
-
text-align: center;
|
127 |
-
line-height: 38px;
|
128 |
-
color: #999;
|
129 |
-
background: #ddd;
|
130 |
-
background: rgba(200,200,200,0.5);
|
131 |
-
cursor: pointer;
|
132 |
-
display: none;
|
133 |
-
-webkit-touch-callout: none;
|
134 |
-
-webkit-user-select: none;
|
135 |
-
-khtml-user-select: none;
|
136 |
-
-moz-user-select: none;
|
137 |
-
-ms-user-select: none;
|
138 |
-
user-select: none;
|
139 |
-
}
|
140 |
-
|
141 |
-
.no-touch .foogallery-stack-album .back:hover {
|
142 |
-
background: #666;
|
143 |
-
background: rgba(100,100,100,0.5);
|
144 |
-
color: #fff;
|
145 |
-
}
|
146 |
-
|
147 |
-
.foogallery-stack-album .topbar h2,
|
148 |
-
.foogallery-stack-album .topbar h3 {
|
149 |
-
display: inline-block;
|
150 |
-
width: 49%;
|
151 |
-
margin: 0;
|
152 |
-
}
|
153 |
-
|
154 |
-
.foogallery-stack-album .topbar h2 {
|
155 |
-
padding-right: 20px;
|
156 |
-
}
|
157 |
-
|
158 |
-
.foogallery-stack-album .topbar h3 {
|
159 |
-
text-align: right;
|
160 |
-
padding-left: 20px;
|
161 |
-
}
|
162 |
-
|
163 |
-
/* Loader */
|
164 |
-
|
165 |
-
.foogallery-stack-album .loader {
|
166 |
-
left: 50%;
|
167 |
-
position: absolute;
|
168 |
-
margin-left: -120px;
|
169 |
-
}
|
170 |
-
|
171 |
-
.foogallery-stack-album .loader i {
|
172 |
-
display: inline-block;
|
173 |
-
width: 40px;
|
174 |
-
height: 40px;
|
175 |
-
-webkit-animation: loading 1s linear infinite forwards;
|
176 |
-
-moz-animation: loading 1s linear infinite forwards;
|
177 |
-
-o-animation: loading 1s linear infinite forwards;
|
178 |
-
-ms-animation: loading 1s linear infinite forwards;
|
179 |
-
animation: loading 1s linear infinite forwards;
|
180 |
-
}
|
181 |
-
|
182 |
-
.foogallery-stack-album .loader i:nth-child(2){
|
183 |
-
-webkit-animation-delay: 0.1s;
|
184 |
-
-moz-animation-delay: 0.1s;
|
185 |
-
-o-animation-delay: 0.1s;
|
186 |
-
-ms-animation-delay: 0.1s;
|
187 |
-
animation-delay: 0.1s;
|
188 |
-
}
|
189 |
-
|
190 |
-
.foogallery-stack-album .loader i:nth-child(3){
|
191 |
-
-webkit-animation-delay: 0.2s;
|
192 |
-
-moz-animation-delay: 0.2s;
|
193 |
-
-o-animation-delay: 0.2s;
|
194 |
-
-ms-animation-delay: 0.2s;
|
195 |
-
animation-delay: 0.2s;
|
196 |
-
}
|
197 |
-
|
198 |
-
.foogallery-stack-album .loader i:nth-child(4){
|
199 |
-
-webkit-animation-delay: 0.3s;
|
200 |
-
-moz-animation-delay: 0.3s;
|
201 |
-
-o-animation-delay: 0.3s;
|
202 |
-
-ms-animation-delay: 0.3s;
|
203 |
-
animation-delay: 0.3s;
|
204 |
-
}
|
205 |
-
|
206 |
-
.foogallery-stack-album .loader i:nth-child(5){
|
207 |
-
-webkit-animation-delay: 0.4s;
|
208 |
-
-moz-animation-delay: 0.4s;
|
209 |
-
-o-animation-delay: 0.4s;
|
210 |
-
-ms-animation-delay: 0.4s;
|
211 |
-
animation-delay: 0.4s;
|
212 |
-
}
|
213 |
-
|
214 |
-
.foogallery-stack-album .loader i:nth-child(6){
|
215 |
-
-webkit-animation-delay: 0.5s;
|
216 |
-
-moz-animation-delay: 0.5s;
|
217 |
-
-o-animation-delay: 0.5s;
|
218 |
-
-ms-animation-delay: 0.5s;
|
219 |
-
animation-delay: 0.5s;
|
220 |
-
}
|
221 |
-
|
222 |
-
@-webkit-keyframes loading{
|
223 |
-
0%{
|
224 |
-
opacity: 0;
|
225 |
-
background-color: rgba(255,255,255,0.9);
|
226 |
-
}
|
227 |
-
|
228 |
-
100%{
|
229 |
-
opacity: 1;
|
230 |
-
-webkit-transform: scale(0.25) rotate(75deg);
|
231 |
-
background-color: rgba(155,155,155,0.9);
|
232 |
-
}
|
233 |
-
}
|
234 |
-
|
235 |
-
@-moz-keyframes loading{
|
236 |
-
0%{
|
237 |
-
opacity: 0;
|
238 |
-
background-color: rgba(255,255,255,0.9);
|
239 |
-
}
|
240 |
-
|
241 |
-
100%{
|
242 |
-
opacity: 1;
|
243 |
-
-moz-transform: scale(0.25) rotate(75deg);
|
244 |
-
background-color: rgba(155,155,155,0.9);
|
245 |
-
}
|
246 |
-
}
|
247 |
-
|
248 |
-
@-o-keyframes loading{
|
249 |
-
0%{
|
250 |
-
opacity: 0;
|
251 |
-
background-color: rgba(255,255,255,0.9);
|
252 |
-
}
|
253 |
-
|
254 |
-
100%{
|
255 |
-
opacity: 1;
|
256 |
-
-o-transform: scale(0.25) rotate(75deg);
|
257 |
-
background-color: rgba(155,155,155,0.9);
|
258 |
-
}
|
259 |
-
}
|
260 |
-
|
261 |
-
@-ms-keyframes loading{
|
262 |
-
0%{
|
263 |
-
opacity: 0;
|
264 |
-
background-color: rgba(255,255,255,0.9);
|
265 |
-
}
|
266 |
-
|
267 |
-
100%{
|
268 |
-
opacity: 1;
|
269 |
-
-ms-transform: scale(0.25) rotate(75deg);
|
270 |
-
background-color: rgba(155,155,155,0.9);
|
271 |
-
}
|
272 |
-
}
|
273 |
-
|
274 |
-
@keyframes loading{
|
275 |
-
0%{
|
276 |
-
opacity: 0;
|
277 |
-
background-color: rgba(255,255,255,0.9);
|
278 |
-
}
|
279 |
-
|
280 |
-
100%{
|
281 |
-
opacity: 1;
|
282 |
-
transform: scale(0.25) rotate(75deg);
|
283 |
-
background-color: rgba(155,155,155,0.9);
|
284 |
-
}
|
285 |
-
}
|
286 |
-
|
287 |
-
@media screen and (max-width: 680px){
|
288 |
-
.foogallery-stack-album .topbar h2, .foogallery-stack-album .topbar h3 { text-align: left; padding: 0; display: block;}
|
289 |
-
.foogallery-stack-album .back { left: auto; right: 0px; margin-left: 0px;}
|
290 |
}
|
1 |
+
.tp-grid {
|
2 |
+
list-style-type: none;
|
3 |
+
position: relative;
|
4 |
+
display: block;
|
5 |
+
}
|
6 |
+
|
7 |
+
.tp-grid li {
|
8 |
+
position: absolute;
|
9 |
+
cursor: pointer;
|
10 |
+
border: 10px solid #fff;
|
11 |
+
box-shadow: 0 2px 3px rgba(0,0,0,0.2);
|
12 |
+
display: none;
|
13 |
+
overflow: hidden;
|
14 |
+
-webkit-backface-visibility: hidden;
|
15 |
+
-moz-backface-visibility: hidden;
|
16 |
+
-o-backface-visibility: hidden;
|
17 |
+
-ms-backface-visibility: hidden;
|
18 |
+
backface-visibility: hidden;
|
19 |
+
}
|
20 |
+
|
21 |
+
.no-js .tp-grid li {
|
22 |
+
position: relative;
|
23 |
+
display: inline-block;
|
24 |
+
}
|
25 |
+
|
26 |
+
.tp-grid li a {
|
27 |
+
display: block;
|
28 |
+
outline: none;
|
29 |
+
}
|
30 |
+
|
31 |
+
.tp-grid li img {
|
32 |
+
display: block;
|
33 |
+
border: none;
|
34 |
+
}
|
35 |
+
|
36 |
+
.tp-info,
|
37 |
+
.tp-title {
|
38 |
+
position: absolute;
|
39 |
+
background: #fff;
|
40 |
+
line-height: 20px;
|
41 |
+
color: #333;
|
42 |
+
top: 40%;
|
43 |
+
width: 75%;
|
44 |
+
padding: 10px;
|
45 |
+
font-weight: 700;
|
46 |
+
text-align: right;
|
47 |
+
left: -100%;
|
48 |
+
box-shadow:
|
49 |
+
1px 1px 1px rgba(0,0,0,0.1),
|
50 |
+
5px 0 5px -3px rgba(0,0,0,0.4),
|
51 |
+
inset 0 0 5px rgba(0,0,0,0.04);
|
52 |
+
}
|
53 |
+
|
54 |
+
.tp-title-cover {
|
55 |
+
position: absolute;
|
56 |
+
top: 0;
|
57 |
+
bottom: 0;
|
58 |
+
left: 0;
|
59 |
+
right: 0;
|
60 |
+
}
|
61 |
+
|
62 |
+
.tp-open .tp-title-cover {
|
63 |
+
display: none;
|
64 |
+
}
|
65 |
+
|
66 |
+
.touch .tp-info {
|
67 |
+
left: 0px;
|
68 |
+
}
|
69 |
+
|
70 |
+
.no-touch .tp-info {
|
71 |
+
-webkit-transition: all 0.3s ease-in-out;
|
72 |
+
-moz-transition: all 0.3s ease-in-out;
|
73 |
+
-o-transition: all 0.3s ease-in-out;
|
74 |
+
-ms-transition: all 0.3s ease-in-out;
|
75 |
+
transition: all 0.3s ease-in-out;
|
76 |
+
}
|
77 |
+
|
78 |
+
.no-touch .tp-grid li:hover .tp-info {
|
79 |
+
-webkit-transition-delay: 150ms;
|
80 |
+
-moz-transition-delay: 150ms;
|
81 |
+
-o-transition-delay: 150ms;
|
82 |
+
-ms-transition-delay: 150ms;
|
83 |
+
transition-delay: 150ms;
|
84 |
+
}
|
85 |
+
|
86 |
+
.no-touch .tp-open li:hover .tp-info {
|
87 |
+
left: 0px;
|
88 |
+
}
|
89 |
+
|
90 |
+
.tp-title {
|
91 |
+
padding: 10px 35px 10px 10px;
|
92 |
+
left: 0px;
|
93 |
+
}
|
94 |
+
|
95 |
+
.tp-title span:nth-child(2){
|
96 |
+
color: #aaa;
|
97 |
+
padding: 0 5px;
|
98 |
+
background: #F7F7F7;
|
99 |
+
right: 0px;
|
100 |
+
height: 100%;
|
101 |
+
line-height: 40px;
|
102 |
+
top: 0px;
|
103 |
+
position: absolute;
|
104 |
+
display: block;
|
105 |
+
}
|
106 |
+
|
107 |
+
.foogallery-stack-album * {
|
108 |
+
box-sizing: border-box;
|
109 |
+
}
|
110 |
+
|
111 |
+
.foogallery-stack-album .topbar {
|
112 |
+
position: relative;
|
113 |
+
padding: 10px 0;
|
114 |
+
margin: 0 0 20px;
|
115 |
+
box-shadow: 0 1px 0 #aaa, 0 -1px 0 #aaa;
|
116 |
+
}
|
117 |
+
|
118 |
+
.foogallery-stack-album .back {
|
119 |
+
width: 40px;
|
120 |
+
height: 40px;
|
121 |
+
position: absolute;
|
122 |
+
left: 50%;
|
123 |
+
top: 50%;
|
124 |
+
margin: -20px 0 0 -20px;
|
125 |
+
border-radius: 50%;
|
126 |
+
text-align: center;
|
127 |
+
line-height: 38px;
|
128 |
+
color: #999;
|
129 |
+
background: #ddd;
|
130 |
+
background: rgba(200,200,200,0.5);
|
131 |
+
cursor: pointer;
|
132 |
+
display: none;
|
133 |
+
-webkit-touch-callout: none;
|
134 |
+
-webkit-user-select: none;
|
135 |
+
-khtml-user-select: none;
|
136 |
+
-moz-user-select: none;
|
137 |
+
-ms-user-select: none;
|
138 |
+
user-select: none;
|
139 |
+
}
|
140 |
+
|
141 |
+
.no-touch .foogallery-stack-album .back:hover {
|
142 |
+
background: #666;
|
143 |
+
background: rgba(100,100,100,0.5);
|
144 |
+
color: #fff;
|
145 |
+
}
|
146 |
+
|
147 |
+
.foogallery-stack-album .topbar h2,
|
148 |
+
.foogallery-stack-album .topbar h3 {
|
149 |
+
display: inline-block;
|
150 |
+
width: 49%;
|
151 |
+
margin: 0;
|
152 |
+
}
|
153 |
+
|
154 |
+
.foogallery-stack-album .topbar h2 {
|
155 |
+
padding-right: 20px;
|
156 |
+
}
|
157 |
+
|
158 |
+
.foogallery-stack-album .topbar h3 {
|
159 |
+
text-align: right;
|
160 |
+
padding-left: 20px;
|
161 |
+
}
|
162 |
+
|
163 |
+
/* Loader */
|
164 |
+
|
165 |
+
.foogallery-stack-album .loader {
|
166 |
+
left: 50%;
|
167 |
+
position: absolute;
|
168 |
+
margin-left: -120px;
|
169 |
+
}
|
170 |
+
|
171 |
+
.foogallery-stack-album .loader i {
|
172 |
+
display: inline-block;
|
173 |
+
width: 40px;
|
174 |
+
height: 40px;
|
175 |
+
-webkit-animation: loading 1s linear infinite forwards;
|
176 |
+
-moz-animation: loading 1s linear infinite forwards;
|
177 |
+
-o-animation: loading 1s linear infinite forwards;
|
178 |
+
-ms-animation: loading 1s linear infinite forwards;
|
179 |
+
animation: loading 1s linear infinite forwards;
|
180 |
+
}
|
181 |
+
|
182 |
+
.foogallery-stack-album .loader i:nth-child(2){
|
183 |
+
-webkit-animation-delay: 0.1s;
|
184 |
+
-moz-animation-delay: 0.1s;
|
185 |
+
-o-animation-delay: 0.1s;
|
186 |
+
-ms-animation-delay: 0.1s;
|
187 |
+
animation-delay: 0.1s;
|
188 |
+
}
|
189 |
+
|
190 |
+
.foogallery-stack-album .loader i:nth-child(3){
|
191 |
+
-webkit-animation-delay: 0.2s;
|
192 |
+
-moz-animation-delay: 0.2s;
|
193 |
+
-o-animation-delay: 0.2s;
|
194 |
+
-ms-animation-delay: 0.2s;
|
195 |
+
animation-delay: 0.2s;
|
196 |
+
}
|
197 |
+
|
198 |
+
.foogallery-stack-album .loader i:nth-child(4){
|
199 |
+
-webkit-animation-delay: 0.3s;
|
200 |
+
-moz-animation-delay: 0.3s;
|
201 |
+
-o-animation-delay: 0.3s;
|
202 |
+
-ms-animation-delay: 0.3s;
|
203 |
+
animation-delay: 0.3s;
|
204 |
+
}
|
205 |
+
|
206 |
+
.foogallery-stack-album .loader i:nth-child(5){
|
207 |
+
-webkit-animation-delay: 0.4s;
|
208 |
+
-moz-animation-delay: 0.4s;
|
209 |
+
-o-animation-delay: 0.4s;
|
210 |
+
-ms-animation-delay: 0.4s;
|
211 |
+
animation-delay: 0.4s;
|
212 |
+
}
|
213 |
+
|
214 |
+
.foogallery-stack-album .loader i:nth-child(6){
|
215 |
+
-webkit-animation-delay: 0.5s;
|
216 |
+
-moz-animation-delay: 0.5s;
|
217 |
+
-o-animation-delay: 0.5s;
|
218 |
+
-ms-animation-delay: 0.5s;
|
219 |
+
animation-delay: 0.5s;
|
220 |
+
}
|
221 |
+
|
222 |
+
@-webkit-keyframes loading{
|
223 |
+
0%{
|
224 |
+
opacity: 0;
|
225 |
+
background-color: rgba(255,255,255,0.9);
|
226 |
+
}
|
227 |
+
|
228 |
+
100%{
|
229 |
+
opacity: 1;
|
230 |
+
-webkit-transform: scale(0.25) rotate(75deg);
|
231 |
+
background-color: rgba(155,155,155,0.9);
|
232 |
+
}
|
233 |
+
}
|
234 |
+
|
235 |
+
@-moz-keyframes loading{
|
236 |
+
0%{
|
237 |
+
opacity: 0;
|
238 |
+
background-color: rgba(255,255,255,0.9);
|
239 |
+
}
|
240 |
+
|
241 |
+
100%{
|
242 |
+
opacity: 1;
|
243 |
+
-moz-transform: scale(0.25) rotate(75deg);
|
244 |
+
background-color: rgba(155,155,155,0.9);
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
@-o-keyframes loading{
|
249 |
+
0%{
|
250 |
+
opacity: 0;
|
251 |
+
background-color: rgba(255,255,255,0.9);
|
252 |
+
}
|
253 |
+
|
254 |
+
100%{
|
255 |
+
opacity: 1;
|
256 |
+
-o-transform: scale(0.25) rotate(75deg);
|
257 |
+
background-color: rgba(155,155,155,0.9);
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
@-ms-keyframes loading{
|
262 |
+
0%{
|
263 |
+
opacity: 0;
|
264 |
+
background-color: rgba(255,255,255,0.9);
|
265 |
+
}
|
266 |
+
|
267 |
+
100%{
|
268 |
+
opacity: 1;
|
269 |
+
-ms-transform: scale(0.25) rotate(75deg);
|
270 |
+
background-color: rgba(155,155,155,0.9);
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
@keyframes loading{
|
275 |
+
0%{
|
276 |
+
opacity: 0;
|
277 |
+
background-color: rgba(255,255,255,0.9);
|
278 |
+
}
|
279 |
+
|
280 |
+
100%{
|
281 |
+
opacity: 1;
|
282 |
+
transform: scale(0.25) rotate(75deg);
|
283 |
+
background-color: rgba(155,155,155,0.9);
|
284 |
+
}
|
285 |
+
}
|
286 |
+
|
287 |
+
@media screen and (max-width: 680px){
|
288 |
+
.foogallery-stack-album .topbar h2, .foogallery-stack-album .topbar h3 { text-align: left; padding: 0; display: block;}
|
289 |
+
.foogallery-stack-album .back { left: auto; right: 0px; margin-left: 0px;}
|
290 |
}
|
extensions/albums/functions.php
CHANGED
@@ -1,391 +1,391 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Builds up a FooGallery album shortcode
|
5 |
-
*
|
6 |
-
* @param $album_id
|
7 |
-
*
|
8 |
-
* @return string
|
9 |
-
*/
|
10 |
-
function foogallery_build_album_shortcode( $album_id ) {
|
11 |
-
return '[' . foogallery_album_shortcode_tag() . ' id="' . $album_id . '"]';
|
12 |
-
}
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Returns the album shortcode tag
|
16 |
-
*
|
17 |
-
* @return string
|
18 |
-
*/
|
19 |
-
function foogallery_album_shortcode_tag() {
|
20 |
-
return apply_filters( 'foogallery_album_shortcode_tag', FOOGALLERY_CPT_ALBUM );
|
21 |
-
}
|
22 |
-
|
23 |
-
/**
|
24 |
-
* Return all the album templates used within FooGallery
|
25 |
-
*
|
26 |
-
* @return array
|
27 |
-
*/
|
28 |
-
function foogallery_album_templates() {
|
29 |
-
$album_templates[] = array(
|
30 |
-
'slug' => 'default',
|
31 |
-
'name' => __( 'Responsive Album Layout', 'foogallery' ),
|
32 |
-
'fields' => array(
|
33 |
-
array(
|
34 |
-
'id' => 'thumbnail_dimensions',
|
35 |
-
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
36 |
-
'desc' => __( 'Choose the size of your gallery thumbnails.', 'foogallery' ),
|
37 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
38 |
-
'type' => 'thumb_size',
|
39 |
-
'default' => array(
|
40 |
-
'width' => get_option( 'thumbnail_size_w' ),
|
41 |
-
'height' => get_option( 'thumbnail_size_h' ),
|
42 |
-
'crop' => true,
|
43 |
-
),
|
44 |
-
),
|
45 |
-
array(
|
46 |
-
'id' => 'title_bg',
|
47 |
-
'title' => __( 'Title Background Color', 'foogallery' ),
|
48 |
-
'desc' => __( 'The color of the title that overlays the album thumbnails', 'foogallery' ),
|
49 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
50 |
-
'type' => 'colorpicker',
|
51 |
-
'default' => '#fff'
|
52 |
-
),
|
53 |
-
array(
|
54 |
-
'id' => 'title_font_color',
|
55 |
-
'title' => __( 'Title Text Color', 'foogallery' ),
|
56 |
-
'desc' => __( 'The color of the title text that overlays the album thumbnails', 'foogallery' ),
|
57 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
58 |
-
'type' => 'colorpicker',
|
59 |
-
'default' => '#000000'
|
60 |
-
),
|
61 |
-
array(
|
62 |
-
'id' => 'alignment',
|
63 |
-
'title' => __( 'Alignment', 'foogallery' ),
|
64 |
-
'desc' => __( 'The horizontal alignment of the gallery thumbnails inside the album.', 'foogallery' ),
|
65 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
66 |
-
'default' => 'alignment-left',
|
67 |
-
'type' => 'select',
|
68 |
-
'choices' => array(
|
69 |
-
'alignment-left' => __( 'Left', 'foogallery' ),
|
70 |
-
'alignment-center' => __( 'Center', 'foogallery' ),
|
71 |
-
'alignment-right' => __( 'Right', 'foogallery' ),
|
72 |
-
)
|
73 |
-
),
|
74 |
-
array(
|
75 |
-
'id' => 'gallery_link',
|
76 |
-
'title' => __( 'Gallery Link', 'foogallery' ),
|
77 |
-
'section' => __( 'URL Settings', 'foogallery' ),
|
78 |
-
'default' => '',
|
79 |
-
'type' => 'radio',
|
80 |
-
'spacer' => '<span class="spacer"></span>',
|
81 |
-
'choices' => array(
|
82 |
-
'' => __('Default', 'foogallery'),
|
83 |
-
'custom_url' => __('Custom URL', 'foogallery')
|
84 |
-
),
|
85 |
-
'desc' => __( 'You can choose to link each gallery to the default embedded gallery, or you can choose to link to the gallery custom URL (if set).', 'foogallery' ),
|
86 |
-
),
|
87 |
-
array(
|
88 |
-
'id' => 'gallery_link_format',
|
89 |
-
'title' => __( 'Gallery Link Format', 'foogallery' ),
|
90 |
-
'desc' => __( 'The format of the URL for each individual gallery in the album.', 'foogallery' ),
|
91 |
-
'section' => __( 'URL Settings', 'foogallery' ),
|
92 |
-
'type' => 'radio',
|
93 |
-
'choices' => array(
|
94 |
-
'default' => __('Pretty, e.g. ', 'foogallery') . '<code>/page-with-album/' . foogallery_album_gallery_url_slug() . '/some-gallery</code>',
|
95 |
-
'querystring' => __('Querystring e.g. ', 'foogallery') . '<code>/page-with-album?' . foogallery_album_gallery_url_slug() . '=some-gallery</code>'
|
96 |
-
),
|
97 |
-
'default' => foogallery_determine_best_link_format_default()
|
98 |
-
),
|
99 |
-
array(
|
100 |
-
'id' => 'url_help',
|
101 |
-
'title' => __( 'Please Note', 'foogallery' ),
|
102 |
-
'section' => __( 'URL Settings', 'foogallery' ),
|
103 |
-
'type' => 'help',
|
104 |
-
'help' => true,
|
105 |
-
'desc' => __( 'If you are getting 404\'s when clicking on the album galleries, then change to the querystring format. To force your rewrite rules to flush, simply deactivate and activate the albums extension again.', 'foogallery' ),
|
106 |
-
),
|
107 |
-
array(
|
108 |
-
'id' => 'album_hash',
|
109 |
-
'title' => __( 'Remember Scroll Position', 'foogallery' ),
|
110 |
-
'desc' => __( 'When a gallery is loaded in your album, the page is refreshed which means the scroll position will be lost .', 'foogallery' ),
|
111 |
-
'section' => __( 'URL Settings', 'foogallery' ),
|
112 |
-
'type' => 'radio',
|
113 |
-
'choices' => array(
|
114 |
-
'none' => __('Don\'t Remember', 'foogallery'),
|
115 |
-
'remember' => __('Remember Scroll Position', 'foogallery')
|
116 |
-
),
|
117 |
-
'default' => 'none'
|
118 |
-
),
|
119 |
-
array(
|
120 |
-
'id' => 'gallery_title_size',
|
121 |
-
'title' => __( 'Gallery Title Size', 'foogallery' ),
|
122 |
-
'desc' => __( 'The size of the title when displaying a gallery page.', 'foogallery' ),
|
123 |
-
'section' => __( 'Gallery Settings', 'foogallery' ),
|
124 |
-
'default' => 'h2',
|
125 |
-
'type' => 'select',
|
126 |
-
'choices' => array(
|
127 |
-
'h2' => __( 'H2', 'foogallery' ),
|
128 |
-
'h3' => __( 'H3', 'foogallery' ),
|
129 |
-
'h4' => __( 'H4', 'foogallery' ),
|
130 |
-
'h5' => __( 'H5', 'foogallery' ),
|
131 |
-
'h6' => __( 'H6', 'foogallery' ),
|
132 |
-
)
|
133 |
-
),
|
134 |
-
)
|
135 |
-
);
|
136 |
-
|
137 |
-
$album_templates[] = array(
|
138 |
-
'slug' => 'stack',
|
139 |
-
'name' => __( 'All-In-One Stack Album', 'foogallery' ),
|
140 |
-
'fields' => array(
|
141 |
-
array(
|
142 |
-
'id' => 'lightbox',
|
143 |
-
'title' => __( 'Lightbox', 'foogallery' ),
|
144 |
-
'desc' => __( 'Choose which lightbox you want to use to display images.', 'foogallery' ),
|
145 |
-
'type' => 'lightbox',
|
146 |
-
),
|
147 |
-
|
148 |
-
array(
|
149 |
-
'id' => 'thumbnail_dimensions',
|
150 |
-
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
151 |
-
'desc' => __( 'Choose the size of your image stack thumbnails.', 'foogallery' ),
|
152 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
153 |
-
'type' => 'thumb_size_no_crop',
|
154 |
-
'default' => array(
|
155 |
-
'width' => get_option( 'thumbnail_size_w' ),
|
156 |
-
'height' => get_option( 'thumbnail_size_h' ),
|
157 |
-
'crop' => true,
|
158 |
-
),
|
159 |
-
),
|
160 |
-
|
161 |
-
array(
|
162 |
-
'id' => 'random_angle',
|
163 |
-
'title' => __( 'Thumbnail Rotation', 'foogallery' ),
|
164 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
165 |
-
'desc' => __( 'Choose how thumbnails in each gallery are shown when clicking an image stack.', 'foogallery' ),
|
166 |
-
'type' => 'radio',
|
167 |
-
'default' => 'false',
|
168 |
-
'choices' => array(
|
169 |
-
'false' => __( 'Normal', 'foogallery' ),
|
170 |
-
'true' => __( 'Random Angles', 'foogallery' )
|
171 |
-
)
|
172 |
-
),
|
173 |
-
|
174 |
-
array(
|
175 |
-
'id' => 'gutter',
|
176 |
-
'title' => __( 'Thumbnail Gutter', 'foogallery' ),
|
177 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
178 |
-
'desc' => __( 'The spacing between each image stack.', 'foogallery' ),
|
179 |
-
'type' => 'number',
|
180 |
-
'default' => 50
|
181 |
-
),
|
182 |
-
|
183 |
-
array(
|
184 |
-
'id' => 'pile_angles',
|
185 |
-
'title' => __( 'Image Stack Angles', 'foogallery' ),
|
186 |
-
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
187 |
-
'desc' => __( 'The angle of the images behind the thumbnail in each image stack.', 'foogallery' ),
|
188 |
-
'type' => 'radio',
|
189 |
-
'default' => '1',
|
190 |
-
'choices' => array(
|
191 |
-
'1' => __( 'Low', 'foogallery' ),
|
192 |
-
'2' => __( 'Normal', 'foogallery' ),
|
193 |
-
'3' => __( 'More Than Normal', 'foogallery' ),
|
194 |
-
'5' => __( 'High', 'foogallery' ),
|
195 |
-
)
|
196 |
-
)
|
197 |
-
)
|
198 |
-
);
|
199 |
-
|
200 |
-
return apply_filters( 'foogallery_album_templates', $album_templates );
|
201 |
-
}
|
202 |
-
|
203 |
-
function foogallery_determine_best_link_format_default() {
|
204 |
-
global $wp_rewrite;
|
205 |
-
if ( '' === $wp_rewrite->permalink_structure ) {
|
206 |
-
//we are using ?page_id
|
207 |
-
return 'querystring';
|
208 |
-
}
|
209 |
-
|
210 |
-
//we are using permalinks
|
211 |
-
return 'default';
|
212 |
-
}
|
213 |
-
|
214 |
-
/**
|
215 |
-
* Returns the default album template
|
216 |
-
*
|
217 |
-
* @return string
|
218 |
-
*/
|
219 |
-
function foogallery_default_album_template() {
|
220 |
-
return foogallery_get_setting( 'album_template' );
|
221 |
-
}
|
222 |
-
|
223 |
-
/**
|
224 |
-
* Returns the gallery link url for an album
|
225 |
-
*
|
226 |
-
* @param $album FooGalleryAlbum
|
227 |
-
* @param $gallery FooGallery
|
228 |
-
*
|
229 |
-
* @return string
|
230 |
-
*/
|
231 |
-
function foogallery_album_build_gallery_link( $album, $gallery ) {
|
232 |
-
//first check if we want to use custom URL's
|
233 |
-
$gallery_link = $album->get_meta( 'default_gallery_link', '' );
|
234 |
-
|
235 |
-
if ( 'custom_url' === $gallery_link ) {
|
236 |
-
//check if the gallery has a custom url, and if so, then use it
|
237 |
-
$url = get_post_meta( $gallery->ID, 'custom_url', true );
|
238 |
-
}
|
239 |
-
|
240 |
-
if ( empty( $url ) ) {
|
241 |
-
$slug = foogallery_album_gallery_url_slug();
|
242 |
-
$format = $album->get_meta( 'default_gallery_link_format', 'default' );
|
243 |
-
|
244 |
-
if ( 'default' === $format && 'default' === foogallery_determine_best_link_format_default() ) {
|
245 |
-
$url = untrailingslashit( trailingslashit( get_permalink() ) . $slug . '/' . $gallery->slug );
|
246 |
-
} else {
|
247 |
-
$url = add_query_arg( $slug, $gallery->slug );
|
248 |
-
}
|
249 |
-
|
250 |
-
$use_hash = $album->get_meta( 'default_album_hash', 'remember' );
|
251 |
-
|
252 |
-
if ( 'remember' === $use_hash ) {
|
253 |
-
//add the album hash if required
|
254 |
-
$url .= '#' . $album->slug;
|
255 |
-
}
|
256 |
-
}
|
257 |
-
|
258 |
-
return apply_filters( 'foogallery_album_build_gallery_link', $url );
|
259 |
-
}
|
260 |
-
|
261 |
-
/**
|
262 |
-
* Returns the gallery slug used when generating gallery URL's
|
263 |
-
*
|
264 |
-
* @return string
|
265 |
-
*/
|
266 |
-
function foogallery_album_gallery_url_slug() {
|
267 |
-
$slug = foogallery_get_setting( 'album_gallery_slug', 'gallery' );
|
268 |
-
return apply_filters( 'foogallery_album_gallery_url_slug', $slug );
|
269 |
-
}
|
270 |
-
|
271 |
-
/**
|
272 |
-
* Returns the gallery link target for an album
|
273 |
-
*
|
274 |
-
* @param $album FooGalleryAlbum
|
275 |
-
* @param $gallery FooGallery
|
276 |
-
*
|
277 |
-
* @return string
|
278 |
-
*/
|
279 |
-
function foogallery_album_build_gallery_link_target( $album, $gallery ) {
|
280 |
-
//first check if we want to use custom URL's
|
281 |
-
$gallery_link = $album->get_meta( 'default_gallery_link', '' );
|
282 |
-
|
283 |
-
if ( 'custom_url' === $gallery_link ) {
|
284 |
-
//check if the gallery has a custom target, and if so, then use it
|
285 |
-
$target = get_post_meta( $gallery->ID, 'custom_target', true );
|
286 |
-
|
287 |
-
//check if the $target is 'default' and set to '_self'
|
288 |
-
if ( 'default' === $target ) {
|
289 |
-
$target = '_self';
|
290 |
-
}
|
291 |
-
}
|
292 |
-
|
293 |
-
if ( empty( $target ) ) {
|
294 |
-
$target = '_self';
|
295 |
-
}
|
296 |
-
|
297 |
-
return apply_filters( 'foogallery_album_build_gallery_link_target', $target );
|
298 |
-
}
|
299 |
-
|
300 |
-
function foogallery_album_get_current_gallery() {
|
301 |
-
$slug = foogallery_album_gallery_url_slug();
|
302 |
-
|
303 |
-
$gallery = get_query_var( $slug );
|
304 |
-
|
305 |
-
if ( empty( $gallery ) ) {
|
306 |
-
$gallery = safe_get_from_request( $slug );
|
307 |
-
}
|
308 |
-
|
309 |
-
return apply_filters( 'foogallery_album_get_current_gallery', $gallery );
|
310 |
-
}
|
311 |
-
|
312 |
-
function foogallery_album_remove_gallery_from_link() {
|
313 |
-
$gallery = foogallery_album_get_current_gallery();
|
314 |
-
$slug = foogallery_album_gallery_url_slug();
|
315 |
-
|
316 |
-
$url = untrailingslashit( remove_query_arg( $slug ) );
|
317 |
-
|
318 |
-
return str_replace( $slug . '/' . $gallery, '', $url);
|
319 |
-
}
|
320 |
-
|
321 |
-
/**
|
322 |
-
* Get a foogallery album template setting for the current foogallery that is being output to the frontend
|
323 |
-
* @param string $key
|
324 |
-
* @param string $default
|
325 |
-
*
|
326 |
-
* @return bool
|
327 |
-
*/
|
328 |
-
function foogallery_album_template_setting( $key, $default = '' ) {
|
329 |
-
global $current_foogallery_album;
|
330 |
-
global $current_foogallery_album_arguments;
|
331 |
-
global $current_foogallery_album_template;
|
332 |
-
|
333 |
-
$settings_key = "{$current_foogallery_album_template}_{$key}";
|
334 |
-
|
335 |
-
if ( $current_foogallery_album_arguments && array_key_exists( $key, $current_foogallery_album_arguments ) ) {
|
336 |
-
//try to get the value from the arguments
|
337 |
-
$value = $current_foogallery_album_arguments[ $key ];
|
338 |
-
|
339 |
-
} else if ( $current_foogallery_album->settings && array_key_exists( $settings_key, $current_foogallery_album->settings ) ) {
|
340 |
-
//then get the value out of the saved gallery settings
|
341 |
-
$value = $current_foogallery_album->settings[ $settings_key ];
|
342 |
-
} else {
|
343 |
-
//otherwise set it to the default
|
344 |
-
$value = $default;
|
345 |
-
}
|
346 |
-
|
347 |
-
$value = apply_filters( 'foogallery_album_template_setting-' . $key, $value );
|
348 |
-
|
349 |
-
return $value;
|
350 |
-
}
|
351 |
-
|
352 |
-
/**
|
353 |
-
* uninstall all albums and setting for albums
|
354 |
-
*/
|
355 |
-
function foogallery_album_uninstall() {
|
356 |
-
if ( !current_user_can( 'install_plugins' ) ) exit;
|
357 |
-
|
358 |
-
//delete all albums posts
|
359 |
-
global $wpdb;
|
360 |
-
$query = "SELECT p.ID FROM {$wpdb->posts} AS p WHERE p.post_type IN (%s)";
|
361 |
-
$gallery_post_ids = $wpdb->get_col( $wpdb->prepare( $query, FOOGALLERY_CPT_ALBUM ) );
|
362 |
-
|
363 |
-
if ( !empty( $gallery_post_ids ) ) {
|
364 |
-
$deleted = 0;
|
365 |
-
foreach ( $gallery_post_ids as $post_id ) {
|
366 |
-
$del = wp_delete_post( $post_id );
|
367 |
-
if ( false !== $del ) {
|
368 |
-
++$deleted;
|
369 |
-
}
|
370 |
-
}
|
371 |
-
}
|
372 |
-
}
|
373 |
-
|
374 |
-
/**
|
375 |
-
* Render a foogallery album
|
376 |
-
*
|
377 |
-
* @param $album_id int The id of the foogallery album you want to render
|
378 |
-
* @param array $args
|
379 |
-
*/
|
380 |
-
if (! function_exists( 'foogallery_render_album') ) {
|
381 |
-
function foogallery_render_album( $album_id, $args = array() ) {
|
382 |
-
//create new instance of template engine
|
383 |
-
$engine = new FooGallery_Album_Template_Loader();
|
384 |
-
|
385 |
-
$shortcode_args = wp_parse_args( $args, array(
|
386 |
-
'id' => $album_id
|
387 |
-
) );
|
388 |
-
|
389 |
-
$engine->render_template( $shortcode_args );
|
390 |
-
}
|
391 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Builds up a FooGallery album shortcode
|
5 |
+
*
|
6 |
+
* @param $album_id
|
7 |
+
*
|
8 |
+
* @return string
|
9 |
+
*/
|
10 |
+
function foogallery_build_album_shortcode( $album_id ) {
|
11 |
+
return '[' . foogallery_album_shortcode_tag() . ' id="' . $album_id . '"]';
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Returns the album shortcode tag
|
16 |
+
*
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
function foogallery_album_shortcode_tag() {
|
20 |
+
return apply_filters( 'foogallery_album_shortcode_tag', FOOGALLERY_CPT_ALBUM );
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Return all the album templates used within FooGallery
|
25 |
+
*
|
26 |
+
* @return array
|
27 |
+
*/
|
28 |
+
function foogallery_album_templates() {
|
29 |
+
$album_templates[] = array(
|
30 |
+
'slug' => 'default',
|
31 |
+
'name' => __( 'Responsive Album Layout', 'foogallery' ),
|
32 |
+
'fields' => array(
|
33 |
+
array(
|
34 |
+
'id' => 'thumbnail_dimensions',
|
35 |
+
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
36 |
+
'desc' => __( 'Choose the size of your gallery thumbnails.', 'foogallery' ),
|
37 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
38 |
+
'type' => 'thumb_size',
|
39 |
+
'default' => array(
|
40 |
+
'width' => get_option( 'thumbnail_size_w' ),
|
41 |
+
'height' => get_option( 'thumbnail_size_h' ),
|
42 |
+
'crop' => true,
|
43 |
+
),
|
44 |
+
),
|
45 |
+
array(
|
46 |
+
'id' => 'title_bg',
|
47 |
+
'title' => __( 'Title Background Color', 'foogallery' ),
|
48 |
+
'desc' => __( 'The color of the title that overlays the album thumbnails', 'foogallery' ),
|
49 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
50 |
+
'type' => 'colorpicker',
|
51 |
+
'default' => '#fff'
|
52 |
+
),
|
53 |
+
array(
|
54 |
+
'id' => 'title_font_color',
|
55 |
+
'title' => __( 'Title Text Color', 'foogallery' ),
|
56 |
+
'desc' => __( 'The color of the title text that overlays the album thumbnails', 'foogallery' ),
|
57 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
58 |
+
'type' => 'colorpicker',
|
59 |
+
'default' => '#000000'
|
60 |
+
),
|
61 |
+
array(
|
62 |
+
'id' => 'alignment',
|
63 |
+
'title' => __( 'Alignment', 'foogallery' ),
|
64 |
+
'desc' => __( 'The horizontal alignment of the gallery thumbnails inside the album.', 'foogallery' ),
|
65 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
66 |
+
'default' => 'alignment-left',
|
67 |
+
'type' => 'select',
|
68 |
+
'choices' => array(
|
69 |
+
'alignment-left' => __( 'Left', 'foogallery' ),
|
70 |
+
'alignment-center' => __( 'Center', 'foogallery' ),
|
71 |
+
'alignment-right' => __( 'Right', 'foogallery' ),
|
72 |
+
)
|
73 |
+
),
|
74 |
+
array(
|
75 |
+
'id' => 'gallery_link',
|
76 |
+
'title' => __( 'Gallery Link', 'foogallery' ),
|
77 |
+
'section' => __( 'URL Settings', 'foogallery' ),
|
78 |
+
'default' => '',
|
79 |
+
'type' => 'radio',
|
80 |
+
'spacer' => '<span class="spacer"></span>',
|
81 |
+
'choices' => array(
|
82 |
+
'' => __('Default', 'foogallery'),
|
83 |
+
'custom_url' => __('Custom URL', 'foogallery')
|
84 |
+
),
|
85 |
+
'desc' => __( 'You can choose to link each gallery to the default embedded gallery, or you can choose to link to the gallery custom URL (if set).', 'foogallery' ),
|
86 |
+
),
|
87 |
+
array(
|
88 |
+
'id' => 'gallery_link_format',
|
89 |
+
'title' => __( 'Gallery Link Format', 'foogallery' ),
|
90 |
+
'desc' => __( 'The format of the URL for each individual gallery in the album.', 'foogallery' ),
|
91 |
+
'section' => __( 'URL Settings', 'foogallery' ),
|
92 |
+
'type' => 'radio',
|
93 |
+
'choices' => array(
|
94 |
+
'default' => __('Pretty, e.g. ', 'foogallery') . '<code>/page-with-album/' . foogallery_album_gallery_url_slug() . '/some-gallery</code>',
|
95 |
+
'querystring' => __('Querystring e.g. ', 'foogallery') . '<code>/page-with-album?' . foogallery_album_gallery_url_slug() . '=some-gallery</code>'
|
96 |
+
),
|
97 |
+
'default' => foogallery_determine_best_link_format_default()
|
98 |
+
),
|
99 |
+
array(
|
100 |
+
'id' => 'url_help',
|
101 |
+
'title' => __( 'Please Note', 'foogallery' ),
|
102 |
+
'section' => __( 'URL Settings', 'foogallery' ),
|
103 |
+
'type' => 'help',
|
104 |
+
'help' => true,
|
105 |
+
'desc' => __( 'If you are getting 404\'s when clicking on the album galleries, then change to the querystring format. To force your rewrite rules to flush, simply deactivate and activate the albums extension again.', 'foogallery' ),
|
106 |
+
),
|
107 |
+
array(
|
108 |
+
'id' => 'album_hash',
|
109 |
+
'title' => __( 'Remember Scroll Position', 'foogallery' ),
|
110 |
+
'desc' => __( 'When a gallery is loaded in your album, the page is refreshed which means the scroll position will be lost .', 'foogallery' ),
|
111 |
+
'section' => __( 'URL Settings', 'foogallery' ),
|
112 |
+
'type' => 'radio',
|
113 |
+
'choices' => array(
|
114 |
+
'none' => __('Don\'t Remember', 'foogallery'),
|
115 |
+
'remember' => __('Remember Scroll Position', 'foogallery')
|
116 |
+
),
|
117 |
+
'default' => 'none'
|
118 |
+
),
|
119 |
+
array(
|
120 |
+
'id' => 'gallery_title_size',
|
121 |
+
'title' => __( 'Gallery Title Size', 'foogallery' ),
|
122 |
+
'desc' => __( 'The size of the title when displaying a gallery page.', 'foogallery' ),
|
123 |
+
'section' => __( 'Gallery Settings', 'foogallery' ),
|
124 |
+
'default' => 'h2',
|
125 |
+
'type' => 'select',
|
126 |
+
'choices' => array(
|
127 |
+
'h2' => __( 'H2', 'foogallery' ),
|
128 |
+
'h3' => __( 'H3', 'foogallery' ),
|
129 |
+
'h4' => __( 'H4', 'foogallery' ),
|
130 |
+
'h5' => __( 'H5', 'foogallery' ),
|
131 |
+
'h6' => __( 'H6', 'foogallery' ),
|
132 |
+
)
|
133 |
+
),
|
134 |
+
)
|
135 |
+
);
|
136 |
+
|
137 |
+
$album_templates[] = array(
|
138 |
+
'slug' => 'stack',
|
139 |
+
'name' => __( 'All-In-One Stack Album', 'foogallery' ),
|
140 |
+
'fields' => array(
|
141 |
+
array(
|
142 |
+
'id' => 'lightbox',
|
143 |
+
'title' => __( 'Lightbox', 'foogallery' ),
|
144 |
+
'desc' => __( 'Choose which lightbox you want to use to display images.', 'foogallery' ),
|
145 |
+
'type' => 'lightbox',
|
146 |
+
),
|
147 |
+
|
148 |
+
array(
|
149 |
+
'id' => 'thumbnail_dimensions',
|
150 |
+
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
151 |
+
'desc' => __( 'Choose the size of your image stack thumbnails.', 'foogallery' ),
|
152 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
153 |
+
'type' => 'thumb_size_no_crop',
|
154 |
+
'default' => array(
|
155 |
+
'width' => get_option( 'thumbnail_size_w' ),
|
156 |
+
'height' => get_option( 'thumbnail_size_h' ),
|
157 |
+
'crop' => true,
|
158 |
+
),
|
159 |
+
),
|
160 |
+
|
161 |
+
array(
|
162 |
+
'id' => 'random_angle',
|
163 |
+
'title' => __( 'Thumbnail Rotation', 'foogallery' ),
|
164 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
165 |
+
'desc' => __( 'Choose how thumbnails in each gallery are shown when clicking an image stack.', 'foogallery' ),
|
166 |
+
'type' => 'radio',
|
167 |
+
'default' => 'false',
|
168 |
+
'choices' => array(
|
169 |
+
'false' => __( 'Normal', 'foogallery' ),
|
170 |
+
'true' => __( 'Random Angles', 'foogallery' )
|
171 |
+
)
|
172 |
+
),
|
173 |
+
|
174 |
+
array(
|
175 |
+
'id' => 'gutter',
|
176 |
+
'title' => __( 'Thumbnail Gutter', 'foogallery' ),
|
177 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
178 |
+
'desc' => __( 'The spacing between each image stack.', 'foogallery' ),
|
179 |
+
'type' => 'number',
|
180 |
+
'default' => 50
|
181 |
+
),
|
182 |
+
|
183 |
+
array(
|
184 |
+
'id' => 'pile_angles',
|
185 |
+
'title' => __( 'Image Stack Angles', 'foogallery' ),
|
186 |
+
'section' => __( 'Thumbnail Settings', 'foogallery' ),
|
187 |
+
'desc' => __( 'The angle of the images behind the thumbnail in each image stack.', 'foogallery' ),
|
188 |
+
'type' => 'radio',
|
189 |
+
'default' => '1',
|
190 |
+
'choices' => array(
|
191 |
+
'1' => __( 'Low', 'foogallery' ),
|
192 |
+
'2' => __( 'Normal', 'foogallery' ),
|
193 |
+
'3' => __( 'More Than Normal', 'foogallery' ),
|
194 |
+
'5' => __( 'High', 'foogallery' ),
|
195 |
+
)
|
196 |
+
)
|
197 |
+
)
|
198 |
+
);
|
199 |
+
|
200 |
+
return apply_filters( 'foogallery_album_templates', $album_templates );
|
201 |
+
}
|
202 |
+
|
203 |
+
function foogallery_determine_best_link_format_default() {
|
204 |
+
global $wp_rewrite;
|
205 |
+
if ( '' === $wp_rewrite->permalink_structure ) {
|
206 |
+
//we are using ?page_id
|
207 |
+
return 'querystring';
|
208 |
+
}
|
209 |
+
|
210 |
+
//we are using permalinks
|
211 |
+
return 'default';
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* Returns the default album template
|
216 |
+
*
|
217 |
+
* @return string
|
218 |
+
*/
|
219 |
+
function foogallery_default_album_template() {
|
220 |
+
return foogallery_get_setting( 'album_template' );
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Returns the gallery link url for an album
|
225 |
+
*
|
226 |
+
* @param $album FooGalleryAlbum
|
227 |
+
* @param $gallery FooGallery
|
228 |
+
*
|
229 |
+
* @return string
|
230 |
+
*/
|
231 |
+
function foogallery_album_build_gallery_link( $album, $gallery ) {
|
232 |
+
//first check if we want to use custom URL's
|
233 |
+
$gallery_link = $album->get_meta( 'default_gallery_link', '' );
|
234 |
+
|
235 |
+
if ( 'custom_url' === $gallery_link ) {
|
236 |
+
//check if the gallery has a custom url, and if so, then use it
|
237 |
+
$url = get_post_meta( $gallery->ID, 'custom_url', true );
|
238 |
+
}
|
239 |
+
|
240 |
+
if ( empty( $url ) ) {
|
241 |
+
$slug = foogallery_album_gallery_url_slug();
|
242 |
+
$format = $album->get_meta( 'default_gallery_link_format', 'default' );
|
243 |
+
|
244 |
+
if ( 'default' === $format && 'default' === foogallery_determine_best_link_format_default() ) {
|
245 |
+
$url = untrailingslashit( trailingslashit( get_permalink() ) . $slug . '/' . $gallery->slug );
|
246 |
+
} else {
|
247 |
+
$url = add_query_arg( $slug, $gallery->slug );
|
248 |
+
}
|
249 |
+
|
250 |
+
$use_hash = $album->get_meta( 'default_album_hash', 'remember' );
|
251 |
+
|
252 |
+
if ( 'remember' === $use_hash ) {
|
253 |
+
//add the album hash if required
|
254 |
+
$url .= '#' . $album->slug;
|
255 |
+
}
|
256 |
+
}
|
257 |
+
|
258 |
+
return apply_filters( 'foogallery_album_build_gallery_link', $url );
|
259 |
+
}
|
260 |
+
|
261 |
+
/**
|
262 |
+
* Returns the gallery slug used when generating gallery URL's
|
263 |
+
*
|
264 |
+
* @return string
|
265 |
+
*/
|
266 |
+
function foogallery_album_gallery_url_slug() {
|
267 |
+
$slug = foogallery_get_setting( 'album_gallery_slug', 'gallery' );
|
268 |
+
return apply_filters( 'foogallery_album_gallery_url_slug', $slug );
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Returns the gallery link target for an album
|
273 |
+
*
|
274 |
+
* @param $album FooGalleryAlbum
|
275 |
+
* @param $gallery FooGallery
|
276 |
+
*
|
277 |
+
* @return string
|
278 |
+
*/
|
279 |
+
function foogallery_album_build_gallery_link_target( $album, $gallery ) {
|
280 |
+
//first check if we want to use custom URL's
|
281 |
+
$gallery_link = $album->get_meta( 'default_gallery_link', '' );
|
282 |
+
|
283 |
+
if ( 'custom_url' === $gallery_link ) {
|
284 |
+
//check if the gallery has a custom target, and if so, then use it
|
285 |
+
$target = get_post_meta( $gallery->ID, 'custom_target', true );
|
286 |
+
|
287 |
+
//check if the $target is 'default' and set to '_self'
|
288 |
+
if ( 'default' === $target ) {
|
289 |
+
$target = '_self';
|
290 |
+
}
|
291 |
+
}
|
292 |
+
|
293 |
+
if ( empty( $target ) ) {
|
294 |
+
$target = '_self';
|
295 |
+
}
|
296 |
+
|
297 |
+
return apply_filters( 'foogallery_album_build_gallery_link_target', $target );
|
298 |
+
}
|
299 |
+
|
300 |
+
function foogallery_album_get_current_gallery() {
|
301 |
+
$slug = foogallery_album_gallery_url_slug();
|
302 |
+
|
303 |
+
$gallery = get_query_var( $slug );
|
304 |
+
|
305 |
+
if ( empty( $gallery ) ) {
|
306 |
+
$gallery = safe_get_from_request( $slug );
|
307 |
+
}
|
308 |
+
|
309 |
+
return apply_filters( 'foogallery_album_get_current_gallery', $gallery );
|
310 |
+
}
|
311 |
+
|
312 |
+
function foogallery_album_remove_gallery_from_link() {
|
313 |
+
$gallery = foogallery_album_get_current_gallery();
|
314 |
+
$slug = foogallery_album_gallery_url_slug();
|
315 |
+
|
316 |
+
$url = untrailingslashit( remove_query_arg( $slug ) );
|
317 |
+
|
318 |
+
return str_replace( $slug . '/' . $gallery, '', $url);
|
319 |
+
}
|
320 |
+
|
321 |
+
/**
|
322 |
+
* Get a foogallery album template setting for the current foogallery that is being output to the frontend
|
323 |
+
* @param string $key
|
324 |
+
* @param string $default
|
325 |
+
*
|
326 |
+
* @return bool
|
327 |
+
*/
|
328 |
+
function foogallery_album_template_setting( $key, $default = '' ) {
|
329 |
+
global $current_foogallery_album;
|
330 |
+
global $current_foogallery_album_arguments;
|
331 |
+
global $current_foogallery_album_template;
|
332 |
+
|
333 |
+
$settings_key = "{$current_foogallery_album_template}_{$key}";
|
334 |
+
|
335 |
+
if ( $current_foogallery_album_arguments && array_key_exists( $key, $current_foogallery_album_arguments ) ) {
|
336 |
+
//try to get the value from the arguments
|
337 |
+
$value = $current_foogallery_album_arguments[ $key ];
|
338 |
+
|
339 |
+
} else if ( $current_foogallery_album->settings && array_key_exists( $settings_key, $current_foogallery_album->settings ) ) {
|
340 |
+
//then get the value out of the saved gallery settings
|
341 |
+
$value = $current_foogallery_album->settings[ $settings_key ];
|
342 |
+
} else {
|
343 |
+
//otherwise set it to the default
|
344 |
+
$value = $default;
|
345 |
+
}
|
346 |
+
|
347 |
+
$value = apply_filters( 'foogallery_album_template_setting-' . $key, $value );
|
348 |
+
|
349 |
+
return $value;
|
350 |
+
}
|
351 |
+
|
352 |
+
/**
|
353 |
+
* uninstall all albums and setting for albums
|
354 |
+
*/
|
355 |
+
function foogallery_album_uninstall() {
|
356 |
+
if ( !current_user_can( 'install_plugins' ) ) exit;
|
357 |
+
|
358 |
+
//delete all albums posts
|
359 |
+
global $wpdb;
|
360 |
+
$query = "SELECT p.ID FROM {$wpdb->posts} AS p WHERE p.post_type IN (%s)";
|
361 |
+
$gallery_post_ids = $wpdb->get_col( $wpdb->prepare( $query, FOOGALLERY_CPT_ALBUM ) );
|
362 |
+
|
363 |
+
if ( !empty( $gallery_post_ids ) ) {
|
364 |
+
$deleted = 0;
|
365 |
+
foreach ( $gallery_post_ids as $post_id ) {
|
366 |
+
$del = wp_delete_post( $post_id );
|
367 |
+
if ( false !== $del ) {
|
368 |
+
++$deleted;
|
369 |
+
}
|
370 |
+
}
|
371 |
+
}
|
372 |
+
}
|
373 |
+
|
374 |
+
/**
|
375 |
+
* Render a foogallery album
|
376 |
+
*
|
377 |
+
* @param $album_id int The id of the foogallery album you want to render
|
378 |
+
* @param array $args
|
379 |
+
*/
|
380 |
+
if (! function_exists( 'foogallery_render_album') ) {
|
381 |
+
function foogallery_render_album( $album_id, $args = array() ) {
|
382 |
+
//create new instance of template engine
|
383 |
+
$engine = new FooGallery_Album_Template_Loader();
|
384 |
+
|
385 |
+
$shortcode_args = wp_parse_args( $args, array(
|
386 |
+
'id' => $album_id
|
387 |
+
) );
|
388 |
+
|
389 |
+
$engine->render_template( $shortcode_args );
|
390 |
+
}
|
391 |
}
|
extensions/albums/js/admin-foogallery-album.js
CHANGED
@@ -1,149 +1,149 @@
|
|
1 |
-
(function(FOOGALLERYALBUM, $, undefined) {
|
2 |
-
|
3 |
-
FOOGALLERYALBUM.bindElements = function() {
|
4 |
-
$('.foogallery-album-gallery-list')
|
5 |
-
.on('click', '.foogallery-gallery-select', function(e) {
|
6 |
-
e.stopPropagation();
|
7 |
-
$(this).toggleClass('selected');
|
8 |
-
FOOGALLERYALBUM.changeSelection();
|
9 |
-
})
|
10 |
-
.sortable({
|
11 |
-
items: 'li',
|
12 |
-
distance: 10,
|
13 |
-
placeholder: 'attachment placeholder',
|
14 |
-
stop : function() {
|
15 |
-
FOOGALLERYALBUM.changeSelection();
|
16 |
-
}
|
17 |
-
});
|
18 |
-
|
19 |
-
//init any colorpickers
|
20 |
-
$('.colorpicker').spectrum({
|
21 |
-
preferredFormat: "rgb",
|
22 |
-
showInput: true,
|
23 |
-
clickoutFiresChange: true
|
24 |
-
});
|
25 |
-
|
26 |
-
$('.foogallery-album-info-modal').prependTo('body');
|
27 |
-
};
|
28 |
-
|
29 |
-
FOOGALLERYALBUM.changeSelection = function() {
|
30 |
-
var ids = '',
|
31 |
-
none = true;
|
32 |
-
$('.foogallery-gallery-select.selected').each(function() {
|
33 |
-
ids += $(this).data('foogallery-id') + ',';
|
34 |
-
none = false;
|
35 |
-
});
|
36 |
-
|
37 |
-
if (!none) {
|
38 |
-
ids = ids.substring(0, ids.length - 1);
|
39 |
-
}
|
40 |
-
//build up the list of ids
|
41 |
-
$('#foogallery_album_galleries').val(ids);
|
42 |
-
};
|
43 |
-
|
44 |
-
FOOGALLERYALBUM.initSettings = function() {
|
45 |
-
$('#FooGallerySettings_AlbumTemplate').change(function() {
|
46 |
-
var $this = $(this),
|
47 |
-
selectedTemplate = $this.val();
|
48 |
-
|
49 |
-
//hide all template fields
|
50 |
-
$('.foogallery-album-metabox-settings .foogallery_template_field').not('.foogallery_template_field_selector').hide();
|
51 |
-
|
52 |
-
//show all fields for the selected template only
|
53 |
-
$('.foogallery-album-metabox-settings .foogallery_template_field-' + selectedTemplate).show();
|
54 |
-
|
55 |
-
//trigger a change so custom template js can do something
|
56 |
-
FOOGALLERYALBUM.triggerTemplateChangedEvent();
|
57 |
-
});
|
58 |
-
|
59 |
-
//trigger this onload too!
|
60 |
-
FOOGALLERYALBUM.triggerTemplateChangedEvent();
|
61 |
-
};
|
62 |
-
|
63 |
-
FOOGALLERYALBUM.triggerTemplateChangedEvent = function() {
|
64 |
-
var selectedTemplate = $('#FooGallerySettings_AlbumTemplate').val();
|
65 |
-
$('body').trigger('foogallery-album-template-changed-' + selectedTemplate );
|
66 |
-
};
|
67 |
-
|
68 |
-
FOOGALLERYALBUM.initAlbumInfoButtons = function() {
|
69 |
-
$('.foogallery-album-gallery-list').on('click', 'a.info', function(e) {
|
70 |
-
|
71 |
-
e.preventDefault();
|
72 |
-
|
73 |
-
e.stopPropagation();
|
74 |
-
|
75 |
-
var $this = $(this),
|
76 |
-
$modal = $('.foogallery-album-info-modal'),
|
77 |
-
$spinner = $modal.find('.media-frame-title .spinner'),
|
78 |
-
$nonce = $modal.find('#foogallery_album_gallery_details_nonce'),
|
79 |
-
$details = $modal.find('.gallery-details'),
|
80 |
-
data = 'action=foogallery_get_gallery_details' +
|
81 |
-
'&foogallery_id=' + $this.data('gallery-id') +
|
82 |
-
'&_wpnonce=' + $nonce.val() +
|
83 |
-
'&_wp_http_referer=' + encodeURIComponent($('input[name="_wp_http_referer"]').val());
|
84 |
-
|
85 |
-
$details.html( $details.data('loading') + $this.data('gallery-title') + '...' );
|
86 |
-
$spinner.addClass('is-active');
|
87 |
-
|
88 |
-
$.ajax({
|
89 |
-
type: "POST",
|
90 |
-
url: ajaxurl,
|
91 |
-
data: data,
|
92 |
-
success: function(data) {
|
93 |
-
$details.html(data);
|
94 |
-
},
|
95 |
-
complete: function() {
|
96 |
-
$spinner.removeClass('is-active');
|
97 |
-
}
|
98 |
-
});
|
99 |
-
|
100 |
-
$modal.show();
|
101 |
-
$('.media-modal-backdrop').show();
|
102 |
-
});
|
103 |
-
|
104 |
-
$('.foogallery-album-info-modal .gallery-details-save').on('click', function(e) {
|
105 |
-
e.preventDefault();
|
106 |
-
|
107 |
-
var $this = $(this),
|
108 |
-
$modal = $('.foogallery-album-info-modal'),
|
109 |
-
$spinner = $modal.find('.media-frame-toolbar .spinner'),
|
110 |
-
$nonce = $modal.find('#foogallery_album_gallery_details_nonce'),
|
111 |
-
$form = $modal.find('form[name="foogallery_gallery_details"]'),
|
112 |
-
data = 'action=foogallery_save_gallery_details' +
|
113 |
-
'&_wpnonce=' + $nonce.val() +
|
114 |
-
'&_wp_http_referer=' + encodeURIComponent($('input[name="_wp_http_referer"]').val()) +
|
115 |
-
'& ' + $form.serialize();
|
116 |
-
|
117 |
-
$this.attr('disabled', 'disabled');
|
118 |
-
$spinner.addClass('is-active');
|
119 |
-
|
120 |
-
$.ajax({
|
121 |
-
type: "POST",
|
122 |
-
url: ajaxurl,
|
123 |
-
data: data,
|
124 |
-
success: function() {
|
125 |
-
$('.foogallery-album-info-modal').hide();
|
126 |
-
$('.media-modal-backdrop').hide();
|
127 |
-
},
|
128 |
-
complete: function() {
|
129 |
-
$spinner.removeClass('is-active');
|
130 |
-
$this.removeAttr('disabled');
|
131 |
-
}
|
132 |
-
});
|
133 |
-
});
|
134 |
-
|
135 |
-
$('.foogallery-album-info-modal .media-modal-close').on('click', function() {
|
136 |
-
$('.foogallery-album-info-modal').hide();
|
137 |
-
$('.media-modal-backdrop').hide();
|
138 |
-
});
|
139 |
-
};
|
140 |
-
|
141 |
-
$(function() { //wait for ready
|
142 |
-
FOOGALLERYALBUM.bindElements();
|
143 |
-
|
144 |
-
FOOGALLERYALBUM.initSettings();
|
145 |
-
|
146 |
-
FOOGALLERYALBUM.initAlbumInfoButtons();
|
147 |
-
});
|
148 |
-
|
149 |
}(window.FOOGALLERYALBUM = window.FOOGALLERYALBUM || {}, jQuery));
|
1 |
+
(function(FOOGALLERYALBUM, $, undefined) {
|
2 |
+
|
3 |
+
FOOGALLERYALBUM.bindElements = function() {
|
4 |
+
$('.foogallery-album-gallery-list')
|
5 |
+
.on('click', '.foogallery-gallery-select', function(e) {
|
6 |
+
e.stopPropagation();
|
7 |
+
$(this).toggleClass('selected');
|
8 |
+
FOOGALLERYALBUM.changeSelection();
|
9 |
+
})
|
10 |
+
.sortable({
|
11 |
+
items: 'li',
|
12 |
+
distance: 10,
|
13 |
+
placeholder: 'attachment placeholder',
|
14 |
+
stop : function() {
|
15 |
+
FOOGALLERYALBUM.changeSelection();
|
16 |
+
}
|
17 |
+
});
|
18 |
+
|
19 |
+
//init any colorpickers
|
20 |
+
$('.colorpicker').spectrum({
|
21 |
+
preferredFormat: "rgb",
|
22 |
+
showInput: true,
|
23 |
+
clickoutFiresChange: true
|
24 |
+
});
|
25 |
+
|
26 |
+
$('.foogallery-album-info-modal').prependTo('body');
|
27 |
+
};
|
28 |
+
|
29 |
+
FOOGALLERYALBUM.changeSelection = function() {
|
30 |
+
var ids = '',
|
31 |
+
none = true;
|
32 |
+
$('.foogallery-gallery-select.selected').each(function() {
|
33 |
+
ids += $(this).data('foogallery-id') + ',';
|
34 |
+
none = false;
|
35 |
+
});
|
36 |
+
|
37 |
+
if (!none) {
|
38 |
+
ids = ids.substring(0, ids.length - 1);
|
39 |
+
}
|
40 |
+
//build up the list of ids
|
41 |
+
$('#foogallery_album_galleries').val(ids);
|
42 |
+
};
|
43 |
+
|
44 |
+
FOOGALLERYALBUM.initSettings = function() {
|
45 |
+
$('#FooGallerySettings_AlbumTemplate').change(function() {
|
46 |
+
var $this = $(this),
|
47 |
+
selectedTemplate = $this.val();
|
48 |
+
|
49 |
+
//hide all template fields
|
50 |
+
$('.foogallery-album-metabox-settings .foogallery_template_field').not('.foogallery_template_field_selector').hide();
|
51 |
+
|
52 |
+
//show all fields for the selected template only
|
53 |
+
$('.foogallery-album-metabox-settings .foogallery_template_field-' + selectedTemplate).show();
|
54 |
+
|
55 |
+
//trigger a change so custom template js can do something
|
56 |
+
FOOGALLERYALBUM.triggerTemplateChangedEvent();
|
57 |
+
});
|
58 |
+
|
59 |
+
//trigger this onload too!
|
60 |
+
FOOGALLERYALBUM.triggerTemplateChangedEvent();
|
61 |
+
};
|
62 |
+
|
63 |
+
FOOGALLERYALBUM.triggerTemplateChangedEvent = function() {
|
64 |
+
var selectedTemplate = $('#FooGallerySettings_AlbumTemplate').val();
|
65 |
+
$('body').trigger('foogallery-album-template-changed-' + selectedTemplate );
|
66 |
+
};
|
67 |
+
|
68 |
+
FOOGALLERYALBUM.initAlbumInfoButtons = function() {
|
69 |
+
$('.foogallery-album-gallery-list').on('click', 'a.info', function(e) {
|
70 |
+
|
71 |
+
e.preventDefault();
|
72 |
+
|
73 |
+
e.stopPropagation();
|
74 |
+
|
75 |
+
var $this = $(this),
|
76 |
+
$modal = $('.foogallery-album-info-modal'),
|
77 |
+
$spinner = $modal.find('.media-frame-title .spinner'),
|
78 |
+
$nonce = $modal.find('#foogallery_album_gallery_details_nonce'),
|
79 |
+
$details = $modal.find('.gallery-details'),
|
80 |
+
data = 'action=foogallery_get_gallery_details' +
|
81 |
+
'&foogallery_id=' + $this.data('gallery-id') +
|
82 |
+
'&_wpnonce=' + $nonce.val() +
|
83 |
+
'&_wp_http_referer=' + encodeURIComponent($('input[name="_wp_http_referer"]').val());
|
84 |
+
|
85 |
+
$details.html( $details.data('loading') + $this.data('gallery-title') + '...' );
|
86 |
+
$spinner.addClass('is-active');
|
87 |
+
|
88 |
+
$.ajax({
|
89 |
+
type: "POST",
|
90 |
+
url: ajaxurl,
|
91 |
+
data: data,
|
92 |
+
success: function(data) {
|
93 |
+
$details.html(data);
|
94 |
+
},
|
95 |
+
complete: function() {
|
96 |
+
$spinner.removeClass('is-active');
|
97 |
+
}
|
98 |
+
});
|
99 |
+
|
100 |
+
$modal.show();
|
101 |
+
$('.media-modal-backdrop').show();
|
102 |
+
});
|
103 |
+
|
104 |
+
$('.foogallery-album-info-modal .gallery-details-save').on('click', function(e) {
|
105 |
+
e.preventDefault();
|
106 |
+
|
107 |
+
var $this = $(this),
|
108 |
+
$modal = $('.foogallery-album-info-modal'),
|
109 |
+
$spinner = $modal.find('.media-frame-toolbar .spinner'),
|
110 |
+
$nonce = $modal.find('#foogallery_album_gallery_details_nonce'),
|
111 |
+
$form = $modal.find('form[name="foogallery_gallery_details"]'),
|
112 |
+
data = 'action=foogallery_save_gallery_details' +
|
113 |
+
'&_wpnonce=' + $nonce.val() +
|
114 |
+
'&_wp_http_referer=' + encodeURIComponent($('input[name="_wp_http_referer"]').val()) +
|
115 |
+
'& ' + $form.serialize();
|
116 |
+
|
117 |
+
$this.attr('disabled', 'disabled');
|
118 |
+
$spinner.addClass('is-active');
|
119 |
+
|
120 |
+
$.ajax({
|
121 |
+
type: "POST",
|
122 |
+
url: ajaxurl,
|
123 |
+
data: data,
|
124 |
+
success: function() {
|
125 |
+
$('.foogallery-album-info-modal').hide();
|
126 |
+
$('.media-modal-backdrop').hide();
|
127 |
+
},
|
128 |
+
complete: function() {
|
129 |
+
$spinner.removeClass('is-active');
|
130 |
+
$this.removeAttr('disabled');
|
131 |
+
}
|
132 |
+
});
|
133 |
+
});
|
134 |
+
|
135 |
+
$('.foogallery-album-info-modal .media-modal-close').on('click', function() {
|
136 |
+
$('.foogallery-album-info-modal').hide();
|
137 |
+
$('.media-modal-backdrop').hide();
|
138 |
+
});
|
139 |
+
};
|
140 |
+
|
141 |
+
$(function() { //wait for ready
|
142 |
+
FOOGALLERYALBUM.bindElements();
|
143 |
+
|
144 |
+
FOOGALLERYALBUM.initSettings();
|
145 |
+
|
146 |
+
FOOGALLERYALBUM.initAlbumInfoButtons();
|
147 |
+
});
|
148 |
+
|
149 |
}(window.FOOGALLERYALBUM = window.FOOGALLERYALBUM || {}, jQuery));
|
extensions/albums/js/album-stack.js
CHANGED
@@ -1,870 +1,870 @@
|
|
1 |
-
/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
|
2 |
-
* Build: http://modernizr.com/download/#-csstransitions-prefixed-testprop-testallprops-domprefixes
|
3 |
-
*/
|
4 |
-
if (!window.FooGalleryStackAlbumModernizr) {
|
5 |
-
window.FooGalleryStackAlbumModernizr=function(a,b,c){function w(a){i.cssText=a}function x(a,b){return w(prefixes.join(a+";")+(b||""))}function y(a,b){return typeof a===b}function z(a,b){return!!~(""+a).indexOf(b)}function A(a,b){for(var d in a){var e=a[d];if(!z(e,"-")&&i[e]!==c)return b=="pfx"?e:!0}return!1}function B(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:y(f,"function")?f.bind(d||b):f}return!1}function C(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+m.join(d+" ")+d).split(" ");return y(b,"string")||y(b,"undefined")?A(e,b):(e=(a+" "+n.join(d+" ")+d).split(" "),B(e,b,c))}var d="2.8.3",e={},f=b.documentElement,g="modernizr",h=b.createElement(g),i=h.style,j,k={}.toString,l="Webkit Moz O ms",m=l.split(" "),n=l.toLowerCase().split(" "),o={},p={},q={},r=[],s=r.slice,t,u={}.hasOwnProperty,v;!y(u,"undefined")&&!y(u.call,"undefined")?v=function(a,b){return u.call(a,b)}:v=function(a,b){return b in a&&y(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.csstransitions=function(){return C("transition")};for(var D in o)v(o,D)&&(t=D.toLowerCase(),e[t]=o[D](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)v(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},w(""),h=j=null,e._version=d,e._domPrefixes=n,e._cssomPrefixes=m,e.testProp=function(a){return A([a])},e.testAllProps=C,e.prefixed=function(a,b,c){return b?C(a,b,c):C(a,"pfx")},e}(this,this.document);
|
6 |
-
}
|
7 |
-
|
8 |
-
/**
|
9 |
-
* jquery.stapel.js v1.0.0
|
10 |
-
* http://www.codrops.com
|
11 |
-
*
|
12 |
-
* Licensed under the MIT license.
|
13 |
-
* http://www.opensource.org/licenses/mit-license.php
|
14 |
-
*
|
15 |
-
* Copyright 2012, Codrops
|
16 |
-
* http://www.codrops.com
|
17 |
-
*/
|
18 |
-
;( function( $, window, undefined ) {
|
19 |
-
|
20 |
-
'use strict';
|
21 |
-
|
22 |
-
/*
|
23 |
-
* debouncedresize: special jQuery event that happens once after a window resize
|
24 |
-
*
|
25 |
-
* latest version and complete README available on Github:
|
26 |
-
* https://github.com/louisremi/jquery-smartresize/blob/master/jquery.debouncedresize.js
|
27 |
-
*
|
28 |
-
* Copyright 2011 @louis_remi
|
29 |
-
* Licensed under the MIT license.
|
30 |
-
*/
|
31 |
-
var $event = $.event,
|
32 |
-
$special,
|
33 |
-
resizeTimeout;
|
34 |
-
|
35 |
-
$special = $event.special.debouncedresize = {
|
36 |
-
setup: function() {
|
37 |
-
$( this ).on( "resize", $special.handler );
|
38 |
-
},
|
39 |
-
teardown: function() {
|
40 |
-
$( this ).off( "resize", $special.handler );
|
41 |
-
},
|
42 |
-
handler: function( event, execAsap ) {
|
43 |
-
// Save the context
|
44 |
-
var context = this,
|
45 |
-
args = arguments,
|
46 |
-
dispatch = function() {
|
47 |
-
// set correct event type
|
48 |
-
event.type = "debouncedresize";
|
49 |
-
$event.dispatch.apply( context, args );
|
50 |
-
};
|
51 |
-
|
52 |
-
if ( resizeTimeout ) {
|
53 |
-
clearTimeout( resizeTimeout );
|
54 |
-
}
|
55 |
-
|
56 |
-
execAsap ?
|
57 |
-
dispatch() :
|
58 |
-
resizeTimeout = setTimeout( dispatch, $special.threshold );
|
59 |
-
},
|
60 |
-
threshold: 150
|
61 |
-
};
|
62 |
-
|
63 |
-
// ======================= imagesLoaded Plugin ===============================
|
64 |
-
// https://github.com/desandro/imagesloaded
|
65 |
-
|
66 |
-
// renamed from imagesLoaded to foogalleryImagesLoaded to avoid conflicts
|
67 |
-
|
68 |
-
// $('#my-container').foogalleryImagesLoaded(myFunction)
|
69 |
-
// execute a callback when all images have loaded.
|
70 |
-
// needed because .load() doesn't work on cached images
|
71 |
-
|
72 |
-
// callback function gets image collection as argument
|
73 |
-
// this is the container
|
74 |
-
|
75 |
-
// original: mit license. paul irish. 2010.
|
76 |
-
// contributors: Oren Solomianik, David DeSandro, Yiannis Chatzikonstantinou
|
77 |
-
|
78 |
-
// blank image data-uri bypasses webkit log warning (thx doug jones)
|
79 |
-
var BLANK = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
|
80 |
-
|
81 |
-
$.fn.foogalleryImagesLoaded = function( callback ) {
|
82 |
-
var $this = this,
|
83 |
-
deferred = $.isFunction($.Deferred) ? $.Deferred() : 0,
|
84 |
-
hasNotify = $.isFunction(deferred.notify),
|
85 |
-
$images = $this.find('img').add( $this.filter('img') ),
|
86 |
-
loaded = [],
|
87 |
-
proper = [],
|
88 |
-
broken = [];
|
89 |
-
|
90 |
-
// Register deferred callbacks
|
91 |
-
if ($.isPlainObject(callback)) {
|
92 |
-
$.each(callback, function (key, value) {
|
93 |
-
if (key === 'callback') {
|
94 |
-
callback = value;
|
95 |
-
} else if (deferred) {
|
96 |
-
deferred[key](value);
|
97 |
-
}
|
98 |
-
});
|
99 |
-
}
|
100 |
-
|
101 |
-
function doneLoading() {
|
102 |
-
var $proper = $(proper),
|
103 |
-
$broken = $(broken);
|
104 |
-
|
105 |
-
if ( deferred ) {
|
106 |
-
if ( broken.length ) {
|
107 |
-
deferred.reject( $images, $proper, $broken );
|
108 |
-
} else {
|
109 |
-
deferred.resolve( $images );
|
110 |
-
}
|
111 |
-
}
|
112 |
-
|
113 |
-
if ( $.isFunction( callback ) ) {
|
114 |
-
callback.call( $this, $images, $proper, $broken );
|
115 |
-
}
|
116 |
-
}
|
117 |
-
|
118 |
-
function imgLoaded( img, isBroken ) {
|
119 |
-
// don't proceed if BLANK image, or image is already loaded
|
120 |
-
if ( img.src === BLANK || $.inArray( img, loaded ) !== -1 ) {
|
121 |
-
return;
|
122 |
-
}
|
123 |
-
|
124 |
-
// store element in loaded images array
|
125 |
-
loaded.push( img );
|
126 |
-
|
127 |
-
// keep track of broken and properly loaded images
|
128 |
-
if ( isBroken ) {
|
129 |
-
broken.push( img );
|
130 |
-
} else {
|
131 |
-
proper.push( img );
|
132 |
-
}
|
133 |
-
|
134 |
-
// cache image and its state for future calls
|
135 |
-
$.data( img, 'foogalleryImagesLoaded', { isBroken: isBroken, src: img.src } );
|
136 |
-
|
137 |
-
// trigger deferred progress method if present
|
138 |
-
if ( hasNotify ) {
|
139 |
-
deferred.notifyWith( $(img), [ isBroken, $images, $(proper), $(broken) ] );
|
140 |
-
}
|
141 |
-
|
142 |
-
// call doneLoading and clean listeners if all images are loaded
|
143 |
-
if ( $images.length === loaded.length ){
|
144 |
-
setTimeout( doneLoading );
|
145 |
-
$images.unbind( '.foogalleryImagesLoaded' );
|
146 |
-
}
|
147 |
-
}
|
148 |
-
|
149 |
-
// if no images, trigger immediately
|
150 |
-
if ( !$images.length ) {
|
151 |
-
doneLoading();
|
152 |
-
} else {
|
153 |
-
$images.bind( 'load.foogalleryImagesLoaded error.foogalleryImagesLoaded', function( event ){
|
154 |
-
// trigger imgLoaded
|
155 |
-
imgLoaded( event.target, event.type === 'error' );
|
156 |
-
}).each( function( i, el ) {
|
157 |
-
var src = el.src;
|
158 |
-
|
159 |
-
// find out if this image has been already checked for status
|
160 |
-
// if it was, and src has not changed, call imgLoaded on it
|
161 |
-
var cached = $.data( el, 'foogalleryImagesLoaded' );
|
162 |
-
if ( cached && cached.src === src ) {
|
163 |
-
imgLoaded( el, cached.isBroken );
|
164 |
-
return;
|
165 |
-
}
|
166 |
-
|
167 |
-
// if complete is true and browser supports natural sizes, try
|
168 |
-
// to check for image status manually
|
169 |
-
if ( el.complete && el.naturalWidth !== undefined ) {
|
170 |
-
imgLoaded( el, el.naturalWidth === 0 || el.naturalHeight === 0 );
|
171 |
-
return;
|
172 |
-
}
|
173 |
-
|
174 |
-
// cached images don't fire load sometimes, so we reset src, but only when
|
175 |
-
// dealing with IE, or image is complete (loaded) and failed manual check
|
176 |
-
// webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
|
177 |
-
if ( el.readyState || el.complete ) {
|
178 |
-
el.src = BLANK;
|
179 |
-
el.src = src;
|
180 |
-
}
|
181 |
-
});
|
182 |
-
}
|
183 |
-
|
184 |
-
return deferred ? deferred.promise( $this ) : $this;
|
185 |
-
};
|
186 |
-
|
187 |
-
// global
|
188 |
-
var $window = $( window ),
|
189 |
-
FooGalleryStackAlbumModernizr = window.FooGalleryStackAlbumModernizr;
|
190 |
-
|
191 |
-
$.Stapel = function( options, element ) {
|
192 |
-
|
193 |
-
this.el = $( element );
|
194 |
-
this._init( options );
|
195 |
-
|
196 |
-
};
|
197 |
-
|
198 |
-
// the options
|
199 |
-
$.Stapel.defaults = {
|
200 |
-
// space between the items
|
201 |
-
gutter : 40,
|
202 |
-
// the rotations degree for the 2nd and 3rd item
|
203 |
-
// (to give a more realistic pile effect)
|
204 |
-
pileAngles : 2,
|
205 |
-
// animation settings for the clicked pile's items
|
206 |
-
pileAnimation : {
|
207 |
-
openSpeed : 400,
|
208 |
-
openEasing : 'ease-in-out', // try this :) 'cubic-bezier(.47,1.34,.9,1.03)',
|
209 |
-
closeSpeed : 400,
|
210 |
-
closeEasing : 'ease-in-out'
|
211 |
-
},
|
212 |
-
// animation settings for the other piles
|
213 |
-
otherPileAnimation : {
|
214 |
-
openSpeed : 400,
|
215 |
-
openEasing : 'ease-in-out',
|
216 |
-
closeSpeed : 350,
|
217 |
-
closeEasing : 'ease-in-out'
|
218 |
-
},
|
219 |
-
// delay for each item of the pile
|
220 |
-
delay : 0,
|
221 |
-
// random rotation for the items once opened
|
222 |
-
randomAngle : false,
|
223 |
-
onLoad : function() { return false; },
|
224 |
-
onBeforeOpen : function( pileName ) { return false; },
|
225 |
-
onAfterOpen : function( pileName, totalItems ) { return false; },
|
226 |
-
onBeforeClose : function( pileName ) { return false; },
|
227 |
-
onAfterClose : function( pileName, totalItems ) { return false; }
|
228 |
-
};
|
229 |
-
|
230 |
-
$.Stapel.prototype = {
|
231 |
-
|
232 |
-
_init : function( options ) {
|
233 |
-
|
234 |
-
// options
|
235 |
-
this.options = $.extend( true, {}, $.Stapel.defaults, options );
|
236 |
-
|
237 |
-
// cache some elements
|
238 |
-
this._config();
|
239 |
-
|
240 |
-
// preload images
|
241 |
-
var self = this;
|
242 |
-
this.el.foogalleryImagesLoaded( function() {
|
243 |
-
self.options.onLoad();
|
244 |
-
self._layout();
|
245 |
-
self._initEvents();
|
246 |
-
if (typeof FOOBOX != 'undefined') {
|
247 |
-
FOOBOX.init();
|
248 |
-
}
|
249 |
-
} );
|
250 |
-
|
251 |
-
},
|
252 |
-
_config : function() {
|
253 |
-
|
254 |
-
// css transitions support
|
255 |
-
this.support = FooGalleryStackAlbumModernizr.csstransitions;
|
256 |
-
|
257 |
-
var transEndEventNames = {
|
258 |
-
'WebkitTransition' : 'webkitTransitionEnd',
|
259 |
-
'MozTransition' : 'transitionend',
|
260 |
-
'OTransition' : 'oTransitionEnd',
|
261 |
-
'msTransition' : 'MSTransitionEnd',
|
262 |
-
'transition' : 'transitionend'
|
263 |
-
},
|
264 |
-
transformNames = {
|
265 |
-
'WebkitTransform' : '-webkit-transform',
|
266 |
-
'MozTransform' : '-moz-transform',
|
267 |
-
'OTransform' : '-o-transform',
|
268 |
-
'msTransform' : '-ms-transform',
|
269 |
-
'transform' : 'transform'
|
270 |
-
};
|
271 |
-
|
272 |
-
if( this.support ) {
|
273 |
-
|
274 |
-
this.transEndEventName = transEndEventNames[ FooGalleryStackAlbumModernizr.prefixed( 'transition' ) ] + '.cbpFWSlider';
|
275 |
-
this.transformName = transformNames[ FooGalleryStackAlbumModernizr.prefixed( 'transform' ) ];
|
276 |
-
|
277 |
-
}
|
278 |
-
|
279 |
-
// true if one pile is opened
|
280 |
-
this.spread = false;
|
281 |
-
|
282 |
-
// the li's
|
283 |
-
this.items = this.el.children( 'li' ).hide();
|
284 |
-
|
285 |
-
// close pile
|
286 |
-
this.close = $( '#tp-close' );
|
287 |
-
|
288 |
-
},
|
289 |
-
_getSize : function() {
|
290 |
-
|
291 |
-
this.elWidth = this.el.outerWidth( true );
|
292 |
-
|
293 |
-
},
|
294 |
-
_initEvents : function() {
|
295 |
-
|
296 |
-
var self = this;
|
297 |
-
$window.on( 'debouncedresize.stapel', function() { self._resize(); } );
|
298 |
-
this.items.on( 'click.stapel', function() {
|
299 |
-
|
300 |
-
var $item = $( this );
|
301 |
-
|
302 |
-
if( !self.spread && $item.data( 'isPile' ) ) {
|
303 |
-
|
304 |
-
self.spread = true;
|
305 |
-
self.pileName = $item.data( 'pileName' );
|
306 |
-
self.options.onBeforeOpen( self.pileName );
|
307 |
-
self._openPile();
|
308 |
-
|
309 |
-
return false;
|
310 |
-
|
311 |
-
}
|
312 |
-
|
313 |
-
} );
|
314 |
-
|
315 |
-
},
|
316 |
-
_layout : function() {
|
317 |
-
|
318 |
-
/*
|
319 |
-
piles() : save the items info in a object with the following structure:
|
320 |
-
|
321 |
-
this.piles = {
|
322 |
-
|
323 |
-
pileName : {
|
324 |
-
|
325 |
-
// elements of this pile (note that an element can be also in a different pile)
|
326 |
-
// for each element, the finalPosition is the position of the element when the pile is opened
|
327 |
-
elements : [
|
328 |
-
{ el : HTMLELEMENT, finalPosition : { left : LEFT, top : TOP } },
|
329 |
-
{},
|
330 |
-
{},
|
331 |
-
...
|
332 |
-
],
|
333 |
-
// this is the position of the pile (all elements of the pile) when the pile is closed
|
334 |
-
position : { left : LEFT, top : TOP },
|
335 |
-
index : INDEX
|
336 |
-
},
|
337 |
-
|
338 |
-
// more piles
|
339 |
-
...
|
340 |
-
|
341 |
-
}
|
342 |
-
*/
|
343 |
-
this._piles();
|
344 |
-
|
345 |
-
// items width & height
|
346 |
-
// assuming here that all items have the same width and height
|
347 |
-
this.itemSize = { width : this.items.outerWidth( true ) , height : this.items.outerHeight( true ) };
|
348 |
-
|
349 |
-
// remove original elements
|
350 |
-
this.items.remove();
|
351 |
-
|
352 |
-
// applies some initial style for the items
|
353 |
-
this._setInitialStyle();
|
354 |
-
|
355 |
-
this.el.css( 'min-width', this.itemSize.width + this.options.gutter );
|
356 |
-
|
357 |
-
// gets the current ul size (needed for the calculation of each item's position)
|
358 |
-
this._getSize();
|
359 |
-
|
360 |
-
// calculate and set each Pile's elements position based on the current ul width
|
361 |
-
// this function will also be called on window resize
|
362 |
-
this._setItemsPosition();
|
363 |
-
|
364 |
-
// new items
|
365 |
-
this.items = this.el.children( 'li' ).show();
|
366 |
-
// total items
|
367 |
-
this.itemsCount = this.items.length;
|
368 |
-
|
369 |
-
},
|
370 |
-
_piles : function() {
|
371 |
-
|
372 |
-
var piles = {};
|
373 |
-
this.pilesArr = [];
|
374 |
-
var pile, self = this, idx = 0;
|
375 |
-
this.items.each( function() {
|
376 |
-
|
377 |
-
var $item = $( this ),
|
378 |
-
itemPile = $item.attr( 'data-pile' ) || 'nopile-' + $item.index(),
|
379 |
-
attr = itemPile.split( ',' );
|
380 |
-
|
381 |
-
for( var i = 0, total = attr.length; i < total; ++i ) {
|
382 |
-
|
383 |
-
var pileName = $.trim( attr[i] );
|
384 |
-
pile = piles[ pileName ];
|
385 |
-
|
386 |
-
if( !pile ) {
|
387 |
-
|
388 |
-
pile = piles[ pileName ] = {
|
389 |
-
name : pileName,
|
390 |
-
elements : [],
|
391 |
-
position : { left : 0, top : 0 },
|
392 |
-
index : idx
|
393 |
-
};
|
394 |
-
|
395 |
-
self.pilesArr.push(pile);
|
396 |
-
|
397 |
-
++idx;
|
398 |
-
|
399 |
-
}
|
400 |
-
|
401 |
-
var clone = $item.clone().get(0);
|
402 |
-
pile.elements.push( { el : clone, finalPosition : { left : 0, top : 0 } } );
|
403 |
-
var $clone = $(clone);
|
404 |
-
$clone.appendTo(self.el);
|
405 |
-
}
|
406 |
-
|
407 |
-
} );
|
408 |
-
|
409 |
-
},
|
410 |
-
_setInitialStyle : function() {
|
411 |
-
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
412 |
-
|
413 |
-
var p = this.pilesArr[j], featured = false, $el, styleCSS;
|
414 |
-
for (var k = 0, kl = p.elements.length; k < kl; k++){
|
415 |
-
if ( $( p.elements[k].el ).data('featured') ){
|
416 |
-
featured = true;
|
417 |
-
break;
|
418 |
-
}
|
419 |
-
}
|
420 |
-
|
421 |
-
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
422 |
-
|
423 |
-
$el = $( p.elements[i].el );
|
424 |
-
styleCSS = { transform : 'rotate(0deg)' };
|
425 |
-
|
426 |
-
this._applyInitialTransition( $el );
|
427 |
-
|
428 |
-
if ( p.name.substr( 0, 6 ) !== 'nopile' && ( $el.data('featured') || ( !featured && i === 0 ) ) ){
|
429 |
-
$el.css({ zIndex: 9999 }).data( 'front', true ).append( '<div class="tp-title-cover"><div class="tp-title"><span>' + p.name + '</span><span>' + len + '</span></div></div>' );
|
430 |
-
}
|
431 |
-
else if( i === len - 2 ) {
|
432 |
-
styleCSS = { transform : 'rotate(' + this.options.pileAngles + 'deg)' };
|
433 |
-
}
|
434 |
-
else if( i === len - 3 ) {
|
435 |
-
styleCSS = { transform : 'rotate(-' + this.options.pileAngles + 'deg)' };
|
436 |
-
}
|
437 |
-
else {
|
438 |
-
var extraStyle = { visibility : 'hidden' };
|
439 |
-
$el.css( extraStyle ).data( 'extraStyle', extraStyle );
|
440 |
-
}
|
441 |
-
|
442 |
-
$el.css( styleCSS ).data( {
|
443 |
-
initialStyle : styleCSS,
|
444 |
-
pileName : p.name,
|
445 |
-
pileCount : len,
|
446 |
-
shadow : $el.css( 'box-shadow' ),
|
447 |
-
isPile : p.name.substr(0, 6) !== 'nopile'
|
448 |
-
} );
|
449 |
-
|
450 |
-
}
|
451 |
-
|
452 |
-
}
|
453 |
-
|
454 |
-
},
|
455 |
-
_applyInitialTransition : function( $el ) {
|
456 |
-
|
457 |
-
if( this.support ) {
|
458 |
-
$el.css( 'transition', 'left 400ms ease-in-out, top 400ms ease-in-out' );
|
459 |
-
}
|
460 |
-
|
461 |
-
},
|
462 |
-
_setItemsPosition : function() {
|
463 |
-
|
464 |
-
var accumL = 0, accumT = 0,
|
465 |
-
l, t, ml = 0,
|
466 |
-
lastItemTop = 0;
|
467 |
-
|
468 |
-
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
469 |
-
|
470 |
-
var p = this.pilesArr[j],
|
471 |
-
|
472 |
-
//for( var pile in this.piles ) {
|
473 |
-
//
|
474 |
-
// var p = this.piles[pile],
|
475 |
-
stepW = this.itemSize.width + this.options.gutter,
|
476 |
-
|
477 |
-
accumIL = 0, accumIT = 0, il, it;
|
478 |
-
|
479 |
-
if( accumL + stepW <= this.elWidth ) {
|
480 |
-
|
481 |
-
l = accumL;
|
482 |
-
t = accumT;
|
483 |
-
accumL += stepW;
|
484 |
-
|
485 |
-
}
|
486 |
-
else {
|
487 |
-
|
488 |
-
if( ml === 0 ) {
|
489 |
-
ml = Math.ceil( ( this.elWidth - accumL + this.options.gutter ) / 2 );
|
490 |
-
}
|
491 |
-
|
492 |
-
accumT += this.itemSize.height + this.options.gutter;
|
493 |
-
l = 0;
|
494 |
-
t = accumT;
|
495 |
-
accumL = stepW;
|
496 |
-
|
497 |
-
}
|
498 |
-
|
499 |
-
p.position.left = l;
|
500 |
-
p.position.top = t;
|
501 |
-
|
502 |
-
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
503 |
-
|
504 |
-
var elem = p.elements[i],
|
505 |
-
fp = elem.finalPosition;
|
506 |
-
|
507 |
-
if( accumIL + stepW <= this.elWidth ) {
|
508 |
-
|
509 |
-
il = accumIL;
|
510 |
-
it = accumIT;
|
511 |
-
accumIL += stepW;
|
512 |
-
|
513 |
-
}
|
514 |
-
else {
|
515 |
-
|
516 |
-
accumIT += this.itemSize.height + this.options.gutter;
|
517 |
-
il = 0;
|
518 |
-
it = accumIT;
|
519 |
-
accumIL = stepW;
|
520 |
-
|
521 |
-
}
|
522 |
-
|
523 |
-
fp.left = il;
|
524 |
-
fp.top = it;
|
525 |
-
|
526 |
-
var $el = $( elem.el );
|
527 |
-
|
528 |
-
if(p.name !== this.pileName ) {
|
529 |
-
|
530 |
-
$el.css( { left : p.position.left, top : p.position.top } );
|
531 |
-
|
532 |
-
}
|
533 |
-
else {
|
534 |
-
|
535 |
-
lastItemTop = elem.finalPosition.top;
|
536 |
-
$el.css( { left : elem.finalPosition.left, top : lastItemTop } );
|
537 |
-
|
538 |
-
}
|
539 |
-
|
540 |
-
}
|
541 |
-
|
542 |
-
}
|
543 |
-
|
544 |
-
if( ml === 0 ) {
|
545 |
-
ml = Math.ceil( ( this.elWidth - accumL + this.options.gutter ) / 2 );
|
546 |
-
}
|
547 |
-
|
548 |
-
// the position of the items will influence the final margin left value and height for the ul
|
549 |
-
// center the ul
|
550 |
-
lastItemTop = this.spread ? lastItemTop : accumT;
|
551 |
-
this.marginLeft = ml;
|
552 |
-
this.el.css( {
|
553 |
-
marginLeft : this.marginLeft,
|
554 |
-
height : lastItemTop + this.itemSize.height
|
555 |
-
} );
|
556 |
-
|
557 |
-
},
|
558 |
-
_openPile : function() {
|
559 |
-
|
560 |
-
if( !this.spread ) {
|
561 |
-
return false;
|
562 |
-
}
|
563 |
-
|
564 |
-
// final style
|
565 |
-
var fs, rowWidth = 0;
|
566 |
-
|
567 |
-
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
568 |
-
|
569 |
-
var p = this.pilesArr[j],
|
570 |
-
cnt = 0;
|
571 |
-
|
572 |
-
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
573 |
-
|
574 |
-
var elem = p.elements[i],
|
575 |
-
$item = $( elem.el ),
|
576 |
-
styleCSS = p.name === this.pileName ? {
|
577 |
-
zIndex : 9999,
|
578 |
-
visibility : 'visible',
|
579 |
-
transition : this.support ? 'left ' + this.options.pileAnimation.openSpeed + 'ms ' + ( ( len - i - 1 ) * this.options.delay ) + 'ms ' + this.options.pileAnimation.openEasing + ', top ' + this.options.pileAnimation.openSpeed + 'ms ' + ( ( len - i - 1 ) * this.options.delay ) + 'ms ' + this.options.pileAnimation.openEasing + ', ' + this.transformName + ' ' + this.options.pileAnimation.openSpeed + 'ms ' + ( ( len - i - 1 ) * this.options.delay ) + 'ms ' + this.options.pileAnimation.openEasing : 'none'
|
580 |
-
} : {
|
581 |
-
zIndex : 1,
|
582 |
-
transition : this.support ? 'opacity ' + this.options.otherPileAnimation.closeSpeed + 'ms ' + this.options.otherPileAnimation.closeEasing : 'none'
|
583 |
-
};
|
584 |
-
|
585 |
-
if( p.name === this.pileName ) {
|
586 |
-
|
587 |
-
if (elem.finalPosition.top === 0){
|
588 |
-
if (rowWidth > 0) rowWidth += this.options.gutter;
|
589 |
-
rowWidth += this.itemSize.width;
|
590 |
-
}
|
591 |
-
|
592 |
-
if( $item.data( 'front' ) ) {
|
593 |
-
$item.find( 'div.tp-title' ).hide();
|
594 |
-
}
|
595 |
-
|
596 |
-
fs = elem.finalPosition;
|
597 |
-
fs.transform = this.options.randomAngle && i !== p.index ? 'rotate(' + Math.floor( Math.random() * ( 5 + 5 + 1 ) - 5 ) + 'deg)' : 'none';
|
598 |
-
|
599 |
-
if( !this.support ) {
|
600 |
-
$item.css( 'transform', 'none' );
|
601 |
-
}
|
602 |
-
|
603 |
-
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
604 |
-
if( i < len - 3 ) {
|
605 |
-
$item.css( 'box-shadow', 'none' );
|
606 |
-
}
|
607 |
-
|
608 |
-
}
|
609 |
-
|
610 |
-
$item.css( styleCSS );
|
611 |
-
|
612 |
-
var self = this;
|
613 |
-
|
614 |
-
p.name === this.pileName ?
|
615 |
-
this._applyTransition( $item, fs, this.options.pileAnimation.openSpeed, function( evt ) {
|
616 |
-
|
617 |
-
var target = this.target || this.nodeName;
|
618 |
-
if( target !== 'LI' ) {
|
619 |
-
return;
|
620 |
-
}
|
621 |
-
|
622 |
-
var $el = $( this );
|
623 |
-
|
624 |
-
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
625 |
-
$el.css( 'box-shadow', $el.data( 'shadow' ) );
|
626 |
-
|
627 |
-
if( self.support ) {
|
628 |
-
$el.off( self.transEndEventName );
|
629 |
-
}
|
630 |
-
|
631 |
-
++cnt;
|
632 |
-
|
633 |
-
if( cnt === $el.data( 'pileCount' ) ) {
|
634 |
-
|
635 |
-
$( document ).one( 'mousemove.stapel', function() {
|
636 |
-
self.el.addClass( 'tp-open' );
|
637 |
-
} );
|
638 |
-
self.options.onAfterOpen( self.pileName, cnt );
|
639 |
-
|
640 |
-
}
|
641 |
-
|
642 |
-
} ) :
|
643 |
-
this._applyTransition( $item, { visibility: 'hidden', opacity : 0 }, this.options.otherPileAnimation.closeSpeed );
|
644 |
-
|
645 |
-
}
|
646 |
-
|
647 |
-
}
|
648 |
-
|
649 |
-
//this.el.css( 'height', fs.top + this.itemSize.height );
|
650 |
-
this.el.css({
|
651 |
-
marginLeft: Math.ceil((this.elWidth - rowWidth) / 2),
|
652 |
-
height: fs.top + this.itemSize.height
|
653 |
-
});
|
654 |
-
|
655 |
-
},
|
656 |
-
_closePile : function() {
|
657 |
-
|
658 |
-
var self = this;
|
659 |
-
|
660 |
-
// close..
|
661 |
-
if( this.spread ) {
|
662 |
-
|
663 |
-
this.spread = false;
|
664 |
-
|
665 |
-
this.options.onBeforeClose( this.pileName );
|
666 |
-
|
667 |
-
this.el.removeClass( 'tp-open' );
|
668 |
-
|
669 |
-
// final style
|
670 |
-
var fs;
|
671 |
-
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
672 |
-
|
673 |
-
var p = this.pilesArr[j],
|
674 |
-
cnt = 0;
|
675 |
-
|
676 |
-
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
677 |
-
|
678 |
-
var $item = $( p.elements[i].el ),
|
679 |
-
styleCSS = p.name === this.pileName ? {
|
680 |
-
transition : this.support ? 'left ' + this.options.pileAnimation.closeSpeed + 'ms ' + this.options.pileAnimation.closeEasing + ', top ' + this.options.pileAnimation.closeSpeed + 'ms ' + this.options.pileAnimation.closeEasing + ', ' + this.transformName + ' ' + this.options.pileAnimation.closeSpeed + 'ms ' + this.options.pileAnimation.closeEasing : 'none'
|
681 |
-
} : {
|
682 |
-
transition : this.support ? 'opacity ' + this.options.otherPileAnimation.openSpeed + 'ms ' + this.options.otherPileAnimation.openEasing : 'none'
|
683 |
-
};
|
684 |
-
|
685 |
-
$item.css( styleCSS );
|
686 |
-
|
687 |
-
fs = p.position;
|
688 |
-
|
689 |
-
if(p.name === this.pileName ) {
|
690 |
-
|
691 |
-
$.extend( fs, $item.data( 'initialStyle' ) );
|
692 |
-
|
693 |
-
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
694 |
-
if( i < len - 3 ) {
|
695 |
-
$item.css( 'box-shadow', 'none' );
|
696 |
-
}
|
697 |
-
|
698 |
-
}
|
699 |
-
|
700 |
-
p.name === this.pileName ? this._applyTransition( $item, fs, this.options.pileAnimation.closeSpeed, function( evt ) {
|
701 |
-
|
702 |
-
var target = this.target || this.nodeName;
|
703 |
-
if( target !== 'LI' ) {
|
704 |
-
return;
|
705 |
-
}
|
706 |
-
|
707 |
-
var $el = $( this ), extraStyle = $el.data( 'extraStyle' ), initialStyle = $el.data( 'initialStyle' );
|
708 |
-
|
709 |
-
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
710 |
-
$el.css( 'box-shadow', $el.data( 'shadow' ) );
|
711 |
-
|
712 |
-
if( self.support ) {
|
713 |
-
$el.off( self.transEndEventName );
|
714 |
-
self._applyInitialTransition( $el );
|
715 |
-
}
|
716 |
-
else {
|
717 |
-
$el.css( initialStyle );
|
718 |
-
}
|
719 |
-
|
720 |
-
if( extraStyle ) {
|
721 |
-
$el.css( extraStyle );
|
722 |
-
}
|
723 |
-
|
724 |
-
++cnt;
|
725 |
-
|
726 |
-
if( $el.data( 'front' ) ) {
|
727 |
-
$el.css({visibility: 'visible'}).find( 'div.tp-title' ).show();
|
728 |
-
} else {
|
729 |
-
$el.css({visibility: 'hidden', zIndex: 1});
|
730 |
-
}
|
731 |
-
|
732 |
-
if( cnt === $el.data( 'pileCount' ) ) {
|
733 |
-
self.options.onAfterClose( $el.data( 'pileName' ), cnt );
|
734 |
-
}
|
735 |
-
|
736 |
-
} ) : this._applyTransition( $item, { opacity : 1 }, this.options.otherPileAnimation.openSpeed, function( evt ) {
|
737 |
-
|
738 |
-
var target = this.target || this.nodeName;
|
739 |
-
if( target !== 'LI' ) {
|
740 |
-
return;
|
741 |
-
}
|
742 |
-
|
743 |
-
var $el = $( this );
|
744 |
-
if( $el.data( 'front' ) ) {
|
745 |
-
$el.css({visibility: 'visible'}).find( 'div.tp-title' ).show();
|
746 |
-
} else {
|
747 |
-
$el.css({visibility: 'hidden', zIndex: 1});
|
748 |
-
}
|
749 |
-
|
750 |
-
if( self.support ) {
|
751 |
-
$el.off( self.transEndEventName );
|
752 |
-
self._applyInitialTransition( $el );
|
753 |
-
}
|
754 |
-
|
755 |
-
} );
|
756 |
-
|
757 |
-
}
|
758 |
-
|
759 |
-
}
|
760 |
-
|
761 |
-
// reset pile name
|
762 |
-
this.pileName = '';
|
763 |
-
|
764 |
-
// update ul height
|
765 |
-
//this.el.css( 'height', fs.top + this.itemSize.height );
|
766 |
-
this.el.css({
|
767 |
-
marginLeft: this.marginLeft,
|
768 |
-
height: fs.top + this.itemSize.height
|
769 |
-
});
|
770 |
-
|
771 |
-
}
|
772 |
-
|
773 |
-
return false;
|
774 |
-
|
775 |
-
},
|
776 |
-
_resize : function() {
|
777 |
-
|
778 |
-
// get ul size again
|
779 |
-
this._getSize();
|
780 |
-
// reset items positions
|
781 |
-
this._setItemsPosition();
|
782 |
-
|
783 |
-
},
|
784 |
-
_applyTransition : function( el, styleCSS, speed, fncomplete ) {
|
785 |
-
|
786 |
-
$.fn.applyStyle = this.support ? $.fn.css : $.fn.animate;
|
787 |
-
|
788 |
-
if( fncomplete && this.support ) {
|
789 |
-
|
790 |
-
el.on( this.transEndEventName, fncomplete );
|
791 |
-
|
792 |
-
}
|
793 |
-
|
794 |
-
fncomplete = fncomplete || function() { return false; };
|
795 |
-
|
796 |
-
el.stop().applyStyle( styleCSS, $.extend( true, [], { duration : speed + 'ms', complete : fncomplete } ) );
|
797 |
-
|
798 |
-
},
|
799 |
-
closePile : function() {
|
800 |
-
|
801 |
-
this._closePile();
|
802 |
-
|
803 |
-
}
|
804 |
-
|
805 |
-
};
|
806 |
-
|
807 |
-
var logError = function( message ) {
|
808 |
-
|
809 |
-
if ( window.console ) {
|
810 |
-
|
811 |
-
window.console.error( message );
|
812 |
-
|
813 |
-
}
|
814 |
-
|
815 |
-
};
|
816 |
-
|
817 |
-
$.fn.stapel = function( options ) {
|
818 |
-
|
819 |
-
var instance = $.data( this, 'stapel' );
|
820 |
-
|
821 |
-
if ( typeof options === 'string' ) {
|
822 |
-
|
823 |
-
var args = Array.prototype.slice.call( arguments, 1 );
|
824 |
-
|
825 |
-
this.each(function() {
|
826 |
-
|
827 |
-
if ( !instance ) {
|
828 |
-
|
829 |
-
logError( "cannot call methods on stapel prior to initialization; " +
|
830 |
-
"attempted to call method '" + options + "'" );
|
831 |
-
return;
|
832 |
-
|
833 |
-
}
|
834 |
-
|
835 |
-
if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
|
836 |
-
|
837 |
-
logError( "no such method '" + options + "' for stapel instance" );
|
838 |
-
return;
|
839 |
-
|
840 |
-
}
|
841 |
-
|
842 |
-
instance[ options ].apply( instance, args );
|
843 |
-
|
844 |
-
});
|
845 |
-
|
846 |
-
}
|
847 |
-
else {
|
848 |
-
|
849 |
-
this.each(function() {
|
850 |
-
|
851 |
-
if ( instance ) {
|
852 |
-
|
853 |
-
instance._init();
|
854 |
-
|
855 |
-
}
|
856 |
-
else {
|
857 |
-
|
858 |
-
instance = $.data( this, 'stapel', new $.Stapel( options, this ) );
|
859 |
-
|
860 |
-
}
|
861 |
-
|
862 |
-
});
|
863 |
-
|
864 |
-
}
|
865 |
-
|
866 |
-
return instance;
|
867 |
-
|
868 |
-
};
|
869 |
-
|
870 |
} )( jQuery, window );
|
1 |
+
/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
|
2 |
+
* Build: http://modernizr.com/download/#-csstransitions-prefixed-testprop-testallprops-domprefixes
|
3 |
+
*/
|
4 |
+
if (!window.FooGalleryStackAlbumModernizr) {
|
5 |
+
window.FooGalleryStackAlbumModernizr=function(a,b,c){function w(a){i.cssText=a}function x(a,b){return w(prefixes.join(a+";")+(b||""))}function y(a,b){return typeof a===b}function z(a,b){return!!~(""+a).indexOf(b)}function A(a,b){for(var d in a){var e=a[d];if(!z(e,"-")&&i[e]!==c)return b=="pfx"?e:!0}return!1}function B(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:y(f,"function")?f.bind(d||b):f}return!1}function C(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+m.join(d+" ")+d).split(" ");return y(b,"string")||y(b,"undefined")?A(e,b):(e=(a+" "+n.join(d+" ")+d).split(" "),B(e,b,c))}var d="2.8.3",e={},f=b.documentElement,g="modernizr",h=b.createElement(g),i=h.style,j,k={}.toString,l="Webkit Moz O ms",m=l.split(" "),n=l.toLowerCase().split(" "),o={},p={},q={},r=[],s=r.slice,t,u={}.hasOwnProperty,v;!y(u,"undefined")&&!y(u.call,"undefined")?v=function(a,b){return u.call(a,b)}:v=function(a,b){return b in a&&y(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.csstransitions=function(){return C("transition")};for(var D in o)v(o,D)&&(t=D.toLowerCase(),e[t]=o[D](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)v(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},w(""),h=j=null,e._version=d,e._domPrefixes=n,e._cssomPrefixes=m,e.testProp=function(a){return A([a])},e.testAllProps=C,e.prefixed=function(a,b,c){return b?C(a,b,c):C(a,"pfx")},e}(this,this.document);
|
6 |
+
}
|
7 |
+
|
8 |
+
/**
|
9 |
+
* jquery.stapel.js v1.0.0
|
10 |
+
* http://www.codrops.com
|
11 |
+
*
|
12 |
+
* Licensed under the MIT license.
|
13 |
+
* http://www.opensource.org/licenses/mit-license.php
|
14 |
+
*
|
15 |
+
* Copyright 2012, Codrops
|
16 |
+
* http://www.codrops.com
|
17 |
+
*/
|
18 |
+
;( function( $, window, undefined ) {
|
19 |
+
|
20 |
+
'use strict';
|
21 |
+
|
22 |
+
/*
|
23 |
+
* debouncedresize: special jQuery event that happens once after a window resize
|
24 |
+
*
|
25 |
+
* latest version and complete README available on Github:
|
26 |
+
* https://github.com/louisremi/jquery-smartresize/blob/master/jquery.debouncedresize.js
|
27 |
+
*
|
28 |
+
* Copyright 2011 @louis_remi
|
29 |
+
* Licensed under the MIT license.
|
30 |
+
*/
|
31 |
+
var $event = $.event,
|
32 |
+
$special,
|
33 |
+
resizeTimeout;
|
34 |
+
|
35 |
+
$special = $event.special.debouncedresize = {
|
36 |
+
setup: function() {
|
37 |
+
$( this ).on( "resize", $special.handler );
|
38 |
+
},
|
39 |
+
teardown: function() {
|
40 |
+
$( this ).off( "resize", $special.handler );
|
41 |
+
},
|
42 |
+
handler: function( event, execAsap ) {
|
43 |
+
// Save the context
|
44 |
+
var context = this,
|
45 |
+
args = arguments,
|
46 |
+
dispatch = function() {
|
47 |
+
// set correct event type
|
48 |
+
event.type = "debouncedresize";
|
49 |
+
$event.dispatch.apply( context, args );
|
50 |
+
};
|
51 |
+
|
52 |
+
if ( resizeTimeout ) {
|
53 |
+
clearTimeout( resizeTimeout );
|
54 |
+
}
|
55 |
+
|
56 |
+
execAsap ?
|
57 |
+
dispatch() :
|
58 |
+
resizeTimeout = setTimeout( dispatch, $special.threshold );
|
59 |
+
},
|
60 |
+
threshold: 150
|
61 |
+
};
|
62 |
+
|
63 |
+
// ======================= imagesLoaded Plugin ===============================
|
64 |
+
// https://github.com/desandro/imagesloaded
|
65 |
+
|
66 |
+
// renamed from imagesLoaded to foogalleryImagesLoaded to avoid conflicts
|
67 |
+
|
68 |
+
// $('#my-container').foogalleryImagesLoaded(myFunction)
|
69 |
+
// execute a callback when all images have loaded.
|
70 |
+
// needed because .load() doesn't work on cached images
|
71 |
+
|
72 |
+
// callback function gets image collection as argument
|
73 |
+
// this is the container
|
74 |
+
|
75 |
+
// original: mit license. paul irish. 2010.
|
76 |
+
// contributors: Oren Solomianik, David DeSandro, Yiannis Chatzikonstantinou
|
77 |
+
|
78 |
+
// blank image data-uri bypasses webkit log warning (thx doug jones)
|
79 |
+
var BLANK = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
|
80 |
+
|
81 |
+
$.fn.foogalleryImagesLoaded = function( callback ) {
|
82 |
+
var $this = this,
|
83 |
+
deferred = $.isFunction($.Deferred) ? $.Deferred() : 0,
|
84 |
+
hasNotify = $.isFunction(deferred.notify),
|
85 |
+
$images = $this.find('img').add( $this.filter('img') ),
|
86 |
+
loaded = [],
|
87 |
+
proper = [],
|
88 |
+
broken = [];
|
89 |
+
|
90 |
+
// Register deferred callbacks
|
91 |
+
if ($.isPlainObject(callback)) {
|
92 |
+
$.each(callback, function (key, value) {
|
93 |
+
if (key === 'callback') {
|
94 |
+
callback = value;
|
95 |
+
} else if (deferred) {
|
96 |
+
deferred[key](value);
|
97 |
+
}
|
98 |
+
});
|
99 |
+
}
|
100 |
+
|
101 |
+
function doneLoading() {
|
102 |
+
var $proper = $(proper),
|
103 |
+
$broken = $(broken);
|
104 |
+
|
105 |
+
if ( deferred ) {
|
106 |
+
if ( broken.length ) {
|
107 |
+
deferred.reject( $images, $proper, $broken );
|
108 |
+
} else {
|
109 |
+
deferred.resolve( $images );
|
110 |
+
}
|
111 |
+
}
|
112 |
+
|
113 |
+
if ( $.isFunction( callback ) ) {
|
114 |
+
callback.call( $this, $images, $proper, $broken );
|
115 |
+
}
|
116 |
+
}
|
117 |
+
|
118 |
+
function imgLoaded( img, isBroken ) {
|
119 |
+
// don't proceed if BLANK image, or image is already loaded
|
120 |
+
if ( img.src === BLANK || $.inArray( img, loaded ) !== -1 ) {
|
121 |
+
return;
|
122 |
+
}
|
123 |
+
|
124 |
+
// store element in loaded images array
|
125 |
+
loaded.push( img );
|
126 |
+
|
127 |
+
// keep track of broken and properly loaded images
|
128 |
+
if ( isBroken ) {
|
129 |
+
broken.push( img );
|
130 |
+
} else {
|
131 |
+
proper.push( img );
|
132 |
+
}
|
133 |
+
|
134 |
+
// cache image and its state for future calls
|
135 |
+
$.data( img, 'foogalleryImagesLoaded', { isBroken: isBroken, src: img.src } );
|
136 |
+
|
137 |
+
// trigger deferred progress method if present
|
138 |
+
if ( hasNotify ) {
|
139 |
+
deferred.notifyWith( $(img), [ isBroken, $images, $(proper), $(broken) ] );
|
140 |
+
}
|
141 |
+
|
142 |
+
// call doneLoading and clean listeners if all images are loaded
|
143 |
+
if ( $images.length === loaded.length ){
|
144 |
+
setTimeout( doneLoading );
|
145 |
+
$images.unbind( '.foogalleryImagesLoaded' );
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
// if no images, trigger immediately
|
150 |
+
if ( !$images.length ) {
|
151 |
+
doneLoading();
|
152 |
+
} else {
|
153 |
+
$images.bind( 'load.foogalleryImagesLoaded error.foogalleryImagesLoaded', function( event ){
|
154 |
+
// trigger imgLoaded
|
155 |
+
imgLoaded( event.target, event.type === 'error' );
|
156 |
+
}).each( function( i, el ) {
|
157 |
+
var src = el.src;
|
158 |
+
|
159 |
+
// find out if this image has been already checked for status
|
160 |
+
// if it was, and src has not changed, call imgLoaded on it
|
161 |
+
var cached = $.data( el, 'foogalleryImagesLoaded' );
|
162 |
+
if ( cached && cached.src === src ) {
|
163 |
+
imgLoaded( el, cached.isBroken );
|
164 |
+
return;
|
165 |
+
}
|
166 |
+
|
167 |
+
// if complete is true and browser supports natural sizes, try
|
168 |
+
// to check for image status manually
|
169 |
+
if ( el.complete && el.naturalWidth !== undefined ) {
|
170 |
+
imgLoaded( el, el.naturalWidth === 0 || el.naturalHeight === 0 );
|
171 |
+
return;
|
172 |
+
}
|
173 |
+
|
174 |
+
// cached images don't fire load sometimes, so we reset src, but only when
|
175 |
+
// dealing with IE, or image is complete (loaded) and failed manual check
|
176 |
+
// webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
|
177 |
+
if ( el.readyState || el.complete ) {
|
178 |
+
el.src = BLANK;
|
179 |
+
el.src = src;
|
180 |
+
}
|
181 |
+
});
|
182 |
+
}
|
183 |
+
|
184 |
+
return deferred ? deferred.promise( $this ) : $this;
|
185 |
+
};
|
186 |
+
|
187 |
+
// global
|
188 |
+
var $window = $( window ),
|
189 |
+
FooGalleryStackAlbumModernizr = window.FooGalleryStackAlbumModernizr;
|
190 |
+
|
191 |
+
$.Stapel = function( options, element ) {
|
192 |
+
|
193 |
+
this.el = $( element );
|
194 |
+
this._init( options );
|
195 |
+
|
196 |
+
};
|
197 |
+
|
198 |
+
// the options
|
199 |
+
$.Stapel.defaults = {
|
200 |
+
// space between the items
|
201 |
+
gutter : 40,
|
202 |
+
// the rotations degree for the 2nd and 3rd item
|
203 |
+
// (to give a more realistic pile effect)
|
204 |
+
pileAngles : 2,
|
205 |
+
// animation settings for the clicked pile's items
|
206 |
+
pileAnimation : {
|
207 |
+
openSpeed : 400,
|
208 |
+
openEasing : 'ease-in-out', // try this :) 'cubic-bezier(.47,1.34,.9,1.03)',
|
209 |
+
closeSpeed : 400,
|
210 |
+
closeEasing : 'ease-in-out'
|
211 |
+
},
|
212 |
+
// animation settings for the other piles
|
213 |
+
otherPileAnimation : {
|
214 |
+
openSpeed : 400,
|
215 |
+
openEasing : 'ease-in-out',
|
216 |
+
closeSpeed : 350,
|
217 |
+
closeEasing : 'ease-in-out'
|
218 |
+
},
|
219 |
+
// delay for each item of the pile
|
220 |
+
delay : 0,
|
221 |
+
// random rotation for the items once opened
|
222 |
+
randomAngle : false,
|
223 |
+
onLoad : function() { return false; },
|
224 |
+
onBeforeOpen : function( pileName ) { return false; },
|
225 |
+
onAfterOpen : function( pileName, totalItems ) { return false; },
|
226 |
+
onBeforeClose : function( pileName ) { return false; },
|
227 |
+
onAfterClose : function( pileName, totalItems ) { return false; }
|
228 |
+
};
|
229 |
+
|
230 |
+
$.Stapel.prototype = {
|
231 |
+
|
232 |
+
_init : function( options ) {
|
233 |
+
|
234 |
+
// options
|
235 |
+
this.options = $.extend( true, {}, $.Stapel.defaults, options );
|
236 |
+
|
237 |
+
// cache some elements
|
238 |
+
this._config();
|
239 |
+
|
240 |
+
// preload images
|
241 |
+
var self = this;
|
242 |
+
this.el.foogalleryImagesLoaded( function() {
|
243 |
+
self.options.onLoad();
|
244 |
+
self._layout();
|
245 |
+
self._initEvents();
|
246 |
+
if (typeof FOOBOX != 'undefined') {
|
247 |
+
FOOBOX.init();
|
248 |
+
}
|
249 |
+
} );
|
250 |
+
|
251 |
+
},
|
252 |
+
_config : function() {
|
253 |
+
|
254 |
+
// css transitions support
|
255 |
+
this.support = FooGalleryStackAlbumModernizr.csstransitions;
|
256 |
+
|
257 |
+
var transEndEventNames = {
|
258 |
+
'WebkitTransition' : 'webkitTransitionEnd',
|
259 |
+
'MozTransition' : 'transitionend',
|
260 |
+
'OTransition' : 'oTransitionEnd',
|
261 |
+
'msTransition' : 'MSTransitionEnd',
|
262 |
+
'transition' : 'transitionend'
|
263 |
+
},
|
264 |
+
transformNames = {
|
265 |
+
'WebkitTransform' : '-webkit-transform',
|
266 |
+
'MozTransform' : '-moz-transform',
|
267 |
+
'OTransform' : '-o-transform',
|
268 |
+
'msTransform' : '-ms-transform',
|
269 |
+
'transform' : 'transform'
|
270 |
+
};
|
271 |
+
|
272 |
+
if( this.support ) {
|
273 |
+
|
274 |
+
this.transEndEventName = transEndEventNames[ FooGalleryStackAlbumModernizr.prefixed( 'transition' ) ] + '.cbpFWSlider';
|
275 |
+
this.transformName = transformNames[ FooGalleryStackAlbumModernizr.prefixed( 'transform' ) ];
|
276 |
+
|
277 |
+
}
|
278 |
+
|
279 |
+
// true if one pile is opened
|
280 |
+
this.spread = false;
|
281 |
+
|
282 |
+
// the li's
|
283 |
+
this.items = this.el.children( 'li' ).hide();
|
284 |
+
|
285 |
+
// close pile
|
286 |
+
this.close = $( '#tp-close' );
|
287 |
+
|
288 |
+
},
|
289 |
+
_getSize : function() {
|
290 |
+
|
291 |
+
this.elWidth = this.el.outerWidth( true );
|
292 |
+
|
293 |
+
},
|
294 |
+
_initEvents : function() {
|
295 |
+
|
296 |
+
var self = this;
|
297 |
+
$window.on( 'debouncedresize.stapel', function() { self._resize(); } );
|
298 |
+
this.items.on( 'click.stapel', function() {
|
299 |
+
|
300 |
+
var $item = $( this );
|
301 |
+
|
302 |
+
if( !self.spread && $item.data( 'isPile' ) ) {
|
303 |
+
|
304 |
+
self.spread = true;
|
305 |
+
self.pileName = $item.data( 'pileName' );
|
306 |
+
self.options.onBeforeOpen( self.pileName );
|
307 |
+
self._openPile();
|
308 |
+
|
309 |
+
return false;
|
310 |
+
|
311 |
+
}
|
312 |
+
|
313 |
+
} );
|
314 |
+
|
315 |
+
},
|
316 |
+
_layout : function() {
|
317 |
+
|
318 |
+
/*
|
319 |
+
piles() : save the items info in a object with the following structure:
|
320 |
+
|
321 |
+
this.piles = {
|
322 |
+
|
323 |
+
pileName : {
|
324 |
+
|
325 |
+
// elements of this pile (note that an element can be also in a different pile)
|
326 |
+
// for each element, the finalPosition is the position of the element when the pile is opened
|
327 |
+
elements : [
|
328 |
+
{ el : HTMLELEMENT, finalPosition : { left : LEFT, top : TOP } },
|
329 |
+
{},
|
330 |
+
{},
|
331 |
+
...
|
332 |
+
],
|
333 |
+
// this is the position of the pile (all elements of the pile) when the pile is closed
|
334 |
+
position : { left : LEFT, top : TOP },
|
335 |
+
index : INDEX
|
336 |
+
},
|
337 |
+
|
338 |
+
// more piles
|
339 |
+
...
|
340 |
+
|
341 |
+
}
|
342 |
+
*/
|
343 |
+
this._piles();
|
344 |
+
|
345 |
+
// items width & height
|
346 |
+
// assuming here that all items have the same width and height
|
347 |
+
this.itemSize = { width : this.items.outerWidth( true ) , height : this.items.outerHeight( true ) };
|
348 |
+
|
349 |
+
// remove original elements
|
350 |
+
this.items.remove();
|
351 |
+
|
352 |
+
// applies some initial style for the items
|
353 |
+
this._setInitialStyle();
|
354 |
+
|
355 |
+
this.el.css( 'min-width', this.itemSize.width + this.options.gutter );
|
356 |
+
|
357 |
+
// gets the current ul size (needed for the calculation of each item's position)
|
358 |
+
this._getSize();
|
359 |
+
|
360 |
+
// calculate and set each Pile's elements position based on the current ul width
|
361 |
+
// this function will also be called on window resize
|
362 |
+
this._setItemsPosition();
|
363 |
+
|
364 |
+
// new items
|
365 |
+
this.items = this.el.children( 'li' ).show();
|
366 |
+
// total items
|
367 |
+
this.itemsCount = this.items.length;
|
368 |
+
|
369 |
+
},
|
370 |
+
_piles : function() {
|
371 |
+
|
372 |
+
var piles = {};
|
373 |
+
this.pilesArr = [];
|
374 |
+
var pile, self = this, idx = 0;
|
375 |
+
this.items.each( function() {
|
376 |
+
|
377 |
+
var $item = $( this ),
|
378 |
+
itemPile = $item.attr( 'data-pile' ) || 'nopile-' + $item.index(),
|
379 |
+
attr = itemPile.split( ',' );
|
380 |
+
|
381 |
+
for( var i = 0, total = attr.length; i < total; ++i ) {
|
382 |
+
|
383 |
+
var pileName = $.trim( attr[i] );
|
384 |
+
pile = piles[ pileName ];
|
385 |
+
|
386 |
+
if( !pile ) {
|
387 |
+
|
388 |
+
pile = piles[ pileName ] = {
|
389 |
+
name : pileName,
|
390 |
+
elements : [],
|
391 |
+
position : { left : 0, top : 0 },
|
392 |
+
index : idx
|
393 |
+
};
|
394 |
+
|
395 |
+
self.pilesArr.push(pile);
|
396 |
+
|
397 |
+
++idx;
|
398 |
+
|
399 |
+
}
|
400 |
+
|
401 |
+
var clone = $item.clone().get(0);
|
402 |
+
pile.elements.push( { el : clone, finalPosition : { left : 0, top : 0 } } );
|
403 |
+
var $clone = $(clone);
|
404 |
+
$clone.appendTo(self.el);
|
405 |
+
}
|
406 |
+
|
407 |
+
} );
|
408 |
+
|
409 |
+
},
|
410 |
+
_setInitialStyle : function() {
|
411 |
+
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
412 |
+
|
413 |
+
var p = this.pilesArr[j], featured = false, $el, styleCSS;
|
414 |
+
for (var k = 0, kl = p.elements.length; k < kl; k++){
|
415 |
+
if ( $( p.elements[k].el ).data('featured') ){
|
416 |
+
featured = true;
|
417 |
+
break;
|
418 |
+
}
|
419 |
+
}
|
420 |
+
|
421 |
+
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
422 |
+
|
423 |
+
$el = $( p.elements[i].el );
|
424 |
+
styleCSS = { transform : 'rotate(0deg)' };
|
425 |
+
|
426 |
+
this._applyInitialTransition( $el );
|
427 |
+
|
428 |
+
if ( p.name.substr( 0, 6 ) !== 'nopile' && ( $el.data('featured') || ( !featured && i === 0 ) ) ){
|
429 |
+
$el.css({ zIndex: 9999 }).data( 'front', true ).append( '<div class="tp-title-cover"><div class="tp-title"><span>' + p.name + '</span><span>' + len + '</span></div></div>' );
|
430 |
+
}
|
431 |
+
else if( i === len - 2 ) {
|
432 |
+
styleCSS = { transform : 'rotate(' + this.options.pileAngles + 'deg)' };
|
433 |
+
}
|
434 |
+
else if( i === len - 3 ) {
|
435 |
+
styleCSS = { transform : 'rotate(-' + this.options.pileAngles + 'deg)' };
|
436 |
+
}
|
437 |
+
else {
|
438 |
+
var extraStyle = { visibility : 'hidden' };
|
439 |
+
$el.css( extraStyle ).data( 'extraStyle', extraStyle );
|
440 |
+
}
|
441 |
+
|
442 |
+
$el.css( styleCSS ).data( {
|
443 |
+
initialStyle : styleCSS,
|
444 |
+
pileName : p.name,
|
445 |
+
pileCount : len,
|
446 |
+
shadow : $el.css( 'box-shadow' ),
|
447 |
+
isPile : p.name.substr(0, 6) !== 'nopile'
|
448 |
+
} );
|
449 |
+
|
450 |
+
}
|
451 |
+
|
452 |
+
}
|
453 |
+
|
454 |
+
},
|
455 |
+
_applyInitialTransition : function( $el ) {
|
456 |
+
|
457 |
+
if( this.support ) {
|
458 |
+
$el.css( 'transition', 'left 400ms ease-in-out, top 400ms ease-in-out' );
|
459 |
+
}
|
460 |
+
|
461 |
+
},
|
462 |
+
_setItemsPosition : function() {
|
463 |
+
|
464 |
+
var accumL = 0, accumT = 0,
|
465 |
+
l, t, ml = 0,
|
466 |
+
lastItemTop = 0;
|
467 |
+
|
468 |
+
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
469 |
+
|
470 |
+
var p = this.pilesArr[j],
|
471 |
+
|
472 |
+
//for( var pile in this.piles ) {
|
473 |
+
//
|
474 |
+
// var p = this.piles[pile],
|
475 |
+
stepW = this.itemSize.width + this.options.gutter,
|
476 |
+
|
477 |
+
accumIL = 0, accumIT = 0, il, it;
|
478 |
+
|
479 |
+
if( accumL + stepW <= this.elWidth ) {
|
480 |
+
|
481 |
+
l = accumL;
|
482 |
+
t = accumT;
|
483 |
+
accumL += stepW;
|
484 |
+
|
485 |
+
}
|
486 |
+
else {
|
487 |
+
|
488 |
+
if( ml === 0 ) {
|
489 |
+
ml = Math.ceil( ( this.elWidth - accumL + this.options.gutter ) / 2 );
|
490 |
+
}
|
491 |
+
|
492 |
+
accumT += this.itemSize.height + this.options.gutter;
|
493 |
+
l = 0;
|
494 |
+
t = accumT;
|
495 |
+
accumL = stepW;
|
496 |
+
|
497 |
+
}
|
498 |
+
|
499 |
+
p.position.left = l;
|
500 |
+
p.position.top = t;
|
501 |
+
|
502 |
+
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
503 |
+
|
504 |
+
var elem = p.elements[i],
|
505 |
+
fp = elem.finalPosition;
|
506 |
+
|
507 |
+
if( accumIL + stepW <= this.elWidth ) {
|
508 |
+
|
509 |
+
il = accumIL;
|
510 |
+
it = accumIT;
|
511 |
+
accumIL += stepW;
|
512 |
+
|
513 |
+
}
|
514 |
+
else {
|
515 |
+
|
516 |
+
accumIT += this.itemSize.height + this.options.gutter;
|
517 |
+
il = 0;
|
518 |
+
it = accumIT;
|
519 |
+
accumIL = stepW;
|
520 |
+
|
521 |
+
}
|
522 |
+
|
523 |
+
fp.left = il;
|
524 |
+
fp.top = it;
|
525 |
+
|
526 |
+
var $el = $( elem.el );
|
527 |
+
|
528 |
+
if(p.name !== this.pileName ) {
|
529 |
+
|
530 |
+
$el.css( { left : p.position.left, top : p.position.top } );
|
531 |
+
|
532 |
+
}
|
533 |
+
else {
|
534 |
+
|
535 |
+
lastItemTop = elem.finalPosition.top;
|
536 |
+
$el.css( { left : elem.finalPosition.left, top : lastItemTop } );
|
537 |
+
|
538 |
+
}
|
539 |
+
|
540 |
+
}
|
541 |
+
|
542 |
+
}
|
543 |
+
|
544 |
+
if( ml === 0 ) {
|
545 |
+
ml = Math.ceil( ( this.elWidth - accumL + this.options.gutter ) / 2 );
|
546 |
+
}
|
547 |
+
|
548 |
+
// the position of the items will influence the final margin left value and height for the ul
|
549 |
+
// center the ul
|
550 |
+
lastItemTop = this.spread ? lastItemTop : accumT;
|
551 |
+
this.marginLeft = ml;
|
552 |
+
this.el.css( {
|
553 |
+
marginLeft : this.marginLeft,
|
554 |
+
height : lastItemTop + this.itemSize.height
|
555 |
+
} );
|
556 |
+
|
557 |
+
},
|
558 |
+
_openPile : function() {
|
559 |
+
|
560 |
+
if( !this.spread ) {
|
561 |
+
return false;
|
562 |
+
}
|
563 |
+
|
564 |
+
// final style
|
565 |
+
var fs, rowWidth = 0;
|
566 |
+
|
567 |
+
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
568 |
+
|
569 |
+
var p = this.pilesArr[j],
|
570 |
+
cnt = 0;
|
571 |
+
|
572 |
+
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
573 |
+
|
574 |
+
var elem = p.elements[i],
|
575 |
+
$item = $( elem.el ),
|
576 |
+
styleCSS = p.name === this.pileName ? {
|
577 |
+
zIndex : 9999,
|
578 |
+
visibility : 'visible',
|
579 |
+
transition : this.support ? 'left ' + this.options.pileAnimation.openSpeed + 'ms ' + ( ( len - i - 1 ) * this.options.delay ) + 'ms ' + this.options.pileAnimation.openEasing + ', top ' + this.options.pileAnimation.openSpeed + 'ms ' + ( ( len - i - 1 ) * this.options.delay ) + 'ms ' + this.options.pileAnimation.openEasing + ', ' + this.transformName + ' ' + this.options.pileAnimation.openSpeed + 'ms ' + ( ( len - i - 1 ) * this.options.delay ) + 'ms ' + this.options.pileAnimation.openEasing : 'none'
|
580 |
+
} : {
|
581 |
+
zIndex : 1,
|
582 |
+
transition : this.support ? 'opacity ' + this.options.otherPileAnimation.closeSpeed + 'ms ' + this.options.otherPileAnimation.closeEasing : 'none'
|
583 |
+
};
|
584 |
+
|
585 |
+
if( p.name === this.pileName ) {
|
586 |
+
|
587 |
+
if (elem.finalPosition.top === 0){
|
588 |
+
if (rowWidth > 0) rowWidth += this.options.gutter;
|
589 |
+
rowWidth += this.itemSize.width;
|
590 |
+
}
|
591 |
+
|
592 |
+
if( $item.data( 'front' ) ) {
|
593 |
+
$item.find( 'div.tp-title' ).hide();
|
594 |
+
}
|
595 |
+
|
596 |
+
fs = elem.finalPosition;
|
597 |
+
fs.transform = this.options.randomAngle && i !== p.index ? 'rotate(' + Math.floor( Math.random() * ( 5 + 5 + 1 ) - 5 ) + 'deg)' : 'none';
|
598 |
+
|
599 |
+
if( !this.support ) {
|
600 |
+
$item.css( 'transform', 'none' );
|
601 |
+
}
|
602 |
+
|
603 |
+
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
604 |
+
if( i < len - 3 ) {
|
605 |
+
$item.css( 'box-shadow', 'none' );
|
606 |
+
}
|
607 |
+
|
608 |
+
}
|
609 |
+
|
610 |
+
$item.css( styleCSS );
|
611 |
+
|
612 |
+
var self = this;
|
613 |
+
|
614 |
+
p.name === this.pileName ?
|
615 |
+
this._applyTransition( $item, fs, this.options.pileAnimation.openSpeed, function( evt ) {
|
616 |
+
|
617 |
+
var target = this.target || this.nodeName;
|
618 |
+
if( target !== 'LI' ) {
|
619 |
+
return;
|
620 |
+
}
|
621 |
+
|
622 |
+
var $el = $( this );
|
623 |
+
|
624 |
+
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
625 |
+
$el.css( 'box-shadow', $el.data( 'shadow' ) );
|
626 |
+
|
627 |
+
if( self.support ) {
|
628 |
+
$el.off( self.transEndEventName );
|
629 |
+
}
|
630 |
+
|
631 |
+
++cnt;
|
632 |
+
|
633 |
+
if( cnt === $el.data( 'pileCount' ) ) {
|
634 |
+
|
635 |
+
$( document ).one( 'mousemove.stapel', function() {
|
636 |
+
self.el.addClass( 'tp-open' );
|
637 |
+
} );
|
638 |
+
self.options.onAfterOpen( self.pileName, cnt );
|
639 |
+
|
640 |
+
}
|
641 |
+
|
642 |
+
} ) :
|
643 |
+
this._applyTransition( $item, { visibility: 'hidden', opacity : 0 }, this.options.otherPileAnimation.closeSpeed );
|
644 |
+
|
645 |
+
}
|
646 |
+
|
647 |
+
}
|
648 |
+
|
649 |
+
//this.el.css( 'height', fs.top + this.itemSize.height );
|
650 |
+
this.el.css({
|
651 |
+
marginLeft: Math.ceil((this.elWidth - rowWidth) / 2),
|
652 |
+
height: fs.top + this.itemSize.height
|
653 |
+
});
|
654 |
+
|
655 |
+
},
|
656 |
+
_closePile : function() {
|
657 |
+
|
658 |
+
var self = this;
|
659 |
+
|
660 |
+
// close..
|
661 |
+
if( this.spread ) {
|
662 |
+
|
663 |
+
this.spread = false;
|
664 |
+
|
665 |
+
this.options.onBeforeClose( this.pileName );
|
666 |
+
|
667 |
+
this.el.removeClass( 'tp-open' );
|
668 |
+
|
669 |
+
// final style
|
670 |
+
var fs;
|
671 |
+
for (var j =0, pile_len = this.pilesArr.length; j < pile_len; j++){
|
672 |
+
|
673 |
+
var p = this.pilesArr[j],
|
674 |
+
cnt = 0;
|
675 |
+
|
676 |
+
for( var i = 0, len = p.elements.length; i < len; ++i ) {
|
677 |
+
|
678 |
+
var $item = $( p.elements[i].el ),
|
679 |
+
styleCSS = p.name === this.pileName ? {
|
680 |
+
transition : this.support ? 'left ' + this.options.pileAnimation.closeSpeed + 'ms ' + this.options.pileAnimation.closeEasing + ', top ' + this.options.pileAnimation.closeSpeed + 'ms ' + this.options.pileAnimation.closeEasing + ', ' + this.transformName + ' ' + this.options.pileAnimation.closeSpeed + 'ms ' + this.options.pileAnimation.closeEasing : 'none'
|
681 |
+
} : {
|
682 |
+
transition : this.support ? 'opacity ' + this.options.otherPileAnimation.openSpeed + 'ms ' + this.options.otherPileAnimation.openEasing : 'none'
|
683 |
+
};
|
684 |
+
|
685 |
+
$item.css( styleCSS );
|
686 |
+
|
687 |
+
fs = p.position;
|
688 |
+
|
689 |
+
if(p.name === this.pileName ) {
|
690 |
+
|
691 |
+
$.extend( fs, $item.data( 'initialStyle' ) );
|
692 |
+
|
693 |
+
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
694 |
+
if( i < len - 3 ) {
|
695 |
+
$item.css( 'box-shadow', 'none' );
|
696 |
+
}
|
697 |
+
|
698 |
+
}
|
699 |
+
|
700 |
+
p.name === this.pileName ? this._applyTransition( $item, fs, this.options.pileAnimation.closeSpeed, function( evt ) {
|
701 |
+
|
702 |
+
var target = this.target || this.nodeName;
|
703 |
+
if( target !== 'LI' ) {
|
704 |
+
return;
|
705 |
+
}
|
706 |
+
|
707 |
+
var $el = $( this ), extraStyle = $el.data( 'extraStyle' ), initialStyle = $el.data( 'initialStyle' );
|
708 |
+
|
709 |
+
// hack: remove box-shadow while animating to prevent the shadow stack effect
|
710 |
+
$el.css( 'box-shadow', $el.data( 'shadow' ) );
|
711 |
+
|
712 |
+
if( self.support ) {
|
713 |
+
$el.off( self.transEndEventName );
|
714 |
+
self._applyInitialTransition( $el );
|
715 |
+
}
|
716 |
+
else {
|
717 |
+
$el.css( initialStyle );
|
718 |
+
}
|
719 |
+
|
720 |
+
if( extraStyle ) {
|
721 |
+
$el.css( extraStyle );
|
722 |
+
}
|
723 |
+
|
724 |
+
++cnt;
|
725 |
+
|
726 |
+
if( $el.data( 'front' ) ) {
|
727 |
+
$el.css({visibility: 'visible'}).find( 'div.tp-title' ).show();
|
728 |
+
} else {
|
729 |
+
$el.css({visibility: 'hidden', zIndex: 1});
|
730 |
+
}
|
731 |
+
|
732 |
+
if( cnt === $el.data( 'pileCount' ) ) {
|
733 |
+
self.options.onAfterClose( $el.data( 'pileName' ), cnt );
|
734 |
+
}
|
735 |
+
|
736 |
+
} ) : this._applyTransition( $item, { opacity : 1 }, this.options.otherPileAnimation.openSpeed, function( evt ) {
|
737 |
+
|
738 |
+
var target = this.target || this.nodeName;
|
739 |
+
if( target !== 'LI' ) {
|
740 |
+
return;
|
741 |
+
}
|
742 |
+
|
743 |
+
var $el = $( this );
|
744 |
+
if( $el.data( 'front' ) ) {
|
745 |
+
$el.css({visibility: 'visible'}).find( 'div.tp-title' ).show();
|
746 |
+
} else {
|
747 |
+
$el.css({visibility: 'hidden', zIndex: 1});
|
748 |
+
}
|
749 |
+
|
750 |
+
if( self.support ) {
|
751 |
+
$el.off( self.transEndEventName );
|
752 |
+
self._applyInitialTransition( $el );
|
753 |
+
}
|
754 |
+
|
755 |
+
} );
|
756 |
+
|
757 |
+
}
|
758 |
+
|
759 |
+
}
|
760 |
+
|
761 |
+
// reset pile name
|
762 |
+
this.pileName = '';
|
763 |
+
|
764 |
+
// update ul height
|
765 |
+
//this.el.css( 'height', fs.top + this.itemSize.height );
|
766 |
+
this.el.css({
|
767 |
+
marginLeft: this.marginLeft,
|
768 |
+
height: fs.top + this.itemSize.height
|
769 |
+
});
|
770 |
+
|
771 |
+
}
|
772 |
+
|
773 |
+
return false;
|
774 |
+
|
775 |
+
},
|
776 |
+
_resize : function() {
|
777 |
+
|
778 |
+
// get ul size again
|
779 |
+
this._getSize();
|
780 |
+
// reset items positions
|
781 |
+
this._setItemsPosition();
|
782 |
+
|
783 |
+
},
|
784 |
+
_applyTransition : function( el, styleCSS, speed, fncomplete ) {
|
785 |
+
|
786 |
+
$.fn.applyStyle = this.support ? $.fn.css : $.fn.animate;
|
787 |
+
|
788 |
+
if( fncomplete && this.support ) {
|
789 |
+
|
790 |
+
el.on( this.transEndEventName, fncomplete );
|
791 |
+
|
792 |
+
}
|
793 |
+
|
794 |
+
fncomplete = fncomplete || function() { return false; };
|
795 |
+
|
796 |
+
el.stop().applyStyle( styleCSS, $.extend( true, [], { duration : speed + 'ms', complete : fncomplete } ) );
|
797 |
+
|
798 |
+
},
|
799 |
+
closePile : function() {
|
800 |
+
|
801 |
+
this._closePile();
|
802 |
+
|
803 |
+
}
|
804 |
+
|
805 |
+
};
|
806 |
+
|
807 |
+
var logError = function( message ) {
|
808 |
+
|
809 |
+
if ( window.console ) {
|
810 |
+
|
811 |
+
window.console.error( message );
|
812 |
+
|
813 |
+
}
|
814 |
+
|
815 |
+
};
|
816 |
+
|
817 |
+
$.fn.stapel = function( options ) {
|
818 |
+
|
819 |
+
var instance = $.data( this, 'stapel' );
|
820 |
+
|
821 |
+
if ( typeof options === 'string' ) {
|
822 |
+
|
823 |
+
var args = Array.prototype.slice.call( arguments, 1 );
|
824 |
+
|
825 |
+
this.each(function() {
|
826 |
+
|
827 |
+
if ( !instance ) {
|
828 |
+
|
829 |
+
logError( "cannot call methods on stapel prior to initialization; " +
|
830 |
+
"attempted to call method '" + options + "'" );
|
831 |
+
return;
|
832 |
+
|
833 |
+
}
|
834 |
+
|
835 |
+
if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
|
836 |
+
|
837 |
+
logError( "no such method '" + options + "' for stapel instance" );
|
838 |
+
return;
|
839 |
+
|
840 |
+
}
|
841 |
+
|
842 |
+
instance[ options ].apply( instance, args );
|
843 |
+
|
844 |
+
});
|
845 |
+
|
846 |
+
}
|
847 |
+
else {
|
848 |
+
|
849 |
+
this.each(function() {
|
850 |
+
|
851 |
+
if ( instance ) {
|
852 |
+
|
853 |
+
instance._init();
|
854 |
+
|
855 |
+
}
|
856 |
+
else {
|
857 |
+
|
858 |
+
instance = $.data( this, 'stapel', new $.Stapel( options, this ) );
|
859 |
+
|
860 |
+
}
|
861 |
+
|
862 |
+
});
|
863 |
+
|
864 |
+
}
|
865 |
+
|
866 |
+
return instance;
|
867 |
+
|
868 |
+
};
|
869 |
+
|
870 |
} )( jQuery, window );
|
extensions/albums/public/class-foogallery-album-template-loader.php
CHANGED
@@ -1,184 +1,184 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Template loader for FooGallery Albums
|
5 |
-
*
|
6 |
-
* @package FooGallery
|
7 |
-
* @author Brad vincent
|
8 |
-
*/
|
9 |
-
class FooGallery_Album_Template_Loader {
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Locates and renders the album based on the template
|
13 |
-
* Will look in the following locations
|
14 |
-
* wp-content/themes/{child-theme}/foogallery/album-{template}.php
|
15 |
-
* wp-content/themes/{theme}/foogallery/album-{template}.php
|
16 |
-
* wp-content/plugins/foogallery/templates/album-{template}.php
|
17 |
-
*
|
18 |
-
* @param $args array Arguments passed in from the shortcode
|
19 |
-
*/
|
20 |
-
public function render_template( $args ) {
|
21 |
-
//do some work before we locate the template
|
22 |
-
global $current_foogallery_album;
|
23 |
-
global $current_foogallery_album_arguments;
|
24 |
-
global $current_foogallery_album_template;
|
25 |
-
|
26 |
-
//set the arguments
|
27 |
-
$current_foogallery_album_arguments = $args;
|
28 |
-
|
29 |
-
//load our album
|
30 |
-
$current_foogallery_album = $this->find_album( $args );
|
31 |
-
|
32 |
-
if ( false === $current_foogallery_album ) {
|
33 |
-
_e( 'Could not load the album!', 'foogallery' );
|
34 |
-
return;
|
35 |
-
}
|
36 |
-
|
37 |
-
//find the gallery template we will use to render the gallery
|
38 |
-
$current_foogallery_album_template = $this->get_arg( $args, 'template', $current_foogallery_album->album_template );
|
39 |
-
|
40 |
-
//set a default if we have no gallery template
|
41 |
-
if ( empty($current_foogallery_album_template) ) {
|
42 |
-
$current_foogallery_album_template = foogallery_get_default( 'album_template' );
|
43 |
-
}
|
44 |
-
|
45 |
-
//if we still have not default, then use the first one we can find
|
46 |
-
if ( empty($current_foogallery_album_template) ) {
|
47 |
-
$available_templates = foogallery_album_templates();
|
48 |
-
$current_foogallery_album_template = $available_templates[0]['slug'];
|
49 |
-
}
|
50 |
-
|
51 |
-
//check if we have any galleries
|
52 |
-
if ( ! $current_foogallery_album->has_galleries() ) {
|
53 |
-
//no galleries!
|
54 |
-
do_action( "foogallery_album_template_no_galleries-($current_foogallery_album_template)", $current_foogallery_album );
|
55 |
-
} else {
|
56 |
-
|
57 |
-
//create locator instance
|
58 |
-
$instance_name = FOOGALLERY_SLUG . '_album_templates';
|
59 |
-
$loader = new Foo_Plugin_File_Locator_v1( $instance_name, FOOGALLERY_FILE, 'templates', FOOGALLERY_SLUG );
|
60 |
-
|
61 |
-
//allow extensions to very easily add pickup locations for their files
|
62 |
-
$this->add_extension_pickup_locations( $loader, apply_filters( $instance_name . '_files', array() ) );
|
63 |
-
|
64 |
-
if ( false !== ($template_location = $loader->locate_file( "album-{$current_foogallery_album_template}.php" )) ) {
|
65 |
-
|
66 |
-
//we have found a template!
|
67 |
-
do_action( 'foogallery_located_album_template', $current_foogallery_album );
|
68 |
-
do_action( "foogallery_located_album_template-{$current_foogallery_album_template}", $current_foogallery_album );
|
69 |
-
|
70 |
-
//try to include some JS
|
71 |
-
if ( false !== ($js_location = $loader->locate_file( "album-{$current_foogallery_album_template}.js" )) ) {
|
72 |
-
wp_enqueue_script( "foogallery-album-template-{$current_foogallery_album_template}", $js_location['url'] );
|
73 |
-
}
|
74 |
-
|
75 |
-
//try to include some CSS
|
76 |
-
if ( false !== ($css_location = $loader->locate_file( "album-{$current_foogallery_album_template}.css" )) ) {
|
77 |
-
foogallery_enqueue_style( "foogallery-album-template-{$current_foogallery_album_template}", $css_location['url'] );
|
78 |
-
}
|
79 |
-
|
80 |
-
//finally include the actual php template!
|
81 |
-
if ( $template_location ) {
|
82 |
-
load_template( $template_location['path'], false );
|
83 |
-
}
|
84 |
-
|
85 |
-
//we have loaded all files, now let extensions do some stuff
|
86 |
-
do_action( "foogallery_loaded_album_template", $current_foogallery_album );
|
87 |
-
do_action( "foogallery_loaded_album_template-($current_foogallery_album_template)", $current_foogallery_album );
|
88 |
-
|
89 |
-
} else {
|
90 |
-
//we could not find a template!
|
91 |
-
_e( 'No album template found!', 'foogallery' );
|
92 |
-
}
|
93 |
-
}
|
94 |
-
}
|
95 |
-
|
96 |
-
/**
|
97 |
-
* Add pickup locations to the loader to make it easier for extensions
|
98 |
-
*
|
99 |
-
* @param $loader Foo_Plugin_File_Locator_v1
|
100 |
-
* @param $extension_files array
|
101 |
-
*/
|
102 |
-
function add_extension_pickup_locations( $loader, $extension_files ) {
|
103 |
-
if ( count( $extension_files ) > 0 ) {
|
104 |
-
$position = 120;
|
105 |
-
foreach ( $extension_files as $file ) {
|
106 |
-
|
107 |
-
//add pickup location for php template
|
108 |
-
$loader->add_location( $position, array(
|
109 |
-
'path' => trailingslashit( plugin_dir_path( $file ) ),
|
110 |
-
'url' => trailingslashit( plugin_dir_url( $file ) )
|
111 |
-
) );
|
112 |
-
|
113 |
-
$position++;
|
114 |
-
|
115 |
-
//add pickup location for extensions js folder
|
116 |
-
$loader->add_location( $position, array(
|
117 |
-
'path' => trailingslashit( plugin_dir_path( $file ) . 'js' ),
|
118 |
-
'url' => trailingslashit( plugin_dir_url( $file ) . 'js' )
|
119 |
-
) );
|
120 |
-
|
121 |
-
$position++;
|
122 |
-
|
123 |
-
//add pickup location for extension css folder
|
124 |
-
$loader->add_location( $position, array(
|
125 |
-
'path' => trailingslashit( plugin_dir_path( $file ) . 'css' ),
|
126 |
-
'url' => trailingslashit( plugin_dir_url( $file ) . 'css' )
|
127 |
-
) );
|
128 |
-
|
129 |
-
$position++;
|
130 |
-
|
131 |
-
}
|
132 |
-
}
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* load the gallery based on either the id or slug, passed in via arguments
|
137 |
-
*
|
138 |
-
* @param $args array Arguments passed in from the shortcode
|
139 |
-
*
|
140 |
-
* @return bool|FooGallery The gallery object we want to render
|
141 |
-
*/
|
142 |
-
function find_album( $args ) {
|
143 |
-
|
144 |
-
$id = intval( $this->get_arg( $args, 'id' ), 0 );
|
145 |
-
|
146 |
-
if ( $id > 0 ) {
|
147 |
-
|
148 |
-
//load album by ID
|
149 |
-
return FooGalleryAlbum::get_by_id( $id );
|
150 |
-
|
151 |
-
} else {
|
152 |
-
|
153 |
-
//take into account the cases where id is passed in via the 'album' attribute
|
154 |
-
$album = $this->get_arg( 'album', 0 );
|
155 |
-
|
156 |
-
if ( intval( $album ) > 0 ) {
|
157 |
-
//we have an id, so load
|
158 |
-
return FooGalleryAlbum::get_by_id( intval( $album ) );
|
159 |
-
}
|
160 |
-
|
161 |
-
//we are dealing with a slug
|
162 |
-
return FooGalleryAlbum::get_by_slug( $album );
|
163 |
-
}
|
164 |
-
}
|
165 |
-
|
166 |
-
/**
|
167 |
-
* Helper to get an argument value from an array arguments
|
168 |
-
*
|
169 |
-
* @param $args Array the array of arguments to search
|
170 |
-
* @param $key string the key of the argument you are looking for
|
171 |
-
* @param $default string a default value if the argument is not found
|
172 |
-
*
|
173 |
-
* @return string
|
174 |
-
*/
|
175 |
-
function get_arg( $args, $key, $default = '' ) {
|
176 |
-
if ( empty($args)
|
177 |
-
|| !is_array( $args )
|
178 |
-
|| !array_key_exists( $key, $args ) ) {
|
179 |
-
return $default;
|
180 |
-
}
|
181 |
-
|
182 |
-
return $args[ $key ];
|
183 |
-
}
|
184 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Template loader for FooGallery Albums
|
5 |
+
*
|
6 |
+
* @package FooGallery
|
7 |
+
* @author Brad vincent
|
8 |
+
*/
|
9 |
+
class FooGallery_Album_Template_Loader {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Locates and renders the album based on the template
|
13 |
+
* Will look in the following locations
|
14 |
+
* wp-content/themes/{child-theme}/foogallery/album-{template}.php
|
15 |
+
* wp-content/themes/{theme}/foogallery/album-{template}.php
|
16 |
+
* wp-content/plugins/foogallery/templates/album-{template}.php
|
17 |
+
*
|
18 |
+
* @param $args array Arguments passed in from the shortcode
|
19 |
+
*/
|
20 |
+
public function render_template( $args ) {
|
21 |
+
//do some work before we locate the template
|
22 |
+
global $current_foogallery_album;
|
23 |
+
global $current_foogallery_album_arguments;
|
24 |
+
global $current_foogallery_album_template;
|
25 |
+
|
26 |
+
//set the arguments
|
27 |
+
$current_foogallery_album_arguments = $args;
|
28 |
+
|
29 |
+
//load our album
|
30 |
+
$current_foogallery_album = $this->find_album( $args );
|
31 |
+
|
32 |
+
if ( false === $current_foogallery_album ) {
|
33 |
+
_e( 'Could not load the album!', 'foogallery' );
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
|
37 |
+
//find the gallery template we will use to render the gallery
|
38 |
+
$current_foogallery_album_template = $this->get_arg( $args, 'template', $current_foogallery_album->album_template );
|
39 |
+
|
40 |
+
//set a default if we have no gallery template
|
41 |
+
if ( empty($current_foogallery_album_template) ) {
|
42 |
+
$current_foogallery_album_template = foogallery_get_default( 'album_template' );
|
43 |
+
}
|
44 |
+
|
45 |
+
//if we still have not default, then use the first one we can find
|
46 |
+
if ( empty($current_foogallery_album_template) ) {
|
47 |
+
$available_templates = foogallery_album_templates();
|
48 |
+
$current_foogallery_album_template = $available_templates[0]['slug'];
|
49 |
+
}
|
50 |
+
|
51 |
+
//check if we have any galleries
|
52 |
+
if ( ! $current_foogallery_album->has_galleries() ) {
|
53 |
+
//no galleries!
|
54 |
+
do_action( "foogallery_album_template_no_galleries-($current_foogallery_album_template)", $current_foogallery_album );
|
55 |
+
} else {
|
56 |
+
|
57 |
+
//create locator instance
|
58 |
+
$instance_name = FOOGALLERY_SLUG . '_album_templates';
|
59 |
+
$loader = new Foo_Plugin_File_Locator_v1( $instance_name, FOOGALLERY_FILE, 'templates', FOOGALLERY_SLUG );
|
60 |
+
|
61 |
+
//allow extensions to very easily add pickup locations for their files
|
62 |
+
$this->add_extension_pickup_locations( $loader, apply_filters( $instance_name . '_files', array() ) );
|
63 |
+
|
64 |
+
if ( false !== ($template_location = $loader->locate_file( "album-{$current_foogallery_album_template}.php" )) ) {
|
65 |
+
|
66 |
+
//we have found a template!
|
67 |
+
do_action( 'foogallery_located_album_template', $current_foogallery_album );
|
68 |
+
do_action( "foogallery_located_album_template-{$current_foogallery_album_template}", $current_foogallery_album );
|
69 |
+
|
70 |
+
//try to include some JS
|
71 |
+
if ( false !== ($js_location = $loader->locate_file( "album-{$current_foogallery_album_template}.js" )) ) {
|
72 |
+
wp_enqueue_script( "foogallery-album-template-{$current_foogallery_album_template}", $js_location['url'] );
|
73 |
+
}
|
74 |
+
|
75 |
+
//try to include some CSS
|
76 |
+
if ( false !== ($css_location = $loader->locate_file( "album-{$current_foogallery_album_template}.css" )) ) {
|
77 |
+
foogallery_enqueue_style( "foogallery-album-template-{$current_foogallery_album_template}", $css_location['url'] );
|
78 |
+
}
|
79 |
+
|
80 |
+
//finally include the actual php template!
|
81 |
+
if ( $template_location ) {
|
82 |
+
load_template( $template_location['path'], false );
|
83 |
+
}
|
84 |
+
|
85 |
+
//we have loaded all files, now let extensions do some stuff
|
86 |
+
do_action( "foogallery_loaded_album_template", $current_foogallery_album );
|
87 |
+
do_action( "foogallery_loaded_album_template-($current_foogallery_album_template)", $current_foogallery_album );
|
88 |
+
|
89 |
+
} else {
|
90 |
+
//we could not find a template!
|
91 |
+
_e( 'No album template found!', 'foogallery' );
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Add pickup locations to the loader to make it easier for extensions
|
98 |
+
*
|
99 |
+
* @param $loader Foo_Plugin_File_Locator_v1
|
100 |
+
* @param $extension_files array
|
101 |
+
*/
|
102 |
+
function add_extension_pickup_locations( $loader, $extension_files ) {
|
103 |
+
if ( count( $extension_files ) > 0 ) {
|
104 |
+
$position = 120;
|
105 |
+
foreach ( $extension_files as $file ) {
|
106 |
+
|
107 |
+
//add pickup location for php template
|
108 |
+
$loader->add_location( $position, array(
|
109 |
+
'path' => trailingslashit( plugin_dir_path( $file ) ),
|
110 |
+
'url' => trailingslashit( plugin_dir_url( $file ) )
|
111 |
+
) );
|
112 |
+
|
113 |
+
$position++;
|
114 |
+
|
115 |
+
//add pickup location for extensions js folder
|
116 |
+
$loader->add_location( $position, array(
|
117 |
+
'path' => trailingslashit( plugin_dir_path( $file ) . 'js' ),
|
118 |
+
'url' => trailingslashit( plugin_dir_url( $file ) . 'js' )
|
119 |
+
) );
|
120 |
+
|
121 |
+
$position++;
|
122 |
+
|
123 |
+
//add pickup location for extension css folder
|
124 |
+
$loader->add_location( $position, array(
|
125 |
+
'path' => trailingslashit( plugin_dir_path( $file ) . 'css' ),
|
126 |
+
'url' => trailingslashit( plugin_dir_url( $file ) . 'css' )
|
127 |
+
) );
|
128 |
+
|
129 |
+
$position++;
|
130 |
+
|
131 |
+
}
|
132 |
+
}
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* load the gallery based on either the id or slug, passed in via arguments
|
137 |
+
*
|
138 |
+
* @param $args array Arguments passed in from the shortcode
|
139 |
+
*
|
140 |
+
* @return bool|FooGallery The gallery object we want to render
|
141 |
+
*/
|
142 |
+
function find_album( $args ) {
|
143 |
+
|
144 |
+
$id = intval( $this->get_arg( $args, 'id' ), 0 );
|
145 |
+
|
146 |
+
if ( $id > 0 ) {
|
147 |
+
|
148 |
+
//load album by ID
|
149 |
+
return FooGalleryAlbum::get_by_id( $id );
|
150 |
+
|
151 |
+
} else {
|
152 |
+
|
153 |
+
//take into account the cases where id is passed in via the 'album' attribute
|
154 |
+
$album = $this->get_arg( 'album', 0 );
|
155 |
+
|
156 |
+
if ( intval( $album ) > 0 ) {
|
157 |
+
//we have an id, so load
|
158 |
+
return FooGalleryAlbum::get_by_id( intval( $album ) );
|
159 |
+
}
|
160 |
+
|
161 |
+
//we are dealing with a slug
|
162 |
+
return FooGalleryAlbum::get_by_slug( $album );
|
163 |
+
}
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Helper to get an argument value from an array arguments
|
168 |
+
*
|
169 |
+
* @param $args Array the array of arguments to search
|
170 |
+
* @param $key string the key of the argument you are looking for
|
171 |
+
* @param $default string a default value if the argument is not found
|
172 |
+
*
|
173 |
+
* @return string
|
174 |
+
*/
|
175 |
+
function get_arg( $args, $key, $default = '' ) {
|
176 |
+
if ( empty($args)
|
177 |
+
|| !is_array( $args )
|
178 |
+
|| !array_key_exists( $key, $args ) ) {
|
179 |
+
return $default;
|
180 |
+
}
|
181 |
+
|
182 |
+
return $args[ $key ];
|
183 |
+
}
|
184 |
+
}
|
extensions/albums/public/class-rewrite-rules.php
CHANGED
@@ -1,47 +1,47 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery Album Rewrite Rules
|
4 |
-
*/
|
5 |
-
if (!class_exists('FooGallery_Album_Rewrite_Rules')) {
|
6 |
-
|
7 |
-
class FooGallery_Album_Rewrite_Rules {
|
8 |
-
|
9 |
-
function __construct() {
|
10 |
-
add_action( 'init', array( $this, 'add_gallery_endpoint' ) );
|
11 |
-
add_filter( 'redirect_canonical', array( $this, 'disable_canonical_redirect_for_front_page' ), 10, 2 );
|
12 |
-
add_action( 'update_option_page_on_front', array( $this, 'flush_rules' ) );
|
13 |
-
}
|
14 |
-
|
15 |
-
function add_gallery_endpoint() {
|
16 |
-
$gallery_slug = foogallery_album_gallery_url_slug();
|
17 |
-
|
18 |
-
// Ensures the $query_vars['item'] is available
|
19 |
-
add_rewrite_tag( "%{$gallery_slug}%", '([^&]+)' );
|
20 |
-
|
21 |
-
// Requires flushing endpoints whenever the front page is switched to a different page
|
22 |
-
$page_on_front = get_option( 'page_on_front' );
|
23 |
-
|
24 |
-
// Match the front page and pass item value as a query var.
|
25 |
-
add_rewrite_rule( "^{$gallery_slug}/([^/]*)/?", 'index.php?page_id='.$page_on_front.'&'.$gallery_slug.'=$matches[1]', 'top' );
|
26 |
-
// Match non-front page pages.
|
27 |
-
add_rewrite_rule( "^(.*)/{$gallery_slug}/([^/]*)/?", 'index.php?pagename=$matches[1]&static=true&'.$gallery_slug.'=$matches[2]', 'top' );
|
28 |
-
}
|
29 |
-
|
30 |
-
// http://wordpress.stackexchange.com/a/220484/52463
|
31 |
-
// In order to keep WordPress from forcing a redirect to the canonical
|
32 |
-
// home page, the redirect needs to be disabled.
|
33 |
-
function disable_canonical_redirect_for_front_page( $redirect_url, $requested_url ) {
|
34 |
-
if ( is_page() && $front_page = get_option( 'page_on_front' ) ) {
|
35 |
-
if ( is_page( $front_page ) ) {
|
36 |
-
$redirect_url = false;
|
37 |
-
}
|
38 |
-
}
|
39 |
-
|
40 |
-
return $redirect_url;
|
41 |
-
}
|
42 |
-
|
43 |
-
function flush_rules() {
|
44 |
-
flush_rewrite_rules();
|
45 |
-
}
|
46 |
-
}
|
47 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery Album Rewrite Rules
|
4 |
+
*/
|
5 |
+
if (!class_exists('FooGallery_Album_Rewrite_Rules')) {
|
6 |
+
|
7 |
+
class FooGallery_Album_Rewrite_Rules {
|
8 |
+
|
9 |
+
function __construct() {
|
10 |
+
add_action( 'init', array( $this, 'add_gallery_endpoint' ) );
|
11 |
+
add_filter( 'redirect_canonical', array( $this, 'disable_canonical_redirect_for_front_page' ), 10, 2 );
|
12 |
+
add_action( 'update_option_page_on_front', array( $this, 'flush_rules' ) );
|
13 |
+
}
|
14 |
+
|
15 |
+
function add_gallery_endpoint() {
|
16 |
+
$gallery_slug = foogallery_album_gallery_url_slug();
|
17 |
+
|
18 |
+
// Ensures the $query_vars['item'] is available
|
19 |
+
add_rewrite_tag( "%{$gallery_slug}%", '([^&]+)' );
|
20 |
+
|
21 |
+
// Requires flushing endpoints whenever the front page is switched to a different page
|
22 |
+
$page_on_front = get_option( 'page_on_front' );
|
23 |
+
|
24 |
+
// Match the front page and pass item value as a query var.
|
25 |
+
add_rewrite_rule( "^{$gallery_slug}/([^/]*)/?", 'index.php?page_id='.$page_on_front.'&'.$gallery_slug.'=$matches[1]', 'top' );
|
26 |
+
// Match non-front page pages.
|
27 |
+
add_rewrite_rule( "^(.*)/{$gallery_slug}/([^/]*)/?", 'index.php?pagename=$matches[1]&static=true&'.$gallery_slug.'=$matches[2]', 'top' );
|
28 |
+
}
|
29 |
+
|
30 |
+
// http://wordpress.stackexchange.com/a/220484/52463
|
31 |
+
// In order to keep WordPress from forcing a redirect to the canonical
|
32 |
+
// home page, the redirect needs to be disabled.
|
33 |
+
function disable_canonical_redirect_for_front_page( $redirect_url, $requested_url ) {
|
34 |
+
if ( is_page() && $front_page = get_option( 'page_on_front' ) ) {
|
35 |
+
if ( is_page( $front_page ) ) {
|
36 |
+
$redirect_url = false;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
return $redirect_url;
|
41 |
+
}
|
42 |
+
|
43 |
+
function flush_rules() {
|
44 |
+
flush_rewrite_rules();
|
45 |
+
}
|
46 |
+
}
|
47 |
}
|
extensions/albums/public/class-shortcodes.php
CHANGED
@@ -1,44 +1,44 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
* FooGallery Album Shortcode
|
4 |
-
*/
|
5 |
-
|
6 |
-
if ( ! class_exists( 'FooGallery_Album_Shortcodes' ) ) {
|
7 |
-
|
8 |
-
class FooGallery_Album_Shortcodes {
|
9 |
-
|
10 |
-
function __construct() {
|
11 |
-
add_action( 'foogallery_loaded_album_template', array( $this, 'render_custom_css' ) );
|
12 |
-
add_shortcode( foogallery_album_shortcode_tag(), array( $this, 'render_foogallery_album_shortcode' ) );
|
13 |
-
}
|
14 |
-
|
15 |
-
function render_foogallery_album_shortcode( $atts ) {
|
16 |
-
|
17 |
-
$args = wp_parse_args( $atts, array(
|
18 |
-
'id' => 0,
|
19 |
-
'album' => '',
|
20 |
-
) );
|
21 |
-
|
22 |
-
$args = apply_filters( 'foogallery-album_shortcode_atts', $args );
|
23 |
-
|
24 |
-
//create new instance of template engine
|
25 |
-
$engine = new FooGallery_Album_Template_Loader();
|
26 |
-
|
27 |
-
ob_start();
|
28 |
-
|
29 |
-
$engine->render_template( $args );
|
30 |
-
|
31 |
-
$output_string = ob_get_contents();
|
32 |
-
ob_end_clean();
|
33 |
-
return $output_string;
|
34 |
-
}
|
35 |
-
|
36 |
-
function render_custom_css( $foogallery_album ) {
|
37 |
-
if ( !empty( $foogallery_album->custom_css ) ) {
|
38 |
-
echo '<style type="text/css">';
|
39 |
-
echo $foogallery_album->custom_css;
|
40 |
-
echo '</style>';
|
41 |
-
}
|
42 |
-
}
|
43 |
-
}
|
44 |
-
}
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* FooGallery Album Shortcode
|
4 |
+
*/
|
5 |
+
|
6 |
+
if ( ! class_exists( 'FooGallery_Album_Shortcodes' ) ) {
|
7 |
+
|
8 |
+
class FooGallery_Album_Shortcodes {
|
9 |
+
|
10 |
+
function __construct() {
|
11 |
+
add_action( 'foogallery_loaded_album_template', array( $this, 'render_custom_css' ) );
|
12 |
+
add_shortcode( foogallery_album_shortcode_tag(), array( $this, 'render_foogallery_album_shortcode' ) );
|
13 |
+
}
|
14 |
+
|
15 |
+
function render_foogallery_album_shortcode( $atts ) {
|
16 |
+
|
17 |
+
$args = wp_parse_args( $atts, array(
|
18 |
+
'id' => 0,
|
19 |
+
'album' => '',
|
20 |
+
) );
|
21 |
+
|
22 |
+
$args = apply_filters( 'foogallery-album_shortcode_atts', $args );
|
23 |
+
|
24 |
+
//create new instance of template engine
|
25 |
+
$engine = new FooGallery_Album_Template_Loader();
|
26 |
+
|
27 |
+
ob_start();
|
28 |
+
|
29 |
+
$engine->render_template( $args );
|
30 |
+
|
31 |
+
$output_string = ob_get_contents();
|
32 |
+
ob_end_clean();
|
33 |
+
return $output_string;
|
34 |
+
}
|
35 |
+
|
36 |
+
function render_custom_css( $foogallery_album ) {
|
37 |
+
if ( !empty( $foogallery_album->custom_css ) ) {
|
38 |
+
echo '<style type="text/css">';
|
39 |
+
echo $foogallery_album->custom_css;
|
40 |
+
echo '</style>';
|
41 |
+
}
|
42 |
+
}
|
43 |
+
}
|
44 |
+
}
|
extensions/default-templates/carousel/class-carousel-gallery-template.php
ADDED
@@ -0,0 +1,339 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! class_exists( 'FooGallery_Carousel_Gallery_Template' ) ) {
|
4 |
+
|
5 |
+
class FooGallery_Carousel_Gallery_Template {
|
6 |
+
|
7 |
+
const TEMPLATE_ID = 'carousel';
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Wire up everything we need to run the extension
|
11 |
+
*/
|
12 |
+
function __construct() {
|
13 |
+
// @formatter:off
|
14 |
+
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
15 |
+
|
16 |
+
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
17 |
+
|
18 |
+
//build up the thumb dimensions from some arguments
|
19 |
+
add_filter( 'foogallery_calculate_thumbnail_dimensions-carousel', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
20 |
+
|
21 |
+
//build up the thumb dimensions on save
|
22 |
+
add_filter( 'foogallery_template_thumbnail_dimensions-carousel', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
23 |
+
|
24 |
+
//build up the arguments needed for rendering this template
|
25 |
+
add_filter( 'foogallery_gallery_template_arguments-carousel', array( $this, 'build_gallery_template_arguments' ) );
|
26 |
+
|
27 |
+
//add the data options needed for grid pro
|
28 |
+
add_filter( 'foogallery_build_container_data_options-carousel', array( $this, 'add_data_options' ), 10, 3 );
|
29 |
+
|
30 |
+
add_action( 'foogallery_render_gallery_template_field_custom', array( $this, 'admin_custom_fields' ), 10, 3 );
|
31 |
+
// @formatter:on
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Output a custom gutter field.
|
36 |
+
*
|
37 |
+
* @param $field
|
38 |
+
* @param $gallery
|
39 |
+
* @param $template
|
40 |
+
*
|
41 |
+
* @return void
|
42 |
+
*/
|
43 |
+
function admin_custom_fields( $field, $gallery, $template ) {
|
44 |
+
if ( isset( $field ) && is_array( $field ) && isset( $field['type'] ) && 'carousel_gutter' === $field['type'] ) {
|
45 |
+
$id = $template['slug'] . '_' . $field['id'];
|
46 |
+
$min = is_array( $field['value'] ) ? intval( $field['value']['min'] ) : -40;
|
47 |
+
$max = is_array( $field['value'] ) ? intval( $field['value']['max'] ): -20;
|
48 |
+
$units = is_array( $field['value'] ) ? $field['value']['units'] : '%';
|
49 |
+
echo '<label for="FooGallerySettings_' . $id . '_min">' . __( 'Min', 'foogallery' ) . '</label> ';
|
50 |
+
echo '<input class="small-text" type="number" step="1" min="-1000" id="FooGallerySettings_' . $id . '_min" name="' . FOOGALLERY_META_SETTINGS . '[' . $id . '][min]" value="' . esc_attr( $min ) . '" />';
|
51 |
+
echo ' <label for="FooGallerySettings_' . $id . '_max">' . __( 'Max', 'foogallery' ) . '</label> ';
|
52 |
+
echo '<input class="small-text" type="number" step="1" min="-1000" id="FooGallerySettings_' . $id . '_max" name="' . FOOGALLERY_META_SETTINGS . '[' . $id . '][max]" value="' . esc_attr( $max ) . '" />';
|
53 |
+
echo ' <label for="FooGallerySettings_' . $id . '_units">' . __( 'Units', 'foogallery' ) . '</label> ';
|
54 |
+
echo '<select id="FooGallerySettings_' . $id . '_units" name="' . FOOGALLERY_META_SETTINGS . '[' . $id . '][units]">';
|
55 |
+
echo '<option ' . ( $units === '%' ? 'selected="selected" ' : '' ) . 'value="%">' . __( '%', 'foogallery' ) . '</option>';
|
56 |
+
echo '<option ' . ( $units === 'px' ? 'selected="selected" ' : '' ) . 'value="px">' . __( 'px', 'foogallery' ) . '</option>';
|
57 |
+
echo '</select>';
|
58 |
+
?>
|
59 |
+
<script type="text/javascript">
|
60 |
+
jQuery(function ($) {
|
61 |
+
$('.foogallery-field-carousel-gutter-preset').on('click', function(e) {
|
62 |
+
e.preventDefault();
|
63 |
+
|
64 |
+
$('#FooGallerySettings_<?php echo $id; ?>_min').val( $(this).data('min') );
|
65 |
+
$('#FooGallerySettings_<?php echo $id; ?>_max').val( $(this).data('max') );
|
66 |
+
$('#FooGallerySettings_<?php echo $id; ?>_units').val( $(this).data('units') ).trigger("change");
|
67 |
+
});
|
68 |
+
});
|
69 |
+
</script>
|
70 |
+
<?php
|
71 |
+
echo ' <a data-min="-40" data-max="-20" data-units="%" class="foogallery-field-carousel-gutter-preset" href="#" >' . __( 'Preset 1', 'foogallery' ) . '</a>';
|
72 |
+
echo ' <a data-min="5" data-max="10" data-units="px" class="foogallery-field-carousel-gutter-preset" href="#" >' . __( 'Preset 2', 'foogallery' ) . '</a>';
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Add the required data options if needed
|
78 |
+
*
|
79 |
+
* @param $options
|
80 |
+
* @param $gallery FooGallery
|
81 |
+
*
|
82 |
+
* @param $attributes array
|
83 |
+
*
|
84 |
+
* @return array
|
85 |
+
*/
|
86 |
+
function add_data_options($options, $gallery, $attributes) {
|
87 |
+
$maxItems = foogallery_gallery_template_setting( 'maxItems', 3 );
|
88 |
+
$scale = foogallery_gallery_template_setting( 'scale', 0.12 );
|
89 |
+
$gutter = foogallery_gallery_template_setting( 'gutter', array( 'min' => -40, 'max' => -20, 'units' => '%' ) );
|
90 |
+
$gutter_min = $gutter['min'];
|
91 |
+
$gutter_max = $gutter['max'];
|
92 |
+
$gutter_units = $gutter['units'];
|
93 |
+
$centerOnClick = foogallery_gallery_template_setting( 'centerOnClick', 'false' ) === 'true';
|
94 |
+
$autoplay_interaction = foogallery_gallery_template_setting( 'autoplay_interaction', 'pause' );
|
95 |
+
$autoplay_time = foogallery_gallery_template_setting( 'autoplay_time', 0 );
|
96 |
+
|
97 |
+
$options['template']['maxItems'] = intval( $maxItems );
|
98 |
+
$options['template']['scale'] = floatval( $scale );
|
99 |
+
$options['template']['gutter']['min'] = intval( $gutter_min );
|
100 |
+
$options['template']['gutter']['max'] = intval( $gutter_max );
|
101 |
+
$options['template']['gutter']['unit'] = $gutter_units;
|
102 |
+
$options['template']['autoplay']['time'] = intval( $autoplay_time );
|
103 |
+
$options['template']['autoplay']['interaction'] = $autoplay_interaction;
|
104 |
+
$options['template']['centerOnClick'] = $centerOnClick;
|
105 |
+
|
106 |
+
return $options;
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Register myself so that all associated JS and CSS files can be found and automatically included
|
111 |
+
*
|
112 |
+
* @param $extensions
|
113 |
+
*
|
114 |
+
* @return array
|
115 |
+
*/
|
116 |
+
function register_myself( $extensions ) {
|
117 |
+
$extensions[] = __FILE__;
|
118 |
+
|
119 |
+
return $extensions;
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Add our gallery template to the list of templates available for every gallery
|
124 |
+
*
|
125 |
+
* @param $gallery_templates
|
126 |
+
*
|
127 |
+
* @return array
|
128 |
+
*/
|
129 |
+
function add_template( $gallery_templates ) {
|
130 |
+
$gallery_templates[] = array(
|
131 |
+
'slug' => self::TEMPLATE_ID,
|
132 |
+
'name' => __( 'Carousel', 'foogallery' ),
|
133 |
+
'preview_support' => true,
|
134 |
+
'common_fields_support' => true,
|
135 |
+
'paging_support' => true,
|
136 |
+
'lazyload_support' => true,
|
137 |
+
'mandatory_classes' => 'fg-carousel',
|
138 |
+
'thumbnail_dimensions' => true,
|
139 |
+
'filtering_support' => true,
|
140 |
+
'enqueue_core' => true,
|
141 |
+
'fields' => array(
|
142 |
+
array(
|
143 |
+
'id' => 'thumbnail_dimensions',
|
144 |
+
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
145 |
+
'desc' => __( 'Choose the size of your thumbnails.', 'foogallery' ),
|
146 |
+
'section' => __( 'General', 'foogallery' ),
|
147 |
+
'type' => 'thumb_size_no_crop',
|
148 |
+
'default' => array(
|
149 |
+
'width' => 200,
|
150 |
+
'height' => 200,
|
151 |
+
'crop' => true
|
152 |
+
),
|
153 |
+
'row_data' => array(
|
154 |
+
'data-foogallery-change-selector' => 'input',
|
155 |
+
'data-foogallery-preview' => 'shortcode'
|
156 |
+
)
|
157 |
+
),
|
158 |
+
array(
|
159 |
+
'id' => 'maxItems',
|
160 |
+
'title' => __( 'Max Items To Show', 'foogallery' ),
|
161 |
+
'desc' => __( 'The total number of items displayed in the carousel. This should be an ODD number as the active item is the center and the remainder make up each side.', 'foogallery' ),
|
162 |
+
'section' => __( 'General', 'foogallery' ),
|
163 |
+
'default' => '3',
|
164 |
+
'type' => 'number',
|
165 |
+
'row_data' => array(
|
166 |
+
'data-foogallery-change-selector' => 'input',
|
167 |
+
'data-foogallery-preview' => 'shortcode'
|
168 |
+
)
|
169 |
+
),
|
170 |
+
array(
|
171 |
+
'id' => 'scale',
|
172 |
+
'title' => __( 'Scaling', 'foogallery' ),
|
173 |
+
'desc' => __( 'How to scale the items that are not in the center. Each item to the side is scaled down by this factor.', 'foogallery' ),
|
174 |
+
'section' => __( 'General', 'foogallery' ),
|
175 |
+
'default' => '0.12',
|
176 |
+
'type' => 'select',
|
177 |
+
'choices' => array(
|
178 |
+
'0' => __( 'None', 'foogallery' ),
|
179 |
+
'0.05' => __( 'Less', 'foogallery' ),
|
180 |
+
'0.12' => __( 'Normal', 'foogallery' ),
|
181 |
+
'0.18' => __( 'More', 'foogallery' ),
|
182 |
+
'0.25' => __( 'Most', 'foogallery' ),
|
183 |
+
),
|
184 |
+
'row_data' => array(
|
185 |
+
'data-foogallery-change-selector' => 'select',
|
186 |
+
'data-foogallery-preview' => 'shortcode'
|
187 |
+
)
|
188 |
+
),
|
189 |
+
array(
|
190 |
+
'id' => 'gutter',
|
191 |
+
'title' => __( 'Gutters', 'foogallery' ),
|
192 |
+
'desc' => __( 'The minimum gutter to apply to items. Negative values create an overlap. ', 'foogallery' ),
|
193 |
+
'section' => __( 'General', 'foogallery' ),
|
194 |
+
'default' => array( 'min' => -40, 'max' => -20, 'units' => '%' ),
|
195 |
+
'type' => 'carousel_gutter',
|
196 |
+
'row_data' => array(
|
197 |
+
'data-foogallery-change-selector' => ':input',
|
198 |
+
'data-foogallery-preview' => 'shortcode'
|
199 |
+
)
|
200 |
+
),
|
201 |
+
array(
|
202 |
+
'id' => 'centerOnClick',
|
203 |
+
'title' => __( 'Side Items Click', 'foogallery' ),
|
204 |
+
'desc' => __( 'What happens when an item in the carousel is clicked.', 'foogallery' ),
|
205 |
+
'section' => __( 'General', 'foogallery' ),
|
206 |
+
'default' => 'true',
|
207 |
+
'type' => 'radio',
|
208 |
+
'spacer' => '<span class="spacer"></span>',
|
209 |
+
'choices' => array(
|
210 |
+
'true' => __( 'Center The Clicked Item', 'foogallery' ),
|
211 |
+
'false' => __( 'Open The Item In Lightbox', 'foogallery' ),
|
212 |
+
),
|
213 |
+
'row_data' => array(
|
214 |
+
'data-foogallery-change-selector' => 'input',
|
215 |
+
'data-foogallery-preview' => 'shortcode'
|
216 |
+
)
|
217 |
+
),
|
218 |
+
array(
|
219 |
+
'id' => 'autoplay_time',
|
220 |
+
'title' => __( 'Autoplay Time', 'foogallery' ),
|
221 |
+
'desc' => __( 'The number in seconds an item is displayed. Set to zero to turn off autoplay.', 'foogallery' ),
|
222 |
+
'section' => __( 'General', 'foogallery' ),
|
223 |
+
'default' => '0',
|
224 |
+
'min' => 0,
|
225 |
+
'type' => 'number',
|
226 |
+
'row_data' => array(
|
227 |
+
'data-foogallery-change-selector' => 'input',
|
228 |
+
'data-foogallery-preview' => 'shortcode'
|
229 |
+
)
|
230 |
+
),
|
231 |
+
array(
|
232 |
+
'id' => 'autoplay_interaction',
|
233 |
+
'title' => __( 'Autoplay', 'foogallery' ),
|
234 |
+
'desc' => __( 'Specifies what occurs once/when a user has interacted with the carousel. Please Note: for touch devices autoplay is paused on "touchstart" and is only resumed once the user has not interacted with the carousel for the supplied time.', 'foogallery' ),
|
235 |
+
'section' => __( 'General', 'foogallery' ),
|
236 |
+
'default' => 'pause',
|
237 |
+
'type' => 'radio',
|
238 |
+
'choices' => array(
|
239 |
+
'pause' => __( 'Pause - autoplay will resume a short time after the user stops interacting with the carousel', 'foogallery' ),
|
240 |
+
'disable' => __( 'Disable - autoplay is simply turned off once the carousel has been interacted with', 'foogallery' ),
|
241 |
+
),
|
242 |
+
'row_data' => array(
|
243 |
+
'data-foogallery-change-selector' => 'input',
|
244 |
+
'data-foogallery-preview' => 'shortcode'
|
245 |
+
)
|
246 |
+
),
|
247 |
+
array(
|
248 |
+
'id' => 'inverted',
|
249 |
+
'title' => __( 'Invert Control Theme', 'foogallery' ),
|
250 |
+
'desc' => __( 'Inverts the theme used for the carousel controls (paging and navigation buttons) based on the theme under appearance.', 'foogallery' ),
|
251 |
+
'section' => __( 'General', 'foogallery' ),
|
252 |
+
'default' => '',
|
253 |
+
'type' => 'radio',
|
254 |
+
'spacer' => '<span class="spacer"></span>',
|
255 |
+
'choices' => array(
|
256 |
+
'' => __( 'Same', 'foogallery' ),
|
257 |
+
'fg-inverted' => __( 'Inverted', 'foogallery' ),
|
258 |
+
),
|
259 |
+
'row_data' => array(
|
260 |
+
'data-foogallery-change-selector' => 'input',
|
261 |
+
'data-foogallery-preview' => 'shortcode'
|
262 |
+
)
|
263 |
+
),
|
264 |
+
array(
|
265 |
+
'id' => 'thumbnail_link',
|
266 |
+
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
267 |
+
'section' => __( 'General', 'foogallery' ),
|
268 |
+
'default' => 'image',
|
269 |
+
'type' => 'thumb_link',
|
270 |
+
'desc' => __( 'You can choose to link each thumbnail to the full size image, the image\'s attachment page, a custom URL, or you can choose to not link to anything.', 'foogallery' ),
|
271 |
+
),
|
272 |
+
array(
|
273 |
+
'id' => 'lightbox',
|
274 |
+
'title' => __( 'Lightbox', 'foogallery' ),
|
275 |
+
'desc' => __( 'Choose which lightbox you want to use. The lightbox will generally only work if you set the thumbnail link to "Full Size Image".', 'foogallery' ),
|
276 |
+
'section' => __( 'General', 'foogallery' ),
|
277 |
+
'type' => 'lightbox',
|
278 |
+
'default' => 'none'
|
279 |
+
),
|
280 |
+
)
|
281 |
+
);
|
282 |
+
|
283 |
+
return $gallery_templates;
|
284 |
+
}
|
285 |
+
|
286 |
+
/**
|
287 |
+
* Builds thumb dimensions from arguments
|
288 |
+
*
|
289 |
+
* @param array $dimensions
|
290 |
+
* @param array $arguments
|
291 |
+
*
|
292 |
+
* @return mixed
|
293 |
+
*/
|
294 |
+
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
295 |
+
if ( array_key_exists( 'thumbnail_dimensions', $arguments ) ) {
|
296 |
+
return array(
|
297 |
+
'height' => intval( $arguments['thumbnail_dimensions']['height'] ),
|
298 |
+
'width' => intval( $arguments['thumbnail_dimensions']['width'] ),
|
299 |
+
'crop' => '1'
|
300 |
+
);
|
301 |
+
}
|
302 |
+
|
303 |
+
return null;
|
304 |
+
}
|
305 |
+
|
306 |
+
/**
|
307 |
+
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
308 |
+
*
|
309 |
+
* @param array $dimensions
|
310 |
+
* @param FooGallery $foogallery
|
311 |
+
*
|
312 |
+
* @return mixed
|
313 |
+
*/
|
314 |
+
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
315 |
+
$dimensions = $foogallery->get_meta( 'carousel_thumbnail_dimensions', array(
|
316 |
+
'width' => 200,
|
317 |
+
'height' => 200
|
318 |
+
) );
|
319 |
+
$dimensions['crop'] = true;
|
320 |
+
|
321 |
+
return $dimensions;
|
322 |
+
}
|
323 |
+
|
324 |
+
/**
|
325 |
+
* Build up the arguments needed for rendering this gallery template
|
326 |
+
*
|
327 |
+
* @param $args
|
328 |
+
*
|
329 |
+
* @return array
|
330 |
+
*/
|
331 |
+
function build_gallery_template_arguments( $args ) {
|
332 |
+
$args = foogallery_gallery_template_setting( 'thumbnail_dimensions', array() );
|
333 |
+
$args['crop'] = '1'; //we now force thumbs to be cropped
|
334 |
+
$args['link'] = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
335 |
+
|
336 |
+
return $args;
|
337 |
+
}
|
338 |
+
}
|
339 |
+
}
|
extensions/default-templates/carousel/gallery-carousel.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery default responsive gallery template
|
4 |
+
*/
|
5 |
+
global $current_foogallery;
|
6 |
+
|
7 |
+
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
8 |
+
$inverted = foogallery_gallery_template_setting( 'inverted', '' );
|
9 |
+
$foogallery_default_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox, $inverted );
|
10 |
+
$foogallery_default_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_default_classes ) );
|
11 |
+
$foogallery_active_class = 'fg-item-active';
|
12 |
+
$args = foogallery_gallery_template_arguments();
|
13 |
+
?><div <?php echo $foogallery_default_attributes; ?>>
|
14 |
+
<button type="button" class="fg-carousel-prev"></button>
|
15 |
+
<div class="fg-carousel-inner">
|
16 |
+
<div class="fg-carousel-center"></div>
|
17 |
+
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
18 |
+
$args['class'] = $foogallery_active_class;
|
19 |
+
echo foogallery_attachment_html( $attachment, $args );
|
20 |
+
$foogallery_active_class = '';
|
21 |
+
} ?>
|
22 |
+
</div>
|
23 |
+
<div class="fg-carousel-bottom"></div>
|
24 |
+
<div class="fg-carousel-progress"></div>
|
25 |
+
<button type="button" class="fg-carousel-next"></button>
|
26 |
+
</div>
|
extensions/default-templates/class-default-templates-extension.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Legacy Default Extensions Class for previous versions where the default templates were an extension.
|
4 |
-
* The class is now empty and has no logic. It is purely here so that existing installs do not break
|
5 |
-
*/
|
6 |
-
|
7 |
-
if ( ! class_exists( 'FooGallery_Default_Templates_Extension' ) ) {
|
8 |
-
|
9 |
-
class FooGallery_Default_Templates_Extension {
|
10 |
-
function __construct() {
|
11 |
-
}
|
12 |
-
}
|
13 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Legacy Default Extensions Class for previous versions where the default templates were an extension.
|
4 |
+
* The class is now empty and has no logic. It is purely here so that existing installs do not break
|
5 |
+
*/
|
6 |
+
|
7 |
+
if ( ! class_exists( 'FooGallery_Default_Templates_Extension' ) ) {
|
8 |
+
|
9 |
+
class FooGallery_Default_Templates_Extension {
|
10 |
+
function __construct() {
|
11 |
+
}
|
12 |
+
}
|
13 |
+
}
|
extensions/default-templates/class-default-templates.php
CHANGED
@@ -1,53 +1,54 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Class to include and init default templates.
|
4 |
-
* The templates are no longer an extension and are built in and included by default
|
5 |
-
*/
|
6 |
-
|
7 |
-
if ( ! class_exists( 'FooGallery_Default_Templates' ) ) {
|
8 |
-
|
9 |
-
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_URL', plugin_dir_url( __FILE__ ) );
|
10 |
-
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH', plugin_dir_path( __FILE__ ) );
|
11 |
-
|
12 |
-
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_URL . 'shared/' );
|
13 |
-
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_PATH', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'shared/' );
|
14 |
-
|
15 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'functions.php';
|
16 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'default/class-default-gallery-template.php';
|
17 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'image-viewer/class-image-viewer-gallery-template.php';
|
18 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'justified/class-justified-gallery-template.php';
|
19 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'masonry/class-masonry-gallery-template.php';
|
20 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'simple-portfolio/class-simple-portfolio-gallery-template.php';
|
21 |
-
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'thumbnail/class-thumbnail-gallery-template.php';
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
new
|
28 |
-
new
|
29 |
-
|
30 |
-
new FooGallery_Masonry_Gallery_Template();
|
31 |
-
new FooGallery_Simple_Portfolio_Gallery_Template();
|
32 |
-
new FooGallery_Thumbnail_Gallery_Template();
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
*
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
}
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class to include and init default templates.
|
4 |
+
* The templates are no longer an extension and are built in and included by default
|
5 |
+
*/
|
6 |
+
|
7 |
+
if ( ! class_exists( 'FooGallery_Default_Templates' ) ) {
|
8 |
+
|
9 |
+
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_URL', plugin_dir_url( __FILE__ ) );
|
10 |
+
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH', plugin_dir_path( __FILE__ ) );
|
11 |
+
|
12 |
+
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_URL . 'shared/' );
|
13 |
+
define( 'FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_PATH', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'shared/' );
|
14 |
+
|
15 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'functions.php';
|
16 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'default/class-default-gallery-template.php';
|
17 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'image-viewer/class-image-viewer-gallery-template.php';
|
18 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'justified/class-justified-gallery-template.php';
|
19 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'masonry/class-masonry-gallery-template.php';
|
20 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'simple-portfolio/class-simple-portfolio-gallery-template.php';
|
21 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'thumbnail/class-thumbnail-gallery-template.php';
|
22 |
+
require_once FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_PATH . 'carousel/class-carousel-gallery-template.php';
|
23 |
+
|
24 |
+
class FooGallery_Default_Templates {
|
25 |
+
|
26 |
+
function __construct() {
|
27 |
+
new FooGallery_Default_Gallery_Template();
|
28 |
+
new FooGallery_Image_Viewer_Gallery_Template();
|
29 |
+
new FooGallery_Justified_Gallery_Template();
|
30 |
+
new FooGallery_Masonry_Gallery_Template();
|
31 |
+
new FooGallery_Simple_Portfolio_Gallery_Template();
|
32 |
+
new FooGallery_Thumbnail_Gallery_Template();
|
33 |
+
new FooGallery_Carousel_Gallery_Template();
|
34 |
+
|
35 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) );
|
36 |
+
}
|
37 |
+
|
38 |
+
/***
|
39 |
+
* Enqueue the assets needed by the default templates
|
40 |
+
* @param $hook_suffix
|
41 |
+
*/
|
42 |
+
function enqueue_assets( $hook_suffix ){
|
43 |
+
if( in_array( $hook_suffix, array( 'post.php', 'post-new.php' ) ) ) {
|
44 |
+
$screen = get_current_screen();
|
45 |
+
|
46 |
+
if ( is_object( $screen ) && FOOGALLERY_CPT_GALLERY == $screen->post_type ){
|
47 |
+
|
48 |
+
// Register, enqueue scripts and styles here
|
49 |
+
wp_enqueue_style( 'foogallery-core-admin-settings', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL . 'css/admin-foogallery.css', array(), FOOGALLERY_VERSION );
|
50 |
+
}
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
}
|
extensions/default-templates/default/class-default-gallery-template.php
CHANGED
@@ -1,240 +1,240 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( ! class_exists( 'FooGallery_Default_Gallery_Template' ) ) {
|
4 |
-
|
5 |
-
define( 'FOOGALLERY_DEFAULT_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ) );
|
6 |
-
|
7 |
-
class FooGallery_Default_Gallery_Template {
|
8 |
-
|
9 |
-
const TEMPLATE_ID = 'default';
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Wire up everything we need to run the extension
|
13 |
-
*/
|
14 |
-
function __construct() {
|
15 |
-
// @formatter:off
|
16 |
-
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
17 |
-
|
18 |
-
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
19 |
-
|
20 |
-
//build up the thumb dimensions from some arguments
|
21 |
-
add_filter( 'foogallery_calculate_thumbnail_dimensions-default', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
22 |
-
|
23 |
-
//build up the thumb dimensions on save
|
24 |
-
add_filter( 'foogallery_template_thumbnail_dimensions-default', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
25 |
-
|
26 |
-
//build up the arguments needed for rendering this template
|
27 |
-
add_filter( 'foogallery_gallery_template_arguments-default', array( $this, 'build_gallery_template_arguments' ) );
|
28 |
-
|
29 |
-
// add a style block for the gallery based on the thumbnail width.
|
30 |
-
add_action( 'foogallery_loaded_template_before', array( $this, 'add_width_style_block' ), 10, 1 );
|
31 |
-
// @formatter:on
|
32 |
-
}
|
33 |
-
|
34 |
-
/**
|
35 |
-
* Add a style block based on the width thumbnail size
|
36 |
-
*
|
37 |
-
* @param $gallery FooGallery
|
38 |
-
*/
|
39 |
-
function add_width_style_block( $gallery ) {
|
40 |
-
if ( self::TEMPLATE_ID !== $gallery->gallery_template ) {
|
41 |
-
return;
|
42 |
-
}
|
43 |
-
|
44 |
-
$id = $gallery->container_id();
|
45 |
-
$dimensions = foogallery_gallery_template_setting('thumbnail_dimensions');
|
46 |
-
if ( is_array( $dimensions ) && array_key_exists( 'width', $dimensions ) && intval( $dimensions['width'] ) > 0 ) {
|
47 |
-
$width = intval( $dimensions['width'] );
|
48 |
-
|
49 |
-
// @formatter:off
|
50 |
-
?>
|
51 |
-
<style type="text/css">
|
52 |
-
<?php echo '#' . $id; ?> .fg-image {
|
53 |
-
width: <?php echo $width; ?>px;
|
54 |
-
}
|
55 |
-
</style>
|
56 |
-
<?php
|
57 |
-
// @formatter:on
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
-
* Register myself so that all associated JS and CSS files can be found and automatically included
|
63 |
-
*
|
64 |
-
* @param $extensions
|
65 |
-
*
|
66 |
-
* @return array
|
67 |
-
*/
|
68 |
-
function register_myself( $extensions ) {
|
69 |
-
$extensions[] = __FILE__;
|
70 |
-
|
71 |
-
return $extensions;
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
* Add our gallery template to the list of templates available for every gallery
|
76 |
-
*
|
77 |
-
* @param $gallery_templates
|
78 |
-
*
|
79 |
-
* @return array
|
80 |
-
*/
|
81 |
-
function add_template( $gallery_templates ) {
|
82 |
-
$gallery_templates[] = array(
|
83 |
-
'slug' => self::TEMPLATE_ID,
|
84 |
-
'name' => __( 'Responsive Image Gallery', 'foogallery' ),
|
85 |
-
'preview_support' => true,
|
86 |
-
'common_fields_support' => true,
|
87 |
-
'paging_support' => true,
|
88 |
-
'lazyload_support' => true,
|
89 |
-
'mandatory_classes' => 'fg-default',
|
90 |
-
'thumbnail_dimensions' => true,
|
91 |
-
'filtering_support' => true,
|
92 |
-
'enqueue_core' => true,
|
93 |
-
'fields' => array(
|
94 |
-
array(
|
95 |
-
'id' => 'thumbnail_dimensions',
|
96 |
-
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
97 |
-
'desc' => __( 'Choose the size of your thumbnails.', 'foogallery' ),
|
98 |
-
'section' => __( 'General', 'foogallery' ),
|
99 |
-
'type' => 'thumb_size_no_crop',
|
100 |
-
'default' => array(
|
101 |
-
'width' => get_option( 'thumbnail_size_w' ),
|
102 |
-
'height' => get_option( 'thumbnail_size_h' ),
|
103 |
-
),
|
104 |
-
'row_data' => array(
|
105 |
-
'data-foogallery-change-selector' => 'input',
|
106 |
-
'data-foogallery-preview' => 'shortcode'
|
107 |
-
)
|
108 |
-
),
|
109 |
-
array(
|
110 |
-
'id' => 'mobile_columns',
|
111 |
-
'title' => __( 'Mobile Layout', 'foogallery' ),
|
112 |
-
'desc' => __( 'Number of columns to show on mobile (screen widths less than 600px)', 'foogallery' ),
|
113 |
-
'section' => __( 'General', 'foogallery' ),
|
114 |
-
'default' => '',
|
115 |
-
'type' => 'radio',
|
116 |
-
'choices' => array(
|
117 |
-
'' => __( 'Default', 'foogallery' ),
|
118 |
-
'fg-m-col1' => __( '1 Column', 'foogallery' ),
|
119 |
-
'fg-m-col2' => __( '2 Columns', 'foogallery' ),
|
120 |
-
'fg-m-col3' => __( '3 Columns', 'foogallery' ),
|
121 |
-
),
|
122 |
-
'row_data' => array(
|
123 |
-
'data-foogallery-change-selector' => 'input:radio',
|
124 |
-
'data-foogallery-preview' => 'shortcode'
|
125 |
-
)
|
126 |
-
),
|
127 |
-
array(
|
128 |
-
'id' => 'thumbnail_link',
|
129 |
-
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
130 |
-
'section' => __( 'General', 'foogallery' ),
|
131 |
-
'default' => 'image',
|
132 |
-
'type' => 'thumb_link',
|
133 |
-
'desc' => __( 'You can choose to link each thumbnail to the full size image, the image\'s attachment page, a custom URL, or you can choose to not link to anything.', 'foogallery' ),
|
134 |
-
),
|
135 |
-
array(
|
136 |
-
'id' => 'lightbox',
|
137 |
-
'title' => __( 'Lightbox', 'foogallery' ),
|
138 |
-
'desc' => __( 'Choose which lightbox you want to use. The lightbox will generally only work if you set the thumbnail link to "Full Size Image".', 'foogallery' ),
|
139 |
-
'section' => __( 'General', 'foogallery' ),
|
140 |
-
'type' => 'lightbox',
|
141 |
-
'default' => 'none'
|
142 |
-
),
|
143 |
-
array(
|
144 |
-
'id' => 'spacing',
|
145 |
-
'title' => __( 'Spacing', 'foogallery' ),
|
146 |
-
'desc' => __( 'The spacing or gap between thumbnails in the gallery.', 'foogallery' ),
|
147 |
-
'section' => __( 'General', 'foogallery' ),
|
148 |
-
'type' => 'select',
|
149 |
-
'default' => 'fg-gutter-10',
|
150 |
-
'choices' => array(
|
151 |
-
'fg-gutter-0' => __( 'none', 'foogallery' ),
|
152 |
-
'fg-gutter-5' => __( '5 pixels', 'foogallery' ),
|
153 |
-
'fg-gutter-10' => __( '10 pixels', 'foogallery' ),
|
154 |
-
'fg-gutter-15' => __( '15 pixels', 'foogallery' ),
|
155 |
-
'fg-gutter-20' => __( '20 pixels', 'foogallery' ),
|
156 |
-
'fg-gutter-25' => __( '25 pixels', 'foogallery' ),
|
157 |
-
),
|
158 |
-
'row_data' => array(
|
159 |
-
'data-foogallery-change-selector' => 'select',
|
160 |
-
'data-foogallery-preview' => 'shortcode'
|
161 |
-
)
|
162 |
-
),
|
163 |
-
array(
|
164 |
-
'id' => 'alignment',
|
165 |
-
'title' => __( 'Alignment', 'foogallery' ),
|
166 |
-
'desc' => __( 'The horizontal alignment of the thumbnails inside the gallery.', 'foogallery' ),
|
167 |
-
'section' => __( 'General', 'foogallery' ),
|
168 |
-
'default' => 'fg-center',
|
169 |
-
'type' => 'radio',
|
170 |
-
'spacer' => '<span class="spacer"></span>',
|
171 |
-
'choices' => array(
|
172 |
-
'fg-left' => __( 'Left', 'foogallery' ),
|
173 |
-
'fg-center' => __( 'Center', 'foogallery' ),
|
174 |
-
'fg-right' => __( 'Right', 'foogallery' ),
|
175 |
-
),
|
176 |
-
'row_data' => array(
|
177 |
-
'data-foogallery-change-selector' => 'input:radio',
|
178 |
-
'data-foogallery-preview' => 'shortcode'
|
179 |
-
)
|
180 |
-
)
|
181 |
-
)
|
182 |
-
);
|
183 |
-
|
184 |
-
return $gallery_templates;
|
185 |
-
}
|
186 |
-
|
187 |
-
/**
|
188 |
-
* Builds thumb dimensions from arguments
|
189 |
-
*
|
190 |
-
* @param array $dimensions
|
191 |
-
* @param array $arguments
|
192 |
-
*
|
193 |
-
* @return mixed
|
194 |
-
*/
|
195 |
-
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
196 |
-
if ( array_key_exists( 'thumbnail_dimensions', $arguments ) ) {
|
197 |
-
return array(
|
198 |
-
'height' => intval( $arguments['thumbnail_dimensions']['height'] ),
|
199 |
-
'width' => intval( $arguments['thumbnail_dimensions']['width'] ),
|
200 |
-
'crop' => '1'
|
201 |
-
);
|
202 |
-
}
|
203 |
-
|
204 |
-
return null;
|
205 |
-
}
|
206 |
-
|
207 |
-
/**
|
208 |
-
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
209 |
-
*
|
210 |
-
* @param array $dimensions
|
211 |
-
* @param FooGallery $foogallery
|
212 |
-
*
|
213 |
-
* @return mixed
|
214 |
-
*/
|
215 |
-
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
216 |
-
$dimensions = $foogallery->get_meta( 'default_thumbnail_dimensions', array(
|
217 |
-
'width' => get_option( 'thumbnail_size_w' ),
|
218 |
-
'height' => get_option( 'thumbnail_size_h' )
|
219 |
-
) );
|
220 |
-
$dimensions['crop'] = true;
|
221 |
-
|
222 |
-
return $dimensions;
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Build up the arguments needed for rendering this gallery template
|
227 |
-
*
|
228 |
-
* @param $args
|
229 |
-
*
|
230 |
-
* @return array
|
231 |
-
*/
|
232 |
-
function build_gallery_template_arguments( $args ) {
|
233 |
-
$args = foogallery_gallery_template_setting( 'thumbnail_dimensions', array() );
|
234 |
-
$args['crop'] = '1'; //we now force thumbs to be cropped
|
235 |
-
$args['link'] = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
236 |
-
|
237 |
-
return $args;
|
238 |
-
}
|
239 |
-
}
|
240 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! class_exists( 'FooGallery_Default_Gallery_Template' ) ) {
|
4 |
+
|
5 |
+
define( 'FOOGALLERY_DEFAULT_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ) );
|
6 |
+
|
7 |
+
class FooGallery_Default_Gallery_Template {
|
8 |
+
|
9 |
+
const TEMPLATE_ID = 'default';
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Wire up everything we need to run the extension
|
13 |
+
*/
|
14 |
+
function __construct() {
|
15 |
+
// @formatter:off
|
16 |
+
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
17 |
+
|
18 |
+
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
19 |
+
|
20 |
+
//build up the thumb dimensions from some arguments
|
21 |
+
add_filter( 'foogallery_calculate_thumbnail_dimensions-default', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
22 |
+
|
23 |
+
//build up the thumb dimensions on save
|
24 |
+
add_filter( 'foogallery_template_thumbnail_dimensions-default', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
25 |
+
|
26 |
+
//build up the arguments needed for rendering this template
|
27 |
+
add_filter( 'foogallery_gallery_template_arguments-default', array( $this, 'build_gallery_template_arguments' ) );
|
28 |
+
|
29 |
+
// add a style block for the gallery based on the thumbnail width.
|
30 |
+
add_action( 'foogallery_loaded_template_before', array( $this, 'add_width_style_block' ), 10, 1 );
|
31 |
+
// @formatter:on
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Add a style block based on the width thumbnail size
|
36 |
+
*
|
37 |
+
* @param $gallery FooGallery
|
38 |
+
*/
|
39 |
+
function add_width_style_block( $gallery ) {
|
40 |
+
if ( self::TEMPLATE_ID !== $gallery->gallery_template ) {
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
|
44 |
+
$id = $gallery->container_id();
|
45 |
+
$dimensions = foogallery_gallery_template_setting('thumbnail_dimensions');
|
46 |
+
if ( is_array( $dimensions ) && array_key_exists( 'width', $dimensions ) && intval( $dimensions['width'] ) > 0 ) {
|
47 |
+
$width = intval( $dimensions['width'] );
|
48 |
+
|
49 |
+
// @formatter:off
|
50 |
+
?>
|
51 |
+
<style type="text/css">
|
52 |
+
<?php echo '#' . $id; ?> .fg-image {
|
53 |
+
width: <?php echo $width; ?>px;
|
54 |
+
}
|
55 |
+
</style>
|
56 |
+
<?php
|
57 |
+
// @formatter:on
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Register myself so that all associated JS and CSS files can be found and automatically included
|
63 |
+
*
|
64 |
+
* @param $extensions
|
65 |
+
*
|
66 |
+
* @return array
|
67 |
+
*/
|
68 |
+
function register_myself( $extensions ) {
|
69 |
+
$extensions[] = __FILE__;
|
70 |
+
|
71 |
+
return $extensions;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Add our gallery template to the list of templates available for every gallery
|
76 |
+
*
|
77 |
+
* @param $gallery_templates
|
78 |
+
*
|
79 |
+
* @return array
|
80 |
+
*/
|
81 |
+
function add_template( $gallery_templates ) {
|
82 |
+
$gallery_templates[] = array(
|
83 |
+
'slug' => self::TEMPLATE_ID,
|
84 |
+
'name' => __( 'Responsive Image Gallery', 'foogallery' ),
|
85 |
+
'preview_support' => true,
|
86 |
+
'common_fields_support' => true,
|
87 |
+
'paging_support' => true,
|
88 |
+
'lazyload_support' => true,
|
89 |
+
'mandatory_classes' => 'fg-default',
|
90 |
+
'thumbnail_dimensions' => true,
|
91 |
+
'filtering_support' => true,
|
92 |
+
'enqueue_core' => true,
|
93 |
+
'fields' => array(
|
94 |
+
array(
|
95 |
+
'id' => 'thumbnail_dimensions',
|
96 |
+
'title' => __( 'Thumbnail Size', 'foogallery' ),
|
97 |
+
'desc' => __( 'Choose the size of your thumbnails.', 'foogallery' ),
|
98 |
+
'section' => __( 'General', 'foogallery' ),
|
99 |
+
'type' => 'thumb_size_no_crop',
|
100 |
+
'default' => array(
|
101 |
+
'width' => get_option( 'thumbnail_size_w' ),
|
102 |
+
'height' => get_option( 'thumbnail_size_h' ),
|
103 |
+
),
|
104 |
+
'row_data' => array(
|
105 |
+
'data-foogallery-change-selector' => 'input',
|
106 |
+
'data-foogallery-preview' => 'shortcode'
|
107 |
+
)
|
108 |
+
),
|
109 |
+
array(
|
110 |
+
'id' => 'mobile_columns',
|
111 |
+
'title' => __( 'Mobile Layout', 'foogallery' ),
|
112 |
+
'desc' => __( 'Number of columns to show on mobile (screen widths less than 600px)', 'foogallery' ),
|
113 |
+
'section' => __( 'General', 'foogallery' ),
|
114 |
+
'default' => '',
|
115 |
+
'type' => 'radio',
|
116 |
+
'choices' => array(
|
117 |
+
'' => __( 'Default', 'foogallery' ),
|
118 |
+
'fg-m-col1' => __( '1 Column', 'foogallery' ),
|
119 |
+
'fg-m-col2' => __( '2 Columns', 'foogallery' ),
|
120 |
+
'fg-m-col3' => __( '3 Columns', 'foogallery' ),
|
121 |
+
),
|
122 |
+
'row_data' => array(
|
123 |
+
'data-foogallery-change-selector' => 'input:radio',
|
124 |
+
'data-foogallery-preview' => 'shortcode'
|
125 |
+
)
|
126 |
+
),
|
127 |
+
array(
|
128 |
+
'id' => 'thumbnail_link',
|
129 |
+
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
130 |
+
'section' => __( 'General', 'foogallery' ),
|
131 |
+
'default' => 'image',
|
132 |
+
'type' => 'thumb_link',
|
133 |
+
'desc' => __( 'You can choose to link each thumbnail to the full size image, the image\'s attachment page, a custom URL, or you can choose to not link to anything.', 'foogallery' ),
|
134 |
+
),
|
135 |
+
array(
|
136 |
+
'id' => 'lightbox',
|
137 |
+
'title' => __( 'Lightbox', 'foogallery' ),
|
138 |
+
'desc' => __( 'Choose which lightbox you want to use. The lightbox will generally only work if you set the thumbnail link to "Full Size Image".', 'foogallery' ),
|
139 |
+
'section' => __( 'General', 'foogallery' ),
|
140 |
+
'type' => 'lightbox',
|
141 |
+
'default' => 'none'
|
142 |
+
),
|
143 |
+
array(
|
144 |
+
'id' => 'spacing',
|
145 |
+
'title' => __( 'Spacing', 'foogallery' ),
|
146 |
+
'desc' => __( 'The spacing or gap between thumbnails in the gallery.', 'foogallery' ),
|
147 |
+
'section' => __( 'General', 'foogallery' ),
|
148 |
+
'type' => 'select',
|
149 |
+
'default' => 'fg-gutter-10',
|
150 |
+
'choices' => array(
|
151 |
+
'fg-gutter-0' => __( 'none', 'foogallery' ),
|
152 |
+
'fg-gutter-5' => __( '5 pixels', 'foogallery' ),
|
153 |
+
'fg-gutter-10' => __( '10 pixels', 'foogallery' ),
|
154 |
+
'fg-gutter-15' => __( '15 pixels', 'foogallery' ),
|
155 |
+
'fg-gutter-20' => __( '20 pixels', 'foogallery' ),
|
156 |
+
'fg-gutter-25' => __( '25 pixels', 'foogallery' ),
|
157 |
+
),
|
158 |
+
'row_data' => array(
|
159 |
+
'data-foogallery-change-selector' => 'select',
|
160 |
+
'data-foogallery-preview' => 'shortcode'
|
161 |
+
)
|
162 |
+
),
|
163 |
+
array(
|
164 |
+
'id' => 'alignment',
|
165 |
+
'title' => __( 'Alignment', 'foogallery' ),
|
166 |
+
'desc' => __( 'The horizontal alignment of the thumbnails inside the gallery.', 'foogallery' ),
|
167 |
+
'section' => __( 'General', 'foogallery' ),
|
168 |
+
'default' => 'fg-center',
|
169 |
+
'type' => 'radio',
|
170 |
+
'spacer' => '<span class="spacer"></span>',
|
171 |
+
'choices' => array(
|
172 |
+
'fg-left' => __( 'Left', 'foogallery' ),
|
173 |
+
'fg-center' => __( 'Center', 'foogallery' ),
|
174 |
+
'fg-right' => __( 'Right', 'foogallery' ),
|
175 |
+
),
|
176 |
+
'row_data' => array(
|
177 |
+
'data-foogallery-change-selector' => 'input:radio',
|
178 |
+
'data-foogallery-preview' => 'shortcode'
|
179 |
+
)
|
180 |
+
)
|
181 |
+
)
|
182 |
+
);
|
183 |
+
|
184 |
+
return $gallery_templates;
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Builds thumb dimensions from arguments
|
189 |
+
*
|
190 |
+
* @param array $dimensions
|
191 |
+
* @param array $arguments
|
192 |
+
*
|
193 |
+
* @return mixed
|
194 |
+
*/
|
195 |
+
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
196 |
+
if ( array_key_exists( 'thumbnail_dimensions', $arguments ) ) {
|
197 |
+
return array(
|
198 |
+
'height' => intval( $arguments['thumbnail_dimensions']['height'] ),
|
199 |
+
'width' => intval( $arguments['thumbnail_dimensions']['width'] ),
|
200 |
+
'crop' => '1'
|
201 |
+
);
|
202 |
+
}
|
203 |
+
|
204 |
+
return null;
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
209 |
+
*
|
210 |
+
* @param array $dimensions
|
211 |
+
* @param FooGallery $foogallery
|
212 |
+
*
|
213 |
+
* @return mixed
|
214 |
+
*/
|
215 |
+
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
216 |
+
$dimensions = $foogallery->get_meta( 'default_thumbnail_dimensions', array(
|
217 |
+
'width' => get_option( 'thumbnail_size_w' ),
|
218 |
+
'height' => get_option( 'thumbnail_size_h' )
|
219 |
+
) );
|
220 |
+
$dimensions['crop'] = true;
|
221 |
+
|
222 |
+
return $dimensions;
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Build up the arguments needed for rendering this gallery template
|
227 |
+
*
|
228 |
+
* @param $args
|
229 |
+
*
|
230 |
+
* @return array
|
231 |
+
*/
|
232 |
+
function build_gallery_template_arguments( $args ) {
|
233 |
+
$args = foogallery_gallery_template_setting( 'thumbnail_dimensions', array() );
|
234 |
+
$args['crop'] = '1'; //we now force thumbs to be cropped
|
235 |
+
$args['link'] = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
236 |
+
|
237 |
+
return $args;
|
238 |
+
}
|
239 |
+
}
|
240 |
}
|
extensions/default-templates/default/gallery-default.php
CHANGED
@@ -1,19 +1,19 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery default responsive gallery template
|
4 |
-
*/
|
5 |
-
global $current_foogallery;
|
6 |
-
|
7 |
-
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
8 |
-
$spacing = foogallery_gallery_template_setting( 'spacing', 'spacing-width-10' );
|
9 |
-
$mobile_columns = foogallery_gallery_template_setting( 'mobile_columns', '' );
|
10 |
-
$alignment = foogallery_gallery_template_setting( 'alignment', 'fg-center' );
|
11 |
-
|
12 |
-
$foogallery_default_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox, $spacing, $alignment, $mobile_columns );
|
13 |
-
$foogallery_default_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_default_classes ) );
|
14 |
-
|
15 |
-
?><div <?php echo $foogallery_default_attributes; ?>>
|
16 |
-
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
17 |
-
echo foogallery_attachment_html( $attachment );
|
18 |
-
} ?>
|
19 |
-
</div>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery default responsive gallery template
|
4 |
+
*/
|
5 |
+
global $current_foogallery;
|
6 |
+
|
7 |
+
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
8 |
+
$spacing = foogallery_gallery_template_setting( 'spacing', 'spacing-width-10' );
|
9 |
+
$mobile_columns = foogallery_gallery_template_setting( 'mobile_columns', '' );
|
10 |
+
$alignment = foogallery_gallery_template_setting( 'alignment', 'fg-center' );
|
11 |
+
|
12 |
+
$foogallery_default_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox, $spacing, $alignment, $mobile_columns );
|
13 |
+
$foogallery_default_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_default_classes ) );
|
14 |
+
|
15 |
+
?><div <?php echo $foogallery_default_attributes; ?>>
|
16 |
+
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
17 |
+
echo foogallery_attachment_html( $attachment );
|
18 |
+
} ?>
|
19 |
+
</div>
|
extensions/default-templates/default/js/admin-gallery-default.js
CHANGED
@@ -1,89 +1,89 @@
|
|
1 |
-
(function (FOOGALLERY_DEF_TEMPLATE, $, undefined) {
|
2 |
-
|
3 |
-
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses = function() {
|
4 |
-
|
5 |
-
var $previewImage = $('.foogallery-default-preview'),
|
6 |
-
border_style = $('input[name="foogallery_settings[default_border-style]"]:checked').val(),
|
7 |
-
hover_effect = $('input[name="foogallery_settings[default_hover-effect]"]:checked').val(),
|
8 |
-
hover_effect_type = $('input[name="foogallery_settings[default_hover-effect-type]"]:checked').val(),
|
9 |
-
caption_effect_type = $('input[name="foogallery_settings[default_caption-hover-effect]"]:checked').val(),
|
10 |
-
classNames = 'foogallery-default-preview foogallery-container foogallery-default ' + border_style + ' ' + hover_effect_type;
|
11 |
-
|
12 |
-
var $hoverEffectrow = $('.gallery_template_field-default-hover-effect'),
|
13 |
-
$captionHoverRow = $('.gallery_template_field-default-caption-hover-effect'),
|
14 |
-
$captionContentRow = $('.gallery_template_field-default-caption-content');
|
15 |
-
|
16 |
-
if ( hover_effect_type === '' ) {
|
17 |
-
//icon hover effect type
|
18 |
-
$hoverEffectrow.show();
|
19 |
-
$captionHoverRow.hide();
|
20 |
-
$captionContentRow.hide();
|
21 |
-
classNames += ' ' + hover_effect;
|
22 |
-
} else if ( hover_effect_type === 'hover-effect-caption' ) {
|
23 |
-
//caption hover effect type
|
24 |
-
$hoverEffectrow.hide();
|
25 |
-
$captionHoverRow.show();
|
26 |
-
$captionContentRow.show();
|
27 |
-
classNames += ' ' + caption_effect_type;
|
28 |
-
} else {
|
29 |
-
//no hover effect type
|
30 |
-
$hoverEffectrow.hide();
|
31 |
-
$captionHoverRow.hide();
|
32 |
-
$captionContentRow.hide();
|
33 |
-
}
|
34 |
-
|
35 |
-
$previewImage.attr('class' , classNames);
|
36 |
-
};
|
37 |
-
|
38 |
-
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent = function(){
|
39 |
-
var $previewImage = $('.foogallery-default-preview'),
|
40 |
-
$caption = $previewImage.find('.foogallery-caption'),
|
41 |
-
$title = $previewImage.find('.foogallery-caption-title'),
|
42 |
-
$desc = $previewImage.find('.foogallery-caption-desc'),
|
43 |
-
caption_content = $('input[name="foogallery_settings[default_caption-content]"]:checked').val();
|
44 |
-
|
45 |
-
$caption.add($title).add($desc).show();
|
46 |
-
switch(caption_content){
|
47 |
-
case 'title':
|
48 |
-
$desc.hide();
|
49 |
-
break;
|
50 |
-
case 'desc':
|
51 |
-
$title.hide();
|
52 |
-
break;
|
53 |
-
case 'none':
|
54 |
-
$caption.hide();
|
55 |
-
break;
|
56 |
-
}
|
57 |
-
};
|
58 |
-
|
59 |
-
FOOGALLERY_DEF_TEMPLATE.adminReady = function () {
|
60 |
-
$('body').on('foogallery-gallery-template-changed-default', function() {
|
61 |
-
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses();
|
62 |
-
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent();
|
63 |
-
});
|
64 |
-
|
65 |
-
$('input[name="foogallery_settings[default_border-style]"], ' +
|
66 |
-
'input[name="foogallery_settings[default_hover-effect]"], ' +
|
67 |
-
'input[name="foogallery_settings[default_hover-effect-type]"], ' +
|
68 |
-
'input[name="foogallery_settings[default_caption-hover-effect]"]').change(function() {
|
69 |
-
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses();
|
70 |
-
});
|
71 |
-
|
72 |
-
$('input[name="foogallery_settings[default_caption-content]"]').change(function() {
|
73 |
-
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent();
|
74 |
-
});
|
75 |
-
|
76 |
-
$('.foogallery-thumbnail-preview').on('click', function(e) {
|
77 |
-
e.preventDefault();
|
78 |
-
});
|
79 |
-
|
80 |
-
//run when the page load for the first time too!
|
81 |
-
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses();
|
82 |
-
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent();
|
83 |
-
};
|
84 |
-
|
85 |
-
}(window.FOOGALLERY_DEF_TEMPLATE = window.FOOGALLERY_DEF_TEMPLATE || {}, jQuery));
|
86 |
-
|
87 |
-
jQuery(function () {
|
88 |
-
FOOGALLERY_DEF_TEMPLATE.adminReady();
|
89 |
});
|
1 |
+
(function (FOOGALLERY_DEF_TEMPLATE, $, undefined) {
|
2 |
+
|
3 |
+
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses = function() {
|
4 |
+
|
5 |
+
var $previewImage = $('.foogallery-default-preview'),
|
6 |
+
border_style = $('input[name="foogallery_settings[default_border-style]"]:checked').val(),
|
7 |
+
hover_effect = $('input[name="foogallery_settings[default_hover-effect]"]:checked').val(),
|
8 |
+
hover_effect_type = $('input[name="foogallery_settings[default_hover-effect-type]"]:checked').val(),
|
9 |
+
caption_effect_type = $('input[name="foogallery_settings[default_caption-hover-effect]"]:checked').val(),
|
10 |
+
classNames = 'foogallery-default-preview foogallery-container foogallery-default ' + border_style + ' ' + hover_effect_type;
|
11 |
+
|
12 |
+
var $hoverEffectrow = $('.gallery_template_field-default-hover-effect'),
|
13 |
+
$captionHoverRow = $('.gallery_template_field-default-caption-hover-effect'),
|
14 |
+
$captionContentRow = $('.gallery_template_field-default-caption-content');
|
15 |
+
|
16 |
+
if ( hover_effect_type === '' ) {
|
17 |
+
//icon hover effect type
|
18 |
+
$hoverEffectrow.show();
|
19 |
+
$captionHoverRow.hide();
|
20 |
+
$captionContentRow.hide();
|
21 |
+
classNames += ' ' + hover_effect;
|
22 |
+
} else if ( hover_effect_type === 'hover-effect-caption' ) {
|
23 |
+
//caption hover effect type
|
24 |
+
$hoverEffectrow.hide();
|
25 |
+
$captionHoverRow.show();
|
26 |
+
$captionContentRow.show();
|
27 |
+
classNames += ' ' + caption_effect_type;
|
28 |
+
} else {
|
29 |
+
//no hover effect type
|
30 |
+
$hoverEffectrow.hide();
|
31 |
+
$captionHoverRow.hide();
|
32 |
+
$captionContentRow.hide();
|
33 |
+
}
|
34 |
+
|
35 |
+
$previewImage.attr('class' , classNames);
|
36 |
+
};
|
37 |
+
|
38 |
+
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent = function(){
|
39 |
+
var $previewImage = $('.foogallery-default-preview'),
|
40 |
+
$caption = $previewImage.find('.foogallery-caption'),
|
41 |
+
$title = $previewImage.find('.foogallery-caption-title'),
|
42 |
+
$desc = $previewImage.find('.foogallery-caption-desc'),
|
43 |
+
caption_content = $('input[name="foogallery_settings[default_caption-content]"]:checked').val();
|
44 |
+
|
45 |
+
$caption.add($title).add($desc).show();
|
46 |
+
switch(caption_content){
|
47 |
+
case 'title':
|
48 |
+
$desc.hide();
|
49 |
+
break;
|
50 |
+
case 'desc':
|
51 |
+
$title.hide();
|
52 |
+
break;
|
53 |
+
case 'none':
|
54 |
+
$caption.hide();
|
55 |
+
break;
|
56 |
+
}
|
57 |
+
};
|
58 |
+
|
59 |
+
FOOGALLERY_DEF_TEMPLATE.adminReady = function () {
|
60 |
+
$('body').on('foogallery-gallery-template-changed-default', function() {
|
61 |
+
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses();
|
62 |
+
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent();
|
63 |
+
});
|
64 |
+
|
65 |
+
$('input[name="foogallery_settings[default_border-style]"], ' +
|
66 |
+
'input[name="foogallery_settings[default_hover-effect]"], ' +
|
67 |
+
'input[name="foogallery_settings[default_hover-effect-type]"], ' +
|
68 |
+
'input[name="foogallery_settings[default_caption-hover-effect]"]').change(function() {
|
69 |
+
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses();
|
70 |
+
});
|
71 |
+
|
72 |
+
$('input[name="foogallery_settings[default_caption-content]"]').change(function() {
|
73 |
+
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent();
|
74 |
+
});
|
75 |
+
|
76 |
+
$('.foogallery-thumbnail-preview').on('click', function(e) {
|
77 |
+
e.preventDefault();
|
78 |
+
});
|
79 |
+
|
80 |
+
//run when the page load for the first time too!
|
81 |
+
FOOGALLERY_DEF_TEMPLATE.setPreviewClasses();
|
82 |
+
FOOGALLERY_DEF_TEMPLATE.showHideCaptionContent();
|
83 |
+
};
|
84 |
+
|
85 |
+
}(window.FOOGALLERY_DEF_TEMPLATE = window.FOOGALLERY_DEF_TEMPLATE || {}, jQuery));
|
86 |
+
|
87 |
+
jQuery(function () {
|
88 |
+
FOOGALLERY_DEF_TEMPLATE.adminReady();
|
89 |
});
|
extensions/default-templates/functions.php
CHANGED
@@ -1,49 +1,49 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery default extensions common functions
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Enqueue the core FooGallery stylesheet used by all default templates
|
8 |
-
*/
|
9 |
-
function foogallery_enqueue_core_gallery_template_style() {
|
10 |
-
$filename = foogallery_is_debug() ? '' : '.min';
|
11 |
-
$css = apply_filters( 'foogallery_core_gallery_style', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL . 'css/foogallery' . $filename . '.css' );
|
12 |
-
foogallery_enqueue_style( 'foogallery-core', $css, array(), FOOGALLERY_VERSION );
|
13 |
-
|
14 |
-
if ( foogallery_get_setting( 'custom_css', '' ) !== '' ) {
|
15 |
-
$custom_assets = get_option( FOOGALLERY_OPTION_CUSTOM_ASSETS );
|
16 |
-
if ( is_array( $custom_assets ) && array_key_exists( 'style', $custom_assets ) ) {
|
17 |
-
foogallery_enqueue_style( 'foogallery-custom', $custom_assets['style'], array('foogallery-core'), FOOGALLERY_VERSION );
|
18 |
-
}
|
19 |
-
}
|
20 |
-
}
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Enqueue the core FooGallery script used by all default templates
|
24 |
-
*
|
25 |
-
* @param string[] $deps
|
26 |
-
*/
|
27 |
-
function foogallery_enqueue_core_gallery_template_script( $deps = null ) {
|
28 |
-
if ( isset( $deps ) ) {
|
29 |
-
//ensure we deregister the previous one
|
30 |
-
wp_deregister_script( 'foogallery-core' );
|
31 |
-
do_action( 'foogallery_dequeue_script-core' );
|
32 |
-
} else {
|
33 |
-
//set the default
|
34 |
-
$deps = array( 'jquery' );
|
35 |
-
}
|
36 |
-
|
37 |
-
$filename = foogallery_is_debug() ? '' : '.min';
|
38 |
-
$js = apply_filters( 'foogallery_core_gallery_script', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL . 'js/foogallery' . $filename . '.js' );
|
39 |
-
$deps = apply_filters( 'foogallery_core_gallery_script_deps', $deps );
|
40 |
-
wp_enqueue_script( 'foogallery-core', $js, $deps, FOOGALLERY_VERSION );
|
41 |
-
do_action( 'foogallery_enqueue_script-core', $js );
|
42 |
-
|
43 |
-
if ( foogallery_get_setting( 'custom_js', '' ) !== '' ) {
|
44 |
-
$custom_assets = get_option( FOOGALLERY_OPTION_CUSTOM_ASSETS );
|
45 |
-
if ( is_array( $custom_assets ) && array_key_exists( 'script', $custom_assets ) ) {
|
46 |
-
wp_enqueue_script( 'foogallery-custom', $custom_assets['script'], array('foogallery-core'), FOOGALLERY_VERSION );
|
47 |
-
}
|
48 |
-
}
|
49 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery default extensions common functions
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Enqueue the core FooGallery stylesheet used by all default templates
|
8 |
+
*/
|
9 |
+
function foogallery_enqueue_core_gallery_template_style() {
|
10 |
+
$filename = foogallery_is_debug() ? '' : '.min';
|
11 |
+
$css = apply_filters( 'foogallery_core_gallery_style', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL . 'css/foogallery' . $filename . '.css' );
|
12 |
+
foogallery_enqueue_style( 'foogallery-core', $css, array(), FOOGALLERY_VERSION );
|
13 |
+
|
14 |
+
if ( foogallery_get_setting( 'custom_css', '' ) !== '' ) {
|
15 |
+
$custom_assets = get_option( FOOGALLERY_OPTION_CUSTOM_ASSETS );
|
16 |
+
if ( is_array( $custom_assets ) && array_key_exists( 'style', $custom_assets ) ) {
|
17 |
+
foogallery_enqueue_style( 'foogallery-custom', $custom_assets['style'], array('foogallery-core'), FOOGALLERY_VERSION );
|
18 |
+
}
|
19 |
+
}
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Enqueue the core FooGallery script used by all default templates
|
24 |
+
*
|
25 |
+
* @param string[] $deps
|
26 |
+
*/
|
27 |
+
function foogallery_enqueue_core_gallery_template_script( $deps = null ) {
|
28 |
+
if ( isset( $deps ) ) {
|
29 |
+
//ensure we deregister the previous one
|
30 |
+
wp_deregister_script( 'foogallery-core' );
|
31 |
+
do_action( 'foogallery_dequeue_script-core' );
|
32 |
+
} else {
|
33 |
+
//set the default
|
34 |
+
$deps = array( 'jquery' );
|
35 |
+
}
|
36 |
+
|
37 |
+
$filename = foogallery_is_debug() ? '' : '.min';
|
38 |
+
$js = apply_filters( 'foogallery_core_gallery_script', FOOGALLERY_DEFAULT_TEMPLATES_EXTENSION_SHARED_URL . 'js/foogallery' . $filename . '.js' );
|
39 |
+
$deps = apply_filters( 'foogallery_core_gallery_script_deps', $deps );
|
40 |
+
wp_enqueue_script( 'foogallery-core', $js, $deps, FOOGALLERY_VERSION );
|
41 |
+
do_action( 'foogallery_enqueue_script-core', $js );
|
42 |
+
|
43 |
+
if ( foogallery_get_setting( 'custom_js', '' ) !== '' ) {
|
44 |
+
$custom_assets = get_option( FOOGALLERY_OPTION_CUSTOM_ASSETS );
|
45 |
+
if ( is_array( $custom_assets ) && array_key_exists( 'script', $custom_assets ) ) {
|
46 |
+
wp_enqueue_script( 'foogallery-custom', $custom_assets['script'], array('foogallery-core'), FOOGALLERY_VERSION );
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
extensions/default-templates/image-viewer/class-image-viewer-gallery-template.php
CHANGED
@@ -1,312 +1,312 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( !class_exists( 'FooGallery_Image_Viewer_Gallery_Template' ) ) {
|
4 |
-
|
5 |
-
define('FOOGALLERY_IMAGE_VIEWER_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ));
|
6 |
-
|
7 |
-
class FooGallery_Image_Viewer_Gallery_Template {
|
8 |
-
|
9 |
-
const TEMPLATE_ID = 'image-viewer';
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Wire up everything we need to run the extension
|
13 |
-
*/
|
14 |
-
function __construct() {
|
15 |
-
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
16 |
-
|
17 |
-
//add extra fields to the templates
|
18 |
-
add_filter( 'foogallery_override_gallery_template_fields-image-viewer', array( $this, 'adjust_fields' ), 10, 2 );
|
19 |
-
|
20 |
-
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
21 |
-
|
22 |
-
add_filter( 'foogallery_template_thumbnail_dimensions-image-viewer', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
23 |
-
|
24 |
-
//override specific settings when saving the gallery
|
25 |
-
add_filter( 'foogallery_save_gallery_settings-image-viewer', array( $this, 'override_settings'), 10, 3 );
|
26 |
-
|
27 |
-
//build up the thumb dimensions from some arguments
|
28 |
-
add_filter( 'foogallery_calculate_thumbnail_dimensions-image-viewer', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
29 |
-
|
30 |
-
//alter the crop value if needed
|
31 |
-
add_filter( 'foogallery_render_gallery_template_field_value', array( $this, 'alter_field_value'), 10, 4 );
|
32 |
-
|
33 |
-
//build up the arguments needed for rendering this template
|
34 |
-
add_filter( 'foogallery_gallery_template_arguments-image-viewer', array( $this, 'build_gallery_template_arguments' ) );
|
35 |
-
|
36 |
-
//add the data options needed for image viewer
|
37 |
-
add_filter( 'foogallery_build_container_data_options-image-viewer', array( $this, 'add_data_options' ), 10, 3 );
|
38 |
-
|
39 |
-
// add a style block for the gallery based on the thumbnail width.
|
40 |
-
add_action( 'foogallery_loaded_template_before', array( $this, 'add_width_style_block' ), 10, 1 );
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Add a style block based on the width thumbnail size
|
45 |
-
*
|
46 |
-
* @param $gallery FooGallery
|
47 |
-
*/
|
48 |
-
function add_width_style_block( $gallery ) {
|
49 |
-
if ( self::TEMPLATE_ID !== $gallery->gallery_template ) {
|
50 |
-
return;
|
51 |
-
}
|
52 |
-
|
53 |
-
$id = $gallery->container_id();
|
54 |
-
$dimensions = foogallery_gallery_template_setting('thumbnail_size');
|
55 |
-
if ( is_array( $dimensions ) && array_key_exists( 'width', $dimensions ) && intval( $dimensions['width'] ) > 0 ) {
|
56 |
-
$width = intval( $dimensions['width'] );
|
57 |
-
|
58 |
-
// @formatter:off
|
59 |
-
?>
|
60 |
-
<style type="text/css">
|
61 |
-
<?php echo '#' . $id; ?> .fg-image {
|
62 |
-
width: <?php echo $width; ?>px;
|
63 |
-
}
|
64 |
-
</style>
|
65 |
-
<?php
|
66 |
-
// @formatter:on
|
67 |
-
}
|
68 |
-
}
|
69 |
-
|
70 |
-
function alter_field_value( $value, $field, $gallery, $template ) {
|
71 |
-
//only do something if we are dealing with the thumbnail_dimensions field in this template
|
72 |
-
if ( self::TEMPLATE_ID === $template['slug'] && 'thumbnail_size' === $field['id'] ) {
|
73 |
-
if ( !array_key_exists( 'crop', $value ) ) {
|
74 |
-
$value['crop'] = true;
|
75 |
-
}
|
76 |
-
}
|
77 |
-
|
78 |
-
return $value;
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* Register myself so that all associated JS and CSS files can be found and automatically included
|
83 |
-
* @param $extensions
|
84 |
-
*
|
85 |
-
* @return array
|
86 |
-
*/
|
87 |
-
function register_myself( $extensions ) {
|
88 |
-
$extensions[] = __FILE__;
|
89 |
-
return $extensions;
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* Add our gallery template to the list of templates available for every gallery
|
94 |
-
* @param $gallery_templates
|
95 |
-
*
|
96 |
-
* @return array
|
97 |
-
*/
|
98 |
-
function add_template( $gallery_templates ) {
|
99 |
-
|
100 |
-
$gallery_templates[] = array(
|
101 |
-
'slug' => self::TEMPLATE_ID,
|
102 |
-
'name' => __( 'Image Viewer', 'foogallery' ),
|
103 |
-
'preview_support' => true,
|
104 |
-
'common_fields_support' => true,
|
105 |
-
'lazyload_support' => true,
|
106 |
-
'mandatory_classes' => 'fg-image-viewer',
|
107 |
-
'thumbnail_dimensions' => true,
|
108 |
-
'enqueue_core' => true,
|
109 |
-
'fields' => array(
|
110 |
-
array(
|
111 |
-
'id' => 'thumbnail-help',
|
112 |
-
'title' => __( 'Thumbnail Help', 'foogallery' ),
|
113 |
-
'desc' => __( 'It is recommended to crop your thumbnails, so that your gallery remains a constant size. If you do not crop, then the size of the gallery could potentially change for each thumbnail.', 'foogallery' ),
|
114 |
-
'section' => __( 'General', 'foogallery' ),
|
115 |
-
'type' => 'help'
|
116 |
-
),
|
117 |
-
array(
|
118 |
-
'id' => 'thumbnail_size',
|
119 |
-
'title' => __( 'Thumb Size', 'foogallery' ),
|
120 |
-
'section' => __( 'General', 'foogallery' ),
|
121 |
-
'desc' => __( 'Choose the size of your thumbnails', 'foogallery' ),
|
122 |
-
'type' => 'thumb_size',
|
123 |
-
'default' => array(
|
124 |
-
'width' => 640,
|
125 |
-
'height' => 360,
|
126 |
-
'crop' => true
|
127 |
-
),
|
128 |
-
'row_data'=> array(
|
129 |
-
'data-foogallery-change-selector' => 'input',
|
130 |
-
'data-foogallery-preview' => 'shortcode'
|
131 |
-
)
|
132 |
-
),
|
133 |
-
array(
|
134 |
-
'id' => 'thumbnail_link',
|
135 |
-
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
136 |
-
'section' => __( 'General', 'foogallery' ),
|
137 |
-
'default' => 'image' ,
|
138 |
-
'type' => 'thumb_link',
|
139 |
-
'desc' => __( 'You can choose to either link each thumbnail to the full size image or to the image\'s attachment page', 'foogallery'),
|
140 |
-
),
|
141 |
-
array(
|
142 |
-
'id' => 'lightbox',
|
143 |
-
'title' => __( 'Lightbox', 'foogallery' ),
|
144 |
-
'section' => __( 'General', 'foogallery' ),
|
145 |
-
'desc' => __( 'Choose which lightbox you want to use in the gallery', 'foogallery' ),
|
146 |
-
'default' => 'none',
|
147 |
-
'type' => 'lightbox',
|
148 |
-
),
|
149 |
-
array(
|
150 |
-
'id' => 'alignment',
|
151 |
-
'title' => __( 'Alignment', 'foogallery' ),
|
152 |
-
'section' => __( 'General', 'foogallery' ),
|
153 |
-
'desc' => __( 'The horizontal alignment of the thumbnails inside the gallery', 'foogallery' ),
|
154 |
-
'default' => 'fg-center',
|
155 |
-
'type' => 'radio',
|
156 |
-
'spacer' => '<span class="spacer"></span>',
|
157 |
-
'choices' => array(
|
158 |
-
'fg-left' => __( 'Left', 'foogallery' ),
|
159 |
-
'fg-center' => __( 'Center', 'foogallery' ),
|
160 |
-
'fg-right' => __( 'Right', 'foogallery' ),
|
161 |
-
),
|
162 |
-
'row_data'=> array(
|
163 |
-
'data-foogallery-change-selector' => 'input:radio',
|
164 |
-
'data-foogallery-preview' => 'shortcode'
|
165 |
-
)
|
166 |
-
),
|
167 |
-
array(
|
168 |
-
'id' => 'looping',
|
169 |
-
'title' => __( 'Loop Images', 'foogallery' ),
|
170 |
-
'section' => __( 'General', 'foogallery' ),
|
171 |
-
'desc' => __( 'When navigating through the images, do you want to loop image back to the first after you navigate past the last image?', 'foogallery' ),
|
172 |
-
'default' => 'enabled',
|
173 |
-
'type' => 'radio',
|
174 |
-
'spacer' => '<span class="spacer"></span>',
|
175 |
-
'choices' => array(
|
176 |
-
'disabled' => __( 'Disabled', 'foogallery' ),
|
177 |
-
'enabled' => __( 'Looping Enabled', 'foogallery' ),
|
178 |
-
),
|
179 |
-
'row_data'=> array(
|
180 |
-
'data-foogallery-change-selector' => 'input:radio',
|
181 |
-
'data-foogallery-preview' => 'shortcode'
|
182 |
-
)
|
183 |
-
),
|
184 |
-
array(
|
185 |
-
'id' => 'language-help',
|
186 |
-
'title' => __( 'Language Help', 'foogallery' ),
|
187 |
-
'desc' => __( 'You can change the "Prev", "Next" and "of" text used in the gallery from the settings page, under the Language tab.', 'foogallery' ),
|
188 |
-
'section' => __( 'General', 'foogallery' ),
|
189 |
-
'type' => 'help'
|
190 |
-
)
|
191 |
-
)
|
192 |
-
);
|
193 |
-
|
194 |
-
return $gallery_templates;
|
195 |
-
}
|
196 |
-
|
197 |
-
/**
|
198 |
-
* Add thumbnail fields to the gallery template
|
199 |
-
*
|
200 |
-
* @uses "foogallery_override_gallery_template_fields"
|
201 |
-
* @param $fields
|
202 |
-
* @param $template
|
203 |
-
*
|
204 |
-
* @return array
|
205 |
-
*/
|
206 |
-
function adjust_fields( $fields, $template ) {
|
207 |
-
|
208 |
-
//update specific fields
|
209 |
-
foreach ($fields as &$field) {
|
210 |
-
if ( 'rounded_corners' === $field['id'] ) {
|
211 |
-
unset( $field['choices']['fg-round-full'] );
|
212 |
-
}
|
213 |
-
}
|
214 |
-
|
215 |
-
return $fields;
|
216 |
-
}
|
217 |
-
|
218 |
-
/**
|
219 |
-
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
220 |
-
*
|
221 |
-
* @param array $dimensions
|
222 |
-
* @param FooGallery $foogallery
|
223 |
-
*
|
224 |
-
* @return mixed
|
225 |
-
*/
|
226 |
-
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
227 |
-
$dimensions = $foogallery->get_meta( 'image-viewer_thumbnail_size', array(
|
228 |
-
'width' => 640,
|
229 |
-
'height' => 360,
|
230 |
-
'crop' => true
|
231 |
-
) );
|
232 |
-
if ( !array_key_exists( 'crop', $dimensions ) ) {
|
233 |
-
$dimensions['crop'] = true;
|
234 |
-
}
|
235 |
-
return $dimensions;
|
236 |
-
}
|
237 |
-
|
238 |
-
/**
|
239 |
-
* Override specific settings so that the gallery template will always work
|
240 |
-
*
|
241 |
-
* @param $settings
|
242 |
-
* @param $post_id
|
243 |
-
* @param $form_data
|
244 |
-
*
|
245 |
-
* @return mixed
|
246 |
-
*/
|
247 |
-
function override_settings($settings, $post_id, $form_data) {
|
248 |
-
if ( 'fg-round-full' === $settings['image-viewer_rounded_corners'] ) {
|
249 |
-
$settings['image-viewer_rounded_corners'] = 'fg-round-large';
|
250 |
-
}
|
251 |
-
|
252 |
-
return $settings;
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Builds thumb dimensions from arguments
|
257 |
-
*
|
258 |
-
* @param array $dimensions
|
259 |
-
* @param array $arguments
|
260 |
-
*
|
261 |
-
* @return mixed
|
262 |
-
*/
|
263 |
-
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
264 |
-
if ( array_key_exists( 'thumbnail_size', $arguments) ) {
|
265 |
-
return array(
|
266 |
-
'height' => intval($arguments['thumbnail_size']['height']),
|
267 |
-
'width' => intval($arguments['thumbnail_size']['width']),
|
268 |
-
'crop' => $arguments['thumbnail_size']['crop']
|
269 |
-
);
|
270 |
-
}
|
271 |
-
return null;
|
272 |
-
}
|
273 |
-
|
274 |
-
/**
|
275 |
-
* Build up the arguments needed for rendering this gallery template
|
276 |
-
*
|
277 |
-
* @param $args
|
278 |
-
* @return array
|
279 |
-
*/
|
280 |
-
function build_gallery_template_arguments( $args ) {
|
281 |
-
$args = foogallery_gallery_template_setting( 'thumbnail_size', array(
|
282 |
-
'width' => 640,
|
283 |
-
'height' => 360,
|
284 |
-
'crop' => true
|
285 |
-
) );
|
286 |
-
if ( !array_key_exists( 'crop', $args ) ) {
|
287 |
-
$args['crop'] = '1'; //we now force thumbs to be cropped by default
|
288 |
-
}
|
289 |
-
$args['link'] = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
290 |
-
|
291 |
-
return $args;
|
292 |
-
}
|
293 |
-
|
294 |
-
/**
|
295 |
-
* Add the required options
|
296 |
-
*
|
297 |
-
* @param $options
|
298 |
-
* @param $gallery FooGallery
|
299 |
-
*
|
300 |
-
* @param $attributes array
|
301 |
-
*
|
302 |
-
* @return array
|
303 |
-
*/
|
304 |
-
function add_data_options($options, $gallery, $attributes) {
|
305 |
-
|
306 |
-
$looping = foogallery_gallery_template_setting( 'looping', 'enabled' ) === 'enabled';
|
307 |
-
$options['template']['loop'] = $looping;
|
308 |
-
|
309 |
-
return $options;
|
310 |
-
}
|
311 |
-
}
|
312 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !class_exists( 'FooGallery_Image_Viewer_Gallery_Template' ) ) {
|
4 |
+
|
5 |
+
define('FOOGALLERY_IMAGE_VIEWER_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ));
|
6 |
+
|
7 |
+
class FooGallery_Image_Viewer_Gallery_Template {
|
8 |
+
|
9 |
+
const TEMPLATE_ID = 'image-viewer';
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Wire up everything we need to run the extension
|
13 |
+
*/
|
14 |
+
function __construct() {
|
15 |
+
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
16 |
+
|
17 |
+
//add extra fields to the templates
|
18 |
+
add_filter( 'foogallery_override_gallery_template_fields-image-viewer', array( $this, 'adjust_fields' ), 10, 2 );
|
19 |
+
|
20 |
+
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
21 |
+
|
22 |
+
add_filter( 'foogallery_template_thumbnail_dimensions-image-viewer', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
23 |
+
|
24 |
+
//override specific settings when saving the gallery
|
25 |
+
add_filter( 'foogallery_save_gallery_settings-image-viewer', array( $this, 'override_settings'), 10, 3 );
|
26 |
+
|
27 |
+
//build up the thumb dimensions from some arguments
|
28 |
+
add_filter( 'foogallery_calculate_thumbnail_dimensions-image-viewer', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
29 |
+
|
30 |
+
//alter the crop value if needed
|
31 |
+
add_filter( 'foogallery_render_gallery_template_field_value', array( $this, 'alter_field_value'), 10, 4 );
|
32 |
+
|
33 |
+
//build up the arguments needed for rendering this template
|
34 |
+
add_filter( 'foogallery_gallery_template_arguments-image-viewer', array( $this, 'build_gallery_template_arguments' ) );
|
35 |
+
|
36 |
+
//add the data options needed for image viewer
|
37 |
+
add_filter( 'foogallery_build_container_data_options-image-viewer', array( $this, 'add_data_options' ), 10, 3 );
|
38 |
+
|
39 |
+
// add a style block for the gallery based on the thumbnail width.
|
40 |
+
add_action( 'foogallery_loaded_template_before', array( $this, 'add_width_style_block' ), 10, 1 );
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Add a style block based on the width thumbnail size
|
45 |
+
*
|
46 |
+
* @param $gallery FooGallery
|
47 |
+
*/
|
48 |
+
function add_width_style_block( $gallery ) {
|
49 |
+
if ( self::TEMPLATE_ID !== $gallery->gallery_template ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
$id = $gallery->container_id();
|
54 |
+
$dimensions = foogallery_gallery_template_setting('thumbnail_size');
|
55 |
+
if ( is_array( $dimensions ) && array_key_exists( 'width', $dimensions ) && intval( $dimensions['width'] ) > 0 ) {
|
56 |
+
$width = intval( $dimensions['width'] );
|
57 |
+
|
58 |
+
// @formatter:off
|
59 |
+
?>
|
60 |
+
<style type="text/css">
|
61 |
+
<?php echo '#' . $id; ?> .fg-image {
|
62 |
+
width: <?php echo $width; ?>px;
|
63 |
+
}
|
64 |
+
</style>
|
65 |
+
<?php
|
66 |
+
// @formatter:on
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
+
function alter_field_value( $value, $field, $gallery, $template ) {
|
71 |
+
//only do something if we are dealing with the thumbnail_dimensions field in this template
|
72 |
+
if ( self::TEMPLATE_ID === $template['slug'] && 'thumbnail_size' === $field['id'] ) {
|
73 |
+
if ( !array_key_exists( 'crop', $value ) ) {
|
74 |
+
$value['crop'] = true;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
return $value;
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Register myself so that all associated JS and CSS files can be found and automatically included
|
83 |
+
* @param $extensions
|
84 |
+
*
|
85 |
+
* @return array
|
86 |
+
*/
|
87 |
+
function register_myself( $extensions ) {
|
88 |
+
$extensions[] = __FILE__;
|
89 |
+
return $extensions;
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Add our gallery template to the list of templates available for every gallery
|
94 |
+
* @param $gallery_templates
|
95 |
+
*
|
96 |
+
* @return array
|
97 |
+
*/
|
98 |
+
function add_template( $gallery_templates ) {
|
99 |
+
|
100 |
+
$gallery_templates[] = array(
|
101 |
+
'slug' => self::TEMPLATE_ID,
|
102 |
+
'name' => __( 'Image Viewer', 'foogallery' ),
|
103 |
+
'preview_support' => true,
|
104 |
+
'common_fields_support' => true,
|
105 |
+
'lazyload_support' => true,
|
106 |
+
'mandatory_classes' => 'fg-image-viewer',
|
107 |
+
'thumbnail_dimensions' => true,
|
108 |
+
'enqueue_core' => true,
|
109 |
+
'fields' => array(
|
110 |
+
array(
|
111 |
+
'id' => 'thumbnail-help',
|
112 |
+
'title' => __( 'Thumbnail Help', 'foogallery' ),
|
113 |
+
'desc' => __( 'It is recommended to crop your thumbnails, so that your gallery remains a constant size. If you do not crop, then the size of the gallery could potentially change for each thumbnail.', 'foogallery' ),
|
114 |
+
'section' => __( 'General', 'foogallery' ),
|
115 |
+
'type' => 'help'
|
116 |
+
),
|
117 |
+
array(
|
118 |
+
'id' => 'thumbnail_size',
|
119 |
+
'title' => __( 'Thumb Size', 'foogallery' ),
|
120 |
+
'section' => __( 'General', 'foogallery' ),
|
121 |
+
'desc' => __( 'Choose the size of your thumbnails', 'foogallery' ),
|
122 |
+
'type' => 'thumb_size',
|
123 |
+
'default' => array(
|
124 |
+
'width' => 640,
|
125 |
+
'height' => 360,
|
126 |
+
'crop' => true
|
127 |
+
),
|
128 |
+
'row_data'=> array(
|
129 |
+
'data-foogallery-change-selector' => 'input',
|
130 |
+
'data-foogallery-preview' => 'shortcode'
|
131 |
+
)
|
132 |
+
),
|
133 |
+
array(
|
134 |
+
'id' => 'thumbnail_link',
|
135 |
+
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
136 |
+
'section' => __( 'General', 'foogallery' ),
|
137 |
+
'default' => 'image' ,
|
138 |
+
'type' => 'thumb_link',
|
139 |
+
'desc' => __( 'You can choose to either link each thumbnail to the full size image or to the image\'s attachment page', 'foogallery'),
|
140 |
+
),
|
141 |
+
array(
|
142 |
+
'id' => 'lightbox',
|
143 |
+
'title' => __( 'Lightbox', 'foogallery' ),
|
144 |
+
'section' => __( 'General', 'foogallery' ),
|
145 |
+
'desc' => __( 'Choose which lightbox you want to use in the gallery', 'foogallery' ),
|
146 |
+
'default' => 'none',
|
147 |
+
'type' => 'lightbox',
|
148 |
+
),
|
149 |
+
array(
|
150 |
+
'id' => 'alignment',
|
151 |
+
'title' => __( 'Alignment', 'foogallery' ),
|
152 |
+
'section' => __( 'General', 'foogallery' ),
|
153 |
+
'desc' => __( 'The horizontal alignment of the thumbnails inside the gallery', 'foogallery' ),
|
154 |
+
'default' => 'fg-center',
|
155 |
+
'type' => 'radio',
|
156 |
+
'spacer' => '<span class="spacer"></span>',
|
157 |
+
'choices' => array(
|
158 |
+
'fg-left' => __( 'Left', 'foogallery' ),
|
159 |
+
'fg-center' => __( 'Center', 'foogallery' ),
|
160 |
+
'fg-right' => __( 'Right', 'foogallery' ),
|
161 |
+
),
|
162 |
+
'row_data'=> array(
|
163 |
+
'data-foogallery-change-selector' => 'input:radio',
|
164 |
+
'data-foogallery-preview' => 'shortcode'
|
165 |
+
)
|
166 |
+
),
|
167 |
+
array(
|
168 |
+
'id' => 'looping',
|
169 |
+
'title' => __( 'Loop Images', 'foogallery' ),
|
170 |
+
'section' => __( 'General', 'foogallery' ),
|
171 |
+
'desc' => __( 'When navigating through the images, do you want to loop image back to the first after you navigate past the last image?', 'foogallery' ),
|
172 |
+
'default' => 'enabled',
|
173 |
+
'type' => 'radio',
|
174 |
+
'spacer' => '<span class="spacer"></span>',
|
175 |
+
'choices' => array(
|
176 |
+
'disabled' => __( 'Disabled', 'foogallery' ),
|
177 |
+
'enabled' => __( 'Looping Enabled', 'foogallery' ),
|
178 |
+
),
|
179 |
+
'row_data'=> array(
|
180 |
+
'data-foogallery-change-selector' => 'input:radio',
|
181 |
+
'data-foogallery-preview' => 'shortcode'
|
182 |
+
)
|
183 |
+
),
|
184 |
+
array(
|
185 |
+
'id' => 'language-help',
|
186 |
+
'title' => __( 'Language Help', 'foogallery' ),
|
187 |
+
'desc' => __( 'You can change the "Prev", "Next" and "of" text used in the gallery from the settings page, under the Language tab.', 'foogallery' ),
|
188 |
+
'section' => __( 'General', 'foogallery' ),
|
189 |
+
'type' => 'help'
|
190 |
+
)
|
191 |
+
)
|
192 |
+
);
|
193 |
+
|
194 |
+
return $gallery_templates;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Add thumbnail fields to the gallery template
|
199 |
+
*
|
200 |
+
* @uses "foogallery_override_gallery_template_fields"
|
201 |
+
* @param $fields
|
202 |
+
* @param $template
|
203 |
+
*
|
204 |
+
* @return array
|
205 |
+
*/
|
206 |
+
function adjust_fields( $fields, $template ) {
|
207 |
+
|
208 |
+
//update specific fields
|
209 |
+
foreach ($fields as &$field) {
|
210 |
+
if ( 'rounded_corners' === $field['id'] ) {
|
211 |
+
unset( $field['choices']['fg-round-full'] );
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
return $fields;
|
216 |
+
}
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
220 |
+
*
|
221 |
+
* @param array $dimensions
|
222 |
+
* @param FooGallery $foogallery
|
223 |
+
*
|
224 |
+
* @return mixed
|
225 |
+
*/
|
226 |
+
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
227 |
+
$dimensions = $foogallery->get_meta( 'image-viewer_thumbnail_size', array(
|
228 |
+
'width' => 640,
|
229 |
+
'height' => 360,
|
230 |
+
'crop' => true
|
231 |
+
) );
|
232 |
+
if ( !array_key_exists( 'crop', $dimensions ) ) {
|
233 |
+
$dimensions['crop'] = true;
|
234 |
+
}
|
235 |
+
return $dimensions;
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Override specific settings so that the gallery template will always work
|
240 |
+
*
|
241 |
+
* @param $settings
|
242 |
+
* @param $post_id
|
243 |
+
* @param $form_data
|
244 |
+
*
|
245 |
+
* @return mixed
|
246 |
+
*/
|
247 |
+
function override_settings($settings, $post_id, $form_data) {
|
248 |
+
if ( 'fg-round-full' === $settings['image-viewer_rounded_corners'] ) {
|
249 |
+
$settings['image-viewer_rounded_corners'] = 'fg-round-large';
|
250 |
+
}
|
251 |
+
|
252 |
+
return $settings;
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Builds thumb dimensions from arguments
|
257 |
+
*
|
258 |
+
* @param array $dimensions
|
259 |
+
* @param array $arguments
|
260 |
+
*
|
261 |
+
* @return mixed
|
262 |
+
*/
|
263 |
+
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
264 |
+
if ( array_key_exists( 'thumbnail_size', $arguments) ) {
|
265 |
+
return array(
|
266 |
+
'height' => intval($arguments['thumbnail_size']['height']),
|
267 |
+
'width' => intval($arguments['thumbnail_size']['width']),
|
268 |
+
'crop' => $arguments['thumbnail_size']['crop']
|
269 |
+
);
|
270 |
+
}
|
271 |
+
return null;
|
272 |
+
}
|
273 |
+
|
274 |
+
/**
|
275 |
+
* Build up the arguments needed for rendering this gallery template
|
276 |
+
*
|
277 |
+
* @param $args
|
278 |
+
* @return array
|
279 |
+
*/
|
280 |
+
function build_gallery_template_arguments( $args ) {
|
281 |
+
$args = foogallery_gallery_template_setting( 'thumbnail_size', array(
|
282 |
+
'width' => 640,
|
283 |
+
'height' => 360,
|
284 |
+
'crop' => true
|
285 |
+
) );
|
286 |
+
if ( !array_key_exists( 'crop', $args ) ) {
|
287 |
+
$args['crop'] = '1'; //we now force thumbs to be cropped by default
|
288 |
+
}
|
289 |
+
$args['link'] = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
290 |
+
|
291 |
+
return $args;
|
292 |
+
}
|
293 |
+
|
294 |
+
/**
|
295 |
+
* Add the required options
|
296 |
+
*
|
297 |
+
* @param $options
|
298 |
+
* @param $gallery FooGallery
|
299 |
+
*
|
300 |
+
* @param $attributes array
|
301 |
+
*
|
302 |
+
* @return array
|
303 |
+
*/
|
304 |
+
function add_data_options($options, $gallery, $attributes) {
|
305 |
+
|
306 |
+
$looping = foogallery_gallery_template_setting( 'looping', 'enabled' ) === 'enabled';
|
307 |
+
$options['template']['loop'] = $looping;
|
308 |
+
|
309 |
+
return $options;
|
310 |
+
}
|
311 |
+
}
|
312 |
}
|
extensions/default-templates/image-viewer/gallery-image-viewer.php
CHANGED
@@ -1,39 +1,39 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery Image Viewer gallery template
|
4 |
-
* This is the template that is run when a FooGallery shortcode is rendered to the frontend
|
5 |
-
*/
|
6 |
-
//the current FooGallery that is currently being rendered to the frontend
|
7 |
-
global $current_foogallery;
|
8 |
-
//the current shortcode args
|
9 |
-
global $current_foogallery_arguments;
|
10 |
-
|
11 |
-
$text_prev_default = foogallery_get_setting( 'language_imageviewer_prev_text', __('Prev', 'foogallery') );
|
12 |
-
$text_prev = foogallery_gallery_template_setting( 'text-prev', $text_prev_default );
|
13 |
-
|
14 |
-
$text_of_default = foogallery_get_setting( 'language_imageviewer_of_text', __('of', 'foogallery') );
|
15 |
-
$text_of = foogallery_gallery_template_setting( 'text-of', $text_of_default );
|
16 |
-
|
17 |
-
$text_next_default = foogallery_get_setting( 'language_imageviewer_next_text', __('Next', 'foogallery') );
|
18 |
-
$text_next = foogallery_gallery_template_setting( 'text-next', $text_next_default );
|
19 |
-
|
20 |
-
//get which lightbox we want to use
|
21 |
-
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
22 |
-
$alignment = foogallery_gallery_template_setting( 'alignment', 'fg-center' );
|
23 |
-
$link = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
24 |
-
$foogallery_imageviewer_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-link-' . $link, 'foogallery-lightbox-' . $lightbox, $alignment );
|
25 |
-
$foogallery_imageviewer_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_imageviewer_classes ) );
|
26 |
-
?><div <?php echo $foogallery_imageviewer_attributes; ?>>
|
27 |
-
<div class="fiv-inner">
|
28 |
-
<div class="fiv-inner-container">
|
29 |
-
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
30 |
-
echo foogallery_attachment_html( $attachment );
|
31 |
-
} ?>
|
32 |
-
</div>
|
33 |
-
<div class="fiv-ctrls">
|
34 |
-
<div class="fiv-prev"><span><?php echo $text_prev; ?></span></div>
|
35 |
-
<label class="fiv-count"><span class="fiv-count-current">1</span><?php echo $text_of; ?><span class="fiv-count-total"><?php echo $current_foogallery->attachment_count(); ?></span></label>
|
36 |
-
<div class="fiv-next"><span><?php echo $text_next; ?></span></div>
|
37 |
-
</div>
|
38 |
-
</div>
|
39 |
</div>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery Image Viewer gallery template
|
4 |
+
* This is the template that is run when a FooGallery shortcode is rendered to the frontend
|
5 |
+
*/
|
6 |
+
//the current FooGallery that is currently being rendered to the frontend
|
7 |
+
global $current_foogallery;
|
8 |
+
//the current shortcode args
|
9 |
+
global $current_foogallery_arguments;
|
10 |
+
|
11 |
+
$text_prev_default = foogallery_get_setting( 'language_imageviewer_prev_text', __('Prev', 'foogallery') );
|
12 |
+
$text_prev = foogallery_gallery_template_setting( 'text-prev', $text_prev_default );
|
13 |
+
|
14 |
+
$text_of_default = foogallery_get_setting( 'language_imageviewer_of_text', __('of', 'foogallery') );
|
15 |
+
$text_of = foogallery_gallery_template_setting( 'text-of', $text_of_default );
|
16 |
+
|
17 |
+
$text_next_default = foogallery_get_setting( 'language_imageviewer_next_text', __('Next', 'foogallery') );
|
18 |
+
$text_next = foogallery_gallery_template_setting( 'text-next', $text_next_default );
|
19 |
+
|
20 |
+
//get which lightbox we want to use
|
21 |
+
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
22 |
+
$alignment = foogallery_gallery_template_setting( 'alignment', 'fg-center' );
|
23 |
+
$link = foogallery_gallery_template_setting( 'thumbnail_link', 'image' );
|
24 |
+
$foogallery_imageviewer_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-link-' . $link, 'foogallery-lightbox-' . $lightbox, $alignment );
|
25 |
+
$foogallery_imageviewer_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_imageviewer_classes ) );
|
26 |
+
?><div <?php echo $foogallery_imageviewer_attributes; ?>>
|
27 |
+
<div class="fiv-inner">
|
28 |
+
<div class="fiv-inner-container">
|
29 |
+
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
30 |
+
echo foogallery_attachment_html( $attachment );
|
31 |
+
} ?>
|
32 |
+
</div>
|
33 |
+
<div class="fiv-ctrls">
|
34 |
+
<div class="fiv-prev"><span><?php echo $text_prev; ?></span></div>
|
35 |
+
<label class="fiv-count"><span class="fiv-count-current">1</span><?php echo $text_of; ?><span class="fiv-count-total"><?php echo $current_foogallery->attachment_count(); ?></span></label>
|
36 |
+
<div class="fiv-next"><span><?php echo $text_next; ?></span></div>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
</div>
|
extensions/default-templates/image-viewer/js/admin-gallery-image-viewer.js
CHANGED
@@ -1,123 +1,123 @@
|
|
1 |
-
//Use this file to inject custom javascript behaviour into the foogallery edit page
|
2 |
-
//For an example usage, check out wp-content/foogallery/extensions/default-templates/js/admin-gallery-default.js
|
3 |
-
|
4 |
-
(function (IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION, $, undefined) {
|
5 |
-
|
6 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.setPreviewClasses = function() {
|
7 |
-
var $previewImage = $('.foogallery-image-viewer-preview'),
|
8 |
-
theme = $('input[name="foogallery_settings[image-viewer_theme]"]:checked').val(),
|
9 |
-
hover_effect = $('input[name="foogallery_settings[image-viewer_hover-effect]"]:checked').val(),
|
10 |
-
hover_effect_type = $('input[name="foogallery_settings[image-viewer_hover-effect-type]"]:checked').val();
|
11 |
-
|
12 |
-
var $styles = $('#image-preview-custom-styles');
|
13 |
-
if (theme === 'fiv-custom'){
|
14 |
-
var bg_color = $('input[name="foogallery_settings[image-viewer_theme_custom_bgcolor]"]').val(),
|
15 |
-
text_color = $('input[name="foogallery_settings[image-viewer_theme_custom_textcolor]"]').val(),
|
16 |
-
border_color = $('input[name="foogallery_settings[image-viewer_theme_custom_bordercolor]"]').val(),
|
17 |
-
hover_color = $('input[name="foogallery_settings[image-viewer_theme_custom_hovercolor]"]').val();
|
18 |
-
|
19 |
-
var css = '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner,';
|
20 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-prev,';
|
21 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-next {';
|
22 |
-
css += 'background-color: '+bg_color+';';
|
23 |
-
css += 'color: '+text_color+';';
|
24 |
-
css += '}';
|
25 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner,';
|
26 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-inner-container,';
|
27 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-prev,';
|
28 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-next {';
|
29 |
-
css += 'border-color: '+border_color+';';
|
30 |
-
css += '}';
|
31 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-prev:hover,';
|
32 |
-
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-next:hover {';
|
33 |
-
css += 'background-color: '+hover_color+';';
|
34 |
-
css += '}';
|
35 |
-
$styles.remove();
|
36 |
-
$('head').append('<style id="image-preview-custom-styles">'+css+'</style>');
|
37 |
-
} else {
|
38 |
-
$styles.remove();
|
39 |
-
}
|
40 |
-
|
41 |
-
$previewImage.attr('class' ,'foogallery-image-viewer-preview foogallery-container foogallery-image-viewer ' + theme);
|
42 |
-
if (hover_effect_type !== 'hover-effect-none'){
|
43 |
-
$previewImage.addClass(hover_effect_type + ' ' + hover_effect);
|
44 |
-
}
|
45 |
-
|
46 |
-
var $hoverEffectrow = $('.gallery_template_field-image-viewer-hover-effect');
|
47 |
-
if ( hover_effect_type === '' ) {
|
48 |
-
$hoverEffectrow.show();
|
49 |
-
} else {
|
50 |
-
$hoverEffectrow.hide();
|
51 |
-
}
|
52 |
-
};
|
53 |
-
|
54 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideRows = function(){
|
55 |
-
var $theme_rows = $('.gallery_template_field-image-viewer-theme_custom_bgcolor')
|
56 |
-
.add('.gallery_template_field-image-viewer-theme_custom_textcolor')
|
57 |
-
.add('.gallery_template_field-image-viewer-theme_custom_hovercolor')
|
58 |
-
.add('.gallery_template_field-image-viewer-theme_custom_bordercolor');
|
59 |
-
|
60 |
-
if ( $('input[name="foogallery_settings[image-viewer_theme]"]:checked').val() === 'fiv-custom' ) {
|
61 |
-
$theme_rows.show();
|
62 |
-
} else {
|
63 |
-
$theme_rows.hide();
|
64 |
-
}
|
65 |
-
};
|
66 |
-
|
67 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideCaptionContent = function(){
|
68 |
-
var $previewImage = $('.foogallery-image-viewer-preview'),
|
69 |
-
$caption = $previewImage.find('.foogallery-caption'),
|
70 |
-
$title = $previewImage.find('.foogallery-caption-title'),
|
71 |
-
$desc = $previewImage.find('.foogallery-caption-desc'),
|
72 |
-
caption_content = $('input[name="foogallery_settings[image-viewer_caption-content]"]:checked').val();
|
73 |
-
|
74 |
-
$caption.add($title).add($desc).show();
|
75 |
-
switch(caption_content){
|
76 |
-
case 'title':
|
77 |
-
$desc.hide();
|
78 |
-
break;
|
79 |
-
case 'desc':
|
80 |
-
$title.hide();
|
81 |
-
break;
|
82 |
-
case 'none':
|
83 |
-
$caption.hide();
|
84 |
-
break;
|
85 |
-
}
|
86 |
-
};
|
87 |
-
|
88 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.adminReady = function () {
|
89 |
-
$('body').on('foogallery-gallery-template-changed-image-viewer', function() {
|
90 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.setPreviewClasses();
|
91 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideRows();
|
92 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideCaptionContent();
|
93 |
-
});
|
94 |
-
|
95 |
-
var ps = 'input[name="foogallery_settings[image-viewer_hover-effect]"], ' +
|
96 |
-
'input[name="foogallery_settings[image-viewer_hover-effect-type]"], ' +
|
97 |
-
'input[name="foogallery_settings[image-viewer_theme]"], ' +
|
98 |
-
'input[name="foogallery_settings[image-viewer_theme_custom_bgcolor]"], ' +
|
99 |
-
'input[name="foogallery_settings[image-viewer_theme_custom_textcolor]"], ' +
|
100 |
-
'input[name="foogallery_settings[image-viewer_theme_custom_bordercolor]"], ' +
|
101 |
-
'input[name="foogallery_settings[image-viewer_theme_custom_hovercolor]"]';
|
102 |
-
$(ps).change(function() {
|
103 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.setPreviewClasses();
|
104 |
-
});
|
105 |
-
|
106 |
-
$('input[name="foogallery_settings[image-viewer_caption-content]"]').change(function() {
|
107 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideCaptionContent();
|
108 |
-
});
|
109 |
-
|
110 |
-
$('input[name="foogallery_settings[image-viewer_theme]"]').change(function() {
|
111 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideRows();
|
112 |
-
});
|
113 |
-
|
114 |
-
$('.foogallery-image-viewer-preview').on('click', function(e) {
|
115 |
-
e.preventDefault();
|
116 |
-
});
|
117 |
-
};
|
118 |
-
|
119 |
-
}(window.IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION = window.IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION || {}, jQuery));
|
120 |
-
|
121 |
-
jQuery(function () {
|
122 |
-
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.adminReady();
|
123 |
});
|
1 |
+
//Use this file to inject custom javascript behaviour into the foogallery edit page
|
2 |
+
//For an example usage, check out wp-content/foogallery/extensions/default-templates/js/admin-gallery-default.js
|
3 |
+
|
4 |
+
(function (IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION, $, undefined) {
|
5 |
+
|
6 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.setPreviewClasses = function() {
|
7 |
+
var $previewImage = $('.foogallery-image-viewer-preview'),
|
8 |
+
theme = $('input[name="foogallery_settings[image-viewer_theme]"]:checked').val(),
|
9 |
+
hover_effect = $('input[name="foogallery_settings[image-viewer_hover-effect]"]:checked').val(),
|
10 |
+
hover_effect_type = $('input[name="foogallery_settings[image-viewer_hover-effect-type]"]:checked').val();
|
11 |
+
|
12 |
+
var $styles = $('#image-preview-custom-styles');
|
13 |
+
if (theme === 'fiv-custom'){
|
14 |
+
var bg_color = $('input[name="foogallery_settings[image-viewer_theme_custom_bgcolor]"]').val(),
|
15 |
+
text_color = $('input[name="foogallery_settings[image-viewer_theme_custom_textcolor]"]').val(),
|
16 |
+
border_color = $('input[name="foogallery_settings[image-viewer_theme_custom_bordercolor]"]').val(),
|
17 |
+
hover_color = $('input[name="foogallery_settings[image-viewer_theme_custom_hovercolor]"]').val();
|
18 |
+
|
19 |
+
var css = '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner,';
|
20 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-prev,';
|
21 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-next {';
|
22 |
+
css += 'background-color: '+bg_color+';';
|
23 |
+
css += 'color: '+text_color+';';
|
24 |
+
css += '}';
|
25 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner,';
|
26 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-inner-container,';
|
27 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-prev,';
|
28 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-next {';
|
29 |
+
css += 'border-color: '+border_color+';';
|
30 |
+
css += '}';
|
31 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-prev:hover,';
|
32 |
+
css += '.foogallery-image-viewer-preview.fiv-custom > .fiv-inner > .fiv-ctrls > .fiv-next:hover {';
|
33 |
+
css += 'background-color: '+hover_color+';';
|
34 |
+
css += '}';
|
35 |
+
$styles.remove();
|
36 |
+
$('head').append('<style id="image-preview-custom-styles">'+css+'</style>');
|
37 |
+
} else {
|
38 |
+
$styles.remove();
|
39 |
+
}
|
40 |
+
|
41 |
+
$previewImage.attr('class' ,'foogallery-image-viewer-preview foogallery-container foogallery-image-viewer ' + theme);
|
42 |
+
if (hover_effect_type !== 'hover-effect-none'){
|
43 |
+
$previewImage.addClass(hover_effect_type + ' ' + hover_effect);
|
44 |
+
}
|
45 |
+
|
46 |
+
var $hoverEffectrow = $('.gallery_template_field-image-viewer-hover-effect');
|
47 |
+
if ( hover_effect_type === '' ) {
|
48 |
+
$hoverEffectrow.show();
|
49 |
+
} else {
|
50 |
+
$hoverEffectrow.hide();
|
51 |
+
}
|
52 |
+
};
|
53 |
+
|
54 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideRows = function(){
|
55 |
+
var $theme_rows = $('.gallery_template_field-image-viewer-theme_custom_bgcolor')
|
56 |
+
.add('.gallery_template_field-image-viewer-theme_custom_textcolor')
|
57 |
+
.add('.gallery_template_field-image-viewer-theme_custom_hovercolor')
|
58 |
+
.add('.gallery_template_field-image-viewer-theme_custom_bordercolor');
|
59 |
+
|
60 |
+
if ( $('input[name="foogallery_settings[image-viewer_theme]"]:checked').val() === 'fiv-custom' ) {
|
61 |
+
$theme_rows.show();
|
62 |
+
} else {
|
63 |
+
$theme_rows.hide();
|
64 |
+
}
|
65 |
+
};
|
66 |
+
|
67 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideCaptionContent = function(){
|
68 |
+
var $previewImage = $('.foogallery-image-viewer-preview'),
|
69 |
+
$caption = $previewImage.find('.foogallery-caption'),
|
70 |
+
$title = $previewImage.find('.foogallery-caption-title'),
|
71 |
+
$desc = $previewImage.find('.foogallery-caption-desc'),
|
72 |
+
caption_content = $('input[name="foogallery_settings[image-viewer_caption-content]"]:checked').val();
|
73 |
+
|
74 |
+
$caption.add($title).add($desc).show();
|
75 |
+
switch(caption_content){
|
76 |
+
case 'title':
|
77 |
+
$desc.hide();
|
78 |
+
break;
|
79 |
+
case 'desc':
|
80 |
+
$title.hide();
|
81 |
+
break;
|
82 |
+
case 'none':
|
83 |
+
$caption.hide();
|
84 |
+
break;
|
85 |
+
}
|
86 |
+
};
|
87 |
+
|
88 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.adminReady = function () {
|
89 |
+
$('body').on('foogallery-gallery-template-changed-image-viewer', function() {
|
90 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.setPreviewClasses();
|
91 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideRows();
|
92 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideCaptionContent();
|
93 |
+
});
|
94 |
+
|
95 |
+
var ps = 'input[name="foogallery_settings[image-viewer_hover-effect]"], ' +
|
96 |
+
'input[name="foogallery_settings[image-viewer_hover-effect-type]"], ' +
|
97 |
+
'input[name="foogallery_settings[image-viewer_theme]"], ' +
|
98 |
+
'input[name="foogallery_settings[image-viewer_theme_custom_bgcolor]"], ' +
|
99 |
+
'input[name="foogallery_settings[image-viewer_theme_custom_textcolor]"], ' +
|
100 |
+
'input[name="foogallery_settings[image-viewer_theme_custom_bordercolor]"], ' +
|
101 |
+
'input[name="foogallery_settings[image-viewer_theme_custom_hovercolor]"]';
|
102 |
+
$(ps).change(function() {
|
103 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.setPreviewClasses();
|
104 |
+
});
|
105 |
+
|
106 |
+
$('input[name="foogallery_settings[image-viewer_caption-content]"]').change(function() {
|
107 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideCaptionContent();
|
108 |
+
});
|
109 |
+
|
110 |
+
$('input[name="foogallery_settings[image-viewer_theme]"]').change(function() {
|
111 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.showHideRows();
|
112 |
+
});
|
113 |
+
|
114 |
+
$('.foogallery-image-viewer-preview').on('click', function(e) {
|
115 |
+
e.preventDefault();
|
116 |
+
});
|
117 |
+
};
|
118 |
+
|
119 |
+
}(window.IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION = window.IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION || {}, jQuery));
|
120 |
+
|
121 |
+
jQuery(function () {
|
122 |
+
IMAGE_VIEWER_TEMPLATE_FOOGALLERY_EXTENSION.adminReady();
|
123 |
});
|
extensions/default-templates/justified/class-justified-gallery-template.php
CHANGED
@@ -1,353 +1,353 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( ! class_exists( 'FooGallery_Justified_Gallery_Template' ) ) {
|
4 |
-
|
5 |
-
define( 'FOOGALLERY_JUSTIFIED_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ) );
|
6 |
-
|
7 |
-
class FooGallery_Justified_Gallery_Template {
|
8 |
-
|
9 |
-
const TEMPLATE_ID = 'justified';
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Wire up everything we need to run the extension
|
13 |
-
*/
|
14 |
-
function __construct() {
|
15 |
-
// @formatter:off
|
16 |
-
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
17 |
-
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
18 |
-
add_filter( 'foogallery_template_thumbnail_dimensions-justified', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
19 |
-
|
20 |
-
// add the data options needed for justified.
|
21 |
-
add_filter( 'foogallery_build_container_data_options-justified', array( $this, 'add_justified_options' ), 10, 3 );
|
22 |
-
|
23 |
-
// build up the thumb dimensions from some arguments.
|
24 |
-
add_filter( 'foogallery_calculate_thumbnail_dimensions-justified', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
25 |
-
|
26 |
-
// build up the arguments needed for rendering this template.
|
27 |
-
add_filter( 'foogallery_gallery_template_arguments-justified', array( $this, 'build_gallery_template_arguments' ) );
|
28 |
-
|
29 |
-
add_filter( 'foogallery_override_gallery_template_fields-justified', array( $this, 'adjust_default_field_values' ), 10, 2 );
|
30 |
-
|
31 |
-
// add a style block for the gallery based on the field settings.
|
32 |
-
add_action( 'foogallery_loaded_template_before', array( $this, 'add_style_block' ), 10, 1 );
|
33 |
-
// @formatter:on
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Add a style block based on the field settings
|
38 |
-
*
|
39 |
-
* @param $gallery FooGallery
|
40 |
-
*/
|
41 |
-
function add_style_block( $gallery ) {
|
42 |
-
if ( self::TEMPLATE_ID !== $gallery->gallery_template ) {
|
43 |
-
return;
|
44 |
-
}
|
45 |
-
|
46 |
-
$id = $gallery->container_id();
|
47 |
-
$margins = intval( foogallery_gallery_template_setting( 'margins', 2 ) );
|
48 |
-
$row_height = intval( foogallery_gallery_template_setting( 'row_height', 250 ) );
|
49 |
-
|
50 |
-
// @formatter:off
|
51 |
-
?>
|
52 |
-
<style>
|
53 |
-
#<?php echo $id; ?>.fg-justified .fg-item {
|
54 |
-
margin-right: <?php echo $margins; ?>px;
|
55 |
-
margin-bottom: <?php echo $margins; ?>px;
|
56 |
-
}
|
57 |
-
|
58 |
-
#<?php echo $id; ?>.fg-justified .fg-image {
|
59 |
-
height: <?php echo $row_height; ?>px;
|
60 |
-
}
|
61 |
-
</style>
|
62 |
-
<?php
|
63 |
-
// @formatter:on
|
64 |
-
}
|
65 |
-
|
66 |
-
/**
|
67 |
-
* Register myself so that all associated JS and CSS files can be found and automatically included
|
68 |
-
*
|
69 |
-
* @param array $extensions
|
70 |
-
*
|
71 |
-
* @return array
|
72 |
-
*/
|
73 |
-
public function register_myself( $extensions ) {
|
74 |
-
$extensions[] = __FILE__;
|
75 |
-
|
76 |
-
return $extensions;
|
77 |
-
}
|
78 |
-
|
79 |
-
/**
|
80 |
-
* Add our gallery template to the list of templates available for every gallery
|
81 |
-
*
|
82 |
-
* @param array $gallery_templates The array of gallery templates.
|
83 |
-
*
|
84 |
-
* @return array
|
85 |
-
*/
|
86 |
-
public function add_template( $gallery_templates ) {
|
87 |
-
$gallery_templates[] = array(
|
88 |
-
'slug' => self::TEMPLATE_ID,
|
89 |
-
'name' => __( 'Justified Gallery', 'foogallery' ),
|
90 |
-
'preview_support' => true,
|
91 |
-
'common_fields_support' => true,
|
92 |
-
'lazyload_support' => true,
|
93 |
-
'paging_support' => true,
|
94 |
-
'mandatory_classes' => 'fg-justified',
|
95 |
-
'thumbnail_dimensions' => true,
|
96 |
-
'filtering_support' => true,
|
97 |
-
'enqueue_core' => true,
|
98 |
-
'fields' => array(
|
99 |
-
array(
|
100 |
-
'id' => 'row_height',
|
101 |
-
'title' => __( 'Row Height', 'foogallery' ),
|
102 |
-
'desc' => __( 'The preferred height of your gallery rows. Depending on the aspect ratio of your images and the viewport, the row height might increase up to Max Row Height.', 'foogallery' ),
|
103 |
-
'section' => __( 'General', 'foogallery' ),
|
104 |
-
'type' => 'number',
|
105 |
-
'class' => 'small-text',
|
106 |
-
'default' => 200,
|
107 |
-
'step' => '10',
|
108 |
-
'min' => '0',
|
109 |
-
'row_data' => array(
|
110 |
-
'data-foogallery-change-selector' => 'input',
|
111 |
-
'data-foogallery-value-selector' => 'input',
|
112 |
-
'data-foogallery-preview' => 'shortcode',
|
113 |
-
),
|
114 |
-
),
|
115 |
-
array(
|
116 |
-
'id' => 'thumb_height',
|
117 |
-
'title' => __( 'Max Row Height', 'foogallery' ),
|
118 |
-
'desc' => __( 'Choose the max height of your gallery rows. It should always be larger than Row Height by about 150%.', 'foogallery' ),
|
119 |
-
'section' => __( 'General', 'foogallery' ),
|
120 |
-
'type' => 'number',
|
121 |
-
'class' => 'small-text',
|
122 |
-
'default' => 300,
|
123 |
-
'step' => '10',
|
124 |
-
'min' => '0',
|
125 |
-
'row_data' => array(
|
126 |
-
'data-foogallery-preview' => 'shortcode',
|
127 |
-
'data-foogallery-change-selector' => 'input',
|
128 |
-
),
|
129 |
-
),
|
130 |
-
array(
|
131 |
-
'id' => 'margins',
|
132 |
-
'title' => __( 'Margins', 'foogallery' ),
|
133 |
-
'desc' => __( 'The spacing between your thumbnails.', 'foogallery' ),
|
134 |
-
'section' => __( 'General', 'foogallery' ),
|
135 |
-
'type' => 'number',
|
136 |
-
'class' => 'small-text',
|
137 |
-
'default' => 2,
|
138 |
-
'step' => '1',
|
139 |
-
'min' => '0',
|
140 |
-
'row_data' => array(
|
141 |
-
'data-foogallery-change-selector' => 'input',
|
142 |
-
'data-foogallery-value-selector' => 'input',
|
143 |
-
'data-foogallery-preview' => 'shortcode',
|
144 |
-
),
|
145 |
-
),
|
146 |
-
array(
|
147 |
-
'id' => 'thumbnail_link',
|
148 |
-
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
149 |
-
'section' => __( 'General', 'foogallery' ),
|
150 |
-
'default' => 'image',
|
151 |
-
'type' => 'thumb_link',
|
152 |
-
'desc' => __( 'You can choose to link each thumbnail to the full size image, or to the image\'s attachment page, or you can choose to not link to anything.', 'foogallery' ),
|
153 |
-
),
|
154 |
-
array(
|
155 |
-
'id' => 'lightbox',
|
156 |
-
'title' => __( 'Lightbox', 'foogallery' ),
|
157 |
-
'desc' => __( 'Choose which lightbox you want to display images with. The lightbox will only work if you set the thumbnail link to "Full Size Image".', 'foogallery' ),
|
158 |
-
'section' => __( 'General', 'foogallery' ),
|
159 |
-
'default' => 'none',
|
160 |
-
'type' => 'lightbox',
|
161 |
-
),
|
162 |
-
array(
|
163 |
-
'id' => 'align',
|
164 |
-
'title' => __( 'Alignment', 'foogallery' ),
|
165 |
-
'desc' => __( 'For rows that cannot be justified, what alignment should be used?', 'foogallery' ),
|
166 |
-
'section' => __( 'General', 'foogallery' ),
|
167 |
-
'type' => 'radio',
|
168 |
-
'spacer' => '<span class="spacer"></span>',
|
169 |
-
'default' => 'center',
|
170 |
-
'choices' => array(
|
171 |
-
'left' => __( 'Left', 'foogallery' ),
|
172 |
-
'center' => __( 'Center', 'foogallery' ),
|
173 |
-
'right' => __( 'Right', 'foogallery' ),
|
174 |
-
),
|
175 |
-
'row_data' => array(
|
176 |
-
'data-foogallery-change-selector' => 'input:radio',
|
177 |
-
'data-foogallery-value-selector' => 'input:checked',
|
178 |
-
'data-foogallery-preview' => 'shortcode',
|
179 |
-
),
|
180 |
-
),
|
181 |
-
array(
|
182 |
-
'id' => 'last-row',
|
183 |
-
'title' => __( 'Last Row', 'foogallery' ),
|
184 |
-
'desc' => __( 'Decide what happens to the last row, when there are not enough images to full it completely.', 'foogallery' ),
|
185 |
-
'section' => __( 'General', 'foogallery' ),
|
186 |
-
'type' => 'radio',
|
187 |
-
'default' => 'smart',
|
188 |
-
'choices' => array(
|
189 |
-
'smart' => __( 'Default - the last row is justified and aligned, but adheres to the max row height and also compares itself to the average height of all rows.', 'foogallery' ),
|
190 |
-
'justify' => __( 'Justify - the last row is forced to be justified, ignoring the max row height. This can enlarge images to very large sizes in some scenarios.', 'foogallery' ),
|
191 |
-
'hide' => __( 'Hide - the last row is hidden if it does not fill the entire row.', 'foogallery' ),
|
192 |
-
),
|
193 |
-
'row_data' => array(
|
194 |
-
'data-foogallery-change-selector' => 'input:radio',
|
195 |
-
'data-foogallery-value-selector' => 'input:checked',
|
196 |
-
'data-foogallery-preview' => 'shortcode',
|
197 |
-
),
|
198 |
-
),
|
199 |
-
),
|
200 |
-
);
|
201 |
-
|
202 |
-
return $gallery_templates;
|
203 |
-
}
|
204 |
-
|
205 |
-
/**
|
206 |
-
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
207 |
-
*
|
208 |
-
* @param array $dimensions
|
209 |
-
* @param FooGallery $foogallery
|
210 |
-
*
|
211 |
-
* @return mixed
|
212 |
-
*/
|
213 |
-
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
214 |
-
return array(
|
215 |
-
'height' => $this->max_row_height_from_current_gallery(),
|
216 |
-
'width' => 0,
|
217 |
-
'crop' => false,
|
218 |
-
);
|
219 |
-
}
|
220 |
-
|
221 |
-
/**
|
222 |
-
* Add the required justified options if needed
|
223 |
-
*
|
224 |
-
* @param $options
|
225 |
-
* @param $gallery FooGallery
|
226 |
-
*
|
227 |
-
* @param $attributes array
|
228 |
-
*
|
229 |
-
* @return array
|
230 |
-
*/
|
231 |
-
function add_justified_options( $options, $gallery, $attributes ) {
|
232 |
-
$this->calculate_row_heights_for_current_gallery();
|
233 |
-
|
234 |
-
$values = foogallery_current_gallery_get_cached_value( 'justified_row_height' );
|
235 |
-
|
236 |
-
$margins = foogallery_gallery_template_setting( 'margins', '1' );
|
237 |
-
$align = foogallery_gallery_template_setting( 'align', 'center' );
|
238 |
-
$last_row = foogallery_gallery_template_setting( 'last-row', 'smart' );
|
239 |
-
|
240 |
-
$options['template']['rowHeight'] = intval( $values['row_height'] );
|
241 |
-
$options['template']['maxRowHeight'] = intval( $values['max_row_height'] );
|
242 |
-
$options['template']['margins'] = intval( $margins );
|
243 |
-
$options['template']['align'] = $align;
|
244 |
-
$options['template']['lastRow'] = $last_row;
|
245 |
-
|
246 |
-
return $options;
|
247 |
-
}
|
248 |
-
|
249 |
-
/**
|
250 |
-
* Calculates the row heights for the current gallery, also taking into account legacy settings
|
251 |
-
*/
|
252 |
-
function calculate_row_heights_for_current_gallery() {
|
253 |
-
if ( ! foogallery_current_gallery_has_cached_value( 'justified_row_height' ) ) {
|
254 |
-
$row_height = foogallery_gallery_template_setting( 'row_height', '200' );
|
255 |
-
|
256 |
-
//check to see if there is a legacy max_row_height
|
257 |
-
$max_row_height = foogallery_gallery_template_setting( 'max_row_height', false );
|
258 |
-
|
259 |
-
if ( false === $max_row_height ) {
|
260 |
-
//we do not have a legacy max_row_height, so use the thumb_height
|
261 |
-
$max_row_height = intval( foogallery_gallery_template_setting( 'thumb_height', '300' ) );
|
262 |
-
} else {
|
263 |
-
if ( strpos( $max_row_height, '%' ) === false ) {
|
264 |
-
$max_row_height = intval( $max_row_height );
|
265 |
-
} else {
|
266 |
-
$max_row_height = intval( $row_height * intval( $max_row_height ) / 100 );
|
267 |
-
}
|
268 |
-
}
|
269 |
-
|
270 |
-
//check for a negative max_row_height
|
271 |
-
if ( $max_row_height < 0 ) {
|
272 |
-
$max_row_height = $row_height * 2;
|
273 |
-
}
|
274 |
-
|
275 |
-
foogallery_current_gallery_set_cached_value( 'justified_row_height', array(
|
276 |
-
'row_height' => intval( $row_height ),
|
277 |
-
'max_row_height' => $max_row_height,
|
278 |
-
) );
|
279 |
-
}
|
280 |
-
}
|
281 |
-
|
282 |
-
/**
|
283 |
-
* Builds thumb dimensions from arguments
|
284 |
-
*
|
285 |
-
* @param array $dimensions
|
286 |
-
* @param array $arguments
|
287 |
-
*
|
288 |
-
* @return mixed
|
289 |
-
*/
|
290 |
-
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
291 |
-
return array(
|
292 |
-
'height' => $this->max_row_height_from_current_gallery(),
|
293 |
-
'width' => 0,
|
294 |
-
'crop' => false,
|
295 |
-
);
|
296 |
-
}
|
297 |
-
|
298 |
-
/**
|
299 |
-
* Returns the max_row_height for the current gallery
|
300 |
-
*
|
301 |
-
* @return int
|
302 |
-
*/
|
303 |
-
function max_row_height_from_current_gallery() {
|
304 |
-
$this->calculate_row_heights_for_current_gallery();
|
305 |
-
$values = foogallery_current_gallery_get_cached_value( 'justified_row_height' );
|
306 |
-
|
307 |
-
return intval( $values['max_row_height'] );
|
308 |
-
}
|
309 |
-
|
310 |
-
/**
|
311 |
-
* Build up the arguments needed for rendering this gallery template
|
312 |
-
*
|
313 |
-
* @param $args
|
314 |
-
*
|
315 |
-
* @return array
|
316 |
-
*/
|
317 |
-
function build_gallery_template_arguments( $args ) {
|
318 |
-
$args = array(
|
319 |
-
'height' => $this->max_row_height_from_current_gallery(),
|
320 |
-
'link' => foogallery_gallery_template_setting( 'thumbnail_link', 'image' ),
|
321 |
-
'crop' => false,
|
322 |
-
);
|
323 |
-
|
324 |
-
return $args;
|
325 |
-
}
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Adjust the default values for the justified template
|
329 |
-
*
|
330 |
-
* @param $fields
|
331 |
-
* @param $template
|
332 |
-
*
|
333 |
-
* @return array
|
334 |
-
* @uses "foogallery_override_gallery_template_fields"
|
335 |
-
*/
|
336 |
-
function adjust_default_field_values( $fields, $template ) {
|
337 |
-
//update specific fields
|
338 |
-
foreach ( $fields as &$field ) {
|
339 |
-
if ( 'border_size' === $field['id'] ) {
|
340 |
-
$field['default'] = '';
|
341 |
-
} else if ( 'hover_effect_caption_visibility' == $field['id'] ) {
|
342 |
-
$field['default'] = 'fg-caption-always';
|
343 |
-
} else if ( 'hover_effect_icon' == $field['id'] ) {
|
344 |
-
$field['default'] = 'fg-hover-zoom2';
|
345 |
-
} else if ( 'caption_desc_source' == $field['id'] ) {
|
346 |
-
$field['default'] = 'none';
|
347 |
-
}
|
348 |
-
}
|
349 |
-
|
350 |
-
return $fields;
|
351 |
-
}
|
352 |
-
}
|
353 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! class_exists( 'FooGallery_Justified_Gallery_Template' ) ) {
|
4 |
+
|
5 |
+
define( 'FOOGALLERY_JUSTIFIED_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ) );
|
6 |
+
|
7 |
+
class FooGallery_Justified_Gallery_Template {
|
8 |
+
|
9 |
+
const TEMPLATE_ID = 'justified';
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Wire up everything we need to run the extension
|
13 |
+
*/
|
14 |
+
function __construct() {
|
15 |
+
// @formatter:off
|
16 |
+
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
17 |
+
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
18 |
+
add_filter( 'foogallery_template_thumbnail_dimensions-justified', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
19 |
+
|
20 |
+
// add the data options needed for justified.
|
21 |
+
add_filter( 'foogallery_build_container_data_options-justified', array( $this, 'add_justified_options' ), 10, 3 );
|
22 |
+
|
23 |
+
// build up the thumb dimensions from some arguments.
|
24 |
+
add_filter( 'foogallery_calculate_thumbnail_dimensions-justified', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
25 |
+
|
26 |
+
// build up the arguments needed for rendering this template.
|
27 |
+
add_filter( 'foogallery_gallery_template_arguments-justified', array( $this, 'build_gallery_template_arguments' ) );
|
28 |
+
|
29 |
+
add_filter( 'foogallery_override_gallery_template_fields-justified', array( $this, 'adjust_default_field_values' ), 10, 2 );
|
30 |
+
|
31 |
+
// add a style block for the gallery based on the field settings.
|
32 |
+
add_action( 'foogallery_loaded_template_before', array( $this, 'add_style_block' ), 10, 1 );
|
33 |
+
// @formatter:on
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Add a style block based on the field settings
|
38 |
+
*
|
39 |
+
* @param $gallery FooGallery
|
40 |
+
*/
|
41 |
+
function add_style_block( $gallery ) {
|
42 |
+
if ( self::TEMPLATE_ID !== $gallery->gallery_template ) {
|
43 |
+
return;
|
44 |
+
}
|
45 |
+
|
46 |
+
$id = $gallery->container_id();
|
47 |
+
$margins = intval( foogallery_gallery_template_setting( 'margins', 2 ) );
|
48 |
+
$row_height = intval( foogallery_gallery_template_setting( 'row_height', 250 ) );
|
49 |
+
|
50 |
+
// @formatter:off
|
51 |
+
?>
|
52 |
+
<style>
|
53 |
+
#<?php echo $id; ?>.fg-justified .fg-item {
|
54 |
+
margin-right: <?php echo $margins; ?>px;
|
55 |
+
margin-bottom: <?php echo $margins; ?>px;
|
56 |
+
}
|
57 |
+
|
58 |
+
#<?php echo $id; ?>.fg-justified .fg-image {
|
59 |
+
height: <?php echo $row_height; ?>px;
|
60 |
+
}
|
61 |
+
</style>
|
62 |
+
<?php
|
63 |
+
// @formatter:on
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Register myself so that all associated JS and CSS files can be found and automatically included
|
68 |
+
*
|
69 |
+
* @param array $extensions
|
70 |
+
*
|
71 |
+
* @return array
|
72 |
+
*/
|
73 |
+
public function register_myself( $extensions ) {
|
74 |
+
$extensions[] = __FILE__;
|
75 |
+
|
76 |
+
return $extensions;
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Add our gallery template to the list of templates available for every gallery
|
81 |
+
*
|
82 |
+
* @param array $gallery_templates The array of gallery templates.
|
83 |
+
*
|
84 |
+
* @return array
|
85 |
+
*/
|
86 |
+
public function add_template( $gallery_templates ) {
|
87 |
+
$gallery_templates[] = array(
|
88 |
+
'slug' => self::TEMPLATE_ID,
|
89 |
+
'name' => __( 'Justified Gallery', 'foogallery' ),
|
90 |
+
'preview_support' => true,
|
91 |
+
'common_fields_support' => true,
|
92 |
+
'lazyload_support' => true,
|
93 |
+
'paging_support' => true,
|
94 |
+
'mandatory_classes' => 'fg-justified',
|
95 |
+
'thumbnail_dimensions' => true,
|
96 |
+
'filtering_support' => true,
|
97 |
+
'enqueue_core' => true,
|
98 |
+
'fields' => array(
|
99 |
+
array(
|
100 |
+
'id' => 'row_height',
|
101 |
+
'title' => __( 'Row Height', 'foogallery' ),
|
102 |
+
'desc' => __( 'The preferred height of your gallery rows. Depending on the aspect ratio of your images and the viewport, the row height might increase up to Max Row Height.', 'foogallery' ),
|
103 |
+
'section' => __( 'General', 'foogallery' ),
|
104 |
+
'type' => 'number',
|
105 |
+
'class' => 'small-text',
|
106 |
+
'default' => 200,
|
107 |
+
'step' => '10',
|
108 |
+
'min' => '0',
|
109 |
+
'row_data' => array(
|
110 |
+
'data-foogallery-change-selector' => 'input',
|
111 |
+
'data-foogallery-value-selector' => 'input',
|
112 |
+
'data-foogallery-preview' => 'shortcode',
|
113 |
+
),
|
114 |
+
),
|
115 |
+
array(
|
116 |
+
'id' => 'thumb_height',
|
117 |
+
'title' => __( 'Max Row Height', 'foogallery' ),
|
118 |
+
'desc' => __( 'Choose the max height of your gallery rows. It should always be larger than Row Height by about 150%.', 'foogallery' ),
|
119 |
+
'section' => __( 'General', 'foogallery' ),
|
120 |
+
'type' => 'number',
|
121 |
+
'class' => 'small-text',
|
122 |
+
'default' => 300,
|
123 |
+
'step' => '10',
|
124 |
+
'min' => '0',
|
125 |
+
'row_data' => array(
|
126 |
+
'data-foogallery-preview' => 'shortcode',
|
127 |
+
'data-foogallery-change-selector' => 'input',
|
128 |
+
),
|
129 |
+
),
|
130 |
+
array(
|
131 |
+
'id' => 'margins',
|
132 |
+
'title' => __( 'Margins', 'foogallery' ),
|
133 |
+
'desc' => __( 'The spacing between your thumbnails.', 'foogallery' ),
|
134 |
+
'section' => __( 'General', 'foogallery' ),
|
135 |
+
'type' => 'number',
|
136 |
+
'class' => 'small-text',
|
137 |
+
'default' => 2,
|
138 |
+
'step' => '1',
|
139 |
+
'min' => '0',
|
140 |
+
'row_data' => array(
|
141 |
+
'data-foogallery-change-selector' => 'input',
|
142 |
+
'data-foogallery-value-selector' => 'input',
|
143 |
+
'data-foogallery-preview' => 'shortcode',
|
144 |
+
),
|
145 |
+
),
|
146 |
+
array(
|
147 |
+
'id' => 'thumbnail_link',
|
148 |
+
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
149 |
+
'section' => __( 'General', 'foogallery' ),
|
150 |
+
'default' => 'image',
|
151 |
+
'type' => 'thumb_link',
|
152 |
+
'desc' => __( 'You can choose to link each thumbnail to the full size image, or to the image\'s attachment page, or you can choose to not link to anything.', 'foogallery' ),
|
153 |
+
),
|
154 |
+
array(
|
155 |
+
'id' => 'lightbox',
|
156 |
+
'title' => __( 'Lightbox', 'foogallery' ),
|
157 |
+
'desc' => __( 'Choose which lightbox you want to display images with. The lightbox will only work if you set the thumbnail link to "Full Size Image".', 'foogallery' ),
|
158 |
+
'section' => __( 'General', 'foogallery' ),
|
159 |
+
'default' => 'none',
|
160 |
+
'type' => 'lightbox',
|
161 |
+
),
|
162 |
+
array(
|
163 |
+
'id' => 'align',
|
164 |
+
'title' => __( 'Alignment', 'foogallery' ),
|
165 |
+
'desc' => __( 'For rows that cannot be justified, what alignment should be used?', 'foogallery' ),
|
166 |
+
'section' => __( 'General', 'foogallery' ),
|
167 |
+
'type' => 'radio',
|
168 |
+
'spacer' => '<span class="spacer"></span>',
|
169 |
+
'default' => 'center',
|
170 |
+
'choices' => array(
|
171 |
+
'left' => __( 'Left', 'foogallery' ),
|
172 |
+
'center' => __( 'Center', 'foogallery' ),
|
173 |
+
'right' => __( 'Right', 'foogallery' ),
|
174 |
+
),
|
175 |
+
'row_data' => array(
|
176 |
+
'data-foogallery-change-selector' => 'input:radio',
|
177 |
+
'data-foogallery-value-selector' => 'input:checked',
|
178 |
+
'data-foogallery-preview' => 'shortcode',
|
179 |
+
),
|
180 |
+
),
|
181 |
+
array(
|
182 |
+
'id' => 'last-row',
|
183 |
+
'title' => __( 'Last Row', 'foogallery' ),
|
184 |
+
'desc' => __( 'Decide what happens to the last row, when there are not enough images to full it completely.', 'foogallery' ),
|
185 |
+
'section' => __( 'General', 'foogallery' ),
|
186 |
+
'type' => 'radio',
|
187 |
+
'default' => 'smart',
|
188 |
+
'choices' => array(
|
189 |
+
'smart' => __( 'Default - the last row is justified and aligned, but adheres to the max row height and also compares itself to the average height of all rows.', 'foogallery' ),
|
190 |
+
'justify' => __( 'Justify - the last row is forced to be justified, ignoring the max row height. This can enlarge images to very large sizes in some scenarios.', 'foogallery' ),
|
191 |
+
'hide' => __( 'Hide - the last row is hidden if it does not fill the entire row.', 'foogallery' ),
|
192 |
+
),
|
193 |
+
'row_data' => array(
|
194 |
+
'data-foogallery-change-selector' => 'input:radio',
|
195 |
+
'data-foogallery-value-selector' => 'input:checked',
|
196 |
+
'data-foogallery-preview' => 'shortcode',
|
197 |
+
),
|
198 |
+
),
|
199 |
+
),
|
200 |
+
);
|
201 |
+
|
202 |
+
return $gallery_templates;
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
207 |
+
*
|
208 |
+
* @param array $dimensions
|
209 |
+
* @param FooGallery $foogallery
|
210 |
+
*
|
211 |
+
* @return mixed
|
212 |
+
*/
|
213 |
+
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
214 |
+
return array(
|
215 |
+
'height' => $this->max_row_height_from_current_gallery(),
|
216 |
+
'width' => 0,
|
217 |
+
'crop' => false,
|
218 |
+
);
|
219 |
+
}
|
220 |
+
|
221 |
+
/**
|
222 |
+
* Add the required justified options if needed
|
223 |
+
*
|
224 |
+
* @param $options
|
225 |
+
* @param $gallery FooGallery
|
226 |
+
*
|
227 |
+
* @param $attributes array
|
228 |
+
*
|
229 |
+
* @return array
|
230 |
+
*/
|
231 |
+
function add_justified_options( $options, $gallery, $attributes ) {
|
232 |
+
$this->calculate_row_heights_for_current_gallery();
|
233 |
+
|
234 |
+
$values = foogallery_current_gallery_get_cached_value( 'justified_row_height' );
|
235 |
+
|
236 |
+
$margins = foogallery_gallery_template_setting( 'margins', '1' );
|
237 |
+
$align = foogallery_gallery_template_setting( 'align', 'center' );
|
238 |
+
$last_row = foogallery_gallery_template_setting( 'last-row', 'smart' );
|
239 |
+
|
240 |
+
$options['template']['rowHeight'] = intval( $values['row_height'] );
|
241 |
+
$options['template']['maxRowHeight'] = intval( $values['max_row_height'] );
|
242 |
+
$options['template']['margins'] = intval( $margins );
|
243 |
+
$options['template']['align'] = $align;
|
244 |
+
$options['template']['lastRow'] = $last_row;
|
245 |
+
|
246 |
+
return $options;
|
247 |
+
}
|
248 |
+
|
249 |
+
/**
|
250 |
+
* Calculates the row heights for the current gallery, also taking into account legacy settings
|
251 |
+
*/
|
252 |
+
function calculate_row_heights_for_current_gallery() {
|
253 |
+
if ( ! foogallery_current_gallery_has_cached_value( 'justified_row_height' ) ) {
|
254 |
+
$row_height = foogallery_gallery_template_setting( 'row_height', '200' );
|
255 |
+
|
256 |
+
//check to see if there is a legacy max_row_height
|
257 |
+
$max_row_height = foogallery_gallery_template_setting( 'max_row_height', false );
|
258 |
+
|
259 |
+
if ( false === $max_row_height ) {
|
260 |
+
//we do not have a legacy max_row_height, so use the thumb_height
|
261 |
+
$max_row_height = intval( foogallery_gallery_template_setting( 'thumb_height', '300' ) );
|
262 |
+
} else {
|
263 |
+
if ( strpos( $max_row_height, '%' ) === false ) {
|
264 |
+
$max_row_height = intval( $max_row_height );
|
265 |
+
} else {
|
266 |
+
$max_row_height = intval( $row_height * intval( $max_row_height ) / 100 );
|
267 |
+
}
|
268 |
+
}
|
269 |
+
|
270 |
+
//check for a negative max_row_height
|
271 |
+
if ( $max_row_height < 0 ) {
|
272 |
+
$max_row_height = $row_height * 2;
|
273 |
+
}
|
274 |
+
|
275 |
+
foogallery_current_gallery_set_cached_value( 'justified_row_height', array(
|
276 |
+
'row_height' => intval( $row_height ),
|
277 |
+
'max_row_height' => $max_row_height,
|
278 |
+
) );
|
279 |
+
}
|
280 |
+
}
|
281 |
+
|
282 |
+
/**
|
283 |
+
* Builds thumb dimensions from arguments
|
284 |
+
*
|
285 |
+
* @param array $dimensions
|
286 |
+
* @param array $arguments
|
287 |
+
*
|
288 |
+
* @return mixed
|
289 |
+
*/
|
290 |
+
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
291 |
+
return array(
|
292 |
+
'height' => $this->max_row_height_from_current_gallery(),
|
293 |
+
'width' => 0,
|
294 |
+
'crop' => false,
|
295 |
+
);
|
296 |
+
}
|
297 |
+
|
298 |
+
/**
|
299 |
+
* Returns the max_row_height for the current gallery
|
300 |
+
*
|
301 |
+
* @return int
|
302 |
+
*/
|
303 |
+
function max_row_height_from_current_gallery() {
|
304 |
+
$this->calculate_row_heights_for_current_gallery();
|
305 |
+
$values = foogallery_current_gallery_get_cached_value( 'justified_row_height' );
|
306 |
+
|
307 |
+
return intval( $values['max_row_height'] );
|
308 |
+
}
|
309 |
+
|
310 |
+
/**
|
311 |
+
* Build up the arguments needed for rendering this gallery template
|
312 |
+
*
|
313 |
+
* @param $args
|
314 |
+
*
|
315 |
+
* @return array
|
316 |
+
*/
|
317 |
+
function build_gallery_template_arguments( $args ) {
|
318 |
+
$args = array(
|
319 |
+
'height' => $this->max_row_height_from_current_gallery(),
|
320 |
+
'link' => foogallery_gallery_template_setting( 'thumbnail_link', 'image' ),
|
321 |
+
'crop' => false,
|
322 |
+
);
|
323 |
+
|
324 |
+
return $args;
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* Adjust the default values for the justified template
|
329 |
+
*
|
330 |
+
* @param $fields
|
331 |
+
* @param $template
|
332 |
+
*
|
333 |
+
* @return array
|
334 |
+
* @uses "foogallery_override_gallery_template_fields"
|
335 |
+
*/
|
336 |
+
function adjust_default_field_values( $fields, $template ) {
|
337 |
+
//update specific fields
|
338 |
+
foreach ( $fields as &$field ) {
|
339 |
+
if ( 'border_size' === $field['id'] ) {
|
340 |
+
$field['default'] = '';
|
341 |
+
} else if ( 'hover_effect_caption_visibility' == $field['id'] ) {
|
342 |
+
$field['default'] = 'fg-caption-always';
|
343 |
+
} else if ( 'hover_effect_icon' == $field['id'] ) {
|
344 |
+
$field['default'] = 'fg-hover-zoom2';
|
345 |
+
} else if ( 'caption_desc_source' == $field['id'] ) {
|
346 |
+
$field['default'] = 'none';
|
347 |
+
}
|
348 |
+
}
|
349 |
+
|
350 |
+
return $fields;
|
351 |
+
}
|
352 |
+
}
|
353 |
}
|
extensions/default-templates/justified/gallery-justified.php
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery Justified gallery template
|
4 |
-
*/
|
5 |
-
global $current_foogallery;
|
6 |
-
global $current_foogallery_arguments;
|
7 |
-
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
8 |
-
$foogallery_justified_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox );
|
9 |
-
$foogallery_justified_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_justified_classes) );
|
10 |
-
?>
|
11 |
-
<div <?php echo $foogallery_justified_attributes; ?>>
|
12 |
-
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
13 |
-
echo foogallery_attachment_html( $attachment );
|
14 |
-
} ?>
|
15 |
-
</div>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery Justified gallery template
|
4 |
+
*/
|
5 |
+
global $current_foogallery;
|
6 |
+
global $current_foogallery_arguments;
|
7 |
+
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
8 |
+
$foogallery_justified_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox );
|
9 |
+
$foogallery_justified_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_justified_classes) );
|
10 |
+
?>
|
11 |
+
<div <?php echo $foogallery_justified_attributes; ?>>
|
12 |
+
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
13 |
+
echo foogallery_attachment_html( $attachment );
|
14 |
+
} ?>
|
15 |
+
</div>
|
extensions/default-templates/masonry/class-masonry-gallery-template.php
CHANGED
@@ -1,407 +1,407 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( !class_exists( 'FooGallery_Masonry_Gallery_Template' ) ) {
|
4 |
-
|
5 |
-
define('FOOGALLERY_MASONRY_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ));
|
6 |
-
|
7 |
-
class FooGallery_Masonry_Gallery_Template {
|
8 |
-
|
9 |
-
const template_id = 'masonry';
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Wire up everything we need to run the extension
|
13 |
-
*/
|
14 |
-
function __construct() {
|
15 |
-
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
16 |
-
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
17 |
-
|
18 |
-
add_action( 'foogallery_enqueue_preview_dependencies', array( $this, 'enqueue_preview_dependencies' ) );
|
19 |
-
|
20 |
-
add_filter( 'foogallery_located_template-masonry', array( $this, 'enqueue_dependencies' ) );
|
21 |
-
|
22 |
-
add_filter( 'foogallery_template_thumbnail_dimensions-masonry', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
23 |
-
|
24 |
-
//add the data options needed for masonry
|
25 |
-
add_filter( 'foogallery_build_container_data_options-masonry', array( $this, 'add_masonry_options' ), 10, 3 );
|
26 |
-
|
27 |
-
//build up the thumb dimensions from some arguments
|
28 |
-
add_filter( 'foogallery_calculate_thumbnail_dimensions-masonry', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
29 |
-
|
30 |
-
//build up the arguments needed for rendering this template
|
31 |
-
add_filter( 'foogallery_gallery_template_arguments-masonry', array( $this, 'build_gallery_template_arguments' ) );
|
32 |
-
|
33 |
-
//add extra fields to the templates
|
34 |
-
add_filter( 'foogallery_override_gallery_template_fields-masonry', array( $this, 'add_masonry_fields' ), 10, 2 );
|
35 |
-
|
36 |
-
//remove the captions if the captions are below thumbs
|
37 |
-
add_filter( 'foogallery_build_attachment_html_caption', array( $this, 'remove_captions' ), 10, 3 );
|
38 |
-
|
39 |
-
//add a style block for the gallery based on the field settings
|
40 |
-
add_action( 'foogallery_loaded_template_before', array( $this, 'add_style_block' ), 10, 1 );
|
41 |
-
|
42 |
-
add_filter( 'foogallery_build_class_attribute', array( $this, 'override_class_attributes' ), 99, 2 );
|
43 |
-
}
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Override the classes for the layout
|
47 |
-
*
|
48 |
-
* @param $classes array
|
49 |
-
* @param $gallery FooGallery
|
50 |
-
*
|
51 |
-
* @return array
|
52 |
-
*/
|
53 |
-
function override_class_attributes( $classes, $gallery ) {
|
54 |
-
if ( self::template_id === $gallery->gallery_template ) {
|
55 |
-
$classes[] = 'fg-' . foogallery_gallery_template_setting( 'layout', 'fixed' );
|
56 |
-
}
|
57 |
-
|
58 |
-
return $classes;
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
-
* Add a style block based on the field settings
|
63 |
-
*
|
64 |
-
* @param $gallery FooGallery
|
65 |
-
*/
|
66 |
-
function add_style_block( $gallery ) {
|
67 |
-
if ( self::template_id !== $gallery->gallery_template ) {
|
68 |
-
return;
|
69 |
-
}
|
70 |
-
|
71 |
-
$id = $gallery->container_id();
|
72 |
-
$layout = foogallery_gallery_template_setting( 'layout', 'fixed' );
|
73 |
-
|
74 |
-
//get out early if the layout is not fixed
|
75 |
-
if ( 'fixed' !== $layout ) {
|
76 |
-
return;
|
77 |
-
}
|
78 |
-
|
79 |
-
$thumbnail_width = intval( foogallery_gallery_template_setting( 'thumbnail_width', 250 ) );
|
80 |
-
$gutter_width = intval( foogallery_gallery_template_setting( 'gutter_width', 10 ) );
|
81 |
-
|
82 |
-
?>
|
83 |
-
<style>
|
84 |
-
#<?php echo $id; ?>.fg-masonry .fg-item {
|
85 |
-
width: <?php echo $thumbnail_width; ?>px;
|
86 |
-
margin-right: <?php echo $gutter_width; ?>px;
|
87 |
-
margin-bottom: <?php echo $gutter_width; ?>px;
|
88 |
-
}
|
89 |
-
</style>
|
90 |
-
<?php
|
91 |
-
}
|
92 |
-
|
93 |
-
|
94 |
-
/**
|
95 |
-
* Register myself so that all associated JS and CSS files can be found and automatically included
|
96 |
-
* @param $extensions
|
97 |
-
*
|
98 |
-
* @return array
|
99 |
-
*/
|
100 |
-
function register_myself( $extensions ) {
|
101 |
-
$extensions[] = __FILE__;
|
102 |
-
return $extensions;
|
103 |
-
}
|
104 |
-
|
105 |
-
/**
|
106 |
-
* Add our gallery template to the list of templates available for every gallery
|
107 |
-
* @param $gallery_templates
|
108 |
-
*
|
109 |
-
* @return array
|
110 |
-
*/
|
111 |
-
function add_template( $gallery_templates ) {
|
112 |
-
$gallery_templates[] = array(
|
113 |
-
'slug' => self::template_id,
|
114 |
-
'name' => __( 'Masonry Image Gallery', 'foogallery' ),
|
115 |
-
'preview_support' => true,
|
116 |
-
'common_fields_support' => true,
|
117 |
-
'lazyload_support' => true,
|
118 |
-
'paging_support' => true,
|
119 |
-
'mandatory_classes' => 'fg-masonry',
|
120 |
-
'thumbnail_dimensions' => true,
|
121 |
-
'filtering_support' => true,
|
122 |
-
'fields' => array(
|
123 |
-
array(
|
124 |
-
'id' => 'thumbnail_width',
|
125 |
-
'title' => __( 'Thumb Width', 'foogallery' ),
|
126 |
-
'desc' => __( 'Choose the width of your thumbnails. Thumbnails will be generated on the fly and cached once generated', 'foogallery' ),
|
127 |
-
'section' => __( 'General', 'foogallery' ),
|
128 |
-
'type' => 'number',
|
129 |
-
'class' => 'small-text',
|
130 |
-
'default' => 250,
|
131 |
-
'step' => '1',
|
132 |
-
'min' => '0',
|
133 |
-
'row_data'=> array(
|
134 |
-
'data-foogallery-change-selector' => 'input',
|
135 |
-
'data-foogallery-preview' => 'shortcode'
|
136 |
-
)
|
137 |
-
),
|
138 |
-
array(
|
139 |
-
'id' => 'layout',
|
140 |
-
'title' => __( 'Masonry Layout', 'foogallery' ),
|
141 |
-
'desc' => __( 'Choose a fixed width thumb layout, or responsive columns.', 'foogallery' ),
|
142 |
-
'section' => __( 'General', 'foogallery' ),
|
143 |
-
'type' => 'radio',
|
144 |
-
'choices' => array(
|
145 |
-
'fixed' => __( 'Fixed Width', 'foogallery' ),
|
146 |
-
'col6' => __( '6 Columns', 'foogallery' ),
|
147 |
-
'col5' => __( '5 Columns', 'foogallery' ),
|
148 |
-
'col4' => __( '4 Columns', 'foogallery' ),
|
149 |
-
'col3' => __( '3 Columns', 'foogallery' ),
|
150 |
-
'col2' => __( '2 Columns', 'foogallery' ),
|
151 |
-
),
|
152 |
-
'default' => 'fixed',
|
153 |
-
'row_data'=> array(
|
154 |
-
'data-foogallery-change-selector' => 'input:radio',
|
155 |
-
'data-foogallery-value-selector' => 'input:checked',
|
156 |
-
'data-foogallery-preview' => 'shortcode'
|
157 |
-
)
|
158 |
-
),
|
159 |
-
array(
|
160 |
-
'id' => 'horizontal',
|
161 |
-
'title' => __( 'Horizontal Layout', 'foogallery' ),
|
162 |
-
'desc' => __( 'You can choose to lay out items to (mostly) maintain horizontal left-to-right order.', 'foogallery' ),
|
163 |
-
'section' => __( 'General', 'foogallery' ),
|
164 |
-
'type' => 'radio',
|
165 |
-
'choices' => array(
|
166 |
-
'' => __( 'Disabled', 'foogallery' ),
|
167 |
-
'yes' => __( 'Try to maintain lef-to-right order', 'foogallery' ),
|
168 |
-
),
|
169 |
-
'default' => '',
|
170 |
-
'row_data'=> array(
|
171 |
-
'data-foogallery-change-selector' => 'input:radio',
|
172 |
-
'data-foogallery-value-selector' => 'input:checked',
|
173 |
-
'data-foogallery-preview' => 'shortcode'
|
174 |
-
)
|
175 |
-
),
|
176 |
-
array(
|
177 |
-
'id' => 'gutter_width',
|
178 |
-
'title' => __( 'Gutter Width', 'foogallery' ),
|
179 |
-
'desc' => __( 'The spacing between your thumbnails. Only applicable when using a fixed layout!', 'foogallery' ),
|
180 |
-
'section' => __( 'General', 'foogallery' ),
|
181 |
-
'type' => 'number',
|
182 |
-
'class' => 'small-text',
|
183 |
-
'default' => 10,
|
184 |
-
'step' => '1',
|
185 |
-
'min' => '0',
|
186 |
-
'row_data'=> array(
|
187 |
-
'data-foogallery-hidden' => true,
|
188 |
-
'data-foogallery-change-selector' => 'input',
|
189 |
-
'data-foogallery-value-selector' => 'input',
|
190 |
-
'data-foogallery-show-when-field' => 'layout',
|
191 |
-
'data-foogallery-show-when-field-value' => 'fixed',
|
192 |
-
'data-foogallery-preview' => 'shortcode',
|
193 |
-
)
|
194 |
-
),
|
195 |
-
array(
|
196 |
-
'id' => 'gutter_percent',
|
197 |
-
'title' => __( 'Gutter Size', 'foogallery' ),
|
198 |
-
'desc' => __( 'Choose a gutter size when using responsive columns.', 'foogallery' ),
|
199 |
-
'section' => __( 'General', 'foogallery' ),
|
200 |
-
'type' => 'radio',
|
201 |
-
'choices' => array(
|
202 |
-
'fg-gutter-none' => __( 'No Gutter', 'foogallery' ),
|
203 |
-
'' => __( 'Normal Size Gutter', 'foogallery' ),
|
204 |
-
'fg-gutter-large' => __( 'Larger Gutter', 'foogallery' )
|
205 |
-
),
|
206 |
-
'default' => '',
|
207 |
-
'row_data'=> array(
|
208 |
-
'data-foogallery-hidden' => true,
|
209 |
-
'data-foogallery-change-selector' => 'input:radio',
|
210 |
-
'data-foogallery-value-selector' => 'input:checked',
|
211 |
-
'data-foogallery-show-when-field' => 'layout',
|
212 |
-
'data-foogallery-show-when-field-operator' => '!==',
|
213 |
-
'data-foogallery-show-when-field-value' => 'fixed',
|
214 |
-
'data-foogallery-preview' => 'shortcode'
|
215 |
-
)
|
216 |
-
),
|
217 |
-
array(
|
218 |
-
'id' => 'alignment',
|
219 |
-
'title' => __( 'Alignment', 'foogallery' ),
|
220 |
-
'desc' => __( 'You can choose to center align your images or leave them at the default (left). Only applicable when using a fixed layout!', 'foogallery' ),
|
221 |
-
'section' => __( 'General', 'foogallery' ),
|
222 |
-
'type' => 'radio',
|
223 |
-
'spacer' => '<span class="spacer"></span>',
|
224 |
-
'choices' => array(
|
225 |
-
'' => __( 'Left', 'foogallery' ),
|
226 |
-
'fg-center' => __( 'Center', 'foogallery' )
|
227 |
-
),
|
228 |
-
'default' => 'fg-center',
|
229 |
-
'row_data'=> array(
|
230 |
-
'data-foogallery-hidden' => true,
|
231 |
-
'data-foogallery-show-when-field' => 'layout',
|
232 |
-
'data-foogallery-show-when-field-value' => 'fixed',
|
233 |
-
'data-foogallery-change-selector' => 'input:radio',
|
234 |
-
'data-foogallery-preview' => 'shortcode'
|
235 |
-
)
|
236 |
-
),
|
237 |
-
array(
|
238 |
-
'id' => 'thumbnail_link',
|
239 |
-
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
240 |
-
'default' => 'image' ,
|
241 |
-
'type' => 'thumb_link',
|
242 |
-
'desc' => __( 'You can choose to link each thumbnail to the full size image, or to the image\'s attachment page, or you can choose to not link to anything', 'foogallery' ),
|
243 |
-
),
|
244 |
-
array(
|
245 |
-
'id' => 'lightbox',
|
246 |
-
'title' => __( 'Lightbox', 'foogallery' ),
|
247 |
-
'desc' => __( 'Choose which lightbox you want to display images with. The lightbox will only work if you set the thumbnail link to "Full Size Image"', 'foogallery' ),
|
248 |
-
'type' => 'lightbox',
|
249 |
-
'default' => 'none',
|
250 |
-
),
|
251 |
-
),
|
252 |
-
);
|
253 |
-
|
254 |
-
|
255 |
-
return $gallery_templates;
|
256 |
-
}
|
257 |
-
|
258 |
-
/**
|
259 |
-
* Enqueue scripts that the masonry gallery template relies on
|
260 |
-
*/
|
261 |
-
function enqueue_preview_dependencies() {
|
262 |
-
wp_enqueue_script( 'masonry' );
|
263 |
-
}
|
264 |
-
|
265 |
-
/**
|
266 |
-
* Enqueue scripts that the masonry gallery template relies on
|
267 |
-
*/
|
268 |
-
function enqueue_dependencies() {
|
269 |
-
wp_enqueue_script( 'masonry' );
|
270 |
-
|
271 |
-
//enqueue core files
|
272 |
-
foogallery_enqueue_core_gallery_template_style();
|
273 |
-
foogallery_enqueue_core_gallery_template_script( array('jquery', 'masonry' ) );
|
274 |
-
}
|
275 |
-
|
276 |
-
/**
|
277 |
-
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
278 |
-
*
|
279 |
-
* @param array $dimensions
|
280 |
-
* @param FooGallery $foogallery
|
281 |
-
*
|
282 |
-
* @return mixed
|
283 |
-
*/
|
284 |
-
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
285 |
-
$width = $foogallery->get_meta( 'masonry_thumbnail_width', false );
|
286 |
-
return array(
|
287 |
-
'height' => 0,
|
288 |
-
'width' => intval( $width ),
|
289 |
-
'crop' => false
|
290 |
-
);
|
291 |
-
}
|
292 |
-
|
293 |
-
/**
|
294 |
-
* Add the required masonry options if needed
|
295 |
-
*
|
296 |
-
* @param $options
|
297 |
-
* @param $gallery FooGallery
|
298 |
-
*
|
299 |
-
* @param $attributes array
|
300 |
-
*
|
301 |
-
* @return array
|
302 |
-
*/
|
303 |
-
function add_masonry_options($options, $gallery, $attributes) {
|
304 |
-
$layout = foogallery_gallery_template_setting( 'layout', 'fixed' );
|
305 |
-
if ( 'fixed' === $layout ) {
|
306 |
-
$width = foogallery_gallery_template_setting( 'thumbnail_width', '250' );
|
307 |
-
$gutter_width = foogallery_gallery_template_setting( 'gutter_width', '10' );
|
308 |
-
$options['template']['columnWidth'] = intval($width);
|
309 |
-
$options['template']['gutter'] = intval($gutter_width);
|
310 |
-
}
|
311 |
-
$horizontal = foogallery_gallery_template_setting( 'horizontal', '' );
|
312 |
-
if ( 'yes' === $horizontal ) {
|
313 |
-
$options['template']['horizontalOrder'] = true;
|
314 |
-
}
|
315 |
-
return $options;
|
316 |
-
}
|
317 |
-
|
318 |
-
/**
|
319 |
-
* Builds thumb dimensions from arguments
|
320 |
-
*
|
321 |
-
* @param array $dimensions
|
322 |
-
* @param array $arguments
|
323 |
-
*
|
324 |
-
* @return mixed
|
325 |
-
*/
|
326 |
-
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
327 |
-
if ( array_key_exists( 'thumbnail_width', $arguments) ) {
|
328 |
-
return array(
|
329 |
-
'height' => 0,
|
330 |
-
'width' => intval($arguments['thumbnail_width']),
|
331 |
-
'crop' => false
|
332 |
-
);
|
333 |
-
}
|
334 |
-
return null;
|
335 |
-
}
|
336 |
-
|
337 |
-
/**
|
338 |
-
* Build up the arguments needed for rendering this gallery template
|
339 |
-
*
|
340 |
-
* @param $args
|
341 |
-
* @return array
|
342 |
-
*/
|
343 |
-
function build_gallery_template_arguments( $args ) {
|
344 |
-
$args = array(
|
345 |
-
'width' => foogallery_gallery_template_setting( 'thumbnail_width', '250' ),
|
346 |
-
'link' => foogallery_gallery_template_setting( 'thumbnail_link', 'image' ),
|
347 |
-
'crop' => false
|
348 |
-
);
|
349 |
-
|
350 |
-
return $args;
|
351 |
-
}
|
352 |
-
|
353 |
-
/**
|
354 |
-
* Add masonry-specific fields to the gallery template
|
355 |
-
*
|
356 |
-
* @uses "foogallery_override_gallery_template_fields"
|
357 |
-
* @param $fields
|
358 |
-
* @param $template
|
359 |
-
*
|
360 |
-
* @return array
|
361 |
-
*/
|
362 |
-
function add_masonry_fields( $fields, $template ) {
|
363 |
-
//update specific fields
|
364 |
-
foreach ($fields as &$field) {
|
365 |
-
if ( 'hover_effect_caption_visibility' === $field['id'] ) {
|
366 |
-
//add a new choice for captions to show below the thumbs
|
367 |
-
$field['choices']['fg-captions-bottom'] = __( 'Below Thumbnail', 'foogallery' );
|
368 |
-
$field['default'] = 'fg-captions-bottom';
|
369 |
-
} else if ( 'theme' === $field['id'] ) {
|
370 |
-
$field['default'] = 'fg-dark';
|
371 |
-
$field['choices'] = array(
|
372 |
-
'fg-light' => __( 'Light', 'foogallery' ),
|
373 |
-
'fg-dark' => __( 'Dark', 'foogallery' ),
|
374 |
-
'fg-transparent' => __( 'Transparent', 'foogallery' ),
|
375 |
-
'fg-custom' => __( 'Custom', 'foogallery' )
|
376 |
-
);
|
377 |
-
} else if ( 'drop_shadow' === $field['id'] ) {
|
378 |
-
$field['default'] = 'fg-shadow-small';
|
379 |
-
} else if ( 'hover_effect_icon' === $field['id'] ) {
|
380 |
-
$field['default'] = 'fg-hover-plus';
|
381 |
-
}
|
382 |
-
}
|
383 |
-
|
384 |
-
return $fields;
|
385 |
-
}
|
386 |
-
|
387 |
-
function remove_captions( $captions, $foogallery_attachment, $args ) {
|
388 |
-
global $current_foogallery_template;
|
389 |
-
|
390 |
-
//check if masonry
|
391 |
-
if ( 'masonry' === $current_foogallery_template ) {
|
392 |
-
|
393 |
-
$hover_effect_caption_visibility = foogallery_gallery_template_setting( 'hover_effect_caption_visibility', 'fg-caption-hover' );
|
394 |
-
|
395 |
-
//check if captions are set to show below the thumbs
|
396 |
-
if ( 'fg-captions-bottom' === $hover_effect_caption_visibility ) {
|
397 |
-
//if we have no captions then do not output captions at all
|
398 |
-
if ( !array_key_exists( 'title', $captions ) && !array_key_exists( 'desc', $captions ) ) {
|
399 |
-
$captions = false;
|
400 |
-
}
|
401 |
-
}
|
402 |
-
}
|
403 |
-
|
404 |
-
return $captions;
|
405 |
-
}
|
406 |
-
}
|
407 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !class_exists( 'FooGallery_Masonry_Gallery_Template' ) ) {
|
4 |
+
|
5 |
+
define('FOOGALLERY_MASONRY_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ ));
|
6 |
+
|
7 |
+
class FooGallery_Masonry_Gallery_Template {
|
8 |
+
|
9 |
+
const template_id = 'masonry';
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Wire up everything we need to run the extension
|
13 |
+
*/
|
14 |
+
function __construct() {
|
15 |
+
add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) );
|
16 |
+
add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) );
|
17 |
+
|
18 |
+
add_action( 'foogallery_enqueue_preview_dependencies', array( $this, 'enqueue_preview_dependencies' ) );
|
19 |
+
|
20 |
+
add_filter( 'foogallery_located_template-masonry', array( $this, 'enqueue_dependencies' ) );
|
21 |
+
|
22 |
+
add_filter( 'foogallery_template_thumbnail_dimensions-masonry', array( $this, 'get_thumbnail_dimensions' ), 10, 2 );
|
23 |
+
|
24 |
+
//add the data options needed for masonry
|
25 |
+
add_filter( 'foogallery_build_container_data_options-masonry', array( $this, 'add_masonry_options' ), 10, 3 );
|
26 |
+
|
27 |
+
//build up the thumb dimensions from some arguments
|
28 |
+
add_filter( 'foogallery_calculate_thumbnail_dimensions-masonry', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 );
|
29 |
+
|
30 |
+
//build up the arguments needed for rendering this template
|
31 |
+
add_filter( 'foogallery_gallery_template_arguments-masonry', array( $this, 'build_gallery_template_arguments' ) );
|
32 |
+
|
33 |
+
//add extra fields to the templates
|
34 |
+
add_filter( 'foogallery_override_gallery_template_fields-masonry', array( $this, 'add_masonry_fields' ), 10, 2 );
|
35 |
+
|
36 |
+
//remove the captions if the captions are below thumbs
|
37 |
+
add_filter( 'foogallery_build_attachment_html_caption', array( $this, 'remove_captions' ), 10, 3 );
|
38 |
+
|
39 |
+
//add a style block for the gallery based on the field settings
|
40 |
+
add_action( 'foogallery_loaded_template_before', array( $this, 'add_style_block' ), 10, 1 );
|
41 |
+
|
42 |
+
add_filter( 'foogallery_build_class_attribute', array( $this, 'override_class_attributes' ), 99, 2 );
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Override the classes for the layout
|
47 |
+
*
|
48 |
+
* @param $classes array
|
49 |
+
* @param $gallery FooGallery
|
50 |
+
*
|
51 |
+
* @return array
|
52 |
+
*/
|
53 |
+
function override_class_attributes( $classes, $gallery ) {
|
54 |
+
if ( self::template_id === $gallery->gallery_template ) {
|
55 |
+
$classes[] = 'fg-' . foogallery_gallery_template_setting( 'layout', 'fixed' );
|
56 |
+
}
|
57 |
+
|
58 |
+
return $classes;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Add a style block based on the field settings
|
63 |
+
*
|
64 |
+
* @param $gallery FooGallery
|
65 |
+
*/
|
66 |
+
function add_style_block( $gallery ) {
|
67 |
+
if ( self::template_id !== $gallery->gallery_template ) {
|
68 |
+
return;
|
69 |
+
}
|
70 |
+
|
71 |
+
$id = $gallery->container_id();
|
72 |
+
$layout = foogallery_gallery_template_setting( 'layout', 'fixed' );
|
73 |
+
|
74 |
+
//get out early if the layout is not fixed
|
75 |
+
if ( 'fixed' !== $layout ) {
|
76 |
+
return;
|
77 |
+
}
|
78 |
+
|
79 |
+
$thumbnail_width = intval( foogallery_gallery_template_setting( 'thumbnail_width', 250 ) );
|
80 |
+
$gutter_width = intval( foogallery_gallery_template_setting( 'gutter_width', 10 ) );
|
81 |
+
|
82 |
+
?>
|
83 |
+
<style>
|
84 |
+
#<?php echo $id; ?>.fg-masonry .fg-item {
|
85 |
+
width: <?php echo $thumbnail_width; ?>px;
|
86 |
+
margin-right: <?php echo $gutter_width; ?>px;
|
87 |
+
margin-bottom: <?php echo $gutter_width; ?>px;
|
88 |
+
}
|
89 |
+
</style>
|
90 |
+
<?php
|
91 |
+
}
|
92 |
+
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Register myself so that all associated JS and CSS files can be found and automatically included
|
96 |
+
* @param $extensions
|
97 |
+
*
|
98 |
+
* @return array
|
99 |
+
*/
|
100 |
+
function register_myself( $extensions ) {
|
101 |
+
$extensions[] = __FILE__;
|
102 |
+
return $extensions;
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Add our gallery template to the list of templates available for every gallery
|
107 |
+
* @param $gallery_templates
|
108 |
+
*
|
109 |
+
* @return array
|
110 |
+
*/
|
111 |
+
function add_template( $gallery_templates ) {
|
112 |
+
$gallery_templates[] = array(
|
113 |
+
'slug' => self::template_id,
|
114 |
+
'name' => __( 'Masonry Image Gallery', 'foogallery' ),
|
115 |
+
'preview_support' => true,
|
116 |
+
'common_fields_support' => true,
|
117 |
+
'lazyload_support' => true,
|
118 |
+
'paging_support' => true,
|
119 |
+
'mandatory_classes' => 'fg-masonry',
|
120 |
+
'thumbnail_dimensions' => true,
|
121 |
+
'filtering_support' => true,
|
122 |
+
'fields' => array(
|
123 |
+
array(
|
124 |
+
'id' => 'thumbnail_width',
|
125 |
+
'title' => __( 'Thumb Width', 'foogallery' ),
|
126 |
+
'desc' => __( 'Choose the width of your thumbnails. Thumbnails will be generated on the fly and cached once generated', 'foogallery' ),
|
127 |
+
'section' => __( 'General', 'foogallery' ),
|
128 |
+
'type' => 'number',
|
129 |
+
'class' => 'small-text',
|
130 |
+
'default' => 250,
|
131 |
+
'step' => '1',
|
132 |
+
'min' => '0',
|
133 |
+
'row_data'=> array(
|
134 |
+
'data-foogallery-change-selector' => 'input',
|
135 |
+
'data-foogallery-preview' => 'shortcode'
|
136 |
+
)
|
137 |
+
),
|
138 |
+
array(
|
139 |
+
'id' => 'layout',
|
140 |
+
'title' => __( 'Masonry Layout', 'foogallery' ),
|
141 |
+
'desc' => __( 'Choose a fixed width thumb layout, or responsive columns.', 'foogallery' ),
|
142 |
+
'section' => __( 'General', 'foogallery' ),
|
143 |
+
'type' => 'radio',
|
144 |
+
'choices' => array(
|
145 |
+
'fixed' => __( 'Fixed Width', 'foogallery' ),
|
146 |
+
'col6' => __( '6 Columns', 'foogallery' ),
|
147 |
+
'col5' => __( '5 Columns', 'foogallery' ),
|
148 |
+
'col4' => __( '4 Columns', 'foogallery' ),
|
149 |
+
'col3' => __( '3 Columns', 'foogallery' ),
|
150 |
+
'col2' => __( '2 Columns', 'foogallery' ),
|
151 |
+
),
|
152 |
+
'default' => 'fixed',
|
153 |
+
'row_data'=> array(
|
154 |
+
'data-foogallery-change-selector' => 'input:radio',
|
155 |
+
'data-foogallery-value-selector' => 'input:checked',
|
156 |
+
'data-foogallery-preview' => 'shortcode'
|
157 |
+
)
|
158 |
+
),
|
159 |
+
array(
|
160 |
+
'id' => 'horizontal',
|
161 |
+
'title' => __( 'Horizontal Layout', 'foogallery' ),
|
162 |
+
'desc' => __( 'You can choose to lay out items to (mostly) maintain horizontal left-to-right order.', 'foogallery' ),
|
163 |
+
'section' => __( 'General', 'foogallery' ),
|
164 |
+
'type' => 'radio',
|
165 |
+
'choices' => array(
|
166 |
+
'' => __( 'Disabled', 'foogallery' ),
|
167 |
+
'yes' => __( 'Try to maintain lef-to-right order', 'foogallery' ),
|
168 |
+
),
|
169 |
+
'default' => '',
|
170 |
+
'row_data'=> array(
|
171 |
+
'data-foogallery-change-selector' => 'input:radio',
|
172 |
+
'data-foogallery-value-selector' => 'input:checked',
|
173 |
+
'data-foogallery-preview' => 'shortcode'
|
174 |
+
)
|
175 |
+
),
|
176 |
+
array(
|
177 |
+
'id' => 'gutter_width',
|
178 |
+
'title' => __( 'Gutter Width', 'foogallery' ),
|
179 |
+
'desc' => __( 'The spacing between your thumbnails. Only applicable when using a fixed layout!', 'foogallery' ),
|
180 |
+
'section' => __( 'General', 'foogallery' ),
|
181 |
+
'type' => 'number',
|
182 |
+
'class' => 'small-text',
|
183 |
+
'default' => 10,
|
184 |
+
'step' => '1',
|
185 |
+
'min' => '0',
|
186 |
+
'row_data'=> array(
|
187 |
+
'data-foogallery-hidden' => true,
|
188 |
+
'data-foogallery-change-selector' => 'input',
|
189 |
+
'data-foogallery-value-selector' => 'input',
|
190 |
+
'data-foogallery-show-when-field' => 'layout',
|
191 |
+
'data-foogallery-show-when-field-value' => 'fixed',
|
192 |
+
'data-foogallery-preview' => 'shortcode',
|
193 |
+
)
|
194 |
+
),
|
195 |
+
array(
|
196 |
+
'id' => 'gutter_percent',
|
197 |
+
'title' => __( 'Gutter Size', 'foogallery' ),
|
198 |
+
'desc' => __( 'Choose a gutter size when using responsive columns.', 'foogallery' ),
|
199 |
+
'section' => __( 'General', 'foogallery' ),
|
200 |
+
'type' => 'radio',
|
201 |
+
'choices' => array(
|
202 |
+
'fg-gutter-none' => __( 'No Gutter', 'foogallery' ),
|
203 |
+
'' => __( 'Normal Size Gutter', 'foogallery' ),
|
204 |
+
'fg-gutter-large' => __( 'Larger Gutter', 'foogallery' )
|
205 |
+
),
|
206 |
+
'default' => '',
|
207 |
+
'row_data'=> array(
|
208 |
+
'data-foogallery-hidden' => true,
|
209 |
+
'data-foogallery-change-selector' => 'input:radio',
|
210 |
+
'data-foogallery-value-selector' => 'input:checked',
|
211 |
+
'data-foogallery-show-when-field' => 'layout',
|
212 |
+
'data-foogallery-show-when-field-operator' => '!==',
|
213 |
+
'data-foogallery-show-when-field-value' => 'fixed',
|
214 |
+
'data-foogallery-preview' => 'shortcode'
|
215 |
+
)
|
216 |
+
),
|
217 |
+
array(
|
218 |
+
'id' => 'alignment',
|
219 |
+
'title' => __( 'Alignment', 'foogallery' ),
|
220 |
+
'desc' => __( 'You can choose to center align your images or leave them at the default (left). Only applicable when using a fixed layout!', 'foogallery' ),
|
221 |
+
'section' => __( 'General', 'foogallery' ),
|
222 |
+
'type' => 'radio',
|
223 |
+
'spacer' => '<span class="spacer"></span>',
|
224 |
+
'choices' => array(
|
225 |
+
'' => __( 'Left', 'foogallery' ),
|
226 |
+
'fg-center' => __( 'Center', 'foogallery' )
|
227 |
+
),
|
228 |
+
'default' => 'fg-center',
|
229 |
+
'row_data'=> array(
|
230 |
+
'data-foogallery-hidden' => true,
|
231 |
+
'data-foogallery-show-when-field' => 'layout',
|
232 |
+
'data-foogallery-show-when-field-value' => 'fixed',
|
233 |
+
'data-foogallery-change-selector' => 'input:radio',
|
234 |
+
'data-foogallery-preview' => 'shortcode'
|
235 |
+
)
|
236 |
+
),
|
237 |
+
array(
|
238 |
+
'id' => 'thumbnail_link',
|
239 |
+
'title' => __( 'Thumbnail Link', 'foogallery' ),
|
240 |
+
'default' => 'image' ,
|
241 |
+
'type' => 'thumb_link',
|
242 |
+
'desc' => __( 'You can choose to link each thumbnail to the full size image, or to the image\'s attachment page, or you can choose to not link to anything', 'foogallery' ),
|
243 |
+
),
|
244 |
+
array(
|
245 |
+
'id' => 'lightbox',
|
246 |
+
'title' => __( 'Lightbox', 'foogallery' ),
|
247 |
+
'desc' => __( 'Choose which lightbox you want to display images with. The lightbox will only work if you set the thumbnail link to "Full Size Image"', 'foogallery' ),
|
248 |
+
'type' => 'lightbox',
|
249 |
+
'default' => 'none',
|
250 |
+
),
|
251 |
+
),
|
252 |
+
);
|
253 |
+
|
254 |
+
|
255 |
+
return $gallery_templates;
|
256 |
+
}
|
257 |
+
|
258 |
+
/**
|
259 |
+
* Enqueue scripts that the masonry gallery template relies on
|
260 |
+
*/
|
261 |
+
function enqueue_preview_dependencies() {
|
262 |
+
wp_enqueue_script( 'masonry' );
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Enqueue scripts that the masonry gallery template relies on
|
267 |
+
*/
|
268 |
+
function enqueue_dependencies() {
|
269 |
+
wp_enqueue_script( 'masonry' );
|
270 |
+
|
271 |
+
//enqueue core files
|
272 |
+
foogallery_enqueue_core_gallery_template_style();
|
273 |
+
foogallery_enqueue_core_gallery_template_script( array('jquery', 'masonry' ) );
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Get the thumb dimensions arguments saved for the gallery for this gallery template
|
278 |
+
*
|
279 |
+
* @param array $dimensions
|
280 |
+
* @param FooGallery $foogallery
|
281 |
+
*
|
282 |
+
* @return mixed
|
283 |
+
*/
|
284 |
+
function get_thumbnail_dimensions( $dimensions, $foogallery ) {
|
285 |
+
$width = $foogallery->get_meta( 'masonry_thumbnail_width', false );
|
286 |
+
return array(
|
287 |
+
'height' => 0,
|
288 |
+
'width' => intval( $width ),
|
289 |
+
'crop' => false
|
290 |
+
);
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Add the required masonry options if needed
|
295 |
+
*
|
296 |
+
* @param $options
|
297 |
+
* @param $gallery FooGallery
|
298 |
+
*
|
299 |
+
* @param $attributes array
|
300 |
+
*
|
301 |
+
* @return array
|
302 |
+
*/
|
303 |
+
function add_masonry_options($options, $gallery, $attributes) {
|
304 |
+
$layout = foogallery_gallery_template_setting( 'layout', 'fixed' );
|
305 |
+
if ( 'fixed' === $layout ) {
|
306 |
+
$width = foogallery_gallery_template_setting( 'thumbnail_width', '250' );
|
307 |
+
$gutter_width = foogallery_gallery_template_setting( 'gutter_width', '10' );
|
308 |
+
$options['template']['columnWidth'] = intval($width);
|
309 |
+
$options['template']['gutter'] = intval($gutter_width);
|
310 |
+
}
|
311 |
+
$horizontal = foogallery_gallery_template_setting( 'horizontal', '' );
|
312 |
+
if ( 'yes' === $horizontal ) {
|
313 |
+
$options['template']['horizontalOrder'] = true;
|
314 |
+
}
|
315 |
+
return $options;
|
316 |
+
}
|
317 |
+
|
318 |
+
/**
|
319 |
+
* Builds thumb dimensions from arguments
|
320 |
+
*
|
321 |
+
* @param array $dimensions
|
322 |
+
* @param array $arguments
|
323 |
+
*
|
324 |
+
* @return mixed
|
325 |
+
*/
|
326 |
+
function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) {
|
327 |
+
if ( array_key_exists( 'thumbnail_width', $arguments) ) {
|
328 |
+
return array(
|
329 |
+
'height' => 0,
|
330 |
+
'width' => intval($arguments['thumbnail_width']),
|
331 |
+
'crop' => false
|
332 |
+
);
|
333 |
+
}
|
334 |
+
return null;
|
335 |
+
}
|
336 |
+
|
337 |
+
/**
|
338 |
+
* Build up the arguments needed for rendering this gallery template
|
339 |
+
*
|
340 |
+
* @param $args
|
341 |
+
* @return array
|
342 |
+
*/
|
343 |
+
function build_gallery_template_arguments( $args ) {
|
344 |
+
$args = array(
|
345 |
+
'width' => foogallery_gallery_template_setting( 'thumbnail_width', '250' ),
|
346 |
+
'link' => foogallery_gallery_template_setting( 'thumbnail_link', 'image' ),
|
347 |
+
'crop' => false
|
348 |
+
);
|
349 |
+
|
350 |
+
return $args;
|
351 |
+
}
|
352 |
+
|
353 |
+
/**
|
354 |
+
* Add masonry-specific fields to the gallery template
|
355 |
+
*
|
356 |
+
* @uses "foogallery_override_gallery_template_fields"
|
357 |
+
* @param $fields
|
358 |
+
* @param $template
|
359 |
+
*
|
360 |
+
* @return array
|
361 |
+
*/
|
362 |
+
function add_masonry_fields( $fields, $template ) {
|
363 |
+
//update specific fields
|
364 |
+
foreach ($fields as &$field) {
|
365 |
+
if ( 'hover_effect_caption_visibility' === $field['id'] ) {
|
366 |
+
//add a new choice for captions to show below the thumbs
|
367 |
+
$field['choices']['fg-captions-bottom'] = __( 'Below Thumbnail', 'foogallery' );
|
368 |
+
$field['default'] = 'fg-captions-bottom';
|
369 |
+
} else if ( 'theme' === $field['id'] ) {
|
370 |
+
$field['default'] = 'fg-dark';
|
371 |
+
$field['choices'] = array(
|
372 |
+
'fg-light' => __( 'Light', 'foogallery' ),
|
373 |
+
'fg-dark' => __( 'Dark', 'foogallery' ),
|
374 |
+
'fg-transparent' => __( 'Transparent', 'foogallery' ),
|
375 |
+
'fg-custom' => __( 'Custom', 'foogallery' )
|
376 |
+
);
|
377 |
+
} else if ( 'drop_shadow' === $field['id'] ) {
|
378 |
+
$field['default'] = 'fg-shadow-small';
|
379 |
+
} else if ( 'hover_effect_icon' === $field['id'] ) {
|
380 |
+
$field['default'] = 'fg-hover-plus';
|
381 |
+
}
|
382 |
+
}
|
383 |
+
|
384 |
+
return $fields;
|
385 |
+
}
|
386 |
+
|
387 |
+
function remove_captions( $captions, $foogallery_attachment, $args ) {
|
388 |
+
global $current_foogallery_template;
|
389 |
+
|
390 |
+
//check if masonry
|
391 |
+
if ( 'masonry' === $current_foogallery_template ) {
|
392 |
+
|
393 |
+
$hover_effect_caption_visibility = foogallery_gallery_template_setting( 'hover_effect_caption_visibility', 'fg-caption-hover' );
|
394 |
+
|
395 |
+
//check if captions are set to show below the thumbs
|
396 |
+
if ( 'fg-captions-bottom' === $hover_effect_caption_visibility ) {
|
397 |
+
//if we have no captions then do not output captions at all
|
398 |
+
if ( !array_key_exists( 'title', $captions ) && !array_key_exists( 'desc', $captions ) ) {
|
399 |
+
$captions = false;
|
400 |
+
}
|
401 |
+
}
|
402 |
+
}
|
403 |
+
|
404 |
+
return $captions;
|
405 |
+
}
|
406 |
+
}
|
407 |
}
|
extensions/default-templates/masonry/gallery-masonry.php
CHANGED
@@ -1,26 +1,26 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FooGallery masonry gallery template
|
4 |
-
*/
|
5 |
-
global $current_foogallery;
|
6 |
-
global $current_foogallery_arguments;
|
7 |
-
|
8 |
-
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
9 |
-
$alignment = foogallery_gallery_template_setting( 'alignment', 'fg-center' );
|
10 |
-
$layout = foogallery_gallery_template_setting( 'layout', 'fixed' );
|
11 |
-
$gutter_percent = '';
|
12 |
-
if ( 'fixed' !== $layout ) {
|
13 |
-
$gutter_percent = foogallery_gallery_template_setting( 'gutter_percent', '' );
|
14 |
-
}
|
15 |
-
$foogallery_masonry_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox, $alignment, $gutter_percent );
|
16 |
-
$foogallery_masonry_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_masonry_classes) );
|
17 |
-
?>
|
18 |
-
<div <?php echo $foogallery_masonry_attributes; ?>>
|
19 |
-
<?php if ( 'fixed' !== $layout ) { ?>
|
20 |
-
<div class="fg-column-width"></div>
|
21 |
-
<div class="fg-gutter-width"></div>
|
22 |
-
<?php } ?>
|
23 |
-
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
24 |
-
echo foogallery_attachment_html( $attachment );
|
25 |
-
} ?>
|
26 |
</div>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FooGallery masonry gallery template
|
4 |
+
*/
|
5 |
+
global $current_foogallery;
|
6 |
+
global $current_foogallery_arguments;
|
7 |
+
|
8 |
+
$lightbox = foogallery_gallery_template_setting( 'lightbox', 'unknown' );
|
9 |
+
$alignment = foogallery_gallery_template_setting( 'alignment', 'fg-center' );
|
10 |
+
$layout = foogallery_gallery_template_setting( 'layout', 'fixed' );
|
11 |
+
$gutter_percent = '';
|
12 |
+
if ( 'fixed' !== $layout ) {
|
13 |
+
$gutter_percent = foogallery_gallery_template_setting( 'gutter_percent', '' );
|
14 |
+
}
|
15 |
+
$foogallery_masonry_classes = foogallery_build_class_attribute_safe( $current_foogallery, 'foogallery-lightbox-' . $lightbox, $alignment, $gutter_percent );
|
16 |
+
$foogallery_masonry_attributes = foogallery_build_container_attributes_safe( $current_foogallery, array( 'class' => $foogallery_masonry_classes) );
|
17 |
+
?>
|
18 |
+
<div <?php echo $foogallery_masonry_attributes; ?>>
|
19 |
+
<?php if ( 'fixed' !== $layout ) { ?>
|
20 |
+
<div class="fg-column-width"></div>
|
21 |
+
<div class="fg-gutter-width"></div>
|
22 |
+
<?php } ?>
|
23 |
+
<?php foreach ( foogallery_current_gallery_attachments_for_rendering() as $attachment ) {
|
24 |
+
echo foogallery_attachment_html( $attachment );
|
25 |
+
} ?>
|
26 |
</div>
|
extensions/default-templates/masonry/js/admin-gallery-masonry.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1 |
-
(function (FOOGALLERY_MASONRY_TEMPLATE, $, undefined) {
|
2 |
-
|
3 |
-
FOOGALLERY_MASONRY_TEMPLATE.showHideControls = function() {
|
4 |
-
|
5 |
-
var layout = $('input[name="foogallery_settings[masonry_layout]"]:checked').val();
|
6 |
-
|
7 |
-
if ( layout === 'fixed' ) {
|
8 |
-
$('.gallery_template_field-masonry-gutter_width, .gallery_template_field-masonry-center_align').show();
|
9 |
-
$('.gallery_template_field-masonry-gutter_percent').hide();
|
10 |
-
} else {
|
11 |
-
$('.gallery_template_field-masonry-gutter_width, .gallery_template_field-masonry-center_align').hide();
|
12 |
-
$('.gallery_template_field-masonry-gutter_percent').show();
|
13 |
-
}
|
14 |
-
};
|
15 |
-
|
16 |
-
FOOGALLERY_MASONRY_TEMPLATE.adminReady = function () {
|
17 |
-
$('body').on('foogallery-gallery-template-changed-masonry', function() {
|
18 |
-
FOOGALLERY_MASONRY_TEMPLATE.showHideControls();
|
19 |
-
});
|
20 |
-
|
21 |
-
$('input[name="foogallery_settings[masonry_layout]"]').change(function() {
|
22 |
-
FOOGALLERY_MASONRY_TEMPLATE.showHideControls();
|
23 |
-
});
|
24 |
-
};
|
25 |
-
|
26 |
-
}(window.FOOGALLERY_MASONRY_TEMPLATE = window.FOOGALLERY_MASONRY_TEMPLATE || {}, jQuery));
|
27 |
-
|
28 |
-
jQuery(function () {
|
29 |
-
FOOGALLERY_MASONRY_TEMPLATE.adminReady();
|
30 |
});
|
1 |
+
(function (FOOGALLERY_MASONRY_TEMPLATE, $, undefined) {
|
2 |
+
|
3 |
+
FOOGALLERY_MASONRY_TEMPLATE.showHideControls = function() {
|
4 |
+
|
5 |
+
var layout = $('input[name="foogallery_settings[masonry_layout]"]:checked').val();
|
6 |
+
|
7 |
+
if ( layout === 'fixed' ) {
|
8 |
+
$('.gallery_template_field-masonry-gutter_width, .gallery_template_field-masonry-center_align').show();
|
9 |
+
$('.gallery_template_field-masonry-gutter_percent').hide();
|
10 |
+
} else {
|
11 |
+
$('.gallery_template_field-masonry-gutter_width, .gallery_template_field-masonry-center_align').hide();
|
12 |
+
$('.gallery_template_field-masonry-gutter_percent').show();
|
13 |
+
}
|
14 |
+
};
|
15 |
+
|
16 |
+
FOOGALLERY_MASONRY_TEMPLATE.adminReady = function () {
|
17 |
+
$('body').on('foogallery-gallery-template-changed-masonry', function() {
|
18 |
+
FOOGALLERY_MASONRY_TEMPLATE.showHideControls();
|
19 |
+
});
|
20 |
+
|
21 |
+
$('input[name="foogallery_settings[masonry_layout]"]').change(function() {
|
22 |
+
FOOGALLERY_MASONRY_TEMPLATE.showHideControls();
|
23 |
+
});
|
24 |
+
};
|
25 |
+
|
26 |
+
}(window.FOOGALLERY_MASONRY_TEMPLATE = window.FOOGALLERY_MASONRY_TEMPLATE || {}, jQuery));
|
27 |
+
|
28 |
+
jQuery(function () {
|
29 |
+
FOOGALLERY_MASONRY_TEMPLATE.adminReady();
|
30 |
});
|
extensions/default-templates/shared/css/admin-foogallery.css
CHANGED
@@ -1,87 +1,87 @@
|
|
1 |
-
.foogallery-setting-caption_icon,
|
2 |
-
.foogallery-setting-loading_icon,
|
3 |
-
.foogallery-setting-video_overlay,
|
4 |
-
.foogallery-setting-panel_theme {
|
5 |
-
content: "";
|
6 |
-
display: inline-block;
|
7 |
-
position: relative;
|
8 |
-
width: 32px;
|
9 |
-
height: 32px;
|
10 |
-
margin: 0;
|
11 |
-
background: transparent no-repeat center center;
|
12 |
-
background-size: 32px 32px;
|
13 |
-
vertical-align: middle;
|
14 |
-
}
|
15 |
-
.foogallery-setting-caption_icon.fg-hover-zoom {
|
16 |
-
background-image: url('../img/icons.svg#zoom-light');
|
17 |
-
}
|
18 |
-
.foogallery-setting-caption_icon.fg-hover-zoom2 {
|
19 |
-
background-image: url('../img/icons.svg#zoom2-light');
|
20 |
-
}
|
21 |
-
.foogallery-setting-caption_icon.fg-hover-zoom3 {
|
22 |
-
background-image: url('../img/icons.svg#zoom3-light');
|
23 |
-
}
|
24 |
-
.foogallery-setting-caption_icon.fg-hover-plus {
|
25 |
-
background-image: url('../img/icons.svg#plus-light');
|
26 |
-
}
|
27 |
-
.foogallery-setting-caption_icon.fg-hover-circle-plus {
|
28 |
-
background-image: url('../img/icons.svg#circle-plus-light');
|
29 |
-
}
|
30 |
-
.foogallery-setting-caption_icon.fg-hover-eye {
|
31 |
-
background-image: url('../img/icons.svg#eye-light');
|
32 |
-
}
|
33 |
-
.foogallery-setting-caption_icon.fg-hover-external {
|
34 |
-
background-image: url('../img/icons.svg#external-light');
|
35 |
-
}
|
36 |
-
.foogallery-setting-video_overlay.fg-video-default {
|
37 |
-
background-image: url('../img/icons.svg#video-default-light');
|
38 |
-
}
|
39 |
-
.foogallery-setting-video_overlay.fg-video-1 {
|
40 |
-
background-image: url('../img/icons.svg#video-1-light');
|
41 |
-
}
|
42 |
-
.foogallery-setting-video_overlay.fg-video-2 {
|
43 |
-
background-image: url('../img/icons.svg#video-2-light');
|
44 |
-
}
|
45 |
-
.foogallery-setting-video_overlay.fg-video-3 {
|
46 |
-
background-image: url('../img/icons.svg#video-3-light');
|
47 |
-
}
|
48 |
-
.foogallery-setting-video_overlay.fg-video-4 {
|
49 |
-
background-image: url('../img/icons.svg#video-4-light');
|
50 |
-
}
|
51 |
-
.foogallery-setting-caption_icon.fg-hover-cart {
|
52 |
-
background-image: url('../img/icons.svg#cart-light');
|
53 |
-
}
|
54 |
-
|
55 |
-
.foogallery_template_field_type-htmlicon.foogallery_template_field_id-loading_icon td label {
|
56 |
-
background-color: #eee;
|
57 |
-
}
|
58 |
-
|
59 |
-
.foogallery_template_field_type-htmlicon.foogallery_template_field_id-loading_icon td input:checked + label {
|
60 |
-
background-color: #eee;
|
61 |
-
}
|
62 |
-
|
63 |
-
.fg-item-inner {
|
64 |
-
margin: 0;
|
65 |
-
}
|
66 |
-
|
67 |
-
.foogallery-setting-panel_theme.fg-light {
|
68 |
-
background-color: #fff;
|
69 |
-
}
|
70 |
-
.foogallery-setting-panel_theme.fg-dark {
|
71 |
-
background-color: #292929;
|
72 |
-
}
|
73 |
-
.foogallery-setting-panel_theme.fg-blue {
|
74 |
-
background-color: #3079ed;
|
75 |
-
}
|
76 |
-
.foogallery-setting-panel_theme.fg-purple {
|
77 |
-
background-color: #6816c2;
|
78 |
-
}
|
79 |
-
.foogallery-setting-panel_theme.fg-green {
|
80 |
-
background-color: #027339;
|
81 |
-
}
|
82 |
-
.foogallery-setting-panel_theme.fg-red {
|
83 |
-
background-color: #c22b24;
|
84 |
-
}
|
85 |
-
.foogallery-setting-panel_theme.fg-orange {
|
86 |
-
background-color: #e57731;
|
87 |
}
|
1 |
+
.foogallery-setting-caption_icon,
|
2 |
+
.foogallery-setting-loading_icon,
|
3 |
+
.foogallery-setting-video_overlay,
|
4 |
+
.foogallery-setting-panel_theme {
|
5 |
+
content: "";
|
6 |
+
display: inline-block;
|
7 |
+
position: relative;
|
8 |
+
width: 32px;
|
9 |
+
height: 32px;
|
10 |
+
margin: 0;
|
11 |
+
background: transparent no-repeat center center;
|
12 |
+
background-size: 32px 32px;
|
13 |
+
vertical-align: middle;
|
14 |
+
}
|
15 |
+
.foogallery-setting-caption_icon.fg-hover-zoom {
|
16 |
+
background-image: url('../img/icons.svg#zoom-light');
|
17 |
+
}
|
18 |
+
.foogallery-setting-caption_icon.fg-hover-zoom2 {
|
19 |
+
background-image: url('../img/icons.svg#zoom2-light');
|
20 |
+
}
|
21 |
+
.foogallery-setting-caption_icon.fg-hover-zoom3 {
|
22 |
+
background-image: url('../img/icons.svg#zoom3-light');
|
23 |
+
}
|
24 |
+
.foogallery-setting-caption_icon.fg-hover-plus {
|
25 |
+
background-image: url('../img/icons.svg#plus-light');
|
26 |
+
}
|
27 |
+
.foogallery-setting-caption_icon.fg-hover-circle-plus {
|
28 |
+
background-image: url('../img/icons.svg#circle-plus-light');
|
29 |
+
}
|
30 |
+
.foogallery-setting-caption_icon.fg-hover-eye {
|
31 |
+
background-image: url('../img/icons.svg#eye-light');
|
32 |
+
}
|
33 |
+
.foogallery-setting-caption_icon.fg-hover-external {
|
34 |
+
background-image: url('../img/icons.svg#external-light');
|
35 |
+
}
|
36 |
+
.foogallery-setting-video_overlay.fg-video-default {
|
37 |
+
background-image: url('../img/icons.svg#video-default-light');
|
38 |
+
}
|
39 |
+
.foogallery-setting-video_overlay.fg-video-1 {
|
40 |
+
background-image: url('../img/icons.svg#video-1-light');
|
41 |
+
}
|
42 |
+
.foogallery-setting-video_overlay.fg-video-2 {
|
43 |
+
background-image: url('../img/icons.svg#video-2-light');
|
44 |
+
}
|
45 |
+
.foogallery-setting-video_overlay.fg-video-3 {
|
46 |
+
background-image: url('../img/icons.svg#video-3-light');
|
47 |
+
}
|
48 |
+
.foogallery-setting-video_overlay.fg-video-4 {
|
49 |
+
background-image: url('../img/icons.svg#video-4-light');
|
50 |
+
}
|
51 |
+
.foogallery-setting-caption_icon.fg-hover-cart {
|
52 |
+
background-image: url('../img/icons.svg#cart-light');
|
53 |
+
}
|
54 |
+
|
55 |
+
.foogallery_template_field_type-htmlicon.foogallery_template_field_id-loading_icon td label {
|
56 |
+
background-color: #eee;
|
57 |
+
}
|
58 |
+
|
59 |
+
.foogallery_template_field_type-htmlicon.foogallery_template_field_id-loading_icon td input:checked + label {
|
60 |
+
background-color: #eee;
|
61 |
+
}
|
62 |
+
|
63 |
+
.fg-item-inner {
|
64 |
+
margin: 0;
|
65 |
+
}
|
66 |
+
|
67 |
+
.foogallery-setting-panel_theme.fg-light {
|
68 |
+
background-color: #fff;
|
69 |
+
}
|
70 |
+
.foogallery-setting-panel_theme.fg-dark {
|
71 |
+
background-color: #292929;
|
72 |
+
}
|
73 |
+
.foogallery-setting-panel_theme.fg-blue {
|
74 |
+
background-color: #3079ed;
|
75 |
+
}
|
76 |
+
.foogallery-setting-panel_theme.fg-purple {
|
77 |
+
background-color: #6816c2;
|
78 |
+
}
|
79 |
+
.foogallery-setting-panel_theme.fg-green {
|
80 |
+
background-color: #027339;
|
81 |
+
}
|
82 |
+
.foogallery-setting-panel_theme.fg-red {
|
83 |
+
background-color: #c22b24;
|
84 |
+
}
|
85 |
+
.foogallery-setting-panel_theme.fg-orange {
|
86 |
+
background-color: #e57731;
|
87 |
}
|
extensions/default-templates/shared/css/foogallery.css
CHANGED
@@ -1,3479 +1,3642 @@
|
|
1 |
-
.foogallery, .foogallery * {
|
2 |
-
box-sizing: border-box;
|
3 |
-
}
|
4 |
-
.foogallery {
|
5 |
-
display: block;
|
6 |
-
z-index: 1;
|
7 |
-
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
8 |
-
position: relative;
|
9 |
-
line-height: 0;
|
10 |
-
font-size: 0;
|
11 |
-
width: 100%;
|
12 |
-
max-width: 100%;
|
13 |
-
}
|
14 |
-
.foogallery .fg-item {
|
15 |
-
display: inline-block;
|
16 |
-
position: relative;
|
17 |
-
background-color: transparent;
|
18 |
-
z-index: 2;
|
19 |
-
-webkit-user-select: none;
|
20 |
-
-moz-user-select: none;
|
21 |
-
-ms-user-select: none;
|
22 |
-
user-select: none;
|
23 |
-
}
|
24 |
-
.foogallery .fg-item.fg-hidden {
|
25 |
-
display: none!important;
|
26 |
-
}
|
27 |
-
.foogallery .fg-item-inner {
|
28 |
-
display: block;
|
29 |
-
position: relative;
|
30 |
-
visibility: hidden;
|
31 |
-
overflow: hidden;
|
32 |
-
opacity: 0;
|
33 |
-
z-index: 3;
|
34 |
-
margin: 0;
|
35 |
-
border: solid 0 transparent;
|
36 |
-
}
|
37 |
-
|
38 |
-
.foogallery .fg-item.fg-error:before {
|
39 |
-
content: "";
|
40 |
-
display: block;
|
41 |
-
position: absolute;
|
42 |
-
top: 50%;
|
43 |
-
left: 50%;
|
44 |
-
transform: translateX(-50%) translateY(-50%);
|
45 |
-
width: 32px;
|
46 |
-
height: 32px;
|
47 |
-
background-image: url('../img/icons.svg#image');
|
48 |
-
background-color: transparent;
|
49 |
-
background-repeat: no-repeat;
|
50 |
-
background-position: center center;
|
51 |
-
background-size: 32px 32px;
|
52 |
-
}
|
53 |
-
|
54 |
-
.foogallery .fg-item.fg-loaded {
|
55 |
-
z-index: 4;
|
56 |
-
}
|
57 |
-
.foogallery .fg-loaded .fg-item-inner {
|
58 |
-
visibility: visible;
|
59 |
-
opacity: 1;
|
60 |
-
z-index: 5;
|
61 |
-
}
|
62 |
-
.foogallery .fg-error .fg-item-inner {
|
63 |
-
pointer-events: none;
|
64 |
-
cursor: default;
|
65 |
-
}
|
66 |
-
.foogallery .fg-thumb {
|
67 |
-
display: block;
|
68 |
-
position: relative;
|
69 |
-
border: none;
|
70 |
-
outline: 0;
|
71 |
-
text-decoration: none;
|
72 |
-
z-index: 4;
|
73 |
-
box-shadow: none;
|
74 |
-
}
|
75 |
-
.foogallery .fg-thumb:hover,
|
76 |
-
.foogallery .fg-thumb:focus {
|
77 |
-
border: none;
|
78 |
-
outline: 0;
|
79 |
-
text-decoration: none;
|
80 |
-
box-shadow: none;
|
81 |
-
}
|
82 |
-
.foogallery .fg-image-overlay {
|
83 |
-
position: absolute;
|
84 |
-
top: 0;
|
85 |
-
right: 0;
|
86 |
-
bottom: 0;
|
87 |
-
left: 0;
|
88 |
-
z-index: 8;
|
89 |
-
visibility: hidden;
|
90 |
-
opacity: 0;
|
91 |
-
}
|
92 |
-
.foogallery .fg-image-wrap {
|
93 |
-
display: block;
|
94 |
-
position: relative;
|
95 |
-
}
|
96 |
-
.foogallery .fg-image {
|
97 |
-
display: block;
|
98 |
-
position: relative;
|
99 |
-
border: none;
|
100 |
-
outline: 0;
|
101 |
-
text-decoration: none;
|
102 |
-
z-index: 5;
|
103 |
-
max-width: 100%;
|
104 |
-
height: auto;
|
105 |
-
margin: 0;
|
106 |
-
width: auto;
|
107 |
-
}
|
108 |
-
.foogallery picture.fg-image > img {
|
109 |
-
display: block;
|
110 |
-
position: relative;
|
111 |
-
border: none;
|
112 |
-
outline: 0;
|
113 |
-
text-decoration: none;
|
114 |
-
max-width: 100%;
|
115 |
-
height: auto;
|
116 |
-
margin: 0;
|
117 |
-
width: auto;
|
118 |
-
}
|
119 |
-
.foogallery .fg-loaded .fg-thumb {
|
120 |
-
z-index: 6;
|
121 |
-
}
|
122 |
-
.foogallery .fg-loaded .fg-image {
|
123 |
-
z-index: 7;
|
124 |
-
}
|
125 |
-
|
126 |
-
/* Utility */
|
127 |
-
.fg-sr-only {
|
128 |
-
position: absolute;
|
129 |
-
width: 1px;
|
130 |
-
height: 1px;
|
131 |
-
padding: 0;
|
132 |
-
margin: -1px;
|
133 |
-
overflow: hidden;
|
134 |
-
clip: rect(0,0,0,0);
|
135 |
-
border: 0;
|
136 |
-
}
|
137 |
-
/* Item Style */
|
138 |
-
.foogallery.fg-light .fg-item-inner {
|
139 |
-
background-color: #FFF;
|
140 |
-
color: #333;
|
141 |
-
border-color: #FFF;
|
142 |
-
}
|
143 |
-
.foogallery.fg-dark .fg-item-inner {
|
144 |
-
background-color: #333;
|
145 |
-
color: #FFF;
|
146 |
-
border-color: #333;
|
147 |
-
}
|
148 |
-
/* Idle / Loading / Error Style */
|
149 |
-
.foogallery.fg-light .fg-item.fg-idle,
|
150 |
-
.foogallery.fg-light .fg-item.fg-loading,
|
151 |
-
.foogallery.fg-light .fg-item.fg-error {
|
152 |
-
background-color: #eee;
|
153 |
-
box-shadow: inset 0 0 0 1px #ddd;
|
154 |
-
}
|
155 |
-
.foogallery.fg-dark .fg-item.fg-idle,
|
156 |
-
.foogallery.fg-dark .fg-item.fg-loading,
|
157 |
-
.foogallery.fg-dark .fg-item.fg-error {
|
158 |
-
background-color: #444;
|
159 |
-
box-shadow: inset 0 0 0 1px #333;
|
160 |
-
}
|
161 |
-
/* Caption & Overlay Colors */
|
162 |
-
.foogallery .fg-caption {
|
163 |
-
background-color: rgba(0,0,0,0.6);
|
164 |
-
color: #fff;
|
165 |
-
}
|
166 |
-
.foogallery .fg-caption a {
|
167 |
-
color: #fff;
|
168 |
-
border-bottom: 1px solid #FFF;
|
169 |
-
}
|
170 |
-
.foogallery.fg-light-overlays .fg-caption {
|
171 |
-
background-color: rgba(255,255,255,0.8);
|
172 |
-
color: #333;
|
173 |
-
}
|
174 |
-
.foogallery.fg-light-overlays .fg-caption a {
|
175 |
-
color: #333;
|
176 |
-
border-bottom-color: #333;
|
177 |
-
}
|
178 |
-
.foogallery.fg-transparent-overlays .fg-caption {
|
179 |
-
background-color: transparent;
|
180 |
-
color: #fff;
|
181 |
-
}
|
182 |
-
.foogallery.fg-transparent-overlays .fg-caption a {
|
183 |
-
color: #fff;
|
184 |
-
border-bottom-color: #fff;
|
185 |
-
}
|
186 |
-
|
187 |
-
.foogallery .fg-image-overlay {
|
188 |
-
background-color: rgba(0,0,0,0.6);
|
189 |
-
color: #fff;
|
190 |
-
}
|
191 |
-
.foogallery.fg-light-overlays .fg-image-overlay {
|
192 |
-
background-color: rgba(255,255,255,0.8);
|
193 |
-
color: #333;
|
194 |
-
}
|
195 |
-
.foogallery.fg-transparent-overlays .fg-image-overlay {
|
196 |
-
background-color: transparent;
|
197 |
-
color: #fff;
|
198 |
-
}
|
199 |
-
/* Colors */
|
200 |
-
.fg-exif-light .fg-item.fg-item-exif .fg-image-wrap:after {
|
201 |
-
background-color: #FFF;
|
202 |
-
color: #333;
|
203 |
-
}
|
204 |
-
.fg-exif-dark .fg-item.fg-item-exif .fg-image-wrap:after {
|
205 |
-
background-color: #333;
|
206 |
-
color: #FFF;
|
207 |
-
}
|
208 |
-
|
209 |
-
/* Rounded Corners */
|
210 |
-
.fg-exif-rounded .fg-item.fg-item-exif .fg-image-wrap:after {
|
211 |
-
border-radius: 3px;
|
212 |
-
}
|
213 |
-
|
214 |
-
/* Positions ~ Top, Right, Bottom & Left */
|
215 |
-
.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after,
|
216 |
-
.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after,
|
217 |
-
.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after,
|
218 |
-
.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after {
|
219 |
-
display: inline-block;
|
220 |
-
position: absolute;
|
221 |
-
content: 'EXIF';
|
222 |
-
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
223 |
-
font-size: 11px;
|
224 |
-
line-height: 10px;
|
225 |
-
padding: 3px 4px;
|
226 |
-
z-index: 7;
|
227 |
-
}
|
228 |
-
.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after {
|
229 |
-
bottom: 5px;
|
230 |
-
right: 5px;
|
231 |
-
}
|
232 |
-
.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after {
|
233 |
-
bottom: 5px;
|
234 |
-
left: 5px;
|
235 |
-
}
|
236 |
-
.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after {
|
237 |
-
top: 5px;
|
238 |
-
right: 5px;
|
239 |
-
}
|
240 |
-
.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after {
|
241 |
-
top: 5px;
|
242 |
-
left: 5px;
|
243 |
-
}
|
244 |
-
/* Border Size */
|
245 |
-
.foogallery.fg-border-thin .fg-item-inner {
|
246 |
-
border-width: 4px;
|
247 |
-
}
|
248 |
-
.foogallery.fg-border-medium .fg-item-inner {
|
249 |
-
border-width: 10px;
|
250 |
-
}
|
251 |
-
.foogallery.fg-border-thick .fg-item-inner {
|
252 |
-
border-width: 16px;
|
253 |
-
}
|
254 |
-
/* Drop Shadows */
|
255 |
-
.foogallery.fg-light.fg-shadow-outline .fg-item-inner {
|
256 |
-
box-shadow: 0 0 0 1px #ddd;
|
257 |
-
}
|
258 |
-
.foogallery.fg-dark.fg-shadow-outline .fg-item-inner {
|
259 |
-
box-shadow: 0 0 0 1px #222;
|
260 |
-
}
|
261 |
-
.foogallery.fg-light.fg-shadow-small .fg-item-inner,
|
262 |
-
.foogallery.fg-dark.fg-shadow-small .fg-item-inner {
|
263 |
-
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);
|
264 |
-
}
|
265 |
-
.foogallery.fg-light.fg-shadow-medium .fg-item-inner,
|
266 |
-
.foogallery.fg-dark.fg-shadow-medium .fg-item-inner {
|
267 |
-
box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.5);
|
268 |
-
}
|
269 |
-
.foogallery.fg-light.fg-shadow-large .fg-item-inner,
|
270 |
-
.foogallery.fg-dark.fg-shadow-large .fg-item-inner {
|
271 |
-
box-shadow: 0 1px 16px 0 rgba(0, 0, 0, 0.5);
|
272 |
-
}
|
273 |
-
/* Inset Shadows */
|
274 |
-
.foogallery.fg-shadow-inset-small .fg-thumb:after,
|
275 |
-
.foogallery.fg-shadow-inset-medium .fg-thumb:after,
|
276 |
-
.foogallery.fg-shadow-inset-large .fg-thumb:after {
|
277 |
-
display: block;
|
278 |
-
content: "";
|
279 |
-
position: absolute;
|
280 |
-
top: 0;
|
281 |
-
left: 0;
|
282 |
-
right: 0;
|
283 |
-
bottom: 0;
|
284 |
-
z-index: 7;
|
285 |
-
}
|
286 |
-
.foogallery.fg-light.fg-shadow-inset-small .fg-thumb:after,
|
287 |
-
.foogallery.fg-dark.fg-shadow-inset-small .fg-thumb:after {
|
288 |
-
box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.3);
|
289 |
-
}
|
290 |
-
.foogallery.fg-light.fg-shadow-inset-medium .fg-thumb:after,
|
291 |
-
.foogallery.fg-dark.fg-shadow-inset-medium .fg-thumb:after {
|
292 |
-
box-shadow: inset 0 1px 10px 0 rgba(0,0,0,0.3);
|
293 |
-
}
|
294 |
-
.foogallery.fg-light.fg-shadow-inset-large .fg-thumb:after,
|
295 |
-
.foogallery.fg-dark.fg-shadow-inset-large .fg-thumb:after {
|
296 |
-
box-shadow: inset 0 1px 16px 0 rgba(0,0,0,0.3);
|
297 |
-
}
|
298 |
-
|
299 |
-
.foogallery.fg-round-full.fg-shadow-inset-small .fg-thumb:after,
|
300 |
-
.foogallery.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,
|
301 |
-
.foogallery.fg-round-full.fg-shadow-inset-large .fg-thumb:after {
|
302 |
-
border-radius: 50%;
|
303 |
-
}
|
304 |
-
/* Rounded Corners */
|
305 |
-
.foogallery.fg-round-small .fg-item,
|
306 |
-
.foogallery.fg-round-small .fg-item-inner {
|
307 |
-
border-radius: 5px;
|
308 |
-
}
|
309 |
-
.foogallery.fg-round-medium .fg-item,
|
310 |
-
.foogallery.fg-round-medium .fg-item-inner {
|
311 |
-
border-radius: 10px;
|
312 |
-
}
|
313 |
-
.foogallery.fg-round-large .fg-item,
|
314 |
-
.foogallery.fg-round-large .fg-item-inner {
|
315 |
-
border-radius: 15px;
|
316 |
-
}
|
317 |
-
.foogallery.fg-round-full .fg-item,
|
318 |
-
.foogallery.fg-round-full .fg-item-inner {
|
319 |
-
border-radius: 50%;
|
320 |
-
}
|
321 |
-
/* Loader Styles */
|
322 |
-
.foogallery .fg-loader {
|
323 |
-
position: absolute;
|
324 |
-
top: 50%;
|
325 |
-
left: 50%;
|
326 |
-
margin-top: -0.5em;
|
327 |
-
margin-left: -0.5em;
|
328 |
-
width: 1em;
|
329 |
-
height: 1em;
|
330 |
-
font-size: 5px;
|
331 |
-
visibility: hidden;
|
332 |
-
opacity: 0;
|
333 |
-
pointer-events: none;
|
334 |
-
}
|
335 |
-
|
336 |
-
.foogallery .fg-loading .fg-loader {
|
337 |
-
visibility: visible;
|
338 |
-
opacity: 1;
|
339 |
-
}
|
340 |
-
.fg-loading-default .fg-loader {
|
341 |
-
border-radius: 50%;
|
342 |
-
text-indent: -9999em;
|
343 |
-
box-shadow: 0 -2.6em 0 0 rgba(130, 130, 130, 1),
|
344 |
-
1.8em -1.8em 0 0 rgba(130, 130, 130, 0.2),
|
345 |
-
2.5em 0 0 0 rgba(130, 130, 130, 0.2),
|
346 |
-
1.75em 1.75em 0 0 rgba(130, 130, 130, 0.2),
|
347 |
-
0 2.5em 0 0 rgba(130, 130, 130, 0.2),
|
348 |
-
-1.8em 1.8em 0 0 rgba(130, 130, 130, 0.2),
|
349 |
-
-2.6em 0 0 0 rgba(130, 130, 130, 0.5),
|
350 |
-
-1.8em -1.8em 0 0 rgba(130, 130, 130, 0.7);
|
351 |
-
-webkit-animation: loading-default 1.1s infinite paused steps(8, start);
|
352 |
-
animation: loading-default 1.1s infinite paused steps(8, start);
|
353 |
-
}
|
354 |
-
.fg-loading-default .fg-loading .fg-loader {
|
355 |
-
-webkit-animation-play-state: running;
|
356 |
-
animation-play-state: running;
|
357 |
-
}
|
358 |
-
|
359 |
-
@-webkit-keyframes loading-default {
|
360 |
-
0% {
|
361 |
-
transform: rotate(0deg);
|
362 |
-
}
|
363 |
-
100% {
|
364 |
-
transform: rotate(360deg);
|
365 |
-
}
|
366 |
-
}
|
367 |
-
|
368 |
-
@keyframes loading-default {
|
369 |
-
0% {
|
370 |
-
transform: rotate(0deg);
|
371 |
-
}
|
372 |
-
100% {
|
373 |
-
transform: rotate(360deg);
|
374 |
-
}
|
375 |
-
}
|
376 |
-
.fg-loading-bars .fg-loader,
|
377 |
-
.fg-loading-bars .fg-loader:before,
|
378 |
-
.fg-loading-bars .fg-loader:after {
|
379 |
-
background: rgba(130, 130, 130, 1);
|
380 |
-
width: 1em;
|
381 |
-
height: 4em;
|
382 |
-
-webkit-animation: loading-bars 1s infinite paused ease-in-out;
|
383 |
-
animation: loading-bars 1s infinite paused ease-in-out;
|
384 |
-
}
|
385 |
-
.fg-loading-bars .fg-loading .fg-loader,
|
386 |
-
.fg-loading-bars .fg-loading .fg-loader:before,
|
387 |
-
.fg-loading-bars .fg-loading .fg-loader:after {
|
388 |
-
-webkit-animation-play-state: running;
|
389 |
-
animation-play-state: running;
|
390 |
-
}
|
391 |
-
.fg-loading-bars .fg-loader {
|
392 |
-
color: rgba(130, 130, 130, 1);
|
393 |
-
text-indent: -9999em;
|
394 |
-
font-size: 4px;
|
395 |
-
margin-top: -2em;
|
396 |
-
margin-left: -0.5em;
|
397 |
-
-webkit-animation-delay: -0.16s;
|
398 |
-
animation-delay: -0.16s;
|
399 |
-
}
|
400 |
-
.fg-loading-bars .fg-loader:before,
|
401 |
-
.fg-loading-bars .fg-loader:after {
|
402 |
-
position: absolute;
|
403 |
-
top: 0;
|
404 |
-
content: '';
|
405 |
-
}
|
406 |
-
.fg-loading-bars .fg-loader:before {
|
407 |
-
left: -1.5em;
|
408 |
-
-webkit-animation-delay: -0.32s;
|
409 |
-
animation-delay: -0.32s;
|
410 |
-
}
|
411 |
-
.fg-loading-bars .fg-loader:after {
|
412 |
-
left: 1.5em;
|
413 |
-
}
|
414 |
-
@-webkit-keyframes loading-bars {
|
415 |
-
0%,
|
416 |
-
80%,
|
417 |
-
100% {
|
418 |
-
box-shadow: 0 0;
|
419 |
-
height: 4em;
|
420 |
-
}
|
421 |
-
40% {
|
422 |
-
box-shadow: 0 -2em;
|
423 |
-
height: 5em;
|
424 |
-
}
|
425 |
-
}
|
426 |
-
@keyframes loading-bars {
|
427 |
-
0%,
|
428 |
-
80%,
|
429 |
-
100% {
|
430 |
-
box-shadow: 0 0;
|
431 |
-
height: 4em;
|
432 |
-
}
|
433 |
-
40% {
|
434 |
-
box-shadow: 0 -2em;
|
435 |
-
height: 5em;
|
436 |
-
}
|
437 |
-
}
|
438 |
-
.fg-loading-trail .fg-loader {
|
439 |
-
color: #828282;
|
440 |
-
margin-top: 0;
|
441 |
-
margin-left: 0;
|
442 |
-
font-size: 20px;
|
443 |
-
text-indent: -9999em;
|
444 |
-
overflow: hidden;
|
445 |
-
border-radius: 50%;
|
446 |
-
-webkit-animation: loading-trail-1 1.7s infinite paused ease, loading-trail-2 1.7s infinite paused ease;
|
447 |
-
animation: loading-trail-1 1.7s infinite paused ease, loading-trail-2 1.7s infinite paused ease;
|
448 |
-
}
|
449 |
-
.fg-loading-trail .fg-loading .fg-loader {
|
450 |
-
-webkit-animation-play-state: running;
|
451 |
-
animation-play-state: running;
|
452 |
-
}
|
453 |
-
|
454 |
-
@-webkit-keyframes loading-trail-1 {
|
455 |
-
0% {
|
456 |
-
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
457 |
-
}
|
458 |
-
5%,
|
459 |
-
95% {
|
460 |
-
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
461 |
-
}
|
462 |
-
10%,
|
463 |
-
59% {
|
464 |
-
box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
|
465 |
-
}
|
466 |
-
20% {
|
467 |
-
box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
|
468 |
-
}
|
469 |
-
38% {
|
470 |
-
box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
|
471 |
-
}
|
472 |
-
100% {
|
473 |
-
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
474 |
-
}
|
475 |
-
}
|
476 |
-
@keyframes loading-trail-1 {
|
477 |
-
0% {
|
478 |
-
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
479 |
-
}
|
480 |
-
5%,
|
481 |
-
95% {
|
482 |
-
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
483 |
-
}
|
484 |
-
10%,
|
485 |
-
59% {
|
486 |
-
box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
|
487 |
-
}
|
488 |
-
20% {
|
489 |
-
box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
|
490 |
-
}
|
491 |
-
38% {
|
492 |
-
box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
|
493 |
-
}
|
494 |
-
100% {
|
495 |
-
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
496 |
-
}
|
497 |
-
}
|
498 |
-
@-webkit-keyframes loading-trail-2 {
|
499 |
-
0% {
|
500 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
501 |
-
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
502 |
-
}
|
503 |
-
100% {
|
504 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
505 |
-
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
506 |
-
}
|
507 |
-
}
|
508 |
-
@keyframes loading-trail-2 {
|
509 |
-
0% {
|
510 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
511 |
-
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
512 |
-
}
|
513 |
-
100% {
|
514 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
515 |
-
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
516 |
-
}
|
517 |
-
}
|
518 |
-
.fg-loading-pulse .fg-loader,
|
519 |
-
.fg-loading-pulse .fg-loader:before,
|
520 |
-
.fg-loading-pulse .fg-loader:after {
|
521 |
-
border-radius: 50%;
|
522 |
-
width: 2.5em;
|
523 |
-
height: 2.5em;
|
524 |
-
-webkit-animation: loading-pulse 1.8s infinite both paused ease-in-out;
|
525 |
-
animation: loading-pulse 1.8s infinite both paused ease-in-out;
|
526 |
-
}
|
527 |
-
.fg-loading-pulse .fg-loading .fg-loader,
|
528 |
-
.fg-loading-pulse .fg-loading .fg-loader:before,
|
529 |
-
.fg-loading-pulse .fg-loading .fg-loader:after {
|
530 |
-
-webkit-animation-play-state: running;
|
531 |
-
animation-play-state: running;
|
532 |
-
}
|
533 |
-
|
534 |
-
.fg-loading-pulse .fg-loader {
|
535 |
-
color: #828282;
|
536 |
-
font-size: 4px;
|
537 |
-
margin-top: -3.75em;
|
538 |
-
margin-left: -1.25em;
|
539 |
-
text-indent: -9999em;
|
540 |
-
-webkit-animation-delay: -0.16s;
|
541 |
-
animation-delay: -0.16s;
|
542 |
-
}
|
543 |
-
.fg-loading-pulse .fg-loader:before,
|
544 |
-
.fg-loading-pulse .fg-loader:after {
|
545 |
-
content: '';
|
546 |
-
position: absolute;
|
547 |
-
top: 0;
|
548 |
-
}
|
549 |
-
.fg-loading-pulse .fg-loader:before {
|
550 |
-
left: -3.5em;
|
551 |
-
-webkit-animation-delay: -0.32s;
|
552 |
-
animation-delay: -0.32s;
|
553 |
-
}
|
554 |
-
.fg-loading-pulse .fg-loader:after {
|
555 |
-
left: 3.5em;
|
556 |
-
}
|
557 |
-
@-webkit-keyframes loading-pulse {
|
558 |
-
0%,
|
559 |
-
80%,
|
560 |
-
100% {
|
561 |
-
box-shadow: 0 2.5em 0 -1.3em;
|
562 |
-
}
|
563 |
-
40% {
|
564 |
-
box-shadow: 0 2.5em 0 0;
|
565 |
-
}
|
566 |
-
}
|
567 |
-
@keyframes loading-pulse {
|
568 |
-
0%,
|
569 |
-
80%,
|
570 |
-
100% {
|
571 |
-
box-shadow: 0 2.5em 0 -1.3em;
|
572 |
-
}
|
573 |
-
40% {
|
574 |
-
box-shadow: 0 2.5em 0 0;
|
575 |
-
}
|
576 |
-
}
|
577 |
-
.fg-loading-dots .fg-loader {
|
578 |
-
color: #828282;
|
579 |
-
font-size: 5px;
|
580 |
-
border-radius: 50%;
|
581 |
-
text-indent: -9999em;
|
582 |
-
-webkit-animation: loading-dots 1.3s infinite paused linear;
|
583 |
-
animation: loading-dots 1.3s infinite paused linear;
|
584 |
-
}
|
585 |
-
.fg-loading-dots .fg-loading .fg-loader {
|
586 |
-
-webkit-animation-play-state: running;
|
587 |
-
animation-play-state: running;
|
588 |
-
}
|
589 |
-
|
590 |
-
@-webkit-keyframes loading-dots {
|
591 |
-
0%,
|
592 |
-
100% {
|
593 |
-
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
|
594 |
-
}
|
595 |
-
12.5% {
|
596 |
-
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
597 |
-
}
|
598 |
-
25% {
|
599 |
-
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
600 |
-
}
|
601 |
-
37.5% {
|
602 |
-
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
603 |
-
}
|
604 |
-
50% {
|
605 |
-
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
606 |
-
}
|
607 |
-
62.5% {
|
608 |
-
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
|
609 |
-
}
|
610 |
-
75% {
|
611 |
-
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
|
612 |
-
}
|
613 |
-
87.5% {
|
614 |
-
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
|
615 |
-
}
|
616 |
-
}
|
617 |
-
@keyframes loading-dots {
|
618 |
-
0%,
|
619 |
-
100% {
|
620 |
-
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
|
621 |
-
}
|
622 |
-
12.5% {
|
623 |
-
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
624 |
-
}
|
625 |
-
25% {
|
626 |
-
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
627 |
-
}
|
628 |
-
37.5% {
|
629 |
-
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
630 |
-
}
|
631 |
-
50% {
|
632 |
-
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
633 |
-
}
|
634 |
-
62.5% {
|
635 |
-
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
|
636 |
-
}
|
637 |
-
75% {
|
638 |
-
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
|
639 |
-
}
|
640 |
-
87.5% {
|
641 |
-
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
|
642 |
-
}
|
643 |
-
}
|
644 |
-
.fg-loading-partial .fg-loader,
|
645 |
-
.fg-loading-partial .fg-loader:after {
|
646 |
-
border-radius: 50%;
|
647 |
-
width: 10em;
|
648 |
-
height: 10em;
|
649 |
-
}
|
650 |
-
.fg-loading-partial .fg-loader {
|
651 |
-
font-size: 4px;
|
652 |
-
text-indent: -9999em;
|
653 |
-
margin-top: 0;
|
654 |
-
margin-left: 0;
|
655 |
-
border-top: 1.1em solid rgba(130,130,130, 0.2);
|
656 |
-
border-right: 1.1em solid rgba(130,130,130, 0.2);
|
657 |
-
border-bottom: 1.1em solid rgba(130,130,130, 0.2);
|
658 |
-
border-left: 1.1em solid #828282;
|
659 |
-
-webkit-animation: loading-partial 1.1s infinite paused linear;
|
660 |
-
animation: loading-partial 1.1s infinite paused linear;
|
661 |
-
}
|
662 |
-
.fg-loading-partial .fg-loading .fg-loader {
|
663 |
-
-webkit-animation-play-state: running;
|
664 |
-
animation-play-state: running;
|
665 |
-
}
|
666 |
-
|
667 |
-
@-webkit-keyframes loading-partial {
|
668 |
-
0% {
|
669 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
670 |
-
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
671 |
-
}
|
672 |
-
100% {
|
673 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
674 |
-
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
675 |
-
}
|
676 |
-
}
|
677 |
-
@keyframes loading-partial {
|
678 |
-
0% {
|
679 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
680 |
-
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
681 |
-
}
|
682 |
-
100% {
|
683 |
-
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
684 |
-
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
685 |
-
}
|
686 |
-
}
|
687 |
-
/* Loaded Effects */
|
688 |
-
.foogallery.fg-loaded-fade-in .fg-item.fg-loaded,
|
689 |
-
.foogallery.fg-loaded-slide-up .fg-item.fg-loaded,
|
690 |
-
.foogallery.fg-loaded-slide-down .fg-item.fg-loaded,
|
691 |
-
.foogallery.fg-loaded-slide-left .fg-item.fg-loaded,
|
692 |
-
.foogallery.fg-loaded-slide-right .fg-item.fg-loaded,
|
693 |
-
.foogallery.fg-loaded-scale-up .fg-item.fg-loaded,
|
694 |
-
.foogallery.fg-loaded-swing-down .fg-item.fg-loaded,
|
695 |
-
.foogallery.fg-loaded-drop .fg-item.fg-loaded,
|
696 |
-
.foogallery.fg-loaded-fly .fg-item.fg-loaded,
|
697 |
-
.foogallery.fg-loaded-flip .fg-item.fg-loaded {
|
698 |
-
transition-timing-function: ease;
|
699 |
-
transition-duration: 650ms;
|
700 |
-
transition-property: background-color, transform;
|
701 |
-
}
|
702 |
-
.foogallery.fg-loaded-fade-in .fg-loaded .fg-item-inner,
|
703 |
-
.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner,
|
704 |
-
.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner,
|
705 |
-
.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner,
|
706 |
-
.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner,
|
707 |
-
.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner,
|
708 |
-
.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner,
|
709 |
-
.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner,
|
710 |
-
.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner,
|
711 |
-
.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner {
|
712 |
-
transition-timing-function: ease;
|
713 |
-
transition-duration: 650ms;
|
714 |
-
}
|
715 |
-
/* Only apply the perspective once loaded otherwise transitions could take place behind other items*/
|
716 |
-
.foogallery.fg-loaded-swing-down .fg-item.fg-loaded,
|
717 |
-
.foogallery.fg-loaded-drop .fg-item.fg-loaded,
|
718 |
-
.foogallery.fg-loaded-fly .fg-item.fg-loaded,
|
719 |
-
.foogallery.fg-loaded-flip .fg-item.fg-loaded {
|
720 |
-
perspective: 1300px;
|
721 |
-
}
|
722 |
-
/* Drop */
|
723 |
-
.foogallery.fg-loaded-drop .fg-item-inner {
|
724 |
-
transition-property: visibility, opacity, transform;
|
725 |
-
transform-style: preserve-3d;
|
726 |
-
transform: translateZ(400px) translateY(100%) rotateX(-90deg);
|
727 |
-
}
|
728 |
-
.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner {
|
729 |
-
transform: translateZ(0px) translateY(0px) rotateX(0deg);
|
730 |
-
}
|
731 |
-
/* Fade In */
|
732 |
-
.foogallery.fg-loaded-fade-in .fg-item-inner {
|
733 |
-
transition-property: visibility, opacity;
|
734 |
-
}
|
735 |
-
/* Flip */
|
736 |
-
.foogallery.fg-loaded-flip .fg-item-inner {
|
737 |
-
transition-property: visibility, opacity, transform;
|
738 |
-
backface-visibility: hidden;
|
739 |
-
transform-style: preserve-3d;
|
740 |
-
transform: rotateY(-180deg);
|
741 |
-
}
|
742 |
-
.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner {
|
743 |
-
transform: rotateY(0deg);
|
744 |
-
}
|
745 |
-
/* Fly */
|
746 |
-
.foogallery.fg-loaded-fly .fg-item-inner {
|
747 |
-
transition-property: visibility, opacity, transform;
|
748 |
-
transform-style: preserve-3d;
|
749 |
-
transform-origin: 50% 50% -300px;
|
750 |
-
transform: rotateX(-180deg);
|
751 |
-
}
|
752 |
-
.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner {
|
753 |
-
transform: rotateX(0deg);
|
754 |
-
}
|
755 |
-
/* Scale Up */
|
756 |
-
.foogallery.fg-loaded-scale-up .fg-item-inner {
|
757 |
-
transition-property: visibility, opacity, transform;
|
758 |
-
transform: scale(0.6);
|
759 |
-
}
|
760 |
-
.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner {
|
761 |
-
transform: scale(1);
|
762 |
-
}
|
763 |
-
/* Slide Up */
|
764 |
-
.foogallery.fg-loaded-slide-up .fg-item-inner {
|
765 |
-
transition-property: visibility, opacity, transform;
|
766 |
-
transform: translateY(50%);
|
767 |
-
}
|
768 |
-
.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner {
|
769 |
-
transform: translateY(0);
|
770 |
-
}
|
771 |
-
/* Slide Down */
|
772 |
-
.foogallery.fg-loaded-slide-down .fg-item-inner {
|
773 |
-
transition-property: visibility, opacity, transform;
|
774 |
-
transform: translateY(-50%);
|
775 |
-
}
|
776 |
-
.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner {
|
777 |
-
transform: translateY(0);
|
778 |
-
}
|
779 |
-
/* Slide Left */
|
780 |
-
.foogallery.fg-loaded-slide-left .fg-item-inner {
|
781 |
-
transition-property: visibility, opacity, transform;
|
782 |
-
transform: translateX(50%);
|
783 |
-
}
|
784 |
-
.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner {
|
785 |
-
transform: translateX(0);
|
786 |
-
}
|
787 |
-
/* Slide Right */
|
788 |
-
.foogallery.fg-loaded-slide-right .fg-item-inner {
|
789 |
-
transition-property: visibility, opacity, transform;
|
790 |
-
transform: translateX(-50%);
|
791 |
-
}
|
792 |
-
.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner {
|
793 |
-
transform: translateX(0);
|
794 |
-
}
|
795 |
-
/* Swing Down */
|
796 |
-
.foogallery.fg-loaded-swing-down .fg-item-inner {
|
797 |
-
transition-property: visibility, opacity, transform;
|
798 |
-
transform-style: preserve-3d;
|
799 |
-
transform-origin: 0 0;
|
800 |
-
transform: rotateX(-80deg);
|
801 |
-
}
|
802 |
-
.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner {
|
803 |
-
transform: rotateX(0deg);
|
804 |
-
}
|
805 |
-
/* Caption Styles */
|
806 |
-
.foogallery .fg-caption {
|
807 |
-
visibility: hidden;
|
808 |
-
opacity: 0;
|
809 |
-
position: absolute;
|
810 |
-
z-index: 8;
|
811 |
-
width: 100%;
|
812 |
-
max-height: 100%;
|
813 |
-
overflow: hidden;
|
814 |
-
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
815 |
-
font-size: 13px;
|
816 |
-
font-weight: 400;
|
817 |
-
line-height: 1.3;
|
818 |
-
border: none;
|
819 |
-
text-align: center;
|
820 |
-
cursor: pointer;
|
821 |
-
margin: 0;
|
822 |
-
}
|
823 |
-
.foogallery .fg-caption a {
|
824 |
-
text-decoration: none;
|
825 |
-
}
|
826 |
-
|
827 |
-
.foogallery .fg-caption a:hover {
|
828 |
-
border-bottom: none;
|
829 |
-
}
|
830 |
-
|
831 |
-
.foogallery .fg-caption-title {
|
832 |
-
box-sizing: content-box;
|
833 |
-
white-space: nowrap;
|
834 |
-
overflow: hidden;
|
835 |
-
text-overflow: ellipsis;
|
836 |
-
font-size: 16px;
|
837 |
-
font-weight: 400;
|
838 |
-
padding: 0;
|
839 |
-
margin: 0.4em;
|
840 |
-
height: 1.3em;
|
841 |
-
min-height: 1.3em;
|
842 |
-
line-height: 1.3em;
|
843 |
-
}
|
844 |
-
.foogallery .fg-caption-desc {
|
845 |
-
padding: 0;
|
846 |
-
margin: 0.4em;
|
847 |
-
overflow: hidden;
|
848 |
-
height: 100%;
|
849 |
-
max-height: 100%;
|
850 |
-
}
|
851 |
-
.foogallery .fg-caption-title+.fg-caption-desc {
|
852 |
-
margin-top: 0;
|
853 |
-
}
|
854 |
-
|
855 |
-
.foogallery .fg-caption-buttons {
|
856 |
-
display: flex;
|
857 |
-
position: relative;
|
858 |
-
flex-direction: row;
|
859 |
-
flex-wrap: wrap;
|
860 |
-
align-items: center;
|
861 |
-
justify-content: center;
|
862 |
-
width: 100%;
|
863 |
-
padding: 5px;
|
864 |
-
margin: 0;
|
865 |
-
}
|
866 |
-
|
867 |
-
.foogallery .fg-caption-buttons > a {
|
868 |
-
display: inline-block;
|
869 |
-
position: relative;
|
870 |
-
padding: 0.4em 0.8em;
|
871 |
-
margin: 1px;
|
872 |
-
max-width: 100%;
|
873 |
-
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
874 |
-
font-size: 12px;
|
875 |
-
font-weight: 400;
|
876 |
-
line-height: 1.42857143;
|
877 |
-
text-align: center;
|
878 |
-
white-space: nowrap;
|
879 |
-
vertical-align: middle;
|
880 |
-
cursor: pointer;
|
881 |
-
user-select: none;
|
882 |
-
background-image: none;
|
883 |
-
text-decoration: none!important;
|
884 |
-
border: 1px solid transparent;
|
885 |
-
border-radius: 4px;
|
886 |
-
box-shadow: none;
|
887 |
-
outline: none;
|
888 |
-
opacity: 1;
|
889 |
-
transition-timing-function: ease-out;
|
890 |
-
transition-duration: 0.3s;
|
891 |
-
transition-property: color, opacity, border-color, background-color;
|
892 |
-
}
|
893 |
-
|
894 |
-
@media only screen and (max-width: 600px) {
|
895 |
-
.foogallery .fg-caption-buttons {
|
896 |
-
align-items: stretch;
|
897 |
-
}
|
898 |
-
.foogallery .fg-caption-buttons > a {
|
899 |
-
flex: 1;
|
900 |
-
}
|
901 |
-
}
|
902 |
-
|
903 |
-
/* Light */
|
904 |
-
.foogallery .fg-caption .fg-caption-buttons > a {
|
905 |
-
color: #333;
|
906 |
-
background-color: #fff;
|
907 |
-
border-color: #ccc;
|
908 |
-
}
|
909 |
-
.foogallery .fg-caption .fg-caption-buttons > a:not(.fg-disabled):hover {
|
910 |
-
color: #333;
|
911 |
-
background-color: #e6e6e6;
|
912 |
-
border-color: #adadad;
|
913 |
-
border-bottom: solid 1px;
|
914 |
-
}
|
915 |
-
.foogallery .fg-caption .fg-caption-buttons > a.fg-disabled {
|
916 |
-
color: #9d9d9d;
|
917 |
-
}
|
918 |
-
.foogallery .fg-caption .fg-caption-buttons > a.fg-disabled:hover {
|
919 |
-
border-bottom: solid 1px;
|
920 |
-
}
|
921 |
-
|
922 |
-
/* Dark */
|
923 |
-
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a {
|
924 |
-
color: #FFF;
|
925 |
-
background-color: #444;
|
926 |
-
border-color: #333;
|
927 |
-
}
|
928 |
-
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a:not(.fg-disabled):hover {
|
929 |
-
color: #9d9d9d;
|
930 |
-
background-color: #333;
|
931 |
-
border-color: #222;
|
932 |
-
}
|
933 |
-
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a.fg-disabled {
|
934 |
-
color: #9d9d9d;
|
935 |
-
}
|
936 |
-
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a.fg-disabled:hover {
|
937 |
-
border-bottom: solid 1px;
|
938 |
-
}
|
939 |
-
|
940 |
-
/* Always */
|
941 |
-
.foogallery.fg-caption-always .fg-item .fg-caption .fg-caption-inner:before {
|
942 |
-
display: none;
|
943 |
-
}
|
944 |
-
.foogallery.fg-caption-always .fg-item.fg-loaded .fg-caption {
|
945 |
-
left: 0;
|
946 |
-
bottom: 0;
|
947 |
-
transition-timing-function: ease;
|
948 |
-
transition-duration: 300ms;
|
949 |
-
transition-property: visibility, opacity;
|
950 |
-
visibility: visible;
|
951 |
-
opacity: 1;
|
952 |
-
}
|
953 |
-
.foogallery.fg-caption-always .fg-caption {
|
954 |
-
text-align: left;
|
955 |
-
}
|
956 |
-
|
957 |
-
/* On Hover */
|
958 |
-
.foogallery.fg-caption-hover .fg-caption .fg-caption-inner {
|
959 |
-
display: flex;
|
960 |
-
flex-direction: column;
|
961 |
-
align-items: center;
|
962 |
-
justify-content: center;
|
963 |
-
width: 100%;
|
964 |
-
max-height: 100%;
|
965 |
-
position: absolute;
|
966 |
-
top: 50%;
|
967 |
-
left: 0;
|
968 |
-
transform: translateY(-50%);
|
969 |
-
padding: 0.4em;
|
970 |
-
}
|
971 |
-
.foogallery.fg-caption-hover .fg-item.fg-loaded .fg-image-overlay {
|
972 |
-
display: none;
|
973 |
-
}
|
974 |
-
|
975 |
-
/* Alignment */
|
976 |
-
.foogallery.fg-c-l .fg-caption,
|
977 |
-
.foogallery.fg-caption-always.fg-c-l .fg-caption {
|
978 |
-
text-align: left;
|
979 |
-
}
|
980 |
-
.foogallery.fg-c-c .fg-caption,
|
981 |
-
.foogallery.fg-caption-always.fg-c-c .fg-caption {
|
982 |
-
text-align: center;
|
983 |
-
}
|
984 |
-
.foogallery.fg-c-r .fg-caption,
|
985 |
-
.foogallery.fg-caption-always.fg-c-r .fg-caption {
|
986 |
-
text-align: right;
|
987 |
-
}
|
988 |
-
.foogallery.fg-c-j .fg-caption,
|
989 |
-
.foogallery.fg-caption-always.fg-c-j .fg-caption {
|
990 |
-
text-align: justify;
|
991 |
-
}
|
992 |
-
/* Icon & Overlay */
|
993 |
-
.foogallery .fg-image-overlay:before {
|
994 |
-
content: "";
|
995 |
-
display: block;
|
996 |
-
position: absolute;
|
997 |
-
top: 50%;
|
998 |
-
left: 50%;
|
999 |
-
transform: translateX(-50%) translateY(-50%);
|
1000 |
-
width: 32px;
|
1001 |
-
height: 32px;
|
1002 |
-
background-size: 32px 32px;
|
1003 |
-
background-position: center center;
|
1004 |
-
background-repeat: no-repeat;
|
1005 |
-
min-width: 32px;
|
1006 |
-
min-height: 32px;
|
1007 |
-
}
|
1008 |
-
.foogallery .fg-caption-inner:before {
|
1009 |
-
content: "";
|
1010 |
-
display: none;
|
1011 |
-
position: relative;
|
1012 |
-
width: 32px;
|
1013 |
-
height: 32px;
|
1014 |
-
margin: 0.4em;
|
1015 |
-
background-size: 32px 32px;
|
1016 |
-
vertical-align: middle;
|
1017 |
-
background-position: center center;
|
1018 |
-
background-repeat: no-repeat;
|
1019 |
-
min-width: 32px;
|
1020 |
-
min-height: 32px;
|
1021 |
-
}
|
1022 |
-
.foogallery.fg-hover-zoom:not(.fg-preset) .fg-caption-inner:before,
|
1023 |
-
.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-caption-inner:before,
|
1024 |
-
.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-caption-inner:before,
|
1025 |
-
.foogallery.fg-hover-plus:not(.fg-preset) .fg-caption-inner:before,
|
1026 |
-
.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-caption-inner:before,
|
1027 |
-
.foogallery.fg-hover-eye:not(.fg-preset) .fg-caption-inner:before,
|
1028 |
-
.foogallery.fg-hover-external:not(.fg-preset) .fg-caption-inner:before,
|
1029 |
-
.foogallery.fg-hover-tint:not(.fg-preset) .fg-caption-inner:before,
|
1030 |
-
.foogallery.fg-hover-cart:not(.fg-preset) .fg-caption-inner:before,
|
1031 |
-
.foogallery.fg-video-default:not(.fg-preset) .fg-caption-inner:before,
|
1032 |
-
.foogallery.fg-video-1:not(.fg-preset) .fg-caption-inner:before,
|
1033 |
-
.foogallery.fg-video-2:not(.fg-preset) .fg-caption-inner:before,
|
1034 |
-
.foogallery.fg-video-3:not(.fg-preset) .fg-caption-inner:before,
|
1035 |
-
.foogallery.fg-video-4:not(.fg-preset) .fg-caption-inner:before {
|
1036 |
-
display: block;
|
1037 |
-
}
|
1038 |
-
|
1039 |
-
.foogallery.fg-hover-zoom:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1040 |
-
.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1041 |
-
.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1042 |
-
.foogallery.fg-hover-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1043 |
-
.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1044 |
-
.foogallery.fg-hover-eye:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1045 |
-
.foogallery.fg-hover-external:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1046 |
-
.foogallery.fg-hover-tint:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1047 |
-
.foogallery.fg-hover-cart:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1048 |
-
.foogallery.fg-video-default:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1049 |
-
.foogallery.fg-video-1:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1050 |
-
.foogallery.fg-video-2:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1051 |
-
.foogallery.fg-video-3:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1052 |
-
.foogallery.fg-video-4:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay {
|
1053 |
-
visibility: visible;
|
1054 |
-
opacity: 1;
|
1055 |
-
}
|
1056 |
-
.foogallery.fg-video-sticky .fg-type-video.fg-loaded .fg-item-inner .fg-image-overlay {
|
1057 |
-
background-color: transparent;
|
1058 |
-
visibility: visible;
|
1059 |
-
opacity: 1;
|
1060 |
-
display: block;
|
1061 |
-
}
|
1062 |
-
.foogallery.fg-video-sticky .fg-type-video .fg-caption-inner:before {
|
1063 |
-
display: none;
|
1064 |
-
}
|
1065 |
-
|
1066 |
-
.foogallery.fg-hover-zoom .fg-image-overlay:before,
|
1067 |
-
.foogallery.fg-hover-zoom .fg-caption-inner:before {
|
1068 |
-
background-image: url('../img/icons.svg#zoom-light');
|
1069 |
-
}
|
1070 |
-
.foogallery.fg-light-overlays.fg-hover-zoom .fg-image-overlay:before,
|
1071 |
-
.foogallery.fg-light-overlays.fg-hover-zoom .fg-caption-inner:before {
|
1072 |
-
background-image: url('../img/icons.svg#zoom-dark');
|
1073 |
-
}
|
1074 |
-
|
1075 |
-
.foogallery.fg-hover-zoom2 .fg-image-overlay:before,
|
1076 |
-
.foogallery.fg-hover-zoom2 .fg-caption-inner:before {
|
1077 |
-
background-image: url('../img/icons.svg#zoom2-light');
|
1078 |
-
}
|
1079 |
-
.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-image-overlay:before,
|
1080 |
-
.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-caption-inner:before {
|
1081 |
-
background-image: url('../img/icons.svg#zoom2-dark');
|
1082 |
-
}
|
1083 |
-
|
1084 |
-
.foogallery.fg-hover-zoom3 .fg-image-overlay:before,
|
1085 |
-
.foogallery.fg-hover-zoom3 .fg-caption-inner:before {
|
1086 |
-
background-image: url('../img/icons.svg#zoom3-light');
|
1087 |
-
}
|
1088 |
-
.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-image-overlay:before,
|
1089 |
-
.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-caption-inner:before {
|
1090 |
-
background-image: url('../img/icons.svg#zoom3-dark');
|
1091 |
-
}
|
1092 |
-
|
1093 |
-
.foogallery.fg-hover-plus .fg-image-overlay:before,
|
1094 |
-
.foogallery.fg-hover-plus .fg-caption-inner:before {
|
1095 |
-
background-image: url('../img/icons.svg#plus-light');
|
1096 |
-
}
|
1097 |
-
.foogallery.fg-light-overlays.fg-hover-plus .fg-image-overlay:before,
|
1098 |
-
.foogallery.fg-light-overlays.fg-hover-plus .fg-caption-inner:before {
|
1099 |
-
background-image: url('../img/icons.svg#plus-dark');
|
1100 |
-
}
|
1101 |
-
|
1102 |
-
.foogallery.fg-hover-circle-plus .fg-image-overlay:before,
|
1103 |
-
.foogallery.fg-hover-circle-plus .fg-caption-inner:before {
|
1104 |
-
background-image: url('../img/icons.svg#circle-plus-light');
|
1105 |
-
}
|
1106 |
-
.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-image-overlay:before,
|
1107 |
-
.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-caption-inner:before {
|
1108 |
-
background-image: url('../img/icons.svg#circle-plus-dark');
|
1109 |
-
}
|
1110 |
-
|
1111 |
-
.foogallery.fg-hover-eye .fg-image-overlay:before,
|
1112 |
-
.foogallery.fg-hover-eye .fg-caption-inner:before {
|
1113 |
-
background-image: url('../img/icons.svg#eye-light');
|
1114 |
-
}
|
1115 |
-
.foogallery.fg-light-overlays.fg-hover-eye .fg-image-overlay:before,
|
1116 |
-
.foogallery.fg-light-overlays.fg-hover-eye .fg-caption-inner:before {
|
1117 |
-
background-image: url('../img/icons.svg#eye-dark');
|
1118 |
-
}
|
1119 |
-
|
1120 |
-
.foogallery.fg-hover-external .fg-image-overlay:before,
|
1121 |
-
.foogallery.fg-hover-external .fg-caption-inner:before {
|
1122 |
-
background-image: url('../img/icons.svg#external-light');
|
1123 |
-
}
|
1124 |
-
.foogallery.fg-light-overlays.fg-hover-external .fg-image-overlay:before,
|
1125 |
-
.foogallery.fg-light-overlays.fg-hover-external .fg-caption-inner:before {
|
1126 |
-
background-image: url('../img/icons.svg#external-dark');
|
1127 |
-
}
|
1128 |
-
|
1129 |
-
.foogallery.fg-hover-cart .fg-image-overlay:before,
|
1130 |
-
.foogallery.fg-hover-cart .fg-caption-inner:before {
|
1131 |
-
background-image: url('../img/icons.svg#cart-light');
|
1132 |
-
}
|
1133 |
-
.foogallery.fg-light-overlays.fg-hover-cart .fg-image-overlay:before,
|
1134 |
-
.foogallery.fg-light-overlays.fg-hover-cart .fg-caption-inner:before {
|
1135 |
-
background-image: url('../img/icons.svg#cart-dark');
|
1136 |
-
}
|
1137 |
-
|
1138 |
-
.foogallery.fg-video-default .fg-type-video .fg-image-overlay:before,
|
1139 |
-
.foogallery.fg-video-default .fg-type-video .fg-caption-inner:before {
|
1140 |
-
background-image: url('../img/icons.svg#video-default-light');
|
1141 |
-
}
|
1142 |
-
.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-image-overlay:before,
|
1143 |
-
.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-caption-inner:before {
|
1144 |
-
background-image: url('../img/icons.svg#video-default-dark');
|
1145 |
-
}
|
1146 |
-
|
1147 |
-
.foogallery.fg-video-1 .fg-type-video .fg-image-overlay:before,
|
1148 |
-
.foogallery.fg-video-1 .fg-type-video .fg-caption-inner:before {
|
1149 |
-
background-image: url('../img/icons.svg#video-1-light');
|
1150 |
-
}
|
1151 |
-
.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-image-overlay:before,
|
1152 |
-
.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-caption-inner:before {
|
1153 |
-
background-image: url('../img/icons.svg#video-1-dark');
|
1154 |
-
}
|
1155 |
-
|
1156 |
-
.foogallery.fg-video-2 .fg-type-video .fg-image-overlay:before,
|
1157 |
-
.foogallery.fg-video-2 .fg-type-video .fg-caption-inner:before {
|
1158 |
-
background-image: url('../img/icons.svg#video-2-light');
|
1159 |
-
}
|
1160 |
-
.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-image-overlay:before,
|
1161 |
-
.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-caption-inner:before {
|
1162 |
-
background-image: url('../img/icons.svg#video-2-dark');
|
1163 |
-
}
|
1164 |
-
|
1165 |
-
.foogallery.fg-video-3 .fg-type-video .fg-image-overlay:before,
|
1166 |
-
.foogallery.fg-video-3 .fg-type-video .fg-caption-inner:before {
|
1167 |
-
background-image: url('../img/icons.svg#video-3-light');
|
1168 |
-
}
|
1169 |
-
.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-image-overlay:before,
|
1170 |
-
.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-caption-inner:before {
|
1171 |
-
background-image: url('../img/icons.svg#video-3-dark');
|
1172 |
-
}
|
1173 |
-
|
1174 |
-
.foogallery.fg-video-4 .fg-type-video .fg-image-overlay:before,
|
1175 |
-
.foogallery.fg-video-4 .fg-type-video .fg-caption-inner:before {
|
1176 |
-
background-image: url('../img/icons.svg#video-4-light');
|
1177 |
-
}
|
1178 |
-
.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-image-overlay:before,
|
1179 |
-
.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-caption-inner:before {
|
1180 |
-
background-image: url('../img/icons.svg#video-4-dark');
|
1181 |
-
}
|
1182 |
-
/* Transitions */
|
1183 |
-
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,
|
1184 |
-
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,
|
1185 |
-
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,
|
1186 |
-
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,
|
1187 |
-
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,
|
1188 |
-
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,
|
1189 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,
|
1190 |
-
.foogallery.fg-caption-hover.fg-hover-colorize .fg-loaded .fg-caption,
|
1191 |
-
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-loaded .fg-caption,
|
1192 |
-
.foogallery.fg-caption-hover.fg-hover-scale .fg-loaded .fg-caption,
|
1193 |
-
.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay,
|
1194 |
-
.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay,
|
1195 |
-
.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,
|
1196 |
-
.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,
|
1197 |
-
.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,
|
1198 |
-
.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,
|
1199 |
-
.foogallery.fg-hover-push .fg-loaded .fg-thumb,
|
1200 |
-
.foogallery.fg-hover-colorize .fg-loaded .fg-image-overlay,
|
1201 |
-
.foogallery.fg-hover-grayscale .fg-loaded .fg-image-overlay,
|
1202 |
-
.foogallery.fg-hover-scale .fg-item.fg-loaded,
|
1203 |
-
.foogallery.fg-hover-scale .fg-loaded .fg-image-overlay,
|
1204 |
-
.foogallery.fg-hover-zoomed .fg-loaded .fg-image,
|
1205 |
-
.foogallery.fg-hover-colorize .fg-loaded .fg-image,
|
1206 |
-
.foogallery.fg-hover-grayscale .fg-loaded .fg-image {
|
1207 |
-
transition-timing-function: ease;
|
1208 |
-
transition-duration: 300ms;
|
1209 |
-
backface-visibility: hidden;
|
1210 |
-
}
|
1211 |
-
/* Colorize */
|
1212 |
-
.foogallery.fg-hover-colorize .fg-image {
|
1213 |
-
filter: grayscale(100%);
|
1214 |
-
transition-property: filter;
|
1215 |
-
}
|
1216 |
-
.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image,
|
1217 |
-
.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image {
|
1218 |
-
filter: grayscale(0%);
|
1219 |
-
}
|
1220 |
-
.foogallery.fg-hover-colorize .fg-image-overlay,
|
1221 |
-
.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption {
|
1222 |
-
display: block;
|
1223 |
-
left: 0;
|
1224 |
-
top: 0;
|
1225 |
-
bottom: 0;
|
1226 |
-
transition-property: visibility, opacity, background-color;
|
1227 |
-
}
|
1228 |
-
.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image-overlay,
|
1229 |
-
.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:hover .fg-caption,
|
1230 |
-
.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image-overlay,
|
1231 |
-
.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:focus-within .fg-caption {
|
1232 |
-
visibility: visible;
|
1233 |
-
opacity: 1;
|
1234 |
-
}
|
1235 |
-
/* Fade */
|
1236 |
-
.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay,
|
1237 |
-
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption {
|
1238 |
-
display: block;
|
1239 |
-
left: 0;
|
1240 |
-
top: 0;
|
1241 |
-
bottom: 0;
|
1242 |
-
transition-property: visibility, opacity, background-color;
|
1243 |
-
}
|
1244 |
-
.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1245 |
-
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-caption,
|
1246 |
-
.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1247 |
-
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1248 |
-
visibility: visible;
|
1249 |
-
opacity: 1;
|
1250 |
-
}
|
1251 |
-
/* Grayscale */
|
1252 |
-
.foogallery.fg-hover-grayscale .fg-image {
|
1253 |
-
filter: grayscale(0%);
|
1254 |
-
transition-property: filter;
|
1255 |
-
}
|
1256 |
-
.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image,
|
1257 |
-
.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image {
|
1258 |
-
filter: grayscale(100%);
|
1259 |
-
}
|
1260 |
-
.foogallery.fg-hover-grayscale .fg-image-overlay,
|
1261 |
-
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption {
|
1262 |
-
display: block;
|
1263 |
-
left: 0;
|
1264 |
-
top: 0;
|
1265 |
-
bottom: 0;
|
1266 |
-
transition-property: visibility, opacity, background-color;
|
1267 |
-
}
|
1268 |
-
.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image-overlay,
|
1269 |
-
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:hover .fg-caption,
|
1270 |
-
.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image-overlay,
|
1271 |
-
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:focus-within .fg-caption {
|
1272 |
-
visibility: visible;
|
1273 |
-
opacity: 1;
|
1274 |
-
}
|
1275 |
-
/* Instant */
|
1276 |
-
.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay,
|
1277 |
-
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption {
|
1278 |
-
display: block;
|
1279 |
-
left: 0;
|
1280 |
-
top: 0;
|
1281 |
-
bottom: 0;
|
1282 |
-
transition-property: none;
|
1283 |
-
}
|
1284 |
-
.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1285 |
-
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-caption,
|
1286 |
-
.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1287 |
-
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1288 |
-
visibility: visible;
|
1289 |
-
opacity: 1;
|
1290 |
-
}
|
1291 |
-
/* Push */
|
1292 |
-
.foogallery.fg-hover-push .fg-loaded .fg-image-overlay,
|
1293 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption {
|
1294 |
-
display: block;
|
1295 |
-
left: 0;
|
1296 |
-
top: 0;
|
1297 |
-
bottom: 0;
|
1298 |
-
transform: translateX(100%);
|
1299 |
-
visibility: visible;
|
1300 |
-
opacity: 1;
|
1301 |
-
}
|
1302 |
-
.foogallery.fg-hover-push .fg-loaded .fg-thumb,
|
1303 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption {
|
1304 |
-
transition-property: transform;
|
1305 |
-
}
|
1306 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-caption,
|
1307 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1308 |
-
transform: translateY(0);
|
1309 |
-
}
|
1310 |
-
.foogallery.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,
|
1311 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,
|
1312 |
-
.foogallery.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus,
|
1313 |
-
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus {
|
1314 |
-
transform: translateX(-100%);
|
1315 |
-
}
|
1316 |
-
/* Scale */
|
1317 |
-
.foogallery.fg-hover-scale .fg-item {
|
1318 |
-
transition-property: transform;
|
1319 |
-
z-index: 4;
|
1320 |
-
}
|
1321 |
-
|
1322 |
-
.foogallery.fg-hover-scale .fg-item:hover,
|
1323 |
-
.foogallery.fg-hover-scale .fg-item:focus-within {
|
1324 |
-
transform: scale(1.048);
|
1325 |
-
z-index: 10;
|
1326 |
-
}
|
1327 |
-
.foogallery.fg-hover-scale .fg-image-overlay,
|
1328 |
-
.foogallery.fg-caption-hover.fg-hover-scale .fg-caption {
|
1329 |
-
display: block;
|
1330 |
-
left: 0;
|
1331 |
-
top: 0;
|
1332 |
-
bottom: 0;
|
1333 |
-
transition-property: visibility, opacity, background-color;
|
1334 |
-
}
|
1335 |
-
.foogallery.fg-hover-scale .fg-item-inner:hover .fg-image-overlay,
|
1336 |
-
.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:hover .fg-caption,
|
1337 |
-
.foogallery.fg-hover-scale .fg-item-inner:focus-within .fg-image-overlay,
|
1338 |
-
.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:focus-within .fg-caption {
|
1339 |
-
visibility: visible;
|
1340 |
-
opacity: 1;
|
1341 |
-
}
|
1342 |
-
/* Zoomed */
|
1343 |
-
.foogallery.fg-hover-zoomed .fg-image {
|
1344 |
-
transition-property: transform;
|
1345 |
-
z-index: 4;
|
1346 |
-
}
|
1347 |
-
.foogallery.fg-hover-zoomed .fg-item:hover .fg-image,
|
1348 |
-
.foogallery.fg-hover-zoomed .fg-item:focus-within .fg-image {
|
1349 |
-
transform: scale(1.15);
|
1350 |
-
}
|
1351 |
-
.foogallery.fg-hover-zoomed .fg-image-wrap {
|
1352 |
-
overflow: hidden;
|
1353 |
-
}
|
1354 |
-
|
1355 |
-
.foogallery.fg-hover-zoomed .fg-image-overlay,
|
1356 |
-
.foogallery.fg-caption-hover.fg-hover-zoomed .fg-caption {
|
1357 |
-
display: block;
|
1358 |
-
left: 0;
|
1359 |
-
top: 0;
|
1360 |
-
bottom: 0;
|
1361 |
-
transition-property: visibility, opacity, background-color;
|
1362 |
-
}
|
1363 |
-
.foogallery.fg-hover-zoomed .fg-item-inner:hover .fg-image-overlay,
|
1364 |
-
.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:hover .fg-caption,
|
1365 |
-
.foogallery.fg-hover-zoomed .fg-item-inner:focus-within .fg-image-overlay,
|
1366 |
-
.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:focus-within .fg-caption {
|
1367 |
-
visibility: visible;
|
1368 |
-
opacity: 1;
|
1369 |
-
}
|
1370 |
-
/* Slide */
|
1371 |
-
.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,
|
1372 |
-
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,
|
1373 |
-
.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,
|
1374 |
-
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,
|
1375 |
-
.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,
|
1376 |
-
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,
|
1377 |
-
.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,
|
1378 |
-
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption {
|
1379 |
-
display: block;
|
1380 |
-
left: 0;
|
1381 |
-
top: 0;
|
1382 |
-
bottom: 0;
|
1383 |
-
transition-property: transform, background-color, opacity, visibility;
|
1384 |
-
visibility: visible;
|
1385 |
-
opacity: 1;
|
1386 |
-
}
|
1387 |
-
.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1388 |
-
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-caption,
|
1389 |
-
.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1390 |
-
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-caption,
|
1391 |
-
.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1392 |
-
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-caption,
|
1393 |
-
.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1394 |
-
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-caption,
|
1395 |
-
.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1396 |
-
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:focus-within .fg-caption,
|
1397 |
-
.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1398 |
-
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-caption,
|
1399 |
-
.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1400 |
-
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-caption,
|
1401 |
-
.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1402 |
-
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1403 |
-
transform: translateY(0) translateX(0);
|
1404 |
-
}
|
1405 |
-
|
1406 |
-
|
1407 |
-
/* Slide Up */
|
1408 |
-
.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,
|
1409 |
-
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption {
|
1410 |
-
transform: translateY(100%);
|
1411 |
-
}
|
1412 |
-
|
1413 |
-
/* Slide Down */
|
1414 |
-
.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,
|
1415 |
-
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption {
|
1416 |
-
transform: translateY(-100%);
|
1417 |
-
}
|
1418 |
-
|
1419 |
-
/* Slide Left */
|
1420 |
-
.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,
|
1421 |
-
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption {
|
1422 |
-
transform: translateX(100%);
|
1423 |
-
}
|
1424 |
-
|
1425 |
-
/* Slide Right */
|
1426 |
-
.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,
|
1427 |
-
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption {
|
1428 |
-
transform: translateX(-100%);
|
1429 |
-
}
|
1430 |
-
.fg-paging-container, .fg-paging-container *, .fg-paging-container *:before, .fg-paging-container *:after {
|
1431 |
-
box-sizing: border-box;
|
1432 |
-
}
|
1433 |
-
.fg-paging-container {
|
1434 |
-
display: block;
|
1435 |
-
padding: 15px;
|
1436 |
-
margin-top: 0!important;
|
1437 |
-
margin-bottom: 0!important;
|
1438 |
-
margin-left: auto;
|
1439 |
-
margin-right: auto;
|
1440 |
-
text-align: center;
|
1441 |
-
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
1442 |
-
-webkit-user-select: none;
|
1443 |
-
-moz-user-select: none;
|
1444 |
-
-ms-user-select: none;
|
1445 |
-
user-select: none;
|
1446 |
-
}
|
1447 |
-
.fg-ph-dots:after {
|
1448 |
-
display: block;
|
1449 |
-
content: '';
|
1450 |
-
width: 0;
|
1451 |
-
height: 22px;
|
1452 |
-
}
|
1453 |
-
|
1454 |
-
.fg-paging-container .fg-dots,
|
1455 |
-
.fg-paging-container .fg-dot-item {
|
1456 |
-
display: inline-block;
|
1457 |
-
margin: 0;
|
1458 |
-
padding: 0;
|
1459 |
-
outline: none;
|
1460 |
-
list-style: none;
|
1461 |
-
}
|
1462 |
-
.fg-paging-container .fg-dot-item .fg-dot-link {
|
1463 |
-
display: inline-block;
|
1464 |
-
margin: 3px;
|
1465 |
-
font-weight: 400;
|
1466 |
-
line-height: 1.42857143;
|
1467 |
-
text-align: center;
|
1468 |
-
white-space: nowrap;
|
1469 |
-
vertical-align: middle;
|
1470 |
-
cursor: pointer;
|
1471 |
-
user-select: none;
|
1472 |
-
background-image: none;
|
1473 |
-
text-decoration: none;
|
1474 |
-
border: 1px solid transparent;
|
1475 |
-
position: relative;
|
1476 |
-
border-radius: 50%;
|
1477 |
-
padding: 0;
|
1478 |
-
font-size: 0;
|
1479 |
-
outline: none;
|
1480 |
-
color: transparent;
|
1481 |
-
box-shadow: none;
|
1482 |
-
}
|
1483 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:before {
|
1484 |
-
content: "";
|
1485 |
-
background-color: transparent;
|
1486 |
-
border: 1px solid transparent;
|
1487 |
-
display: block;
|
1488 |
-
border-radius: 50%;
|
1489 |
-
width: 9px;
|
1490 |
-
height: 9px;
|
1491 |
-
padding: 0;
|
1492 |
-
margin: 2px;
|
1493 |
-
}
|
1494 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:active,
|
1495 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:hover,
|
1496 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:focus {
|
1497 |
-
text-decoration: none;
|
1498 |
-
box-shadow: none;
|
1499 |
-
outline: none;
|
1500 |
-
}
|
1501 |
-
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,
|
1502 |
-
.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link {
|
1503 |
-
cursor: not-allowed;
|
1504 |
-
pointer-events: none;
|
1505 |
-
}
|
1506 |
-
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link {
|
1507 |
-
cursor: not-allowed;
|
1508 |
-
pointer-events: none;
|
1509 |
-
outline: none;
|
1510 |
-
}
|
1511 |
-
|
1512 |
-
/* Light - Dots */
|
1513 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,
|
1514 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {
|
1515 |
-
transition-timing-function: ease-out;
|
1516 |
-
transition-duration: 0.3s;
|
1517 |
-
transition-property: color, border-color, background-color;
|
1518 |
-
}
|
1519 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {
|
1520 |
-
background-color: #eee;
|
1521 |
-
border-color: #9d9d9d;
|
1522 |
-
}
|
1523 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link {
|
1524 |
-
border-color: #888;
|
1525 |
-
}
|
1526 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before,
|
1527 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,
|
1528 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before {
|
1529 |
-
background-color: #666;
|
1530 |
-
border-color: #888;
|
1531 |
-
}
|
1532 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,
|
1533 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1534 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1535 |
-
background-color: #eee;
|
1536 |
-
border-color: #9d9d9d;
|
1537 |
-
opacity: 0.5;
|
1538 |
-
}
|
1539 |
-
|
1540 |
-
/* Dark - Dots */
|
1541 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,
|
1542 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before {
|
1543 |
-
transition-timing-function: ease-out;
|
1544 |
-
transition-duration: 0.3s;
|
1545 |
-
transition-property: color, border-color, background-color;
|
1546 |
-
}
|
1547 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link {
|
1548 |
-
background-color: #666;
|
1549 |
-
border-color: #333;
|
1550 |
-
}
|
1551 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link {
|
1552 |
-
border-color: #444;
|
1553 |
-
}
|
1554 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before,
|
1555 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,
|
1556 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before {
|
1557 |
-
background-color: #333;
|
1558 |
-
border-color: #444;
|
1559 |
-
}
|
1560 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,
|
1561 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1562 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1563 |
-
background-color: #666;
|
1564 |
-
border-color: #333;
|
1565 |
-
opacity: 0.5;
|
1566 |
-
}
|
1567 |
-
.fg-paging-container, .fg-paging-container *, .fg-paging-container *:before, .fg-paging-container *:after {
|
1568 |
-
box-sizing: border-box;
|
1569 |
-
}
|
1570 |
-
.fg-paging-container {
|
1571 |
-
display: block;
|
1572 |
-
padding: 15px;
|
1573 |
-
margin-top: 0!important;
|
1574 |
-
margin-bottom: 0!important;
|
1575 |
-
margin-left: auto;
|
1576 |
-
margin-right: auto;
|
1577 |
-
text-align: center;
|
1578 |
-
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
1579 |
-
-webkit-user-select: none;
|
1580 |
-
-moz-user-select: none;
|
1581 |
-
-ms-user-select: none;
|
1582 |
-
user-select: none;
|
1583 |
-
}
|
1584 |
-
.fg-ph-dots:after {
|
1585 |
-
display: block;
|
1586 |
-
content: '';
|
1587 |
-
width: 0;
|
1588 |
-
height: 22px;
|
1589 |
-
}
|
1590 |
-
|
1591 |
-
.fg-paging-container .fg-dots,
|
1592 |
-
.fg-paging-container .fg-dot-item {
|
1593 |
-
display: inline-block;
|
1594 |
-
margin: 0;
|
1595 |
-
padding: 0;
|
1596 |
-
outline: none;
|
1597 |
-
list-style: none;
|
1598 |
-
}
|
1599 |
-
.fg-paging-container .fg-dot-item .fg-dot-link {
|
1600 |
-
display: inline-block;
|
1601 |
-
margin: 3px;
|
1602 |
-
font-weight: 400;
|
1603 |
-
line-height: 1.42857143;
|
1604 |
-
text-align: center;
|
1605 |
-
white-space: nowrap;
|
1606 |
-
vertical-align: middle;
|
1607 |
-
cursor: pointer;
|
1608 |
-
user-select: none;
|
1609 |
-
background-image: none;
|
1610 |
-
text-decoration: none;
|
1611 |
-
border: 1px solid transparent;
|
1612 |
-
position: relative;
|
1613 |
-
border-radius: 50%;
|
1614 |
-
padding: 0;
|
1615 |
-
font-size: 0;
|
1616 |
-
outline: none;
|
1617 |
-
color: transparent;
|
1618 |
-
box-shadow: none;
|
1619 |
-
}
|
1620 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:before {
|
1621 |
-
content: "";
|
1622 |
-
background-color: transparent;
|
1623 |
-
border: 1px solid transparent;
|
1624 |
-
display: block;
|
1625 |
-
border-radius: 50%;
|
1626 |
-
width: 9px;
|
1627 |
-
height: 9px;
|
1628 |
-
padding: 0;
|
1629 |
-
margin: 2px;
|
1630 |
-
}
|
1631 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:active,
|
1632 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:hover,
|
1633 |
-
.fg-paging-container .fg-dot-item .fg-dot-link:focus {
|
1634 |
-
text-decoration: none;
|
1635 |
-
box-shadow: none;
|
1636 |
-
outline: none;
|
1637 |
-
}
|
1638 |
-
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,
|
1639 |
-
.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link {
|
1640 |
-
cursor: not-allowed;
|
1641 |
-
pointer-events: none;
|
1642 |
-
}
|
1643 |
-
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link {
|
1644 |
-
cursor: not-allowed;
|
1645 |
-
pointer-events: none;
|
1646 |
-
outline: none;
|
1647 |
-
}
|
1648 |
-
|
1649 |
-
/* Light - Dots */
|
1650 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,
|
1651 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {
|
1652 |
-
transition-timing-function: ease-out;
|
1653 |
-
transition-duration: 0.3s;
|
1654 |
-
transition-property: color, border-color, background-color;
|
1655 |
-
}
|
1656 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {
|
1657 |
-
background-color: #eee;
|
1658 |
-
border-color: #9d9d9d;
|
1659 |
-
}
|
1660 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link {
|
1661 |
-
border-color: #888;
|
1662 |
-
}
|
1663 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before,
|
1664 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,
|
1665 |
-
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before {
|
1666 |
-
background-color: #666;
|
1667 |
-
border-color: #888;
|
1668 |
-
}
|
1669 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,
|
1670 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1671 |
-
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1672 |
-
background-color: #eee;
|
1673 |
-
border-color: #9d9d9d;
|
1674 |
-
opacity: 0.5;
|
1675 |
-
}
|
1676 |
-
|
1677 |
-
/* Dark - Dots */
|
1678 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,
|
1679 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before {
|
1680 |
-
transition-timing-function: ease-out;
|
1681 |
-
transition-duration: 0.3s;
|
1682 |
-
transition-property: color, border-color, background-color;
|
1683 |
-
}
|
1684 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link {
|
1685 |
-
background-color: #666;
|
1686 |
-
border-color: #333;
|
1687 |
-
}
|
1688 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link {
|
1689 |
-
border-color: #444;
|
1690 |
-
}
|
1691 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before,
|
1692 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,
|
1693 |
-
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before {
|
1694 |
-
background-color: #333;
|
1695 |
-
border-color: #444;
|
1696 |
-
}
|
1697 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,
|
1698 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1699 |
-
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1700 |
-
background-color: #666;
|
1701 |
-
border-color: #333;
|
1702 |
-
opacity: 0.5;
|
1703 |
-
}
|
1704 |
-
/* Base styles */
|
1705 |
-
.fg-default:after {
|
1706 |
-
content: '';
|
1707 |
-
display: block;
|
1708 |
-
clear: both;
|
1709 |
-
}
|
1710 |
-
|
1711 |
-
.fg-default .fg-item {
|
1712 |
-
display: inline-block;
|
1713 |
-
vertical-align: top;
|
1714 |
-
max-width: 100%;
|
1715 |
-
}
|
1716 |
-
.fg-default .fg-item-inner,
|
1717 |
-
.fg-default .fg-thumb {
|
1718 |
-
display: block;
|
1719 |
-
vertical-align: top;
|
1720 |
-
max-width: 100%;
|
1721 |
-
}
|
1722 |
-
|
1723 |
-
.fg-default .fg-image {
|
1724 |
-
border-radius: 0;
|
1725 |
-
display: block;
|
1726 |
-
max-width: 100%;
|
1727 |
-
height: auto;
|
1728 |
-
margin: 0;
|
1729 |
-
padding: 0;
|
1730 |
-
}
|
1731 |
-
|
1732 |
-
/* Horizontal alignment */
|
1733 |
-
.fg-default .fg-image {
|
1734 |
-
vertical-align: top;
|
1735 |
-
}
|
1736 |
-
|
1737 |
-
.fg-default.fg-left {
|
1738 |
-
text-align: left;
|
1739 |
-
}
|
1740 |
-
|
1741 |
-
.fg-default.fg-center {
|
1742 |
-
text-align: center;
|
1743 |
-
}
|
1744 |
-
|
1745 |
-
.fg-default.fg-right {
|
1746 |
-
text-align: right;
|
1747 |
-
}
|
1748 |
-
|
1749 |
-
/* Gutter widths */
|
1750 |
-
.fg-default.fg-gutter-5 {
|
1751 |
-
padding-left: 5px;
|
1752 |
-
margin-bottom: -5px;
|
1753 |
-
}
|
1754 |
-
.fg-default.fg-gutter-5 .fg-item {
|
1755 |
-
margin-right: 5px;
|
1756 |
-
margin-bottom: 5px;
|
1757 |
-
}
|
1758 |
-
|
1759 |
-
.fg-default.fg-gutter-10 {
|
1760 |
-
padding-left: 10px;
|
1761 |
-
margin-bottom: -10px;
|
1762 |
-
}
|
1763 |
-
.fg-default.fg-gutter-10 .fg-item {
|
1764 |
-
margin-right: 10px;
|
1765 |
-
margin-bottom: 10px;
|
1766 |
-
}
|
1767 |
-
|
1768 |
-
.fg-default.fg-gutter-15 {
|
1769 |
-
padding-left: 15px;
|
1770 |
-
margin-bottom: -15px;
|
1771 |
-
}
|
1772 |
-
.fg-default.fg-gutter-15 .fg-item {
|
1773 |
-
margin-right: 15px;
|
1774 |
-
margin-bottom: 15px;
|
1775 |
-
}
|
1776 |
-
|
1777 |
-
.fg-default.fg-gutter-20 {
|
1778 |
-
padding-left: 20px;
|
1779 |
-
margin-bottom: -20px;
|
1780 |
-
}
|
1781 |
-
.fg-default.fg-gutter-20 .fg-item {
|
1782 |
-
margin-right: 20px;
|
1783 |
-
margin-bottom: 20px;
|
1784 |
-
}
|
1785 |
-
|
1786 |
-
.fg-default.fg-gutter-25 {
|
1787 |
-
padding-left: 25px;
|
1788 |
-
margin-bottom: -25px;
|
1789 |
-
}
|
1790 |
-
.fg-default.fg-gutter-25 .fg-item {
|
1791 |
-
margin-right: 25px;
|
1792 |
-
margin-bottom: 25px;
|
1793 |
-
}
|
1794 |
-
|
1795 |
-
|
1796 |
-
@media only screen and (max-width: 600px){
|
1797 |
-
.fg-default.fg-m-col1 .fg-image,
|
1798 |
-
.fg-default.fg-m-col2 .fg-image,
|
1799 |
-
.fg-default.fg-m-col3 .fg-image {
|
1800 |
-
width: 100%;
|
1801 |
-
}
|
1802 |
-
.fg-default.fg-m-col1.fg-gutter-5 .fg-item {
|
1803 |
-
width: calc(100% - 10px);
|
1804 |
-
min-width: calc(100% - 10px);
|
1805 |
-
max-width: calc(100% - 10px);
|
1806 |
-
}
|
1807 |
-
.fg-default.fg-m-col2.fg-gutter-5 .fg-item {
|
1808 |
-
width: calc(50% - 10px);
|
1809 |
-
min-width: calc(50% - 10px);
|
1810 |
-
max-width: calc(50% - 10px);
|
1811 |
-
}
|
1812 |
-
.fg-default.fg-m-col3.fg-gutter-5 .fg-item {
|
1813 |
-
width: calc(33.33% - 10px);
|
1814 |
-
min-width: calc(33.33% - 10px);
|
1815 |
-
max-width: calc(33.33% - 10px);
|
1816 |
-
}
|
1817 |
-
|
1818 |
-
.fg-default.fg-m-col1.fg-gutter-10 .fg-item {
|
1819 |
-
width: calc(100% - 20px);
|
1820 |
-
min-width: calc(100% - 20px);
|
1821 |
-
max-width: calc(100% - 20px);
|
1822 |
-
}
|
1823 |
-
.fg-default.fg-m-col2.fg-gutter-10 .fg-item {
|
1824 |
-
width: calc(50% - 20px);
|
1825 |
-
min-width: calc(50% - 20px);
|
1826 |
-
max-width: calc(50% - 20px);
|
1827 |
-
}
|
1828 |
-
.fg-default.fg-m-col3.fg-gutter-10 .fg-item {
|
1829 |
-
width: calc(33.33% - 20px);
|
1830 |
-
min-width: calc(33.33% - 20px);
|
1831 |
-
max-width: calc(33.33% - 20px);
|
1832 |
-
}
|
1833 |
-
|
1834 |
-
.fg-default.fg-m-col1.fg-gutter-15 .fg-item {
|
1835 |
-
width: calc(100% - 30px);
|
1836 |
-
min-width: calc(100% - 30px);
|
1837 |
-
max-width: calc(100% - 30px);
|
1838 |
-
}
|
1839 |
-
.fg-default.fg-m-col2.fg-gutter-15 .fg-item {
|
1840 |
-
width: calc(50% - 30px);
|
1841 |
-
min-width: calc(50% - 30px);
|
1842 |
-
max-width: calc(50% - 30px);
|
1843 |
-
}
|
1844 |
-
.fg-default.fg-m-col3.fg-gutter-15 .fg-item {
|
1845 |
-
width: calc(33.33% - 30px);
|
1846 |
-
min-width: calc(33.33% - 30px);
|
1847 |
-
max-width: calc(33.33% - 30px);
|
1848 |
-
}
|
1849 |
-
|
1850 |
-
.fg-default.fg-m-col1.fg-gutter-20 .fg-item {
|
1851 |
-
width: calc(100% - 40px);
|
1852 |
-
min-width: calc(100% - 40px);
|
1853 |
-
max-width: calc(100% - 40px);
|
1854 |
-
}
|
1855 |
-
.fg-default.fg-m-col2.fg-gutter-20 .fg-item {
|
1856 |
-
width: calc(50% - 40px);
|
1857 |
-
min-width: calc(50% - 40px);
|
1858 |
-
max-width: calc(50% - 40px);
|
1859 |
-
}
|
1860 |
-
.fg-default.fg-m-col3.fg-gutter-20 .fg-item {
|
1861 |
-
width: calc(33.33% - 40px);
|
1862 |
-
min-width: calc(33.33% - 40px);
|
1863 |
-
max-width: calc(33.33% - 40px);
|
1864 |
-
}
|
1865 |
-
|
1866 |
-
.fg-default.fg-m-col1.fg-gutter-25 .fg-item {
|
1867 |
-
width: calc(100% - 50px);
|
1868 |
-
min-width: calc(100% - 50px);
|
1869 |
-
max-width: calc(100% - 50px);
|
1870 |
-
}
|
1871 |
-
.fg-default.fg-m-col2.fg-gutter-25 .fg-item {
|
1872 |
-
width: calc(50% - 50px);
|
1873 |
-
min-width: calc(50% - 50px);
|
1874 |
-
max-width: calc(50% - 50px);
|
1875 |
-
}
|
1876 |
-
.fg-default.fg-m-col3.fg-gutter-25 .fg-item {
|
1877 |
-
width: calc(33.33% - 50px);
|
1878 |
-
min-width: calc(33.33% - 50px);
|
1879 |
-
max-width: calc(33.33% - 50px);
|
1880 |
-
}
|
1881 |
-
}
|
1882 |
-
/* Base styles */
|
1883 |
-
.fg-masonry * {
|
1884 |
-
box-sizing: border-box;
|
1885 |
-
}
|
1886 |
-
.foogallery.fg-masonry {
|
1887 |
-
margin: 0 auto;
|
1888 |
-
text-align: center;
|
1889 |
-
}
|
1890 |
-
.fg-masonry .fg-thumb {
|
1891 |
-
display: block;
|
1892 |
-
}
|
1893 |
-
.fg-masonry.fg-fixed .fg-item,
|
1894 |
-
.fg-masonry.fg-fixed .fg-image,
|
1895 |
-
.fg-masonry.fg-fixed .fg-column-width {
|
1896 |
-
max-width: 100%;
|
1897 |
-
}
|
1898 |
-
|
1899 |
-
.fg-masonry .fg-column-width {
|
1900 |
-
display: inline-block;
|
1901 |
-
border: solid 0 transparent;
|
1902 |
-
}
|
1903 |
-
.fg-masonry .fg-column-width,
|
1904 |
-
.fg-masonry .fg-gutter-width {
|
1905 |
-
position: absolute;
|
1906 |
-
height: 0;
|
1907 |
-
visibility: hidden;
|
1908 |
-
opacity: 0;
|
1909 |
-
pointer-events: none;
|
1910 |
-
}
|
1911 |
-
|
1912 |
-
.fg-masonry.fg-fixed .fg-item .fg-image,
|
1913 |
-
.fg-masonry.fg-col6 .fg-item .fg-image,
|
1914 |
-
.fg-masonry.fg-col5 .fg-item .fg-image,
|
1915 |
-
.fg-masonry.fg-col4 .fg-item .fg-image,
|
1916 |
-
.fg-masonry.fg-col3 .fg-item .fg-image,
|
1917 |
-
.fg-masonry.fg-col2 .fg-item .fg-image {
|
1918 |
-
width: 100%;
|
1919 |
-
height: auto;
|
1920 |
-
max-width: 100%;
|
1921 |
-
}
|
1922 |
-
|
1923 |
-
.fg-masonry .fg-item {
|
1924 |
-
line-height: 0;
|
1925 |
-
font-size: 0;
|
1926 |
-
vertical-align: top;
|
1927 |
-
}
|
1928 |
-
|
1929 |
-
/* 2 column layouts */
|
1930 |
-
/* 2 column layout - normal gutter */
|
1931 |
-
.fg-masonry.fg-col2 .fg-item { margin-bottom: 1%; width: 49.5%; }
|
1932 |
-
.fg-masonry.fg-col2 .fg-column-width { width: 49.5%; }
|
1933 |
-
.fg-masonry.fg-col2 .fg-gutter-width { width: 1%; }
|
1934 |
-
|
1935 |
-
/* 2 column layout - no gutter */
|
1936 |
-
.fg-masonry.fg-col2.fg-gutter-none .fg-item { margin-bottom: 0; width: 50%; }
|
1937 |
-
.fg-masonry.fg-col2.fg-gutter-none .fg-column-width { width: 50%; }
|
1938 |
-
.fg-masonry.fg-col2.fg-gutter-none .fg-gutter-width { width: 0; }
|
1939 |
-
|
1940 |
-
/* 2 column layout - large gutter */
|
1941 |
-
.fg-masonry.fg-col2.fg-gutter-large .fg-item { margin-bottom: 3%; width: 48.5%; }
|
1942 |
-
.fg-masonry.fg-col2.fg-gutter-large .fg-column-width { width: 48.5%; }
|
1943 |
-
.fg-masonry.fg-col2.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1944 |
-
|
1945 |
-
/* 3 column layouts */
|
1946 |
-
/* 3 column layout - normal gutter */
|
1947 |
-
.fg-masonry.fg-col3 .fg-item { margin-bottom: 1%; width: 32.66%; }
|
1948 |
-
.fg-masonry.fg-col3 .fg-column-width { width: 32.66%; }
|
1949 |
-
.fg-masonry.fg-col3 .fg-gutter-width { width: 1%; }
|
1950 |
-
|
1951 |
-
/* 3 column layout - no gutter */
|
1952 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-item { margin-bottom: 0; width: 33.33%; }
|
1953 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-column-width { width: 33.33%; }
|
1954 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width { width: 0; }
|
1955 |
-
|
1956 |
-
/* 3 column layout - large gutter */
|
1957 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-item { margin-bottom: 3%; width: 31.33%; }
|
1958 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-column-width { width: 31.33%; }
|
1959 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1960 |
-
|
1961 |
-
/* 4 column layouts */
|
1962 |
-
/* 4 column layout - normal gutter */
|
1963 |
-
.fg-masonry.fg-col4 .fg-item { margin-bottom: 1%; width: 24.25%; }
|
1964 |
-
.fg-masonry.fg-col4 .fg-column-width { width: 24.25%; }
|
1965 |
-
.fg-masonry.fg-col4 .fg-gutter-width { width: 1%; }
|
1966 |
-
|
1967 |
-
/* 4 column layout - no gutter */
|
1968 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-item { margin-bottom: 0; width: 25%; }
|
1969 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width { width: 25%; }
|
1970 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width { width: 0; }
|
1971 |
-
|
1972 |
-
/* 4 column layout - large gutter */
|
1973 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-item { margin-bottom: 3%; width: 22.75%; }
|
1974 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width { width: 22.75%; }
|
1975 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1976 |
-
|
1977 |
-
/* 5 column layouts */
|
1978 |
-
/* 5 column layout - normal gutter */
|
1979 |
-
.fg-masonry.fg-col5 .fg-item { margin-bottom: 1%; width: 19.2%; }
|
1980 |
-
.fg-masonry.fg-col5 .fg-column-width { width: 19.2%; }
|
1981 |
-
.fg-masonry.fg-col5 .fg-gutter-width { width: 1%; }
|
1982 |
-
|
1983 |
-
/* 5 column layout - no gutter */
|
1984 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-item { margin-bottom: 0; width: 20%; }
|
1985 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width { width: 20%; }
|
1986 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width { width: 0; }
|
1987 |
-
|
1988 |
-
/* 5 column layout - large gutter */
|
1989 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-item { margin-bottom: 3%; width: 17.6%; }
|
1990 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width { width: 17.6%; }
|
1991 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1992 |
-
|
1993 |
-
/* 6 column layouts */
|
1994 |
-
/* 6 column layout - normal gutter */
|
1995 |
-
.fg-masonry.fg-col6 .fg-item { margin-bottom: 1%; width: 15.83%; }
|
1996 |
-
.fg-masonry.fg-col6 .fg-column-width { width: 15.83%; }
|
1997 |
-
.fg-masonry.fg-col6 .fg-gutter-width { width: 1%; }
|
1998 |
-
|
1999 |
-
/* 6 column layout - no gutter */
|
2000 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-item { margin-bottom: 0; width: 16.66%; }
|
2001 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width { width: 16.66%; }
|
2002 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width { width: 0; }
|
2003 |
-
|
2004 |
-
/* 6 column layout - large gutter */
|
2005 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-item { margin-bottom: 3%; width: 14.16%; }
|
2006 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width { width: 14.16%; }
|
2007 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2008 |
-
|
2009 |
-
/* Force 5 column layout < 1280px */
|
2010 |
-
@media screen and (max-width: 1280px) {
|
2011 |
-
/* default gutter */
|
2012 |
-
.fg-masonry.fg-col6 .fg-item { margin-bottom: 1%; width: 19.2%; }
|
2013 |
-
.fg-masonry.fg-col6 .fg-column-width { width: 19.2%; }
|
2014 |
-
.fg-masonry.fg-col6 .fg-gutter-width { width: 1%; }
|
2015 |
-
|
2016 |
-
/* no gutter */
|
2017 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-item { margin-bottom: 0; width: 20%; }
|
2018 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width { width: 20%; }
|
2019 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width { width: 0; }
|
2020 |
-
|
2021 |
-
/* large gutter */
|
2022 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-item { margin-bottom: 3%; width: 17.6%; }
|
2023 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width { width: 17.6%; }
|
2024 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2025 |
-
}
|
2026 |
-
|
2027 |
-
/* Force 4 column layout < 1024px */
|
2028 |
-
@media screen and (max-width: 1024px) {
|
2029 |
-
/* default gutter */
|
2030 |
-
.fg-masonry.fg-col6 .fg-item,
|
2031 |
-
.fg-masonry.fg-col5 .fg-item { margin-bottom: 1%; width: 24.25%; }
|
2032 |
-
.fg-masonry.fg-col6 .fg-column-width,
|
2033 |
-
.fg-masonry.fg-col5 .fg-column-width { width: 24.25%; }
|
2034 |
-
.fg-masonry.fg-col6 .fg-gutter-width,
|
2035 |
-
.fg-masonry.fg-col5 .fg-gutter-width { width: 1%; }
|
2036 |
-
|
2037 |
-
/* no gutter */
|
2038 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2039 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-item { margin-bottom: 0; width: 25%; }
|
2040 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2041 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width { width: 25%; }
|
2042 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2043 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width { width: 0; }
|
2044 |
-
|
2045 |
-
/* large gutter */
|
2046 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2047 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-item { margin-bottom: 3%; width: 22.75%; }
|
2048 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2049 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width { width: 22.75%; }
|
2050 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2051 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2052 |
-
}
|
2053 |
-
|
2054 |
-
/* Force 3 column layout < 720px */
|
2055 |
-
@media screen and (max-width: 720px) {
|
2056 |
-
/* default gutter */
|
2057 |
-
.fg-masonry.fg-col6 .fg-item,
|
2058 |
-
.fg-masonry.fg-col5 .fg-item,
|
2059 |
-
.fg-masonry.fg-col4 .fg-item { margin-bottom: 1%; width: 32.66%; }
|
2060 |
-
.fg-masonry.fg-col6 .fg-column-width,
|
2061 |
-
.fg-masonry.fg-col5 .fg-column-width,
|
2062 |
-
.fg-masonry.fg-col4 .fg-column-width { width: 32.66%; }
|
2063 |
-
.fg-masonry.fg-col6 .fg-gutter-width,
|
2064 |
-
.fg-masonry.fg-col5 .fg-gutter-width,
|
2065 |
-
.fg-masonry.fg-col4 .fg-gutter-width { width: 1%; }
|
2066 |
-
|
2067 |
-
/* no gutter */
|
2068 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2069 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-item,
|
2070 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-item { margin-bottom: 0; width: 33.33%; }
|
2071 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2072 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,
|
2073 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width { width: 33.33%; }
|
2074 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2075 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,
|
2076 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width { width: 0; }
|
2077 |
-
|
2078 |
-
/* large gutter */
|
2079 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2080 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-item,
|
2081 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-item { margin-bottom: 3%; width: 31.33%; }
|
2082 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2083 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,
|
2084 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width { width: 31.33%; }
|
2085 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2086 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,
|
2087 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2088 |
-
|
2089 |
-
}
|
2090 |
-
|
2091 |
-
/* Force 2 column layout < 480px */
|
2092 |
-
@media screen and (max-width: 480px) {
|
2093 |
-
/* default gutter */
|
2094 |
-
.fg-masonry.fg-col6 .fg-item,
|
2095 |
-
.fg-masonry.fg-col5 .fg-item,
|
2096 |
-
.fg-masonry.fg-col4 .fg-item,
|
2097 |
-
.fg-masonry.fg-col3 .fg-item { margin-bottom: 1%; width: 49.5%; }
|
2098 |
-
.fg-masonry.fg-col6 .fg-column-width,
|
2099 |
-
.fg-masonry.fg-col5 .fg-column-width,
|
2100 |
-
.fg-masonry.fg-col4 .fg-column-width,
|
2101 |
-
.fg-masonry.fg-col3 .fg-column-width { width: 49.5%; }
|
2102 |
-
.fg-masonry.fg-col6 .fg-gutter-width,
|
2103 |
-
.fg-masonry.fg-col5 .fg-gutter-width,
|
2104 |
-
.fg-masonry.fg-col4 .fg-gutter-width,
|
2105 |
-
.fg-masonry.fg-col3 .fg-gutter-width { width: 1%; }
|
2106 |
-
|
2107 |
-
/* no gutter */
|
2108 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2109 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-item,
|
2110 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-item,
|
2111 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-item { margin-bottom: 0; width: 50%; }
|
2112 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2113 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,
|
2114 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,
|
2115 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-column-width { width: 50%; }
|
2116 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2117 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,
|
2118 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,
|
2119 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width { width: 0; }
|
2120 |
-
|
2121 |
-
/* large gutter */
|
2122 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2123 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-item,
|
2124 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-item,
|
2125 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-item { margin-bottom: 3%; width: 48.5%; }
|
2126 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2127 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,
|
2128 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,
|
2129 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-column-width { width: 48.5%; }
|
2130 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2131 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,
|
2132 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,
|
2133 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2134 |
-
}
|
2135 |
-
|
2136 |
-
/* Force 1 column layout < 320px */
|
2137 |
-
@media screen and (max-width: 320px) {
|
2138 |
-
/* default gutter */
|
2139 |
-
.fg-masonry.fg-col6 .fg-item,
|
2140 |
-
.fg-masonry.fg-col5 .fg-item,
|
2141 |
-
.fg-masonry.fg-col4 .fg-item,
|
2142 |
-
.fg-masonry.fg-col3 .fg-item,
|
2143 |
-
.fg-masonry.fg-col2 .fg-item { margin-bottom: 1%; width: 100%; }
|
2144 |
-
.fg-masonry.fg-col6 .fg-column-width,
|
2145 |
-
.fg-masonry.fg-col5 .fg-column-width,
|
2146 |
-
.fg-masonry.fg-col4 .fg-column-width,
|
2147 |
-
.fg-masonry.fg-col3 .fg-column-width,
|
2148 |
-
.fg-masonry.fg-col2 .fg-column-width { width: 100%; }
|
2149 |
-
.fg-masonry.fg-col6 .fg-gutter-width,
|
2150 |
-
.fg-masonry.fg-col5 .fg-gutter-width,
|
2151 |
-
.fg-masonry.fg-col4 .fg-gutter-width,
|
2152 |
-
.fg-masonry.fg-col3 .fg-gutter-width,
|
2153 |
-
.fg-masonry.fg-col2 .fg-gutter-width { width: 0; }
|
2154 |
-
|
2155 |
-
/* no gutter */
|
2156 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2157 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-item,
|
2158 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-item,
|
2159 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-item,
|
2160 |
-
.fg-masonry.fg-col2.fg-gutter-none .fg-item { margin-bottom: 0; width: 100%; }
|
2161 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2162 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,
|
2163 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,
|
2164 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-column-width,
|
2165 |
-
.fg-masonry.fg-col2.fg-gutter-none .fg-column-width { width: 100%; }
|
2166 |
-
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2167 |
-
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,
|
2168 |
-
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,
|
2169 |
-
.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width,
|
2170 |
-
.fg-masonry.fg-col2.fg-gutter-none .fg-gutter-width { width: 0; }
|
2171 |
-
|
2172 |
-
/* large gutter */
|
2173 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2174 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-item,
|
2175 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-item,
|
2176 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-item,
|
2177 |
-
.fg-masonry.fg-col2.fg-gutter-large .fg-item { margin-bottom: 3%; width: 100%; }
|
2178 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2179 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,
|
2180 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,
|
2181 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-column-width,
|
2182 |
-
.fg-masonry.fg-col2.fg-gutter-large .fg-column-width { width: 100%; }
|
2183 |
-
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2184 |
-
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,
|
2185 |
-
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,
|
2186 |
-
.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width,
|
2187 |
-
.fg-masonry.fg-col2.fg-gutter-large .fg-gutter-width { width: 0; }
|
2188 |
-
}
|
2189 |
-
|
2190 |
-
/* Border Styles - We must apply width changing border styles to the fg-column-width element so that the plugin can correctly determine the item widths. */
|
2191 |
-
.foogallery.fg-border-thin .fg-column-width {
|
2192 |
-
border-width: 4px;
|
2193 |
-
}
|
2194 |
-
.foogallery.fg-border-medium .fg-column-width {
|
2195 |
-
border-width: 10px;
|
2196 |
-
}
|
2197 |
-
.foogallery.fg-border-thick .fg-column-width {
|
2198 |
-
border-width: 16px;
|
2199 |
-
}
|
2200 |
-
|
2201 |
-
/* Captions Bottom */
|
2202 |
-
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption {
|
2203 |
-
visibility: visible;
|
2204 |
-
opacity: 1;
|
2205 |
-
font-size: 13px;
|
2206 |
-
position: relative;
|
2207 |
-
display: block;
|
2208 |
-
top: auto;
|
2209 |
-
bottom: auto;
|
2210 |
-
left: auto;
|
2211 |
-
right: auto;
|
2212 |
-
width: auto;
|
2213 |
-
height: auto;
|
2214 |
-
text-transform: none;
|
2215 |
-
transform: none;
|
2216 |
-
transition: none;
|
2217 |
-
background-color: transparent;
|
2218 |
-
border-style: solid;
|
2219 |
-
border-color: transparent;
|
2220 |
-
text-align: left;
|
2221 |
-
}
|
2222 |
-
.foogallery.fg-masonry.fg-captions-bottom.fg-c-l .fg-item-inner .fg-caption {
|
2223 |
-
text-align: left;
|
2224 |
-
}
|
2225 |
-
.foogallery.fg-masonry.fg-captions-bottom.fg-c-c .fg-item-inner .fg-caption {
|
2226 |
-
text-align: center;
|
2227 |
-
}
|
2228 |
-
.foogallery.fg-masonry.fg-captions-bottom.fg-c-r .fg-item-inner .fg-caption {
|
2229 |
-
text-align: right;
|
2230 |
-
}
|
2231 |
-
.foogallery.fg-masonry.fg-captions-bottom.fg-c-j .fg-item-inner .fg-caption {
|
2232 |
-
text-align: justify;
|
2233 |
-
}
|
2234 |
-
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner:hover .fg-caption {
|
2235 |
-
transform: none;
|
2236 |
-
transition: none;
|
2237 |
-
}
|
2238 |
-
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner {
|
2239 |
-
display: block;
|
2240 |
-
position: relative;
|
2241 |
-
max-height: none;
|
2242 |
-
top: auto;
|
2243 |
-
bottom: auto;
|
2244 |
-
left: auto;
|
2245 |
-
right: auto;
|
2246 |
-
width: auto;
|
2247 |
-
height: auto;
|
2248 |
-
border: none;
|
2249 |
-
transform: none;
|
2250 |
-
transition: none;
|
2251 |
-
}
|
2252 |
-
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner:before {
|
2253 |
-
display: none;
|
2254 |
-
}
|
2255 |
-
.foogallery.fg-masonry.fg-captions-bottom.fg-caption-hover .fg-item-inner .fg-image-overlay {
|
2256 |
-
display: block;
|
2257 |
-
}
|
2258 |
-
.foogallery.fg-masonry.fg-captions-bottom.fg-caption-always .fg-item-inner:hover .fg-caption {
|
2259 |
-
visibility: visible;
|
2260 |
-
opacity: 1;
|
2261 |
-
}
|
2262 |
-
|
2263 |
-
.fg-masonry.fg-captions-bottom.fg-light .fg-caption,
|
2264 |
-
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption {
|
2265 |
-
color: #828282;
|
2266 |
-
}
|
2267 |
-
.fg-masonry.fg-captions-bottom.fg-light .fg-caption a,
|
2268 |
-
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a {
|
2269 |
-
color: #828282;
|
2270 |
-
border-bottom: 1px solid #828282;
|
2271 |
-
}
|
2272 |
-
.fg-masonry.fg-captions-bottom.fg-light .fg-caption a:hover,
|
2273 |
-
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a:hover {
|
2274 |
-
border-bottom: none;
|
2275 |
-
}
|
2276 |
-
.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title,
|
2277 |
-
.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a {
|
2278 |
-
color: #222;
|
2279 |
-
}
|
2280 |
-
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title,
|
2281 |
-
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a {
|
2282 |
-
color: #FFF;
|
2283 |
-
}
|
2284 |
-
.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a {
|
2285 |
-
border-bottom: 1px solid #222;
|
2286 |
-
}
|
2287 |
-
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a {
|
2288 |
-
border-bottom: 1px solid #FFF;
|
2289 |
-
}
|
2290 |
-
|
2291 |
-
/* Handle Border Sizing for Captions Below */
|
2292 |
-
.fg-masonry.fg-captions-bottom .fg-caption {
|
2293 |
-
border-width: 10px;
|
2294 |
-
}
|
2295 |
-
.fg-masonry.fg-captions-bottom .fg-caption-title+.fg-caption-desc {
|
2296 |
-
margin-top: 4px;
|
2297 |
-
}
|
2298 |
-
.fg-masonry.fg-captions-bottom.fg-border-thin .fg-caption {
|
2299 |
-
border-width: 10px 4px 4px 4px;
|
2300 |
-
}
|
2301 |
-
.fg-masonry.fg-captions-bottom.fg-border-medium .fg-caption {
|
2302 |
-
border-width: 10px 0 0 0;
|
2303 |
-
}
|
2304 |
-
.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption {
|
2305 |
-
border-width: 16px 0 0 0;
|
2306 |
-
}
|
2307 |
-
.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption-title+.fg-caption-desc {
|
2308 |
-
margin-top: 10px;
|
2309 |
-
}
|
2310 |
-
|
2311 |
-
/* Transparent Theme */
|
2312 |
-
.fg-masonry.fg-transparent .fg-item-inner {
|
2313 |
-
background-color: transparent;
|
2314 |
-
color: #333;
|
2315 |
-
border-color: transparent;
|
2316 |
-
}
|
2317 |
-
|
2318 |
-
/* Captions */
|
2319 |
-
.fg-masonry.fg-transparent .fg-caption {
|
2320 |
-
color: #7f7f7f;
|
2321 |
-
}
|
2322 |
-
.fg-masonry.fg-transparent.fg-captions-bottom .fg-caption {
|
2323 |
-
border-width: 0;
|
2324 |
-
border-top-width: 10px;
|
2325 |
-
border-bottom-width: 10px;
|
2326 |
-
}
|
2327 |
-
.fg-masonry.fg-transparent .fg-caption a {
|
2328 |
-
color: #7f7f7f;
|
2329 |
-
border-bottom: 1px solid #7f7f7f;
|
2330 |
-
}
|
2331 |
-
.fg-masonry.fg-transparent .fg-caption a:hover {
|
2332 |
-
border-bottom: none;
|
2333 |
-
}
|
2334 |
-
.fg-masonry.fg-transparent .fg-caption-title,
|
2335 |
-
.fg-masonry.fg-transparent .fg-caption-title a {
|
2336 |
-
color: #333;
|
2337 |
-
}
|
2338 |
-
.fg-masonry.fg-transparent .fg-caption-title a {
|
2339 |
-
border-bottom: 1px solid #333;
|
2340 |
-
}
|
2341 |
-
|
2342 |
-
/* Rounded Corners */
|
2343 |
-
.fg-masonry.fg-transparent.fg-round-full .fg-item,
|
2344 |
-
.fg-masonry.fg-transparent.fg-round-full .fg-item-inner {
|
2345 |
-
border-radius: 15px;
|
2346 |
-
}
|
2347 |
-
.fg-masonry.fg-transparent.fg-round-full .fg-image-wrap,
|
2348 |
-
.fg-masonry.fg-transparent.fg-round-full .fg-image-overlay,
|
2349 |
-
.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-small .fg-thumb:after,
|
2350 |
-
.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,
|
2351 |
-
.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-large .fg-thumb:after {
|
2352 |
-
border-radius: 50%;
|
2353 |
-
overflow: hidden;
|
2354 |
-
}
|
2355 |
-
|
2356 |
-
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2357 |
-
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,
|
2358 |
-
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2359 |
-
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,
|
2360 |
-
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2361 |
-
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2362 |
-
overflow: hidden;
|
2363 |
-
}
|
2364 |
-
.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2365 |
-
.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2366 |
-
.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2367 |
-
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2368 |
-
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2369 |
-
border-radius: 5px;
|
2370 |
-
}
|
2371 |
-
.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2372 |
-
.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2373 |
-
.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2374 |
-
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2375 |
-
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2376 |
-
border-radius: 10px;
|
2377 |
-
}
|
2378 |
-
.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2379 |
-
.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2380 |
-
.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2381 |
-
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2382 |
-
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2383 |
-
border-radius: 15px;
|
2384 |
-
}
|
2385 |
-
|
2386 |
-
/* Shadows */
|
2387 |
-
.fg-masonry.fg-transparent.fg-shadow-inset-small .fg-thumb:after {
|
2388 |
-
box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.3);
|
2389 |
-
}
|
2390 |
-
.fg-masonry.fg-transparent.fg-shadow-inset-medium .fg-thumb:after {
|
2391 |
-
box-shadow: inset 0 1px 10px 0 rgba(0,0,0,0.3);
|
2392 |
-
}
|
2393 |
-
.fg-masonry.fg-transparent.fg-shadow-inset-large .fg-thumb:after {
|
2394 |
-
box-shadow: inset 0 1px 16px 0 rgba(0,0,0,0.3);
|
2395 |
-
}
|
2396 |
-
|
2397 |
-
.fg-masonry.fg-transparent.fg-shadow-outline .fg-item-inner {
|
2398 |
-
box-shadow: 0 0 0 1px rgba(128, 128, 128, 0.5);
|
2399 |
-
}
|
2400 |
-
.fg-masonry.fg-transparent.fg-shadow-small .fg-item-inner {
|
2401 |
-
box-shadow: 0 1px 4px 0 rgba(128, 128, 128, 0.5);
|
2402 |
-
}
|
2403 |
-
.fg-masonry.fg-transparent.fg-shadow-medium .fg-item-inner {
|
2404 |
-
box-shadow: 0 1px 10px 0 rgba(128, 128, 128, 0.5);
|
2405 |
-
}
|
2406 |
-
.fg-masonry.fg-transparent.fg-shadow-large .fg-item-inner {
|
2407 |
-
box-shadow: 0 1px 16px 0 rgba(128, 128, 128, 0.5);
|
2408 |
-
}
|
2409 |
-
/* Base Styles */
|
2410 |
-
.fg-justified {
|
2411 |
-
box-sizing: border-box;
|
2412 |
-
position: relative;
|
2413 |
-
text-align: center;
|
2414 |
-
}
|
2415 |
-
.foogallery.fg-justified .fg-item {
|
2416 |
-
box-sizing: border-box;
|
2417 |
-
display: inline-block;
|
2418 |
-
margin: 0;
|
2419 |
-
padding: 0;
|
2420 |
-
}
|
2421 |
-
.foogallery.fg-justified .fg-item-inner,
|
2422 |
-
.foogallery.fg-justified .fg-thumb,
|
2423 |
-
.foogallery.fg-justified .fg-image {
|
2424 |
-
box-sizing: border-box;
|
2425 |
-
display: block;
|
2426 |
-
margin: 0;
|
2427 |
-
padding: 0;
|
2428 |
-
}
|
2429 |
-
.fg-justified .fg-item {
|
2430 |
-
visibility: visible;
|
2431 |
-
position: relative;
|
2432 |
-
}
|
2433 |
-
.fg-justified .fg-item-inner {
|
2434 |
-
position: relative;
|
2435 |
-
width: 100%;
|
2436 |
-
height: 100%;
|
2437 |
-
}
|
2438 |
-
.fg-justified .fg-thumb {
|
2439 |
-
position: relative;
|
2440 |
-
overflow: hidden;
|
2441 |
-
}
|
2442 |
-
.fg-justified .fg-image {
|
2443 |
-
z-index: 1;
|
2444 |
-
}
|
2445 |
-
.fg-justified .fg-item.fg-positioned .fg-thumb,
|
2446 |
-
.fg-justified .fg-item.fg-positioned .fg-image-wrap {
|
2447 |
-
width: 100%;
|
2448 |
-
height: 100%;
|
2449 |
-
}
|
2450 |
-
.fg-justified .fg-item.fg-positioned .fg-image {
|
2451 |
-
width: 100%!important;
|
2452 |
-
height: auto!important;
|
2453 |
-
min-height: 100%;
|
2454 |
-
}
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
|
2473 |
-
|
2474 |
-
|
2475 |
-
|
2476 |
-
|
2477 |
-
|
2478 |
-
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
}
|
2483 |
-
|
2484 |
-
|
2485 |
-
|
2486 |
-
|
2487 |
-
|
2488 |
-
|
2489 |
-
|
2490 |
-
|
2491 |
-
|
2492 |
-
|
2493 |
-
|
2494 |
-
|
2495 |
-
|
2496 |
-
|
2497 |
-
|
2498 |
-
|
2499 |
-
|
2500 |
-
|
2501 |
-
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
}
|
2511 |
-
.fg-simple_portfolio .fg-item-inner {
|
2512 |
-
|
2513 |
-
|
2514 |
-
|
2515 |
-
|
2516 |
-
}
|
2517 |
-
.fg-simple_portfolio.fg-
|
2518 |
-
|
2519 |
-
}
|
2520 |
-
.fg-simple_portfolio .fg-
|
2521 |
-
|
2522 |
-
|
2523 |
-
|
2524 |
-
|
2525 |
-
|
2526 |
-
|
2527 |
-
|
2528 |
-
|
2529 |
-
|
2530 |
-
|
2531 |
-
|
2532 |
-
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
-
|
2541 |
-
|
2542 |
-
|
2543 |
-
|
2544 |
-
|
2545 |
-
|
2546 |
-
|
2547 |
-
|
2548 |
-
|
2549 |
-
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
2555 |
-
.
|
2556 |
-
|
2557 |
-
}
|
2558 |
-
.
|
2559 |
-
|
2560 |
-
|
2561 |
-
|
2562 |
-
|
2563 |
-
|
2564 |
-
.
|
2565 |
-
|
2566 |
-
|
2567 |
-
|
2568 |
-
.
|
2569 |
-
|
2570 |
-
|
2571 |
-
|
2572 |
-
|
2573 |
-
|
2574 |
-
|
2575 |
-
|
2576 |
-
border:
|
2577 |
-
|
2578 |
-
|
2579 |
-
|
2580 |
-
|
2581 |
-
|
2582 |
-
|
2583 |
-
.
|
2584 |
-
|
2585 |
-
}
|
2586 |
-
.
|
2587 |
-
|
2588 |
-
|
2589 |
-
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
2594 |
-
|
2595 |
-
.fg-simple_portfolio.fg-
|
2596 |
-
|
2597 |
-
|
2598 |
-
|
2599 |
-
|
2600 |
-
|
2601 |
-
|
2602 |
-
border-
|
2603 |
-
}
|
2604 |
-
.fg-simple_portfolio.fg-
|
2605 |
-
|
2606 |
-
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
-
.fg-simple_portfolio.fg-
|
2613 |
-
|
2614 |
-
color: #
|
2615 |
-
|
2616 |
-
|
2617 |
-
|
2618 |
-
|
2619 |
-
.fg-simple_portfolio.fg-
|
2620 |
-
|
2621 |
-
}
|
2622 |
-
|
2623 |
-
|
2624 |
-
|
2625 |
-
|
2626 |
-
|
2627 |
-
|
2628 |
-
|
2629 |
-
|
2630 |
-
.fg-simple_portfolio.fg-
|
2631 |
-
|
2632 |
-
}
|
2633 |
-
.fg-simple_portfolio.fg-
|
2634 |
-
border-
|
2635 |
-
}
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
.fg-simple_portfolio.fg-
|
2640 |
-
border-
|
2641 |
-
}
|
2642 |
-
.fg-simple_portfolio.fg-
|
2643 |
-
|
2644 |
-
|
2645 |
-
.fg-simple_portfolio.fg-
|
2646 |
-
|
2647 |
-
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
-
.fg-simple_portfolio.fg-transparent .fg-
|
2654 |
-
|
2655 |
-
|
2656 |
-
|
2657 |
-
|
2658 |
-
|
2659 |
-
|
2660 |
-
.fg-simple_portfolio.fg-transparent .fg-
|
2661 |
-
|
2662 |
-
|
2663 |
-
.fg-simple_portfolio.fg-transparent .fg-
|
2664 |
-
|
2665 |
-
|
2666 |
-
|
2667 |
-
.fg-simple_portfolio.fg-transparent .fg-
|
2668 |
-
|
2669 |
-
|
2670 |
-
.fg-simple_portfolio.fg-transparent .fg-
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
.fg-simple_portfolio.fg-transparent
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
.fg-simple_portfolio.fg-transparent.fg-
|
2686 |
-
|
2687 |
-
|
2688 |
-
|
2689 |
-
|
2690 |
-
}
|
2691 |
-
|
2692 |
-
.fg-simple_portfolio.fg-transparent.fg-
|
2693 |
-
|
2694 |
-
|
2695 |
-
.fg-simple_portfolio.fg-transparent.fg-
|
2696 |
-
|
2697 |
-
|
2698 |
-
|
2699 |
-
|
2700 |
-
|
2701 |
-
.fg-simple_portfolio.fg-transparent.fg-
|
2702 |
-
|
2703 |
-
|
2704 |
-
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
-
|
2709 |
-
|
2710 |
-
.
|
2711 |
-
|
2712 |
-
|
2713 |
-
}
|
2714 |
-
.
|
2715 |
-
|
2716 |
-
|
2717 |
-
|
2718 |
-
.
|
2719 |
-
|
2720 |
-
|
2721 |
-
|
2722 |
-
|
2723 |
-
|
2724 |
-
|
2725 |
-
}
|
2726 |
-
|
2727 |
-
|
2728 |
-
|
2729 |
-
|
2730 |
-
|
2731 |
-
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
|
2737 |
-
|
2738 |
-
|
2739 |
-
.
|
2740 |
-
|
2741 |
-
|
2742 |
-
|
2743 |
-
|
2744 |
-
|
2745 |
-
|
2746 |
-
.foogallery.fg-preset.fg-polaroid .fg-
|
2747 |
-
|
2748 |
-
|
2749 |
-
|
2750 |
-
|
2751 |
-
.foogallery.fg-preset.fg-polaroid .fg-
|
2752 |
-
|
2753 |
-
|
2754 |
-
}
|
2755 |
-
.foogallery.fg-preset.fg-polaroid .fg-
|
2756 |
-
|
2757 |
-
|
2758 |
-
|
2759 |
-
|
2760 |
-
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
-
|
2765 |
-
|
2766 |
-
|
2767 |
-
|
2768 |
-
.foogallery.fg-preset.fg-polaroid .fg-
|
2769 |
-
-
|
2770 |
-
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
width:
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
.foogallery.fg-preset.fg-polaroid .fg-caption
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
-
|
2791 |
-
|
2792 |
-
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
-
|
2800 |
-
|
2801 |
-
.
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
}
|
2812 |
-
.
|
2813 |
-
|
2814 |
-
|
2815 |
-
|
2816 |
-
border-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
}
|
2821 |
-
.
|
2822 |
-
|
2823 |
-
|
2824 |
-
.
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
|
2829 |
-
|
2830 |
-
|
2831 |
-
|
2832 |
-
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
-
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
text-
|
2841 |
-
|
2842 |
-
|
2843 |
-
|
2844 |
-
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
display:
|
2849 |
-
max-width: 100%;
|
2850 |
-
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
|
2860 |
-
|
2861 |
-
|
2862 |
-
|
2863 |
-
.fg-image-viewer .fiv-inner .fiv-
|
2864 |
-
|
2865 |
-
|
2866 |
-
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
height:
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
-
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
-
|
2907 |
-
|
2908 |
-
}
|
2909 |
-
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-
|
2910 |
-
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
-
|
2924 |
-
|
2925 |
-
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
2933 |
-
|
2934 |
-
|
2935 |
-
|
2936 |
-
|
2937 |
-
|
2938 |
-
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
-
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
.fg-image-viewer
|
2961 |
-
|
2962 |
-
}
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
.fg-image-viewer
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
-
|
2978 |
-
|
2979 |
-
.
|
2980 |
-
|
2981 |
-
}
|
2982 |
-
|
2983 |
-
|
2984 |
-
|
2985 |
-
|
2986 |
-
|
2987 |
-
|
2988 |
-
|
2989 |
-
.fg-image-viewer
|
2990 |
-
.fg-image-viewer.fg-
|
2991 |
-
|
2992 |
-
|
2993 |
-
|
2994 |
-
|
2995 |
-
|
2996 |
-
|
2997 |
-
.fg-image-viewer.fg-
|
2998 |
-
|
2999 |
-
|
3000 |
-
|
3001 |
-
.fg-image-viewer
|
3002 |
-
|
3003 |
-
|
3004 |
-
|
3005 |
-
|
3006 |
-
|
3007 |
-
|
3008 |
-
|
3009 |
-
.fg-image-viewer.fg-
|
3010 |
-
.fg-image-viewer.fg-
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
-
.fg-image-viewer.fg-
|
3016 |
-
|
3017 |
-
|
3018 |
-
}
|
3019 |
-
.fg-image-viewer.fg-
|
3020 |
-
.fg-image-viewer.fg-
|
3021 |
-
|
3022 |
-
}
|
3023 |
-
|
3024 |
-
|
3025 |
-
.foogallery.fg-image-viewer.fg-border-thin .fg-item-inner,
|
3026 |
-
.foogallery.fg-image-viewer.fg-border-
|
3027 |
-
.foogallery.fg-image-viewer.fg-border-
|
3028 |
-
|
3029 |
-
|
3030 |
-
.foogallery.fg-image-viewer .fiv-
|
3031 |
-
.foogallery.fg-image-viewer.fg-border-
|
3032 |
-
|
3033 |
-
|
3034 |
-
.foogallery.fg-image-viewer.fg-border-
|
3035 |
-
.foogallery.fg-image-viewer.fg-border-
|
3036 |
-
border-
|
3037 |
-
}
|
3038 |
-
|
3039 |
-
.foogallery.fg-image-viewer.fg-
|
3040 |
-
|
3041 |
-
|
3042 |
-
|
3043 |
-
|
3044 |
-
.foogallery.fg-image-viewer.fg-
|
3045 |
-
.foogallery.fg-image-viewer.fg-
|
3046 |
-
border-
|
3047 |
-
|
3048 |
-
|
3049 |
-
|
3050 |
-
.foogallery.fg-image-viewer.fg-round-
|
3051 |
-
|
3052 |
-
|
3053 |
-
|
3054 |
-
|
3055 |
-
.foogallery.fg-image-viewer.fg-round-
|
3056 |
-
.foogallery.fg-image-viewer.fg-
|
3057 |
-
border-
|
3058 |
-
|
3059 |
-
|
3060 |
-
.foogallery.fg-image-viewer.fg-round-
|
3061 |
-
.foogallery.fg-image-viewer.fg-round-
|
3062 |
-
|
3063 |
-
|
3064 |
-
|
3065 |
-
.foogallery.fg-image-viewer.fg-border-
|
3066 |
-
.foogallery.fg-image-viewer.fg-border-
|
3067 |
-
|
3068 |
-
|
3069 |
-
|
3070 |
-
.foogallery.fg-image-viewer.fg-
|
3071 |
-
.foogallery.fg-image-viewer.fg-
|
3072 |
-
.foogallery.fg-image-viewer.fg-
|
3073 |
-
|
3074 |
-
|
3075 |
-
.foogallery.fg-image-viewer.fg-
|
3076 |
-
.foogallery.fg-image-viewer.fg-
|
3077 |
-
border-radius:
|
3078 |
-
|
3079 |
-
|
3080 |
-
.foogallery.fg-image-viewer.fg-round-
|
3081 |
-
.foogallery.fg-image-viewer.fg-round-
|
3082 |
-
|
3083 |
-
|
3084 |
-
|
3085 |
-
.foogallery.fg-image-viewer.fg-round-
|
3086 |
-
.foogallery.fg-image-viewer.fg-
|
3087 |
-
|
3088 |
-
border-
|
3089 |
-
}
|
3090 |
-
|
3091 |
-
.foogallery.fg-image-viewer.fg-round-
|
3092 |
-
|
3093 |
-
|
3094 |
-
.foogallery.fg-image-viewer.fg-border-
|
3095 |
-
|
3096 |
-
|
3097 |
-
|
3098 |
-
|
3099 |
-
|
3100 |
-
.foogallery.fg-image-viewer.fg-border-
|
3101 |
-
.foogallery.fg-image-viewer.fg-border-
|
3102 |
-
|
3103 |
-
|
3104 |
-
|
3105 |
-
.foogallery.fg-image-viewer.fg-
|
3106 |
-
.foogallery.fg-image-viewer.fg-
|
3107 |
-
.foogallery.fg-image-viewer.fg-
|
3108 |
-
border-radius:
|
3109 |
-
}
|
3110 |
-
|
3111 |
-
|
3112 |
-
.foogallery.fg-image-viewer.fg-
|
3113 |
-
.foogallery.fg-image-viewer.fg-
|
3114 |
-
|
3115 |
-
|
3116 |
-
.foogallery.fg-image-viewer.fg-
|
3117 |
-
.foogallery.fg-image-viewer.fg-
|
3118 |
-
|
3119 |
-
|
3120 |
-
|
3121 |
-
|
3122 |
-
|
3123 |
-
|
3124 |
-
|
3125 |
-
|
3126 |
-
.foogallery.fg-image-viewer.fg-
|
3127 |
-
|
3128 |
-
|
3129 |
-
|
3130 |
-
|
3131 |
-
|
3132 |
-
|
3133 |
-
.foogallery.fg-image-viewer.fg-
|
3134 |
-
.foogallery.fg-image-viewer.fg-
|
3135 |
-
|
3136 |
-
|
3137 |
-
|
3138 |
-
|
3139 |
-
|
3140 |
-
|
3141 |
-
.foogallery.fg-
|
3142 |
-
.foogallery.fg-
|
3143 |
-
|
3144 |
-
}
|
3145 |
-
|
3146 |
-
|
3147 |
-
|
3148 |
-
.foogallery.fg-
|
3149 |
-
|
3150 |
-
}
|
3151 |
-
|
3152 |
-
|
3153 |
-
|
3154 |
-
|
3155 |
-
|
3156 |
-
.foogallery.fg-
|
3157 |
-
|
3158 |
-
|
3159 |
-
|
3160 |
-
|
3161 |
-
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
-
|
3166 |
-
|
3167 |
-
|
3168 |
-
|
3169 |
-
|
3170 |
-
|
3171 |
-
|
3172 |
-
|
3173 |
-
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
|
3178 |
-
|
3179 |
-
|
3180 |
-
|
3181 |
-
|
3182 |
-
|
3183 |
-
|
3184 |
-
|
3185 |
-
|
3186 |
-
|
3187 |
-
|
3188 |
-
|
3189 |
-
|
3190 |
-
|
3191 |
-
|
3192 |
-
|
3193 |
-
|
3194 |
-
|
3195 |
-
|
3196 |
-
|
3197 |
-
|
3198 |
-
|
3199 |
-
|
3200 |
-
|
3201 |
-
|
3202 |
-
|
3203 |
-
|
3204 |
-
|
3205 |
-
|
3206 |
-
|
3207 |
-
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
-
|
3212 |
-
|
3213 |
-
|
3214 |
-
|
3215 |
-
|
3216 |
-
|
3217 |
-
|
3218 |
-
|
3219 |
-
|
3220 |
-
|
3221 |
-
|
3222 |
-
|
3223 |
-
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
-
text-align:
|
3228 |
-
|
3229 |
-
|
3230 |
-
|
3231 |
-
}
|
3232 |
-
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
3237 |
-
|
3238 |
-
|
3239 |
-
|
3240 |
-
|
3241 |
-
|
3242 |
-
|
3243 |
-
|
3244 |
-
|
3245 |
-
|
3246 |
-
|
3247 |
-
|
3248 |
-
|
3249 |
-
|
3250 |
-
|
3251 |
-
|
3252 |
-
|
3253 |
-
|
3254 |
-
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
-
|
3260 |
-
|
3261 |
-
|
3262 |
-
|
3263 |
-
|
3264 |
-
|
3265 |
-
|
3266 |
-
|
3267 |
-
|
3268 |
-
|
3269 |
-
transition-property:
|
3270 |
-
transition-duration: .3s;
|
3271 |
-
transition-timing-function: ease-in-out;
|
3272 |
-
}
|
3273 |
-
|
3274 |
-
.fg-
|
3275 |
-
display: block;
|
3276 |
-
|
3277 |
-
|
3278 |
-
|
3279 |
-
|
3280 |
-
|
3281 |
-
|
3282 |
-
|
3283 |
-
|
3284 |
-
|
3285 |
-
|
3286 |
-
|
3287 |
-
|
3288 |
-
|
3289 |
-
|
3290 |
-
|
3291 |
-
|
3292 |
-
|
3293 |
-
|
3294 |
-
|
3295 |
-
|
3296 |
-
|
3297 |
-
|
3298 |
-
|
3299 |
-
|
3300 |
-
|
3301 |
-
|
3302 |
-
|
3303 |
-
|
3304 |
-
|
3305 |
-
|
3306 |
-
|
3307 |
-
|
3308 |
-
|
3309 |
-
|
3310 |
-
|
3311 |
-
|
3312 |
-
|
3313 |
-
|
3314 |
-
|
3315 |
-
|
3316 |
-
|
3317 |
-
|
3318 |
-
|
3319 |
-
|
3320 |
-
|
3321 |
-
|
3322 |
-
|
3323 |
-
|
3324 |
-
|
3325 |
-
|
3326 |
-
|
3327 |
-
|
3328 |
-
|
3329 |
-
|
3330 |
-
.fg-pile
|
3331 |
-
visibility: hidden;
|
3332 |
-
opacity: 0;
|
3333 |
-
}
|
3334 |
-
|
3335 |
-
|
3336 |
-
|
3337 |
-
|
3338 |
-
|
3339 |
-
|
3340 |
-
|
3341 |
-
|
3342 |
-
|
3343 |
-
|
3344 |
-
|
3345 |
-
|
3346 |
-
|
3347 |
-
|
3348 |
-
|
3349 |
-
|
3350 |
-
|
3351 |
-
|
3352 |
-
|
3353 |
-
|
3354 |
-
|
3355 |
-
|
3356 |
-
|
3357 |
-
|
3358 |
-
|
3359 |
-
|
3360 |
-
|
3361 |
-
|
3362 |
-
|
3363 |
-
|
3364 |
-
|
3365 |
-
|
3366 |
-
|
3367 |
-
|
3368 |
-
|
3369 |
-
|
3370 |
-
|
3371 |
-
|
3372 |
-
|
3373 |
-
|
3374 |
-
|
3375 |
-
|
3376 |
-
|
3377 |
-
|
3378 |
-
|
3379 |
-
|
3380 |
-
|
3381 |
-
|
3382 |
-
|
3383 |
-
|
3384 |
-
|
3385 |
-
|
3386 |
-
}
|
3387 |
-
|
3388 |
-
.fg-pile-
|
3389 |
-
display: flex;
|
3390 |
-
justify-content:
|
3391 |
-
|
3392 |
-
position: absolute;
|
3393 |
-
top: 0;
|
3394 |
-
left: 0;
|
3395 |
-
bottom: 0;
|
3396 |
-
right: 0;
|
3397 |
-
width: 100%;
|
3398 |
-
height: 100%;
|
3399 |
-
|
3400 |
-
|
3401 |
-
|
3402 |
-
|
3403 |
-
|
3404 |
-
|
3405 |
-
|
3406 |
-
|
3407 |
-
transition-
|
3408 |
-
transition-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
3412 |
-
|
3413 |
-
|
3414 |
-
|
3415 |
-
|
3416 |
-
|
3417 |
-
|
3418 |
-
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
3422 |
-
|
3423 |
-
|
3424 |
-
|
3425 |
-
|
3426 |
-
|
3427 |
-
|
3428 |
-
|
3429 |
-
|
3430 |
-
|
3431 |
-
|
3432 |
-
|
3433 |
-
|
3434 |
-
|
3435 |
-
|
3436 |
-
|
3437 |
-
|
3438 |
-
|
3439 |
-
|
3440 |
-
|
3441 |
-
|
3442 |
-
|
3443 |
-
-
|
3444 |
-
-
|
3445 |
-
-
|
3446 |
-
-
|
3447 |
-
|
3448 |
-
|
3449 |
-
|
3450 |
-
|
3451 |
-
|
3452 |
-
|
3453 |
-
|
3454 |
-
|
3455 |
-
|
3456 |
-
|
3457 |
-
}
|
3458 |
-
|
3459 |
-
|
3460 |
-
|
3461 |
-
|
3462 |
-
|
3463 |
-
|
3464 |
-
|
3465 |
-
|
3466 |
-
|
3467 |
-
|
3468 |
-
|
3469 |
-
|
3470 |
-
|
3471 |
-
|
3472 |
-
|
3473 |
-
|
3474 |
-
|
3475 |
-
|
3476 |
-
|
3477 |
-
|
3478 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3479 |
}
|
1 |
+
.foogallery, .foogallery * {
|
2 |
+
box-sizing: border-box;
|
3 |
+
}
|
4 |
+
.foogallery {
|
5 |
+
display: block;
|
6 |
+
z-index: 1;
|
7 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
8 |
+
position: relative;
|
9 |
+
line-height: 0;
|
10 |
+
font-size: 0;
|
11 |
+
width: 100%;
|
12 |
+
max-width: 100%;
|
13 |
+
}
|
14 |
+
.foogallery .fg-item {
|
15 |
+
display: inline-block;
|
16 |
+
position: relative;
|
17 |
+
background-color: transparent;
|
18 |
+
z-index: 2;
|
19 |
+
-webkit-user-select: none;
|
20 |
+
-moz-user-select: none;
|
21 |
+
-ms-user-select: none;
|
22 |
+
user-select: none;
|
23 |
+
}
|
24 |
+
.foogallery .fg-item.fg-hidden {
|
25 |
+
display: none!important;
|
26 |
+
}
|
27 |
+
.foogallery .fg-item-inner {
|
28 |
+
display: block;
|
29 |
+
position: relative;
|
30 |
+
visibility: hidden;
|
31 |
+
overflow: hidden;
|
32 |
+
opacity: 0;
|
33 |
+
z-index: 3;
|
34 |
+
margin: 0;
|
35 |
+
border: solid 0 transparent;
|
36 |
+
}
|
37 |
+
|
38 |
+
.foogallery .fg-item.fg-error:before {
|
39 |
+
content: "";
|
40 |
+
display: block;
|
41 |
+
position: absolute;
|
42 |
+
top: 50%;
|
43 |
+
left: 50%;
|
44 |
+
transform: translateX(-50%) translateY(-50%);
|
45 |
+
width: 32px;
|
46 |
+
height: 32px;
|
47 |
+
background-image: url('../img/icons.svg#image');
|
48 |
+
background-color: transparent;
|
49 |
+
background-repeat: no-repeat;
|
50 |
+
background-position: center center;
|
51 |
+
background-size: 32px 32px;
|
52 |
+
}
|
53 |
+
|
54 |
+
.foogallery .fg-item.fg-loaded {
|
55 |
+
z-index: 4;
|
56 |
+
}
|
57 |
+
.foogallery .fg-loaded .fg-item-inner {
|
58 |
+
visibility: visible;
|
59 |
+
opacity: 1;
|
60 |
+
z-index: 5;
|
61 |
+
}
|
62 |
+
.foogallery .fg-error .fg-item-inner {
|
63 |
+
pointer-events: none;
|
64 |
+
cursor: default;
|
65 |
+
}
|
66 |
+
.foogallery .fg-thumb {
|
67 |
+
display: block;
|
68 |
+
position: relative;
|
69 |
+
border: none;
|
70 |
+
outline: 0;
|
71 |
+
text-decoration: none;
|
72 |
+
z-index: 4;
|
73 |
+
box-shadow: none;
|
74 |
+
}
|
75 |
+
.foogallery .fg-thumb:hover,
|
76 |
+
.foogallery .fg-thumb:focus {
|
77 |
+
border: none;
|
78 |
+
outline: 0;
|
79 |
+
text-decoration: none;
|
80 |
+
box-shadow: none;
|
81 |
+
}
|
82 |
+
.foogallery .fg-image-overlay {
|
83 |
+
position: absolute;
|
84 |
+
top: 0;
|
85 |
+
right: 0;
|
86 |
+
bottom: 0;
|
87 |
+
left: 0;
|
88 |
+
z-index: 8;
|
89 |
+
visibility: hidden;
|
90 |
+
opacity: 0;
|
91 |
+
}
|
92 |
+
.foogallery .fg-image-wrap {
|
93 |
+
display: block;
|
94 |
+
position: relative;
|
95 |
+
}
|
96 |
+
.foogallery .fg-image {
|
97 |
+
display: block;
|
98 |
+
position: relative;
|
99 |
+
border: none;
|
100 |
+
outline: 0;
|
101 |
+
text-decoration: none;
|
102 |
+
z-index: 5;
|
103 |
+
max-width: 100%;
|
104 |
+
height: auto;
|
105 |
+
margin: 0;
|
106 |
+
width: auto;
|
107 |
+
}
|
108 |
+
.foogallery picture.fg-image > img {
|
109 |
+
display: block;
|
110 |
+
position: relative;
|
111 |
+
border: none;
|
112 |
+
outline: 0;
|
113 |
+
text-decoration: none;
|
114 |
+
max-width: 100%;
|
115 |
+
height: auto;
|
116 |
+
margin: 0;
|
117 |
+
width: auto;
|
118 |
+
}
|
119 |
+
.foogallery .fg-loaded .fg-thumb {
|
120 |
+
z-index: 6;
|
121 |
+
}
|
122 |
+
.foogallery .fg-loaded .fg-image {
|
123 |
+
z-index: 7;
|
124 |
+
}
|
125 |
+
|
126 |
+
/* Utility */
|
127 |
+
.fg-sr-only {
|
128 |
+
position: absolute;
|
129 |
+
width: 1px;
|
130 |
+
height: 1px;
|
131 |
+
padding: 0;
|
132 |
+
margin: -1px;
|
133 |
+
overflow: hidden;
|
134 |
+
clip: rect(0,0,0,0);
|
135 |
+
border: 0;
|
136 |
+
}
|
137 |
+
/* Item Style */
|
138 |
+
.foogallery.fg-light .fg-item-inner {
|
139 |
+
background-color: #FFF;
|
140 |
+
color: #333;
|
141 |
+
border-color: #FFF;
|
142 |
+
}
|
143 |
+
.foogallery.fg-dark .fg-item-inner {
|
144 |
+
background-color: #333;
|
145 |
+
color: #FFF;
|
146 |
+
border-color: #333;
|
147 |
+
}
|
148 |
+
/* Idle / Loading / Error Style */
|
149 |
+
.foogallery.fg-light .fg-item.fg-idle,
|
150 |
+
.foogallery.fg-light .fg-item.fg-loading,
|
151 |
+
.foogallery.fg-light .fg-item.fg-error {
|
152 |
+
background-color: #eee;
|
153 |
+
box-shadow: inset 0 0 0 1px #ddd;
|
154 |
+
}
|
155 |
+
.foogallery.fg-dark .fg-item.fg-idle,
|
156 |
+
.foogallery.fg-dark .fg-item.fg-loading,
|
157 |
+
.foogallery.fg-dark .fg-item.fg-error {
|
158 |
+
background-color: #444;
|
159 |
+
box-shadow: inset 0 0 0 1px #333;
|
160 |
+
}
|
161 |
+
/* Caption & Overlay Colors */
|
162 |
+
.foogallery .fg-caption {
|
163 |
+
background-color: rgba(0,0,0,0.6);
|
164 |
+
color: #fff;
|
165 |
+
}
|
166 |
+
.foogallery .fg-caption a {
|
167 |
+
color: #fff;
|
168 |
+
border-bottom: 1px solid #FFF;
|
169 |
+
}
|
170 |
+
.foogallery.fg-light-overlays .fg-caption {
|
171 |
+
background-color: rgba(255,255,255,0.8);
|
172 |
+
color: #333;
|
173 |
+
}
|
174 |
+
.foogallery.fg-light-overlays .fg-caption a {
|
175 |
+
color: #333;
|
176 |
+
border-bottom-color: #333;
|
177 |
+
}
|
178 |
+
.foogallery.fg-transparent-overlays .fg-caption {
|
179 |
+
background-color: transparent;
|
180 |
+
color: #fff;
|
181 |
+
}
|
182 |
+
.foogallery.fg-transparent-overlays .fg-caption a {
|
183 |
+
color: #fff;
|
184 |
+
border-bottom-color: #fff;
|
185 |
+
}
|
186 |
+
|
187 |
+
.foogallery .fg-image-overlay {
|
188 |
+
background-color: rgba(0,0,0,0.6);
|
189 |
+
color: #fff;
|
190 |
+
}
|
191 |
+
.foogallery.fg-light-overlays .fg-image-overlay {
|
192 |
+
background-color: rgba(255,255,255,0.8);
|
193 |
+
color: #333;
|
194 |
+
}
|
195 |
+
.foogallery.fg-transparent-overlays .fg-image-overlay {
|
196 |
+
background-color: transparent;
|
197 |
+
color: #fff;
|
198 |
+
}
|
199 |
+
/* Colors */
|
200 |
+
.fg-exif-light .fg-item.fg-item-exif .fg-image-wrap:after {
|
201 |
+
background-color: #FFF;
|
202 |
+
color: #333;
|
203 |
+
}
|
204 |
+
.fg-exif-dark .fg-item.fg-item-exif .fg-image-wrap:after {
|
205 |
+
background-color: #333;
|
206 |
+
color: #FFF;
|
207 |
+
}
|
208 |
+
|
209 |
+
/* Rounded Corners */
|
210 |
+
.fg-exif-rounded .fg-item.fg-item-exif .fg-image-wrap:after {
|
211 |
+
border-radius: 3px;
|
212 |
+
}
|
213 |
+
|
214 |
+
/* Positions ~ Top, Right, Bottom & Left */
|
215 |
+
.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after,
|
216 |
+
.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after,
|
217 |
+
.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after,
|
218 |
+
.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after {
|
219 |
+
display: inline-block;
|
220 |
+
position: absolute;
|
221 |
+
content: 'EXIF';
|
222 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
223 |
+
font-size: 11px;
|
224 |
+
line-height: 10px;
|
225 |
+
padding: 3px 4px;
|
226 |
+
z-index: 7;
|
227 |
+
}
|
228 |
+
.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after {
|
229 |
+
bottom: 5px;
|
230 |
+
right: 5px;
|
231 |
+
}
|
232 |
+
.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after {
|
233 |
+
bottom: 5px;
|
234 |
+
left: 5px;
|
235 |
+
}
|
236 |
+
.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after {
|
237 |
+
top: 5px;
|
238 |
+
right: 5px;
|
239 |
+
}
|
240 |
+
.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after {
|
241 |
+
top: 5px;
|
242 |
+
left: 5px;
|
243 |
+
}
|
244 |
+
/* Border Size */
|
245 |
+
.foogallery.fg-border-thin .fg-item-inner {
|
246 |
+
border-width: 4px;
|
247 |
+
}
|
248 |
+
.foogallery.fg-border-medium .fg-item-inner {
|
249 |
+
border-width: 10px;
|
250 |
+
}
|
251 |
+
.foogallery.fg-border-thick .fg-item-inner {
|
252 |
+
border-width: 16px;
|
253 |
+
}
|
254 |
+
/* Drop Shadows */
|
255 |
+
.foogallery.fg-light.fg-shadow-outline .fg-item-inner {
|
256 |
+
box-shadow: 0 0 0 1px #ddd;
|
257 |
+
}
|
258 |
+
.foogallery.fg-dark.fg-shadow-outline .fg-item-inner {
|
259 |
+
box-shadow: 0 0 0 1px #222;
|
260 |
+
}
|
261 |
+
.foogallery.fg-light.fg-shadow-small .fg-item-inner,
|
262 |
+
.foogallery.fg-dark.fg-shadow-small .fg-item-inner {
|
263 |
+
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);
|
264 |
+
}
|
265 |
+
.foogallery.fg-light.fg-shadow-medium .fg-item-inner,
|
266 |
+
.foogallery.fg-dark.fg-shadow-medium .fg-item-inner {
|
267 |
+
box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.5);
|
268 |
+
}
|
269 |
+
.foogallery.fg-light.fg-shadow-large .fg-item-inner,
|
270 |
+
.foogallery.fg-dark.fg-shadow-large .fg-item-inner {
|
271 |
+
box-shadow: 0 1px 16px 0 rgba(0, 0, 0, 0.5);
|
272 |
+
}
|
273 |
+
/* Inset Shadows */
|
274 |
+
.foogallery.fg-shadow-inset-small .fg-thumb:after,
|
275 |
+
.foogallery.fg-shadow-inset-medium .fg-thumb:after,
|
276 |
+
.foogallery.fg-shadow-inset-large .fg-thumb:after {
|
277 |
+
display: block;
|
278 |
+
content: "";
|
279 |
+
position: absolute;
|
280 |
+
top: 0;
|
281 |
+
left: 0;
|
282 |
+
right: 0;
|
283 |
+
bottom: 0;
|
284 |
+
z-index: 7;
|
285 |
+
}
|
286 |
+
.foogallery.fg-light.fg-shadow-inset-small .fg-thumb:after,
|
287 |
+
.foogallery.fg-dark.fg-shadow-inset-small .fg-thumb:after {
|
288 |
+
box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.3);
|
289 |
+
}
|
290 |
+
.foogallery.fg-light.fg-shadow-inset-medium .fg-thumb:after,
|
291 |
+
.foogallery.fg-dark.fg-shadow-inset-medium .fg-thumb:after {
|
292 |
+
box-shadow: inset 0 1px 10px 0 rgba(0,0,0,0.3);
|
293 |
+
}
|
294 |
+
.foogallery.fg-light.fg-shadow-inset-large .fg-thumb:after,
|
295 |
+
.foogallery.fg-dark.fg-shadow-inset-large .fg-thumb:after {
|
296 |
+
box-shadow: inset 0 1px 16px 0 rgba(0,0,0,0.3);
|
297 |
+
}
|
298 |
+
|
299 |
+
.foogallery.fg-round-full.fg-shadow-inset-small .fg-thumb:after,
|
300 |
+
.foogallery.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,
|
301 |
+
.foogallery.fg-round-full.fg-shadow-inset-large .fg-thumb:after {
|
302 |
+
border-radius: 50%;
|
303 |
+
}
|
304 |
+
/* Rounded Corners */
|
305 |
+
.foogallery.fg-round-small .fg-item,
|
306 |
+
.foogallery.fg-round-small .fg-item-inner {
|
307 |
+
border-radius: 5px;
|
308 |
+
}
|
309 |
+
.foogallery.fg-round-medium .fg-item,
|
310 |
+
.foogallery.fg-round-medium .fg-item-inner {
|
311 |
+
border-radius: 10px;
|
312 |
+
}
|
313 |
+
.foogallery.fg-round-large .fg-item,
|
314 |
+
.foogallery.fg-round-large .fg-item-inner {
|
315 |
+
border-radius: 15px;
|
316 |
+
}
|
317 |
+
.foogallery.fg-round-full .fg-item,
|
318 |
+
.foogallery.fg-round-full .fg-item-inner {
|
319 |
+
border-radius: 50%;
|
320 |
+
}
|
321 |
+
/* Loader Styles */
|
322 |
+
.foogallery .fg-loader {
|
323 |
+
position: absolute;
|
324 |
+
top: 50%;
|
325 |
+
left: 50%;
|
326 |
+
margin-top: -0.5em;
|
327 |
+
margin-left: -0.5em;
|
328 |
+
width: 1em;
|
329 |
+
height: 1em;
|
330 |
+
font-size: 5px;
|
331 |
+
visibility: hidden;
|
332 |
+
opacity: 0;
|
333 |
+
pointer-events: none;
|
334 |
+
}
|
335 |
+
|
336 |
+
.foogallery .fg-loading .fg-loader {
|
337 |
+
visibility: visible;
|
338 |
+
opacity: 1;
|
339 |
+
}
|
340 |
+
.fg-loading-default .fg-loader {
|
341 |
+
border-radius: 50%;
|
342 |
+
text-indent: -9999em;
|
343 |
+
box-shadow: 0 -2.6em 0 0 rgba(130, 130, 130, 1),
|
344 |
+
1.8em -1.8em 0 0 rgba(130, 130, 130, 0.2),
|
345 |
+
2.5em 0 0 0 rgba(130, 130, 130, 0.2),
|
346 |
+
1.75em 1.75em 0 0 rgba(130, 130, 130, 0.2),
|
347 |
+
0 2.5em 0 0 rgba(130, 130, 130, 0.2),
|
348 |
+
-1.8em 1.8em 0 0 rgba(130, 130, 130, 0.2),
|
349 |
+
-2.6em 0 0 0 rgba(130, 130, 130, 0.5),
|
350 |
+
-1.8em -1.8em 0 0 rgba(130, 130, 130, 0.7);
|
351 |
+
-webkit-animation: loading-default 1.1s infinite paused steps(8, start);
|
352 |
+
animation: loading-default 1.1s infinite paused steps(8, start);
|
353 |
+
}
|
354 |
+
.fg-loading-default .fg-loading .fg-loader {
|
355 |
+
-webkit-animation-play-state: running;
|
356 |
+
animation-play-state: running;
|
357 |
+
}
|
358 |
+
|
359 |
+
@-webkit-keyframes loading-default {
|
360 |
+
0% {
|
361 |
+
transform: rotate(0deg);
|
362 |
+
}
|
363 |
+
100% {
|
364 |
+
transform: rotate(360deg);
|
365 |
+
}
|
366 |
+
}
|
367 |
+
|
368 |
+
@keyframes loading-default {
|
369 |
+
0% {
|
370 |
+
transform: rotate(0deg);
|
371 |
+
}
|
372 |
+
100% {
|
373 |
+
transform: rotate(360deg);
|
374 |
+
}
|
375 |
+
}
|
376 |
+
.fg-loading-bars .fg-loader,
|
377 |
+
.fg-loading-bars .fg-loader:before,
|
378 |
+
.fg-loading-bars .fg-loader:after {
|
379 |
+
background: rgba(130, 130, 130, 1);
|
380 |
+
width: 1em;
|
381 |
+
height: 4em;
|
382 |
+
-webkit-animation: loading-bars 1s infinite paused ease-in-out;
|
383 |
+
animation: loading-bars 1s infinite paused ease-in-out;
|
384 |
+
}
|
385 |
+
.fg-loading-bars .fg-loading .fg-loader,
|
386 |
+
.fg-loading-bars .fg-loading .fg-loader:before,
|
387 |
+
.fg-loading-bars .fg-loading .fg-loader:after {
|
388 |
+
-webkit-animation-play-state: running;
|
389 |
+
animation-play-state: running;
|
390 |
+
}
|
391 |
+
.fg-loading-bars .fg-loader {
|
392 |
+
color: rgba(130, 130, 130, 1);
|
393 |
+
text-indent: -9999em;
|
394 |
+
font-size: 4px;
|
395 |
+
margin-top: -2em;
|
396 |
+
margin-left: -0.5em;
|
397 |
+
-webkit-animation-delay: -0.16s;
|
398 |
+
animation-delay: -0.16s;
|
399 |
+
}
|
400 |
+
.fg-loading-bars .fg-loader:before,
|
401 |
+
.fg-loading-bars .fg-loader:after {
|
402 |
+
position: absolute;
|
403 |
+
top: 0;
|
404 |
+
content: '';
|
405 |
+
}
|
406 |
+
.fg-loading-bars .fg-loader:before {
|
407 |
+
left: -1.5em;
|
408 |
+
-webkit-animation-delay: -0.32s;
|
409 |
+
animation-delay: -0.32s;
|
410 |
+
}
|
411 |
+
.fg-loading-bars .fg-loader:after {
|
412 |
+
left: 1.5em;
|
413 |
+
}
|
414 |
+
@-webkit-keyframes loading-bars {
|
415 |
+
0%,
|
416 |
+
80%,
|
417 |
+
100% {
|
418 |
+
box-shadow: 0 0;
|
419 |
+
height: 4em;
|
420 |
+
}
|
421 |
+
40% {
|
422 |
+
box-shadow: 0 -2em;
|
423 |
+
height: 5em;
|
424 |
+
}
|
425 |
+
}
|
426 |
+
@keyframes loading-bars {
|
427 |
+
0%,
|
428 |
+
80%,
|
429 |
+
100% {
|
430 |
+
box-shadow: 0 0;
|
431 |
+
height: 4em;
|
432 |
+
}
|
433 |
+
40% {
|
434 |
+
box-shadow: 0 -2em;
|
435 |
+
height: 5em;
|
436 |
+
}
|
437 |
+
}
|
438 |
+
.fg-loading-trail .fg-loader {
|
439 |
+
color: #828282;
|
440 |
+
margin-top: 0;
|
441 |
+
margin-left: 0;
|
442 |
+
font-size: 20px;
|
443 |
+
text-indent: -9999em;
|
444 |
+
overflow: hidden;
|
445 |
+
border-radius: 50%;
|
446 |
+
-webkit-animation: loading-trail-1 1.7s infinite paused ease, loading-trail-2 1.7s infinite paused ease;
|
447 |
+
animation: loading-trail-1 1.7s infinite paused ease, loading-trail-2 1.7s infinite paused ease;
|
448 |
+
}
|
449 |
+
.fg-loading-trail .fg-loading .fg-loader {
|
450 |
+
-webkit-animation-play-state: running;
|
451 |
+
animation-play-state: running;
|
452 |
+
}
|
453 |
+
|
454 |
+
@-webkit-keyframes loading-trail-1 {
|
455 |
+
0% {
|
456 |
+
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
457 |
+
}
|
458 |
+
5%,
|
459 |
+
95% {
|
460 |
+
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
461 |
+
}
|
462 |
+
10%,
|
463 |
+
59% {
|
464 |
+
box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
|
465 |
+
}
|
466 |
+
20% {
|
467 |
+
box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
|
468 |
+
}
|
469 |
+
38% {
|
470 |
+
box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
|
471 |
+
}
|
472 |
+
100% {
|
473 |
+
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
474 |
+
}
|
475 |
+
}
|
476 |
+
@keyframes loading-trail-1 {
|
477 |
+
0% {
|
478 |
+
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
479 |
+
}
|
480 |
+
5%,
|
481 |
+
95% {
|
482 |
+
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
483 |
+
}
|
484 |
+
10%,
|
485 |
+
59% {
|
486 |
+
box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
|
487 |
+
}
|
488 |
+
20% {
|
489 |
+
box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
|
490 |
+
}
|
491 |
+
38% {
|
492 |
+
box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
|
493 |
+
}
|
494 |
+
100% {
|
495 |
+
box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
|
496 |
+
}
|
497 |
+
}
|
498 |
+
@-webkit-keyframes loading-trail-2 {
|
499 |
+
0% {
|
500 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
501 |
+
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
502 |
+
}
|
503 |
+
100% {
|
504 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
505 |
+
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
506 |
+
}
|
507 |
+
}
|
508 |
+
@keyframes loading-trail-2 {
|
509 |
+
0% {
|
510 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
511 |
+
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
512 |
+
}
|
513 |
+
100% {
|
514 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
515 |
+
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
516 |
+
}
|
517 |
+
}
|
518 |
+
.fg-loading-pulse .fg-loader,
|
519 |
+
.fg-loading-pulse .fg-loader:before,
|
520 |
+
.fg-loading-pulse .fg-loader:after {
|
521 |
+
border-radius: 50%;
|
522 |
+
width: 2.5em;
|
523 |
+
height: 2.5em;
|
524 |
+
-webkit-animation: loading-pulse 1.8s infinite both paused ease-in-out;
|
525 |
+
animation: loading-pulse 1.8s infinite both paused ease-in-out;
|
526 |
+
}
|
527 |
+
.fg-loading-pulse .fg-loading .fg-loader,
|
528 |
+
.fg-loading-pulse .fg-loading .fg-loader:before,
|
529 |
+
.fg-loading-pulse .fg-loading .fg-loader:after {
|
530 |
+
-webkit-animation-play-state: running;
|
531 |
+
animation-play-state: running;
|
532 |
+
}
|
533 |
+
|
534 |
+
.fg-loading-pulse .fg-loader {
|
535 |
+
color: #828282;
|
536 |
+
font-size: 4px;
|
537 |
+
margin-top: -3.75em;
|
538 |
+
margin-left: -1.25em;
|
539 |
+
text-indent: -9999em;
|
540 |
+
-webkit-animation-delay: -0.16s;
|
541 |
+
animation-delay: -0.16s;
|
542 |
+
}
|
543 |
+
.fg-loading-pulse .fg-loader:before,
|
544 |
+
.fg-loading-pulse .fg-loader:after {
|
545 |
+
content: '';
|
546 |
+
position: absolute;
|
547 |
+
top: 0;
|
548 |
+
}
|
549 |
+
.fg-loading-pulse .fg-loader:before {
|
550 |
+
left: -3.5em;
|
551 |
+
-webkit-animation-delay: -0.32s;
|
552 |
+
animation-delay: -0.32s;
|
553 |
+
}
|
554 |
+
.fg-loading-pulse .fg-loader:after {
|
555 |
+
left: 3.5em;
|
556 |
+
}
|
557 |
+
@-webkit-keyframes loading-pulse {
|
558 |
+
0%,
|
559 |
+
80%,
|
560 |
+
100% {
|
561 |
+
box-shadow: 0 2.5em 0 -1.3em;
|
562 |
+
}
|
563 |
+
40% {
|
564 |
+
box-shadow: 0 2.5em 0 0;
|
565 |
+
}
|
566 |
+
}
|
567 |
+
@keyframes loading-pulse {
|
568 |
+
0%,
|
569 |
+
80%,
|
570 |
+
100% {
|
571 |
+
box-shadow: 0 2.5em 0 -1.3em;
|
572 |
+
}
|
573 |
+
40% {
|
574 |
+
box-shadow: 0 2.5em 0 0;
|
575 |
+
}
|
576 |
+
}
|
577 |
+
.fg-loading-dots .fg-loader {
|
578 |
+
color: #828282;
|
579 |
+
font-size: 5px;
|
580 |
+
border-radius: 50%;
|
581 |
+
text-indent: -9999em;
|
582 |
+
-webkit-animation: loading-dots 1.3s infinite paused linear;
|
583 |
+
animation: loading-dots 1.3s infinite paused linear;
|
584 |
+
}
|
585 |
+
.fg-loading-dots .fg-loading .fg-loader {
|
586 |
+
-webkit-animation-play-state: running;
|
587 |
+
animation-play-state: running;
|
588 |
+
}
|
589 |
+
|
590 |
+
@-webkit-keyframes loading-dots {
|
591 |
+
0%,
|
592 |
+
100% {
|
593 |
+
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
|
594 |
+
}
|
595 |
+
12.5% {
|
596 |
+
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
597 |
+
}
|
598 |
+
25% {
|
599 |
+
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
600 |
+
}
|
601 |
+
37.5% {
|
602 |
+
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
603 |
+
}
|
604 |
+
50% {
|
605 |
+
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
606 |
+
}
|
607 |
+
62.5% {
|
608 |
+
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
|
609 |
+
}
|
610 |
+
75% {
|
611 |
+
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
|
612 |
+
}
|
613 |
+
87.5% {
|
614 |
+
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
|
615 |
+
}
|
616 |
+
}
|
617 |
+
@keyframes loading-dots {
|
618 |
+
0%,
|
619 |
+
100% {
|
620 |
+
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
|
621 |
+
}
|
622 |
+
12.5% {
|
623 |
+
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
624 |
+
}
|
625 |
+
25% {
|
626 |
+
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
|
627 |
+
}
|
628 |
+
37.5% {
|
629 |
+
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
630 |
+
}
|
631 |
+
50% {
|
632 |
+
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
|
633 |
+
}
|
634 |
+
62.5% {
|
635 |
+
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
|
636 |
+
}
|
637 |
+
75% {
|
638 |
+
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
|
639 |
+
}
|
640 |
+
87.5% {
|
641 |
+
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
|
642 |
+
}
|
643 |
+
}
|
644 |
+
.fg-loading-partial .fg-loader,
|
645 |
+
.fg-loading-partial .fg-loader:after {
|
646 |
+
border-radius: 50%;
|
647 |
+
width: 10em;
|
648 |
+
height: 10em;
|
649 |
+
}
|
650 |
+
.fg-loading-partial .fg-loader {
|
651 |
+
font-size: 4px;
|
652 |
+
text-indent: -9999em;
|
653 |
+
margin-top: 0;
|
654 |
+
margin-left: 0;
|
655 |
+
border-top: 1.1em solid rgba(130,130,130, 0.2);
|
656 |
+
border-right: 1.1em solid rgba(130,130,130, 0.2);
|
657 |
+
border-bottom: 1.1em solid rgba(130,130,130, 0.2);
|
658 |
+
border-left: 1.1em solid #828282;
|
659 |
+
-webkit-animation: loading-partial 1.1s infinite paused linear;
|
660 |
+
animation: loading-partial 1.1s infinite paused linear;
|
661 |
+
}
|
662 |
+
.fg-loading-partial .fg-loading .fg-loader {
|
663 |
+
-webkit-animation-play-state: running;
|
664 |
+
animation-play-state: running;
|
665 |
+
}
|
666 |
+
|
667 |
+
@-webkit-keyframes loading-partial {
|
668 |
+
0% {
|
669 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
670 |
+
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
671 |
+
}
|
672 |
+
100% {
|
673 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
674 |
+
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
675 |
+
}
|
676 |
+
}
|
677 |
+
@keyframes loading-partial {
|
678 |
+
0% {
|
679 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
680 |
+
transform: translateX(-50%) translateY(-50%) rotate(0deg);
|
681 |
+
}
|
682 |
+
100% {
|
683 |
+
-webkit-transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
684 |
+
transform: translateX(-50%) translateY(-50%) rotate(360deg);
|
685 |
+
}
|
686 |
+
}
|
687 |
+
/* Loaded Effects */
|
688 |
+
.foogallery.fg-loaded-fade-in .fg-item.fg-loaded,
|
689 |
+
.foogallery.fg-loaded-slide-up .fg-item.fg-loaded,
|
690 |
+
.foogallery.fg-loaded-slide-down .fg-item.fg-loaded,
|
691 |
+
.foogallery.fg-loaded-slide-left .fg-item.fg-loaded,
|
692 |
+
.foogallery.fg-loaded-slide-right .fg-item.fg-loaded,
|
693 |
+
.foogallery.fg-loaded-scale-up .fg-item.fg-loaded,
|
694 |
+
.foogallery.fg-loaded-swing-down .fg-item.fg-loaded,
|
695 |
+
.foogallery.fg-loaded-drop .fg-item.fg-loaded,
|
696 |
+
.foogallery.fg-loaded-fly .fg-item.fg-loaded,
|
697 |
+
.foogallery.fg-loaded-flip .fg-item.fg-loaded {
|
698 |
+
transition-timing-function: ease;
|
699 |
+
transition-duration: 650ms;
|
700 |
+
transition-property: background-color, transform;
|
701 |
+
}
|
702 |
+
.foogallery.fg-loaded-fade-in .fg-loaded .fg-item-inner,
|
703 |
+
.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner,
|
704 |
+
.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner,
|
705 |
+
.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner,
|
706 |
+
.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner,
|
707 |
+
.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner,
|
708 |
+
.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner,
|
709 |
+
.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner,
|
710 |
+
.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner,
|
711 |
+
.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner {
|
712 |
+
transition-timing-function: ease;
|
713 |
+
transition-duration: 650ms;
|
714 |
+
}
|
715 |
+
/* Only apply the perspective once loaded otherwise transitions could take place behind other items*/
|
716 |
+
.foogallery.fg-loaded-swing-down .fg-item.fg-loaded,
|
717 |
+
.foogallery.fg-loaded-drop .fg-item.fg-loaded,
|
718 |
+
.foogallery.fg-loaded-fly .fg-item.fg-loaded,
|
719 |
+
.foogallery.fg-loaded-flip .fg-item.fg-loaded {
|
720 |
+
perspective: 1300px;
|
721 |
+
}
|
722 |
+
/* Drop */
|
723 |
+
.foogallery.fg-loaded-drop .fg-item-inner {
|
724 |
+
transition-property: visibility, opacity, transform;
|
725 |
+
transform-style: preserve-3d;
|
726 |
+
transform: translateZ(400px) translateY(100%) rotateX(-90deg);
|
727 |
+
}
|
728 |
+
.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner {
|
729 |
+
transform: translateZ(0px) translateY(0px) rotateX(0deg);
|
730 |
+
}
|
731 |
+
/* Fade In */
|
732 |
+
.foogallery.fg-loaded-fade-in .fg-item-inner {
|
733 |
+
transition-property: visibility, opacity;
|
734 |
+
}
|
735 |
+
/* Flip */
|
736 |
+
.foogallery.fg-loaded-flip .fg-item-inner {
|
737 |
+
transition-property: visibility, opacity, transform;
|
738 |
+
backface-visibility: hidden;
|
739 |
+
transform-style: preserve-3d;
|
740 |
+
transform: rotateY(-180deg);
|
741 |
+
}
|
742 |
+
.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner {
|
743 |
+
transform: rotateY(0deg);
|
744 |
+
}
|
745 |
+
/* Fly */
|
746 |
+
.foogallery.fg-loaded-fly .fg-item-inner {
|
747 |
+
transition-property: visibility, opacity, transform;
|
748 |
+
transform-style: preserve-3d;
|
749 |
+
transform-origin: 50% 50% -300px;
|
750 |
+
transform: rotateX(-180deg);
|
751 |
+
}
|
752 |
+
.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner {
|
753 |
+
transform: rotateX(0deg);
|
754 |
+
}
|
755 |
+
/* Scale Up */
|
756 |
+
.foogallery.fg-loaded-scale-up .fg-item-inner {
|
757 |
+
transition-property: visibility, opacity, transform;
|
758 |
+
transform: scale(0.6);
|
759 |
+
}
|
760 |
+
.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner {
|
761 |
+
transform: scale(1);
|
762 |
+
}
|
763 |
+
/* Slide Up */
|
764 |
+
.foogallery.fg-loaded-slide-up .fg-item-inner {
|
765 |
+
transition-property: visibility, opacity, transform;
|
766 |
+
transform: translateY(50%);
|
767 |
+
}
|
768 |
+
.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner {
|
769 |
+
transform: translateY(0);
|
770 |
+
}
|
771 |
+
/* Slide Down */
|
772 |
+
.foogallery.fg-loaded-slide-down .fg-item-inner {
|
773 |
+
transition-property: visibility, opacity, transform;
|
774 |
+
transform: translateY(-50%);
|
775 |
+
}
|
776 |
+
.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner {
|
777 |
+
transform: translateY(0);
|
778 |
+
}
|
779 |
+
/* Slide Left */
|
780 |
+
.foogallery.fg-loaded-slide-left .fg-item-inner {
|
781 |
+
transition-property: visibility, opacity, transform;
|
782 |
+
transform: translateX(50%);
|
783 |
+
}
|
784 |
+
.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner {
|
785 |
+
transform: translateX(0);
|
786 |
+
}
|
787 |
+
/* Slide Right */
|
788 |
+
.foogallery.fg-loaded-slide-right .fg-item-inner {
|
789 |
+
transition-property: visibility, opacity, transform;
|
790 |
+
transform: translateX(-50%);
|
791 |
+
}
|
792 |
+
.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner {
|
793 |
+
transform: translateX(0);
|
794 |
+
}
|
795 |
+
/* Swing Down */
|
796 |
+
.foogallery.fg-loaded-swing-down .fg-item-inner {
|
797 |
+
transition-property: visibility, opacity, transform;
|
798 |
+
transform-style: preserve-3d;
|
799 |
+
transform-origin: 0 0;
|
800 |
+
transform: rotateX(-80deg);
|
801 |
+
}
|
802 |
+
.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner {
|
803 |
+
transform: rotateX(0deg);
|
804 |
+
}
|
805 |
+
/* Caption Styles */
|
806 |
+
.foogallery .fg-caption {
|
807 |
+
visibility: hidden;
|
808 |
+
opacity: 0;
|
809 |
+
position: absolute;
|
810 |
+
z-index: 8;
|
811 |
+
width: 100%;
|
812 |
+
max-height: 100%;
|
813 |
+
overflow: hidden;
|
814 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
815 |
+
font-size: 13px;
|
816 |
+
font-weight: 400;
|
817 |
+
line-height: 1.3;
|
818 |
+
border: none;
|
819 |
+
text-align: center;
|
820 |
+
cursor: pointer;
|
821 |
+
margin: 0;
|
822 |
+
}
|
823 |
+
.foogallery .fg-caption a {
|
824 |
+
text-decoration: none;
|
825 |
+
}
|
826 |
+
|
827 |
+
.foogallery .fg-caption a:hover {
|
828 |
+
border-bottom: none;
|
829 |
+
}
|
830 |
+
|
831 |
+
.foogallery .fg-caption-title {
|
832 |
+
box-sizing: content-box;
|
833 |
+
white-space: nowrap;
|
834 |
+
overflow: hidden;
|
835 |
+
text-overflow: ellipsis;
|
836 |
+
font-size: 16px;
|
837 |
+
font-weight: 400;
|
838 |
+
padding: 0;
|
839 |
+
margin: 0.4em;
|
840 |
+
height: 1.3em;
|
841 |
+
min-height: 1.3em;
|
842 |
+
line-height: 1.3em;
|
843 |
+
}
|
844 |
+
.foogallery .fg-caption-desc {
|
845 |
+
padding: 0;
|
846 |
+
margin: 0.4em;
|
847 |
+
overflow: hidden;
|
848 |
+
height: 100%;
|
849 |
+
max-height: 100%;
|
850 |
+
}
|
851 |
+
.foogallery .fg-caption-title+.fg-caption-desc {
|
852 |
+
margin-top: 0;
|
853 |
+
}
|
854 |
+
|
855 |
+
.foogallery .fg-caption-buttons {
|
856 |
+
display: flex;
|
857 |
+
position: relative;
|
858 |
+
flex-direction: row;
|
859 |
+
flex-wrap: wrap;
|
860 |
+
align-items: center;
|
861 |
+
justify-content: center;
|
862 |
+
width: 100%;
|
863 |
+
padding: 5px;
|
864 |
+
margin: 0;
|
865 |
+
}
|
866 |
+
|
867 |
+
.foogallery .fg-caption-buttons > a {
|
868 |
+
display: inline-block;
|
869 |
+
position: relative;
|
870 |
+
padding: 0.4em 0.8em;
|
871 |
+
margin: 1px;
|
872 |
+
max-width: 100%;
|
873 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
874 |
+
font-size: 12px;
|
875 |
+
font-weight: 400;
|
876 |
+
line-height: 1.42857143;
|
877 |
+
text-align: center;
|
878 |
+
white-space: nowrap;
|
879 |
+
vertical-align: middle;
|
880 |
+
cursor: pointer;
|
881 |
+
user-select: none;
|
882 |
+
background-image: none;
|
883 |
+
text-decoration: none!important;
|
884 |
+
border: 1px solid transparent;
|
885 |
+
border-radius: 4px;
|
886 |
+
box-shadow: none;
|
887 |
+
outline: none;
|
888 |
+
opacity: 1;
|
889 |
+
transition-timing-function: ease-out;
|
890 |
+
transition-duration: 0.3s;
|
891 |
+
transition-property: color, opacity, border-color, background-color;
|
892 |
+
}
|
893 |
+
|
894 |
+
@media only screen and (max-width: 600px) {
|
895 |
+
.foogallery .fg-caption-buttons {
|
896 |
+
align-items: stretch;
|
897 |
+
}
|
898 |
+
.foogallery .fg-caption-buttons > a {
|
899 |
+
flex: 1;
|
900 |
+
}
|
901 |
+
}
|
902 |
+
|
903 |
+
/* Light */
|
904 |
+
.foogallery .fg-caption .fg-caption-buttons > a {
|
905 |
+
color: #333;
|
906 |
+
background-color: #fff;
|
907 |
+
border-color: #ccc;
|
908 |
+
}
|
909 |
+
.foogallery .fg-caption .fg-caption-buttons > a:not(.fg-disabled):hover {
|
910 |
+
color: #333;
|
911 |
+
background-color: #e6e6e6;
|
912 |
+
border-color: #adadad;
|
913 |
+
border-bottom: solid 1px;
|
914 |
+
}
|
915 |
+
.foogallery .fg-caption .fg-caption-buttons > a.fg-disabled {
|
916 |
+
color: #9d9d9d;
|
917 |
+
}
|
918 |
+
.foogallery .fg-caption .fg-caption-buttons > a.fg-disabled:hover {
|
919 |
+
border-bottom: solid 1px;
|
920 |
+
}
|
921 |
+
|
922 |
+
/* Dark */
|
923 |
+
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a {
|
924 |
+
color: #FFF;
|
925 |
+
background-color: #444;
|
926 |
+
border-color: #333;
|
927 |
+
}
|
928 |
+
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a:not(.fg-disabled):hover {
|
929 |
+
color: #9d9d9d;
|
930 |
+
background-color: #333;
|
931 |
+
border-color: #222;
|
932 |
+
}
|
933 |
+
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a.fg-disabled {
|
934 |
+
color: #9d9d9d;
|
935 |
+
}
|
936 |
+
.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons > a.fg-disabled:hover {
|
937 |
+
border-bottom: solid 1px;
|
938 |
+
}
|
939 |
+
|
940 |
+
/* Always */
|
941 |
+
.foogallery.fg-caption-always .fg-item .fg-caption .fg-caption-inner:before {
|
942 |
+
display: none;
|
943 |
+
}
|
944 |
+
.foogallery.fg-caption-always .fg-item.fg-loaded .fg-caption {
|
945 |
+
left: 0;
|
946 |
+
bottom: 0;
|
947 |
+
transition-timing-function: ease;
|
948 |
+
transition-duration: 300ms;
|
949 |
+
transition-property: visibility, opacity;
|
950 |
+
visibility: visible;
|
951 |
+
opacity: 1;
|
952 |
+
}
|
953 |
+
.foogallery.fg-caption-always .fg-caption {
|
954 |
+
text-align: left;
|
955 |
+
}
|
956 |
+
|
957 |
+
/* On Hover */
|
958 |
+
.foogallery.fg-caption-hover .fg-caption .fg-caption-inner {
|
959 |
+
display: flex;
|
960 |
+
flex-direction: column;
|
961 |
+
align-items: center;
|
962 |
+
justify-content: center;
|
963 |
+
width: 100%;
|
964 |
+
max-height: 100%;
|
965 |
+
position: absolute;
|
966 |
+
top: 50%;
|
967 |
+
left: 0;
|
968 |
+
transform: translateY(-50%);
|
969 |
+
padding: 0.4em;
|
970 |
+
}
|
971 |
+
.foogallery.fg-caption-hover .fg-item.fg-loaded .fg-image-overlay {
|
972 |
+
display: none;
|
973 |
+
}
|
974 |
+
|
975 |
+
/* Alignment */
|
976 |
+
.foogallery.fg-c-l .fg-caption,
|
977 |
+
.foogallery.fg-caption-always.fg-c-l .fg-caption {
|
978 |
+
text-align: left;
|
979 |
+
}
|
980 |
+
.foogallery.fg-c-c .fg-caption,
|
981 |
+
.foogallery.fg-caption-always.fg-c-c .fg-caption {
|
982 |
+
text-align: center;
|
983 |
+
}
|
984 |
+
.foogallery.fg-c-r .fg-caption,
|
985 |
+
.foogallery.fg-caption-always.fg-c-r .fg-caption {
|
986 |
+
text-align: right;
|
987 |
+
}
|
988 |
+
.foogallery.fg-c-j .fg-caption,
|
989 |
+
.foogallery.fg-caption-always.fg-c-j .fg-caption {
|
990 |
+
text-align: justify;
|
991 |
+
}
|
992 |
+
/* Icon & Overlay */
|
993 |
+
.foogallery .fg-image-overlay:before {
|
994 |
+
content: "";
|
995 |
+
display: block;
|
996 |
+
position: absolute;
|
997 |
+
top: 50%;
|
998 |
+
left: 50%;
|
999 |
+
transform: translateX(-50%) translateY(-50%);
|
1000 |
+
width: 32px;
|
1001 |
+
height: 32px;
|
1002 |
+
background-size: 32px 32px;
|
1003 |
+
background-position: center center;
|
1004 |
+
background-repeat: no-repeat;
|
1005 |
+
min-width: 32px;
|
1006 |
+
min-height: 32px;
|
1007 |
+
}
|
1008 |
+
.foogallery .fg-caption-inner:before {
|
1009 |
+
content: "";
|
1010 |
+
display: none;
|
1011 |
+
position: relative;
|
1012 |
+
width: 32px;
|
1013 |
+
height: 32px;
|
1014 |
+
margin: 0.4em;
|
1015 |
+
background-size: 32px 32px;
|
1016 |
+
vertical-align: middle;
|
1017 |
+
background-position: center center;
|
1018 |
+
background-repeat: no-repeat;
|
1019 |
+
min-width: 32px;
|
1020 |
+
min-height: 32px;
|
1021 |
+
}
|
1022 |
+
.foogallery.fg-hover-zoom:not(.fg-preset) .fg-caption-inner:before,
|
1023 |
+
.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-caption-inner:before,
|
1024 |
+
.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-caption-inner:before,
|
1025 |
+
.foogallery.fg-hover-plus:not(.fg-preset) .fg-caption-inner:before,
|
1026 |
+
.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-caption-inner:before,
|
1027 |
+
.foogallery.fg-hover-eye:not(.fg-preset) .fg-caption-inner:before,
|
1028 |
+
.foogallery.fg-hover-external:not(.fg-preset) .fg-caption-inner:before,
|
1029 |
+
.foogallery.fg-hover-tint:not(.fg-preset) .fg-caption-inner:before,
|
1030 |
+
.foogallery.fg-hover-cart:not(.fg-preset) .fg-caption-inner:before,
|
1031 |
+
.foogallery.fg-video-default:not(.fg-preset) .fg-caption-inner:before,
|
1032 |
+
.foogallery.fg-video-1:not(.fg-preset) .fg-caption-inner:before,
|
1033 |
+
.foogallery.fg-video-2:not(.fg-preset) .fg-caption-inner:before,
|
1034 |
+
.foogallery.fg-video-3:not(.fg-preset) .fg-caption-inner:before,
|
1035 |
+
.foogallery.fg-video-4:not(.fg-preset) .fg-caption-inner:before {
|
1036 |
+
display: block;
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
.foogallery.fg-hover-zoom:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1040 |
+
.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1041 |
+
.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1042 |
+
.foogallery.fg-hover-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1043 |
+
.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1044 |
+
.foogallery.fg-hover-eye:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1045 |
+
.foogallery.fg-hover-external:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1046 |
+
.foogallery.fg-hover-tint:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1047 |
+
.foogallery.fg-hover-cart:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,
|
1048 |
+
.foogallery.fg-video-default:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1049 |
+
.foogallery.fg-video-1:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1050 |
+
.foogallery.fg-video-2:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1051 |
+
.foogallery.fg-video-3:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,
|
1052 |
+
.foogallery.fg-video-4:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay {
|
1053 |
+
visibility: visible;
|
1054 |
+
opacity: 1;
|
1055 |
+
}
|
1056 |
+
.foogallery.fg-video-sticky .fg-type-video.fg-loaded .fg-item-inner .fg-image-overlay {
|
1057 |
+
background-color: transparent;
|
1058 |
+
visibility: visible;
|
1059 |
+
opacity: 1;
|
1060 |
+
display: block;
|
1061 |
+
}
|
1062 |
+
.foogallery.fg-video-sticky .fg-type-video .fg-caption-inner:before {
|
1063 |
+
display: none;
|
1064 |
+
}
|
1065 |
+
|
1066 |
+
.foogallery.fg-hover-zoom .fg-image-overlay:before,
|
1067 |
+
.foogallery.fg-hover-zoom .fg-caption-inner:before {
|
1068 |
+
background-image: url('../img/icons.svg#zoom-light');
|
1069 |
+
}
|
1070 |
+
.foogallery.fg-light-overlays.fg-hover-zoom .fg-image-overlay:before,
|
1071 |
+
.foogallery.fg-light-overlays.fg-hover-zoom .fg-caption-inner:before {
|
1072 |
+
background-image: url('../img/icons.svg#zoom-dark');
|
1073 |
+
}
|
1074 |
+
|
1075 |
+
.foogallery.fg-hover-zoom2 .fg-image-overlay:before,
|
1076 |
+
.foogallery.fg-hover-zoom2 .fg-caption-inner:before {
|
1077 |
+
background-image: url('../img/icons.svg#zoom2-light');
|
1078 |
+
}
|
1079 |
+
.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-image-overlay:before,
|
1080 |
+
.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-caption-inner:before {
|
1081 |
+
background-image: url('../img/icons.svg#zoom2-dark');
|
1082 |
+
}
|
1083 |
+
|
1084 |
+
.foogallery.fg-hover-zoom3 .fg-image-overlay:before,
|
1085 |
+
.foogallery.fg-hover-zoom3 .fg-caption-inner:before {
|
1086 |
+
background-image: url('../img/icons.svg#zoom3-light');
|
1087 |
+
}
|
1088 |
+
.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-image-overlay:before,
|
1089 |
+
.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-caption-inner:before {
|
1090 |
+
background-image: url('../img/icons.svg#zoom3-dark');
|
1091 |
+
}
|
1092 |
+
|
1093 |
+
.foogallery.fg-hover-plus .fg-image-overlay:before,
|
1094 |
+
.foogallery.fg-hover-plus .fg-caption-inner:before {
|
1095 |
+
background-image: url('../img/icons.svg#plus-light');
|
1096 |
+
}
|
1097 |
+
.foogallery.fg-light-overlays.fg-hover-plus .fg-image-overlay:before,
|
1098 |
+
.foogallery.fg-light-overlays.fg-hover-plus .fg-caption-inner:before {
|
1099 |
+
background-image: url('../img/icons.svg#plus-dark');
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
.foogallery.fg-hover-circle-plus .fg-image-overlay:before,
|
1103 |
+
.foogallery.fg-hover-circle-plus .fg-caption-inner:before {
|
1104 |
+
background-image: url('../img/icons.svg#circle-plus-light');
|
1105 |
+
}
|
1106 |
+
.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-image-overlay:before,
|
1107 |
+
.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-caption-inner:before {
|
1108 |
+
background-image: url('../img/icons.svg#circle-plus-dark');
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
.foogallery.fg-hover-eye .fg-image-overlay:before,
|
1112 |
+
.foogallery.fg-hover-eye .fg-caption-inner:before {
|
1113 |
+
background-image: url('../img/icons.svg#eye-light');
|
1114 |
+
}
|
1115 |
+
.foogallery.fg-light-overlays.fg-hover-eye .fg-image-overlay:before,
|
1116 |
+
.foogallery.fg-light-overlays.fg-hover-eye .fg-caption-inner:before {
|
1117 |
+
background-image: url('../img/icons.svg#eye-dark');
|
1118 |
+
}
|
1119 |
+
|
1120 |
+
.foogallery.fg-hover-external .fg-image-overlay:before,
|
1121 |
+
.foogallery.fg-hover-external .fg-caption-inner:before {
|
1122 |
+
background-image: url('../img/icons.svg#external-light');
|
1123 |
+
}
|
1124 |
+
.foogallery.fg-light-overlays.fg-hover-external .fg-image-overlay:before,
|
1125 |
+
.foogallery.fg-light-overlays.fg-hover-external .fg-caption-inner:before {
|
1126 |
+
background-image: url('../img/icons.svg#external-dark');
|
1127 |
+
}
|
1128 |
+
|
1129 |
+
.foogallery.fg-hover-cart .fg-image-overlay:before,
|
1130 |
+
.foogallery.fg-hover-cart .fg-caption-inner:before {
|
1131 |
+
background-image: url('../img/icons.svg#cart-light');
|
1132 |
+
}
|
1133 |
+
.foogallery.fg-light-overlays.fg-hover-cart .fg-image-overlay:before,
|
1134 |
+
.foogallery.fg-light-overlays.fg-hover-cart .fg-caption-inner:before {
|
1135 |
+
background-image: url('../img/icons.svg#cart-dark');
|
1136 |
+
}
|
1137 |
+
|
1138 |
+
.foogallery.fg-video-default .fg-type-video .fg-image-overlay:before,
|
1139 |
+
.foogallery.fg-video-default .fg-type-video .fg-caption-inner:before {
|
1140 |
+
background-image: url('../img/icons.svg#video-default-light');
|
1141 |
+
}
|
1142 |
+
.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-image-overlay:before,
|
1143 |
+
.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-caption-inner:before {
|
1144 |
+
background-image: url('../img/icons.svg#video-default-dark');
|
1145 |
+
}
|
1146 |
+
|
1147 |
+
.foogallery.fg-video-1 .fg-type-video .fg-image-overlay:before,
|
1148 |
+
.foogallery.fg-video-1 .fg-type-video .fg-caption-inner:before {
|
1149 |
+
background-image: url('../img/icons.svg#video-1-light');
|
1150 |
+
}
|
1151 |
+
.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-image-overlay:before,
|
1152 |
+
.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-caption-inner:before {
|
1153 |
+
background-image: url('../img/icons.svg#video-1-dark');
|
1154 |
+
}
|
1155 |
+
|
1156 |
+
.foogallery.fg-video-2 .fg-type-video .fg-image-overlay:before,
|
1157 |
+
.foogallery.fg-video-2 .fg-type-video .fg-caption-inner:before {
|
1158 |
+
background-image: url('../img/icons.svg#video-2-light');
|
1159 |
+
}
|
1160 |
+
.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-image-overlay:before,
|
1161 |
+
.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-caption-inner:before {
|
1162 |
+
background-image: url('../img/icons.svg#video-2-dark');
|
1163 |
+
}
|
1164 |
+
|
1165 |
+
.foogallery.fg-video-3 .fg-type-video .fg-image-overlay:before,
|
1166 |
+
.foogallery.fg-video-3 .fg-type-video .fg-caption-inner:before {
|
1167 |
+
background-image: url('../img/icons.svg#video-3-light');
|
1168 |
+
}
|
1169 |
+
.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-image-overlay:before,
|
1170 |
+
.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-caption-inner:before {
|
1171 |
+
background-image: url('../img/icons.svg#video-3-dark');
|
1172 |
+
}
|
1173 |
+
|
1174 |
+
.foogallery.fg-video-4 .fg-type-video .fg-image-overlay:before,
|
1175 |
+
.foogallery.fg-video-4 .fg-type-video .fg-caption-inner:before {
|
1176 |
+
background-image: url('../img/icons.svg#video-4-light');
|
1177 |
+
}
|
1178 |
+
.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-image-overlay:before,
|
1179 |
+
.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-caption-inner:before {
|
1180 |
+
background-image: url('../img/icons.svg#video-4-dark');
|
1181 |
+
}
|
1182 |
+
/* Transitions */
|
1183 |
+
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,
|
1184 |
+
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,
|
1185 |
+
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,
|
1186 |
+
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,
|
1187 |
+
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,
|
1188 |
+
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,
|
1189 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,
|
1190 |
+
.foogallery.fg-caption-hover.fg-hover-colorize .fg-loaded .fg-caption,
|
1191 |
+
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-loaded .fg-caption,
|
1192 |
+
.foogallery.fg-caption-hover.fg-hover-scale .fg-loaded .fg-caption,
|
1193 |
+
.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay,
|
1194 |
+
.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay,
|
1195 |
+
.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,
|
1196 |
+
.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,
|
1197 |
+
.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,
|
1198 |
+
.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,
|
1199 |
+
.foogallery.fg-hover-push .fg-loaded .fg-thumb,
|
1200 |
+
.foogallery.fg-hover-colorize .fg-loaded .fg-image-overlay,
|
1201 |
+
.foogallery.fg-hover-grayscale .fg-loaded .fg-image-overlay,
|
1202 |
+
.foogallery.fg-hover-scale .fg-item.fg-loaded,
|
1203 |
+
.foogallery.fg-hover-scale .fg-loaded .fg-image-overlay,
|
1204 |
+
.foogallery.fg-hover-zoomed .fg-loaded .fg-image,
|
1205 |
+
.foogallery.fg-hover-colorize .fg-loaded .fg-image,
|
1206 |
+
.foogallery.fg-hover-grayscale .fg-loaded .fg-image {
|
1207 |
+
transition-timing-function: ease;
|
1208 |
+
transition-duration: 300ms;
|
1209 |
+
backface-visibility: hidden;
|
1210 |
+
}
|
1211 |
+
/* Colorize */
|
1212 |
+
.foogallery.fg-hover-colorize .fg-image {
|
1213 |
+
filter: grayscale(100%);
|
1214 |
+
transition-property: filter;
|
1215 |
+
}
|
1216 |
+
.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image,
|
1217 |
+
.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image {
|
1218 |
+
filter: grayscale(0%);
|
1219 |
+
}
|
1220 |
+
.foogallery.fg-hover-colorize .fg-image-overlay,
|
1221 |
+
.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption {
|
1222 |
+
display: block;
|
1223 |
+
left: 0;
|
1224 |
+
top: 0;
|
1225 |
+
bottom: 0;
|
1226 |
+
transition-property: visibility, opacity, background-color;
|
1227 |
+
}
|
1228 |
+
.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image-overlay,
|
1229 |
+
.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:hover .fg-caption,
|
1230 |
+
.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image-overlay,
|
1231 |
+
.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:focus-within .fg-caption {
|
1232 |
+
visibility: visible;
|
1233 |
+
opacity: 1;
|
1234 |
+
}
|
1235 |
+
/* Fade */
|
1236 |
+
.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay,
|
1237 |
+
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption {
|
1238 |
+
display: block;
|
1239 |
+
left: 0;
|
1240 |
+
top: 0;
|
1241 |
+
bottom: 0;
|
1242 |
+
transition-property: visibility, opacity, background-color;
|
1243 |
+
}
|
1244 |
+
.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1245 |
+
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-caption,
|
1246 |
+
.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1247 |
+
.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1248 |
+
visibility: visible;
|
1249 |
+
opacity: 1;
|
1250 |
+
}
|
1251 |
+
/* Grayscale */
|
1252 |
+
.foogallery.fg-hover-grayscale .fg-image {
|
1253 |
+
filter: grayscale(0%);
|
1254 |
+
transition-property: filter;
|
1255 |
+
}
|
1256 |
+
.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image,
|
1257 |
+
.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image {
|
1258 |
+
filter: grayscale(100%);
|
1259 |
+
}
|
1260 |
+
.foogallery.fg-hover-grayscale .fg-image-overlay,
|
1261 |
+
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption {
|
1262 |
+
display: block;
|
1263 |
+
left: 0;
|
1264 |
+
top: 0;
|
1265 |
+
bottom: 0;
|
1266 |
+
transition-property: visibility, opacity, background-color;
|
1267 |
+
}
|
1268 |
+
.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image-overlay,
|
1269 |
+
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:hover .fg-caption,
|
1270 |
+
.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image-overlay,
|
1271 |
+
.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:focus-within .fg-caption {
|
1272 |
+
visibility: visible;
|
1273 |
+
opacity: 1;
|
1274 |
+
}
|
1275 |
+
/* Instant */
|
1276 |
+
.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay,
|
1277 |
+
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption {
|
1278 |
+
display: block;
|
1279 |
+
left: 0;
|
1280 |
+
top: 0;
|
1281 |
+
bottom: 0;
|
1282 |
+
transition-property: none;
|
1283 |
+
}
|
1284 |
+
.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1285 |
+
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-caption,
|
1286 |
+
.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1287 |
+
.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1288 |
+
visibility: visible;
|
1289 |
+
opacity: 1;
|
1290 |
+
}
|
1291 |
+
/* Push */
|
1292 |
+
.foogallery.fg-hover-push .fg-loaded .fg-image-overlay,
|
1293 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption {
|
1294 |
+
display: block;
|
1295 |
+
left: 0;
|
1296 |
+
top: 0;
|
1297 |
+
bottom: 0;
|
1298 |
+
transform: translateX(100%);
|
1299 |
+
visibility: visible;
|
1300 |
+
opacity: 1;
|
1301 |
+
}
|
1302 |
+
.foogallery.fg-hover-push .fg-loaded .fg-thumb,
|
1303 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption {
|
1304 |
+
transition-property: transform;
|
1305 |
+
}
|
1306 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-caption,
|
1307 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1308 |
+
transform: translateY(0);
|
1309 |
+
}
|
1310 |
+
.foogallery.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,
|
1311 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,
|
1312 |
+
.foogallery.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus,
|
1313 |
+
.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus {
|
1314 |
+
transform: translateX(-100%);
|
1315 |
+
}
|
1316 |
+
/* Scale */
|
1317 |
+
.foogallery.fg-hover-scale .fg-item {
|
1318 |
+
transition-property: transform;
|
1319 |
+
z-index: 4;
|
1320 |
+
}
|
1321 |
+
|
1322 |
+
.foogallery.fg-hover-scale .fg-item:hover,
|
1323 |
+
.foogallery.fg-hover-scale .fg-item:focus-within {
|
1324 |
+
transform: scale(1.048);
|
1325 |
+
z-index: 10;
|
1326 |
+
}
|
1327 |
+
.foogallery.fg-hover-scale .fg-image-overlay,
|
1328 |
+
.foogallery.fg-caption-hover.fg-hover-scale .fg-caption {
|
1329 |
+
display: block;
|
1330 |
+
left: 0;
|
1331 |
+
top: 0;
|
1332 |
+
bottom: 0;
|
1333 |
+
transition-property: visibility, opacity, background-color;
|
1334 |
+
}
|
1335 |
+
.foogallery.fg-hover-scale .fg-item-inner:hover .fg-image-overlay,
|
1336 |
+
.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:hover .fg-caption,
|
1337 |
+
.foogallery.fg-hover-scale .fg-item-inner:focus-within .fg-image-overlay,
|
1338 |
+
.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:focus-within .fg-caption {
|
1339 |
+
visibility: visible;
|
1340 |
+
opacity: 1;
|
1341 |
+
}
|
1342 |
+
/* Zoomed */
|
1343 |
+
.foogallery.fg-hover-zoomed .fg-image {
|
1344 |
+
transition-property: transform;
|
1345 |
+
z-index: 4;
|
1346 |
+
}
|
1347 |
+
.foogallery.fg-hover-zoomed .fg-item:hover .fg-image,
|
1348 |
+
.foogallery.fg-hover-zoomed .fg-item:focus-within .fg-image {
|
1349 |
+
transform: scale(1.15);
|
1350 |
+
}
|
1351 |
+
.foogallery.fg-hover-zoomed .fg-image-wrap {
|
1352 |
+
overflow: hidden;
|
1353 |
+
}
|
1354 |
+
|
1355 |
+
.foogallery.fg-hover-zoomed .fg-image-overlay,
|
1356 |
+
.foogallery.fg-caption-hover.fg-hover-zoomed .fg-caption {
|
1357 |
+
display: block;
|
1358 |
+
left: 0;
|
1359 |
+
top: 0;
|
1360 |
+
bottom: 0;
|
1361 |
+
transition-property: visibility, opacity, background-color;
|
1362 |
+
}
|
1363 |
+
.foogallery.fg-hover-zoomed .fg-item-inner:hover .fg-image-overlay,
|
1364 |
+
.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:hover .fg-caption,
|
1365 |
+
.foogallery.fg-hover-zoomed .fg-item-inner:focus-within .fg-image-overlay,
|
1366 |
+
.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:focus-within .fg-caption {
|
1367 |
+
visibility: visible;
|
1368 |
+
opacity: 1;
|
1369 |
+
}
|
1370 |
+
/* Slide */
|
1371 |
+
.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,
|
1372 |
+
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,
|
1373 |
+
.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,
|
1374 |
+
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,
|
1375 |
+
.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,
|
1376 |
+
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,
|
1377 |
+
.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,
|
1378 |
+
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption {
|
1379 |
+
display: block;
|
1380 |
+
left: 0;
|
1381 |
+
top: 0;
|
1382 |
+
bottom: 0;
|
1383 |
+
transition-property: transform, background-color, opacity, visibility;
|
1384 |
+
visibility: visible;
|
1385 |
+
opacity: 1;
|
1386 |
+
}
|
1387 |
+
.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1388 |
+
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-caption,
|
1389 |
+
.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1390 |
+
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-caption,
|
1391 |
+
.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1392 |
+
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-caption,
|
1393 |
+
.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-image-overlay,
|
1394 |
+
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-caption,
|
1395 |
+
.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1396 |
+
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:focus-within .fg-caption,
|
1397 |
+
.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1398 |
+
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-caption,
|
1399 |
+
.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1400 |
+
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-caption,
|
1401 |
+
.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,
|
1402 |
+
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:focus-within .fg-caption {
|
1403 |
+
transform: translateY(0) translateX(0);
|
1404 |
+
}
|
1405 |
+
|
1406 |
+
|
1407 |
+
/* Slide Up */
|
1408 |
+
.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,
|
1409 |
+
.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption {
|
1410 |
+
transform: translateY(100%);
|
1411 |
+
}
|
1412 |
+
|
1413 |
+
/* Slide Down */
|
1414 |
+
.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,
|
1415 |
+
.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption {
|
1416 |
+
transform: translateY(-100%);
|
1417 |
+
}
|
1418 |
+
|
1419 |
+
/* Slide Left */
|
1420 |
+
.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,
|
1421 |
+
.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption {
|
1422 |
+
transform: translateX(100%);
|
1423 |
+
}
|
1424 |
+
|
1425 |
+
/* Slide Right */
|
1426 |
+
.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,
|
1427 |
+
.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption {
|
1428 |
+
transform: translateX(-100%);
|
1429 |
+
}
|
1430 |
+
.fg-paging-container, .fg-paging-container *, .fg-paging-container *:before, .fg-paging-container *:after {
|
1431 |
+
box-sizing: border-box;
|
1432 |
+
}
|
1433 |
+
.fg-paging-container {
|
1434 |
+
display: block;
|
1435 |
+
padding: 15px;
|
1436 |
+
margin-top: 0!important;
|
1437 |
+
margin-bottom: 0!important;
|
1438 |
+
margin-left: auto;
|
1439 |
+
margin-right: auto;
|
1440 |
+
text-align: center;
|
1441 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
1442 |
+
-webkit-user-select: none;
|
1443 |
+
-moz-user-select: none;
|
1444 |
+
-ms-user-select: none;
|
1445 |
+
user-select: none;
|
1446 |
+
}
|
1447 |
+
.fg-ph-dots:after {
|
1448 |
+
display: block;
|
1449 |
+
content: '';
|
1450 |
+
width: 0;
|
1451 |
+
height: 22px;
|
1452 |
+
}
|
1453 |
+
|
1454 |
+
.fg-paging-container .fg-dots,
|
1455 |
+
.fg-paging-container .fg-dot-item {
|
1456 |
+
display: inline-block;
|
1457 |
+
margin: 0;
|
1458 |
+
padding: 0;
|
1459 |
+
outline: none;
|
1460 |
+
list-style: none;
|
1461 |
+
}
|
1462 |
+
.fg-paging-container .fg-dot-item .fg-dot-link {
|
1463 |
+
display: inline-block;
|
1464 |
+
margin: 3px;
|
1465 |
+
font-weight: 400;
|
1466 |
+
line-height: 1.42857143;
|
1467 |
+
text-align: center;
|
1468 |
+
white-space: nowrap;
|
1469 |
+
vertical-align: middle;
|
1470 |
+
cursor: pointer;
|
1471 |
+
user-select: none;
|
1472 |
+
background-image: none;
|
1473 |
+
text-decoration: none;
|
1474 |
+
border: 1px solid transparent;
|
1475 |
+
position: relative;
|
1476 |
+
border-radius: 50%;
|
1477 |
+
padding: 0;
|
1478 |
+
font-size: 0;
|
1479 |
+
outline: none;
|
1480 |
+
color: transparent;
|
1481 |
+
box-shadow: none;
|
1482 |
+
}
|
1483 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:before {
|
1484 |
+
content: "";
|
1485 |
+
background-color: transparent;
|
1486 |
+
border: 1px solid transparent;
|
1487 |
+
display: block;
|
1488 |
+
border-radius: 50%;
|
1489 |
+
width: 9px;
|
1490 |
+
height: 9px;
|
1491 |
+
padding: 0;
|
1492 |
+
margin: 2px;
|
1493 |
+
}
|
1494 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:active,
|
1495 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:hover,
|
1496 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:focus {
|
1497 |
+
text-decoration: none;
|
1498 |
+
box-shadow: none;
|
1499 |
+
outline: none;
|
1500 |
+
}
|
1501 |
+
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,
|
1502 |
+
.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link {
|
1503 |
+
cursor: not-allowed;
|
1504 |
+
pointer-events: none;
|
1505 |
+
}
|
1506 |
+
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link {
|
1507 |
+
cursor: not-allowed;
|
1508 |
+
pointer-events: none;
|
1509 |
+
outline: none;
|
1510 |
+
}
|
1511 |
+
|
1512 |
+
/* Light - Dots */
|
1513 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,
|
1514 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {
|
1515 |
+
transition-timing-function: ease-out;
|
1516 |
+
transition-duration: 0.3s;
|
1517 |
+
transition-property: color, border-color, background-color;
|
1518 |
+
}
|
1519 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {
|
1520 |
+
background-color: #eee;
|
1521 |
+
border-color: #9d9d9d;
|
1522 |
+
}
|
1523 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link {
|
1524 |
+
border-color: #888;
|
1525 |
+
}
|
1526 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before,
|
1527 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,
|
1528 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before {
|
1529 |
+
background-color: #666;
|
1530 |
+
border-color: #888;
|
1531 |
+
}
|
1532 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,
|
1533 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1534 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1535 |
+
background-color: #eee;
|
1536 |
+
border-color: #9d9d9d;
|
1537 |
+
opacity: 0.5;
|
1538 |
+
}
|
1539 |
+
|
1540 |
+
/* Dark - Dots */
|
1541 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,
|
1542 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before {
|
1543 |
+
transition-timing-function: ease-out;
|
1544 |
+
transition-duration: 0.3s;
|
1545 |
+
transition-property: color, border-color, background-color;
|
1546 |
+
}
|
1547 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link {
|
1548 |
+
background-color: #666;
|
1549 |
+
border-color: #333;
|
1550 |
+
}
|
1551 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link {
|
1552 |
+
border-color: #444;
|
1553 |
+
}
|
1554 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before,
|
1555 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,
|
1556 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before {
|
1557 |
+
background-color: #333;
|
1558 |
+
border-color: #444;
|
1559 |
+
}
|
1560 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,
|
1561 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1562 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1563 |
+
background-color: #666;
|
1564 |
+
border-color: #333;
|
1565 |
+
opacity: 0.5;
|
1566 |
+
}
|
1567 |
+
.fg-paging-container, .fg-paging-container *, .fg-paging-container *:before, .fg-paging-container *:after {
|
1568 |
+
box-sizing: border-box;
|
1569 |
+
}
|
1570 |
+
.fg-paging-container {
|
1571 |
+
display: block;
|
1572 |
+
padding: 15px;
|
1573 |
+
margin-top: 0!important;
|
1574 |
+
margin-bottom: 0!important;
|
1575 |
+
margin-left: auto;
|
1576 |
+
margin-right: auto;
|
1577 |
+
text-align: center;
|
1578 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
1579 |
+
-webkit-user-select: none;
|
1580 |
+
-moz-user-select: none;
|
1581 |
+
-ms-user-select: none;
|
1582 |
+
user-select: none;
|
1583 |
+
}
|
1584 |
+
.fg-ph-dots:after {
|
1585 |
+
display: block;
|
1586 |
+
content: '';
|
1587 |
+
width: 0;
|
1588 |
+
height: 22px;
|
1589 |
+
}
|
1590 |
+
|
1591 |
+
.fg-paging-container .fg-dots,
|
1592 |
+
.fg-paging-container .fg-dot-item {
|
1593 |
+
display: inline-block;
|
1594 |
+
margin: 0;
|
1595 |
+
padding: 0;
|
1596 |
+
outline: none;
|
1597 |
+
list-style: none;
|
1598 |
+
}
|
1599 |
+
.fg-paging-container .fg-dot-item .fg-dot-link {
|
1600 |
+
display: inline-block;
|
1601 |
+
margin: 3px;
|
1602 |
+
font-weight: 400;
|
1603 |
+
line-height: 1.42857143;
|
1604 |
+
text-align: center;
|
1605 |
+
white-space: nowrap;
|
1606 |
+
vertical-align: middle;
|
1607 |
+
cursor: pointer;
|
1608 |
+
user-select: none;
|
1609 |
+
background-image: none;
|
1610 |
+
text-decoration: none;
|
1611 |
+
border: 1px solid transparent;
|
1612 |
+
position: relative;
|
1613 |
+
border-radius: 50%;
|
1614 |
+
padding: 0;
|
1615 |
+
font-size: 0;
|
1616 |
+
outline: none;
|
1617 |
+
color: transparent;
|
1618 |
+
box-shadow: none;
|
1619 |
+
}
|
1620 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:before {
|
1621 |
+
content: "";
|
1622 |
+
background-color: transparent;
|
1623 |
+
border: 1px solid transparent;
|
1624 |
+
display: block;
|
1625 |
+
border-radius: 50%;
|
1626 |
+
width: 9px;
|
1627 |
+
height: 9px;
|
1628 |
+
padding: 0;
|
1629 |
+
margin: 2px;
|
1630 |
+
}
|
1631 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:active,
|
1632 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:hover,
|
1633 |
+
.fg-paging-container .fg-dot-item .fg-dot-link:focus {
|
1634 |
+
text-decoration: none;
|
1635 |
+
box-shadow: none;
|
1636 |
+
outline: none;
|
1637 |
+
}
|
1638 |
+
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,
|
1639 |
+
.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link {
|
1640 |
+
cursor: not-allowed;
|
1641 |
+
pointer-events: none;
|
1642 |
+
}
|
1643 |
+
.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link {
|
1644 |
+
cursor: not-allowed;
|
1645 |
+
pointer-events: none;
|
1646 |
+
outline: none;
|
1647 |
+
}
|
1648 |
+
|
1649 |
+
/* Light - Dots */
|
1650 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,
|
1651 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before {
|
1652 |
+
transition-timing-function: ease-out;
|
1653 |
+
transition-duration: 0.3s;
|
1654 |
+
transition-property: color, border-color, background-color;
|
1655 |
+
}
|
1656 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {
|
1657 |
+
background-color: #eee;
|
1658 |
+
border-color: #9d9d9d;
|
1659 |
+
}
|
1660 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link {
|
1661 |
+
border-color: #888;
|
1662 |
+
}
|
1663 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before,
|
1664 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,
|
1665 |
+
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before {
|
1666 |
+
background-color: #666;
|
1667 |
+
border-color: #888;
|
1668 |
+
}
|
1669 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,
|
1670 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1671 |
+
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1672 |
+
background-color: #eee;
|
1673 |
+
border-color: #9d9d9d;
|
1674 |
+
opacity: 0.5;
|
1675 |
+
}
|
1676 |
+
|
1677 |
+
/* Dark - Dots */
|
1678 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,
|
1679 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before {
|
1680 |
+
transition-timing-function: ease-out;
|
1681 |
+
transition-duration: 0.3s;
|
1682 |
+
transition-property: color, border-color, background-color;
|
1683 |
+
}
|
1684 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link {
|
1685 |
+
background-color: #666;
|
1686 |
+
border-color: #333;
|
1687 |
+
}
|
1688 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link {
|
1689 |
+
border-color: #444;
|
1690 |
+
}
|
1691 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before,
|
1692 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,
|
1693 |
+
.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before {
|
1694 |
+
background-color: #333;
|
1695 |
+
border-color: #444;
|
1696 |
+
}
|
1697 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,
|
1698 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1699 |
+
.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1700 |
+
background-color: #666;
|
1701 |
+
border-color: #333;
|
1702 |
+
opacity: 0.5;
|
1703 |
+
}
|
1704 |
+
/* Base styles */
|
1705 |
+
.fg-default:after {
|
1706 |
+
content: '';
|
1707 |
+
display: block;
|
1708 |
+
clear: both;
|
1709 |
+
}
|
1710 |
+
|
1711 |
+
.fg-default .fg-item {
|
1712 |
+
display: inline-block;
|
1713 |
+
vertical-align: top;
|
1714 |
+
max-width: 100%;
|
1715 |
+
}
|
1716 |
+
.fg-default .fg-item-inner,
|
1717 |
+
.fg-default .fg-thumb {
|
1718 |
+
display: block;
|
1719 |
+
vertical-align: top;
|
1720 |
+
max-width: 100%;
|
1721 |
+
}
|
1722 |
+
|
1723 |
+
.fg-default .fg-image {
|
1724 |
+
border-radius: 0;
|
1725 |
+
display: block;
|
1726 |
+
max-width: 100%;
|
1727 |
+
height: auto;
|
1728 |
+
margin: 0;
|
1729 |
+
padding: 0;
|
1730 |
+
}
|
1731 |
+
|
1732 |
+
/* Horizontal alignment */
|
1733 |
+
.fg-default .fg-image {
|
1734 |
+
vertical-align: top;
|
1735 |
+
}
|
1736 |
+
|
1737 |
+
.fg-default.fg-left {
|
1738 |
+
text-align: left;
|
1739 |
+
}
|
1740 |
+
|
1741 |
+
.fg-default.fg-center {
|
1742 |
+
text-align: center;
|
1743 |
+
}
|
1744 |
+
|
1745 |
+
.fg-default.fg-right {
|
1746 |
+
text-align: right;
|
1747 |
+
}
|
1748 |
+
|
1749 |
+
/* Gutter widths */
|
1750 |
+
.fg-default.fg-gutter-5 {
|
1751 |
+
padding-left: 5px;
|
1752 |
+
margin-bottom: -5px;
|
1753 |
+
}
|
1754 |
+
.fg-default.fg-gutter-5 .fg-item {
|
1755 |
+
margin-right: 5px;
|
1756 |
+
margin-bottom: 5px;
|
1757 |
+
}
|
1758 |
+
|
1759 |
+
.fg-default.fg-gutter-10 {
|
1760 |
+
padding-left: 10px;
|
1761 |
+
margin-bottom: -10px;
|
1762 |
+
}
|
1763 |
+
.fg-default.fg-gutter-10 .fg-item {
|
1764 |
+
margin-right: 10px;
|
1765 |
+
margin-bottom: 10px;
|
1766 |
+
}
|
1767 |
+
|
1768 |
+
.fg-default.fg-gutter-15 {
|
1769 |
+
padding-left: 15px;
|
1770 |
+
margin-bottom: -15px;
|
1771 |
+
}
|
1772 |
+
.fg-default.fg-gutter-15 .fg-item {
|
1773 |
+
margin-right: 15px;
|
1774 |
+
margin-bottom: 15px;
|
1775 |
+
}
|
1776 |
+
|
1777 |
+
.fg-default.fg-gutter-20 {
|
1778 |
+
padding-left: 20px;
|
1779 |
+
margin-bottom: -20px;
|
1780 |
+
}
|
1781 |
+
.fg-default.fg-gutter-20 .fg-item {
|
1782 |
+
margin-right: 20px;
|
1783 |
+
margin-bottom: 20px;
|
1784 |
+
}
|
1785 |
+
|
1786 |
+
.fg-default.fg-gutter-25 {
|
1787 |
+
padding-left: 25px;
|
1788 |
+
margin-bottom: -25px;
|
1789 |
+
}
|
1790 |
+
.fg-default.fg-gutter-25 .fg-item {
|
1791 |
+
margin-right: 25px;
|
1792 |
+
margin-bottom: 25px;
|
1793 |
+
}
|
1794 |
+
|
1795 |
+
|
1796 |
+
@media only screen and (max-width: 600px){
|
1797 |
+
.fg-default.fg-m-col1 .fg-image,
|
1798 |
+
.fg-default.fg-m-col2 .fg-image,
|
1799 |
+
.fg-default.fg-m-col3 .fg-image {
|
1800 |
+
width: 100%;
|
1801 |
+
}
|
1802 |
+
.fg-default.fg-m-col1.fg-gutter-5 .fg-item {
|
1803 |
+
width: calc(100% - 10px);
|
1804 |
+
min-width: calc(100% - 10px);
|
1805 |
+
max-width: calc(100% - 10px);
|
1806 |
+
}
|
1807 |
+
.fg-default.fg-m-col2.fg-gutter-5 .fg-item {
|
1808 |
+
width: calc(50% - 10px);
|
1809 |
+
min-width: calc(50% - 10px);
|
1810 |
+
max-width: calc(50% - 10px);
|
1811 |
+
}
|
1812 |
+
.fg-default.fg-m-col3.fg-gutter-5 .fg-item {
|
1813 |
+
width: calc(33.33% - 10px);
|
1814 |
+
min-width: calc(33.33% - 10px);
|
1815 |
+
max-width: calc(33.33% - 10px);
|
1816 |
+
}
|
1817 |
+
|
1818 |
+
.fg-default.fg-m-col1.fg-gutter-10 .fg-item {
|
1819 |
+
width: calc(100% - 20px);
|
1820 |
+
min-width: calc(100% - 20px);
|
1821 |
+
max-width: calc(100% - 20px);
|
1822 |
+
}
|
1823 |
+
.fg-default.fg-m-col2.fg-gutter-10 .fg-item {
|
1824 |
+
width: calc(50% - 20px);
|
1825 |
+
min-width: calc(50% - 20px);
|
1826 |
+
max-width: calc(50% - 20px);
|
1827 |
+
}
|
1828 |
+
.fg-default.fg-m-col3.fg-gutter-10 .fg-item {
|
1829 |
+
width: calc(33.33% - 20px);
|
1830 |
+
min-width: calc(33.33% - 20px);
|
1831 |
+
max-width: calc(33.33% - 20px);
|
1832 |
+
}
|
1833 |
+
|
1834 |
+
.fg-default.fg-m-col1.fg-gutter-15 .fg-item {
|
1835 |
+
width: calc(100% - 30px);
|
1836 |
+
min-width: calc(100% - 30px);
|
1837 |
+
max-width: calc(100% - 30px);
|
1838 |
+
}
|
1839 |
+
.fg-default.fg-m-col2.fg-gutter-15 .fg-item {
|
1840 |
+
width: calc(50% - 30px);
|
1841 |
+
min-width: calc(50% - 30px);
|
1842 |
+
max-width: calc(50% - 30px);
|
1843 |
+
}
|
1844 |
+
.fg-default.fg-m-col3.fg-gutter-15 .fg-item {
|
1845 |
+
width: calc(33.33% - 30px);
|
1846 |
+
min-width: calc(33.33% - 30px);
|
1847 |
+
max-width: calc(33.33% - 30px);
|
1848 |
+
}
|
1849 |
+
|
1850 |
+
.fg-default.fg-m-col1.fg-gutter-20 .fg-item {
|
1851 |
+
width: calc(100% - 40px);
|
1852 |
+
min-width: calc(100% - 40px);
|
1853 |
+
max-width: calc(100% - 40px);
|
1854 |
+
}
|
1855 |
+
.fg-default.fg-m-col2.fg-gutter-20 .fg-item {
|
1856 |
+
width: calc(50% - 40px);
|
1857 |
+
min-width: calc(50% - 40px);
|
1858 |
+
max-width: calc(50% - 40px);
|
1859 |
+
}
|
1860 |
+
.fg-default.fg-m-col3.fg-gutter-20 .fg-item {
|
1861 |
+
width: calc(33.33% - 40px);
|
1862 |
+
min-width: calc(33.33% - 40px);
|
1863 |
+
max-width: calc(33.33% - 40px);
|
1864 |
+
}
|
1865 |
+
|
1866 |
+
.fg-default.fg-m-col1.fg-gutter-25 .fg-item {
|
1867 |
+
width: calc(100% - 50px);
|
1868 |
+
min-width: calc(100% - 50px);
|
1869 |
+
max-width: calc(100% - 50px);
|
1870 |
+
}
|
1871 |
+
.fg-default.fg-m-col2.fg-gutter-25 .fg-item {
|
1872 |
+
width: calc(50% - 50px);
|
1873 |
+
min-width: calc(50% - 50px);
|
1874 |
+
max-width: calc(50% - 50px);
|
1875 |
+
}
|
1876 |
+
.fg-default.fg-m-col3.fg-gutter-25 .fg-item {
|
1877 |
+
width: calc(33.33% - 50px);
|
1878 |
+
min-width: calc(33.33% - 50px);
|
1879 |
+
max-width: calc(33.33% - 50px);
|
1880 |
+
}
|
1881 |
+
}
|
1882 |
+
/* Base styles */
|
1883 |
+
.fg-masonry * {
|
1884 |
+
box-sizing: border-box;
|
1885 |
+
}
|
1886 |
+
.foogallery.fg-masonry {
|
1887 |
+
margin: 0 auto;
|
1888 |
+
text-align: center;
|
1889 |
+
}
|
1890 |
+
.fg-masonry .fg-thumb {
|
1891 |
+
display: block;
|
1892 |
+
}
|
1893 |
+
.fg-masonry.fg-fixed .fg-item,
|
1894 |
+
.fg-masonry.fg-fixed .fg-image,
|
1895 |
+
.fg-masonry.fg-fixed .fg-column-width {
|
1896 |
+
max-width: 100%;
|
1897 |
+
}
|
1898 |
+
|
1899 |
+
.fg-masonry .fg-column-width {
|
1900 |
+
display: inline-block;
|
1901 |
+
border: solid 0 transparent;
|
1902 |
+
}
|
1903 |
+
.fg-masonry .fg-column-width,
|
1904 |
+
.fg-masonry .fg-gutter-width {
|
1905 |
+
position: absolute;
|
1906 |
+
height: 0;
|
1907 |
+
visibility: hidden;
|
1908 |
+
opacity: 0;
|
1909 |
+
pointer-events: none;
|
1910 |
+
}
|
1911 |
+
|
1912 |
+
.fg-masonry.fg-fixed .fg-item .fg-image,
|
1913 |
+
.fg-masonry.fg-col6 .fg-item .fg-image,
|
1914 |
+
.fg-masonry.fg-col5 .fg-item .fg-image,
|
1915 |
+
.fg-masonry.fg-col4 .fg-item .fg-image,
|
1916 |
+
.fg-masonry.fg-col3 .fg-item .fg-image,
|
1917 |
+
.fg-masonry.fg-col2 .fg-item .fg-image {
|
1918 |
+
width: 100%;
|
1919 |
+
height: auto;
|
1920 |
+
max-width: 100%;
|
1921 |
+
}
|
1922 |
+
|
1923 |
+
.fg-masonry .fg-item {
|
1924 |
+
line-height: 0;
|
1925 |
+
font-size: 0;
|
1926 |
+
vertical-align: top;
|
1927 |
+
}
|
1928 |
+
|
1929 |
+
/* 2 column layouts */
|
1930 |
+
/* 2 column layout - normal gutter */
|
1931 |
+
.fg-masonry.fg-col2 .fg-item { margin-bottom: 1%; width: 49.5%; }
|
1932 |
+
.fg-masonry.fg-col2 .fg-column-width { width: 49.5%; }
|
1933 |
+
.fg-masonry.fg-col2 .fg-gutter-width { width: 1%; }
|
1934 |
+
|
1935 |
+
/* 2 column layout - no gutter */
|
1936 |
+
.fg-masonry.fg-col2.fg-gutter-none .fg-item { margin-bottom: 0; width: 50%; }
|
1937 |
+
.fg-masonry.fg-col2.fg-gutter-none .fg-column-width { width: 50%; }
|
1938 |
+
.fg-masonry.fg-col2.fg-gutter-none .fg-gutter-width { width: 0; }
|
1939 |
+
|
1940 |
+
/* 2 column layout - large gutter */
|
1941 |
+
.fg-masonry.fg-col2.fg-gutter-large .fg-item { margin-bottom: 3%; width: 48.5%; }
|
1942 |
+
.fg-masonry.fg-col2.fg-gutter-large .fg-column-width { width: 48.5%; }
|
1943 |
+
.fg-masonry.fg-col2.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1944 |
+
|
1945 |
+
/* 3 column layouts */
|
1946 |
+
/* 3 column layout - normal gutter */
|
1947 |
+
.fg-masonry.fg-col3 .fg-item { margin-bottom: 1%; width: 32.66%; }
|
1948 |
+
.fg-masonry.fg-col3 .fg-column-width { width: 32.66%; }
|
1949 |
+
.fg-masonry.fg-col3 .fg-gutter-width { width: 1%; }
|
1950 |
+
|
1951 |
+
/* 3 column layout - no gutter */
|
1952 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-item { margin-bottom: 0; width: 33.33%; }
|
1953 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-column-width { width: 33.33%; }
|
1954 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width { width: 0; }
|
1955 |
+
|
1956 |
+
/* 3 column layout - large gutter */
|
1957 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-item { margin-bottom: 3%; width: 31.33%; }
|
1958 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-column-width { width: 31.33%; }
|
1959 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1960 |
+
|
1961 |
+
/* 4 column layouts */
|
1962 |
+
/* 4 column layout - normal gutter */
|
1963 |
+
.fg-masonry.fg-col4 .fg-item { margin-bottom: 1%; width: 24.25%; }
|
1964 |
+
.fg-masonry.fg-col4 .fg-column-width { width: 24.25%; }
|
1965 |
+
.fg-masonry.fg-col4 .fg-gutter-width { width: 1%; }
|
1966 |
+
|
1967 |
+
/* 4 column layout - no gutter */
|
1968 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-item { margin-bottom: 0; width: 25%; }
|
1969 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width { width: 25%; }
|
1970 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width { width: 0; }
|
1971 |
+
|
1972 |
+
/* 4 column layout - large gutter */
|
1973 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-item { margin-bottom: 3%; width: 22.75%; }
|
1974 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width { width: 22.75%; }
|
1975 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1976 |
+
|
1977 |
+
/* 5 column layouts */
|
1978 |
+
/* 5 column layout - normal gutter */
|
1979 |
+
.fg-masonry.fg-col5 .fg-item { margin-bottom: 1%; width: 19.2%; }
|
1980 |
+
.fg-masonry.fg-col5 .fg-column-width { width: 19.2%; }
|
1981 |
+
.fg-masonry.fg-col5 .fg-gutter-width { width: 1%; }
|
1982 |
+
|
1983 |
+
/* 5 column layout - no gutter */
|
1984 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-item { margin-bottom: 0; width: 20%; }
|
1985 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width { width: 20%; }
|
1986 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width { width: 0; }
|
1987 |
+
|
1988 |
+
/* 5 column layout - large gutter */
|
1989 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-item { margin-bottom: 3%; width: 17.6%; }
|
1990 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width { width: 17.6%; }
|
1991 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width { width: 3%; }
|
1992 |
+
|
1993 |
+
/* 6 column layouts */
|
1994 |
+
/* 6 column layout - normal gutter */
|
1995 |
+
.fg-masonry.fg-col6 .fg-item { margin-bottom: 1%; width: 15.83%; }
|
1996 |
+
.fg-masonry.fg-col6 .fg-column-width { width: 15.83%; }
|
1997 |
+
.fg-masonry.fg-col6 .fg-gutter-width { width: 1%; }
|
1998 |
+
|
1999 |
+
/* 6 column layout - no gutter */
|
2000 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-item { margin-bottom: 0; width: 16.66%; }
|
2001 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width { width: 16.66%; }
|
2002 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width { width: 0; }
|
2003 |
+
|
2004 |
+
/* 6 column layout - large gutter */
|
2005 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-item { margin-bottom: 3%; width: 14.16%; }
|
2006 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width { width: 14.16%; }
|
2007 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2008 |
+
|
2009 |
+
/* Force 5 column layout < 1280px */
|
2010 |
+
@media screen and (max-width: 1280px) {
|
2011 |
+
/* default gutter */
|
2012 |
+
.fg-masonry.fg-col6 .fg-item { margin-bottom: 1%; width: 19.2%; }
|
2013 |
+
.fg-masonry.fg-col6 .fg-column-width { width: 19.2%; }
|
2014 |
+
.fg-masonry.fg-col6 .fg-gutter-width { width: 1%; }
|
2015 |
+
|
2016 |
+
/* no gutter */
|
2017 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-item { margin-bottom: 0; width: 20%; }
|
2018 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width { width: 20%; }
|
2019 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width { width: 0; }
|
2020 |
+
|
2021 |
+
/* large gutter */
|
2022 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-item { margin-bottom: 3%; width: 17.6%; }
|
2023 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width { width: 17.6%; }
|
2024 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2025 |
+
}
|
2026 |
+
|
2027 |
+
/* Force 4 column layout < 1024px */
|
2028 |
+
@media screen and (max-width: 1024px) {
|
2029 |
+
/* default gutter */
|
2030 |
+
.fg-masonry.fg-col6 .fg-item,
|
2031 |
+
.fg-masonry.fg-col5 .fg-item { margin-bottom: 1%; width: 24.25%; }
|
2032 |
+
.fg-masonry.fg-col6 .fg-column-width,
|
2033 |
+
.fg-masonry.fg-col5 .fg-column-width { width: 24.25%; }
|
2034 |
+
.fg-masonry.fg-col6 .fg-gutter-width,
|
2035 |
+
.fg-masonry.fg-col5 .fg-gutter-width { width: 1%; }
|
2036 |
+
|
2037 |
+
/* no gutter */
|
2038 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2039 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-item { margin-bottom: 0; width: 25%; }
|
2040 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2041 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width { width: 25%; }
|
2042 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2043 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width { width: 0; }
|
2044 |
+
|
2045 |
+
/* large gutter */
|
2046 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2047 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-item { margin-bottom: 3%; width: 22.75%; }
|
2048 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2049 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width { width: 22.75%; }
|
2050 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2051 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2052 |
+
}
|
2053 |
+
|
2054 |
+
/* Force 3 column layout < 720px */
|
2055 |
+
@media screen and (max-width: 720px) {
|
2056 |
+
/* default gutter */
|
2057 |
+
.fg-masonry.fg-col6 .fg-item,
|
2058 |
+
.fg-masonry.fg-col5 .fg-item,
|
2059 |
+
.fg-masonry.fg-col4 .fg-item { margin-bottom: 1%; width: 32.66%; }
|
2060 |
+
.fg-masonry.fg-col6 .fg-column-width,
|
2061 |
+
.fg-masonry.fg-col5 .fg-column-width,
|
2062 |
+
.fg-masonry.fg-col4 .fg-column-width { width: 32.66%; }
|
2063 |
+
.fg-masonry.fg-col6 .fg-gutter-width,
|
2064 |
+
.fg-masonry.fg-col5 .fg-gutter-width,
|
2065 |
+
.fg-masonry.fg-col4 .fg-gutter-width { width: 1%; }
|
2066 |
+
|
2067 |
+
/* no gutter */
|
2068 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2069 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-item,
|
2070 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-item { margin-bottom: 0; width: 33.33%; }
|
2071 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2072 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,
|
2073 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width { width: 33.33%; }
|
2074 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2075 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,
|
2076 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width { width: 0; }
|
2077 |
+
|
2078 |
+
/* large gutter */
|
2079 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2080 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-item,
|
2081 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-item { margin-bottom: 3%; width: 31.33%; }
|
2082 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2083 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,
|
2084 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width { width: 31.33%; }
|
2085 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2086 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,
|
2087 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2088 |
+
|
2089 |
+
}
|
2090 |
+
|
2091 |
+
/* Force 2 column layout < 480px */
|
2092 |
+
@media screen and (max-width: 480px) {
|
2093 |
+
/* default gutter */
|
2094 |
+
.fg-masonry.fg-col6 .fg-item,
|
2095 |
+
.fg-masonry.fg-col5 .fg-item,
|
2096 |
+
.fg-masonry.fg-col4 .fg-item,
|
2097 |
+
.fg-masonry.fg-col3 .fg-item { margin-bottom: 1%; width: 49.5%; }
|
2098 |
+
.fg-masonry.fg-col6 .fg-column-width,
|
2099 |
+
.fg-masonry.fg-col5 .fg-column-width,
|
2100 |
+
.fg-masonry.fg-col4 .fg-column-width,
|
2101 |
+
.fg-masonry.fg-col3 .fg-column-width { width: 49.5%; }
|
2102 |
+
.fg-masonry.fg-col6 .fg-gutter-width,
|
2103 |
+
.fg-masonry.fg-col5 .fg-gutter-width,
|
2104 |
+
.fg-masonry.fg-col4 .fg-gutter-width,
|
2105 |
+
.fg-masonry.fg-col3 .fg-gutter-width { width: 1%; }
|
2106 |
+
|
2107 |
+
/* no gutter */
|
2108 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2109 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-item,
|
2110 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-item,
|
2111 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-item { margin-bottom: 0; width: 50%; }
|
2112 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2113 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,
|
2114 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,
|
2115 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-column-width { width: 50%; }
|
2116 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2117 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,
|
2118 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,
|
2119 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width { width: 0; }
|
2120 |
+
|
2121 |
+
/* large gutter */
|
2122 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2123 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-item,
|
2124 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-item,
|
2125 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-item { margin-bottom: 3%; width: 48.5%; }
|
2126 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2127 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,
|
2128 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,
|
2129 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-column-width { width: 48.5%; }
|
2130 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2131 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,
|
2132 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,
|
2133 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width { width: 3%; }
|
2134 |
+
}
|
2135 |
+
|
2136 |
+
/* Force 1 column layout < 320px */
|
2137 |
+
@media screen and (max-width: 320px) {
|
2138 |
+
/* default gutter */
|
2139 |
+
.fg-masonry.fg-col6 .fg-item,
|
2140 |
+
.fg-masonry.fg-col5 .fg-item,
|
2141 |
+
.fg-masonry.fg-col4 .fg-item,
|
2142 |
+
.fg-masonry.fg-col3 .fg-item,
|
2143 |
+
.fg-masonry.fg-col2 .fg-item { margin-bottom: 1%; width: 100%; }
|
2144 |
+
.fg-masonry.fg-col6 .fg-column-width,
|
2145 |
+
.fg-masonry.fg-col5 .fg-column-width,
|
2146 |
+
.fg-masonry.fg-col4 .fg-column-width,
|
2147 |
+
.fg-masonry.fg-col3 .fg-column-width,
|
2148 |
+
.fg-masonry.fg-col2 .fg-column-width { width: 100%; }
|
2149 |
+
.fg-masonry.fg-col6 .fg-gutter-width,
|
2150 |
+
.fg-masonry.fg-col5 .fg-gutter-width,
|
2151 |
+
.fg-masonry.fg-col4 .fg-gutter-width,
|
2152 |
+
.fg-masonry.fg-col3 .fg-gutter-width,
|
2153 |
+
.fg-masonry.fg-col2 .fg-gutter-width { width: 0; }
|
2154 |
+
|
2155 |
+
/* no gutter */
|
2156 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-item,
|
2157 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-item,
|
2158 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-item,
|
2159 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-item,
|
2160 |
+
.fg-masonry.fg-col2.fg-gutter-none .fg-item { margin-bottom: 0; width: 100%; }
|
2161 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-column-width,
|
2162 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,
|
2163 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,
|
2164 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-column-width,
|
2165 |
+
.fg-masonry.fg-col2.fg-gutter-none .fg-column-width { width: 100%; }
|
2166 |
+
.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width,
|
2167 |
+
.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,
|
2168 |
+
.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,
|
2169 |
+
.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width,
|
2170 |
+
.fg-masonry.fg-col2.fg-gutter-none .fg-gutter-width { width: 0; }
|
2171 |
+
|
2172 |
+
/* large gutter */
|
2173 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-item,
|
2174 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-item,
|
2175 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-item,
|
2176 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-item,
|
2177 |
+
.fg-masonry.fg-col2.fg-gutter-large .fg-item { margin-bottom: 3%; width: 100%; }
|
2178 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-column-width,
|
2179 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,
|
2180 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,
|
2181 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-column-width,
|
2182 |
+
.fg-masonry.fg-col2.fg-gutter-large .fg-column-width { width: 100%; }
|
2183 |
+
.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width,
|
2184 |
+
.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,
|
2185 |
+
.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,
|
2186 |
+
.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width,
|
2187 |
+
.fg-masonry.fg-col2.fg-gutter-large .fg-gutter-width { width: 0; }
|
2188 |
+
}
|
2189 |
+
|
2190 |
+
/* Border Styles - We must apply width changing border styles to the fg-column-width element so that the plugin can correctly determine the item widths. */
|
2191 |
+
.foogallery.fg-border-thin .fg-column-width {
|
2192 |
+
border-width: 4px;
|
2193 |
+
}
|
2194 |
+
.foogallery.fg-border-medium .fg-column-width {
|
2195 |
+
border-width: 10px;
|
2196 |
+
}
|
2197 |
+
.foogallery.fg-border-thick .fg-column-width {
|
2198 |
+
border-width: 16px;
|
2199 |
+
}
|
2200 |
+
|
2201 |
+
/* Captions Bottom */
|
2202 |
+
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption {
|
2203 |
+
visibility: visible;
|
2204 |
+
opacity: 1;
|
2205 |
+
font-size: 13px;
|
2206 |
+
position: relative;
|
2207 |
+
display: block;
|
2208 |
+
top: auto;
|
2209 |
+
bottom: auto;
|
2210 |
+
left: auto;
|
2211 |
+
right: auto;
|
2212 |
+
width: auto;
|
2213 |
+
height: auto;
|
2214 |
+
text-transform: none;
|
2215 |
+
transform: none;
|
2216 |
+
transition: none;
|
2217 |
+
background-color: transparent;
|
2218 |
+
border-style: solid;
|
2219 |
+
border-color: transparent;
|
2220 |
+
text-align: left;
|
2221 |
+
}
|
2222 |
+
.foogallery.fg-masonry.fg-captions-bottom.fg-c-l .fg-item-inner .fg-caption {
|
2223 |
+
text-align: left;
|
2224 |
+
}
|
2225 |
+
.foogallery.fg-masonry.fg-captions-bottom.fg-c-c .fg-item-inner .fg-caption {
|
2226 |
+
text-align: center;
|
2227 |
+
}
|
2228 |
+
.foogallery.fg-masonry.fg-captions-bottom.fg-c-r .fg-item-inner .fg-caption {
|
2229 |
+
text-align: right;
|
2230 |
+
}
|
2231 |
+
.foogallery.fg-masonry.fg-captions-bottom.fg-c-j .fg-item-inner .fg-caption {
|
2232 |
+
text-align: justify;
|
2233 |
+
}
|
2234 |
+
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner:hover .fg-caption {
|
2235 |
+
transform: none;
|
2236 |
+
transition: none;
|
2237 |
+
}
|
2238 |
+
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner {
|
2239 |
+
display: block;
|
2240 |
+
position: relative;
|
2241 |
+
max-height: none;
|
2242 |
+
top: auto;
|
2243 |
+
bottom: auto;
|
2244 |
+
left: auto;
|
2245 |
+
right: auto;
|
2246 |
+
width: auto;
|
2247 |
+
height: auto;
|
2248 |
+
border: none;
|
2249 |
+
transform: none;
|
2250 |
+
transition: none;
|
2251 |
+
}
|
2252 |
+
.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner:before {
|
2253 |
+
display: none;
|
2254 |
+
}
|
2255 |
+
.foogallery.fg-masonry.fg-captions-bottom.fg-caption-hover .fg-item-inner .fg-image-overlay {
|
2256 |
+
display: block;
|
2257 |
+
}
|
2258 |
+
.foogallery.fg-masonry.fg-captions-bottom.fg-caption-always .fg-item-inner:hover .fg-caption {
|
2259 |
+
visibility: visible;
|
2260 |
+
opacity: 1;
|
2261 |
+
}
|
2262 |
+
|
2263 |
+
.fg-masonry.fg-captions-bottom.fg-light .fg-caption,
|
2264 |
+
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption {
|
2265 |
+
color: #828282;
|
2266 |
+
}
|
2267 |
+
.fg-masonry.fg-captions-bottom.fg-light .fg-caption a,
|
2268 |
+
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a {
|
2269 |
+
color: #828282;
|
2270 |
+
border-bottom: 1px solid #828282;
|
2271 |
+
}
|
2272 |
+
.fg-masonry.fg-captions-bottom.fg-light .fg-caption a:hover,
|
2273 |
+
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a:hover {
|
2274 |
+
border-bottom: none;
|
2275 |
+
}
|
2276 |
+
.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title,
|
2277 |
+
.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a {
|
2278 |
+
color: #222;
|
2279 |
+
}
|
2280 |
+
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title,
|
2281 |
+
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a {
|
2282 |
+
color: #FFF;
|
2283 |
+
}
|
2284 |
+
.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a {
|
2285 |
+
border-bottom: 1px solid #222;
|
2286 |
+
}
|
2287 |
+
.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a {
|
2288 |
+
border-bottom: 1px solid #FFF;
|
2289 |
+
}
|
2290 |
+
|
2291 |
+
/* Handle Border Sizing for Captions Below */
|
2292 |
+
.fg-masonry.fg-captions-bottom .fg-caption {
|
2293 |
+
border-width: 10px;
|
2294 |
+
}
|
2295 |
+
.fg-masonry.fg-captions-bottom .fg-caption-title+.fg-caption-desc {
|
2296 |
+
margin-top: 4px;
|
2297 |
+
}
|
2298 |
+
.fg-masonry.fg-captions-bottom.fg-border-thin .fg-caption {
|
2299 |
+
border-width: 10px 4px 4px 4px;
|
2300 |
+
}
|
2301 |
+
.fg-masonry.fg-captions-bottom.fg-border-medium .fg-caption {
|
2302 |
+
border-width: 10px 0 0 0;
|
2303 |
+
}
|
2304 |
+
.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption {
|
2305 |
+
border-width: 16px 0 0 0;
|
2306 |
+
}
|
2307 |
+
.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption-title+.fg-caption-desc {
|
2308 |
+
margin-top: 10px;
|
2309 |
+
}
|
2310 |
+
|
2311 |
+
/* Transparent Theme */
|
2312 |
+
.fg-masonry.fg-transparent .fg-item-inner {
|
2313 |
+
background-color: transparent;
|
2314 |
+
color: #333;
|
2315 |
+
border-color: transparent;
|
2316 |
+
}
|
2317 |
+
|
2318 |
+
/* Captions */
|
2319 |
+
.fg-masonry.fg-transparent .fg-caption {
|
2320 |
+
color: #7f7f7f;
|
2321 |
+
}
|
2322 |
+
.fg-masonry.fg-transparent.fg-captions-bottom .fg-caption {
|
2323 |
+
border-width: 0;
|
2324 |
+
border-top-width: 10px;
|
2325 |
+
border-bottom-width: 10px;
|
2326 |
+
}
|
2327 |
+
.fg-masonry.fg-transparent .fg-caption a {
|
2328 |
+
color: #7f7f7f;
|
2329 |
+
border-bottom: 1px solid #7f7f7f;
|
2330 |
+
}
|
2331 |
+
.fg-masonry.fg-transparent .fg-caption a:hover {
|
2332 |
+
border-bottom: none;
|
2333 |
+
}
|
2334 |
+
.fg-masonry.fg-transparent .fg-caption-title,
|
2335 |
+
.fg-masonry.fg-transparent .fg-caption-title a {
|
2336 |
+
color: #333;
|
2337 |
+
}
|
2338 |
+
.fg-masonry.fg-transparent .fg-caption-title a {
|
2339 |
+
border-bottom: 1px solid #333;
|
2340 |
+
}
|
2341 |
+
|
2342 |
+
/* Rounded Corners */
|
2343 |
+
.fg-masonry.fg-transparent.fg-round-full .fg-item,
|
2344 |
+
.fg-masonry.fg-transparent.fg-round-full .fg-item-inner {
|
2345 |
+
border-radius: 15px;
|
2346 |
+
}
|
2347 |
+
.fg-masonry.fg-transparent.fg-round-full .fg-image-wrap,
|
2348 |
+
.fg-masonry.fg-transparent.fg-round-full .fg-image-overlay,
|
2349 |
+
.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-small .fg-thumb:after,
|
2350 |
+
.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,
|
2351 |
+
.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-large .fg-thumb:after {
|
2352 |
+
border-radius: 50%;
|
2353 |
+
overflow: hidden;
|
2354 |
+
}
|
2355 |
+
|
2356 |
+
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2357 |
+
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,
|
2358 |
+
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2359 |
+
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,
|
2360 |
+
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2361 |
+
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2362 |
+
overflow: hidden;
|
2363 |
+
}
|
2364 |
+
.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2365 |
+
.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2366 |
+
.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2367 |
+
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2368 |
+
.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2369 |
+
border-radius: 5px;
|
2370 |
+
}
|
2371 |
+
.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2372 |
+
.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2373 |
+
.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2374 |
+
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2375 |
+
.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2376 |
+
border-radius: 10px;
|
2377 |
+
}
|
2378 |
+
.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2379 |
+
.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2380 |
+
.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2381 |
+
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2382 |
+
.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2383 |
+
border-radius: 15px;
|
2384 |
+
}
|
2385 |
+
|
2386 |
+
/* Shadows */
|
2387 |
+
.fg-masonry.fg-transparent.fg-shadow-inset-small .fg-thumb:after {
|
2388 |
+
box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.3);
|
2389 |
+
}
|
2390 |
+
.fg-masonry.fg-transparent.fg-shadow-inset-medium .fg-thumb:after {
|
2391 |
+
box-shadow: inset 0 1px 10px 0 rgba(0,0,0,0.3);
|
2392 |
+
}
|
2393 |
+
.fg-masonry.fg-transparent.fg-shadow-inset-large .fg-thumb:after {
|
2394 |
+
box-shadow: inset 0 1px 16px 0 rgba(0,0,0,0.3);
|
2395 |
+
}
|
2396 |
+
|
2397 |
+
.fg-masonry.fg-transparent.fg-shadow-outline .fg-item-inner {
|
2398 |
+
box-shadow: 0 0 0 1px rgba(128, 128, 128, 0.5);
|
2399 |
+
}
|
2400 |
+
.fg-masonry.fg-transparent.fg-shadow-small .fg-item-inner {
|
2401 |
+
box-shadow: 0 1px 4px 0 rgba(128, 128, 128, 0.5);
|
2402 |
+
}
|
2403 |
+
.fg-masonry.fg-transparent.fg-shadow-medium .fg-item-inner {
|
2404 |
+
box-shadow: 0 1px 10px 0 rgba(128, 128, 128, 0.5);
|
2405 |
+
}
|
2406 |
+
.fg-masonry.fg-transparent.fg-shadow-large .fg-item-inner {
|
2407 |
+
box-shadow: 0 1px 16px 0 rgba(128, 128, 128, 0.5);
|
2408 |
+
}
|
2409 |
+
/* Base Styles */
|
2410 |
+
.fg-justified {
|
2411 |
+
box-sizing: border-box;
|
2412 |
+
position: relative;
|
2413 |
+
text-align: center;
|
2414 |
+
}
|
2415 |
+
.foogallery.fg-justified .fg-item {
|
2416 |
+
box-sizing: border-box;
|
2417 |
+
display: inline-block;
|
2418 |
+
margin: 0;
|
2419 |
+
padding: 0;
|
2420 |
+
}
|
2421 |
+
.foogallery.fg-justified .fg-item-inner,
|
2422 |
+
.foogallery.fg-justified .fg-thumb,
|
2423 |
+
.foogallery.fg-justified .fg-image {
|
2424 |
+
box-sizing: border-box;
|
2425 |
+
display: block;
|
2426 |
+
margin: 0;
|
2427 |
+
padding: 0;
|
2428 |
+
}
|
2429 |
+
.fg-justified .fg-item {
|
2430 |
+
visibility: visible;
|
2431 |
+
position: relative;
|
2432 |
+
}
|
2433 |
+
.fg-justified .fg-item-inner {
|
2434 |
+
position: relative;
|
2435 |
+
width: 100%;
|
2436 |
+
height: 100%;
|
2437 |
+
}
|
2438 |
+
.fg-justified .fg-thumb {
|
2439 |
+
position: relative;
|
2440 |
+
overflow: hidden;
|
2441 |
+
}
|
2442 |
+
.fg-justified .fg-image {
|
2443 |
+
z-index: 1;
|
2444 |
+
}
|
2445 |
+
.fg-justified .fg-item.fg-positioned .fg-thumb,
|
2446 |
+
.fg-justified .fg-item.fg-positioned .fg-image-wrap {
|
2447 |
+
width: 100%;
|
2448 |
+
height: 100%;
|
2449 |
+
}
|
2450 |
+
.fg-justified .fg-item.fg-positioned .fg-image {
|
2451 |
+
width: 100%!important;
|
2452 |
+
height: auto!important;
|
2453 |
+
min-height: 100%;
|
2454 |
+
}
|
2455 |
+
.fg-simple_portfolio {
|
2456 |
+
display: flex;
|
2457 |
+
flex-wrap: wrap;
|
2458 |
+
justify-content: center;
|
2459 |
+
align-items: stretch;
|
2460 |
+
align-content: center;
|
2461 |
+
}
|
2462 |
+
.fg-simple_portfolio .fg-item {
|
2463 |
+
position: relative;
|
2464 |
+
flex-grow: 0;
|
2465 |
+
flex-shrink: 0;
|
2466 |
+
flex-basis: auto;
|
2467 |
+
margin: 10px;
|
2468 |
+
max-width: 100%;
|
2469 |
+
}
|
2470 |
+
.fg-simple_portfolio .fg-item-inner {
|
2471 |
+
display: flex;
|
2472 |
+
flex-direction: column;
|
2473 |
+
margin: 0;
|
2474 |
+
height: 100%;
|
2475 |
+
}
|
2476 |
+
.fg-simple_portfolio.fg-captions-top .fg-item-inner {
|
2477 |
+
flex-direction: column-reverse;
|
2478 |
+
}
|
2479 |
+
.fg-simple_portfolio .fg-image {
|
2480 |
+
height: auto;
|
2481 |
+
width: 100%;
|
2482 |
+
}
|
2483 |
+
|
2484 |
+
/* Some badly written themes apply min-width:0 and min-height:0 to every element in the page which causes layout issues with flex. */
|
2485 |
+
.fg-simple_portfolio .fg-thumb {
|
2486 |
+
min-width: auto;
|
2487 |
+
min-height: auto;
|
2488 |
+
}
|
2489 |
+
|
2490 |
+
/* Reset captions for the portfolio */
|
2491 |
+
.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption {
|
2492 |
+
visibility: visible;
|
2493 |
+
opacity: 1;
|
2494 |
+
font-size: 13px;
|
2495 |
+
position: relative;
|
2496 |
+
display: block;
|
2497 |
+
top: auto;
|
2498 |
+
bottom: auto;
|
2499 |
+
left: auto;
|
2500 |
+
right: auto;
|
2501 |
+
width: 100%;
|
2502 |
+
height: 100%;
|
2503 |
+
text-transform: none;
|
2504 |
+
transform: none;
|
2505 |
+
transition: none;
|
2506 |
+
background-color: transparent;
|
2507 |
+
border-style: solid;
|
2508 |
+
border-color: transparent;
|
2509 |
+
text-align: left;
|
2510 |
+
}
|
2511 |
+
.foogallery.fg-simple_portfolio.fg-c-l .fg-item-inner .fg-caption {
|
2512 |
+
text-align: left;
|
2513 |
+
}
|
2514 |
+
.foogallery.fg-simple_portfolio.fg-c-c .fg-item-inner .fg-caption {
|
2515 |
+
text-align: center;
|
2516 |
+
}
|
2517 |
+
.foogallery.fg-simple_portfolio.fg-c-r .fg-item-inner .fg-caption {
|
2518 |
+
text-align: right;
|
2519 |
+
}
|
2520 |
+
.foogallery.fg-simple_portfolio.fg-c-j .fg-item-inner .fg-caption {
|
2521 |
+
text-align: justify;
|
2522 |
+
}
|
2523 |
+
.foogallery.fg-simple_portfolio .fg-item-inner:hover .fg-caption {
|
2524 |
+
transform: none;
|
2525 |
+
transition: none;
|
2526 |
+
}
|
2527 |
+
.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner {
|
2528 |
+
display: block;
|
2529 |
+
top: auto;
|
2530 |
+
bottom: auto;
|
2531 |
+
left: auto;
|
2532 |
+
right: auto;
|
2533 |
+
width: auto;
|
2534 |
+
height: auto;
|
2535 |
+
border: none;
|
2536 |
+
transform: none;
|
2537 |
+
transition: none;
|
2538 |
+
}
|
2539 |
+
.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner:before {
|
2540 |
+
display: none;
|
2541 |
+
}
|
2542 |
+
.foogallery.fg-simple_portfolio.fg-caption-hover .fg-item-inner .fg-image-overlay {
|
2543 |
+
display: block;
|
2544 |
+
}
|
2545 |
+
.foogallery.fg-simple_portfolio.fg-caption-always .fg-item-inner:hover .fg-caption {
|
2546 |
+
visibility: visible;
|
2547 |
+
opacity: 1;
|
2548 |
+
}
|
2549 |
+
.fg-simple_portfolio .fg-caption-title {
|
2550 |
+
white-space: normal;
|
2551 |
+
height: auto;
|
2552 |
+
}
|
2553 |
+
|
2554 |
+
.fg-simple_portfolio.fg-light .fg-caption,
|
2555 |
+
.fg-simple_portfolio.fg-dark .fg-caption {
|
2556 |
+
color: #828282;
|
2557 |
+
}
|
2558 |
+
.fg-simple_portfolio.fg-light .fg-caption a,
|
2559 |
+
.fg-simple_portfolio.fg-dark .fg-caption a {
|
2560 |
+
color: #828282;
|
2561 |
+
border-bottom: 1px solid #828282;
|
2562 |
+
}
|
2563 |
+
.fg-simple_portfolio.fg-light .fg-caption a:hover,
|
2564 |
+
.fg-simple_portfolio.fg-dark .fg-caption a:hover {
|
2565 |
+
border-bottom: none;
|
2566 |
+
}
|
2567 |
+
.fg-simple_portfolio.fg-light .fg-caption-title,
|
2568 |
+
.fg-simple_portfolio.fg-light .fg-caption-title a {
|
2569 |
+
color: #222;
|
2570 |
+
}
|
2571 |
+
.fg-simple_portfolio.fg-dark .fg-caption-title,
|
2572 |
+
.fg-simple_portfolio.fg-dark .fg-caption-title a {
|
2573 |
+
color: #FFF;
|
2574 |
+
}
|
2575 |
+
.fg-simple_portfolio.fg-light .fg-caption-title a {
|
2576 |
+
border-bottom: 1px solid #222;
|
2577 |
+
}
|
2578 |
+
.fg-simple_portfolio.fg-dark .fg-caption-title a {
|
2579 |
+
border-bottom: 1px solid #FFF;
|
2580 |
+
}
|
2581 |
+
|
2582 |
+
/* Handle Border Sizing */
|
2583 |
+
.fg-simple_portfolio .fg-caption {
|
2584 |
+
border-width: 0;
|
2585 |
+
}
|
2586 |
+
.fg-simple_portfolio .fg-caption-title+.fg-caption-desc {
|
2587 |
+
margin-top: 4px;
|
2588 |
+
}
|
2589 |
+
.fg-simple_portfolio.fg-border-thin .fg-caption {
|
2590 |
+
border-width: 10px 4px 4px 4px;
|
2591 |
+
}
|
2592 |
+
.fg-simple_portfolio.fg-captions-top.fg-border-thin .fg-caption {
|
2593 |
+
border-width: 4px 4px 10px 4px;
|
2594 |
+
}
|
2595 |
+
.fg-simple_portfolio.fg-border-medium .fg-caption {
|
2596 |
+
border-width: 10px 0 0 0;
|
2597 |
+
}
|
2598 |
+
.fg-simple_portfolio.fg-captions-top.fg-border-medium .fg-caption {
|
2599 |
+
border-width: 0 0 10px 0;
|
2600 |
+
}
|
2601 |
+
.fg-simple_portfolio.fg-border-thick .fg-caption {
|
2602 |
+
border-width: 16px 0 0 0;
|
2603 |
+
}
|
2604 |
+
.fg-simple_portfolio.fg-captions-top.fg-border-thick .fg-caption {
|
2605 |
+
border-width: 0 0 16px 0;
|
2606 |
+
}
|
2607 |
+
.fg-simple_portfolio.fg-border-thick .fg-caption-title+.fg-caption-desc {
|
2608 |
+
margin-top: 10px;
|
2609 |
+
}
|
2610 |
+
|
2611 |
+
/* Transparent Theme */
|
2612 |
+
.fg-simple_portfolio.fg-transparent .fg-item-inner {
|
2613 |
+
background-color: transparent;
|
2614 |
+
color: #333;
|
2615 |
+
border-color: transparent;
|
2616 |
+
}
|
2617 |
+
|
2618 |
+
/* Captions */
|
2619 |
+
.fg-simple_portfolio.fg-transparent .fg-caption {
|
2620 |
+
color: #7f7f7f;
|
2621 |
+
}
|
2622 |
+
.fg-simple_portfolio.fg-transparent .fg-caption a {
|
2623 |
+
color: #7f7f7f;
|
2624 |
+
border-bottom: 1px solid #7f7f7f;
|
2625 |
+
}
|
2626 |
+
.fg-simple_portfolio.fg-transparent .fg-caption a:hover {
|
2627 |
+
border-bottom: none;
|
2628 |
+
}
|
2629 |
+
.fg-simple_portfolio.fg-transparent .fg-caption-title,
|
2630 |
+
.fg-simple_portfolio.fg-transparent .fg-caption-title a {
|
2631 |
+
color: #333;
|
2632 |
+
}
|
2633 |
+
.fg-simple_portfolio.fg-transparent .fg-caption-title a {
|
2634 |
+
border-bottom: 1px solid #333;
|
2635 |
+
}
|
2636 |
+
|
2637 |
+
/* Rounded Corners */
|
2638 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full .fg-item,
|
2639 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full .fg-item-inner {
|
2640 |
+
border-radius: 15px;
|
2641 |
+
}
|
2642 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full .fg-image-wrap,
|
2643 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full .fg-image-overlay,
|
2644 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full.fg-shadow-inset-small .fg-thumb:after,
|
2645 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,
|
2646 |
+
.fg-simple_portfolio.fg-transparent.fg-round-full.fg-shadow-inset-large .fg-thumb:after {
|
2647 |
+
border-radius: 50%;
|
2648 |
+
overflow: hidden;
|
2649 |
+
}
|
2650 |
+
|
2651 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2652 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,
|
2653 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2654 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,
|
2655 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2656 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2657 |
+
overflow: hidden;
|
2658 |
+
}
|
2659 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2660 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2661 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2662 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2663 |
+
.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2664 |
+
border-radius: 5px;
|
2665 |
+
}
|
2666 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2667 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2668 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2669 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2670 |
+
.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2671 |
+
border-radius: 10px;
|
2672 |
+
}
|
2673 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2674 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2675 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,
|
2676 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,
|
2677 |
+
.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay {
|
2678 |
+
border-radius: 15px;
|
2679 |
+
}
|
2680 |
+
|
2681 |
+
/* Shadows */
|
2682 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-inset-small .fg-thumb:after {
|
2683 |
+
box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.3);
|
2684 |
+
}
|
2685 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-inset-medium .fg-thumb:after {
|
2686 |
+
box-shadow: inset 0 1px 10px 0 rgba(0,0,0,0.3);
|
2687 |
+
}
|
2688 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-inset-large .fg-thumb:after {
|
2689 |
+
box-shadow: inset 0 1px 16px 0 rgba(0,0,0,0.3);
|
2690 |
+
}
|
2691 |
+
|
2692 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-outline .fg-item-inner {
|
2693 |
+
box-shadow: 0 0 0 1px rgba(128, 128, 128, 0.5);
|
2694 |
+
}
|
2695 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-small .fg-item-inner {
|
2696 |
+
box-shadow: 0 1px 4px 0 rgba(128, 128, 128, 0.5);
|
2697 |
+
}
|
2698 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-medium .fg-item-inner {
|
2699 |
+
box-shadow: 0 1px 10px 0 rgba(128, 128, 128, 0.5);
|
2700 |
+
}
|
2701 |
+
.fg-simple_portfolio.fg-transparent.fg-shadow-large .fg-item-inner {
|
2702 |
+
box-shadow: 0 1px 16px 0 rgba(128, 128, 128, 0.5);
|
2703 |
+
}
|
2704 |
+
/* Polaroid */
|
2705 |
+
.foogallery.fg-preset.fg-polaroid .fg-item {
|
2706 |
+
-webkit-backface-visibility: hidden;
|
2707 |
+
backface-visibility: hidden;
|
2708 |
+
transition: transform 0.35s, background-color 0.65s;
|
2709 |
+
}
|
2710 |
+
.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n+1) {
|
2711 |
+
-webkit-transform: rotate(3deg);
|
2712 |
+
transform: rotate(3deg);
|
2713 |
+
}
|
2714 |
+
.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n) {
|
2715 |
+
-webkit-transform: rotate(-3deg);
|
2716 |
+
transform: rotate(-3deg);
|
2717 |
+
}
|
2718 |
+
.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(3n) {
|
2719 |
+
-webkit-transform: rotate(1deg);
|
2720 |
+
transform: rotate(1deg);
|
2721 |
+
}
|
2722 |
+
.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(5n) {
|
2723 |
+
-webkit-transform: rotate(-2deg);
|
2724 |
+
transform: rotate(-2deg);
|
2725 |
+
}
|
2726 |
+
|
2727 |
+
.foogallery.fg-preset.fg-polaroid .fg-item:hover {
|
2728 |
+
-webkit-transform: rotate(0);
|
2729 |
+
transform: rotate(0);
|
2730 |
+
}
|
2731 |
+
|
2732 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption {
|
2733 |
+
position: relative;
|
2734 |
+
width: auto;
|
2735 |
+
font-family: "Segoe Print Regular",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
2736 |
+
}
|
2737 |
+
|
2738 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption-inner,
|
2739 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption-title {
|
2740 |
+
position: relative;
|
2741 |
+
width: auto;
|
2742 |
+
}
|
2743 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption-title {
|
2744 |
+
text-align: center;
|
2745 |
+
}
|
2746 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption-desc {
|
2747 |
+
display: none;
|
2748 |
+
}
|
2749 |
+
|
2750 |
+
/* Themes */
|
2751 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption-title,
|
2752 |
+
.foogallery.fg-light.fg-preset.fg-polaroid .fg-caption-title {
|
2753 |
+
color: #333;
|
2754 |
+
}
|
2755 |
+
.foogallery.fg-dark.fg-preset.fg-polaroid .fg-caption-title {
|
2756 |
+
color: #FFF;
|
2757 |
+
}
|
2758 |
+
|
2759 |
+
/* Handle Border Sizing */
|
2760 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption {
|
2761 |
+
border-style: solid;
|
2762 |
+
border-color: transparent;
|
2763 |
+
border-width: 10px;
|
2764 |
+
}
|
2765 |
+
.foogallery.fg-preset.fg-polaroid .fg-caption-title+.fg-caption-desc {
|
2766 |
+
margin-top: 4px;
|
2767 |
+
}
|
2768 |
+
.foogallery.fg-preset.fg-polaroid.fg-border-thin .fg-caption {
|
2769 |
+
border-width: 10px 4px 4px 4px;
|
2770 |
+
}
|
2771 |
+
.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thin .fg-caption {
|
2772 |
+
border-width: 4px 4px 10px 4px;
|
2773 |
+
}
|
2774 |
+
.foogallery.fg-preset.fg-polaroid.fg-border-medium .fg-caption {
|
2775 |
+
border-width: 10px 0 0 0;
|
2776 |
+
}
|
2777 |
+
.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-medium .fg-caption {
|
2778 |
+
border-width: 0 0 10px 0;
|
2779 |
+
}
|
2780 |
+
.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption {
|
2781 |
+
border-width: 16px 0 0 0;
|
2782 |
+
}
|
2783 |
+
.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thick .fg-caption {
|
2784 |
+
border-width: 0 0 16px 0;
|
2785 |
+
}
|
2786 |
+
.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption-title+.fg-caption-desc {
|
2787 |
+
margin-top: 10px;
|
2788 |
+
}
|
2789 |
+
/* Base styles */
|
2790 |
+
.fg-image-viewer {
|
2791 |
+
display: block;
|
2792 |
+
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
2793 |
+
}
|
2794 |
+
.fg-image-viewer.fg-left {
|
2795 |
+
text-align: left;
|
2796 |
+
}
|
2797 |
+
|
2798 |
+
.fg-image-viewer.fg-center {
|
2799 |
+
text-align: center;
|
2800 |
+
}
|
2801 |
+
.fg-image-viewer.fg-right {
|
2802 |
+
text-align: right;
|
2803 |
+
}
|
2804 |
+
|
2805 |
+
.fiv-inner {
|
2806 |
+
position: relative;
|
2807 |
+
display: inline-block;
|
2808 |
+
max-width: 100%;
|
2809 |
+
overflow: hidden;
|
2810 |
+
z-index: 6;
|
2811 |
+
}
|
2812 |
+
.fiv-inner .fiv-inner-container {
|
2813 |
+
position: relative;
|
2814 |
+
overflow: hidden;
|
2815 |
+
max-width: 100%;
|
2816 |
+
border-style: solid;
|
2817 |
+
border-width: 0;
|
2818 |
+
border-bottom-width: 4px;
|
2819 |
+
z-index: 5;
|
2820 |
+
}
|
2821 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb,
|
2822 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:hover,
|
2823 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:active,
|
2824 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:visited {
|
2825 |
+
position: relative;
|
2826 |
+
display: block;
|
2827 |
+
border: none;
|
2828 |
+
outline: none;
|
2829 |
+
text-decoration: none;
|
2830 |
+
box-shadow: none;
|
2831 |
+
max-width: 100%;
|
2832 |
+
}
|
2833 |
+
|
2834 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item {
|
2835 |
+
position: absolute;
|
2836 |
+
visibility: visible;
|
2837 |
+
opacity: 1;
|
2838 |
+
border: none;
|
2839 |
+
outline: none;
|
2840 |
+
text-decoration: none;
|
2841 |
+
box-shadow: none;
|
2842 |
+
max-width: 100%;
|
2843 |
+
}
|
2844 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item:first-of-type {
|
2845 |
+
position: relative;
|
2846 |
+
}
|
2847 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb img {
|
2848 |
+
display: block;
|
2849 |
+
max-width: 100%;
|
2850 |
+
height: auto;
|
2851 |
+
border: none;
|
2852 |
+
outline: none;
|
2853 |
+
text-decoration: none;
|
2854 |
+
}
|
2855 |
+
|
2856 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls {
|
2857 |
+
display: block;
|
2858 |
+
text-align: center;
|
2859 |
+
font-size: 14px;
|
2860 |
+
border-style: solid;
|
2861 |
+
line-height: 34px;
|
2862 |
+
}
|
2863 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls:after {
|
2864 |
+
content: '';
|
2865 |
+
display: block;
|
2866 |
+
clear: both;
|
2867 |
+
}
|
2868 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count {
|
2869 |
+
display: inline-block;
|
2870 |
+
font-weight: normal;
|
2871 |
+
margin: 0;
|
2872 |
+
}
|
2873 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev,
|
2874 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next {
|
2875 |
+
cursor: pointer;
|
2876 |
+
-webkit-user-select: none;
|
2877 |
+
-moz-user-select: none;
|
2878 |
+
-ms-user-select: none;
|
2879 |
+
user-select: none;
|
2880 |
+
border: none;
|
2881 |
+
min-width: 80px;
|
2882 |
+
position: relative;
|
2883 |
+
overflow: hidden;
|
2884 |
+
transition: background-color .3s;
|
2885 |
+
}
|
2886 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before,
|
2887 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before {
|
2888 |
+
display: block;
|
2889 |
+
position: absolute;
|
2890 |
+
font-size: 24px;
|
2891 |
+
line-height: 30px;
|
2892 |
+
top:0;
|
2893 |
+
left:0;
|
2894 |
+
width: 100%;
|
2895 |
+
transform: translateY(0);
|
2896 |
+
transition: transform .3s;
|
2897 |
+
}
|
2898 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover:before,
|
2899 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover:before {
|
2900 |
+
transform: translateY(-100%);
|
2901 |
+
}
|
2902 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev span,
|
2903 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next span {
|
2904 |
+
display: block;
|
2905 |
+
width: 100%;
|
2906 |
+
transform: translateY(100%);
|
2907 |
+
transition: transform .3s;
|
2908 |
+
}
|
2909 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover span,
|
2910 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover span {
|
2911 |
+
transform: translateY(0);
|
2912 |
+
}
|
2913 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev {
|
2914 |
+
float: left;
|
2915 |
+
}
|
2916 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before {
|
2917 |
+
content: '\2190';
|
2918 |
+
}
|
2919 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next {
|
2920 |
+
float: right;
|
2921 |
+
}
|
2922 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before {
|
2923 |
+
content: '\2192';
|
2924 |
+
}
|
2925 |
+
.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count span {
|
2926 |
+
margin: 0 4px;
|
2927 |
+
}
|
2928 |
+
|
2929 |
+
/* Captions */
|
2930 |
+
|
2931 |
+
.foogallery.fg-image-viewer.fg-caption-always .fg-item-inner .fg-caption {
|
2932 |
+
padding: 0;
|
2933 |
+
border: none;
|
2934 |
+
}
|
2935 |
+
.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title {
|
2936 |
+
padding: 10px 10px 10px 10px;
|
2937 |
+
}
|
2938 |
+
.foogallery.fg-image-viewer.fg-caption-always .fg-caption-desc {
|
2939 |
+
padding: 10px 10px 10px 10px;
|
2940 |
+
}
|
2941 |
+
.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title+.fg-caption-desc {
|
2942 |
+
padding: 0 10px 10px 10px;
|
2943 |
+
}
|
2944 |
+
|
2945 |
+
/* Theme - Default (Light) */
|
2946 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls,
|
2947 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-inner-container,
|
2948 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-count,
|
2949 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev,
|
2950 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next {
|
2951 |
+
background-color: #FFF;
|
2952 |
+
color: #333;
|
2953 |
+
border-color: #FFF;
|
2954 |
+
}
|
2955 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev:hover,
|
2956 |
+
.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next:hover {
|
2957 |
+
background-color: #F2F2F2;
|
2958 |
+
}
|
2959 |
+
.fg-image-viewer.fg-light .fiv-prev,
|
2960 |
+
.fg-image-viewer.fg-light .fiv-next {
|
2961 |
+
box-shadow: inset 0 0 0 1px #ddd;
|
2962 |
+
}
|
2963 |
+
|
2964 |
+
/* Theme - Dark */
|
2965 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls,
|
2966 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-inner-container,
|
2967 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-count,
|
2968 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev,
|
2969 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next {
|
2970 |
+
background-color: #333;
|
2971 |
+
color: #FFF;
|
2972 |
+
border-color: #333;
|
2973 |
+
}
|
2974 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev:hover,
|
2975 |
+
.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next:hover {
|
2976 |
+
background-color: #444;
|
2977 |
+
}
|
2978 |
+
.fg-image-viewer.fg-dark .fiv-prev,
|
2979 |
+
.fg-image-viewer.fg-dark .fiv-next {
|
2980 |
+
box-shadow: inset 0 0 0 1px #222;
|
2981 |
+
}
|
2982 |
+
|
2983 |
+
/* Border Size */
|
2984 |
+
.foogallery.fg-image-viewer.fg-border-thin .fg-item-inner,
|
2985 |
+
.foogallery.fg-image-viewer.fg-border-medium .fg-item-inner,
|
2986 |
+
.foogallery.fg-image-viewer.fg-border-thick .fg-item-inner {
|
2987 |
+
border-width: 0;
|
2988 |
+
}
|
2989 |
+
.foogallery.fg-image-viewer .fiv-ctrls,
|
2990 |
+
.foogallery.fg-image-viewer.fg-border-thin .fiv-inner-container {
|
2991 |
+
border-width: 4px;
|
2992 |
+
}
|
2993 |
+
.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,
|
2994 |
+
.foogallery.fg-image-viewer.fg-border-medium .fiv-inner-container {
|
2995 |
+
border-width: 10px;
|
2996 |
+
}
|
2997 |
+
.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,
|
2998 |
+
.foogallery.fg-image-viewer.fg-border-thick .fiv-inner-container {
|
2999 |
+
border-width: 16px;
|
3000 |
+
}
|
3001 |
+
.foogallery.fg-image-viewer .fiv-ctrls,
|
3002 |
+
.foogallery.fg-image-viewer.fg-border-thin .fiv-ctrls,
|
3003 |
+
.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,
|
3004 |
+
.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls {
|
3005 |
+
border-top-width: 1px;
|
3006 |
+
}
|
3007 |
+
|
3008 |
+
/* Rounded Corners */
|
3009 |
+
.foogallery.fg-image-viewer.fg-round-small .fg-item,
|
3010 |
+
.foogallery.fg-image-viewer.fg-round-small .fg-item-inner,
|
3011 |
+
.foogallery.fg-image-viewer.fg-round-small .fiv-inner {
|
3012 |
+
border-radius: 5px;
|
3013 |
+
}
|
3014 |
+
.foogallery.fg-image-viewer.fg-round-small .fg-item,
|
3015 |
+
.foogallery.fg-image-viewer.fg-round-small .fg-item-inner {
|
3016 |
+
border-bottom-left-radius: 0;
|
3017 |
+
border-bottom-right-radius: 0;
|
3018 |
+
}
|
3019 |
+
.foogallery.fg-image-viewer.fg-round-small .fiv-prev,
|
3020 |
+
.foogallery.fg-image-viewer.fg-round-small .fiv-next {
|
3021 |
+
border-radius: 3px;
|
3022 |
+
}
|
3023 |
+
|
3024 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item,
|
3025 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item-inner,
|
3026 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-prev,
|
3027 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-next,
|
3028 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item,
|
3029 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item-inner,
|
3030 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-prev,
|
3031 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-next,
|
3032 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item,
|
3033 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item-inner,
|
3034 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-prev,
|
3035 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-next {
|
3036 |
+
border-radius: 3px;
|
3037 |
+
}
|
3038 |
+
|
3039 |
+
.foogallery.fg-image-viewer.fg-round-medium .fg-item,
|
3040 |
+
.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner,
|
3041 |
+
.foogallery.fg-image-viewer.fg-round-medium .fiv-inner {
|
3042 |
+
border-radius: 10px;
|
3043 |
+
}
|
3044 |
+
.foogallery.fg-image-viewer.fg-round-medium .fg-item,
|
3045 |
+
.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner {
|
3046 |
+
border-bottom-left-radius: 0;
|
3047 |
+
border-bottom-right-radius: 0;
|
3048 |
+
}
|
3049 |
+
.foogallery.fg-image-viewer.fg-round-medium .fiv-prev,
|
3050 |
+
.foogallery.fg-image-viewer.fg-round-medium .fiv-next {
|
3051 |
+
border-radius: 5px;
|
3052 |
+
}
|
3053 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item,
|
3054 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item-inner,
|
3055 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-prev,
|
3056 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-next {
|
3057 |
+
border-radius: 5px;
|
3058 |
+
}
|
3059 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item,
|
3060 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item-inner,
|
3061 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-prev,
|
3062 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-next,
|
3063 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item,
|
3064 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item-inner,
|
3065 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-prev,
|
3066 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-next {
|
3067 |
+
border-radius: 3px;
|
3068 |
+
}
|
3069 |
+
|
3070 |
+
.foogallery.fg-image-viewer.fg-round-large .fg-item,
|
3071 |
+
.foogallery.fg-image-viewer.fg-round-large .fg-item-inner,
|
3072 |
+
.foogallery.fg-image-viewer.fg-round-large .fiv-inner {
|
3073 |
+
border-radius: 15px;
|
3074 |
+
}
|
3075 |
+
.foogallery.fg-image-viewer.fg-round-large .fg-item,
|
3076 |
+
.foogallery.fg-image-viewer.fg-round-large .fg-item-inner {
|
3077 |
+
border-bottom-left-radius: 0;
|
3078 |
+
border-bottom-right-radius: 0;
|
3079 |
+
}
|
3080 |
+
.foogallery.fg-image-viewer.fg-round-large .fiv-prev,
|
3081 |
+
.foogallery.fg-image-viewer.fg-round-large .fiv-next {
|
3082 |
+
border-radius: 11px;
|
3083 |
+
}
|
3084 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item,
|
3085 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item-inner,
|
3086 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-prev,
|
3087 |
+
.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-next {
|
3088 |
+
border-radius: 11px;
|
3089 |
+
}
|
3090 |
+
|
3091 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item,
|
3092 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item-inner,
|
3093 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-prev,
|
3094 |
+
.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-next {
|
3095 |
+
border-radius: 5px;
|
3096 |
+
}
|
3097 |
+
|
3098 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item,
|
3099 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item-inner,
|
3100 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-prev,
|
3101 |
+
.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-next {
|
3102 |
+
border-radius: 3px;
|
3103 |
+
}
|
3104 |
+
|
3105 |
+
.foogallery.fg-image-viewer.fg-round-full .fiv-inner,
|
3106 |
+
.foogallery.fg-image-viewer.fg-round-full .fiv-prev,
|
3107 |
+
.foogallery.fg-image-viewer.fg-round-full .fiv-next {
|
3108 |
+
border-radius: 50%;
|
3109 |
+
}
|
3110 |
+
|
3111 |
+
/* Drop Shadows */
|
3112 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fg-item-inner,
|
3113 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fg-item-inner,
|
3114 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fg-item-inner,
|
3115 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fg-item-inner,
|
3116 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fg-item-inner,
|
3117 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fg-item-inner,
|
3118 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fg-item-inner,
|
3119 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fg-item-inner {
|
3120 |
+
box-shadow: none;
|
3121 |
+
}
|
3122 |
+
|
3123 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fiv-inner {
|
3124 |
+
box-shadow: 0 0 0 1px #ddd;
|
3125 |
+
}
|
3126 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fiv-inner {
|
3127 |
+
box-shadow: 0 0 0 1px #222;
|
3128 |
+
}
|
3129 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fiv-inner,
|
3130 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fiv-inner {
|
3131 |
+
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);
|
3132 |
+
}
|
3133 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fiv-inner,
|
3134 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fiv-inner {
|
3135 |
+
box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.5);
|
3136 |
+
}
|
3137 |
+
.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fiv-inner,
|
3138 |
+
.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fiv-inner {
|
3139 |
+
box-shadow: 0 1px 16px 0 rgba(0, 0, 0, 0.5);
|
3140 |
+
}
|
3141 |
+
.foogallery.fg-thumbnail,
|
3142 |
+
.foogallery.fg-thumbnail.fg-center {
|
3143 |
+
text-align: center;
|
3144 |
+
}
|
3145 |
+
.foogallery.fg-thumbnail.fg-left {
|
3146 |
+
text-align: left;
|
3147 |
+
}
|
3148 |
+
.foogallery.fg-thumbnail.fg-right {
|
3149 |
+
text-align: right;
|
3150 |
+
}
|
3151 |
+
|
3152 |
+
.foogallery.fg-thumbnail.fg-float-left {
|
3153 |
+
float: left;
|
3154 |
+
width: auto;
|
3155 |
+
}
|
3156 |
+
.foogallery.fg-thumbnail.fg-float-right {
|
3157 |
+
float: right;
|
3158 |
+
width: auto;
|
3159 |
+
}
|
3160 |
+
|
3161 |
+
.foogallery.fg-thumbnail .fg-item {
|
3162 |
+
display: inline-block;
|
3163 |
+
vertical-align: top;
|
3164 |
+
max-width: 100%;
|
3165 |
+
}
|
3166 |
+
.foogallery.fg-thumbnail .fg-image {
|
3167 |
+
max-width: 100%;
|
3168 |
+
}
|
3169 |
+
.foogallery.fg-thumbnail .fg-st-hidden {
|
3170 |
+
display: none;
|
3171 |
+
}
|
3172 |
+
.foogallery-stack-album {
|
3173 |
+
text-align: center;
|
3174 |
+
overflow: hidden;
|
3175 |
+
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
|
3176 |
+
font-size: 13px;
|
3177 |
+
font-weight: 400;
|
3178 |
+
line-height: 1.3;
|
3179 |
+
}
|
3180 |
+
.foogallery-stack-album,
|
3181 |
+
.foogallery-stack-album * {
|
3182 |
+
box-sizing: border-box;
|
3183 |
+
}
|
3184 |
+
|
3185 |
+
.foogallery-stack-album.fg-align-left {
|
3186 |
+
text-align: left;
|
3187 |
+
}
|
3188 |
+
.foogallery-stack-album.fg-align-center {
|
3189 |
+
text-align: center;
|
3190 |
+
}
|
3191 |
+
.foogallery-stack-album.fg-align-right {
|
3192 |
+
text-align: right;
|
3193 |
+
}
|
3194 |
+
|
3195 |
+
.foogallery-stack-album.fg-disable-transitions,
|
3196 |
+
.foogallery-stack-album.fg-disable-transitions * {
|
3197 |
+
transition: none !important;
|
3198 |
+
}
|
3199 |
+
|
3200 |
+
.fg-header {
|
3201 |
+
display: flex;
|
3202 |
+
flex-wrap: nowrap;
|
3203 |
+
justify-content: space-between;
|
3204 |
+
align-items: center;
|
3205 |
+
position: relative;
|
3206 |
+
padding: 0;
|
3207 |
+
margin: 0;
|
3208 |
+
border-top: solid 1px #aaa;
|
3209 |
+
border-bottom: solid 1px #aaa;
|
3210 |
+
}
|
3211 |
+
|
3212 |
+
.fg-header-title {
|
3213 |
+
display: block;
|
3214 |
+
margin: 0;
|
3215 |
+
padding: 0 20px;
|
3216 |
+
width: 100%;
|
3217 |
+
text-align: left;
|
3218 |
+
}
|
3219 |
+
|
3220 |
+
.fg-header-active {
|
3221 |
+
display: block;
|
3222 |
+
margin: 0;
|
3223 |
+
padding: 0 20px;
|
3224 |
+
visibility: hidden;
|
3225 |
+
opacity: 0;
|
3226 |
+
width: 100%;
|
3227 |
+
text-align: right;
|
3228 |
+
transition-property: opacity, visibility;
|
3229 |
+
transition-duration: .3s;
|
3230 |
+
transition-timing-function: ease-in-out;
|
3231 |
+
}
|
3232 |
+
|
3233 |
+
.fg-header-back {
|
3234 |
+
display: block;
|
3235 |
+
padding: 0;
|
3236 |
+
margin: 5px;
|
3237 |
+
visibility: hidden;
|
3238 |
+
opacity: 0;
|
3239 |
+
min-width: 40px;
|
3240 |
+
width: 40px;
|
3241 |
+
height: 40px;
|
3242 |
+
border-radius: 50%;
|
3243 |
+
text-align: center;
|
3244 |
+
line-height: 38px;
|
3245 |
+
color: #999;
|
3246 |
+
background: #ddd;
|
3247 |
+
background: rgba(200,200,200,0.5);
|
3248 |
+
cursor: pointer;
|
3249 |
+
-webkit-touch-callout: none;
|
3250 |
+
-webkit-user-select: none;
|
3251 |
+
-moz-user-select: none;
|
3252 |
+
-ms-user-select: none;
|
3253 |
+
user-select: none;
|
3254 |
+
transition-property: opacity, visibility;
|
3255 |
+
transition-duration: .3s;
|
3256 |
+
transition-timing-function: ease-in-out;
|
3257 |
+
}
|
3258 |
+
|
3259 |
+
.fg-has-active .fg-header-back,
|
3260 |
+
.fg-has-active .fg-header-active {
|
3261 |
+
visibility: visible;
|
3262 |
+
opacity: 1;
|
3263 |
+
}
|
3264 |
+
|
3265 |
+
|
3266 |
+
.fg-piles {
|
3267 |
+
display: inline-block;
|
3268 |
+
position: relative;
|
3269 |
+
transition-property: width, height;
|
3270 |
+
transition-duration: .3s;
|
3271 |
+
transition-timing-function: ease-in-out;
|
3272 |
+
}
|
3273 |
+
|
3274 |
+
.fg-pile {
|
3275 |
+
display: block;
|
3276 |
+
position: absolute;
|
3277 |
+
top: 0;
|
3278 |
+
left: 0;
|
3279 |
+
list-style: none;
|
3280 |
+
padding: 0;
|
3281 |
+
margin: 0;
|
3282 |
+
visibility: visible;
|
3283 |
+
opacity: 1;
|
3284 |
+
transition-property: opacity, visibility, top, left, width, height;
|
3285 |
+
transition-duration: .3s;
|
3286 |
+
transition-timing-function: ease-in-out;
|
3287 |
+
}
|
3288 |
+
|
3289 |
+
.fg-pile.fg-hidden {
|
3290 |
+
visibility: hidden;
|
3291 |
+
opacity: 0;
|
3292 |
+
}
|
3293 |
+
|
3294 |
+
.fg-pile-item {
|
3295 |
+
display: block;
|
3296 |
+
position: absolute;
|
3297 |
+
top: 25px;
|
3298 |
+
left: 25px;
|
3299 |
+
visibility: visible;
|
3300 |
+
opacity: 1;
|
3301 |
+
cursor: pointer;
|
3302 |
+
border: 10px solid #fff;
|
3303 |
+
background-color: #FFF;
|
3304 |
+
box-shadow: 0 1px 4px rgba(0,0,0,0.2);
|
3305 |
+
transition-property: opacity, visibility, top, left, transform;
|
3306 |
+
transition-duration: .3s;
|
3307 |
+
transition-timing-function: ease-in-out;
|
3308 |
+
z-index: 1;
|
3309 |
+
transform: rotate(0deg);
|
3310 |
+
}
|
3311 |
+
|
3312 |
+
.fg-expanded .fg-pile-item {
|
3313 |
+
z-index: 2;
|
3314 |
+
transform: rotate(0deg) !important;
|
3315 |
+
}
|
3316 |
+
.fg-pile-item.fg-has-cover {
|
3317 |
+
z-index: 10;
|
3318 |
+
transform: rotate(0deg) !important;
|
3319 |
+
}
|
3320 |
+
|
3321 |
+
.fg-pile-item:nth-child(2) {
|
3322 |
+
z-index: 9;
|
3323 |
+
}
|
3324 |
+
.fg-pile-item:nth-child(3) {
|
3325 |
+
z-index: 8;
|
3326 |
+
}
|
3327 |
+
.fg-pile-item:nth-child(4) {
|
3328 |
+
z-index: 7;
|
3329 |
+
}
|
3330 |
+
.fg-pile-item:nth-child(1n+5) {
|
3331 |
+
visibility: hidden;
|
3332 |
+
opacity: 0;
|
3333 |
+
}
|
3334 |
+
.fg-expanded .fg-pile-item:nth-child(1n+4) {
|
3335 |
+
visibility: visible;
|
3336 |
+
opacity: 1;
|
3337 |
+
}
|
3338 |
+
|
3339 |
+
.fg-pile-item-thumb {
|
3340 |
+
display: block;
|
3341 |
+
}
|
3342 |
+
|
3343 |
+
.fg-pile-item-image {
|
3344 |
+
display: block;
|
3345 |
+
}
|
3346 |
+
|
3347 |
+
.fg-pile-item-caption {
|
3348 |
+
display: flex;
|
3349 |
+
justify-content: center;
|
3350 |
+
flex-direction: column;
|
3351 |
+
position: absolute;
|
3352 |
+
top: 0;
|
3353 |
+
left: 0;
|
3354 |
+
bottom: 0;
|
3355 |
+
right: 0;
|
3356 |
+
width: 100%;
|
3357 |
+
height: 100%;
|
3358 |
+
margin: 0;
|
3359 |
+
padding: 10px;
|
3360 |
+
background-color: rgba(68, 68, 68, 0.5);
|
3361 |
+
color: #FFFFFF;
|
3362 |
+
text-align: center;
|
3363 |
+
visibility: hidden;
|
3364 |
+
opacity: 0;
|
3365 |
+
transition-property: opacity, visibility;
|
3366 |
+
transition-duration: .3s;
|
3367 |
+
transition-timing-function: ease-in-out;
|
3368 |
+
}
|
3369 |
+
.fg-pile-item-title {
|
3370 |
+
display: block;
|
3371 |
+
width: 100%;
|
3372 |
+
padding: 0 0 10px;
|
3373 |
+
}
|
3374 |
+
.fg-pile-item-desc {
|
3375 |
+
display: block;
|
3376 |
+
width: 100%;
|
3377 |
+
max-height: 100%;
|
3378 |
+
border-top: solid 1px currentColor;
|
3379 |
+
padding: 10px 0 0;
|
3380 |
+
overflow: hidden;
|
3381 |
+
}
|
3382 |
+
|
3383 |
+
.fg-pile-item-thumb:hover .fg-pile-item-caption {
|
3384 |
+
visibility: visible;
|
3385 |
+
opacity: 1;
|
3386 |
+
}
|
3387 |
+
|
3388 |
+
.fg-pile-cover {
|
3389 |
+
display: flex;
|
3390 |
+
justify-content: left;
|
3391 |
+
align-items: center;
|
3392 |
+
position: absolute;
|
3393 |
+
top: 0;
|
3394 |
+
left: 0;
|
3395 |
+
bottom: 0;
|
3396 |
+
right: 0;
|
3397 |
+
width: 100%;
|
3398 |
+
height: 100%;
|
3399 |
+
visibility: visible;
|
3400 |
+
opacity: 1;
|
3401 |
+
cursor: pointer;
|
3402 |
+
-webkit-touch-callout: none;
|
3403 |
+
-webkit-user-select: none;
|
3404 |
+
-moz-user-select: none;
|
3405 |
+
-ms-user-select: none;
|
3406 |
+
user-select: none;
|
3407 |
+
transition-property: opacity, visibility;
|
3408 |
+
transition-duration: .3s;
|
3409 |
+
transition-timing-function: ease-in-out;
|
3410 |
+
}
|
3411 |
+
|
3412 |
+
.fg-expanded .fg-pile-cover {
|
3413 |
+
visibility: hidden;
|
3414 |
+
opacity: 0;
|
3415 |
+
pointer-events: none;
|
3416 |
+
}
|
3417 |
+
|
3418 |
+
.fg-pile-cover-content {
|
3419 |
+
display: flex;
|
3420 |
+
position: relative;
|
3421 |
+
background: #fff;
|
3422 |
+
color: #333;
|
3423 |
+
width: 75%;
|
3424 |
+
font-weight: 700;
|
3425 |
+
box-shadow: 1px 1px 1px rgba(0,0,0,0.1), 5px 0 5px -3px rgba(0,0,0,0.4), inset 0 0 5px rgba(0,0,0,0.04);
|
3426 |
+
}
|
3427 |
+
|
3428 |
+
.fg-pile-cover-title {
|
3429 |
+
text-align: center;
|
3430 |
+
padding: 10px;
|
3431 |
+
width: 100%;
|
3432 |
+
}
|
3433 |
+
.fg-pile-cover-count {
|
3434 |
+
color: #aaa;
|
3435 |
+
padding: 10px 5px;
|
3436 |
+
background: #F7F7F7;
|
3437 |
+
height: 100%;
|
3438 |
+
}
|
3439 |
+
:root {
|
3440 |
+
--fg-carousel-perspective: 150px;
|
3441 |
+
--fg-carousel-navigation-size: 48px;
|
3442 |
+
--fg-carousel-pagination-size: 14px;
|
3443 |
+
--fg-carousel-progress-size: 4px;
|
3444 |
+
--fg-carousel-navigation-opacity: 0.3;
|
3445 |
+
--fg-carousel-transition-speed: 650ms;
|
3446 |
+
--fg-carousel-ui-speed: 300ms;
|
3447 |
+
}
|
3448 |
+
.foogallery.fg-carousel {
|
3449 |
+
--fg-carousel-inverse-perspective: calc( -1 * var(--fg-carousel-perspective) );
|
3450 |
+
position: relative;
|
3451 |
+
overflow: hidden;
|
3452 |
+
display: grid;
|
3453 |
+
grid-template-columns: var(--fg-carousel-navigation-size) auto var(--fg-carousel-navigation-size);
|
3454 |
+
grid-template-rows: auto auto;
|
3455 |
+
grid-template-areas: "prev inner next"
|
3456 |
+
"bottom bottom bottom";
|
3457 |
+
}
|
3458 |
+
.fg-carousel-inner {
|
3459 |
+
position: relative;
|
3460 |
+
grid-area: inner;
|
3461 |
+
display: grid;
|
3462 |
+
grid-template-columns: 1fr auto 1fr;
|
3463 |
+
grid-template-rows: auto;
|
3464 |
+
grid-template-areas: "left center right";
|
3465 |
+
padding: 10px 0;
|
3466 |
+
perspective: var(--fg-carousel-perspective);
|
3467 |
+
transform: translate3d(0, 0, 0);
|
3468 |
+
transform-style: preserve-3d;
|
3469 |
+
backface-visibility: hidden;
|
3470 |
+
will-change: contents;
|
3471 |
+
}
|
3472 |
+
.foogallery_preview_container .fg-carousel-inner {
|
3473 |
+
transform-style: unset;
|
3474 |
+
}
|
3475 |
+
|
3476 |
+
.fg-carousel-center {
|
3477 |
+
position: relative;
|
3478 |
+
z-index: -1;
|
3479 |
+
pointer-events: none;
|
3480 |
+
visibility: hidden;
|
3481 |
+
}
|
3482 |
+
.fg-carousel-center {
|
3483 |
+
grid-area: center;
|
3484 |
+
}
|
3485 |
+
.fg-carousel-progress {
|
3486 |
+
display: block;
|
3487 |
+
position: absolute;
|
3488 |
+
visibility: visible;
|
3489 |
+
bottom: 0;
|
3490 |
+
left: 0;
|
3491 |
+
width: 0;
|
3492 |
+
height: var(--fg-carousel-progress-size);
|
3493 |
+
border-radius: calc( var(--fg-carousel-progress-size) / 2 );
|
3494 |
+
transition: width 100ms linear;
|
3495 |
+
opacity: var(--fg-carousel-navigation-opacity);
|
3496 |
+
}
|
3497 |
+
.fg-carousel-bottom {
|
3498 |
+
display: flex;
|
3499 |
+
align-items: center;
|
3500 |
+
justify-content: center;
|
3501 |
+
position: relative;
|
3502 |
+
grid-area: bottom;
|
3503 |
+
font-size: var(--fg-carousel-pagination-size);
|
3504 |
+
padding: 0;
|
3505 |
+
margin-bottom: 10px;
|
3506 |
+
}
|
3507 |
+
.fg-carousel-bullet {
|
3508 |
+
width: 1em;
|
3509 |
+
height: 1em;
|
3510 |
+
display: block;
|
3511 |
+
padding: 0;
|
3512 |
+
margin: 0.3em;
|
3513 |
+
border-radius: 50%;
|
3514 |
+
border: solid 1px transparent;
|
3515 |
+
background: none;
|
3516 |
+
box-shadow: none;
|
3517 |
+
outline: none;
|
3518 |
+
opacity: var(--fg-carousel-navigation-opacity);
|
3519 |
+
cursor: pointer;
|
3520 |
+
font-size: inherit;
|
3521 |
+
transition: opacity var(--fg-carousel-ui-speed) ease-in;
|
3522 |
+
}
|
3523 |
+
@media only screen and (max-width: 782px) {
|
3524 |
+
.fg-carousel-bullet {
|
3525 |
+
width: 1.25em;
|
3526 |
+
height: 1.25em;
|
3527 |
+
}
|
3528 |
+
}
|
3529 |
+
|
3530 |
+
.fg-carousel-bullet:hover {
|
3531 |
+
background: none;
|
3532 |
+
box-shadow: none;
|
3533 |
+
outline: none;
|
3534 |
+
opacity: 1;
|
3535 |
+
}
|
3536 |
+
.fg-carousel-bullet.fg-bullet-active {
|
3537 |
+
opacity: 1;
|
3538 |
+
}
|
3539 |
+
button.fg-carousel-prev,
|
3540 |
+
button.fg-carousel-next {
|
3541 |
+
position: relative;
|
3542 |
+
height: 100%;
|
3543 |
+
width: 100%;
|
3544 |
+
display: flex;
|
3545 |
+
align-items: center;
|
3546 |
+
justify-content: center;
|
3547 |
+
font-size: var(--fg-carousel-navigation-size);
|
3548 |
+
background: none;
|
3549 |
+
border: none;
|
3550 |
+
box-shadow: none;
|
3551 |
+
outline: none;
|
3552 |
+
z-index: 11;
|
3553 |
+
cursor: pointer;
|
3554 |
+
opacity: var(--fg-carousel-navigation-opacity);
|
3555 |
+
transition: opacity var(--fg-carousel-ui-speed) ease-in;
|
3556 |
+
padding: 0;
|
3557 |
+
margin: 0;
|
3558 |
+
}
|
3559 |
+
button.fg-carousel-prev:hover,
|
3560 |
+
button.fg-carousel-next:hover {
|
3561 |
+
background: none;
|
3562 |
+
border: none;
|
3563 |
+
box-shadow: none;
|
3564 |
+
outline: none;
|
3565 |
+
opacity: 1;
|
3566 |
+
}
|
3567 |
+
.fg-carousel-prev .fg-icon,
|
3568 |
+
.fg-carousel-next .fg-icon {
|
3569 |
+
width: 1em;
|
3570 |
+
height: 1em;
|
3571 |
+
}
|
3572 |
+
.fg-carousel-prev {
|
3573 |
+
grid-area: prev;
|
3574 |
+
}
|
3575 |
+
.fg-carousel-next {
|
3576 |
+
grid-area: next;
|
3577 |
+
}
|
3578 |
+
|
3579 |
+
.foogallery.fg-carousel .fg-item {
|
3580 |
+
display: block;
|
3581 |
+
opacity: 0;
|
3582 |
+
visibility: hidden;
|
3583 |
+
grid-area: center;
|
3584 |
+
transform-origin: center center;
|
3585 |
+
transform: translate3d(0, 200%, var(--fg-carousel-inverse-perspective));
|
3586 |
+
transition-timing-function: ease-in-out;
|
3587 |
+
transition-duration: 0s;
|
3588 |
+
transition-property: background-color,transform,transform-origin,opacity,visibility;
|
3589 |
+
backface-visibility: hidden;
|
3590 |
+
}
|
3591 |
+
.foogallery.fg-carousel .fg-item.fg-loaded {
|
3592 |
+
transform: translate3d(0, 0, var(--fg-carousel-inverse-perspective));
|
3593 |
+
transition-timing-function: ease-in-out;
|
3594 |
+
transition-duration: calc( var(--fg-carousel-transition-speed) / 2 );
|
3595 |
+
transition-property: background-color,transform,transform-origin,opacity,visibility;
|
3596 |
+
}
|
3597 |
+
.foogallery.fg-carousel .fg-item.fg-item-active,
|
3598 |
+
.foogallery.fg-carousel .fg-item.fg-item-prev,
|
3599 |
+
.foogallery.fg-carousel .fg-item.fg-item-next {
|
3600 |
+
opacity: 1;
|
3601 |
+
visibility: visible;
|
3602 |
+
/*-webkit-box-reflect: below 5px -webkit-linear-gradient(bottom,rgba(255,0,0,.1) 0%,transparent 32px,transparent 100%);*/
|
3603 |
+
}
|
3604 |
+
.foogallery.fg-carousel .fg-item.fg-item-active {
|
3605 |
+
transform: translate3d(0, 0, 0);
|
3606 |
+
}
|
3607 |
+
|
3608 |
+
.foogallery.fg-carousel.fg-dark .fg-carousel-progress,
|
3609 |
+
.foogallery.fg-carousel.fg-light.fg-inverted .fg-carousel-progress {
|
3610 |
+
background-color: #FFF;
|
3611 |
+
box-shadow: inset 0 0 0 1px #9d9d9d;
|
3612 |
+
}
|
3613 |
+
.foogallery.fg-carousel.fg-dark button.fg-carousel-bullet,
|
3614 |
+
.foogallery.fg-carousel.fg-light.fg-inverted button.fg-carousel-bullet {
|
3615 |
+
background-color: #FFF;
|
3616 |
+
border-color: #ccc;
|
3617 |
+
}
|
3618 |
+
.foogallery.fg-carousel.fg-dark button.fg-carousel-prev,
|
3619 |
+
.foogallery.fg-carousel.fg-dark button.fg-carousel-next,
|
3620 |
+
.foogallery.fg-carousel.fg-light.fg-inverted button.fg-carousel-prev,
|
3621 |
+
.foogallery.fg-carousel.fg-light.fg-inverted button.fg-carousel-next {
|
3622 |
+
color: #FFF;
|
3623 |
+
background-color: transparent;
|
3624 |
+
}
|
3625 |
+
|
3626 |
+
.foogallery.fg-carousel.fg-light .fg-carousel-progress,
|
3627 |
+
.foogallery.fg-carousel.fg-dark.fg-inverted .fg-carousel-progress {
|
3628 |
+
background-color: #444;
|
3629 |
+
box-shadow: inset 0 0 0 1px #333;
|
3630 |
+
}
|
3631 |
+
.foogallery.fg-carousel.fg-light button.fg-carousel-bullet,
|
3632 |
+
.foogallery.fg-carousel.fg-dark.fg-inverted button.fg-carousel-bullet {
|
3633 |
+
background-color: #444;
|
3634 |
+
border-color: #333;
|
3635 |
+
}
|
3636 |
+
.foogallery.fg-carousel.fg-light button.fg-carousel-prev,
|
3637 |
+
.foogallery.fg-carousel.fg-light button.fg-carousel-next,
|
3638 |
+
.foogallery.fg-carousel.fg-dark.fg-inverted button.fg-carousel-prev,
|
3639 |
+
.foogallery.fg-carousel.fg-dark.fg-inverted button.fg-carousel-next {
|
3640 |
+
color: #444;
|
3641 |
+
background-color: transparent;
|
3642 |
}
|
extensions/default-templates/shared/css/foogallery.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.foogallery,.foogallery *{box-sizing:border-box}.foogallery{display:block;z-index:1;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;position:relative;line-height:0;font-size:0;width:100%;max-width:100%}.foogallery .fg-item{display:inline-block;position:relative;background-color:transparent;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.foogallery .fg-item.fg-hidden{display:none!important}.foogallery .fg-item-inner{display:block;position:relative;visibility:hidden;overflow:hidden;opacity:0;z-index:3;margin:0;border:solid 0 transparent}.foogallery .fg-item.fg-error:before{content:"";display:block;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:32px;height:32px;background-image:url(../img/icons.svg#image);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:32px 32px}.foogallery .fg-item.fg-loaded{z-index:4}.foogallery .fg-loaded .fg-item-inner{visibility:visible;opacity:1;z-index:5}.foogallery .fg-error .fg-item-inner{pointer-events:none;cursor:default}.foogallery .fg-thumb{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:4;box-shadow:none}.foogallery .fg-thumb:focus,.foogallery .fg-thumb:hover{border:none;outline:0;text-decoration:none;box-shadow:none}.foogallery .fg-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;visibility:hidden;opacity:0}.foogallery .fg-image-wrap{display:block;position:relative}.foogallery .fg-image{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:5;max-width:100%;height:auto;margin:0;width:auto}.foogallery picture.fg-image>img{display:block;position:relative;border:none;outline:0;text-decoration:none;max-width:100%;height:auto;margin:0;width:auto}.foogallery .fg-loaded .fg-thumb{z-index:6}.foogallery .fg-loaded .fg-image{z-index:7}.fg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.foogallery.fg-light .fg-item-inner{background-color:#fff;color:#333;border-color:#fff}.foogallery.fg-dark .fg-item-inner{background-color:#333;color:#fff;border-color:#333}.foogallery.fg-light .fg-item.fg-error,.foogallery.fg-light .fg-item.fg-idle,.foogallery.fg-light .fg-item.fg-loading{background-color:#eee;box-shadow:inset 0 0 0 1px #ddd}.foogallery.fg-dark .fg-item.fg-error,.foogallery.fg-dark .fg-item.fg-idle,.foogallery.fg-dark .fg-item.fg-loading{background-color:#444;box-shadow:inset 0 0 0 1px #333}.foogallery .fg-caption{background-color:rgba(0,0,0,.6);color:#fff}.foogallery .fg-caption a{color:#fff;border-bottom:1px solid #fff}.foogallery.fg-light-overlays .fg-caption{background-color:rgba(255,255,255,.8);color:#333}.foogallery.fg-light-overlays .fg-caption a{color:#333;border-bottom-color:#333}.foogallery.fg-transparent-overlays .fg-caption{background-color:transparent;color:#fff}.foogallery.fg-transparent-overlays .fg-caption a{color:#fff;border-bottom-color:#fff}.foogallery .fg-image-overlay{background-color:rgba(0,0,0,.6);color:#fff}.foogallery.fg-light-overlays .fg-image-overlay{background-color:rgba(255,255,255,.8);color:#333}.foogallery.fg-transparent-overlays .fg-image-overlay{background-color:transparent;color:#fff}.fg-exif-light .fg-item.fg-item-exif .fg-image-wrap:after{background-color:#fff;color:#333}.fg-exif-dark .fg-item.fg-item-exif .fg-image-wrap:after{background-color:#333;color:#fff}.fg-exif-rounded .fg-item.fg-item-exif .fg-image-wrap:after{border-radius:3px}.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after,.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after,.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after,.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after{display:inline-block;position:absolute;content:'EXIF';font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:11px;line-height:10px;padding:3px 4px;z-index:7}.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after{bottom:5px;right:5px}.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after{bottom:5px;left:5px}.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after{top:5px;right:5px}.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after{top:5px;left:5px}.foogallery.fg-border-thin .fg-item-inner{border-width:4px}.foogallery.fg-border-medium .fg-item-inner{border-width:10px}.foogallery.fg-border-thick .fg-item-inner{border-width:16px}.foogallery.fg-light.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-dark.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-light.fg-shadow-small .fg-item-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-light.fg-shadow-medium .fg-item-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-light.fg-shadow-large .fg-item-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-shadow-inset-small .fg-thumb:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:7}.foogallery.fg-dark.fg-shadow-inset-small .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-small .fg-thumb:after{box-shadow:inset 0 1px 4px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-medium .fg-thumb:after{box-shadow:inset 0 1px 10px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-large .fg-thumb:after{box-shadow:inset 0 1px 16px 0 rgba(0,0,0,.3)}.foogallery.fg-round-full.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-small .fg-thumb:after{border-radius:50%}.foogallery.fg-round-small .fg-item,.foogallery.fg-round-small .fg-item-inner{border-radius:5px}.foogallery.fg-round-medium .fg-item,.foogallery.fg-round-medium .fg-item-inner{border-radius:10px}.foogallery.fg-round-large .fg-item,.foogallery.fg-round-large .fg-item-inner{border-radius:15px}.foogallery.fg-round-full .fg-item,.foogallery.fg-round-full .fg-item-inner{border-radius:50%}.foogallery .fg-loader{position:absolute;top:50%;left:50%;margin-top:-.5em;margin-left:-.5em;width:1em;height:1em;font-size:5px;visibility:hidden;opacity:0;pointer-events:none}.foogallery .fg-loading .fg-loader{visibility:visible;opacity:1}.fg-loading-default .fg-loader{border-radius:50%;text-indent:-9999em;box-shadow:0 -2.6em 0 0 rgba(130,130,130,1),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.5),-1.8em -1.8em 0 0 rgba(130,130,130,.7);-webkit-animation:loading-default 1.1s infinite paused steps(8,start);animation:loading-default 1.1s infinite paused steps(8,start)}.fg-loading-default .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-default{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes loading-default{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fg-loading-bars .fg-loader,.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{background:rgba(130,130,130,1);width:1em;height:4em;-webkit-animation:loading-bars 1s infinite paused ease-in-out;animation:loading-bars 1s infinite paused ease-in-out}.fg-loading-bars .fg-loading .fg-loader,.fg-loading-bars .fg-loading .fg-loader:after,.fg-loading-bars .fg-loading .fg-loader:before{-webkit-animation-play-state:running;animation-play-state:running}.fg-loading-bars .fg-loader{color:rgba(130,130,130,1);text-indent:-9999em;font-size:4px;margin-top:-2em;margin-left:-.5em;-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{position:absolute;top:0;content:''}.fg-loading-bars .fg-loader:before{left:-1.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-bars .fg-loader:after{left:1.5em}@-webkit-keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}@keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}.fg-loading-trail .fg-loader{color:#828282;margin-top:0;margin-left:0;font-size:20px;text-indent:-9999em;overflow:hidden;border-radius:50%;-webkit-animation:loading-trail-1 1.7s infinite paused ease,loading-trail-2 1.7s infinite paused ease;animation:loading-trail-1 1.7s infinite paused ease,loading-trail-2 1.7s infinite paused ease}.fg-loading-trail .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@-webkit-keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.fg-loading-pulse .fg-loader,.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{border-radius:50%;width:2.5em;height:2.5em;-webkit-animation:loading-pulse 1.8s infinite both paused ease-in-out;animation:loading-pulse 1.8s infinite both paused ease-in-out}.fg-loading-pulse .fg-loading .fg-loader,.fg-loading-pulse .fg-loading .fg-loader:after,.fg-loading-pulse .fg-loading .fg-loader:before{-webkit-animation-play-state:running;animation-play-state:running}.fg-loading-pulse .fg-loader{color:#828282;font-size:4px;margin-top:-3.75em;margin-left:-1.25em;text-indent:-9999em;-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{content:'';position:absolute;top:0}.fg-loading-pulse .fg-loader:before{left:-3.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-pulse .fg-loader:after{left:3.5em}@-webkit-keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}.fg-loading-dots .fg-loader{color:#828282;font-size:5px;border-radius:50%;text-indent:-9999em;-webkit-animation:loading-dots 1.3s infinite paused linear;animation:loading-dots 1.3s infinite paused linear}.fg-loading-dots .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}.fg-loading-partial .fg-loader,.fg-loading-partial .fg-loader:after{border-radius:50%;width:10em;height:10em}.fg-loading-partial .fg-loader{font-size:4px;text-indent:-9999em;margin-top:0;margin-left:0;border-top:1.1em solid rgba(130,130,130,.2);border-right:1.1em solid rgba(130,130,130,.2);border-bottom:1.1em solid rgba(130,130,130,.2);border-left:1.1em solid #828282;-webkit-animation:loading-partial 1.1s infinite paused linear;animation:loading-partial 1.1s infinite paused linear}.fg-loading-partial .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.foogallery.fg-loaded-drop .fg-item.fg-loaded,.foogallery.fg-loaded-fade-in .fg-item.fg-loaded,.foogallery.fg-loaded-flip .fg-item.fg-loaded,.foogallery.fg-loaded-fly .fg-item.fg-loaded,.foogallery.fg-loaded-scale-up .fg-item.fg-loaded,.foogallery.fg-loaded-slide-down .fg-item.fg-loaded,.foogallery.fg-loaded-slide-left .fg-item.fg-loaded,.foogallery.fg-loaded-slide-right .fg-item.fg-loaded,.foogallery.fg-loaded-slide-up .fg-item.fg-loaded,.foogallery.fg-loaded-swing-down .fg-item.fg-loaded{transition-timing-function:ease;transition-duration:650ms;transition-property:background-color,transform}.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner,.foogallery.fg-loaded-fade-in .fg-loaded .fg-item-inner,.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner,.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner,.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner,.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner{transition-timing-function:ease;transition-duration:650ms}.foogallery.fg-loaded-drop .fg-item.fg-loaded,.foogallery.fg-loaded-flip .fg-item.fg-loaded,.foogallery.fg-loaded-fly .fg-item.fg-loaded,.foogallery.fg-loaded-swing-down .fg-item.fg-loaded{perspective:1300px}.foogallery.fg-loaded-drop .fg-item-inner{transition-property:visibility,opacity,transform;transform-style:preserve-3d;transform:translateZ(400px) translateY(100%) rotateX(-90deg)}.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner{transform:translateZ(0) translateY(0) rotateX(0)}.foogallery.fg-loaded-fade-in .fg-item-inner{transition-property:visibility,opacity}.foogallery.fg-loaded-flip .fg-item-inner{transition-property:visibility,opacity,transform;backface-visibility:hidden;transform-style:preserve-3d;transform:rotateY(-180deg)}.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner{transform:rotateY(0)}.foogallery.fg-loaded-fly .fg-item-inner{transition-property:visibility,opacity,transform;transform-style:preserve-3d;transform-origin:50% 50% -300px;transform:rotateX(-180deg)}.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner{transform:rotateX(0)}.foogallery.fg-loaded-scale-up .fg-item-inner{transition-property:visibility,opacity,transform;transform:scale(.6)}.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner{transform:scale(1)}.foogallery.fg-loaded-slide-up .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateY(50%)}.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner{transform:translateY(0)}.foogallery.fg-loaded-slide-down .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateY(-50%)}.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner{transform:translateY(0)}.foogallery.fg-loaded-slide-left .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateX(50%)}.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner{transform:translateX(0)}.foogallery.fg-loaded-slide-right .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateX(-50%)}.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner{transform:translateX(0)}.foogallery.fg-loaded-swing-down .fg-item-inner{transition-property:visibility,opacity,transform;transform-style:preserve-3d;transform-origin:0 0;transform:rotateX(-80deg)}.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner{transform:rotateX(0)}.foogallery .fg-caption{visibility:hidden;opacity:0;position:absolute;z-index:8;width:100%;max-height:100%;overflow:hidden;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.3;border:none;text-align:center;cursor:pointer;margin:0}.foogallery .fg-caption a{text-decoration:none}.foogallery .fg-caption a:hover{border-bottom:none}.foogallery .fg-caption-title{box-sizing:content-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:400;padding:0;margin:.4em;height:1.3em;min-height:1.3em;line-height:1.3em}.foogallery .fg-caption-desc{padding:0;margin:.4em;overflow:hidden;height:100%;max-height:100%}.foogallery .fg-caption-title+.fg-caption-desc{margin-top:0}.foogallery .fg-caption-buttons{display:flex;position:relative;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;padding:5px;margin:0}.foogallery .fg-caption-buttons>a{display:inline-block;position:relative;padding:.4em .8em;margin:1px;max-width:100%;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;text-decoration:none!important;border:1px solid transparent;border-radius:4px;box-shadow:none;outline:0;opacity:1;transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,opacity,border-color,background-color}@media only screen and (max-width:600px){.foogallery .fg-caption-buttons{align-items:stretch}.foogallery .fg-caption-buttons>a{flex:1}}.foogallery .fg-caption .fg-caption-buttons>a{color:#333;background-color:#fff;border-color:#ccc}.foogallery .fg-caption .fg-caption-buttons>a:not(.fg-disabled):hover{color:#333;background-color:#e6e6e6;border-color:#adadad;border-bottom:solid 1px}.foogallery .fg-caption .fg-caption-buttons>a.fg-disabled{color:#9d9d9d}.foogallery .fg-caption .fg-caption-buttons>a.fg-disabled:hover{border-bottom:solid 1px}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a{color:#fff;background-color:#444;border-color:#333}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a:not(.fg-disabled):hover{color:#9d9d9d;background-color:#333;border-color:#222}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a.fg-disabled{color:#9d9d9d}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a.fg-disabled:hover{border-bottom:solid 1px}.foogallery.fg-caption-always .fg-item .fg-caption .fg-caption-inner:before{display:none}.foogallery.fg-caption-always .fg-item.fg-loaded .fg-caption{left:0;bottom:0;transition-timing-function:ease;transition-duration:.3s;transition-property:visibility,opacity;visibility:visible;opacity:1}.foogallery.fg-caption-always .fg-caption{text-align:left}.foogallery.fg-caption-hover .fg-caption .fg-caption-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%);padding:.4em}.foogallery.fg-caption-hover .fg-item.fg-loaded .fg-image-overlay{display:none}.foogallery.fg-c-l .fg-caption,.foogallery.fg-caption-always.fg-c-l .fg-caption{text-align:left}.foogallery.fg-c-c .fg-caption,.foogallery.fg-caption-always.fg-c-c .fg-caption{text-align:center}.foogallery.fg-c-r .fg-caption,.foogallery.fg-caption-always.fg-c-r .fg-caption{text-align:right}.foogallery.fg-c-j .fg-caption,.foogallery.fg-caption-always.fg-c-j .fg-caption{text-align:justify}.foogallery .fg-image-overlay:before{content:"";display:block;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:32px;height:32px;background-size:32px 32px;background-position:center center;background-repeat:no-repeat;min-width:32px;min-height:32px}.foogallery .fg-caption-inner:before{content:"";display:none;position:relative;width:32px;height:32px;margin:.4em;background-size:32px 32px;vertical-align:middle;background-position:center center;background-repeat:no-repeat;min-width:32px;min-height:32px}.foogallery.fg-hover-cart:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-external:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-eye:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-plus:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-tint:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-zoom:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-1:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-2:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-3:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-4:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-default:not(.fg-preset) .fg-caption-inner:before{display:block}.foogallery.fg-hover-cart:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-external:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-eye:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-tint:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-zoom:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-1:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-2:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-3:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-4:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-default:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-video-sticky .fg-type-video.fg-loaded .fg-item-inner .fg-image-overlay{background-color:transparent;visibility:visible;opacity:1;display:block}.foogallery.fg-video-sticky .fg-type-video .fg-caption-inner:before{display:none}.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-image-overlay:before{background-image:url(../img/icons.svg#zoom-light)}.foogallery.fg-light-overlays.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-zoom .fg-image-overlay:before{background-image:url(../img/icons.svg#zoom-dark)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-image-overlay:before{background-image:url(../img/icons.svg#zoom2-light)}.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-image-overlay:before{background-image:url(../img/icons.svg#zoom2-dark)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-image-overlay:before{background-image:url(../img/icons.svg#zoom3-light)}.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-image-overlay:before{background-image:url(../img/icons.svg#zoom3-dark)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-image-overlay:before{background-image:url(../img/icons.svg#plus-light)}.foogallery.fg-light-overlays.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-plus .fg-image-overlay:before{background-image:url(../img/icons.svg#plus-dark)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-image-overlay:before{background-image:url(../img/icons.svg#circle-plus-light)}.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-image-overlay:before{background-image:url(../img/icons.svg#circle-plus-dark)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-image-overlay:before{background-image:url(../img/icons.svg#eye-light)}.foogallery.fg-light-overlays.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-eye .fg-image-overlay:before{background-image:url(../img/icons.svg#eye-dark)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-image-overlay:before{background-image:url(../img/icons.svg#external-light)}.foogallery.fg-light-overlays.fg-hover-external .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-external .fg-image-overlay:before{background-image:url(../img/icons.svg#external-dark)}.foogallery.fg-hover-cart .fg-caption-inner:before,.foogallery.fg-hover-cart .fg-image-overlay:before{background-image:url(../img/icons.svg#cart-light)}.foogallery.fg-light-overlays.fg-hover-cart .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-cart .fg-image-overlay:before{background-image:url(../img/icons.svg#cart-dark)}.foogallery.fg-video-default .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-default .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-default-light)}.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-default-dark)}.foogallery.fg-video-1 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-1 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-1-light)}.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-1-dark)}.foogallery.fg-video-2 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-2 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-2-light)}.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-2-dark)}.foogallery.fg-video-3 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-3 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-3-light)}.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-3-dark)}.foogallery.fg-video-4 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-4 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-4-light)}.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-image-overlay:before{background-image:url(../img/icons.svg#video-4-dark)}.foogallery.fg-caption-hover.fg-hover-colorize .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-grayscale .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-scale .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-colorize .fg-loaded .fg-image,.foogallery.fg-hover-colorize .fg-loaded .fg-image-overlay,.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay,.foogallery.fg-hover-grayscale .fg-loaded .fg-image,.foogallery.fg-hover-grayscale .fg-loaded .fg-image-overlay,.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay,.foogallery.fg-hover-push .fg-loaded .fg-thumb,.foogallery.fg-hover-scale .fg-item.fg-loaded,.foogallery.fg-hover-scale .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,.foogallery.fg-hover-zoomed .fg-loaded .fg-image{transition-timing-function:ease;transition-duration:.3s;backface-visibility:hidden}.foogallery.fg-hover-colorize .fg-image{filter:grayscale(100%);transition-property:filter}.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image,.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image{filter:grayscale(0)}.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption,.foogallery.fg-hover-colorize .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-hover-grayscale .fg-image{filter:grayscale(0);transition-property:filter}.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image,.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image{filter:grayscale(100%)}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption,.foogallery.fg-hover-grayscale .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:none}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transform:translateX(100%);visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-thumb{transition-property:transform}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-caption{transform:translateY(0)}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus,.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,.foogallery.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus,.foogallery.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb{transform:translateX(-100%)}.foogallery.fg-hover-scale .fg-item{transition-property:transform;z-index:4}.foogallery.fg-hover-scale .fg-item:focus-within,.foogallery.fg-hover-scale .fg-item:hover{transform:scale(1.048);z-index:10}.foogallery.fg-caption-hover.fg-hover-scale .fg-caption,.foogallery.fg-hover-scale .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-scale .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-scale .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-hover-zoomed .fg-image{transition-property:transform;z-index:4}.foogallery.fg-hover-zoomed .fg-item:focus-within .fg-image,.foogallery.fg-hover-zoomed .fg-item:hover .fg-image{transform:scale(1.15)}.foogallery.fg-hover-zoomed .fg-image-wrap{overflow:hidden}.foogallery.fg-caption-hover.fg-hover-zoomed .fg-caption,.foogallery.fg-hover-zoomed .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-zoomed .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-zoomed .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:transform,background-color,opacity,visibility;visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-image-overlay{transform:translateY(0) translateX(0)}.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay{transform:translateY(100%)}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay{transform:translateY(-100%)}.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay{transform:translateX(100%)}.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay{transform:translateX(-100%)}.fg-paging-container,.fg-paging-container *,.fg-paging-container :after,.fg-paging-container :before{box-sizing:border-box}.fg-paging-container{display:block;padding:15px;margin-top:0!important;margin-bottom:0!important;margin-left:auto;margin-right:auto;text-align:center;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fg-ph-dots:after{display:block;content:'';width:0;height:22px}.fg-paging-container .fg-dot-item,.fg-paging-container .fg-dots{display:inline-block;margin:0;padding:0;outline:0;list-style:none}.fg-paging-container .fg-dot-item .fg-dot-link{display:inline-block;margin:3px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;text-decoration:none;border:1px solid transparent;position:relative;border-radius:50%;padding:0;font-size:0;outline:0;color:transparent;box-shadow:none}.fg-paging-container .fg-dot-item .fg-dot-link:before{content:"";background-color:transparent;border:1px solid transparent;display:block;border-radius:50%;width:9px;height:9px;padding:0;margin:2px}.fg-paging-container .fg-dot-item .fg-dot-link:active,.fg-paging-container .fg-dot-item .fg-dot-link:focus,.fg-paging-container .fg-dot-item .fg-dot-link:hover{text-decoration:none;box-shadow:none;outline:0}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link{cursor:not-allowed;pointer-events:none}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link{cursor:not-allowed;pointer-events:none;outline:0}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link{background-color:#eee;border-color:#9d9d9d}.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link{border-color:#888}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#666;border-color:#888}.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#eee;border-color:#9d9d9d;opacity:.5}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link{background-color:#666;border-color:#333}.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link{border-color:#444}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#333;border-color:#444}.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#666;border-color:#333;opacity:.5}.fg-paging-container,.fg-paging-container *,.fg-paging-container :after,.fg-paging-container :before{box-sizing:border-box}.fg-paging-container{display:block;padding:15px;margin-top:0!important;margin-bottom:0!important;margin-left:auto;margin-right:auto;text-align:center;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fg-ph-dots:after{display:block;content:'';width:0;height:22px}.fg-paging-container .fg-dot-item,.fg-paging-container .fg-dots{display:inline-block;margin:0;padding:0;outline:0;list-style:none}.fg-paging-container .fg-dot-item .fg-dot-link{display:inline-block;margin:3px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;text-decoration:none;border:1px solid transparent;position:relative;border-radius:50%;padding:0;font-size:0;outline:0;color:transparent;box-shadow:none}.fg-paging-container .fg-dot-item .fg-dot-link:before{content:"";background-color:transparent;border:1px solid transparent;display:block;border-radius:50%;width:9px;height:9px;padding:0;margin:2px}.fg-paging-container .fg-dot-item .fg-dot-link:active,.fg-paging-container .fg-dot-item .fg-dot-link:focus,.fg-paging-container .fg-dot-item .fg-dot-link:hover{text-decoration:none;box-shadow:none;outline:0}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link{cursor:not-allowed;pointer-events:none}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link{cursor:not-allowed;pointer-events:none;outline:0}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link{background-color:#eee;border-color:#9d9d9d}.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link{border-color:#888}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#666;border-color:#888}.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#eee;border-color:#9d9d9d;opacity:.5}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link{background-color:#666;border-color:#333}.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link{border-color:#444}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#333;border-color:#444}.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#666;border-color:#333;opacity:.5}.fg-default:after{content:'';display:block;clear:both}.fg-default .fg-item{display:inline-block;vertical-align:top;max-width:100%}.fg-default .fg-item-inner,.fg-default .fg-thumb{display:block;vertical-align:top;max-width:100%}.fg-default .fg-image{border-radius:0;display:block;max-width:100%;height:auto;margin:0;padding:0}.fg-default .fg-image{vertical-align:top}.fg-default.fg-left{text-align:left}.fg-default.fg-center{text-align:center}.fg-default.fg-right{text-align:right}.fg-default.fg-gutter-5{padding-left:5px;margin-bottom:-5px}.fg-default.fg-gutter-5 .fg-item{margin-right:5px;margin-bottom:5px}.fg-default.fg-gutter-10{padding-left:10px;margin-bottom:-10px}.fg-default.fg-gutter-10 .fg-item{margin-right:10px;margin-bottom:10px}.fg-default.fg-gutter-15{padding-left:15px;margin-bottom:-15px}.fg-default.fg-gutter-15 .fg-item{margin-right:15px;margin-bottom:15px}.fg-default.fg-gutter-20{padding-left:20px;margin-bottom:-20px}.fg-default.fg-gutter-20 .fg-item{margin-right:20px;margin-bottom:20px}.fg-default.fg-gutter-25{padding-left:25px;margin-bottom:-25px}.fg-default.fg-gutter-25 .fg-item{margin-right:25px;margin-bottom:25px}@media only screen and (max-width:600px){.fg-default.fg-m-col1 .fg-image,.fg-default.fg-m-col2 .fg-image,.fg-default.fg-m-col3 .fg-image{width:100%}.fg-default.fg-m-col1.fg-gutter-5 .fg-item{width:calc(100% - 10px);min-width:calc(100% - 10px);max-width:calc(100% - 10px)}.fg-default.fg-m-col2.fg-gutter-5 .fg-item{width:calc(50% - 10px);min-width:calc(50% - 10px);max-width:calc(50% - 10px)}.fg-default.fg-m-col3.fg-gutter-5 .fg-item{width:calc(33.33% - 10px);min-width:calc(33.33% - 10px);max-width:calc(33.33% - 10px)}.fg-default.fg-m-col1.fg-gutter-10 .fg-item{width:calc(100% - 20px);min-width:calc(100% - 20px);max-width:calc(100% - 20px)}.fg-default.fg-m-col2.fg-gutter-10 .fg-item{width:calc(50% - 20px);min-width:calc(50% - 20px);max-width:calc(50% - 20px)}.fg-default.fg-m-col3.fg-gutter-10 .fg-item{width:calc(33.33% - 20px);min-width:calc(33.33% - 20px);max-width:calc(33.33% - 20px)}.fg-default.fg-m-col1.fg-gutter-15 .fg-item{width:calc(100% - 30px);min-width:calc(100% - 30px);max-width:calc(100% - 30px)}.fg-default.fg-m-col2.fg-gutter-15 .fg-item{width:calc(50% - 30px);min-width:calc(50% - 30px);max-width:calc(50% - 30px)}.fg-default.fg-m-col3.fg-gutter-15 .fg-item{width:calc(33.33% - 30px);min-width:calc(33.33% - 30px);max-width:calc(33.33% - 30px)}.fg-default.fg-m-col1.fg-gutter-20 .fg-item{width:calc(100% - 40px);min-width:calc(100% - 40px);max-width:calc(100% - 40px)}.fg-default.fg-m-col2.fg-gutter-20 .fg-item{width:calc(50% - 40px);min-width:calc(50% - 40px);max-width:calc(50% - 40px)}.fg-default.fg-m-col3.fg-gutter-20 .fg-item{width:calc(33.33% - 40px);min-width:calc(33.33% - 40px);max-width:calc(33.33% - 40px)}.fg-default.fg-m-col1.fg-gutter-25 .fg-item{width:calc(100% - 50px);min-width:calc(100% - 50px);max-width:calc(100% - 50px)}.fg-default.fg-m-col2.fg-gutter-25 .fg-item{width:calc(50% - 50px);min-width:calc(50% - 50px);max-width:calc(50% - 50px)}.fg-default.fg-m-col3.fg-gutter-25 .fg-item{width:calc(33.33% - 50px);min-width:calc(33.33% - 50px);max-width:calc(33.33% - 50px)}}.fg-masonry *{box-sizing:border-box}.foogallery.fg-masonry{margin:0 auto;text-align:center}.fg-masonry .fg-thumb{display:block}.fg-masonry.fg-fixed .fg-column-width,.fg-masonry.fg-fixed .fg-image,.fg-masonry.fg-fixed .fg-item{max-width:100%}.fg-masonry .fg-column-width{display:inline-block;border:solid 0 transparent}.fg-masonry .fg-column-width,.fg-masonry .fg-gutter-width{position:absolute;height:0;visibility:hidden;opacity:0;pointer-events:none}.fg-masonry.fg-col2 .fg-item .fg-image,.fg-masonry.fg-col3 .fg-item .fg-image,.fg-masonry.fg-col4 .fg-item .fg-image,.fg-masonry.fg-col5 .fg-item .fg-image,.fg-masonry.fg-col6 .fg-item .fg-image,.fg-masonry.fg-fixed .fg-item .fg-image{width:100%;height:auto;max-width:100%}.fg-masonry .fg-item{line-height:0;font-size:0;vertical-align:top}.fg-masonry.fg-col2 .fg-item{margin-bottom:1%;width:49.5%}.fg-masonry.fg-col2 .fg-column-width{width:49.5%}.fg-masonry.fg-col2 .fg-gutter-width{width:1%}.fg-masonry.fg-col2.fg-gutter-none .fg-item{margin-bottom:0;width:50%}.fg-masonry.fg-col2.fg-gutter-none .fg-column-width{width:50%}.fg-masonry.fg-col2.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col2.fg-gutter-large .fg-item{margin-bottom:3%;width:48.5%}.fg-masonry.fg-col2.fg-gutter-large .fg-column-width{width:48.5%}.fg-masonry.fg-col2.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-col3 .fg-item{margin-bottom:1%;width:32.66%}.fg-masonry.fg-col3 .fg-column-width{width:32.66%}.fg-masonry.fg-col3 .fg-gutter-width{width:1%}.fg-masonry.fg-col3.fg-gutter-none .fg-item{margin-bottom:0;width:33.33%}.fg-masonry.fg-col3.fg-gutter-none .fg-column-width{width:33.33%}.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col3.fg-gutter-large .fg-item{margin-bottom:3%;width:31.33%}.fg-masonry.fg-col3.fg-gutter-large .fg-column-width{width:31.33%}.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-col4 .fg-item{margin-bottom:1%;width:24.25%}.fg-masonry.fg-col4 .fg-column-width{width:24.25%}.fg-masonry.fg-col4 .fg-gutter-width{width:1%}.fg-masonry.fg-col4.fg-gutter-none .fg-item{margin-bottom:0;width:25%}.fg-masonry.fg-col4.fg-gutter-none .fg-column-width{width:25%}.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col4.fg-gutter-large .fg-item{margin-bottom:3%;width:22.75%}.fg-masonry.fg-col4.fg-gutter-large .fg-column-width{width:22.75%}.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-col5 .fg-item{margin-bottom:1%;width:19.2%}.fg-masonry.fg-col5 .fg-column-width{width:19.2%}.fg-masonry.fg-col5 .fg-gutter-width{width:1%}.fg-masonry.fg-col5.fg-gutter-none .fg-item{margin-bottom:0;width:20%}.fg-masonry.fg-col5.fg-gutter-none .fg-column-width{width:20%}.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col5.fg-gutter-large .fg-item{margin-bottom:3%;width:17.6%}.fg-masonry.fg-col5.fg-gutter-large .fg-column-width{width:17.6%}.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-col6 .fg-item{margin-bottom:1%;width:15.83%}.fg-masonry.fg-col6 .fg-column-width{width:15.83%}.fg-masonry.fg-col6 .fg-gutter-width{width:1%}.fg-masonry.fg-col6.fg-gutter-none .fg-item{margin-bottom:0;width:16.66%}.fg-masonry.fg-col6.fg-gutter-none .fg-column-width{width:16.66%}.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col6.fg-gutter-large .fg-item{margin-bottom:3%;width:14.16%}.fg-masonry.fg-col6.fg-gutter-large .fg-column-width{width:14.16%}.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width{width:3%}@media screen and (max-width:1280px){.fg-masonry.fg-col6 .fg-item{margin-bottom:1%;width:19.2%}.fg-masonry.fg-col6 .fg-column-width{width:19.2%}.fg-masonry.fg-col6 .fg-gutter-width{width:1%}.fg-masonry.fg-col6.fg-gutter-none .fg-item{margin-bottom:0;width:20%}.fg-masonry.fg-col6.fg-gutter-none .fg-column-width{width:20%}.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col6.fg-gutter-large .fg-item{margin-bottom:3%;width:17.6%}.fg-masonry.fg-col6.fg-gutter-large .fg-column-width{width:17.6%}.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:1024px){.fg-masonry.fg-col5 .fg-item,.fg-masonry.fg-col6 .fg-item{margin-bottom:1%;width:24.25%}.fg-masonry.fg-col5 .fg-column-width,.fg-masonry.fg-col6 .fg-column-width{width:24.25%}.fg-masonry.fg-col5 .fg-gutter-width,.fg-masonry.fg-col6 .fg-gutter-width{width:1%}.fg-masonry.fg-col5.fg-gutter-none .fg-item,.fg-masonry.fg-col6.fg-gutter-none .fg-item{margin-bottom:0;width:25%}.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,.fg-masonry.fg-col6.fg-gutter-none .fg-column-width{width:25%}.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col5.fg-gutter-large .fg-item,.fg-masonry.fg-col6.fg-gutter-large .fg-item{margin-bottom:3%;width:22.75%}.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,.fg-masonry.fg-col6.fg-gutter-large .fg-column-width{width:22.75%}.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:720px){.fg-masonry.fg-col4 .fg-item,.fg-masonry.fg-col5 .fg-item,.fg-masonry.fg-col6 .fg-item{margin-bottom:1%;width:32.66%}.fg-masonry.fg-col4 .fg-column-width,.fg-masonry.fg-col5 .fg-column-width,.fg-masonry.fg-col6 .fg-column-width{width:32.66%}.fg-masonry.fg-col4 .fg-gutter-width,.fg-masonry.fg-col5 .fg-gutter-width,.fg-masonry.fg-col6 .fg-gutter-width{width:1%}.fg-masonry.fg-col4.fg-gutter-none .fg-item,.fg-masonry.fg-col5.fg-gutter-none .fg-item,.fg-masonry.fg-col6.fg-gutter-none .fg-item{margin-bottom:0;width:33.33%}.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,.fg-masonry.fg-col6.fg-gutter-none .fg-column-width{width:33.33%}.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col4.fg-gutter-large .fg-item,.fg-masonry.fg-col5.fg-gutter-large .fg-item,.fg-masonry.fg-col6.fg-gutter-large .fg-item{margin-bottom:3%;width:31.33%}.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,.fg-masonry.fg-col6.fg-gutter-large .fg-column-width{width:31.33%}.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:480px){.fg-masonry.fg-col3 .fg-item,.fg-masonry.fg-col4 .fg-item,.fg-masonry.fg-col5 .fg-item,.fg-masonry.fg-col6 .fg-item{margin-bottom:1%;width:49.5%}.fg-masonry.fg-col3 .fg-column-width,.fg-masonry.fg-col4 .fg-column-width,.fg-masonry.fg-col5 .fg-column-width,.fg-masonry.fg-col6 .fg-column-width{width:49.5%}.fg-masonry.fg-col3 .fg-gutter-width,.fg-masonry.fg-col4 .fg-gutter-width,.fg-masonry.fg-col5 .fg-gutter-width,.fg-masonry.fg-col6 .fg-gutter-width{width:1%}.fg-masonry.fg-col3.fg-gutter-none .fg-item,.fg-masonry.fg-col4.fg-gutter-none .fg-item,.fg-masonry.fg-col5.fg-gutter-none .fg-item,.fg-masonry.fg-col6.fg-gutter-none .fg-item{margin-bottom:0;width:50%}.fg-masonry.fg-col3.fg-gutter-none .fg-column-width,.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,.fg-masonry.fg-col6.fg-gutter-none .fg-column-width{width:50%}.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col3.fg-gutter-large .fg-item,.fg-masonry.fg-col4.fg-gutter-large .fg-item,.fg-masonry.fg-col5.fg-gutter-large .fg-item,.fg-masonry.fg-col6.fg-gutter-large .fg-item{margin-bottom:3%;width:48.5%}.fg-masonry.fg-col3.fg-gutter-large .fg-column-width,.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,.fg-masonry.fg-col6.fg-gutter-large .fg-column-width{width:48.5%}.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:320px){.fg-masonry.fg-col2 .fg-item,.fg-masonry.fg-col3 .fg-item,.fg-masonry.fg-col4 .fg-item,.fg-masonry.fg-col5 .fg-item,.fg-masonry.fg-col6 .fg-item{margin-bottom:1%;width:100%}.fg-masonry.fg-col2 .fg-column-width,.fg-masonry.fg-col3 .fg-column-width,.fg-masonry.fg-col4 .fg-column-width,.fg-masonry.fg-col5 .fg-column-width,.fg-masonry.fg-col6 .fg-column-width{width:100%}.fg-masonry.fg-col2 .fg-gutter-width,.fg-masonry.fg-col3 .fg-gutter-width,.fg-masonry.fg-col4 .fg-gutter-width,.fg-masonry.fg-col5 .fg-gutter-width,.fg-masonry.fg-col6 .fg-gutter-width{width:0}.fg-masonry.fg-col2.fg-gutter-none .fg-item,.fg-masonry.fg-col3.fg-gutter-none .fg-item,.fg-masonry.fg-col4.fg-gutter-none .fg-item,.fg-masonry.fg-col5.fg-gutter-none .fg-item,.fg-masonry.fg-col6.fg-gutter-none .fg-item{margin-bottom:0;width:100%}.fg-masonry.fg-col2.fg-gutter-none .fg-column-width,.fg-masonry.fg-col3.fg-gutter-none .fg-column-width,.fg-masonry.fg-col4.fg-gutter-none .fg-column-width,.fg-masonry.fg-col5.fg-gutter-none .fg-column-width,.fg-masonry.fg-col6.fg-gutter-none .fg-column-width{width:100%}.fg-masonry.fg-col2.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col3.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col4.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col5.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-col2.fg-gutter-large .fg-item,.fg-masonry.fg-col3.fg-gutter-large .fg-item,.fg-masonry.fg-col4.fg-gutter-large .fg-item,.fg-masonry.fg-col5.fg-gutter-large .fg-item,.fg-masonry.fg-col6.fg-gutter-large .fg-item{margin-bottom:3%;width:100%}.fg-masonry.fg-col2.fg-gutter-large .fg-column-width,.fg-masonry.fg-col3.fg-gutter-large .fg-column-width,.fg-masonry.fg-col4.fg-gutter-large .fg-column-width,.fg-masonry.fg-col5.fg-gutter-large .fg-column-width,.fg-masonry.fg-col6.fg-gutter-large .fg-column-width{width:100%}.fg-masonry.fg-col2.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col3.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col4.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col5.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-col6.fg-gutter-large .fg-gutter-width{width:0}}.foogallery.fg-border-thin .fg-column-width{border-width:4px}.foogallery.fg-border-medium .fg-column-width{border-width:10px}.foogallery.fg-border-thick .fg-column-width{border-width:16px}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption{visibility:visible;opacity:1;font-size:13px;position:relative;display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;text-transform:none;transform:none;transition:none;background-color:transparent;border-style:solid;border-color:transparent;text-align:left}.foogallery.fg-masonry.fg-captions-bottom.fg-c-l .fg-item-inner .fg-caption{text-align:left}.foogallery.fg-masonry.fg-captions-bottom.fg-c-c .fg-item-inner .fg-caption{text-align:center}.foogallery.fg-masonry.fg-captions-bottom.fg-c-r .fg-item-inner .fg-caption{text-align:right}.foogallery.fg-masonry.fg-captions-bottom.fg-c-j .fg-item-inner .fg-caption{text-align:justify}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner:hover .fg-caption{transform:none;transition:none}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner{display:block;position:relative;max-height:none;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;border:none;transform:none;transition:none}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner:before{display:none}.foogallery.fg-masonry.fg-captions-bottom.fg-caption-hover .fg-item-inner .fg-image-overlay{display:block}.foogallery.fg-masonry.fg-captions-bottom.fg-caption-always .fg-item-inner:hover .fg-caption{visibility:visible;opacity:1}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption,.fg-masonry.fg-captions-bottom.fg-light .fg-caption{color:#828282}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a,.fg-masonry.fg-captions-bottom.fg-light .fg-caption a{color:#828282;border-bottom:1px solid #828282}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a:hover,.fg-masonry.fg-captions-bottom.fg-light .fg-caption a:hover{border-bottom:none}.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title,.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a{color:#222}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title,.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a{color:#fff}.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a{border-bottom:1px solid #222}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a{border-bottom:1px solid #fff}.fg-masonry.fg-captions-bottom .fg-caption{border-width:10px}.fg-masonry.fg-captions-bottom .fg-caption-title+.fg-caption-desc{margin-top:4px}.fg-masonry.fg-captions-bottom.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.fg-masonry.fg-captions-bottom.fg-border-medium .fg-caption{border-width:10px 0 0 0}.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption{border-width:16px 0 0 0}.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-masonry.fg-transparent .fg-item-inner{background-color:transparent;color:#333;border-color:transparent}.fg-masonry.fg-transparent .fg-caption{color:#7f7f7f}.fg-masonry.fg-transparent.fg-captions-bottom .fg-caption{border-width:0;border-top-width:10px;border-bottom-width:10px}.fg-masonry.fg-transparent .fg-caption a{color:#7f7f7f;border-bottom:1px solid #7f7f7f}.fg-masonry.fg-transparent .fg-caption a:hover{border-bottom:none}.fg-masonry.fg-transparent .fg-caption-title,.fg-masonry.fg-transparent .fg-caption-title a{color:#333}.fg-masonry.fg-transparent .fg-caption-title a{border-bottom:1px solid #333}.fg-masonry.fg-transparent.fg-round-full .fg-item,.fg-masonry.fg-transparent.fg-round-full .fg-item-inner{border-radius:15px}.fg-masonry.fg-transparent.fg-round-full .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-full .fg-image-wrap,.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-large .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-full.fg-shadow-inset-small .fg-thumb:after{border-radius:50%;overflow:hidden}.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{overflow:hidden}.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-small.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{border-radius:5px}.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-medium.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{border-radius:10px}.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-large.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-masonry.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{border-radius:15px}.fg-masonry.fg-transparent.fg-shadow-inset-small .fg-thumb:after{box-shadow:inset 0 1px 4px 0 rgba(0,0,0,.3)}.fg-masonry.fg-transparent.fg-shadow-inset-medium .fg-thumb:after{box-shadow:inset 0 1px 10px 0 rgba(0,0,0,.3)}.fg-masonry.fg-transparent.fg-shadow-inset-large .fg-thumb:after{box-shadow:inset 0 1px 16px 0 rgba(0,0,0,.3)}.fg-masonry.fg-transparent.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px rgba(128,128,128,.5)}.fg-masonry.fg-transparent.fg-shadow-small .fg-item-inner{box-shadow:0 1px 4px 0 rgba(128,128,128,.5)}.fg-masonry.fg-transparent.fg-shadow-medium .fg-item-inner{box-shadow:0 1px 10px 0 rgba(128,128,128,.5)}.fg-masonry.fg-transparent.fg-shadow-large .fg-item-inner{box-shadow:0 1px 16px 0 rgba(128,128,128,.5)}.fg-justified{box-sizing:border-box;position:relative;text-align:center}.foogallery.fg-justified .fg-item{box-sizing:border-box;display:inline-block;margin:0;padding:0}.foogallery.fg-justified .fg-image,.foogallery.fg-justified .fg-item-inner,.foogallery.fg-justified .fg-thumb{box-sizing:border-box;display:block;margin:0;padding:0}.fg-justified .fg-item{visibility:visible;position:relative}.fg-justified .fg-item-inner{position:relative;width:100%;height:100%}.fg-justified .fg-thumb{position:relative;overflow:hidden}.fg-justified .fg-image{z-index:1}.fg-justified .fg-item.fg-positioned .fg-image-wrap,.fg-justified .fg-item.fg-positioned .fg-thumb{width:100%;height:100%}.fg-justified .fg-item.fg-positioned .fg-image{width:100%!important;height:auto!important;min-height:100%}.foogallery.fg-justified-css{position:relative;display:flex;box-sizing:border-box;align-items:center;justify-content:stretch;flex-wrap:wrap}.foogallery.fg-justified-css:after{display:block;content:'';flex-shrink:0;flex-grow:10;min-width:60px}.foogallery.fg-justified-css .fg-image,.foogallery.fg-justified-css .fg-item,.foogallery.fg-justified-css .fg-item-inner,.foogallery.fg-justified-css .fg-thumb{display:block}.foogallery.fg-justified-css .fg-item{flex-shrink:0;flex-grow:1;margin:5px}.foogallery.fg-justified-css .fg-image-wrap{display:flex;align-items:center;justify-content:stretch;overflow:hidden}.foogallery.fg-justified-css .fg-image{width:100%;height:auto}.fg-simple_portfolio{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;align-content:center}.fg-simple_portfolio .fg-item{position:relative;flex-grow:0;flex-shrink:0;flex-basis:auto;margin:10px;max-width:100%}.fg-simple_portfolio .fg-item-inner{display:flex;flex-direction:column;margin:0;height:100%}.fg-simple_portfolio.fg-captions-top .fg-item-inner{flex-direction:column-reverse}.fg-simple_portfolio .fg-image{height:auto;width:100%}.fg-simple_portfolio .fg-thumb{min-width:auto;min-height:auto}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption{visibility:visible;opacity:1;font-size:13px;position:relative;display:block;top:auto;bottom:auto;left:auto;right:auto;width:100%;height:100%;text-transform:none;transform:none;transition:none;background-color:transparent;border-style:solid;border-color:transparent;text-align:left}.foogallery.fg-simple_portfolio.fg-c-l .fg-item-inner .fg-caption{text-align:left}.foogallery.fg-simple_portfolio.fg-c-c .fg-item-inner .fg-caption{text-align:center}.foogallery.fg-simple_portfolio.fg-c-r .fg-item-inner .fg-caption{text-align:right}.foogallery.fg-simple_portfolio.fg-c-j .fg-item-inner .fg-caption{text-align:justify}.foogallery.fg-simple_portfolio .fg-item-inner:hover .fg-caption{transform:none;transition:none}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner{display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;border:none;transform:none;transition:none}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner:before{display:none}.foogallery.fg-simple_portfolio.fg-caption-hover .fg-item-inner .fg-image-overlay{display:block}.foogallery.fg-simple_portfolio.fg-caption-always .fg-item-inner:hover .fg-caption{visibility:visible;opacity:1}.fg-simple_portfolio .fg-caption-title{white-space:normal;height:auto}.fg-simple_portfolio.fg-dark .fg-caption,.fg-simple_portfolio.fg-light .fg-caption{color:#828282}.fg-simple_portfolio.fg-dark .fg-caption a,.fg-simple_portfolio.fg-light .fg-caption a{color:#828282;border-bottom:1px solid #828282}.fg-simple_portfolio.fg-dark .fg-caption a:hover,.fg-simple_portfolio.fg-light .fg-caption a:hover{border-bottom:none}.fg-simple_portfolio.fg-light .fg-caption-title,.fg-simple_portfolio.fg-light .fg-caption-title a{color:#222}.fg-simple_portfolio.fg-dark .fg-caption-title,.fg-simple_portfolio.fg-dark .fg-caption-title a{color:#fff}.fg-simple_portfolio.fg-light .fg-caption-title a{border-bottom:1px solid #222}.fg-simple_portfolio.fg-dark .fg-caption-title a{border-bottom:1px solid #fff}.fg-simple_portfolio .fg-caption{border-width:0}.fg-simple_portfolio .fg-caption-title+.fg-caption-desc{margin-top:4px}.fg-simple_portfolio.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.fg-simple_portfolio.fg-captions-top.fg-border-thin .fg-caption{border-width:4px 4px 10px 4px}.fg-simple_portfolio.fg-border-medium .fg-caption{border-width:10px 0 0 0}.fg-simple_portfolio.fg-captions-top.fg-border-medium .fg-caption{border-width:0 0 10px 0}.fg-simple_portfolio.fg-border-thick .fg-caption{border-width:16px 0 0 0}.fg-simple_portfolio.fg-captions-top.fg-border-thick .fg-caption{border-width:0 0 16px 0}.fg-simple_portfolio.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-simple_portfolio.fg-transparent .fg-item-inner{background-color:transparent;color:#333;border-color:transparent}.fg-simple_portfolio.fg-transparent .fg-caption{color:#7f7f7f}.fg-simple_portfolio.fg-transparent .fg-caption a{color:#7f7f7f;border-bottom:1px solid #7f7f7f}.fg-simple_portfolio.fg-transparent .fg-caption a:hover{border-bottom:none}.fg-simple_portfolio.fg-transparent .fg-caption-title,.fg-simple_portfolio.fg-transparent .fg-caption-title a{color:#333}.fg-simple_portfolio.fg-transparent .fg-caption-title a{border-bottom:1px solid #333}.fg-simple_portfolio.fg-transparent.fg-round-full .fg-item,.fg-simple_portfolio.fg-transparent.fg-round-full .fg-item-inner{border-radius:15px}.fg-simple_portfolio.fg-transparent.fg-round-full .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-full .fg-image-wrap,.fg-simple_portfolio.fg-transparent.fg-round-full.fg-shadow-inset-large .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-full.fg-shadow-inset-small .fg-thumb:after{border-radius:50%;overflow:hidden}.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap,.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{overflow:hidden}.fg-simple_portfolio.fg-transparent.fg-round-small.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-small.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-small.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{border-radius:5px}.fg-simple_portfolio.fg-transparent.fg-round-medium.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-medium.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-medium.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{border-radius:10px}.fg-simple_portfolio.fg-transparent.fg-round-large.fg-shadow-inset-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-large.fg-shadow-inset-medium:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-large.fg-shadow-inset-small:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-thumb:after,.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-overlay,.fg-simple_portfolio.fg-transparent.fg-round-large:not(.fg-shadow-outline):not(.fg-shadow-small):not(.fg-shadow-medium):not(.fg-shadow-large) .fg-image-wrap{border-radius:15px}.fg-simple_portfolio.fg-transparent.fg-shadow-inset-small .fg-thumb:after{box-shadow:inset 0 1px 4px 0 rgba(0,0,0,.3)}.fg-simple_portfolio.fg-transparent.fg-shadow-inset-medium .fg-thumb:after{box-shadow:inset 0 1px 10px 0 rgba(0,0,0,.3)}.fg-simple_portfolio.fg-transparent.fg-shadow-inset-large .fg-thumb:after{box-shadow:inset 0 1px 16px 0 rgba(0,0,0,.3)}.fg-simple_portfolio.fg-transparent.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px rgba(128,128,128,.5)}.fg-simple_portfolio.fg-transparent.fg-shadow-small .fg-item-inner{box-shadow:0 1px 4px 0 rgba(128,128,128,.5)}.fg-simple_portfolio.fg-transparent.fg-shadow-medium .fg-item-inner{box-shadow:0 1px 10px 0 rgba(128,128,128,.5)}.fg-simple_portfolio.fg-transparent.fg-shadow-large .fg-item-inner{box-shadow:0 1px 16px 0 rgba(128,128,128,.5)}.foogallery.fg-preset.fg-polaroid .fg-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .35s,background-color .65s}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n+1){-webkit-transform:rotate(3deg);transform:rotate(3deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n){-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(3n){-webkit-transform:rotate(1deg);transform:rotate(1deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(5n){-webkit-transform:rotate(-2deg);transform:rotate(-2deg)}.foogallery.fg-preset.fg-polaroid .fg-item:hover{-webkit-transform:rotate(0);transform:rotate(0)}.foogallery.fg-preset.fg-polaroid .fg-caption{position:relative;width:auto;font-family:"Segoe Print Regular",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.foogallery.fg-preset.fg-polaroid .fg-caption-inner,.foogallery.fg-preset.fg-polaroid .fg-caption-title{position:relative;width:auto}.foogallery.fg-preset.fg-polaroid .fg-caption-title{text-align:center}.foogallery.fg-preset.fg-polaroid .fg-caption-desc{display:none}.foogallery.fg-light.fg-preset.fg-polaroid .fg-caption-title,.foogallery.fg-preset.fg-polaroid .fg-caption-title{color:#333}.foogallery.fg-dark.fg-preset.fg-polaroid .fg-caption-title{color:#fff}.foogallery.fg-preset.fg-polaroid .fg-caption{border-style:solid;border-color:transparent;border-width:10px}.foogallery.fg-preset.fg-polaroid .fg-caption-title+.fg-caption-desc{margin-top:4px}.foogallery.fg-preset.fg-polaroid.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thin .fg-caption{border-width:4px 4px 10px 4px}.foogallery.fg-preset.fg-polaroid.fg-border-medium .fg-caption{border-width:10px 0 0 0}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-medium .fg-caption{border-width:0 0 10px 0}.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption{border-width:16px 0 0 0}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thick .fg-caption{border-width:0 0 16px 0}.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-image-viewer{display:block;font-family:'Open Sans','Helvetica Neue',Arial,sans-serif}.fg-image-viewer.fg-left{text-align:left}.fg-image-viewer.fg-center{text-align:center}.fg-image-viewer.fg-right{text-align:right}.fiv-inner{position:relative;display:inline-block;max-width:100%;overflow:hidden;z-index:6}.fiv-inner .fiv-inner-container{position:relative;overflow:hidden;max-width:100%;border-style:solid;border-width:0;border-bottom-width:4px;z-index:5}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:active,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:hover,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:visited{position:relative;display:block;border:none;outline:0;text-decoration:none;box-shadow:none;max-width:100%}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item{position:absolute;visibility:visible;opacity:1;border:none;outline:0;text-decoration:none;box-shadow:none;max-width:100%}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item:first-of-type{position:relative}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb img{display:block;max-width:100%;height:auto;border:none;outline:0;text-decoration:none}.fg-image-viewer .fiv-inner .fiv-ctrls{display:block;text-align:center;font-size:14px;border-style:solid;line-height:34px}.fg-image-viewer .fiv-inner .fiv-ctrls:after{content:'';display:block;clear:both}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count{display:inline-block;font-weight:400;margin:0}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;min-width:80px;position:relative;overflow:hidden;transition:background-color .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before{display:block;position:absolute;font-size:24px;line-height:30px;top:0;left:0;width:100%;transform:translateY(0);transition:transform .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover:before,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover:before{transform:translateY(-100%)}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next span,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev span{display:block;width:100%;transform:translateY(100%);transition:transform .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover span,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover span{transform:translateY(0)}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev{float:left}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before{content:'\2190'}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next{float:right}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before{content:'\2192'}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count span{margin:0 4px}.foogallery.fg-image-viewer.fg-caption-always .fg-item-inner .fg-caption{padding:0;border:none}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title{padding:10px 10px 10px 10px}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-desc{padding:10px 10px 10px 10px}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title+.fg-caption-desc{padding:0 10px 10px 10px}.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-count,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev,.fg-image-viewer.fg-light .fiv-inner .fiv-inner-container{background-color:#fff;color:#333;border-color:#fff}.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next:hover,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev:hover{background-color:#f2f2f2}.fg-image-viewer.fg-light .fiv-next,.fg-image-viewer.fg-light .fiv-prev{box-shadow:inset 0 0 0 1px #ddd}.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-count,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev,.fg-image-viewer.fg-dark .fiv-inner .fiv-inner-container{background-color:#333;color:#fff;border-color:#333}.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next:hover,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev:hover{background-color:#444}.fg-image-viewer.fg-dark .fiv-next,.fg-image-viewer.fg-dark .fiv-prev{box-shadow:inset 0 0 0 1px #222}.foogallery.fg-image-viewer.fg-border-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin .fg-item-inner{border-width:0}.foogallery.fg-image-viewer .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thin .fiv-inner-container{border-width:4px}.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-medium .fiv-inner-container{border-width:10px}.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thick .fiv-inner-container{border-width:16px}.foogallery.fg-image-viewer .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thin .fiv-ctrls{border-top-width:1px}.foogallery.fg-image-viewer.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-round-small .fiv-inner{border-radius:5px}.foogallery.fg-image-viewer.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-round-small .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-round-small .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-prev,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-prev,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-round-medium .fiv-inner{border-radius:10px}.foogallery.fg-image-viewer.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-round-medium .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-prev,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-round-large .fiv-inner{border-radius:15px}.foogallery.fg-image-viewer.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-round-large .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-round-large .fiv-prev{border-radius:11px}.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-prev{border-radius:11px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-full .fiv-inner,.foogallery.fg-image-viewer.fg-round-full .fiv-next,.foogallery.fg-image-viewer.fg-round-full .fiv-prev{border-radius:50%}.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fg-item-inner{box-shadow:none}.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fiv-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fiv-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fiv-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fiv-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fiv-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-thumbnail,.foogallery.fg-thumbnail.fg-center{text-align:center}.foogallery.fg-thumbnail.fg-left{text-align:left}.foogallery.fg-thumbnail.fg-right{text-align:right}.foogallery.fg-thumbnail.fg-float-left{float:left;width:auto}.foogallery.fg-thumbnail.fg-float-right{float:right;width:auto}.foogallery.fg-thumbnail .fg-item{display:inline-block;vertical-align:top;max-width:100%}.foogallery.fg-thumbnail .fg-image{max-width:100%}.foogallery.fg-thumbnail .fg-st-hidden{display:none}.foogallery-stack-album{text-align:center;overflow:hidden;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.3}.foogallery-stack-album,.foogallery-stack-album *{box-sizing:border-box}.foogallery-stack-album.fg-align-left{text-align:left}.foogallery-stack-album.fg-align-center{text-align:center}.foogallery-stack-album.fg-align-right{text-align:right}.foogallery-stack-album.fg-disable-transitions,.foogallery-stack-album.fg-disable-transitions *{transition:none!important}.fg-header{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;position:relative;padding:0;margin:0;border-top:solid 1px #aaa;border-bottom:solid 1px #aaa}.fg-header-title{display:block;margin:0;padding:0 20px;width:100%;text-align:left}.fg-header-active{display:block;margin:0;padding:0 20px;visibility:hidden;opacity:0;width:100%;text-align:right;transition-property:opacity,visibility;transition-duration:.3s;transition-timing-function:ease-in-out}.fg-header-back{display:block;padding:0;margin:5px;visibility:hidden;opacity:0;min-width:40px;width:40px;height:40px;border-radius:50%;text-align:center;line-height:38px;color:#999;background:#ddd;background:rgba(200,200,200,.5);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition-property:opacity,visibility;transition-duration:.3s;transition-timing-function:ease-in-out}.fg-has-active .fg-header-active,.fg-has-active .fg-header-back{visibility:visible;opacity:1}.fg-piles{display:inline-block;position:relative;transition-property:width,height;transition-duration:.3s;transition-timing-function:ease-in-out}.fg-pile{display:block;position:absolute;top:0;left:0;list-style:none;padding:0;margin:0;visibility:visible;opacity:1;transition-property:opacity,visibility,top,left,width,height;transition-duration:.3s;transition-timing-function:ease-in-out}.fg-pile.fg-hidden{visibility:hidden;opacity:0}.fg-pile-item{display:block;position:absolute;top:25px;left:25px;visibility:visible;opacity:1;cursor:pointer;border:10px solid #fff;background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition-property:opacity,visibility,top,left,transform;transition-duration:.3s;transition-timing-function:ease-in-out;z-index:1;transform:rotate(0)}.fg-expanded .fg-pile-item{z-index:2;transform:rotate(0)!important}.fg-pile-item.fg-has-cover{z-index:10;transform:rotate(0)!important}.fg-pile-item:nth-child(2){z-index:9}.fg-pile-item:nth-child(3){z-index:8}.fg-pile-item:nth-child(4){z-index:7}.fg-pile-item:nth-child(1n+5){visibility:hidden;opacity:0}.fg-expanded .fg-pile-item:nth-child(1n+4){visibility:visible;opacity:1}.fg-pile-item-thumb{display:block}.fg-pile-item-image{display:block}.fg-pile-item-caption{display:flex;justify-content:center;flex-direction:column;position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;margin:0;padding:10px;background-color:rgba(68,68,68,.5);color:#fff;text-align:center;visibility:hidden;opacity:0;transition-property:opacity,visibility;transition-duration:.3s;transition-timing-function:ease-in-out}.fg-pile-item-title{display:block;width:100%;padding:0 0 10px}.fg-pile-item-desc{display:block;width:100%;max-height:100%;border-top:solid 1px currentColor;padding:10px 0 0;overflow:hidden}.fg-pile-item-thumb:hover .fg-pile-item-caption{visibility:visible;opacity:1}.fg-pile-cover{display:flex;justify-content:left;align-items:center;position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;visibility:visible;opacity:1;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition-property:opacity,visibility;transition-duration:.3s;transition-timing-function:ease-in-out}.fg-expanded .fg-pile-cover{visibility:hidden;opacity:0;pointer-events:none}.fg-pile-cover-content{display:flex;position:relative;background:#fff;color:#333;width:75%;font-weight:700;box-shadow:1px 1px 1px rgba(0,0,0,.1),5px 0 5px -3px rgba(0,0,0,.4),inset 0 0 5px rgba(0,0,0,.04)}.fg-pile-cover-title{text-align:center;padding:10px;width:100%}.fg-pile-cover-count{color:#aaa;padding:10px 5px;background:#f7f7f7;height:100%}
|
1 |
+
.foogallery,.foogallery *{box-sizing:border-box}.foogallery{display:block;z-index:1;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;position:relative;line-height:0;font-size:0;width:100%;max-width:100%}.foogallery .fg-item{display:inline-block;position:relative;background-color:transparent;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.foogallery .fg-item.fg-hidden{display:none!important}.foogallery .fg-item-inner{display:block;position:relative;visibility:hidden;overflow:hidden;opacity:0;z-index:3;margin:0;border:solid 0 transparent}.foogallery .fg-item.fg-error:before{content:"";display:block;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:32px;height:32px;background-image:url('../img/icons.svg#image');background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:32px 32px}.foogallery .fg-item.fg-loaded{z-index:4}.foogallery .fg-loaded .fg-item-inner{visibility:visible;opacity:1;z-index:5}.foogallery .fg-error .fg-item-inner{pointer-events:none;cursor:default}.foogallery .fg-thumb{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:4;box-shadow:none}.foogallery .fg-thumb:focus,.foogallery .fg-thumb:hover{border:none;outline:0;text-decoration:none;box-shadow:none}.foogallery .fg-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;visibility:hidden;opacity:0}.foogallery .fg-image-wrap{display:block;position:relative}.foogallery .fg-image{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:5;max-width:100%;height:auto;margin:0;width:auto}.foogallery picture.fg-image>img{display:block;position:relative;border:none;outline:0;text-decoration:none;max-width:100%;height:auto;margin:0;width:auto}.foogallery .fg-loaded .fg-thumb{z-index:6}.foogallery .fg-loaded .fg-image{z-index:7}.fg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.foogallery.fg-light .fg-item-inner{background-color:#fff;color:#333;border-color:#fff}.foogallery.fg-dark .fg-item-inner{background-color:#333;color:#fff;border-color:#333}.foogallery.fg-light .fg-item.fg-error,.foogallery.fg-light .fg-item.fg-idle,.foogallery.fg-light .fg-item.fg-loading{background-color:#eee;box-shadow:inset 0 0 0 1px #ddd}.foogallery.fg-dark .fg-item.fg-error,.foogallery.fg-dark .fg-item.fg-idle,.foogallery.fg-dark .fg-item.fg-loading{background-color:#444;box-shadow:inset 0 0 0 1px #333}.foogallery .fg-caption{background-color:rgba(0,0,0,.6);color:#fff}.foogallery .fg-caption a{color:#fff;border-bottom:1px solid #fff}.foogallery.fg-light-overlays .fg-caption{background-color:rgba(255,255,255,.8);color:#333}.foogallery.fg-light-overlays .fg-caption a{color:#333;border-bottom-color:#333}.foogallery.fg-transparent-overlays .fg-caption{background-color:transparent;color:#fff}.foogallery.fg-transparent-overlays .fg-caption a{color:#fff;border-bottom-color:#fff}.foogallery .fg-image-overlay{background-color:rgba(0,0,0,.6);color:#fff}.foogallery.fg-light-overlays .fg-image-overlay{background-color:rgba(255,255,255,.8);color:#333}.foogallery.fg-transparent-overlays .fg-image-overlay{background-color:transparent;color:#fff}.fg-exif-light .fg-item.fg-item-exif .fg-image-wrap:after{background-color:#fff;color:#333}.fg-exif-dark .fg-item.fg-item-exif .fg-image-wrap:after{background-color:#333;color:#fff}.fg-exif-rounded .fg-item.fg-item-exif .fg-image-wrap:after{border-radius:3px}.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after,.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after,.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after,.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after{display:inline-block;position:absolute;content:'EXIF';font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:11px;line-height:10px;padding:3px 4px;z-index:7}.fg-exif-bottom-right .fg-item.fg-item-exif .fg-image-wrap:after{bottom:5px;right:5px}.fg-exif-bottom-left .fg-item.fg-item-exif .fg-image-wrap:after{bottom:5px;left:5px}.fg-exif-top-right .fg-item.fg-item-exif .fg-image-wrap:after{top:5px;right:5px}.fg-exif-top-left .fg-item.fg-item-exif .fg-image-wrap:after{top:5px;left:5px}.foogallery.fg-border-thin .fg-item-inner{border-width:4px}.foogallery.fg-border-medium .fg-item-inner{border-width:10px}.foogallery.fg-border-thick .fg-item-inner{border-width:16px}.foogallery.fg-light.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-dark.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-light.fg-shadow-small .fg-item-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-light.fg-shadow-medium .fg-item-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-light.fg-shadow-large .fg-item-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-shadow-inset-small .fg-thumb:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:7}.foogallery.fg-dark.fg-shadow-inset-small .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-small .fg-thumb:after{box-shadow:inset 0 1px 4px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-medium .fg-thumb:after{box-shadow:inset 0 1px 10px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-large .fg-thumb:after{box-shadow:inset 0 1px 16px 0 rgba(0,0,0,.3)}.foogallery.fg-round-full.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-small .fg-thumb:after{border-radius:50%}.foogallery.fg-round-small .fg-item,.foogallery.fg-round-small .fg-item-inner{border-radius:5px}.foogallery.fg-round-medium .fg-item,.foogallery.fg-round-medium .fg-item-inner{border-radius:10px}.foogallery.fg-round-large .fg-item,.foogallery.fg-round-large .fg-item-inner{border-radius:15px}.foogallery.fg-round-full .fg-item,.foogallery.fg-round-full .fg-item-inner{border-radius:50%}.foogallery .fg-loader{position:absolute;top:50%;left:50%;margin-top:-.5em;margin-left:-.5em;width:1em;height:1em;font-size:5px;visibility:hidden;opacity:0;pointer-events:none}.foogallery .fg-loading .fg-loader{visibility:visible;opacity:1}.fg-loading-default .fg-loader{border-radius:50%;text-indent:-9999em;box-shadow:0 -2.6em 0 0 #828282,1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.5),-1.8em -1.8em 0 0 rgba(130,130,130,.7);-webkit-animation:loading-default 1.1s infinite paused steps(8,start);animation:loading-default 1.1s infinite paused steps(8,start)}.fg-loading-default .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-default{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes loading-default{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fg-loading-bars .fg-loader,.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{background:#828282;width:1em;height:4em;-webkit-animation:loading-bars 1s infinite paused ease-in-out;animation:loading-bars 1s infinite paused ease-in-out}.fg-loading-bars .fg-loading .fg-loader,.fg-loading-bars .fg-loading .fg-loader:after,.fg-loading-bars .fg-loading .fg-loader:before{-webkit-animation-play-state:running;animation-play-state:running}.fg-loading-bars .fg-loader{color:#828282;text-indent:-9999em;font-size:4px;margin-top:-2em;margin-left:-.5em;-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{position:absolute;top:0;content:''}.fg-loading-bars .fg-loader:before{left:-1.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-bars .fg-loader:after{left:1.5em}@-webkit-keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}@keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}.fg-loading-trail .fg-loader{color:#828282;margin-top:0;margin-left:0;font-size:20px;text-indent:-9999em;overflow:hidden;border-radius:50%;-webkit-animation:loading-trail-1 1.7s infinite paused ease,loading-trail-2 1.7s infinite paused ease;animation:loading-trail-1 1.7s infinite paused ease,loading-trail-2 1.7s infinite paused ease}.fg-loading-trail .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@-webkit-keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.fg-loading-pulse .fg-loader,.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{border-radius:50%;width:2.5em;height:2.5em;-webkit-animation:loading-pulse 1.8s infinite both paused ease-in-out;animation:loading-pulse 1.8s infinite both paused ease-in-out}.fg-loading-pulse .fg-loading .fg-loader,.fg-loading-pulse .fg-loading .fg-loader:after,.fg-loading-pulse .fg-loading .fg-loader:before{-webkit-animation-play-state:running;animation-play-state:running}.fg-loading-pulse .fg-loader{color:#828282;font-size:4px;margin-top:-3.75em;margin-left:-1.25em;text-indent:-9999em;-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{content:'';position:absolute;top:0}.fg-loading-pulse .fg-loader:before{left:-3.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-pulse .fg-loader:after{left:3.5em}@-webkit-keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}.fg-loading-dots .fg-loader{color:#828282;font-size:5px;border-radius:50%;text-indent:-9999em;-webkit-animation:loading-dots 1.3s infinite paused linear;animation:loading-dots 1.3s infinite paused linear}.fg-loading-dots .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}.fg-loading-partial .fg-loader,.fg-loading-partial .fg-loader:after{border-radius:50%;width:10em;height:10em}.fg-loading-partial .fg-loader{font-size:4px;text-indent:-9999em;margin-top:0;margin-left:0;border-top:1.1em solid rgba(130,130,130,.2);border-right:1.1em solid rgba(130,130,130,.2);border-bottom:1.1em solid rgba(130,130,130,.2);border-left:1.1em solid #828282;-webkit-animation:loading-partial 1.1s infinite paused linear;animation:loading-partial 1.1s infinite paused linear}.fg-loading-partial .fg-loading .fg-loader{-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.foogallery.fg-loaded-drop .fg-item.fg-loaded,.foogallery.fg-loaded-fade-in .fg-item.fg-loaded,.foogallery.fg-loaded-flip .fg-item.fg-loaded,.foogallery.fg-loaded-fly .fg-item.fg-loaded,.foogallery.fg-loaded-scale-up .fg-item.fg-loaded,.foogallery.fg-loaded-slide-down .fg-item.fg-loaded,.foogallery.fg-loaded-slide-left .fg-item.fg-loaded,.foogallery.fg-loaded-slide-right .fg-item.fg-loaded,.foogallery.fg-loaded-slide-up .fg-item.fg-loaded,.foogallery.fg-loaded-swing-down .fg-item.fg-loaded{transition-timing-function:ease;transition-duration:650ms;transition-property:background-color,transform}.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner,.foogallery.fg-loaded-fade-in .fg-loaded .fg-item-inner,.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner,.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner,.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner,.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner,.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner{transition-timing-function:ease;transition-duration:650ms}.foogallery.fg-loaded-drop .fg-item.fg-loaded,.foogallery.fg-loaded-flip .fg-item.fg-loaded,.foogallery.fg-loaded-fly .fg-item.fg-loaded,.foogallery.fg-loaded-swing-down .fg-item.fg-loaded{perspective:1300px}.foogallery.fg-loaded-drop .fg-item-inner{transition-property:visibility,opacity,transform;transform-style:preserve-3d;transform:translateZ(400px) translateY(100%) rotateX(-90deg)}.foogallery.fg-loaded-drop .fg-loaded .fg-item-inner{transform:translateZ(0) translateY(0) rotateX(0)}.foogallery.fg-loaded-fade-in .fg-item-inner{transition-property:visibility,opacity}.foogallery.fg-loaded-flip .fg-item-inner{transition-property:visibility,opacity,transform;backface-visibility:hidden;transform-style:preserve-3d;transform:rotateY(-180deg)}.foogallery.fg-loaded-flip .fg-loaded .fg-item-inner{transform:rotateY(0)}.foogallery.fg-loaded-fly .fg-item-inner{transition-property:visibility,opacity,transform;transform-style:preserve-3d;transform-origin:50% 50% -300px;transform:rotateX(-180deg)}.foogallery.fg-loaded-fly .fg-loaded .fg-item-inner{transform:rotateX(0)}.foogallery.fg-loaded-scale-up .fg-item-inner{transition-property:visibility,opacity,transform;transform:scale(.6)}.foogallery.fg-loaded-scale-up .fg-loaded .fg-item-inner{transform:scale(1)}.foogallery.fg-loaded-slide-up .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateY(50%)}.foogallery.fg-loaded-slide-up .fg-loaded .fg-item-inner{transform:translateY(0)}.foogallery.fg-loaded-slide-down .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateY(-50%)}.foogallery.fg-loaded-slide-down .fg-loaded .fg-item-inner{transform:translateY(0)}.foogallery.fg-loaded-slide-left .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateX(50%)}.foogallery.fg-loaded-slide-left .fg-loaded .fg-item-inner{transform:translateX(0)}.foogallery.fg-loaded-slide-right .fg-item-inner{transition-property:visibility,opacity,transform;transform:translateX(-50%)}.foogallery.fg-loaded-slide-right .fg-loaded .fg-item-inner{transform:translateX(0)}.foogallery.fg-loaded-swing-down .fg-item-inner{transition-property:visibility,opacity,transform;transform-style:preserve-3d;transform-origin:0 0;transform:rotateX(-80deg)}.foogallery.fg-loaded-swing-down .fg-loaded .fg-item-inner{transform:rotateX(0)}.foogallery .fg-caption{visibility:hidden;opacity:0;position:absolute;z-index:8;width:100%;max-height:100%;overflow:hidden;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.3;border:none;text-align:center;cursor:pointer;margin:0}.foogallery .fg-caption a{text-decoration:none}.foogallery .fg-caption a:hover{border-bottom:none}.foogallery .fg-caption-title{box-sizing:content-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:400;padding:0;margin:.4em;height:1.3em;min-height:1.3em;line-height:1.3em}.foogallery .fg-caption-desc{padding:0;margin:.4em;overflow:hidden;height:100%;max-height:100%}.foogallery .fg-caption-title+.fg-caption-desc{margin-top:0}.foogallery .fg-caption-buttons{display:flex;position:relative;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;padding:5px;margin:0}.foogallery .fg-caption-buttons>a{display:inline-block;position:relative;padding:.4em .8em;margin:1px;max-width:100%;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;text-decoration:none!important;border:1px solid transparent;border-radius:4px;box-shadow:none;outline:0;opacity:1;transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,opacity,border-color,background-color}@media only screen and (max-width:600px){.foogallery .fg-caption-buttons{align-items:stretch}.foogallery .fg-caption-buttons>a{flex:1}}.foogallery .fg-caption .fg-caption-buttons>a{color:#333;background-color:#fff;border-color:#ccc}.foogallery .fg-caption .fg-caption-buttons>a:not(.fg-disabled):hover{color:#333;background-color:#e6e6e6;border-color:#adadad;border-bottom:solid 1px}.foogallery .fg-caption .fg-caption-buttons>a.fg-disabled{color:#9d9d9d}.foogallery .fg-caption .fg-caption-buttons>a.fg-disabled:hover{border-bottom:solid 1px}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a{color:#fff;background-color:#444;border-color:#333}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a:not(.fg-disabled):hover{color:#9d9d9d;background-color:#333;border-color:#222}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a.fg-disabled{color:#9d9d9d}.foogallery.fg-light-overlays .fg-caption .fg-caption-buttons>a.fg-disabled:hover{border-bottom:solid 1px}.foogallery.fg-caption-always .fg-item .fg-caption .fg-caption-inner:before{display:none}.foogallery.fg-caption-always .fg-item.fg-loaded .fg-caption{left:0;bottom:0;transition-timing-function:ease;transition-duration:.3s;transition-property:visibility,opacity;visibility:visible;opacity:1}.foogallery.fg-caption-always .fg-caption{text-align:left}.foogallery.fg-caption-hover .fg-caption .fg-caption-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%);padding:.4em}.foogallery.fg-caption-hover .fg-item.fg-loaded .fg-image-overlay{display:none}.foogallery.fg-c-l .fg-caption,.foogallery.fg-caption-always.fg-c-l .fg-caption{text-align:left}.foogallery.fg-c-c .fg-caption,.foogallery.fg-caption-always.fg-c-c .fg-caption{text-align:center}.foogallery.fg-c-r .fg-caption,.foogallery.fg-caption-always.fg-c-r .fg-caption{text-align:right}.foogallery.fg-c-j .fg-caption,.foogallery.fg-caption-always.fg-c-j .fg-caption{text-align:justify}.foogallery .fg-image-overlay:before{content:"";display:block;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:32px;height:32px;background-size:32px 32px;background-position:center center;background-repeat:no-repeat;min-width:32px;min-height:32px}.foogallery .fg-caption-inner:before{content:"";display:none;position:relative;width:32px;height:32px;margin:.4em;background-size:32px 32px;vertical-align:middle;background-position:center center;background-repeat:no-repeat;min-width:32px;min-height:32px}.foogallery.fg-hover-cart:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-external:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-eye:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-plus:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-tint:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-hover-zoom:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-1:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-2:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-3:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-4:not(.fg-preset) .fg-caption-inner:before,.foogallery.fg-video-default:not(.fg-preset) .fg-caption-inner:before{display:block}.foogallery.fg-hover-cart:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-circle-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-external:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-eye:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-plus:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-tint:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-zoom2:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-zoom3:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-hover-zoom:not(.fg-preset) .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-1:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-2:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-3:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-4:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay,.foogallery.fg-video-default:not(.fg-preset) .fg-type-video .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-video-sticky .fg-type-video.fg-loaded .fg-item-inner .fg-image-overlay{background-color:transparent;visibility:visible;opacity:1;display:block}.foogallery.fg-video-sticky .fg-type-video .fg-caption-inner:before{display:none}.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-image-overlay:before{background-image:url('../img/icons.svg#zoom-light')}.foogallery.fg-light-overlays.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-zoom .fg-image-overlay:before{background-image:url('../img/icons.svg#zoom-dark')}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-image-overlay:before{background-image:url('../img/icons.svg#zoom2-light')}.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-zoom2 .fg-image-overlay:before{background-image:url('../img/icons.svg#zoom2-dark')}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-image-overlay:before{background-image:url('../img/icons.svg#zoom3-light')}.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-zoom3 .fg-image-overlay:before{background-image:url('../img/icons.svg#zoom3-dark')}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-image-overlay:before{background-image:url('../img/icons.svg#plus-light')}.foogallery.fg-light-overlays.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-plus .fg-image-overlay:before{background-image:url('../img/icons.svg#plus-dark')}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-image-overlay:before{background-image:url('../img/icons.svg#circle-plus-light')}.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-circle-plus .fg-image-overlay:before{background-image:url('../img/icons.svg#circle-plus-dark')}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-image-overlay:before{background-image:url('../img/icons.svg#eye-light')}.foogallery.fg-light-overlays.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-eye .fg-image-overlay:before{background-image:url('../img/icons.svg#eye-dark')}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-image-overlay:before{background-image:url('../img/icons.svg#external-light')}.foogallery.fg-light-overlays.fg-hover-external .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-external .fg-image-overlay:before{background-image:url('../img/icons.svg#external-dark')}.foogallery.fg-hover-cart .fg-caption-inner:before,.foogallery.fg-hover-cart .fg-image-overlay:before{background-image:url('../img/icons.svg#cart-light')}.foogallery.fg-light-overlays.fg-hover-cart .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-hover-cart .fg-image-overlay:before{background-image:url('../img/icons.svg#cart-dark')}.foogallery.fg-video-default .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-default .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-default-light')}.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-default .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-default-dark')}.foogallery.fg-video-1 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-1 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-1-light')}.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-1 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-1-dark')}.foogallery.fg-video-2 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-2 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-2-light')}.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-2 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-2-dark')}.foogallery.fg-video-3 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-3 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-3-light')}.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-3 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-3-dark')}.foogallery.fg-video-4 .fg-type-video .fg-caption-inner:before,.foogallery.fg-video-4 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-4-light')}.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-caption-inner:before,.foogallery.fg-light-overlays.fg-video-4 .fg-type-video .fg-image-overlay:before{background-image:url('../img/icons.svg#video-4-dark')}.foogallery.fg-caption-hover.fg-hover-colorize .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-grayscale .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-scale .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-colorize .fg-loaded .fg-image,.foogallery.fg-hover-colorize .fg-loaded .fg-image-overlay,.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay,.foogallery.fg-hover-grayscale .fg-loaded .fg-image,.foogallery.fg-hover-grayscale .fg-loaded .fg-image-overlay,.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay,.foogallery.fg-hover-push .fg-loaded .fg-thumb,.foogallery.fg-hover-scale .fg-item.fg-loaded,.foogallery.fg-hover-scale .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay,.foogallery.fg-hover-zoomed .fg-loaded .fg-image{transition-timing-function:ease;transition-duration:.3s;backface-visibility:hidden}.foogallery.fg-hover-colorize .fg-image{filter:grayscale(100%);transition-property:filter}.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image,.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image{filter:grayscale(0%)}.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption,.foogallery.fg-hover-colorize .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-colorize .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-hover-grayscale .fg-image{filter:grayscale(0%);transition-property:filter}.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image,.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image{filter:grayscale(100%)}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption,.foogallery.fg-hover-grayscale .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-grayscale .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:none}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transform:translateX(100%);visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-thumb{transition-property:transform}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-caption{transform:translateY(0)}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus,.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,.foogallery.fg-hover-push .fg-loaded .fg-item-inner .fg-thumb:focus,.foogallery.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb{transform:translateX(-100%)}.foogallery.fg-hover-scale .fg-item{transition-property:transform;z-index:4}.foogallery.fg-hover-scale .fg-item:focus-within,.foogallery.fg-hover-scale .fg-item:hover{transform:scale(1.048);z-index:10}.foogallery.fg-caption-hover.fg-hover-scale .fg-caption,.foogallery.fg-hover-scale .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-scale .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-scale .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-hover-zoomed .fg-image{transition-property:transform;z-index:4}.foogallery.fg-hover-zoomed .fg-item:focus-within .fg-image,.foogallery.fg-hover-zoomed .fg-item:hover .fg-image{transform:scale(1.15)}.foogallery.fg-hover-zoomed .fg-image-wrap{overflow:hidden}.foogallery.fg-caption-hover.fg-hover-zoomed .fg-caption,.foogallery.fg-hover-zoomed .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-zoomed .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-zoomed .fg-item-inner:focus-within .fg-image-overlay,.foogallery.fg-hover-zoomed .fg-item-inner:hover .fg-image-overlay{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-left .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-right .fg-loaded .fg-image-overlay,.foogallery.fg-hover-slide-up .fg-loaded .fg-image-overlay{display:block;left:0;top:0;bottom:0;transition-property:transform,background-color,opacity,visibility;visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:focus-within .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-rig
|