From dea1dba2e590256358d871b0269000f900015068 Mon Sep 17 00:00:00 2001
From: Codestar
Date: Sat, 8 Jan 2022 20:43:46 +0300
Subject: [PATCH] v2.2.6
---
LICENSE.md | 339 +++
README.md | 125 +
assets/css/style-rtl.min.css | 1 +
assets/css/style.min.css | 1 +
assets/images/checkerboard.png | Bin 0 -> 2340 bytes
assets/images/wp-logo.svg | 1 +
assets/images/wp-plugin-logo.svg | 1 +
assets/js/main.min.js | 3 +
assets/js/plugins.min.js | 3 +
classes/abstract.class.php | 132 +
classes/admin-options.class.php | 725 +++++
classes/fields.class.php | 405 +++
classes/setup.class.php | 792 ++++++
codestar-framework.php | 20 +
fields/accordion/accordion.php | 64 +
fields/background/background.php | 340 +++
fields/backup/backup.php | 38 +
fields/border/border.php | 176 ++
fields/button_set/button_set.php | 67 +
fields/callback/callback.php | 31 +
fields/checkbox/checkbox.php | 95 +
fields/code_editor/code_editor.php | 58 +
fields/color/color.php | 52 +
fields/color_group/color_group.php | 42 +
fields/content/content.php | 28 +
fields/date/date.php | 64 +
fields/datetime/datetime.php | 61 +
fields/dimensions/dimensions.php | 101 +
fields/fieldset/fieldset.php | 41 +
fields/gallery/gallery.php | 52 +
fields/group/group.php | 144 +
fields/heading/heading.php | 24 +
fields/icon/fa4-icons.php | 12 +
fields/icon/fa5-icons.php | 12 +
fields/icon/icon.php | 71 +
fields/image_select/image_select.php | 79 +
fields/index.php | 1 +
fields/link/link.php | 82 +
fields/link_color/link_color.php | 91 +
fields/map/map.php | 98 +
fields/media/media.php | 96 +
fields/notice/notice.php | 26 +
fields/number/number.php | 60 +
fields/palette/palette.php | 58 +
fields/radio/radio.php | 93 +
fields/repeater/repeater.php | 108 +
fields/select/select.php | 132 +
fields/slider/slider.php | 78 +
fields/sortable/sortable.php | 87 +
fields/sorter/sorter.php | 76 +
fields/spacing/spacing.php | 171 ++
fields/spinner/spinner.php | 70 +
fields/subheading/subheading.php | 24 +
fields/submessage/submessage.php | 26 +
fields/switcher/switcher.php | 40 +
fields/tabbed/tabbed.php | 64 +
fields/text/text.php | 30 +
fields/textarea/textarea.php | 48 +
fields/typography/google-fonts.php | 1366 ++++++++++
fields/typography/typography.php | 544 ++++
fields/upload/upload.php | 61 +
fields/wp_editor/wp_editor.php | 107 +
functions/actions.php | 190 ++
functions/customize.php | 142 +
functions/helpers.php | 58 +
functions/sanitize.php | 29 +
functions/validate.php | 152 ++
functions/walker.php | 28 +
index.php | 1 +
languages/ar.mo | Bin 0 -> 4722 bytes
languages/ar.po | 664 +++++
languages/az.mo | Bin 0 -> 4247 bytes
languages/az.po | 664 +++++
languages/bn_BD.mo | Bin 0 -> 5940 bytes
languages/bn_BD.po | 664 +++++
languages/de_DE.mo | Bin 0 -> 4269 bytes
languages/de_DE.po | 664 +++++
languages/default.pot | 673 +++++
languages/es_ES.mo | Bin 0 -> 4174 bytes
languages/es_ES.po | 666 +++++
languages/fr_FR.mo | Bin 0 -> 4347 bytes
languages/fr_FR.po | 667 +++++
languages/hi_IN.mo | Bin 0 -> 5840 bytes
languages/hi_IN.po | 664 +++++
languages/id_ID.mo | Bin 0 -> 4048 bytes
languages/id_ID.po | 664 +++++
languages/it_IT.mo | Bin 0 -> 4111 bytes
languages/it_IT.po | 664 +++++
languages/ja.mo | Bin 0 -> 4520 bytes
languages/ja.po | 664 +++++
languages/ko_KR.mo | Bin 0 -> 4185 bytes
languages/ko_KR.po | 664 +++++
languages/ne_NP.mo | Bin 0 -> 3439 bytes
languages/ne_NP.po | 655 +++++
languages/nl_NL.mo | Bin 0 -> 4144 bytes
languages/nl_NL.po | 667 +++++
languages/pl_PL.mo | Bin 0 -> 4113 bytes
languages/pl_PL.po | 666 +++++
languages/pt_PT.mo | Bin 0 -> 4062 bytes
languages/pt_PT.po | 664 +++++
languages/ru_RU.mo | Bin 0 -> 5087 bytes
languages/ru_RU.po | 664 +++++
languages/th.mo | Bin 0 -> 5835 bytes
languages/th.po | 664 +++++
languages/tr_TR.mo | Bin 0 -> 4198 bytes
languages/tr_TR.po | 664 +++++
languages/vi.mo | Bin 0 -> 4362 bytes
languages/vi.po | 664 +++++
languages/zh_CN.mo | Bin 0 -> 8354 bytes
languages/zh_CN.po | 672 +++++
samples/admin-options.php | 3744 ++++++++++++++++++++++++++
views/about.php | 181 ++
views/documentation.php | 5 +
views/footer.php | 3 +
views/free-vs-premium.php | 100 +
views/header.php | 50 +
views/quickstart.php | 67 +
views/relnotes.php | 316 +++
views/support.php | 5 +
views/welcome.php | 139 +
120 files changed, 27009 insertions(+)
create mode 100644 LICENSE.md
create mode 100644 README.md
create mode 100644 assets/css/style-rtl.min.css
create mode 100644 assets/css/style.min.css
create mode 100644 assets/images/checkerboard.png
create mode 100644 assets/images/wp-logo.svg
create mode 100644 assets/images/wp-plugin-logo.svg
create mode 100644 assets/js/main.min.js
create mode 100644 assets/js/plugins.min.js
create mode 100644 classes/abstract.class.php
create mode 100644 classes/admin-options.class.php
create mode 100644 classes/fields.class.php
create mode 100644 classes/setup.class.php
create mode 100644 codestar-framework.php
create mode 100644 fields/accordion/accordion.php
create mode 100644 fields/background/background.php
create mode 100644 fields/backup/backup.php
create mode 100644 fields/border/border.php
create mode 100644 fields/button_set/button_set.php
create mode 100644 fields/callback/callback.php
create mode 100644 fields/checkbox/checkbox.php
create mode 100644 fields/code_editor/code_editor.php
create mode 100644 fields/color/color.php
create mode 100644 fields/color_group/color_group.php
create mode 100644 fields/content/content.php
create mode 100644 fields/date/date.php
create mode 100644 fields/datetime/datetime.php
create mode 100644 fields/dimensions/dimensions.php
create mode 100644 fields/fieldset/fieldset.php
create mode 100644 fields/gallery/gallery.php
create mode 100644 fields/group/group.php
create mode 100644 fields/heading/heading.php
create mode 100644 fields/icon/fa4-icons.php
create mode 100644 fields/icon/fa5-icons.php
create mode 100644 fields/icon/icon.php
create mode 100644 fields/image_select/image_select.php
create mode 100644 fields/index.php
create mode 100644 fields/link/link.php
create mode 100644 fields/link_color/link_color.php
create mode 100644 fields/map/map.php
create mode 100644 fields/media/media.php
create mode 100644 fields/notice/notice.php
create mode 100644 fields/number/number.php
create mode 100644 fields/palette/palette.php
create mode 100644 fields/radio/radio.php
create mode 100644 fields/repeater/repeater.php
create mode 100644 fields/select/select.php
create mode 100644 fields/slider/slider.php
create mode 100644 fields/sortable/sortable.php
create mode 100644 fields/sorter/sorter.php
create mode 100644 fields/spacing/spacing.php
create mode 100644 fields/spinner/spinner.php
create mode 100644 fields/subheading/subheading.php
create mode 100644 fields/submessage/submessage.php
create mode 100644 fields/switcher/switcher.php
create mode 100644 fields/tabbed/tabbed.php
create mode 100644 fields/text/text.php
create mode 100644 fields/textarea/textarea.php
create mode 100644 fields/typography/google-fonts.php
create mode 100644 fields/typography/typography.php
create mode 100644 fields/upload/upload.php
create mode 100644 fields/wp_editor/wp_editor.php
create mode 100644 functions/actions.php
create mode 100644 functions/customize.php
create mode 100644 functions/helpers.php
create mode 100644 functions/sanitize.php
create mode 100644 functions/validate.php
create mode 100644 functions/walker.php
create mode 100644 index.php
create mode 100644 languages/ar.mo
create mode 100644 languages/ar.po
create mode 100644 languages/az.mo
create mode 100644 languages/az.po
create mode 100644 languages/bn_BD.mo
create mode 100644 languages/bn_BD.po
create mode 100644 languages/de_DE.mo
create mode 100644 languages/de_DE.po
create mode 100644 languages/default.pot
create mode 100644 languages/es_ES.mo
create mode 100644 languages/es_ES.po
create mode 100644 languages/fr_FR.mo
create mode 100644 languages/fr_FR.po
create mode 100644 languages/hi_IN.mo
create mode 100644 languages/hi_IN.po
create mode 100644 languages/id_ID.mo
create mode 100644 languages/id_ID.po
create mode 100644 languages/it_IT.mo
create mode 100644 languages/it_IT.po
create mode 100644 languages/ja.mo
create mode 100644 languages/ja.po
create mode 100644 languages/ko_KR.mo
create mode 100644 languages/ko_KR.po
create mode 100644 languages/ne_NP.mo
create mode 100644 languages/ne_NP.po
create mode 100644 languages/nl_NL.mo
create mode 100644 languages/nl_NL.po
create mode 100644 languages/pl_PL.mo
create mode 100644 languages/pl_PL.po
create mode 100644 languages/pt_PT.mo
create mode 100644 languages/pt_PT.po
create mode 100644 languages/ru_RU.mo
create mode 100644 languages/ru_RU.po
create mode 100644 languages/th.mo
create mode 100644 languages/th.po
create mode 100644 languages/tr_TR.mo
create mode 100644 languages/tr_TR.po
create mode 100644 languages/vi.mo
create mode 100644 languages/vi.po
create mode 100644 languages/zh_CN.mo
create mode 100644 languages/zh_CN.po
create mode 100644 samples/admin-options.php
create mode 100644 views/about.php
create mode 100644 views/documentation.php
create mode 100644 views/footer.php
create mode 100644 views/free-vs-premium.php
create mode 100644 views/header.php
create mode 100644 views/quickstart.php
create mode 100644 views/relnotes.php
create mode 100644 views/support.php
create mode 100644 views/welcome.php
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..ecbc059
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..90dbb1e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,125 @@
+[![Codestar Framework](http://s3.codestarthemes.com/codecanyon/23079100/github-banner.png)](http://codestarframework.com/)
+
+# Codestar Framework
+A Simple and Lightweight WordPress Option Framework for Themes and Plugins. Built in Object Oriented Programming paradigm with high number of custom fields and tons of options. Allows you to bring custom admin, metabox, taxonomy and customize settings to all of your pages, posts and categories. It's highly modern and advanced framework.
+
+## Contents
+- [Demo](#demo)
+- [Installation](#installation)
+- [Quick Start](#quick-start)
+- [Documentation](#documentation)
+- [Free vs Premium](#free-vs-premium)
+- [Support](#support)
+- [Release Notes](#release-notes)
+- [License](#license)
+
+## Demo
+For usage and examples, have a look at :rocket: [online demo](http://codestarthemes.com/plugins/codestar-framework/wp-login.php?login=demo)
+
+## Installation
+
+1. Download the installable WordPress plugin zip.
+2. Upload and active plugin from `WordPress` → `Plugins` → `Add New`
+3. After activation, next step is to configure your settings. You can do it from here :gear: [configurations](http://codestarframework.com/documentation/#/configurations)
+
+## Quick Start
+
+Open your current theme **functions.php** file and paste this code.
+
+```php
+// Check core class for avoid errors
+if( class_exists( 'CSF' ) ) {
+
+ // Set a unique slug-like ID
+ $prefix = 'my_framework';
+
+ // Create options
+ CSF::createOptions( $prefix, array(
+ 'menu_title' => 'My Framework',
+ 'menu_slug' => 'my-framework',
+ ) );
+
+ // Create a section
+ CSF::createSection( $prefix, array(
+ 'title' => 'Tab Title 1',
+ 'fields' => array(
+
+ // A text field
+ array(
+ 'id' => 'opt-text',
+ 'type' => 'text',
+ 'title' => 'Simple Text',
+ ),
+
+ )
+ ) );
+
+ // Create a section
+ CSF::createSection( $prefix, array(
+ 'title' => 'Tab Title 2',
+ 'fields' => array(
+
+ // A textarea field
+ array(
+ 'id' => 'opt-textarea',
+ 'type' => 'textarea',
+ 'title' => 'Simple Textarea',
+ ),
+
+ )
+ ) );
+
+}
+```
+How to get option value ?
+```php
+$options = get_option( 'my_framework' ); // unique id of the framework
+
+echo $options['opt-text']; // id of the field
+echo $options['opt-textarea']; // id of the field
+```
+
+## Documentation
+Read the documentation for details :closed_book: [documentation](http://codestarframework.com/documentation/)
+
+## Free vs Premium
+
+| Features | Free Version | Premium Version
+|:-----------------------------|:------------------:|:-----------------:
+| Admin Option Framework | :heavy_check_mark: | :heavy_check_mark:
+| Customize Option Framework | :x: | :heavy_check_mark:
+| Metabox Option Framework | :x: | :heavy_check_mark:
+| Nav Menu Option Framework | :x: | :heavy_check_mark:
+| Taxonomy Option Framework | :x: | :heavy_check_mark:
+| Profile Option Framework | :x: | :heavy_check_mark:
+| Comment Option Framework | :x: | :heavy_check_mark:
+| Widget Option Framework | :x: | :heavy_check_mark:
+| Shortcode Option Framework | :x: | :heavy_check_mark:
+| All Option Fields | :x: | :heavy_check_mark:
+| Developer Packages | :x: | :heavy_check_mark:
+| Unminfy Library | :x: | :heavy_check_mark:
+| New Requests | :x: | :heavy_check_mark:
+| Autoremove Advertisements | :x: | :heavy_check_mark:
+| Life-time access/updates | :x: | :heavy_check_mark:
+| | | :star2: Upgrade Premium Version
+
+## Available Option Fields
+
+| Accordion | Color | Icon | Select | Tabbed
+|:------------|:------------|:-------------|:---------|:---
+| Background | Color Group | Image Select | Slider | Text
+| Backup | Date | Link Color | Sortable | Textarea
+| Border | Dimensions | Media | Sorter | Typography
+| Button Set | Fieldset | Palette | Spacing | Upload
+| Checkbox | Gallery | Radio | Spinner | WP Editor
+| Code Editor | Group | Repeater | Switcher | Others
+
+## Support
+
+We are provide [support forum](http://support.codestarthemes.com/) for premium version users. You can join to support forum for submit any question after purchasing. Free version users support is limited on [github](https://github.com/Codestar/codestar-framework/issues).
+
+## Release Notes
+Check out the [release notes](http://codestarframework.com/documentation/#/relnotes)
+
+## License
+Codestar Framework have two different version. Free version has limited features and offers only admin option panel feature. Premium version offers all extensions and more of settings for the best experience and advanced features. You can bundle the framework ( both free and premium ) in the premium theme/plugin and sell them on your own website or in marketplaces like ThemeForest. This framework is licensed 100% GPL.
diff --git a/assets/css/style-rtl.min.css b/assets/css/style-rtl.min.css
new file mode 100644
index 0000000..861a6ea
--- /dev/null
+++ b/assets/css/style-rtl.min.css
@@ -0,0 +1 @@
+.csf-options{margin-left:20px;margin-right:0}.csf-header h1{float:right}.csf-header fieldset{float:left}.csf-buttons{float:left;direction:ltr}.csf-header-left{float:right}.csf-header-right{float:left}.csf-nav{float:right}.csf-nav ul{clear:right}.csf-nav ul li .csf-active:after{right:auto;left:0;border-left-color:#fff;border-right-color:transparent}.csf-nav ul li .csf-arrow:after{content:"\f053";right:auto;left:10px}.csf-nav ul li.csf-tab-expanded .csf-arrow:after{transform:rotate(-90deg)}.csf-nav ul ul li a{padding-right:25px;padding-left:15px}.csf-nav ul ul:before{left:auto;right:15px}.csf-nav .csf-tab-icon{margin-left:5px;margin-right:0}.csf-nav-background{left:auto;right:0}.csf-content{margin-left:0;margin-right:225px}.csf-sections{float:right}.csf-show-all .csf-content{margin-right:0;overflow:hidden}.csf-expand-all{float:right;right:auto;left:40px;margin-right:0;margin-left:4px}.csf-search{float:right}.csf-search input{margin:0 0 0 5px}.csf-copyright{float:right}.csf-metabox{margin:-6px -12px -12px -12px}.csf-metabox .csf-section-title{padding:20px}.csf-section-title .csf-section-icon{margin-left:5px;margin-right:0}.csf-field .csf-title{float:right}.csf-field .csf-fieldset{float:left}.csf-pseudo-field{padding:0 0 0 5px!important}.csf-field-typography select{margin:0;width:100%}.csf-field-typography .csf--blocks-inputs .csf--blocks{flex-direction:row-reverse}.csf-field-typography .csf--unit{left:4px;right:auto}.csf-field-checkbox ul ul li,.csf-field-radio ul ul li{margin-left:0;margin-right:8px}.csf-field-checkbox ul ul li:first-child,.csf-field-radio ul ul li:first-child{margin-right:0}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{margin-right:0;margin-left:15px}.csf-field-checkbox .csf--text,.csf-field-radio .csf--text{margin-left:0;margin-right:5px}.csf-field-switcher .csf--switcher{float:right}.csf-field-switcher .csf--label{float:right;margin-left:0;margin-right:5px}.csf-field-upload .csf--button,.csf-field-upload .csf--remove{margin-left:0;margin-right:5px}.csf-field-group .csf-cloneable-title{padding:15px 10px 15px 65px}.csf-field-group .csf-cloneable-helper{right:auto;left:10px}.csf-field-repeater .csf-repeater-helper{border-left:0;border-right:1px solid #eee}.csf-help{right:auto;left:5px}.csf-field-icon .button{margin-right:0;margin-left:5px}.csf-field-icon .csf-icon-preview i{margin-right:0;margin-left:5px}.csf-field-gallery ul li{margin-right:0;margin-left:5px}.csf-field-gallery .button{margin-right:0;margin-left:5px}.csf-field-tabbed .csf-tabbed-nav .csf--icon{padding-right:0;padding-left:5px}.csf-field-tabbed .csf-tabbed-nav a{margin-right:0;margin-left:5px}.csf-field-media .button{margin-left:0;margin-right:7px}.csf-field-media .hidden+.button{margin-right:0}.csf-notice{border-left:none;border-right-style:solid;border-right-width:4px}.csf-field-border .csf--input,.csf-field-border .csf-fieldset,.csf-field-dimensions .csf--input,.csf-field-dimensions .csf-fieldset,.csf-field-spacing .csf--input,.csf-field-spacing .csf-fieldset{direction:ltr}.csf-field-border .csf--color,.csf-field-border .csf--inputs,.csf-field-dimensions .csf--color,.csf-field-dimensions .csf--inputs,.csf-field-spacing .csf--color,.csf-field-spacing .csf--inputs{float:right}.csf-field-border .csf--color,.csf-field-dimensions .csf--color,.csf-field-spacing .csf--color{margin-right:4px;direction:rtl}.csf-field-background .csf--block{float:right}.csf-field-background .csf--media,.csf-field-background .csf--select{padding-right:0}.csf-field-background .csf--title{margin-right:0;margin-left:5px}.csf-field-spinner .csf--spin{float:right;direction:ltr}.csf-field-slider .csf-slider-ui{direction:ltr;margin-right:0;margin-left:15px}.csf-field-slider .csf--input{direction:ltr}.csf-field-button_set .csf--button-group{float:right}.csf-field-link_color .csf--left{float:right;margin-right:0;margin-left:10px}.csf-field-color_group .csf--left{float:right;margin-right:0;margin-left:10px}.csf-field-palette .csf--palette{margin-right:0;margin-left:10px}.csf-field-accordion .csf--icon{margin-right:0;margin-left:2px}.csf-field-date .csf--to{margin-left:0;margin-right:7px}.csf-field-map .csf--map-input:last-child{padding-left:0;padding-right:10px}.csf-field-sortable .csf-sortable-helper{border-left:none;border-right:1px solid #eee}.csf-field-number .csf--wrap{float:right}.csf-field-number .csf--unit{left:4px;right:auto}.csf-taxonomy-add-fields{margin-right:0;margin-left:30px}.csf-taxonomy-add-fields .csf-field>.csf-fieldset>.csf-help{left:-5px;right:auto}.csf-taxonomy-edit-fields{margin-right:0;margin-left:35px}.csf-taxonomy-edit-fields .csf-field>.csf-fieldset>.csf-help{right:auto;left:-5px}.csf-profile-options>h2>.fa{padding-right:0;padding-left:7px}.csf-profile-options>.csf-field>.csf-fieldset>.csf-help{left:-5px;right:auto}.csf-nav-menu-options>.csf-fields{margin-left:0;margin-right:-10px}.csf-nav-menu-title{padding-left:14px;padding-right:12px}.csf-nav-menu-icon{margin-right:0;margin-left:5px}.csf-modal-content .csf-field{padding:15px 15px 15px 30px}.csf-modal-title{padding:0 16px 0 36px}.csf-modal-close{right:auto;left:0}.control-section .csf-field .csf-fieldset{margin-right:0}@media only screen and (max-width:1200px){.csf-metabox .csf-field .csf-fieldset{margin-left:0}}@media only screen and (max-width:782px){.csf .csf-content,.csf .csf-fieldset{margin-right:0}}.csf-field .csf--transparent-slider{margin-left:0;margin-right:2px}.csf-field .csf--transparent-slider .ui-slider-handle{margin:0 -11px}.csf-field .csf--transparent-offset{background-position:center right}.csf-field .csf--transparent-text{right:auto;left:10px}
\ No newline at end of file
diff --git a/assets/css/style.min.css b/assets/css/style.min.css
new file mode 100644
index 0000000..dff740d
--- /dev/null
+++ b/assets/css/style.min.css
@@ -0,0 +1 @@
+.csf{position:relative}.csf label{padding:0;margin:0;display:inline-block}.csf-ab-icon{top:2px}#screen-meta-links+.csf-options{margin-top:40px}.csf-options{margin-top:20px;margin-right:20px}.csf-header{position:relative}.csf-header-inner{padding:25px;transition:box-shadow .3s ease}.csf-header-inner h1{float:left;font-size:1.5em;line-height:26px;font-weight:400;margin:0}.csf-header-inner h1 small{font-size:11px;font-weight:500}.csf-sticky .csf-header-inner{position:fixed;z-index:99;top:32px;box-shadow:0 5px 10px rgba(0,0,0,.1)}.csf-buttons{float:right}.csf-buttons .button{margin:0 2px;line-height:26px}.csf-buttons .button:focus{outline:0!important;box-shadow:none!important}.csf-buttons .csf-save{min-width:72px}.csf-header-left{float:left}.csf-header-right{float:right}.csf-nav{display:block;position:relative;z-index:10;float:left}.csf-nav ul{clear:left;margin:0;list-style-type:none}.csf-nav ul li{margin-bottom:0}.csf-nav ul li a{font-size:13px;position:relative;display:block;padding:14px 12px;text-decoration:none;transition-property:color,background;transition-duration:.2s;transition-timing-function:ease}.csf-nav ul li a:focus{outline:0;box-shadow:none}.csf-nav ul li .csf-arrow:after{content:"\f054";display:inline-block;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:9px;line-height:1;position:absolute;right:10px;top:50%;margin-top:-4px}.csf-nav ul li.csf-tab-expanded .csf-arrow:after{transform:rotate(90deg)}.csf-nav ul li.csf-tab-expanded ul{display:block}.csf-nav ul ul{display:none;position:relative}.csf-nav ul ul li a{font-size:12px;padding:12px 14px 12px 24px}.csf-nav .csf-tab-icon{width:20px;margin-right:5px;font-size:13px;text-align:center}.csf-nav .csf-label-error{margin-left:4px;vertical-align:top}.csf-nav-normal{width:225px}.csf-nav-normal+.csf-content{margin-left:225px}.csf-nav-inline{width:100%}.csf-nav-inline ul li{display:inline-block;vertical-align:top}.csf-nav-background{position:absolute;top:0;left:0;bottom:0;z-index:9;width:225px}.csf-wrapper{position:relative}.csf-content{position:relative;background-color:#fff}.csf-sections{float:left;width:100%}.csf-section-title{display:none;padding:20px 30px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-section-title h3{margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase}.csf-section-title .csf-section-icon{margin-right:5px}.csf-footer{padding:20px;font-size:11px}.csf-copyright{float:left;margin-top:5px}.csf-search-all .csf-nav,.csf-search-all .csf-nav-background,.csf-show-all .csf-nav,.csf-show-all .csf-nav-background{display:none}.csf-search-all .csf-content,.csf-show-all .csf-content{margin-left:0}.csf-search-all .csf-section,.csf-search-all .csf-section-title,.csf-show-all .csf-section,.csf-show-all .csf-section-title{display:block!important}.csf-search-all .csf-section-title{display:none!important}.csf-expand-all{float:left;padding:0 8px;margin-right:4px;z-index:1;font-size:13px;line-height:30px;cursor:pointer;user-select:none;border-radius:2px;transition:all .2s}.csf-expand-all span{font-size:11px;vertical-align:middle}.csf-search{float:left}.csf-search input{margin:0 2px 0 0;border:none;font-size:12px;line-height:30px;min-height:30px;text-align:inherit;padding:0 10px;border-radius:2px;box-shadow:none}.csf-search input:focus{box-shadow:none}.csf-saving .csf-buttons,.csf-saving .csf-content{cursor:default;pointer-events:none;opacity:.5}.csf-metabox{margin:-6px -12px -12px -12px}.csf-metabox .csf-field{padding:20px}.csf-metabox .csf-section-title{padding:20px}.block-editor-page .csf-metabox{margin:-6px -14px -14px -14px}.block-editor-editor-skeleton__content .csf-metabox{border-left:1px solid #e2e4e7;border-right:1px solid #e2e4e7}.csf-sections-reset{float:left;width:100%;text-align:right;border-top:1px solid #eee}.csf-sections-reset .csf-button-cancel,.csf-sections-reset input{display:none}.csf-sections-reset label{padding:10px}.csf-sections-reset span{-webkit-user-select:none;user-select:none}.csf-sections-reset input:checked~.csf-button-reset{display:none}.csf-sections-reset input:checked~.csf-button-cancel{display:inline-block}#side-sortables .csf-section-title{padding:12px}#side-sortables .csf-field{padding:10px 15px}#side-sortables .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}#side-sortables .csf-field .csf-fieldset{float:none;width:100%}#side-sortables .csf-field-text input{width:100%}#side-sortables .csf-notice{padding:10px 15px}.csf-comment-metabox{margin:-6px -12px -12px -12px}.csf-comment-metabox .csf-field{padding:20px}.csf-comment-metabox .csf-section-title{padding:20px}.csf-tooltip{position:absolute;z-index:5000001;font-size:12px;line-height:1.4;text-align:center;text-decoration:none;padding:6px 12px;max-width:200px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.85);border-radius:4px}.csf-theme-dark .csf-header-inner{background-color:#050505}.csf-theme-dark .csf-header-inner h1{color:#fff}.csf-theme-dark .csf-header-inner h1 small{color:#555}.csf-theme-dark .csf-expand-all{color:#999;background-color:#222}.csf-theme-dark .csf-expand-all:hover{color:#fff;background-color:#333}.csf-theme-dark .csf-search input{color:#fff;background-color:#222}.csf-theme-dark .csf-search:focus{background-color:#444}.csf-theme-dark .csf-search::-webkit-input-placeholder{color:#666}.csf-theme-dark .csf-nav ul li a{color:#999;border-color:#2f2f2f;background-color:#222}.csf-theme-dark .csf-nav ul li a:hover{color:#fff}.csf-theme-dark .csf-nav ul li .csf-active{color:#fff;background-color:#111}.csf-theme-dark .csf-nav ul ul li a{border-color:#2f2f2f;background-color:#191919}.csf-theme-dark .csf-nav ul ul li .csf-active{background-color:#101010}.csf-theme-dark .csf-nav ul ul:before{background-color:rgba(34,34,34,.75)}.csf-theme-dark .csf-nav>ul>li:last-child>a{border:none}.csf-theme-dark .csf-nav-normal ul li a{border-bottom-width:1px;border-bottom-style:solid}.csf-theme-dark .csf-nav-normal ul li .csf-active:after{content:" ";position:absolute;right:0;top:50%;height:0;width:0;pointer-events:none;border:solid transparent;border-right-color:#fff;border-width:4px;margin-top:-4px}.csf-theme-dark .csf-nav-inline{background-color:#222}.csf-theme-dark .csf-nav-inline ul li a{text-align:center;border-right-width:1px;border-right-style:solid}.csf-theme-dark .csf-nav-inline ul li .csf-active:after{content:" ";position:absolute;left:50%;bottom:0;height:0;width:0;pointer-events:none;border:solid transparent;border-bottom-color:#fff;border-width:4px;margin-left:-4px}.csf-theme-dark .csf-nav-background{background-color:#222}.csf-theme-dark .csf-footer{color:#555;background-color:#050505}.csf-theme-light .csf-container{border:1px solid #ccd0d4;box-shadow:0 0 15 rgba(0,0,0,.04)}.csf-theme-light .csf-header-inner{border-bottom:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fefefe,#f5f5f5)}.csf-theme-light .csf-header-inner h1 small{color:#999}.csf-theme-light .csf-expand-all{color:#999;background-color:#eee}.csf-theme-light .csf-expand-all:hover{color:#555}.csf-theme-light .csf-search input{color:#555;background-color:#eee}.csf-theme-light .csf-search input::-webkit-input-placeholder{color:#999}.csf-theme-light .csf-nav ul li a{font-weight:500;color:#444;background-color:#f5f5f5}.csf-theme-light .csf-nav ul li a:hover{color:#111;background-color:#fff}.csf-theme-light .csf-nav ul li .csf-active{color:#111;background-color:#fff}.csf-theme-light .csf-nav ul ul li a{background-color:#eee}.csf-theme-light .csf-nav-normal>ul{margin-right:-1px;margin-bottom:-1px}.csf-theme-light .csf-nav-normal>ul li a{border-bottom:1px solid #ccd0d4;border-right:1px solid #ccd0d4}.csf-theme-light .csf-nav-normal>ul li .csf-active{border-right-color:#fff}.csf-theme-light .csf-nav-inline{background-color:#f5f5f5;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav-inline>ul{margin-bottom:-1px}.csf-theme-light .csf-nav-inline>ul li a{text-align:center;border-right:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav-inline>ul li .csf-active{border-bottom-color:#fff}.csf-theme-light .csf-nav-inline>ul ul{display:none!important}.csf-theme-light .csf-nav-inline .csf-arrow:after{display:none}.csf-theme-light .csf-nav-background{background-color:#f5f5f5;border-right:1px solid #ccd0d4}.csf-theme-light .csf-footer{color:#555;border-top:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.csf-field{position:relative;padding:30px}.csf-field+.csf-field{border-top:1px solid #eee}.csf-field p:first-child{margin-top:0}.csf-field p:last-child{margin-bottom:0}.csf-field:after,.csf-field:before{content:" ";display:table}.csf-field:after{clear:both}.csf-field h4{margin-top:0}.csf-field .csf-title{position:relative;width:20%;float:left}.csf-field .csf-title h4{margin:0;color:#23282d}.csf-field .csf-fieldset{float:right;width:calc(80% - 20px)}.csf-pseudo-field{padding:0 5px 0 0!important;display:inline-block}.csf-pseudo-field+.csf-pseudo-field{border:0}.csf-pseudo-field pre{display:none}.csf-field-accordion .csf-accordion-item{position:relative;margin-bottom:5px}.csf-field-accordion .csf-accordion-item:last-child{margin-bottom:0}.csf-field-accordion .csf-accordion-item h4{font-size:1em}.csf-field-accordion .csf-accordion-title{display:block;cursor:pointer;position:relative;margin:0;padding:15px;min-height:0;font-size:100%;user-select:none;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-accordion .csf-accordion-title:active,.csf-field-accordion .csf-accordion-title:focus,.csf-field-accordion .csf-accordion-title:hover{outline:0;border-color:#999}.csf-field-accordion .csf-accordion-title .csf--icon{width:20px;text-align:center;margin-right:2px}.csf-field-accordion .csf-accordion-icon{width:16px;text-align:center}.csf-field-accordion .csf-accordion-content{display:none;padding:0;border:1px solid #ccd0d4;border-top:none;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-accordion .csf-accordion-content>.csf-field{padding:15px}.csf-field-accordion .csf-accordion-open{display:block}.csf-field-background .csf-field{border:0!important;padding:0;margin-bottom:6px;margin-right:6px}.csf-field-background .csf--title{color:#777;font-size:12px}.csf-field-background .csf--background-colors{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes select{min-width:100%;margin:0}.csf-field-background .csf--background-attributes .csf-field{flex:1}.csf-field-background .csf--attributes-hidden{display:none}.csf-field-backup textarea{width:100%;min-height:200px;margin-bottom:5px}.csf-field-backup small{display:inline-block;margin:5px}.csf-field-backup hr{margin:20px 0;border:none;border-bottom:1px solid #e5e5e5}.csf-field-border .csf--inputs,.csf-field-dimensions .csf--inputs,.csf-field-spacing .csf--inputs{float:left;display:flex;flex-wrap:wrap}.csf-field-border .csf--input,.csf-field-dimensions .csf--input,.csf-field-spacing .csf--input{display:flex;padding-right:6px;padding-bottom:4px;box-sizing:border-box}.csf-field-border .csf--input select,.csf-field-dimensions .csf--input select,.csf-field-spacing .csf--input select{margin:0}.csf-field-border .csf--input input,.csf-field-dimensions .csf--input input,.csf-field-spacing .csf--input input{position:relative;z-index:1;margin:0;width:65px;max-width:100%;text-align:center}.csf-field-border .csf--color,.csf-field-dimensions .csf--color,.csf-field-spacing .csf--color{float:left}.csf-field-border .csf--label,.csf-field-dimensions .csf--label,.csf-field-spacing .csf--label{display:flex;flex-direction:column;justify-content:center;user-select:none;min-width:20px;max-width:100%;padding:0 4px;font-size:12px;text-align:center;color:#555;border:1px solid #7b776c;background-color:#f5f5f5}.csf-field-border .csf--icon,.csf-field-dimensions .csf--icon,.csf-field-spacing .csf--icon{border-right:0;border-radius:4px 0 0 4px}.csf-field-border .csf--icon+input,.csf-field-dimensions .csf--icon+input,.csf-field-spacing .csf--icon+input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.csf-field-border .csf--unit,.csf-field-dimensions .csf--unit,.csf-field-spacing .csf--unit{border-left:0;border-radius:0 4px 4px 0}.csf-field-border .csf--is-unit,.csf-field-dimensions .csf--is-unit,.csf-field-spacing .csf--is-unit{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.csf-field-button_set .csf--buttons{display:inline-block}.csf-field-button_set .csf--button{position:relative;z-index:1;float:left;cursor:pointer;padding:7px 14px;min-width:16px;text-align:center;color:#555;border:1px solid #ccc;background-color:#f7f7f7;user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.1)}.csf-field-button_set .csf--button:first-child{border-radius:4px 0 0 4px}.csf-field-button_set .csf--button:last-child{border-radius:0 4px 4px 0}.csf-field-button_set .csf--button:not(:first-child){margin-left:-1px}.csf-field-button_set .csf--button:hover{background-color:#eee}.csf-field-button_set .csf--active,.csf-field-button_set .csf--active:hover{z-index:2;color:#fff;border-color:#006799;background-color:#0085ba}.csf-field-button_set input{display:none}.csf-field-checkbox ul,.csf-field-radio ul{margin:0;padding:0;list-style-type:none;overflow-y:auto;max-height:305px}.csf-field-checkbox ul li,.csf-field-radio ul li{margin-bottom:6px}.csf-field-checkbox ul ul,.csf-field-radio ul ul{max-height:none}.csf-field-checkbox ul ul li,.csf-field-radio ul ul li{margin-left:8px}.csf-field-checkbox ul ul li:first-child,.csf-field-radio ul ul li:first-child{margin-left:0}.csf-field-checkbox input,.csf-field-radio input{margin:0 1px}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{display:inline-block;margin-right:15px}.csf-field-checkbox .csf--text,.csf-field-radio .csf--text{margin-left:5px;vertical-align:middle}.csf-field-checkbox .csf-checker,.csf-field-radio .csf-checker{cursor:pointer}.csf-field-code_editor .CodeMirror{width:100%;height:400px}.csf-field-code_editor .cm-s-default{border:1px solid #ccd0d4}.csf-field-code_editor textarea{width:100%;height:400px}.csf-field-color>input{opacity:.75;width:115px;max-width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;margin-left:6px;line-height:2.54545455;min-height:30px}.csf-field-color_group .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-color_group .csf--title{color:#999;margin-bottom:5px}.csf-field-fieldset .csf-fieldset-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-fieldset .csf-fieldset-content>.csf-field{padding:15px}.csf-field-fieldset .csf-field-subheading{font-size:13px}.csf-field-date input{margin:0}.csf-field-date .csf--to{margin-left:7px}.csf-datepicker-wrapper{margin-top:5px;width:auto;background-color:#fff;z-index:9999999!important;box-shadow:0 0 30px rgba(0,0,0,.15)}.csf-datepicker-wrapper *{float:none;margin:0;padding:0;font-family:inherit;font-weight:400;font-style:normal;text-decoration:none;border:0;border-radius:0;box-shadow:none}.csf-datepicker-wrapper .ui-datepicker-header,.csf-datepicker-wrapper .ui-widget-header{color:#fff;background:#00a0d2}.csf-datepicker-wrapper .ui-datepicker-header .ui-state-hover{cursor:pointer}.csf-datepicker-wrapper .ui-datepicker-title{font-size:14px;line-height:40px;text-align:center}.csf-datepicker-wrapper .ui-datepicker-next,.csf-datepicker-wrapper .ui-datepicker-prev{position:static;top:auto;left:auto;right:auto;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;text-align:center;width:41px;height:40px;line-height:40px;color:#fff;background-color:rgba(255,255,255,.1);text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.csf-datepicker-wrapper .ui-datepicker-next span,.csf-datepicker-wrapper .ui-datepicker-prev span{display:none}.csf-datepicker-wrapper .ui-datepicker-prev{float:left}.csf-datepicker-wrapper .ui-datepicker-next{float:right}.csf-datepicker-wrapper .ui-datepicker-prev:before{content:'\f053'}.csf-datepicker-wrapper .ui-datepicker-next:before{content:'\f054'}.csf-datepicker-wrapper .ui-datepicker-next-hover,.csf-datepicker-wrapper .ui-datepicker-prev-hover{opacity:.75}.csf-datepicker-wrapper tbody .ui-datepicker-week-col{background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane{padding:10px;text-align:center;background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane button{cursor:pointer;margin:0 5px;padding:7px 14px;border:1px solid #eee;background-color:#fff}.csf-datepicker-wrapper select{margin:0 4px}.csf-datepicker-wrapper select option{color:#555}.csf-datepicker-wrapper table{font-size:13px;border-collapse:collapse;width:100%}.csf-datepicker-wrapper thead{color:#fff;background:#32373c}.csf-datepicker-wrapper th{text-align:center;padding:7px;border:1px solid #444}.csf-datepicker-wrapper td{text-align:center;border:1px solid #f4f4f4}.csf-datepicker-wrapper td.ui-datepicker-other-month{border:transparent}.csf-datepicker-wrapper td .ui-state-default{color:#555;width:auto;display:block;padding:6px 12px}.csf-datepicker-wrapper td .ui-state-active,.csf-datepicker-wrapper td .ui-state-hover{color:#fff;background-color:#0073aa}.csf-datepicker-wrapper td.ui-state-disabled .ui-state-default{opacity:.5}.csf-field-datetime input{margin:0}.csf-field-datetime .csf--to{margin-left:7px}.csf-flatpickr input,.csf-flatpickr select{min-height:auto}.csf-flatpickr input:focus,.csf-flatpickr select:focus{box-shadow:none}.csf-flatpickr.open{z-index:9999999!important}.csf-field-gallery ul{margin:0;padding:0;list-style-type:none}.csf-field-gallery ul li{display:inline-block;position:relative;padding:4px;margin:0 5px 10px 0;border:1px solid #ccc;background-color:#f9f9f9;border-radius:2px;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-gallery ul li img{max-height:60px;display:inline-block;vertical-align:middle}.csf-field-gallery .button{margin-right:5px;margin-bottom:5px}.csf-field-group .csf-cloneable-hidden{display:none!important}.csf-field-group .csf-cloneable-wrapper{position:relative}.csf-field-group .csf-cloneable-item{display:none;position:relative;margin-bottom:5px}.csf-field-group .csf-cloneable-item h4{font-size:1em}.csf-field-group .ui-accordion .csf-cloneable-item{display:block}.csf-field-group .csf-cloneable-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-group .csf-cloneable-content>.csf-field{padding:15px}.csf-field-group .csf-cloneable-title{display:block;cursor:pointer;position:relative;user-select:none;margin:0;padding:15px 65px 15px 10px;min-height:0;font-size:100%;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-group .csf-cloneable-title:active,.csf-field-group .csf-cloneable-title:focus,.csf-field-group .csf-cloneable-title:hover{border-color:#999;outline:0}.csf-field-group .csf-cloneable-helper{position:absolute;top:12px;right:10px;z-index:1;font-size:14px;line-height:1em}.csf-field-group .csf-cloneable-helper i{display:inline-block;cursor:pointer;padding:5px;color:#999}.csf-field-group .csf-cloneable-helper i:hover{color:#555}.csf-field-group .csf-cloneable-content{padding:0;border-top:0}.csf-field-group .csf-cloneable-title-number,.csf-field-group .csf-cloneable-title-prefix{margin-right:5px}.csf-field-group .csf-cloneable-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-group .widget-placeholder{margin-bottom:10px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-group .csf-cloneable-header-icon{display:inline-block;text-align:center;font-size:14px;width:17px;text-indent:0;vertical-align:text-top}.csf-field-group .csf-cloneable-placeholder{background-color:#ddd;margin-top:4px;width:100px;height:10px;font-size:10px;line-height:10px;display:inline-block;vertical-align:top;border-radius:2px}.csf-field-icon .button{margin-right:5px}.csf-field-icon .csf-icon-select{display:flex}.csf-field-icon .csf-icon-preview:not(.hidden){display:flex}.csf-field-icon .csf-icon-preview i{display:flex;justify-content:center;align-items:center;width:30px;font-size:14px;margin-right:5px;text-align:center;vertical-align:top;color:#555;border:1px solid #ccc;background-color:#f7f7f7;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-image_select .csf--image{display:inline-block;margin:0 5px 5px 0}.csf-field-image_select .csf--inline-list .csf--image{display:block}.csf-field-image_select figure{cursor:pointer;position:relative;display:inline-block;max-width:100%;margin:0;vertical-align:bottom;border:2px solid transparent;background-color:#fff;user-select:none;transition:all .2s}.csf-field-image_select figure:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-image_select .csf--active figure{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-image_select .csf--active figure:before{opacity:1}.csf-field-image_select img{max-width:100%;height:auto;vertical-align:top}.csf-field-image_select input{display:none}.csf-field-link_color .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-link_color .csf--title{color:#777;margin-bottom:5px}.csf-field-map input{width:100%}.csf-field-map input[type=text].ui-autocomplete-loading{background-position-x:calc(100% - 5px)}.csf-field-map .csf--map-search+.csf--map-osm-wrap{margin-top:10px}.csf-field-map .csf--map-osm-wrap{position:relative;padding:5px;border:1px solid #eee;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-map .csf--map-osm{position:relative;z-index:1;min-height:250px}.csf-field-map .csf--map-inputs{margin-top:10px;display:flex;justify-content:space-between}.csf-field-map .csf--map-input{flex:1}.csf-field-map .csf--map-input:last-child{padding-left:10px}.csf-field-map label{display:block;color:#777;font-size:12px;margin:0 0 2px 0}.csf-map-ui-autocomplate{z-index:999999;border-radius:4px;overflow:hidden}.csf-field-media .csf--placeholder{display:flex;align-items:flex-start}.csf-field-media .csf--placeholder input{width:100%;margin:0}.csf-field-media .button{margin-left:5px}.csf-field-media .hidden+.button{margin-left:0}.csf-field-media .csf--preview{position:relative}.csf-field-palette .csf--palette{position:relative;display:inline-block;cursor:pointer;border:2px solid #ddd;margin-right:10px;margin-bottom:10px;user-select:none;-webkit-user-select:none;transition:all .2s}.csf-field-palette .csf--palette span{vertical-align:middle;display:inline-block;width:22px;height:60px;line-height:60px;overflow:hidden;text-indent:-999px}.csf-field-palette .csf--palette:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-palette .csf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-palette .csf--active:before{opacity:1}.csf-field-palette input{display:none}.csf-field-repeater .csf-field-text input{width:100%}.csf-field-repeater .csf-repeater-hidden{display:none!important}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item h4{font-size:1em}.csf-field-repeater .csf-repeater-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-repeater .csf-repeater-content>.csf-field{padding:15px}.csf-field-repeater .csf-repeater-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-repeater .csf-repeater-helper i{display:inline-block;cursor:pointer;color:#999;padding:5px}.csf-field-repeater .csf-repeater-helper i:hover{color:#555}.csf-field-repeater .csf-repeater-helper-inner{width:75px}.csf-field-repeater .csf-repeater-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-repeater .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-repeater .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-repeater .ui-sortable-helper .csf-repeater-content,.csf-field-repeater .ui-sortable-helper .csf-repeater-helper{display:none}.csf-field-select .csf-fieldset{min-height:30px}.csf-field-select .csf-chosen{display:none}.csf-field-select select{max-width:100%;margin:0}.csf-field-select .csf-hide-select{display:none!important}.csf-field-slider .csf--wrap{display:flex;align-items:center}.csf-field-slider .csf--input{display:flex}.csf-field-slider .csf--unit{display:flex;justify-content:center;flex-direction:column;user-select:none;padding:0 6px;font-size:11px;line-height:1;border-radius:0 4px 4px 0;color:#555;border:1px solid #7e8993;border-left:0;background-color:#f5f5f5}.csf-field-slider .csf-slider-ui{margin-right:15px}.csf-field-slider input[type=number]{position:relative;z-index:1;margin:0;width:50px;text-align:center}.csf-field-slider .csf--is-unit{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.csf-field-slider .ui-slider{position:relative;width:100%;height:3px;border:none;background:#ddd;border-radius:2px}.csf-field-slider .ui-slider-range{height:3px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle{position:absolute;width:16px;height:16px;top:-7px;margin-left:-8px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle:hover,.csf-field-slider .ui-state-active{cursor:pointer;background:#111}.csf-field-sortable .csf-field-text input{width:100%;max-width:100%}.csf-field-sortable .csf-sortable .csf-sortable-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-sortable .csf-sortable .csf-sortable-item h4{font-size:1em}.csf-field-sortable .csf-sortable-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-sortable .csf-sortable-content>.csf-field{padding:15px}.csf-field-sortable .csf-sortable-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-sortable .csf-sortable-helper i{display:inline-block;cursor:pointer;width:50px;color:#555}.csf-field-sortable .csf-sortable-helper i:hover{opacity:.5}.csf-field-sortable .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sortable .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-sortable .ui-sortable-helper .csf-sortable-content,.csf-field-sortable .ui-sortable-helper .csf-sortable-helper{display:none}.csf-field-sorter .ui-sortable-placeholder{height:20px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sorter .csf-modules{float:left;width:50%;box-sizing:border-box}.csf-field-sorter .csf-modules:first-child{padding-right:15px}.csf-field-sorter .csf-modules:last-child{padding-left:15px}.csf-field-sorter .csf-disabled,.csf-field-sorter .csf-enabled{padding:5px 15px;border:1px dashed #ddd;background-color:#fff}.csf-field-sorter .csf-disabled li{opacity:.5;transition:opacity .15s}.csf-field-sorter .csf-disabled .ui-sortable-helper{opacity:1}.csf-field-sorter .csf-sorter-title{font-size:13px;font-weight:600;padding:10px;text-align:center;border:1px dashed #ddd;border-bottom:none;background-color:#f8f8f8;text-transform:uppercase}.csf-field-sorter ul{list-style-type:none;margin:0;padding:0;min-height:62px}.csf-field-sorter ul li{margin:10px 0;padding:10px 15px;cursor:move;font-weight:700;text-align:center;border:1px solid #e5e5e5;background-color:#fafafa;transition:border-color .15s}.csf-field-sorter ul li:hover{border-color:#bbb}.csf-field-spinner .csf--spin{display:flex}.csf-field-spinner .ui-widget{font-family:inherit}.csf-field-spinner .ui-spinner{display:flex;align-items:stretch;overflow:unset;border:none;background:0 0;border-radius:0}.csf-field-spinner .ui-spinner .ui-button{display:flex;flex-direction:column;justify-content:center;text-align:center;min-width:20px;padding:0 4px;margin:0;color:#555;background-color:#f5f5f5;border:1px solid #7e8993}.csf-field-spinner .ui-spinner .ui-spinner-button{position:relative;cursor:pointer;height:auto}.csf-field-spinner .ui-spinner .ui-spinner-button:hover{background-color:#e7e7e7}.csf-field-spinner .ui-spinner .ui-spinner-button:active{background-color:#ddd}.csf-field-spinner .ui-spinner .ui-spinner-button:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;line-height:14px}.csf-field-spinner .ui-spinner .ui-spinner-down{border-right:0;border-radius:4px 0 0 4px}.csf-field-spinner .ui-spinner .ui-spinner-down:before{content:"\f0d9"}.csf-field-spinner .ui-spinner .ui-spinner-up{border-left:0;border-radius:0 4px 4px 0}.csf-field-spinner .ui-spinner .ui-spinner-up:before{content:"\f0da"}.csf-field-spinner .ui-spinner .csf--unit{border-left:0;user-select:none}.csf-field-spinner .ui-spinner .ui-button-icon,.csf-field-spinner .ui-spinner .ui-button-icon-space,.csf-field-spinner .ui-spinner .ui-button-text{display:none}.csf-field-spinner .ui-spinner input{font-family:inherit;font-size:inherit;position:relative;z-index:1;width:50px;text-align:center;margin:0;padding:0 8px;border-radius:0}.csf-field-spinner .ui-spinner-down{order:1}.csf-field-spinner .ui-spinner-input{order:2}.csf-field-spinner .csf--unit{order:3}.csf-field-spinner .ui-spinner-up{order:4}.csf-field-switcher .csf--switcher{float:left;cursor:pointer;position:relative;width:60px;height:26px;padding:0;margin:0;overflow:hidden;border-radius:4px;background-color:#ed6f6f;user-select:none;-webkit-user-select:none}.csf-field-switcher .csf--ball{position:absolute;top:4px;left:4px;width:24px;height:18px;background-color:#fff;border-radius:4px;transition:all .1s;box-shadow:1px 1px 1px rgba(0,0,0,.15)}.csf-field-switcher .csf--off,.csf-field-switcher .csf--on{position:absolute;top:0;left:0;right:0;font-size:11px;line-height:26px;font-weight:500;font-style:normal;text-align:center;text-transform:uppercase;color:#fff;padding-right:28px;opacity:0;transition:all .1s}.csf-field-switcher .csf--off{padding-right:0;padding-left:28px;opacity:1}.csf-field-switcher .csf--active{background:#4fb845}.csf-field-switcher .csf--active .csf--on{opacity:1}.csf-field-switcher .csf--active .csf--off{opacity:0}.csf-field-switcher .csf--active .csf--ball{left:100%;margin-left:-28px}.csf-field-switcher .csf--label{float:left;margin-top:4px;margin-left:8px;font-weight:400;color:#999}.csf-field-tabbed .csf-tabbed-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-tabbed .csf-tabbed-content>.csf-field{padding:15px}.csf-field-tabbed .csf-tabbed-nav .csf--icon{padding-right:5px}.csf-field-tabbed .csf-tabbed-nav a{display:inline-block;padding:12px 15px;margin-top:1px;margin-right:5px;margin-bottom:-1px;position:relative;text-decoration:none;color:#444;font-weight:600;border:1px solid #ccd0d4;background-color:#f3f3f3;transition:all .2s}.csf-field-tabbed .csf-tabbed-nav a:hover{background-color:#f9f9f9}.csf-field-tabbed .csf-tabbed-nav a.csf-tabbed-active{background-color:#fff;border-bottom-color:#fff}.csf-field-tabbed .csf-tabbed-nav a:focus{outline:0;box-shadow:none}.csf-field-text input{width:50%;max-width:100%;margin:0}.csf-field-textarea textarea{width:100%;max-width:100%;min-height:125px}.csf-field-textarea .csf-shortcode-button{margin-bottom:10px;margin-right:5px}.csf-field-typography select,.csf-field-typography textarea{margin:0;min-width:100%;max-width:100%}.csf-field-typography .csf--title{color:#777;margin:0 0 2px 0;font-size:12px}.csf-field-typography .csf--title small{vertical-align:top}.csf-field-typography .csf--blocks{display:flex;flex-wrap:wrap}.csf-field-typography .csf--block{flex:1;max-width:100%;padding-right:6px;padding-bottom:6px}.csf-field-typography .csf--input{margin:0;min-width:100%}.csf-field-typography .csf--input-wrap{position:relative}.csf-field-typography .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-typography .csf--preview{font-size:16px;line-height:20px;padding:20px;color:#222;border:1px solid #eee;background-color:#fff;border-radius:2.5px;user-select:none;-webkit-user-select:none;transition:background-color .2s,border-color .2s}.csf-field-typography .csf--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.csf-field-typography .csf--black-background{border-color:#000;background-color:#000}.csf-field-typography .csf--toggle{position:absolute;top:5px;right:10px;color:#999}.csf-field-typography .csf--block-extra-styles{margin-top:5px}.csf-field-upload input{width:100%;margin:0}.csf-field-upload .csf--wrap{display:flex;align-items:flex-start}.csf-field-upload .button{margin-left:5px}.csf-field-upload .csf--preview{position:relative}.csf-field-wp_editor .csf-wp-editor{float:left;width:100%}.csf-field-wp_editor .mce-toolbar-grp{border:none}.csf-field-wp_editor .mce-btn.mce-active button,.csf-field-wp_editor .mce-btn.mce-active i,.csf-field-wp_editor .mce-btn.mce-active:hover button,.csf-field-wp_editor .mce-btn.mce-active:hover i{color:#23282d}.csf-field-wp_editor .wp-media-buttons{position:relative;z-index:2}.csf-field-wp_editor .wp-editor-tabs{position:relative;z-index:1}.csf-field-wp_editor .csf-no-tinymce{border:1px solid #e5e5e5}.csf-field-wp_editor .csf-no-quicktags .wp-media-buttons{float:none;display:block}.csf-field-wp_editor .csf-no-quicktags .mce-tinymce{box-shadow:none;border:1px solid #e5e5e5}.csf-field-wp_editor textarea{width:100%;max-width:100%;margin:0;box-shadow:none}.csf-field-heading{font-size:1.5em;font-weight:700;color:#23282d;background-color:#f5f5f5}.csf-field-subheading{font-size:14px;font-weight:700;padding-top:17px;padding-bottom:17px;color:#23282d;background-color:#f7f7f7}.csf-field-submessage{padding:0!important;border:0!important}.csf-field-submessage+.csf-field{border-top:0!important}.csf-submessage{font-size:12px;padding:17px 30px;border-top:1px solid transparent;border-bottom:1px solid transparent}.csf-submessage-success{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.csf-submessage-info{color:#31708f;border-color:#bce8f1;background-color:#d9edf7}.csf-submessage-warning{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.csf-submessage-danger{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.csf-submessage-normal{color:#23282d;border-color:#eee;background-color:#f7f7f7}.csf-field-notice{background-color:#f7f7f7}.csf-notice{padding:12px;background-color:#fff;border-left-style:solid;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.csf-notice-success{border-color:#46b450}.csf-notice-info{border-color:#339fd4}.csf-notice-warning{border-color:#ffbc00}.csf-notice-danger{border-color:#dc3232}.csf-notice-normal{border-color:#222}.csf-field-number input{width:100%;margin:0}.csf-field-number .csf--wrap{position:relative;float:left;width:100px}.csf-field-number .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-link .csf--result{display:inline-block;font-size:12px;line-height:16px;padding:7px 10px;margin-bottom:7px;color:#777;border:1px solid #e5e5e5;background-color:#f5f5f5;border-radius:2px;world-break:break-word}.csf-field-link .csf--wrap{position:relative;float:left;width:100px}.csf-field-link .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-help{cursor:help;position:absolute;top:0;right:0;padding:5px;font-size:13px;color:#aaa}.csf-help .csf-help-text{display:none}.csf--preview{max-width:100%}.csf-image-preview{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:6px;max-width:120px;max-height:120px;min-width:40px;min-height:40px;margin-bottom:10px;text-align:center;border-radius:2px;border:1px solid #ccc;background-color:#f9f9f9;box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-image-preview i{cursor:pointer;position:absolute;z-index:1;right:4px;top:4px;font-size:14px;width:22px;height:22px;line-height:22px;text-align:center;text-decoration:none;color:#fff;background-color:#d33;opacity:.75;border-radius:2px;transition:all .2s}.csf-image-preview i:hover{opacity:1}.csf-image-preview i:focus{box-shadow:none}.csf-image-preview span{position:relative;overflow:hidden;display:flex;height:100%;width:100%}.csf-image-preview img{max-width:100%;height:auto;object-fit:contain}.csf-field-custom .csf-field{padding:0}.csf-field .chosen-container-single .chosen-single{height:28px;line-height:26px}.csf-field .chosen-container-single .chosen-single abbr{top:0;right:20px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-single .chosen-single abbr:before{content:"\f00d"}.csf-field .chosen-container-single .chosen-single abbr:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;padding-top:3px}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#555}.csf-field .chosen-container-single .chosen-single div b{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;color:#aaa;background:0 0}.csf-field .chosen-container-single .chosen-single div b:before{content:"\f107"}.csf-field .chosen-container-single .chosen-single div b:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder{border:1px dashed #aaa;margin:3px 5px 3px 0}.csf-field .chosen-container-multi .ui-sortable li.search-choice span{cursor:move}.csf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f106"}.csf-field .chosen-container-single .chosen-single-with-deselect span{margin-right:40px}.csf-field .chosen-container-single .chosen-search input[type=text]{background:0 0}.csf-field .chosen-container-single .chosen-search:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:11px;content:"\f002";position:absolute;right:12px;top:10px;color:#aaa}.csf-field .wp-picker-container{display:inline-block}.csf-field .wp-picker-container .wp-color-result.button{margin-bottom:0}.csf-field .csf--transparent-wrap{display:none;position:relative;top:-1px;width:235px;padding:9px 10px;border:1px solid #dfdfdf;border-top:none;background-color:#fff}.csf-field .wp-picker-active .csf--transparent-wrap{display:block}.csf-field .csf--transparent-slider{position:absolute;width:190px;margin-left:2px;height:18px}.csf-field .csf--transparent-slider .ui-slider-handle{position:absolute;top:-3px;bottom:-3px;z-index:5;border-color:#aaa;border-style:solid;border-width:4px 3px;width:10px;height:16px;margin:0 -5px;background:0 0;cursor:ew-resize;opacity:.9;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.csf-field .csf--transparent-slider .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.csf-field .csf--transparent-offset{height:18px;width:200px;background:url(../images/checkerboard.png) repeat-y center left scroll #fff;border-radius:2px;box-shadow:inset 0 0 5px rgba(0,0,0,.4)}.csf-field .csf--transparent-text{position:absolute;top:12px;right:10px;width:30px;font-size:12px;line-height:12px;text-align:center;color:#999}.csf-field .csf--transparent-button{cursor:pointer;user-select:none;margin-top:10px;font-size:11px;text-align:center;border-radius:2px;padding:3px 7px;box-shadow:0 1px 0 rgba(0,0,0,.1);letter-spacing:.2px;color:#777;border:1px solid #ccc;background-color:#f7f7f7;transition:background-color .2s,border-color .2s,color .2s}.csf-field .csf--transparent-active .wp-color-result{background-image:url(../images/checkerboard.png);background-size:135px;background-position:center left;background-color:transparent!important}.csf-field .csf--transparent-active .csf--transparent-button{color:#fff;border-color:#3ea032;background-color:#4fb845}.csf-field .csf--transparent-active .fa:before{content:"\f205"}.csf-widgets>.csf-field{position:relative;top:-1px;margin-left:-15px;margin-right:-15px;padding:12px 15px}.csf-widgets>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-widgets>.csf-field .csf-fieldset{float:none;width:100%}.csf-widgets .csf-field-text input{width:100%}.csf-widgets .csf-field-notice .csf-notice{padding:15px}.control-section .csf-widgets>.csf-field{margin-left:-10px;margin-right:-10px;padding:10px 12px}.wp-block .csf-widgets{font-size:13px}.wp-block .csf-widgets>.csf-field{margin-left:-10px;margin-right:-10px}.wp-block .csf-widgets>.csf-field .button-primary{color:#fff}.wp-block .csf-widgets>.csf-field>.csf-title>h4{font-size:13px}.control-section .csf-field{padding:0}.control-section .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}.control-section .csf-field .csf-title h4{display:block;font-size:13px;line-height:1;font-weight:600;color:inherit}.control-section .csf-field .csf-fieldset{float:none;width:100%}.control-section .csf-help{top:-5px;right:-5px}.control-section .csf-field-select select{width:100%}.control-section .csf-field-heading{color:inherit;font-size:14px;line-height:1em;margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-field-subheading{color:inherit;font-size:11px;margin-right:-15px;margin-left:-15px;padding:10px 15px}.control-section .csf-subtitle-text{margin-top:4px;font-size:12px}.control-section .csf-field-submessage .csf-submessage{margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-fieldset .csf-field-heading,.control-section .csf-fieldset .csf-field-subheading,.control-section .csf-fieldset .csf-field-submessage .csf-submessage{margin-left:0;margin-right:0}.control-section .csf-field-date label,.control-section .csf-field-datetime label{display:block}.control-section .csf-field-date .csf--to,.control-section .csf-field-datetime .csf--to{margin-top:4px;margin-left:0}.control-section .csf-field-sorter ul li{padding:5px}.control-section .csf-field-sorter .csf-modules{float:none;width:100%}.control-section .csf-field-sorter .csf-modules:first-child{padding-right:0;padding-bottom:15px}.control-section .csf-field-background .csf--background-attributes{flex-direction:column}.control-section .csf-field-spacing input{width:90px}.control-section .csf-field-border .csf--input{flex:1 50%}.control-section .csf-field-border input,.control-section .csf-field-border select{width:100%}.control-section .csf-field-spinner input{width:50px}.control-section .csf-field-number .csf--wrap{width:100%}.control-section .csf-field-backup .csf-export-data{display:none}.control-section .csf-field-fieldset .csf-fieldset-content{border-color:#e5e5e5}.control-section .csf-accordion-content>.csf-field,.control-section .csf-cloneable-content>.csf-field,.control-section .csf-fieldset-content>.csf-field,.control-section .csf-repeater-content>.csf-field,.control-section .csf-sortable-content>.csf-field,.control-section .csf-tabbed-content>.csf-field{padding:10px}.control-section .csf-accordion-content>.csf-field .csf-title,.control-section .csf-cloneable-content>.csf-field .csf-title,.control-section .csf-fieldset-content>.csf-field .csf-title,.control-section .csf-repeater-content>.csf-field .csf-title,.control-section .csf-sortable-content>.csf-field .csf-title,.control-section .csf-tabbed-content>.csf-field .csf-title{margin-bottom:5px}.control-section .csf-accordion-content>.csf-field h4,.control-section .csf-cloneable-content>.csf-field h4,.control-section .csf-fieldset-content>.csf-field h4,.control-section .csf-repeater-content>.csf-field h4,.control-section .csf-sortable-content>.csf-field h4,.control-section .csf-tabbed-content>.csf-field h4{font-size:12px}.control-section .csf-depend-hidden.csf-depend-on{display:none!important}.control-section .csf-depend-visible.csf-depend-on{border-top:0!important}.csf-taxonomy{max-width:95%}.csf-taxonomy>.csf-field{border-top:none!important}.csf-taxonomy>.csf-field-heading{font-size:1.1em;padding:20px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-subheading{font-size:12px;padding:15px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-submessage .csf-submessage{padding:15px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-taxonomy>.csf-field-notice{background-color:transparent}.csf-taxonomy .csf-section-title{display:block;padding:15px;background-color:#f9f9f9;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-taxonomy-add-fields>.csf-field{padding:8px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title{float:none;width:100%;padding:2px 2px 4px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title h4{font-size:12px;font-weight:400}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset>.csf-help{right:-5px}.csf-taxonomy-add-fields+p.submit{margin-top:0}.csf-taxonomy-edit-fields>.csf-field{padding:20px 0}.csf-taxonomy-edit-fields>.csf-field>.csf-title{width:200px}.csf-taxonomy-edit-fields>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset>.csf-help{top:-5px;right:-5px}.csf-taxonomy-edit-fields>.csf-field-submessage{margin:20px 0}.csf-taxonomy-edit-fields>.csf-field-heading,.csf-taxonomy-edit-fields>.csf-field-subheading{margin:20px 0;border:1px solid #ddd}.csf-nav-menu-options{clear:both;float:left;width:100%}.csf-nav-menu-options>.csf-fields{margin-left:-10px;margin-top:10px;margin-bottom:10px;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-options>.csf-fields>.csf-field{padding:12px 14px 12px 12px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-fieldset{float:none;width:100%}.csf-nav-menu-options .csf-field-text input{width:100%}.csf-nav-menu-options .csf-field-notice .csf-notice{padding:15px}.csf-nav-menu-title{padding:12px 14px 12px 12px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-title:first-child{border-top:0}.csf-nav-menu-title h4{margin:0;padding:0;color:#23282d}.csf-nav-menu-icon{margin-right:5px}.csf-profile-options>h2>.fa{padding-right:7px}.csf-profile-options>.csf-field{max-width:750px;padding:15px 0;border-top:none!important}.csf-profile-options>.csf-field>.csf-title{width:200px}.csf-profile-options>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-profile-options>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-profile-options>.csf-field>.csf-fieldset>.csf-help{top:-15px;right:-5px}.csf-profile-options>.csf-field-heading{font-size:1.1em}.csf-profile-options>.csf-field-subheading{font-size:12px}.csf-profile-options>.csf-field-heading,.csf-profile-options>.csf-field-subheading{margin:10px 0;padding:15px!important;border:1px solid #ddd}.csf-profile-options>.csf-field-submessage{margin:20px 0}.csf-profile-options>.csf-field-submessage .csf-submessage{padding:10px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-profile-options>.csf-field-notice{background-color:transparent}.csf-modal{position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.csf-modal.hidden{display:none}.csf-modal-icon{z-index:100102}.csf-modal-table{display:table;width:100%;height:100%}.csf-modal-table-cell{display:table-cell;vertical-align:middle;margin:100px 0}.csf-modal-inner{position:relative;z-index:10;width:760px;height:750px;margin:0 auto;background-color:#fff}.csf-modal-content{position:relative;overflow:hidden;overflow-y:auto;height:595px}.csf-modal-content .csf-shortcode-button{display:none}.csf-modal-content .csf-field{padding:15px 30px 15px 15px}.csf-modal-content a:active,.csf-modal-content a:focus{outline:0;box-shadow:none}.csf-modal-content h4{font-size:13px}.csf-modal-content h4 small{font-style:italic;font-weight:400;color:#aaa}.csf-modal-title{position:relative;background-color:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:16px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.csf-modal-header{width:100%;padding:14px 0;background-color:#f5f5f5;border-bottom:1px solid #ddd}.csf-modal-header select{display:block;width:250px;margin:0 auto;font-size:13px;line-height:1;height:30px;min-height:30px;background-color:#fff}.csf-modal-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}.csf-modal-close:before{font:normal 20px/36px dashicons;content:"\f158";vertical-align:top;width:36px;height:36px}.csf-modal-close:hover{opacity:.5}.csf-modal-insert-wrapper{text-align:center;width:100%;padding:15px 0;background-color:#f5f5f5;border-top:1px solid #ddd}.csf-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5}.csf--repeatable{padding:15px 15px 0 15px}.csf--repeat-button-block{text-align:center;padding-bottom:15px}.csf--repeat-shortcode{position:relative;margin-bottom:15px;border:1px dashed #ddd}.csf--repeat-shortcode:first-child .csf-repeat-remove{display:none}.csf--repeat-shortcode .csf-repeat-remove{position:absolute;right:10px;top:10px;z-index:10;cursor:pointer;display:inline-block;font-size:11px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:2px;color:#fff;background-color:#e14d43;opacity:.5}.csf--repeat-shortcode .csf-repeat-remove:hover{opacity:.5}.csf-shortcode-single .csf-modal-inner{height:750px}.csf-shortcode-single .csf-modal-content{height:652px}.elementor-editor-active .csf-shortcode-button{margin-left:5px}.elementor-editor-active .csf-modal .hidden{display:none!important}.csf-shortcode-block{text-align:center;padding:14px;font-size:13px;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.csf-shortcode-block .components-button{margin-bottom:10px}.csf-modal-icon .csf-icon-title{padding:15px 0;margin:4px;font-size:14px;font-weight:700;text-align:center;border:1px solid #eee;background-color:#f7f7f7}.csf-modal-icon .csf-modal-header{text-align:center}.csf-modal-icon .csf-icon-search{width:50%;height:40px;line-height:40px}.csf-modal-icon i{cursor:pointer;display:inline-block;margin:4px;width:35px;height:35px;line-height:35px;font-size:16px;color:#555;text-align:center;border:1px solid #ccc;background-color:#f7f7f7;border-radius:2px;box-shadow:1px 1px 0 rgba(0,0,0,.05)}.csf-modal-icon i:hover{color:#fff;border-color:#222;background-color:#222}.csf-modal-icon .csf-modal-content{padding:10px;height:618px}.csf-modal-icon .csf-error-text{padding:10px}.csf-modal-loading{display:none;position:absolute;left:15px;top:15px}.csf-loading{position:relative;width:20px;height:20px;background:#ccc;border-radius:20px;box-shadow:0 2px 5px rgba(0,0,0,.07)}.csf-loading:after{position:absolute;top:50%;left:50%;width:4px;height:4px;content:"";margin-top:-2px;margin-left:-2px;background-color:#fff;animation-duration:.5s;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:csfLoader;border-radius:4px}@keyframes csfLoader{0%{transform:rotate(0) translateX(-6px) rotate(0)}100%{transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}.csf-subtitle-text{margin-top:6px;font-weight:400;color:#999}.csf-desc-text{clear:both;float:left;width:100%;margin-top:6px;font-weight:400;color:#999}.csf-error-text{margin-top:6px;color:#d02c21}.csf-before-text{margin-bottom:6px}.csf-after-text{margin-top:6px}.csf-metabox-hide{display:none!important}.csf-metabox-show{display:block!important}.csf-depend-hidden.csf-depend-on{display:none}.csf-depend-visible.csf-depend-on{display:block;opacity:.75;filter:grayscale(1);user-select:none;border-top:1px solid #eee}.csf-depend-visible.csf-depend-on .clear:before{content:"";left:0;top:0;right:0;bottom:0;position:absolute;background-color:#eee;opacity:.25;z-index:10}.csf-warning-primary{color:#fff!important;border-color:#dc3545!important;background:#dc3545!important}.csf-warning-primary:focus,.csf-warning-primary:hover{border-color:#bd2130!important;background:#bd2130!important}.csf-warning-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #bd2130!important}.csf-warning-primary:active{border-color:#bd2130!important;background:#bd2130!important}.csf-form-result{display:none;float:left;padding:0 8px;margin-right:4px;font-size:11px;line-height:30px;user-select:none;border-radius:2px}.csf-form-show{display:block}.csf-form-success{color:#fff;background-color:#46b450}.csf-form-warning{color:#8a6d3b;background-color:#faebcc}.csf-label-error{position:relative;top:-2px;display:inline-block;font-size:10px;line-height:10px;height:10px;width:10px;padding:1px;font-style:normal;text-align:center;color:#fff;vertical-align:middle;background-color:#e10000;border-radius:2px}.csf-no-option{padding:30px}.csf-input-number{-moz-appearance:textfield}.csf-input-number::-webkit-inner-spin-button,.csf-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.csf-fa5-shims .csf .fab,.csf-fa5-shims .csf .far,.csf-fa5-shims .csf .fas{font-family:FontAwesome;font-style:normal}.csf-welcome-wrap{position:relative;margin:25px 40px 0 20px;font-size:15px;max-width:1200px}.csf-welcome-wrap p{font-size:14px;line-height:1.5}.csf-welcome-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.csf-welcome-wrap .csf-logo{position:absolute;overflow:hidden;top:0;right:0;height:160px;width:140px;background-image:linear-gradient(45deg,#2d67cb,#ad19f3);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 0 0 0 4px rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--effects i{position:absolute;width:200px;height:100px;background-color:rgba(0,0,0,.15);transform:rotate(-45deg)}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(1){bottom:-20px;right:-70px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(2){bottom:-35px;right:-80px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(3){bottom:-50px;right:-90px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(4){bottom:-65px;right:-100px}.csf-welcome-wrap .csf-logo .csf--wp-logos{position:relative;padding-top:25px;text-align:center}.csf-welcome-wrap .csf-logo .csf--wp-logo{position:absolute;left:20px;width:20px;height:20px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-logo.svg)}.csf-welcome-wrap .csf-logo .csf--wp-plugin-logo{display:inline-block;width:50px;height:50px;border:3px solid #fff;background-size:40px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-plugin-logo.svg);border-radius:100%;vertical-align:middle}.csf-welcome-wrap .csf-logo .csf--text{position:absolute;left:0;right:0;top:90px;color:#fff;font-size:13px;line-height:1.2em;font-weight:600;text-align:center;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--version{top:auto;left:auto;right:8px;bottom:4px;font-size:11px;text-transform:lowercase}.csf-welcome-wrap .csf-about-text{font-weight:400;line-height:1.6em;font-size:19px;margin:1em 200px 1em 0;color:#555d66}.csf-welcome-wrap .csf-demo-button{margin:1em 200px 2em 0}.csf-welcome-wrap .nav-tab-wrapper{margin-bottom:20px}.csf-welcome-wrap ul{list-style-type:disc;padding-left:15px}.csf-welcome-wrap .csf--col{float:left;padding-right:20px;box-sizing:border-box}.csf-welcome-wrap .csf--col-2{width:50%}.csf-welcome-wrap .csf--col-3{width:33.333%}.csf-welcome-wrap .csf--col-4{width:25%}.csf-welcome-wrap .csf--col-5{width:20%}.csf-welcome-wrap .csf--col-last{padding-right:0}.csf-welcome-wrap .csf--col-upgrade{padding:10px 0;text-align:center;border-top:1px solid #e5e5e5}.csf--table-compare tfoot td,.csf--table-compare thead td{text-align:center}.csf--table-compare td{font-size:14px;text-align:center;vertical-align:middle;padding:10px}.csf--table-compare td:first-child{text-align:left}.csf--table-compare tfoot td{padding:15px 0}.csf--table-compare .fa{font-size:18px}.csf--table-compare .fa-check-circle{color:#46b450}.csf--table-compare .fa-times-circle{color:#dc3232}.csf-welcome-cols{clear:both;margin:20px 0;background-color:#fff;padding:0 0;border-radius:2px;border:1px solid #e5e5e5}.csf-welcome-cols .csf--col{width:33.333%;float:left;padding:20px;text-align:center;box-sizing:border-box;min-height:200px;border-right:1px solid #e5e5e5}.csf-welcome-cols .csf--block,.csf-welcome-cols .csf--left{float:left;width:20%;padding:0 30px;text-align:center;box-sizing:border-box}.csf-welcome-cols .csf--block{width:80%}.csf-welcome-cols .csf--col-first{border-bottom:1px solid #e5e5e5}.csf-welcome-cols .csf--last{border-right:none}.csf-welcome-cols .csf--space{height:20px}.csf-welcome-cols .csf--icon{display:inline-block;font-size:20px;width:30px;height:30px;line-height:30px;text-align:center;margin-bottom:10px;color:#fff;background-color:#555;border-radius:30px}.csf-welcome-cols .csf--active{background-color:#5cb85c}.csf-welcome-cols .csf--deactive{background-color:#e14d43}.csf-welcome-cols .csf--title{font-weight:700;display:block}.csf-welcome-cols p:last-child{margin-bottom:0}.csf-features-cols .csf--key-features{width:30%}.csf-features-cols .csf--available-fields{width:70%}.csf-code-block{margin:20px 0;padding:5px 20px;background-color:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.csf-code-block pre{font-size:13px;color:#0073aa}.csf-code-block pre span{color:#999}.csf--table-fields td{font-size:14px}.csf--upgrade a{color:#5cb85c;font-weight:700}.csf--upgrade a:focus,.csf--upgrade a:hover{color:#4aa14a;outline:0;box-shadow:none}@media only screen and (max-width:782px){.csf-welcome-cols .csf--col{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e5e5e5}.csf-features-cols .csf--key-features{width:100%}.csf-features-cols .csf--available-fields{width:100%}}@media only screen and (max-width:1200px){.csf-metabox .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-metabox .csf-field .csf-fieldset{float:none;width:100%}}@media only screen and (max-width:782px){.csf-header-inner{text-align:center}.csf-header-inner h1{width:100%;margin-bottom:10px}.csf-form-result{float:none;margin-right:0;margin-bottom:10px}.csf-header-left,.csf-header-right,.csf-search{width:100%}.csf-search{text-align:center;margin-bottom:15px}.csf-footer{text-align:center}.csf-buttons{float:none}.csf-copyright{float:none;margin-top:10px}.csf-expand-all,.csf-nav,.csf-nav-background,.csf-reset-section{display:none!important}.csf-nav-normal+.csf-content{margin-left:0}.csf-section,.csf-section-title{display:block!important}.csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-field .csf-fieldset{float:none;width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;line-height:2.14285714;min-height:32px}.csf-profile-options>.csf-field>.csf-title,.csf-taxonomy-edit-fields>.csf-field>.csf-title{float:none;width:100%;margin-bottom:10px}.csf-profile-options>.csf-field>.csf-fieldset,.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-nav-menu-options>.csf-fields{margin-left:-10px;margin-right:-10px}.csf-nav-menu-options>.csf-fields>.csf-field{padding:10px}}@media only screen and (max-width:782px){.csf-modal .csf-modal-inner{width:90%}}@media only screen and (max-height:750px){.csf-modal .csf-modal-inner{height:auto}.csf-modal .csf-modal-content{height:calc(100vh - 200px)}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;user-select:none}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15);clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container.chosen-with-drop .chosen-drop{clip:auto;clip-path:none}.chosen-container a{cursor:pointer}.chosen-container .chosen-single .group-name,.chosen-container .search-choice .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .chosen-single .group-name:after,.chosen-container .search-choice .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;font-size:1px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto;border:1px solid #aaa;background-color:#fff;background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;width:25px;height:25px;min-height:25px}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 6px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:0;right:0;display:block;width:12px;height:12px;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;direction:rtl}.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
\ No newline at end of file
diff --git a/assets/images/checkerboard.png b/assets/images/checkerboard.png
new file mode 100644
index 0000000000000000000000000000000000000000..f97dade073e8e42bc2f7631cbee0203ab0cc95be
GIT binary patch
literal 2340
zcmaJ@dpuNmAD+;>ZlR(@-a1ZLHI2EL5yMO~%m^7KY{a`VGv^qS=3?f^V3C@Yq_q|;
ztu6|++l^vtT`RX(C6}cT$(DDMOQj;-?9rxu|9E@P=bZDqe4gj|e!su(^T+QX&u7ar
zU2|Ow2D8l5gYAcox6p5eHWvM_`A=pKI+!7xAjDr5j>Pa4Fop%m1Tf$!;fr8Dm=DE9
zHN!3#j3y`!2ttCm-ZY_1V#i;=*r_CPl#Ri-Y*xwn!blha1h7afrGpcdwICpd=wKj~
zOXSMk;0UotoC5Zb^9c~fMGBoDa5DpNQPEHV35@Uom1MV6NmJ3m_qsH6zOYRIf%gz3
zk`DfrR1lX3xXBbSK(({S3yCBW;NW0KqEHxY^C-pvX
zp-<;R{v?-xCPP?g?0+?SaSL_N!t|qU(ZxsO!&21k3e?u~qjQ58%+g#>HY-5Ydp=}h
zOEk-9z{xr@mBD7O1wn9yXHs0Y2b(=*dCGA4^2}TGw!Z4#(fn#>`?mbq#;CT82lwwk
zn0eK@TalRfO?Jn$7f7z2pFQ?3kw`Q=^7CtaZDmyz`^m+Aq=L@bPuZfu%GfwRv70}U;kPs>(ZX$H&PSM-%U-sX-SE9R31CKO|D|2#8wqidYPDo1nehxD4WNh8Kl^Q$V(K_h=@(s{DpXF2e
zV$HEVXYU$|ECOl@PU1`wTWYAsd1bhn3(x(ALpBVS*YKvjTP)Z+HeIN0x=LMZ8?U>6
zu=i+AdxvH&-_;h%99Rvn6;$bFbd`74iWE<5z<_DWElyTQy!bZoqXGB
zQ;i`r4T+l{b4h{e+QyQCYX=H=r))JNBdQXN6a$Z1zubp?5d22`LwkhPmrD-@0gZ~A
zM(#R6VQuzB$*Z$HMsMB~YK5#!pC7_AgQ6YxeO5jPbaw?uTAtp2G^)cT&(=LFXKY|v
zPfyR*gsmO3Y8$Y=EOcd@srhF1UNzFLt=@Zn6J)%a9dSdYiPvY}%~hotG+nXkc&I~i
z2fG8awKcq~faG6%XM0>c$dsJuqE+w0`Y&Exe>~cF#O%&JUVnwn$@WPbK`K+7I`H<2
zSH8Aev%rg#ZlYaR{B@YvAU{~|SM|fnp8#TNT=#AdN2~hcSg#w`;!JODFkt@nBqhw^
z;%)lV+hJCgrv{AGU-)XetOg(HpSLBoK7a!f44+K`n9$zCXvvXUftE!y|Qdb>@fH
z9ILFXl=35sdDO((+S;ACilRFSvy+oNoW|>akByK2#Hsvherl=dbCpd+
zE1VWGQL3-@FnVG!xsh_<_Z)j*}mbnG9NH=q`=iXw3r3Zpd+OF(qurebaG3us0
z?XK=s=iE8mz3!BmZKO2w*$J&uFRi=l{wO!VV$a6+YduPE1Xe;DTQnwqFU+_w6&}z`
zI-npoIQU*Co+0XGZWH9>>O|3trY4W*Q}z;#PjB}NgYHwZxlGHdva`1P@{N~e6epYM
zSwktFPmJOWC+(T>5sy!BvwmfAI#uWRBy2nxIQFW`yV%R(^sa<+8@Todc;s%iNf4Ij
z9&4;wcxO(BYM@978B<4P>^te>@)i38dj%zB)U)`$BRU1JuuMAWN6x5&1oFNwIr0zDvLSF^Vfh=75l7Yhw+U*E#|33=UUFjD3ue-QJ
zk)%Nm*ksfnn|t-5Z^gZhdL>&7w8<@}O^R}9Sz2nB?=a6@LoA`aOGcMpXK3{t9Addx
zY;0zHdoHfrhM68+B!Ip-?`e1g%=B_l9!Y(E1SrwbAA<1tG05@T2JTD!vD%8?)tBGM
zR+u+-l8b>6N&B`8TWaz(;}o#jB2PEU)r#N@s+mB8&yNN-)<28V!58p%B-pHeT$DPp
wWL!T5@+C#^tFHC{-Knnx>Fqz1&3t|x<5%D1vGxnx?83dpljFm_=o+@~Pr_T#R{#J2
literal 0
HcmV?d00001
diff --git a/assets/images/wp-logo.svg b/assets/images/wp-logo.svg
new file mode 100644
index 0000000..a415fd6
--- /dev/null
+++ b/assets/images/wp-logo.svg
@@ -0,0 +1 @@
+
diff --git a/assets/images/wp-plugin-logo.svg b/assets/images/wp-plugin-logo.svg
new file mode 100644
index 0000000..967f446
--- /dev/null
+++ b/assets/images/wp-plugin-logo.svg
@@ -0,0 +1 @@
+
diff --git a/assets/js/main.min.js b/assets/js/main.min.js
new file mode 100644
index 0000000..854393d
--- /dev/null
+++ b/assets/js/main.min.js
@@ -0,0 +1,3 @@
+/* Codestar Framework | A Simple and Lightweight WordPress Option Framework - v2.2.6*/
+
+!function(I,_,b,y){"use strict";var T=T||{};T.funcs={},T.vars={onloaded:!1,$body:I("body"),$window:I(_),$document:I(b),$form_warning:null,is_confirm:!1,form_modified:!1,code_themes:[],is_rtl:I("body").hasClass("rtl")},T.helper={uid:function(e){return(e||"")+Math.random().toString(36).substr(2,9)},preg_quote:function(e){return(e+"").replace(/(\[|\])/g,"\\$1")},name_nested_replace:function(e,t){var n=new RegExp(T.helper.preg_quote(t+"[\\d+]"),"g");e.find(":radio").each(function(){(this.checked||this.orginal_checked)&&(this.orginal_checked=!0)}),e.each(function(e){I(this).find(":input").each(function(){this.name=this.name.replace(n,t+"["+e+"]"),this.orginal_checked&&(this.checked=!0)})})},debounce:function(i,s,a){var c;return function(){var e=this,t=arguments,n=a&&!c;clearTimeout(c),c=setTimeout(function(){c=null,a||i.apply(e,t)},s),n&&i.apply(e,t)}}},I.fn.csf_clone=function(){for(var e=I.fn.clone.apply(this,arguments),t=this.find("select").add(this.filter("select")),n=e.find("select").add(e.filter("select")),i=0;i .csf-field:not(.csf-depend-on)"),i=t.find("> .csf-title, .csf-search-tags");3");I("#csf-codemirror-css").after(e),e.attr({rel:"stylesheet",id:"csf-codemirror-"+s.theme+"-css",href:s.cdnURL+"/theme/"+s.theme+".min.css",type:"text/css",media:"all"}),T.vars.code_themes.push(s.theme)}CodeMirror.modeURL=s.cdnURL+"/mode/%N/%N.min.js",CodeMirror.autoLoadMode(n,s.mode),n.on("change",function(e,t){i.val(n.getValue()).trigger("change")}),clearInterval(a)}})}})},I.fn.csf_field_date=function(){return this.each(function(){var e=I(this),i=e.find("input"),s=e.find(".csf-date-settings").data("settings"),t={showAnim:"",beforeShow:function(e,t){I(t.dpDiv).addClass("csf-datepicker-wrapper")},onClose:function(e,t){I(t.dpDiv).removeClass("csf-datepicker-wrapper")}};s=I.extend({},s,t),2===i.length&&(s=I.extend({},s,{onSelect:function(e){I(this),i.first();var t=i.first().attr("id")===I(this).attr("id")?"minDate":"maxDate",n=I.datepicker.parseDate(s.dateFormat,e);i.not(this).datepicker("option",t,n)}})),i.each(function(){var e=I(this);e.hasClass("hasDatepicker")&&e.removeAttr("id").removeClass("hasDatepicker"),e.datepicker(s)})})},I.fn.csf_field_datetime=function(){return this.each(function(){var e=I(this),i=e.find("input"),t=e.find(".csf-datetime-settings").data("settings");t=I.extend({},t,{onReady:function(e,t,n){I(n.calendarContainer).addClass("csf-flatpickr")}}),2===i.length&&(t=I.extend({},t,{onChange:function(e,t,n){"from"===I(n.element).data("type")?i.last().get(0)._flatpickr.set("minDate",e[0]):i.first().get(0)._flatpickr.set("maxDate",e[0])}})),i.each(function(){I(this).flatpickr(t)})})},I.fn.csf_field_fieldset=function(){return this.each(function(){I(this).find(".csf-fieldset-content").csf_reload_script()})},I.fn.csf_field_gallery=function(){return this.each(function(){var a,e=I(this),c=e.find(".csf-edit-gallery"),r=e.find(".csf-clear-gallery"),o=e.find("ul"),f=e.find("input");e.find("img");e.on("click",".csf-button, .csf-edit-gallery",function(e){var t=I(this),n=f.val(),i=t.hasClass("csf-edit-gallery")?"edit":"add",s="add"!==i||n.length?"gallery-edit":"gallery";e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&("gallery"===s?(a=_.wp.media({library:{type:"image"},frame:"post",state:"gallery",multiple:!0})).open():(a=_.wp.media.gallery.edit('[gallery ids="'+n+'"]'),"add"===i&&a.setState("gallery-library")),a.on("update",function(e){o.empty();var t=e.models.map(function(e){var t=e.toJSON(),n=t.sizes&&t.sizes.thumbnail&&t.sizes.thumbnail.url?t.sizes.thumbnail.url:t.url;return o.append(' '),t.id});f.val(t.join(",")).trigger("change"),r.removeClass("hidden"),c.removeClass("hidden")}))}),r.on("click",function(e){e.preventDefault(),o.empty(),f.val("").trigger("change"),r.addClass("hidden"),c.addClass("hidden")})})},I.fn.csf_field_group=function(){return this.each(function(){var e=I(this),t=e.children(".csf-fieldset"),n=t.length?t:e,r=n.children(".csf-cloneable-wrapper"),i=n.children(".csf-cloneable-hidden"),o=n.children(".csf-cloneable-max"),f=n.children(".csf-cloneable-min"),l=r.data("field-id"),d=Boolean(Number(r.data("title-number"))),h=parseInt(r.data("max")),s=parseInt(r.data("min"));r.hasClass("ui-accordion")&&r.find(".ui-accordion-header-icon").remove();var p=function(e){e.find(".csf-cloneable-title-number").each(function(e){I(this).html(I(this).closest(".csf-cloneable-item").index()+1+".")})};r.accordion({header:"> .csf-cloneable-item > .csf-cloneable-title",collapsible:!0,active:!1,animate:!1,heightStyle:"content",icons:{header:"csf-cloneable-header-icon fas fa-angle-right",activeHeader:"csf-cloneable-header-icon fas fa-angle-down"},activate:function(e,t){var n=t.newPanel,i=t.newHeader;if(n.length&&!n.data("opened")){var s=n.children().first().find(":input").first(),a=i.find(".csf-cloneable-value");s.on("change keyup",function(e){a.text(s.val())}),n.csf_reload_script(),n.data("opened",!0),n.data("retry",!1)}else n.data("retry")&&(n.csf_reload_script_retry(),n.data("retry",!1))}}),r.sortable({axis:"y",handle:".csf-cloneable-title,.csf-cloneable-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",start:function(e,t){r.accordion({active:!1}),r.sortable("refreshPositions"),t.item.children(".csf-cloneable-content").data("retry",!0)},update:function(e,t){T.helper.name_nested_replace(r.children(".csf-cloneable-item"),l),r.csf_customizer_refresh(),d&&p(r)}}),n.children(".csf-cloneable-add").on("click",function(e){e.preventDefault();var t=r.children(".csf-cloneable-item").length;if(f.hide(),h&&h ');c.append(i),c.append(s),c.append(a),r.children().eq(n.index()).after(c),T.helper.name_nested_replace(r.children(".csf-cloneable-item"),l),r.accordion("refresh"),r.csf_customizer_refresh(),r.csf_customizer_listen({closest:!0}),d&&p(r)}};r.children(".csf-cloneable-item").children(".csf-cloneable-helper").on("click",".csf-cloneable-clone",a),n.children(".csf-cloneable-hidden").children(".csf-cloneable-helper").on("click",".csf-cloneable-clone",a);var c=function(e){e.preventDefault();var t=r.children(".csf-cloneable-item").length;o.hide(),f.hide(),s&&t-1OpenStreetMap contributors'}).addTo(r);var o=L.marker(c.center,{draggable:!0}).addTo(r),f=function(e){i.val(e.lat),s.val(e.lng),a.val(r.getZoom())};r.on("click",function(e){o.setLatLng(e.latlng),f(e.latlng)}),r.on("zoom",function(){f(o.getLatLng())}),o.on("drag",function(){f(o.getLatLng())}),n.length||(n=I('[data-depend-id="'+e.find(".csf--address-field").data("address-field")+'"]'));var l={};n.autocomplete({source:function(e,n){var i=e.term;i in l?n(l[i]):I.get("https://nominatim.openstreetmap.org/search",{format:"json",q:i},function(e){var t;t=e.length?e.map(function(e){return{value:e.display_name,label:e.display_name,lat:e.lat,lon:e.lon}},"json"):[{value:"no-data",label:"No Results."}],l[i]=t,n(t)})},select:function(e,t){if("no-data"===t.item.value)return!1;var n=L.latLng(t.item.lat,t.item.lon);r.panTo(n),o.setLatLng(n),f(n)},create:function(e,t){I(this).autocomplete("widget").addClass("csf-map-ui-autocomplate")}});var d=function(){var e=L.latLng(i.val(),s.val());r.panTo(e),o.setLatLng(e)};i.on("change",d),s.on("change",d)}})},I.fn.csf_field_link=function(){return this.each(function(){var s=I(this),e=s.find(".csf--link"),a=s.find(".csf--add"),c=s.find(".csf--edit"),r=s.find(".csf--remove"),o=s.find(".csf--result"),t=T.helper.uid("csf-wplink-textarea-");a.on("click",function(e){e.preventDefault(),_.wpLink.open(t)}),c.on("click",function(e){e.preventDefault(),a.trigger("click"),I("#wp-link-url").val(s.find(".csf--url").val()),I("#wp-link-text").val(s.find(".csf--text").val()),I("#wp-link-target").prop("checked","_blank"===s.find(".csf--target").val())}),r.on("click",function(e){e.preventDefault(),s.find(".csf--url").val("").trigger("change"),s.find(".csf--text").val(""),s.find(".csf--target").val(""),a.removeClass("hidden"),c.addClass("hidden"),r.addClass("hidden"),o.parent().addClass("hidden")}),e.attr("id",t).on("change",function(){var e=_.wpLink.getAttrs(),t=e.href,n=I("#wp-link-text").val(),i=e.target?e.target:"";s.find(".csf--url").val(t).trigger("change"),s.find(".csf--text").val(n),s.find(".csf--target").val(i),o.html('{url:"'+t+'", text:"'+n+'", target:"'+i+'"}'),a.addClass("hidden"),c.removeClass("hidden"),r.removeClass("hidden"),o.parent().removeClass("hidden")})})},I.fn.csf_field_media=function(){return this.each(function(){var i,s=I(this),a=s.find(".csf--button"),c=s.find(".csf--remove"),r=a.data("library")&&a.data("library").split(",")||"",o=!!s.hasClass("csf-assign-field-background")&&s.closest(".csf-field-background").find(".csf--auto-attributes");a.on("click",function(e){e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&(i||(i=_.wp.media({library:{type:r}})).on("select",function(){var e,t=i.state().get("selection").first().attributes,n=a.data("preview-size")||"thumbnail";r.length&&-1===r.indexOf(t.subtype)&&-1===r.indexOf(t.type)||(s.find(".csf--id").val(t.id),s.find(".csf--width").val(t.width),s.find(".csf--height").val(t.height),s.find(".csf--alt").val(t.alt),s.find(".csf--title").val(t.title),s.find(".csf--description").val(t.description),e=void 0!==t.sizes&&void 0!==t.sizes.thumbnail&&"thumbnail"===n?t.sizes.thumbnail.url:void 0!==t.sizes&&void 0!==t.sizes.full?t.sizes.full.url:"image"===t.type?t.url:t.icon,console.log(t),o&&o.removeClass("csf--attributes-hidden"),c.removeClass("hidden"),s.find(".csf--preview").removeClass("hidden"),s.find(".csf--src").attr("src",e),s.find(".csf--thumbnail").val(e),s.find(".csf--url").val(t.url).trigger("change"))}),i.open())}),c.on("click",function(e){e.preventDefault(),o&&o.addClass("csf--attributes-hidden"),c.addClass("hidden"),s.find("input").val(""),s.find(".csf--preview").addClass("hidden"),s.find(".csf--url").trigger("change")})})},I.fn.csf_field_repeater=function(){return this.each(function(){var e=I(this),t=e.children(".csf-fieldset"),n=t.length?t:e,c=n.children(".csf-repeater-wrapper"),i=n.children(".csf-repeater-hidden"),r=n.children(".csf-repeater-max"),o=n.children(".csf-repeater-min"),f=c.data("field-id"),l=parseInt(c.data("max")),s=parseInt(c.data("min"));c.children(".csf-repeater-item").children(".csf-repeater-content").csf_reload_script(),c.sortable({axis:"y",handle:".csf-repeater-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(e,t){T.helper.name_nested_replace(c.children(".csf-repeater-item"),f),c.csf_customizer_refresh(),t.item.csf_reload_script_retry()}}),n.children(".csf-repeater-add").on("click",function(e){e.preventDefault();var t=c.children(".csf-repeater-item").length;if(o.hide(),l&&l ');a.append(i),a.append(s),c.children().eq(n.index()).after(a),a.children(".csf-repeater-content").csf_reload_script(),T.helper.name_nested_replace(c.children(".csf-repeater-item"),f),c.csf_customizer_refresh(),c.csf_customizer_listen({closest:!0})}};c.children(".csf-repeater-item").children(".csf-repeater-helper").on("click",".csf-repeater-clone",a),n.children(".csf-repeater-hidden").children(".csf-repeater-helper").on("click",".csf-repeater-clone",a);var d=function(e){e.preventDefault();var t=c.children(".csf-repeater-item").length;r.hide(),o.hide(),s&&t-1'+i.unit+"")},spin:function(e,t){n.val(t.value).trigger("change")}})})},I.fn.csf_field_switcher=function(){return this.each(function(){var n=I(this).find(".csf--switcher");n.on("click",function(){var e=0,t=n.find("input");n.hasClass("csf--active")?n.removeClass("csf--active"):(e=1,n.addClass("csf--active")),t.val(e).trigger("change")})})},I.fn.csf_field_tabbed=function(){return this.each(function(){var e=I(this),t=e.find(".csf-tabbed-nav a"),s=e.find(".csf-tabbed-content");s.eq(0).csf_reload_script(),t.on("click",function(e){e.preventDefault();var t=I(this),n=t.index(),i=s.eq(n);t.addClass("csf-tabbed-active").siblings().removeClass("csf-tabbed-active"),i.csf_reload_script(),i.removeClass("hidden").siblings().addClass("hidden")})})},I.fn.csf_field_typography=function(){return this.each(function(){var j=this,L=I(this),i=[],A=csf_typography_json.webfonts,t=csf_typography_json.googlestyles,q=csf_typography_json.defaultstyles;j.sanitize_subset=function(e){return e=(e=e.replace("-ext"," Extended")).charAt(0).toUpperCase()+e.slice(1)},j.sanitize_style=function(e){return t[e]?t[e]:e},j.load_google_font=function(e,t,n){e&&"object"==typeof WebFont&&(t=t?t.replace("normal",""):"",n=n?n.replace("normal",""):"",(t||n)&&(e=e+":"+t+n),-1===i.indexOf(e)&&WebFont.load({google:{families:[e]}}),i.push(e))},j.append_select_options=function(e,t,s,a,c){e.find("option").not(":first").remove();var r="";I.each(t,function(e,t){var n,i=t;n=c?s&&-1!==s.indexOf(t)?" selected":"":s&&s===t?" selected":"","subset"===a?i=j.sanitize_subset(t):"style"===a&&(i=j.sanitize_style(t)),r+='"+i+" "}),e.append(r).trigger("csf.change").trigger("chosen:updated")},j.init=function(){var l=[],e=L.find(".csf--typography"),d=L.find(".csf--type"),h=L.find(".csf--block-font-style"),v=e.data("unit"),g=e.data("line-height-unit"),t=e.data("exclude")?e.data("exclude").split(","):[];L.find(".csf--chosen").length&&L.find("select").each(function(){var e=I(this),t=e.parent().find(".chosen-container");t.length&&t.remove(),e.chosen({allow_single_deselect:!0,disable_search_threshold:15,width:"100%"})});var m=L.find(".csf--font-family"),i=m.val();m.find("option").not(":first-child").remove();var s="";I.each(A,function(n,e){t&&-1!==t.indexOf(n)||(s+='',I.each(e.fonts,function(e,t){s+='"+t+" "}),s+=" ")}),m.append(s).trigger("chosen:updated");var p=L.find(".csf--block-font-style");if(p.length){var u=L.find(".csf--font-style-select"),_=u.val()?u.val().replace(/normal/g,""):"";u.on("change csf.change",function(e){var t=u.val();!t&&l&&-1===l.indexOf("normal")&&(t=l[0]);var n=t&&"italic"!==t&&"normal"===t?"normal":"",i=t&&"italic"!==t&&"normal"!==t?t.replace("italic",""):n,s=t&&"italic"===t.substr(-6)?"italic":"";L.find(".csf--font-weight").val(i),L.find(".csf--font-style").val(s)});var b=L.find(".csf--block-extra-styles");if(b.length)var y=L.find(".csf--extra-styles"),w=y.val()}var C=L.find(".csf--block-subset");if(C.length)var k=L.find(".csf--subset"),x=k.val(),z=k.data("multiple")||!1;var D=L.find(".csf--block-backup-font-family");m.on("change csf.change",function(e){C.length&&C.addClass("hidden"),b.length&&b.addClass("hidden"),D.length&&D.addClass("hidden");var t=m.find(":selected"),n=t.val(),i=t.data("type");if(i&&n){if("google"!==i&&"custom"!==i||!D.length||D.removeClass("hidden"),p.length){var s=q;"google"===i&&A[i].fonts[n][0]?s=A[i].fonts[n][0]:"custom"===i&&A[i].fonts[n]&&(s=A[i].fonts[n]);var a=-1!==(l=s).indexOf("normal")?"normal":s[0],c=_&&-1!==s.indexOf(_)?_:a;j.append_select_options(u,s,c,"style"),_=!1,p.removeClass("hidden"),"google"===i&&b.length&&1'+t+"
"),i.find(".csf-error").length||i.append(a),s.find(".csf-arrow .csf-error").length||s.find(".csf-arrow").append(a)})}r.removeClass("csf-saving"),c.prop("disabled",!1).attr("value",n),o=!1,T.vars.form_modified=!1,T.vars.$form_warning.hide(),clearTimeout(i);var t=I(".csf-form-success");t.empty().append(e.notice).fadeIn("fast",function(){i=setTimeout(function(){t.fadeOut("fast")},1e3)})}).fail(function(e){alert(e.error)})):T.vars.form_modified=!1}o=!0})})},I.fn.csf_options=function(){return this.each(function(){var e=I(this),t=e.find(".csf-content"),n=e.find(".csf-form-success"),i=e.find(".csf-form-warning"),s=e.find(".csf-header .csf-save");(T.vars.$form_warning=i).length&&(_.onbeforeunload=function(){return!!T.vars.form_modified||y},t.on("change keypress",":input",function(){T.vars.form_modified||(n.hide(),i.fadeIn("fast"),T.vars.form_modified=!0)})),n.hasClass("csf-form-show")&&setTimeout(function(){n.fadeOut("fast")},1e3),I(b).keydown(function(e){if((e.ctrlKey||e.metaKey)&&83===e.which)return s.trigger("click"),e.preventDefault(),!1})})},I.fn.csf_taxonomy=function(){return this.each(function(){var e=I(this),t=e.parents("form");if("addtag"===t.attr("id")){var n=t.find("#submit"),i=e.find(".csf-field").csf_clone();n.on("click",function(){t.find(".form-required").hasClass("form-invalid")||(e.data("inited",!1),e.empty(),e.html(i),i=i.csf_clone(),e.csf_reload_script())})}})},I.fn.csf_shortcode=function(){var m=this;return m.shortcode_parse=function(e,n){var i="";return I.each(e,function(e,t){i+="["+(n=n||e),I.each(t,function(e,t){"content"===e?(i+="]",i+=t,i+="[/"+n):i+=m.shortcode_tags(e,t)}),i+="]"}),i},m.shortcode_tags=function(e,t){var n="";return""!==t&&("object"!=typeof t||I.isArray(t)?n+=" "+e.replace("-","_")+'="'+t.toString()+'"':I.each(t,function(e,t){switch(e){case"background-image":t=t.url?t.url:""}""!==t&&(n+=" "+e.replace("-","_")+'="'+t.toString()+'"')})),n},m.insertAtChars=function(e,t){var n=void 0!==e[0].name?e[0]:e;return n.value.length&&void 0!==n.selectionStart?(n.focus(),n.value.substring(0,n.selectionStart)+t+n.value.substring(n.selectionEnd,n.value.length)):(n.focus(),t)},m.send_to_editor=function(e,t){var n;if("undefined"!=typeof tinymce&&(n=tinymce.get(t)),n&&!n.isHidden())n.execCommand("mceInsertContent",!1,e);else{var i=I("#"+t);i.val(m.insertAtChars(i,e)).trigger("change")}},this.each(function(){var c,r,o,n,f,l,d,s,h,p=I(this),i=p.find(".csf-modal-load"),u=(p.find(".csf-modal-content"),p.find(".csf-modal-insert")),a=p.find(".csf-modal-loading"),t=p.find("select"),v=p.data("modal-id"),g=p.data("nonce");I(b).on("click",'.csf-shortcode-button[data-modal-id="'+v+'"]',function(e){e.preventDefault(),h=I(this),c=h.data("editor-id")||!1,r=h.data("target-id")||!1,o=h.data("gutenberg-id")||!1,p.removeClass("hidden"),p.hasClass("csf-shortcode-single")&&f===y&&t.trigger("change")}),t.on("change",function(){var e=I(this),t=e.find(":selected");n=e.val(),f=t.data("shortcode"),l=t.data("view")||"normal",d=t.data("group")||f,i.empty(),n?(a.show(),_.wp.ajax.post("csf-get-shortcode-"+v,{shortcode_key:n,nonce:g}).done(function(e){a.hide();var t=I(e.content).appendTo(i);u.parent().removeClass("hidden"),s=t.find(".csf--repeat-shortcode").csf_clone(),t.csf_reload_script(),t.find(".csf-fields").csf_reload_script()})):u.parent().addClass("hidden")}),u.on("click",function(e){if(e.preventDefault(),!u.prop("disabled")&&!u.attr("disabled")){var i="",t=p.find(".csf-field:not(.csf-depend-on)").find(":input:not(.ignore)").serializeObjectCSF();switch(l){case"contents":var n=f?t[f]:t;I.each(n,function(e,t){var n=f||e;i+="["+n+"]"+t+"[/"+n+"]"});break;case"group":i+="["+f,I.each(t[f],function(e,t){i+=m.shortcode_tags(e,t)}),i+="]",i+=m.shortcode_parse(t[d],d),i+="[/"+f+"]";break;case"repeater":i+=m.shortcode_parse(t[d],d);break;default:i+=m.shortcode_parse(t)}if(i=""===i?"["+f+"]":i,o){var s=_.csf_gutenberg_props.attributes.hasOwnProperty("shortcode")?_.csf_gutenberg_props.attributes.shortcode:"";_.csf_gutenberg_props.setAttributes({shortcode:s+i})}else if(c)m.send_to_editor(i,c);else{var a=r?I(r):h.parent().find("textarea");a.val(m.insertAtChars(a,i)).trigger("change")}p.addClass("hidden")}}),p.on("click",".csf--repeat-button",function(e){e.preventDefault();var t=p.find(".csf--repeatable"),n=s.csf_clone(),i=n.find(".csf-repeat-remove");n.appendTo(t);n.find(".csf-fields").csf_reload_script(),T.helper.name_nested_replace(p.find(".csf--repeat-shortcode"),d),i.on("click",function(){n.remove(),T.helper.name_nested_replace(p.find(".csf--repeat-shortcode"),d)})}),p.on("click",".csf-modal-close, .csf-modal-overlay",function(){p.addClass("hidden")})})},"function"==typeof Color&&(Color.prototype.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var e=parseInt(this._color,10).toString(16);if(this.error)return"";if(e.length<6)for(var t=6-e.length-1;0<=t;t--)e="0"+e;return"#"+e}),T.funcs.parse_color=function(e){var t=e.replace(/\s+/g,""),n=-1!==t.indexOf("rgba")?parseFloat(100*t.replace(/^.*,(.+)\)/,"$1")):100;return{value:t,transparent:n,rgba:n<100}},I.fn.csf_color=function(){return this.each(function(){var c,r=I(this),o=T.funcs.parse_color(r.val()),e=!_.csf_vars.color_palette.length||_.csf_vars.color_palette;r.hasClass("wp-color-picker")&&r.closest(".wp-picker-container").after(r).remove(),r.wpColorPicker({palettes:e,change:function(e,t){var n=t.color.toString();c.removeClass("csf--transparent-active"),c.find(".csf--transparent-offset").css("background-color",n),r.val(n).trigger("change")},create:function(){c=r.closest(".wp-picker-container");var i=r.data("a8cIris"),e=I('').appendTo(c.find(".wp-picker-holder")),s=e.find(".csf--transparent-slider"),a=e.find(".csf--transparent-text"),n=e.find(".csf--transparent-offset"),t=e.find(".csf--transparent-button");"transparent"===r.val()&&c.addClass("csf--transparent-active"),t.on("click",function(){"transparent"!==r.val()?(r.val("transparent").trigger("change").removeClass("iris-error"),c.addClass("csf--transparent-active")):(r.val(i._color.toString()).trigger("change"),c.removeClass("csf--transparent-active"))}),s.slider({value:o.transparent,step:1,min:0,max:100,slide:function(e,t){var n=parseFloat(t.value/100);i._color._alpha=n,r.wpColorPicker("color",i._color.toString()),a.text(1===n||0===n?"":n)},create:function(){var e=parseFloat(o.transparent/100),t=e<1?e:"";a.text(t),n.css("background-color",o.value),c.on("click",".wp-picker-clear",function(){i._color._alpha=1,a.text(""),s.slider("option","value",100),c.removeClass("csf--transparent-active"),r.trigger("change")}),c.on("click",".wp-picker-default",function(){var e=T.funcs.parse_color(r.data("default-color")),t=parseFloat(e.transparent/100),n=t<1?t:"";i._color._alpha=t,a.text(n),s.slider("option","value",e.transparent),"transparent"===e.value&&(r.removeClass("iris-error"),c.addClass("csf--transparent-active"))})}})}})})},I.fn.csf_chosen=function(){return this.each(function(){var a=I(this),e=a.parent().find(".chosen-container"),t=a.hasClass("csf-chosen-sortable")||!1,n=a.hasClass("csf-chosen-ajax")||!1,i=a.attr("multiple")||!1,s=i?"100%":"auto",c=I.extend({allow_single_deselect:!0,disable_search_threshold:10,width:s,no_results_text:_.csf_vars.i18n.no_results_text},a.data("chosen-settings"));if(e.length&&e.remove(),n){var r=I.extend({data:{type:"post",nonce:""},allow_single_deselect:!0,disable_search_threshold:-1,width:"100%",min_length:3,type_delay:500,typing_text:_.csf_vars.i18n.typing_text,searching_text:_.csf_vars.i18n.searching_text,no_results_text:_.csf_vars.i18n.no_results_text},a.data("chosen-settings"));a.CSFAjaxChosen(r)}else a.chosen(c);if(i){var o=a.parent().find(".csf-hide-select"),f=o.val()||[];a.on("change",function(e,t){t&&t.selected?o.append(''+t.selected+" "):t&&t.deselected&&o.find('option[value="'+t.deselected+'"]').remove(),_.wp.customize!==y&&0===o.children().length&&o.data("customize-setting-link")&&_.wp.customize.control(o.data("customize-setting-link")).setting.set(""),o.trigger("change")}),a.CSFChosenOrder(f,!0)}if(t){var l=a.parent().find(".chosen-container").find(".chosen-choices");l.bind("mousedown",function(e){I(e.target).is("span")&&e.stopPropagation()}),l.sortable({items:"li:not(.search-field)",helper:"orginal",cursor:"move",placeholder:"search-choice-placeholder",start:function(e,t){t.placeholder.width(t.item.innerWidth()),t.placeholder.height(t.item.innerHeight())},update:function(e,t){var i="",s=a.data("chosen"),n=a.parent().find(".csf-hide-select");l.find(".search-choice-close").each(function(){var n=I(this).data("option-array-index");I.each(s.results_data,function(e,t){t.array_index===n&&(i+=''+t.value+" ")})}),n.children().remove(),n.append(i),n.trigger("change")}})}})},I.fn.csf_checkbox=function(){return this.each(function(){var e=I(this),t=e.find(".csf--input"),n=e.find(".csf--checkbox");n.on("click",function(){t.val(Number(n.prop("checked"))).trigger("change")})})},I.fn.csf_siblings=function(){return this.each(function(){var t=I(this),e=t.find(".csf--sibling"),n=t.data("multiple")||!1;e.on("click",function(){var e=I(this);n?e.hasClass("csf--active")?(e.removeClass("csf--active"),e.find("input").prop("checked",!1).trigger("change")):(e.addClass("csf--active"),e.find("input").prop("checked",!0).trigger("change")):(t.find("input").prop("checked",!1),e.find("input").prop("checked",!0).trigger("change"),e.addClass("csf--active").siblings().removeClass("csf--active"))})})},I.fn.csf_help=function(){return this.each(function(){var e,t,n=I(this);n.on({mouseenter:function(){e=I('
').html(n.find(".csf-help-text").html()).appendTo("body"),t=T.vars.is_rtl?n.offset().left+24:n.offset().left-e.outerWidth(),e.css({top:n.offset().top-(e.outerHeight()/2-14),left:t})},mouseleave:function(){e!==y&&e.remove()}})})},I.fn.csf_customizer_refresh=function(){return this.each(function(){var e=I(this),t=e.closest(".csf-customize-complex");if(t.length){var n=t.data("unique-id");if(n===y)return;var i=t.find(":input"),s=t.data("option-id"),a=i.serializeObjectCSF(),c=!I.isEmptyObject(a)&&a[n]&&a[n][s]?a[n][s]:"",r=_.wp.customize.control(n+"["+s+"]");r.setting._value=null,r.setting.set(c)}else e.find(":input").first().trigger("change");I(b).trigger("csf-customizer-refresh",e)})},I.fn.csf_customizer_listen=function(e){var t=I.extend({closest:!1},e);return this.each(function(){if(_.wp.customize!==y){var n=t.closest?I(this).closest(".csf-customize-complex"):I(this),e=n.find(":input"),i=n.data("unique-id"),s=n.data("option-id");i!==y&&e.on("change keyup",function(){var e=n.find(":input").serializeObjectCSF(),t=!I.isEmptyObject(e)&&e[i]&&e[i][s]?e[i][s]:"";_.wp.customize.control(i+"["+s+"]").setting.set(t)})}})},I(b).on("expanded",".control-section",function(){var e=I(this);if(e.hasClass("open")&&!e.data("inited")){var t=e.find(".csf-customize-field"),n=e.find(".csf-customize-complex");t.length&&(e.csf_dependency(),t.csf_reload_script({dependency:!1}),n.csf_customizer_listen()),e.data("inited",!0)}}),T.vars.$window.on("resize csf.resize",T.helper.debounce(function(e){(-1 ",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:" ",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},oe={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(3Math.min(t,n)&&es)&&(D.amPM.textContent=D.l10n.amPM[se(D.amPM.textContent===D.l10n.amPM[0])]),i.value=re(c)}}(e);var i=D._input.value;p(),X(),D._input.value!==i&&D._debouncedChange()}function p(){if(void 0!==D.hourElement&&void 0!==D.minuteElement){var e,t,n=(parseInt(D.hourElement.value.slice(-2),10)||0)%24,i=(parseInt(D.minuteElement.value,10)||0)%60,o=void 0!==D.secondElement?(parseInt(D.secondElement.value,10)||0)%60:0;void 0!==D.amPM&&(e=n,t=D.amPM.textContent,n=e%12+12*se(t===D.l10n.amPM[1]));var r=void 0!==D.config.minTime||D.config.minDate&&D.minDateHasTime&&D.latestSelectedDateObj&&0===ve(D.latestSelectedDateObj,D.config.minDate,!0);if(void 0!==D.config.maxTime||D.config.maxDate&&D.maxDateHasTime&&D.latestSelectedDateObj&&0===ve(D.latestSelectedDateObj,D.config.maxDate,!0)){var s=void 0!==D.config.maxTime?D.config.maxTime:D.config.maxDate;(n=Math.min(n,s.getHours()))===s.getHours()&&(i=Math.min(i,s.getMinutes())),i===s.getMinutes()&&(o=Math.min(o,s.getSeconds()))}if(r){var a=void 0!==D.config.minTime?D.config.minTime:D.config.minDate;(n=Math.max(n,a.getHours()))===a.getHours()&&iD.now?D.config.minDate:D.config.maxDate&&D.config.maxDate"+D.config.getWeek(t)+""),K("onDayCreate",s),s}function g(e){e.focus(),"range"===D.config.mode&&F(e)}function v(e){for(var t=0=Math.abs(t))return g(u)}D.changeMonth(o),y(v(o),0)}(i,t):g(i)}function a(e,t){for(var n=(new Date(e,t,1).getDay()-D.l10n.firstDayOfWeek+7)%7,i=D.utils.getDaysInMonth((t-1+12)%12,e),o=D.utils.getDaysInMonth(t,e),r=window.document.createDocumentFragment(),s=1D.config.maxDate.getMonth())){var n=ue("option","flatpickr-monthDropdown-month");n.value=new Date(D.currentYear,t).getMonth().toString(),n.textContent=pe(t,D.config.shorthandCurrentMonth,D.l10n),n.tabIndex=-1,D.currentMonth===t&&(n.selected=!0),D.monthsDropdownContainer.appendChild(n)}}}function C(){var e,t=ue("div","flatpickr-month"),n=window.document.createDocumentFragment();e=1\n "+t.join("")+"\n \n "}}function E(e,t){void 0===t&&(t=!0);var n=t?e:e-D.currentMonth;n<0&&!0===D._hidePrevMonthArrow||0D.config.maxDate.getFullYear())){var t=e,n=D.currentYear!==t;D.currentYear=t||D.currentYear,D.config.maxDate&&D.currentYear===D.config.maxDate.getFullYear()?D.currentMonth=Math.min(D.config.maxDate.getMonth(),D.currentMonth):D.config.minDate&&D.currentYear===D.config.minDate.getFullYear()&&(D.currentMonth=Math.max(D.config.minDate.getMonth(),D.currentMonth)),n&&(D.redraw(),K("onYearChange"),w())}}function A(e,t){var n;void 0===t&&(t=!0);var i=D.parseDate(e,void 0,t);if(D.config.minDate&&i&&ve(i,D.config.minDate,void 0!==t?t:!D.minDateHasTime)<0||D.config.maxDate&&i&&0=a.from.getTime()&&i.getTime()<=a.to.getTime())return o}return!o}function I(e){return void 0!==D.daysContainer&&(-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&D.daysContainer.contains(e))}function N(e){!(e.target===D._input)||!(0n,u=window.pageYOffset+a.top+(c?-n-2:t.offsetHeight+2);if(ce(D.calendarContainer,"arrowTop",!c),ce(D.calendarContainer,"arrowBottom",c),!D.config.inline){var h=window.pageXOffset+a.left,d=!1,f=!1;"center"===s?(h-=(i-a.width)/2,d=!0):"right"===s&&(h-=i-a.width,f=!0),ce(D.calendarContainer,"arrowLeft",!d&&!f),ce(D.calendarContainer,"arrowCenter",d),ce(D.calendarContainer,"arrowRight",f);var p=window.document.body.offsetWidth-(window.pageXOffset+a.right),_=h+i>window.document.body.offsetWidth,m=p+i>window.document.body.offsetWidth;if(ce(D.calendarContainer,"rightMost",_),!D.config.static)if(D.calendarContainer.style.top=u+"px",_)if(m){var g=function(){for(var e=null,t=0;tD.currentMonth+D.config.showMonths-1)&&"range"!==D.config.mode;if(D.selectedDateElem=n,"single"===D.config.mode)D.selectedDates=[i];else if("multiple"===D.config.mode){var r=Q(i);r?D.selectedDates.splice(parseInt(r),1):D.selectedDates.push(i)}else"range"===D.config.mode&&(2===D.selectedDates.length&&D.clear(!1,!1),D.latestSelectedDateObj=i,D.selectedDates.push(i),0!==ve(i,D.selectedDates[0],!0)&&D.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()}));if(p(),o){var s=D.currentYear!==i.getFullYear();D.currentYear=i.getFullYear(),D.currentMonth=i.getMonth(),s&&(K("onYearChange"),w()),K("onMonthChange")}if(V(),b(),X(),o||"range"===D.config.mode||1!==D.config.showMonths?void 0!==D.selectedDateElem&&void 0===D.hourElement&&D.selectedDateElem&&D.selectedDateElem.focus():g(n),void 0!==D.hourElement&&void 0!==D.hourElement&&D.hourElement.focus(),D.config.closeOnSelect){var a="single"===D.config.mode&&!D.config.enableTime,l="range"===D.config.mode&&2===D.selectedDates.length&&!D.config.enableTime;(a||l)&&W()}c()}}D.parseDate=ge({config:D.config,l10n:D.l10n}),D._handlers=[],D.pluginElements=[],D.loadedPlugins=[],D._bind=s,D._setHoursFromDate=o,D._positionCalendar=R,D.changeMonth=E,D.changeYear=S,D.clear=function(e,t){void 0===e&&(e=!0);void 0===t&&(t=!0);D.input.value="",void 0!==D.altInput&&(D.altInput.value="");void 0!==D.mobileInput&&(D.mobileInput.value="");D.selectedDates=[],!(D.latestSelectedDateObj=void 0)===t&&(D.currentYear=D._initialDate.getFullYear(),D.currentMonth=D._initialDate.getMonth());if(!0===D.config.enableTime){var n=we(D.config),i=n.hours,o=n.minutes,r=n.seconds;l(i,o,r)}D.redraw(),e&&K("onChange")},D.close=function(){D.isOpen=!1,D.isMobile||(void 0!==D.calendarContainer&&D.calendarContainer.classList.remove("open"),void 0!==D._input&&D._input.classList.remove("active"));K("onClose")},D._createElement=ue,D.destroy=function(){void 0!==D.config&&K("onDestroy");for(var e=D._handlers.length;e--;)D._handlers[e].remove();if(D._handlers=[],D.mobileInput)D.mobileInput.parentNode&&D.mobileInput.parentNode.removeChild(D.mobileInput),D.mobileInput=void 0;else if(D.calendarContainer&&D.calendarContainer.parentNode)if(D.config.static&&D.calendarContainer.parentNode){var t=D.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else D.calendarContainer.parentNode.removeChild(D.calendarContainer);D.altInput&&(D.input.type="text",D.altInput.parentNode&&D.altInput.parentNode.removeChild(D.altInput),delete D.altInput);D.input&&(D.input.type=D.input._type,D.input.classList.remove("flatpickr-input"),D.input.removeAttribute("readonly"));["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(e){try{delete D[e]}catch(e){}})},D.isEnabled=A,D.jumpToDate=i,D.open=function(e,t){void 0===t&&(t=D._positionElement);{if(!0===D.isMobile){if(e){e.preventDefault();var n=fe(e);n&&n.blur()}return void 0!==D.mobileInput&&(D.mobileInput.focus(),D.mobileInput.click()),void K("onOpen")}if(D._input.disabled||D.config.inline)return}var i=D.isOpen;D.isOpen=!0,i||(D.calendarContainer.classList.add("open"),D._input.classList.add("active"),K("onOpen"),R(t));!0===D.config.enableTime&&!0===D.config.noCalendar&&(!1!==D.config.allowInput||void 0!==e&&D.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return D.hourElement.select()},50))},D.redraw=q,D.set=function(e,t){if(null!==e&&"object"==typeof e)for(var n in Object.assign(D.config,e),e)void 0!==z[n]&&z[n].forEach(function(e){return e()});else D.config[e]=t,void 0!==z[e]?z[e].forEach(function(e){return e()}):-1D.config.maxDate.getMonth():D.currentYear>D.config.maxDate.getFullYear()))}function G(t){return D.selectedDates.map(function(e){return D.formatDate(e,t)}).filter(function(e,t,n){return"range"!==D.config.mode||D.config.enableTime||n.indexOf(e)===t}).join("range"!==D.config.mode?D.config.conjunction:D.l10n.rangeSeparator)}function X(e){void 0===e&&(e=!0),void 0!==D.mobileInput&&D.mobileFormatStr&&(D.mobileInput.value=void 0!==D.latestSelectedDateObj?D.formatDate(D.latestSelectedDateObj,D.mobileFormatStr):""),D.input.value=G(D.config.dateFormat),void 0!==D.altInput&&(D.altInput.value=G(D.config.altFormat)),!1!==e&&K("onValueUpdate")}function Z(e){var t=fe(e),n=D.prevMonthNav.contains(t),i=D.nextMonthNav.contains(t);n||i?E(n?-1:1):0<=D.yearElements.indexOf(t)?t.select():t.classList.contains("arrowUp")?D.changeYear(D.currentYear+1):t.classList.contains("arrowDown")&&D.changeYear(D.currentYear-1)}return function(){D.element=D.input=d,D.isOpen=!1,function(){var e=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],t=ee(ee({},JSON.parse(JSON.stringify(d.dataset||{}))),u),n={};D.config.parseDate=t.parseDate,D.config.formatDate=t.formatDate,Object.defineProperty(D.config,"enable",{get:function(){return D.config._enable},set:function(e){D.config._enable=J(e)}}),Object.defineProperty(D.config,"disable",{get:function(){return D.config._disable},set:function(e){D.config._disable=J(e)}});var i="time"===t.mode;if(!t.dateFormat&&(t.enableTime||i)){var o=Ce.defaultConfig.dateFormat||ie.dateFormat;n.dateFormat=t.noCalendar||i?"H:i"+(t.enableSeconds?":S":""):o+" H:i"+(t.enableSeconds?":S":"")}if(t.altInput&&(t.enableTime||i)&&!t.altFormat){var r=Ce.defaultConfig.altFormat||ie.altFormat;n.altFormat=t.noCalendar||i?"h:i"+(t.enableSeconds?":S K":" K"):r+" h:i"+(t.enableSeconds?":S":"")+" K"}Object.defineProperty(D.config,"minDate",{get:function(){return D.config._minDate},set:Y("min")}),Object.defineProperty(D.config,"maxDate",{get:function(){return D.config._maxDate},set:Y("max")});var s=function(t){return function(e){D.config["min"===t?"_minTime":"_maxTime"]=D.parseDate(e,"H:i:S")}};Object.defineProperty(D.config,"minTime",{get:function(){return D.config._minTime},set:s("min")}),Object.defineProperty(D.config,"maxTime",{get:function(){return D.config._maxTime},set:s("max")}),"time"===t.mode&&(D.config.noCalendar=!0,D.config.enableTime=!0),Object.assign(D.config,n,t);for(var a=0;aD.now.getTime()?D.config.minDate:D.config.maxDate&&D.config.maxDate.getTime()'+this.options.typing_text.replace("%s",this.options.min_length-e.length)+"")},t.prototype.update_list=function(){var t=this;if(this.search_welcome_message(),!this.is_typing){var e=s.trim(this.search_field.val()),n=e.length ").attr("value",t.value).html(t.text).appendTo(n.element)});var t=this.search_field.val(),o=this.search_field.innerWidth();if(this.element.trigger("chosen:updated"),this.is_multiple){var r=this.element.parent().find(".csf-hide-select").val()||[];this.element.CSFChosenOrder(r,!0),this.search_field.css("width",o)}this.search_field.val(t),null!==this.chosenXhr.done&&this.chosenXhr.done(e)}},s.fn.CSFAjaxChosen=function(e){return this.each(function(){new t(this,e)})}}(jQuery),function(){var n,i,s=[].indexOf||function(e){for(var t=0,n=this.length;t"+this.escape_html(e.group_label)+""+e.html:e.html},o.prototype.mouse_enter=function(){return this.mouse_on_container=!0},o.prototype.mouse_leave=function(){return this.mouse_on_container=!1},o.prototype.input_focus=function(e){if(this.is_multiple){if(!this.active_field)return setTimeout((t=this,function(){return t.container_mousedown()}),50)}else if(!this.active_field)return this.activate_field();var t},o.prototype.input_blur=function(e){if(!this.mouse_on_container)return this.active_field=!1,setTimeout((t=this,function(){return t.blur_test()}),100);var t},o.prototype.label_click_handler=function(e){return this.is_multiple?this.container_mousedown(e):this.activate_field()},o.prototype.results_option_build=function(e){var t,n,i,o,r,s,a;for(t="",o=a=0,r=(s=this.results_data).length;o=this.max_shown_results));o++);return t},o.prototype.result_add_option=function(e){var t,n;return e.search_match&&this.include_option_in_results(e)?(t=[],e.disabled||e.selected&&this.is_multiple||t.push("active-result"),!e.disabled||e.selected&&this.is_multiple||t.push("disabled-result"),e.selected&&t.push("result-selected"),null!=e.group_array_index&&t.push("group-option"),""!==e.classes&&t.push(e.classes),(n=document.createElement("li")).className=t.join(" "),e.style&&(n.style.cssText=e.style),n.setAttribute("data-option-array-index",e.array_index),n.innerHTML=e.highlighted_html||e.html,e.title&&(n.title=e.title),this.outerHTML(n)):""},o.prototype.result_add_group=function(e){var t,n;return(e.search_match||e.group_match)&&0"+this.escape_html(n)+""+this.escape_html(p)),null!=h&&(h.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),u<1&&a.length?(this.update_results_content(""),this.no_results(a)):(this.update_results_content(this.results_option_build()),(null!=e?e.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},o.prototype.get_search_regex=function(e){var t,n;return n=this.search_contains?e:"(^|\\s|\\b)"+e+"[^\\s]*",this.enable_split_word_search||this.search_contains||(n="^"+n),t=this.case_sensitive_search?"":"i",new RegExp(n,t)},o.prototype.search_string_match=function(e,t){var n;return n=t.exec(e),!this.search_contains&&(null!=n?n[1]:void 0)&&(n.index+=1),n},o.prototype.choices_count=function(){var e,t,n;if(null!=this.selected_option_count)return this.selected_option_count;for(e=this.selected_option_count=0,t=(n=this.form_field.options).length;e\n '+this.default_text+' \n
\n\n'},o.prototype.get_multi_html=function(){return'\n'},o.prototype.get_no_results_html=function(e){return'\n '+this.results_none_found+" "+this.escape_html(e)+" \n "},o.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?8<=document.documentMode:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},o.default_multiple_text="Select Some Options",o.default_single_text="Select an Option",o.default_no_result_text="No results match",o}(),(a=jQuery).fn.extend({chosen:function(i){return n.browser_is_supported()?this.each(function(e){var t,n;n=(t=a(this)).data("chosen"),"destroy"!==i?n instanceof o||t.data("chosen",new o(this,i)):n instanceof o&&n.destroy()}):this}}),o=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return function(e,t){for(var n in t)r.call(t,n)&&(e[n]=t[n]);function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype}(t,n),t.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},t.prototype.set_up_html=function(){var e,t;return(e=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),t={class:e.join(" "),title:this.form_field.title},this.form_field.id.length&&(t.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
",t),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},t.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},t.prototype.register_observers=function(){var t,n,i,o,r,s,a,l,c,u,h,d,f,p,_,m,g,v,y,b,w,D,C,x;return this.container.on("touchstart.chosen",(t=this,function(e){t.container_mousedown(e)})),this.container.on("touchend.chosen",(n=this,function(e){n.container_mouseup(e)})),this.container.on("mousedown.chosen",(i=this,function(e){i.container_mousedown(e)})),this.container.on("mouseup.chosen",(o=this,function(e){o.container_mouseup(e)})),this.container.on("mouseenter.chosen",(r=this,function(e){r.mouse_enter(e)})),this.container.on("mouseleave.chosen",(s=this,function(e){s.mouse_leave(e)})),this.search_results.on("mouseup.chosen",(a=this,function(e){a.search_results_mouseup(e)})),this.search_results.on("mouseover.chosen",(l=this,function(e){l.search_results_mouseover(e)})),this.search_results.on("mouseout.chosen",(c=this,function(e){c.search_results_mouseout(e)})),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",(u=this,function(e){u.search_results_mousewheel(e)})),this.search_results.on("touchstart.chosen",(h=this,function(e){h.search_results_touchstart(e)})),this.search_results.on("touchmove.chosen",(d=this,function(e){d.search_results_touchmove(e)})),this.search_results.on("touchend.chosen",(f=this,function(e){f.search_results_touchend(e)})),this.form_field_jq.on("chosen:updated.chosen",(p=this,function(e){p.results_update_field(e)})),this.form_field_jq.on("chosen:activate.chosen",(_=this,function(e){_.activate_field(e)})),this.form_field_jq.on("chosen:open.chosen",(m=this,function(e){m.container_mousedown(e)})),this.form_field_jq.on("chosen:close.chosen",(g=this,function(e){g.close_field(e)})),this.search_field.on("blur.chosen",(v=this,function(e){v.input_blur(e)})),this.search_field.on("keyup.chosen",(y=this,function(e){y.keyup_checker(e)})),this.search_field.on("keydown.chosen",(b=this,function(e){b.keydown_checker(e)})),this.search_field.on("focus.chosen",(w=this,function(e){w.input_focus(e)})),this.search_field.on("cut.chosen",(D=this,function(e){D.clipboard_event_checker(e)})),this.search_field.on("paste.chosen",(C=this,function(e){C.clipboard_event_checker(e)})),this.is_multiple?this.search_choices.on("click.chosen",(x=this,function(e){x.choices_click(e)})):this.container.on("click.chosen",function(e){e.preventDefault()})},t.prototype.destroy=function(){return a(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),0 ",{class:"search-choice"}).html(""+this.choice_label(e)+" "),e.disabled?t.addClass("search-choice-disabled"):((n=a(" ",{class:"search-choice-close","data-option-array-index":e.array_index})).on("click.chosen",(i=this,function(e){return i.choice_destroy_link_click(e)})),t.append(n)),this.search_container.before(t)},t.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(a(e.target))},t.prototype.choice_destroy=function(e){if(this.result_deselect(e[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&0'),this.selected_item.addClass("chosen-single-with-deselect")},t.prototype.get_search_field_value=function(){return this.search_field.val()},t.prototype.get_search_text=function(){return a.trim(this.get_search_field_value())},t.prototype.escape_html=function(e){return a("
").text(e).html()},t.prototype.winnow_results_set_highlight=function(){var e,t;if(null!=(e=(t=this.is_multiple?[]:this.search_results.find(".result-selected.active-result")).length?t.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(e)},t.prototype.no_results=function(e){var t;return t=this.get_no_results_html(e),this.search_results.append(t),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},t.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},t.prototype.keydown_arrow=function(){var e;return this.results_showing&&this.result_highlight?(e=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(e):void 0:this.results_show()},t.prototype.keyup_arrow=function(){var e;return this.results_showing||this.is_multiple?this.result_highlight?(e=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(e.first()):(0 ").css(o)).text(this.get_search_field_value()),a("body").append(e),s=e.width()+25,e.remove(),this.container.is(":visible")&&(s=Math.min(this.container.outerWidth()-10,s)),this.search_field.width(s)}},t.prototype.trigger_form_field_change=function(e){return this.form_field_jq.trigger("input",e),this.form_field_jq.trigger("change",e)},t}()}.call(this),function(s){"use strict";function o(e,t,n){this.init(e,t,n)}function e(){this.rules=[]}s.extend(o.prototype,{init:function(e,t,n){this.controller=e,this.condition=t,this.value=n,this.rules=[],this.controls=[]},evalCondition:function(e,t,n,i,o){if("=="==n)return this.checkBoolean(i)==this.checkBoolean(o);if("!="==n)return this.checkBoolean(i)!=this.checkBoolean(o);if(">="==n)return Number(o)>=Number(i);if("<="==n)return Number(o)<=Number(i);if(">"==n)return Number(o)>Number(i);if("<"==n)return Number(o)args['output_css'] ) || ! empty( $this->args['enqueue_webfont'] ) ) {
+ add_action( 'wp_enqueue_scripts', array( $this, 'collect_output_css_and_typography' ), 10 );
+ CSF::$css = apply_filters( "csf_{$this->unique}_output_css", CSF::$css, $this );
+ }
+
+ }
+
+ public function collect_output_css_and_typography() {
+ $this->recursive_output_css( $this->pre_fields );
+ }
+
+ public function recursive_output_css( $fields = array(), $combine_field = array() ) {
+
+ if ( ! empty( $fields ) ) {
+
+ foreach ( $fields as $field ) {
+
+ $field_id = ( ! empty( $field['id'] ) ) ? $field['id'] : '';
+ $field_type = ( ! empty( $field['type'] ) ) ? $field['type'] : '';
+ $field_output = ( ! empty( $field['output'] ) ) ? $field['output'] : '';
+ $field_check = ( $field_type === 'typography' || $field_output ) ? true : false;
+ $field_class = 'CSF_Field_' . $field_type;
+
+ if ( $field_type && $field_id ) {
+
+
+ if( $field_type === 'fieldset' ) {
+ if ( ! empty( $field['fields'] ) ) {
+ $this->recursive_output_css( $field['fields'], $field );
+ }
+ }
+
+ if( $field_type === 'accordion' ) {
+ if ( ! empty( $field['accordions'] ) ) {
+ foreach ( $field['accordions'] as $accordion ) {
+ $this->recursive_output_css( $accordion['fields'], $field );
+ }
+ }
+ }
+
+ if( $field_type === 'tabbed' ) {
+ if ( ! empty( $field['tabs'] ) ) {
+ foreach ( $field['tabs'] as $accordion ) {
+ $this->recursive_output_css( $accordion['fields'], $field );
+ }
+ }
+ }
+
+ if ( class_exists( $field_class ) ) {
+
+ if ( method_exists( $field_class, 'output' ) || method_exists( $field_class, 'enqueue_google_fonts' ) ) {
+
+ $field_value = '';
+
+ if ( $field_check && ( $this->abstract === 'options' || $this->abstract === 'customize' ) ) {
+
+ if( ! empty( $combine_field ) ) {
+
+ $field_value = ( isset( $this->options[$combine_field['id']][$field_id] ) ) ? $this->options[$combine_field['id']][$field_id] : '';
+
+ } else {
+
+ $field_value = ( isset( $this->options[$field_id] ) ) ? $this->options[$field_id] : '';
+
+ }
+
+ } else if ( $field_check && ( $this->abstract === 'metabox' && is_singular() || $this->abstract === 'taxonomy' && is_archive() ) ) {
+
+ if( ! empty( $combine_field ) ) {
+
+ $meta_value = $this->get_meta_value( $combine_field );
+ $field_value = ( isset( $meta_value[$field_id] ) ) ? $meta_value[$field_id] : '';
+
+ } else {
+
+ $meta_value = $this->get_meta_value( $field );
+ $field_value = ( isset( $meta_value ) ) ? $meta_value : '';
+
+ }
+
+ }
+
+ $instance = new $field_class( $field, $field_value, $this->unique, 'wp/enqueue', $this );
+
+ // typography enqueue and embed google web fonts
+ if ( $field_type === 'typography' && $this->args['enqueue_webfont'] && ! empty( $field_value['font-family'] ) ) {
+
+ $method = ( ! empty( $this->args['async_webfont'] ) ) ? 'async' : 'enqueue';
+
+ $instance->enqueue_google_fonts( $method );
+
+ }
+
+ // output css
+ if ( $field_output && $this->args['output_css'] ) {
+ CSF::$css .= $instance->output();
+ }
+
+ unset( $instance );
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+}
diff --git a/classes/admin-options.class.php b/classes/admin-options.class.php
new file mode 100644
index 0000000..afa3cf2
--- /dev/null
+++ b/classes/admin-options.class.php
@@ -0,0 +1,725 @@
+ 'Codestar Framework by Codestar ',
+ 'framework_class' => '',
+
+ // menu settings
+ 'menu_title' => '',
+ 'menu_slug' => '',
+ 'menu_type' => 'menu',
+ 'menu_capability' => 'manage_options',
+ 'menu_icon' => null,
+ 'menu_position' => null,
+ 'menu_hidden' => false,
+ 'menu_parent' => '',
+ 'sub_menu_title' => '',
+
+ // menu extras
+ 'show_bar_menu' => true,
+ 'show_sub_menu' => true,
+ 'show_in_network' => true,
+ 'show_in_customizer' => false,
+
+ 'show_search' => true,
+ 'show_reset_all' => true,
+ 'show_reset_section' => true,
+ 'show_footer' => true,
+ 'show_all_options' => true,
+ 'show_form_warning' => true,
+ 'sticky_header' => true,
+ 'save_defaults' => true,
+ 'ajax_save' => true,
+ 'form_action' => '',
+
+ // admin bar menu settings
+ 'admin_bar_menu_icon' => '',
+ 'admin_bar_menu_priority' => 50,
+
+ // footer
+ 'footer_text' => '',
+ 'footer_after' => '',
+ 'footer_credit' => '',
+
+ // database model
+ 'database' => '', // options, transient, theme_mod, network
+ 'transient_time' => 0,
+
+ // contextual help
+ 'contextual_help' => array(),
+ 'contextual_help_sidebar' => '',
+
+ // typography options
+ 'enqueue_webfont' => true,
+ 'async_webfont' => false,
+
+ // others
+ 'output_css' => true,
+
+ // theme
+ 'nav' => 'normal',
+ 'theme' => 'dark',
+ 'class' => '',
+
+ // external default values
+ 'defaults' => array(),
+
+ );
+
+ // run framework construct
+ public function __construct( $key, $params = array() ) {
+
+ $this->unique = $key;
+ $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
+ $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
+
+ // run only is admin panel options, avoid performance loss
+ $this->pre_tabs = $this->pre_tabs( $this->sections );
+ $this->pre_fields = $this->pre_fields( $this->sections );
+ $this->pre_sections = $this->pre_sections( $this->sections );
+
+ $this->get_options();
+ $this->set_options();
+ $this->save_defaults();
+
+ add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
+ add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_menu' ), $this->args['admin_bar_menu_priority'] );
+ add_action( 'wp_ajax_csf_'. $this->unique .'_ajax_save', array( $this, 'ajax_save' ) );
+
+ if ( $this->args['database'] === 'network' && ! empty( $this->args['show_in_network'] ) ) {
+ add_action( 'network_admin_menu', array( $this, 'add_admin_menu' ) );
+ }
+
+ // wp enqeueu for typography and output css
+ parent::__construct();
+
+ }
+
+ // instance
+ public static function instance( $key, $params = array() ) {
+ return new self( $key, $params );
+ }
+
+ public function pre_tabs( $sections ) {
+
+ $result = array();
+ $parents = array();
+ $count = 100;
+
+ foreach ( $sections as $key => $section ) {
+ if ( ! empty( $section['parent'] ) ) {
+ $section['priority'] = ( isset( $section['priority'] ) ) ? $section['priority'] : $count;
+ $parents[$section['parent']][] = $section;
+ unset( $sections[$key] );
+ }
+ $count++;
+ }
+
+ foreach ( $sections as $key => $section ) {
+ $section['priority'] = ( isset( $section['priority'] ) ) ? $section['priority'] : $count;
+ if ( ! empty( $section['id'] ) && ! empty( $parents[$section['id']] ) ) {
+ $section['subs'] = wp_list_sort( $parents[$section['id']], array( 'priority' => 'ASC' ), 'ASC', true );
+ }
+ $result[] = $section;
+ $count++;
+ }
+
+ return wp_list_sort( $result, array( 'priority' => 'ASC' ), 'ASC', true );
+ }
+
+ public function pre_fields( $sections ) {
+
+ $result = array();
+
+ foreach ( $sections as $key => $section ) {
+ if ( ! empty( $section['fields'] ) ) {
+ foreach ( $section['fields'] as $field ) {
+ $result[] = $field;
+ }
+ }
+ }
+
+ return $result;
+ }
+
+ public function pre_sections( $sections ) {
+
+ $result = array();
+
+ foreach ( $this->pre_tabs as $tab ) {
+ if ( ! empty( $tab['subs'] ) ) {
+ foreach ( $tab['subs'] as $sub ) {
+ $sub['ptitle'] = $tab['title'];
+ $result[] = $sub;
+ }
+ }
+ if ( empty( $tab['subs'] ) ) {
+ $result[] = $tab;
+ }
+ }
+
+ return $result;
+ }
+
+ // add admin bar menu
+ public function add_admin_bar_menu( $wp_admin_bar ) {
+
+ if ( ! current_user_can( $this->args['menu_capability'] ) ) {
+ return;
+ }
+
+ if ( is_network_admin() && ( $this->args['database'] !== 'network' || $this->args['show_in_network'] !== true ) ) {
+ return;
+ }
+
+ if ( ! empty( $this->args['show_bar_menu'] ) && empty( $this->args['menu_hidden'] ) ) {
+
+ global $submenu;
+
+ $menu_slug = $this->args['menu_slug'];
+ $menu_icon = ( ! empty( $this->args['admin_bar_menu_icon'] ) ) ? '' : '';
+
+ $wp_admin_bar->add_node( array(
+ 'id' => $menu_slug,
+ 'title' => $menu_icon . esc_attr( $this->args['menu_title'] ),
+ 'href' => esc_url( ( is_network_admin() ) ? network_admin_url( 'admin.php?page='. $menu_slug ) : admin_url( 'admin.php?page='. $menu_slug ) ),
+ ) );
+
+ if ( ! empty( $submenu[$menu_slug] ) ) {
+ foreach ( $submenu[$menu_slug] as $menu_key => $menu_value ) {
+ $wp_admin_bar->add_node( array(
+ 'parent' => $menu_slug,
+ 'id' => $menu_slug .'-'. $menu_key,
+ 'title' => $menu_value[0],
+ 'href' => esc_url( ( is_network_admin() ) ? network_admin_url( 'admin.php?page='. $menu_value[2] ) : admin_url( 'admin.php?page='. $menu_value[2] ) ),
+ ) );
+ }
+ }
+
+ }
+
+ }
+
+ public function ajax_save() {
+
+ $result = $this->set_options( true );
+
+ if ( ! $result ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error while saving the changes.', 'csf' ) ) );
+ } else {
+ wp_send_json_success( array( 'notice' => $this->notice, 'errors' => $this->errors ) );
+ }
+
+ }
+
+ // get default value
+ public function get_default( $field ) {
+
+ $default = ( isset( $field['default'] ) ) ? $field['default'] : '';
+ $default = ( isset( $this->args['defaults'][$field['id']] ) ) ? $this->args['defaults'][$field['id']] : $default;
+
+ return $default;
+
+ }
+
+ // save defaults and set new fields value to main options
+ public function save_defaults() {
+
+ $tmp_options = $this->options;
+
+ foreach ( $this->pre_fields as $field ) {
+ if ( ! empty( $field['id'] ) ) {
+ $this->options[$field['id']] = ( isset( $this->options[$field['id']] ) ) ? $this->options[$field['id']] : $this->get_default( $field );
+ }
+ }
+
+ if ( $this->args['save_defaults'] && empty( $tmp_options ) ) {
+ $this->save_options( $this->options );
+ }
+
+ }
+
+ // set options
+ public function set_options( $ajax = false ) {
+
+ // XSS ok.
+ // No worries, This "POST" requests is sanitizing in the below foreach. see #L337 - #L341
+ $response = ( $ajax && ! empty( $_POST['data'] ) ) ? json_decode( wp_unslash( trim( $_POST['data'] ) ), true ) : $_POST;
+
+ // Set variables.
+ $data = array();
+ $noncekey = 'csf_options_nonce'. $this->unique;
+ $nonce = ( ! empty( $response[$noncekey] ) ) ? $response[$noncekey] : '';
+ $options = ( ! empty( $response[$this->unique] ) ) ? $response[$this->unique] : array();
+ $transient = ( ! empty( $response['csf_transient'] ) ) ? $response['csf_transient'] : array();
+
+ if ( wp_verify_nonce( $nonce, 'csf_options_nonce' ) ) {
+
+ $importing = false;
+ $section_id = ( ! empty( $transient['section'] ) ) ? $transient['section'] : '';
+
+ if ( ! $ajax && ! empty( $response[ 'csf_import_data' ] ) ) {
+
+ // XSS ok.
+ // No worries, This "POST" requests is sanitizing in the below foreach. see #L337 - #L341
+ $import_data = json_decode( wp_unslash( trim( $response[ 'csf_import_data' ] ) ), true );
+ $options = ( is_array( $import_data ) && ! empty( $import_data ) ) ? $import_data : array();
+ $importing = true;
+ $this->notice = esc_html__( 'Settings successfully imported.', 'csf' );
+
+ }
+
+ if ( ! empty( $transient['reset'] ) ) {
+
+ foreach ( $this->pre_fields as $field ) {
+ if ( ! empty( $field['id'] ) ) {
+ $data[$field['id']] = $this->get_default( $field );
+ }
+ }
+
+ $this->notice = esc_html__( 'Default settings restored.', 'csf' );
+
+ } else if ( ! empty( $transient['reset_section'] ) && ! empty( $section_id ) ) {
+
+ if ( ! empty( $this->pre_sections[$section_id-1]['fields'] ) ) {
+
+ foreach ( $this->pre_sections[$section_id-1]['fields'] as $field ) {
+ if ( ! empty( $field['id'] ) ) {
+ $data[$field['id']] = $this->get_default( $field );
+ }
+ }
+
+ }
+
+ $data = wp_parse_args( $data, $this->options );
+
+ $this->notice = esc_html__( 'Default settings restored.', 'csf' );
+
+ } else {
+
+ // sanitize and validate
+ foreach ( $this->pre_fields as $field ) {
+
+ if ( ! empty( $field['id'] ) ) {
+
+ $field_id = $field['id'];
+ $field_value = isset( $options[$field_id] ) ? $options[$field_id] : '';
+
+ // Ajax and Importing doing wp_unslash already.
+ if ( ! $ajax && ! $importing ) {
+ $field_value = wp_unslash( $field_value );
+ }
+
+ // Sanitize "post" request of field.
+ if ( ! isset( $field['sanitize'] ) ) {
+
+ if( is_array( $field_value ) ) {
+
+ $data[$field_id] = wp_kses_post_deep( $field_value );
+
+ } else {
+
+ $data[$field_id] = wp_kses_post( $field_value );
+
+ }
+
+ } else if( isset( $field['sanitize'] ) && is_callable( $field['sanitize'] ) ) {
+
+ $data[$field_id] = call_user_func( $field['sanitize'], $field_value );
+
+ } else {
+
+ $data[$field_id] = $field_value;
+
+ }
+
+ // Validate "post" request of field.
+ if ( isset( $field['validate'] ) && is_callable( $field['validate'] ) ) {
+
+ $has_validated = call_user_func( $field['validate'], $field_value );
+
+ if ( ! empty( $has_validated ) ) {
+
+ $data[$field_id] = ( isset( $this->options[$field_id] ) ) ? $this->options[$field_id] : '';
+ $this->errors[$field_id] = $has_validated;
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ $data = apply_filters( "csf_{$this->unique}_save", $data, $this );
+
+ do_action( "csf_{$this->unique}_save_before", $data, $this );
+
+ $this->options = $data;
+
+ $this->save_options( $data );
+
+ do_action( "csf_{$this->unique}_save_after", $data, $this );
+
+ if ( empty( $this->notice ) ) {
+ $this->notice = esc_html__( 'Settings saved.', 'csf' );
+ }
+
+ return true;
+
+ }
+
+ return false;
+
+ }
+
+ // save options database
+ public function save_options( $data ) {
+
+ if ( $this->args['database'] === 'transient' ) {
+ set_transient( $this->unique, $data, $this->args['transient_time'] );
+ } else if ( $this->args['database'] === 'theme_mod' ) {
+ set_theme_mod( $this->unique, $data );
+ } else if ( $this->args['database'] === 'network' ) {
+ update_site_option( $this->unique, $data );
+ } else {
+ update_option( $this->unique, $data );
+ }
+
+ do_action( "csf_{$this->unique}_saved", $data, $this );
+
+ }
+
+ // get options from database
+ public function get_options() {
+
+ if ( $this->args['database'] === 'transient' ) {
+ $this->options = get_transient( $this->unique );
+ } else if ( $this->args['database'] === 'theme_mod' ) {
+ $this->options = get_theme_mod( $this->unique );
+ } else if ( $this->args['database'] === 'network' ) {
+ $this->options = get_site_option( $this->unique );
+ } else {
+ $this->options = get_option( $this->unique );
+ }
+
+ if ( empty( $this->options ) ) {
+ $this->options = array();
+ }
+
+ return $this->options;
+
+ }
+
+ // admin menu
+ public function add_admin_menu() {
+
+ extract( $this->args );
+
+ if ( $menu_type === 'submenu' ) {
+
+ $menu_page = call_user_func( 'add_submenu_page', $menu_parent, esc_attr( $menu_title ), esc_attr( $menu_title ), $menu_capability, $menu_slug, array( $this, 'add_options_html' ) );
+
+ } else {
+
+ $menu_page = call_user_func( 'add_menu_page', esc_attr( $menu_title ), esc_attr( $menu_title ), $menu_capability, $menu_slug, array( $this, 'add_options_html' ), $menu_icon, $menu_position );
+
+ if ( ! empty( $sub_menu_title ) ) {
+ call_user_func( 'add_submenu_page', $menu_slug, esc_attr( $sub_menu_title ), esc_attr( $sub_menu_title ), $menu_capability, $menu_slug, array( $this, 'add_options_html' ) );
+ }
+
+ if ( ! empty( $this->args['show_sub_menu'] ) && count( $this->pre_tabs ) > 1 ) {
+
+ // create submenus
+ foreach ( $this->pre_tabs as $section ) {
+ call_user_func( 'add_submenu_page', $menu_slug, esc_attr( $section['title'] ), esc_attr( $section['title'] ), $menu_capability, $menu_slug .'#tab='. sanitize_title( $section['title'] ), '__return_null' );
+ }
+
+ remove_submenu_page( $menu_slug, $menu_slug );
+
+ }
+
+ if ( ! empty( $menu_hidden ) ) {
+ remove_menu_page( $menu_slug );
+ }
+
+ }
+
+ add_action( 'load-'. $menu_page, array( $this, 'add_page_on_load' ) );
+
+ }
+
+ public function add_page_on_load() {
+
+ if ( ! empty( $this->args['contextual_help'] ) ) {
+
+ $screen = get_current_screen();
+
+ foreach ( $this->args['contextual_help'] as $tab ) {
+ $screen->add_help_tab( $tab );
+ }
+
+ if ( ! empty( $this->args['contextual_help_sidebar'] ) ) {
+ $screen->set_help_sidebar( $this->args['contextual_help_sidebar'] );
+ }
+
+ }
+
+ add_filter( 'admin_footer_text', array( $this, 'add_admin_footer_text' ) );
+
+ }
+
+ public function add_admin_footer_text() {
+ $default = 'Thank you for creating with Codestar Framework ';
+ echo ( ! empty( $this->args['footer_credit'] ) ) ? $this->args['footer_credit'] : $default;
+ }
+
+ public function error_check( $sections, $err = '' ) {
+
+ if ( ! $this->args['ajax_save'] ) {
+
+ if ( ! empty( $sections['fields'] ) ) {
+ foreach ( $sections['fields'] as $field ) {
+ if ( ! empty( $field['id'] ) ) {
+ if ( array_key_exists( $field['id'], $this->errors ) ) {
+ $err = '! ';
+ }
+ }
+ }
+ }
+
+ if ( ! empty( $sections['subs'] ) ) {
+ foreach ( $sections['subs'] as $sub ) {
+ $err = $this->error_check( $sub, $err );
+ }
+ }
+
+ if ( ! empty( $sections['id'] ) && array_key_exists( $sections['id'], $this->errors ) ) {
+ $err = $this->errors[$sections['id']];
+ }
+
+ }
+
+ return $err;
+ }
+
+ // option page html output
+ public function add_options_html() {
+
+ $has_nav = ( count( $this->pre_tabs ) > 1 ) ? true : false;
+ $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
+ $ajax_class = ( $this->args['ajax_save'] ) ? ' csf-save-ajax' : '';
+ $sticky_class = ( $this->args['sticky_header'] ) ? ' csf-sticky-header' : '';
+ $wrapper_class = ( $this->args['framework_class'] ) ? ' '. $this->args['framework_class'] : '';
+ $theme = ( $this->args['theme'] ) ? ' csf-theme-'. $this->args['theme'] : '';
+ $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
+ $nav_type = ( $this->args['nav'] === 'inline' ) ? 'inline' : 'normal';
+ $form_action = ( $this->args['form_action'] ) ? $this->args['form_action'] : '';
+
+ do_action( 'csf_options_before' );
+
+ echo '';
+
+ echo '
';
+
+ echo '
';
+
+ echo '
';
+
+ echo '
';
+
+ echo ( ! empty( $this->args['footer_after'] ) ) ? $this->args['footer_after'] : '';
+
+ echo '
';
+
+ do_action( 'csf_options_after' );
+
+ }
+ }
+}
diff --git a/classes/fields.class.php b/classes/fields.class.php
new file mode 100644
index 0000000..060d72c
--- /dev/null
+++ b/classes/fields.class.php
@@ -0,0 +1,405 @@
+field = $field;
+ $this->value = $value;
+ $this->unique = $unique;
+ $this->where = $where;
+ $this->parent = $parent;
+ }
+
+ public function field_name( $nested_name = '' ) {
+
+ $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : '';
+ $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $field_id .']' : $field_id;
+ $field_name = ( ! empty( $this->field['name'] ) ) ? $this->field['name'] : $unique_id;
+ $tag_prefix = ( ! empty( $this->field['tag_prefix'] ) ) ? $this->field['tag_prefix'] : '';
+
+ if ( ! empty( $tag_prefix ) ) {
+ $nested_name = str_replace( '[', '['. $tag_prefix, $nested_name );
+ }
+
+ return $field_name . $nested_name;
+
+ }
+
+ public function field_attributes( $custom_atts = array() ) {
+
+ $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : '';
+ $attributes = ( ! empty( $this->field['attributes'] ) ) ? $this->field['attributes'] : array();
+
+ if ( ! empty( $field_id ) && empty( $attributes['data-depend-id'] ) ) {
+ $attributes['data-depend-id'] = $field_id;
+ }
+
+ if ( ! empty( $this->field['placeholder'] ) ) {
+ $attributes['placeholder'] = $this->field['placeholder'];
+ }
+
+ $attributes = wp_parse_args( $attributes, $custom_atts );
+
+ $atts = '';
+
+ if ( ! empty( $attributes ) ) {
+ foreach ( $attributes as $key => $value ) {
+ if ( $value === 'only-key' ) {
+ $atts .= ' '. esc_attr( $key );
+ } else {
+ $atts .= ' '. esc_attr( $key ) . '="'. esc_attr( $value ) .'"';
+ }
+ }
+ }
+
+ return $atts;
+
+ }
+
+ public function field_before() {
+ return ( ! empty( $this->field['before'] ) ) ? ''. $this->field['before'] .'
' : '';
+ }
+
+ public function field_after() {
+
+ $output = ( ! empty( $this->field['after'] ) ) ? ''. $this->field['after'] .'
' : '';
+ $output .= ( ! empty( $this->field['desc'] ) ) ? '
'. $this->field['desc'] .'
' : '';
+ $output .= ( ! empty( $this->field['help'] ) ) ? ''. $this->field['help'] .'
' : '';
+ $output .= ( ! empty( $this->field['_error'] ) ) ? ''. $this->field['_error'] .'
' : '';
+
+ return $output;
+
+ }
+
+ public static function field_data( $type = '', $term = false, $query_args = array() ) {
+
+ $options = array();
+ $array_search = false;
+
+ // sanitize type name
+ if ( in_array( $type, array( 'page', 'pages' ) ) ) {
+ $option = 'page';
+ } else if ( in_array( $type, array( 'post', 'posts' ) ) ) {
+ $option = 'post';
+ } else if ( in_array( $type, array( 'category', 'categories' ) ) ) {
+ $option = 'category';
+ } else if ( in_array( $type, array( 'tag', 'tags' ) ) ) {
+ $option = 'post_tag';
+ } else if ( in_array( $type, array( 'menu', 'menus' ) ) ) {
+ $option = 'nav_menu';
+ } else {
+ $option = '';
+ }
+
+ // switch type
+ switch( $type ) {
+
+ case 'page':
+ case 'pages':
+ case 'post':
+ case 'posts':
+
+ // term query required for ajax select
+ if ( ! empty( $term ) ) {
+
+ $query = new WP_Query( wp_parse_args( $query_args, array(
+ 's' => $term,
+ 'post_type' => $option,
+ 'post_status' => 'publish',
+ 'posts_per_page' => 25,
+ ) ) );
+
+ } else {
+
+ $query = new WP_Query( wp_parse_args( $query_args, array(
+ 'post_type' => $option,
+ 'post_status' => 'publish',
+ ) ) );
+
+ }
+
+ if ( ! is_wp_error( $query ) && ! empty( $query->posts ) ) {
+ foreach ( $query->posts as $item ) {
+ $options[$item->ID] = $item->post_title;
+ }
+ }
+
+ break;
+
+ case 'category':
+ case 'categories':
+ case 'tag':
+ case 'tags':
+ case 'menu':
+ case 'menus':
+
+ if ( ! empty( $term ) ) {
+
+ $query = new WP_Term_Query( wp_parse_args( $query_args, array(
+ 'search' => $term,
+ 'taxonomy' => $option,
+ 'hide_empty' => false,
+ 'number' => 25,
+ ) ) );
+
+ } else {
+
+ $query = new WP_Term_Query( wp_parse_args( $query_args, array(
+ 'taxonomy' => $option,
+ 'hide_empty' => false,
+ ) ) );
+
+ }
+
+ if ( ! is_wp_error( $query ) && ! empty( $query->terms ) ) {
+ foreach ( $query->terms as $item ) {
+ $options[$item->term_id] = $item->name;
+ }
+ }
+
+ break;
+
+ case 'user':
+ case 'users':
+
+ if ( ! empty( $term ) ) {
+
+ $query = new WP_User_Query( array(
+ 'search' => '*'. $term .'*',
+ 'number' => 25,
+ 'orderby' => 'title',
+ 'order' => 'ASC',
+ 'fields' => array( 'display_name', 'ID' )
+ ) );
+
+ } else {
+
+ $query = new WP_User_Query( array( 'fields' => array( 'display_name', 'ID' ) ) );
+
+ }
+
+ if ( ! is_wp_error( $query ) && ! empty( $query->get_results() ) ) {
+ foreach ( $query->get_results() as $item ) {
+ $options[$item->ID] = $item->display_name;
+ }
+ }
+
+ break;
+
+ case 'sidebar':
+ case 'sidebars':
+
+ global $wp_registered_sidebars;
+
+ if ( ! empty( $wp_registered_sidebars ) ) {
+ foreach ( $wp_registered_sidebars as $sidebar ) {
+ $options[$sidebar['id']] = $sidebar['name'];
+ }
+ }
+
+ $array_search = true;
+
+ break;
+
+ case 'role':
+ case 'roles':
+
+ global $wp_roles;
+
+ if ( ! empty( $wp_roles ) ) {
+ if ( ! empty( $wp_roles->roles ) ) {
+ foreach ( $wp_roles->roles as $role_key => $role_value ) {
+ $options[$role_key] = $role_value['name'];
+ }
+ }
+ }
+
+ $array_search = true;
+
+ break;
+
+ case 'post_type':
+ case 'post_types':
+
+ $post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
+
+ if ( ! is_wp_error( $post_types ) && ! empty( $post_types ) ) {
+ foreach ( $post_types as $post_type ) {
+ $options[$post_type->name] = $post_type->labels->name;
+ }
+ }
+
+ $array_search = true;
+
+ break;
+
+ case 'location':
+ case 'locations':
+
+ $nav_menus = get_registered_nav_menus();
+
+ if ( ! is_wp_error( $nav_menus ) && ! empty( $nav_menus ) ) {
+ foreach ( $nav_menus as $nav_menu_key => $nav_menu_name ) {
+ $options[$nav_menu_key] = $nav_menu_name;
+ }
+ }
+
+ $array_search = true;
+
+ break;
+
+ default:
+
+ if ( is_callable( $type ) ) {
+ if ( ! empty( $term ) ) {
+ $options = call_user_func( $type, $query_args );
+ } else {
+ $options = call_user_func( $type, $term, $query_args );
+ }
+ }
+
+ break;
+
+ }
+
+ // Array search by "term"
+ if ( ! empty( $term ) && ! empty( $options ) && ! empty( $array_search ) ) {
+ $options = preg_grep( '/'. $term .'/i', $options );
+ }
+
+ // Make multidimensional array for ajax search
+ if ( ! empty( $term ) && ! empty( $options ) ) {
+ $arr = array();
+ foreach ( $options as $option_key => $option_value ) {
+ $arr[] = array( 'value' => $option_key, 'text' => $option_value );
+ }
+ $options = $arr;
+ }
+
+ return $options;
+
+ }
+
+ public function field_wp_query_data_title( $type, $values ) {
+
+ $options = array();
+
+ if ( ! empty( $values ) && is_array( $values ) ) {
+
+ foreach ( $values as $value ) {
+
+ $options[$value] = ucfirst( $value );
+
+ switch( $type ) {
+
+ case 'post':
+ case 'posts':
+ case 'page':
+ case 'pages':
+
+ $title = get_the_title( $value );
+
+ if ( ! is_wp_error( $title ) && ! empty( $title ) ) {
+ $options[$value] = $title;
+ }
+
+ break;
+
+ case 'category':
+ case 'categories':
+ case 'tag':
+ case 'tags':
+ case 'menu':
+ case 'menus':
+
+ $term = get_term( $value );
+
+ if ( ! is_wp_error( $term ) && ! empty( $term ) ) {
+ $options[$value] = $term->name;
+ }
+
+ break;
+
+ case 'user':
+ case 'users':
+
+ $user = get_user_by( 'id', $value );
+
+ if ( ! is_wp_error( $user ) && ! empty( $user ) ) {
+ $options[$value] = $user->display_name;
+ }
+
+ break;
+
+ case 'sidebar':
+ case 'sidebars':
+
+ global $wp_registered_sidebars;
+
+ if ( ! empty( $wp_registered_sidebars[$value] ) ) {
+ $options[$value] = $wp_registered_sidebars[$value]['name'];
+ }
+
+ break;
+
+ case 'role':
+ case 'roles':
+
+ global $wp_roles;
+
+ if ( ! empty( $wp_roles ) && ! empty( $wp_roles->roles ) && ! empty( $wp_roles->roles[$value] ) ) {
+ $options[$value] = $wp_roles->roles[$value]['name'];
+ }
+
+ break;
+
+ case 'post_type':
+ case 'post_types':
+
+ $post_types = get_post_types( array( 'show_in_nav_menus' => true ) );
+
+ if ( ! is_wp_error( $post_types ) && ! empty( $post_types ) && ! empty( $post_types[$value] ) ) {
+ $options[$value] = ucfirst( $value );
+ }
+
+ break;
+
+ case 'location':
+ case 'locations':
+
+ $nav_menus = get_registered_nav_menus();
+
+ if ( ! is_wp_error( $nav_menus ) && ! empty( $nav_menus ) && ! empty( $nav_menus[$value] ) ) {
+ $options[$value] = $nav_menus[$value];
+ }
+
+ break;
+
+ default:
+
+ if ( is_callable( $type .'_title' ) ) {
+ $options[$value] = call_user_func( $type .'_title', $value );
+ }
+
+ break;
+
+ }
+
+ }
+
+ }
+
+ return $options;
+
+ }
+
+ }
+}
diff --git a/classes/setup.class.php b/classes/setup.class.php
new file mode 100644
index 0000000..deb3fb2
--- /dev/null
+++ b/classes/setup.class.php
@@ -0,0 +1,792 @@
+ array(),
+ 'customize_options' => array(),
+ 'metabox_options' => array(),
+ 'nav_menu_options' => array(),
+ 'profile_options' => array(),
+ 'taxonomy_options' => array(),
+ 'widget_options' => array(),
+ 'comment_options' => array(),
+ 'shortcode_options' => array(),
+ );
+
+ // Shortcode instances
+ public static $shortcode_instances = array();
+
+ private static $instance = null;
+
+ public static function init( $file = __FILE__ ) {
+
+ // Set file constant
+ self::$file = $file;
+
+ // Set constants
+ self::constants();
+
+ // Include files
+ self::includes();
+
+ if ( is_null( self::$instance ) ) {
+ self::$instance = new self();
+ }
+
+ return self::$instance;
+
+ }
+
+ // Initalize
+ public function __construct() {
+
+ // Init action
+ do_action( 'csf_init' );
+
+ // Setup textdomain
+ self::textdomain();
+
+ add_action( 'after_setup_theme', array( 'CSF', 'setup' ) );
+ add_action( 'init', array( 'CSF', 'setup' ) );
+ add_action( 'switch_theme', array( 'CSF', 'setup' ) );
+ add_action( 'admin_enqueue_scripts', array( 'CSF', 'add_admin_enqueue_scripts' ) );
+ add_action( 'wp_enqueue_scripts', array( 'CSF', 'add_typography_enqueue_styles' ), 80 );
+ add_action( 'wp_head', array( 'CSF', 'add_custom_css' ), 80 );
+ add_filter( 'admin_body_class', array( 'CSF', 'add_admin_body_class' ) );
+
+ }
+
+ // Setup frameworks
+ public static function setup() {
+
+ // Welcome page
+ self::include_plugin_file( 'views/welcome.php' );
+
+ // Setup admin option framework
+ $params = array();
+ if ( class_exists( 'CSF_Options' ) && ! empty( self::$args['admin_options'] ) ) {
+ foreach ( self::$args['admin_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Options::instance( $key, $params );
+
+ if ( ! empty( $value['show_in_customizer'] ) ) {
+ $value['output_css'] = false;
+ $value['enqueue_webfont'] = false;
+ self::$args['customize_options'][$key] = $value;
+ self::$inited[$key] = null;
+ }
+
+ }
+ }
+ }
+
+ // Setup customize option framework
+ $params = array();
+ if ( class_exists( 'CSF_Customize_Options' ) && ! empty( self::$args['customize_options'] ) ) {
+ foreach ( self::$args['customize_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Customize_Options::instance( $key, $params );
+
+ }
+ }
+ }
+
+ // Setup metabox option framework
+ $params = array();
+ if ( class_exists( 'CSF_Metabox' ) && ! empty( self::$args['metabox_options'] ) ) {
+ foreach ( self::$args['metabox_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Metabox::instance( $key, $params );
+
+ }
+ }
+ }
+
+ // Setup nav menu option framework
+ $params = array();
+ if ( class_exists( 'CSF_Nav_Menu_Options' ) && ! empty( self::$args['nav_menu_options'] ) ) {
+ foreach ( self::$args['nav_menu_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Nav_Menu_Options::instance( $key, $params );
+
+ }
+ }
+ }
+
+ // Setup profile option framework
+ $params = array();
+ if ( class_exists( 'CSF_Profile_Options' ) && ! empty( self::$args['profile_options'] ) ) {
+ foreach ( self::$args['profile_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Profile_Options::instance( $key, $params );
+
+ }
+ }
+ }
+
+ // Setup taxonomy option framework
+ $params = array();
+ if ( class_exists( 'CSF_Taxonomy_Options' ) && ! empty( self::$args['taxonomy_options'] ) ) {
+ $taxonomy = ( isset( $_GET['taxonomy'] ) ) ? sanitize_text_field( wp_unslash( $_GET['taxonomy'] ) ) : '';
+ foreach ( self::$args['taxonomy_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Taxonomy_Options::instance( $key, $params );
+
+ }
+ }
+ }
+
+ // Setup widget option framework
+ if ( class_exists( 'CSF_Widget' ) && class_exists( 'WP_Widget_Factory' ) && ! empty( self::$args['widget_options'] ) ) {
+ $wp_widget_factory = new WP_Widget_Factory();
+ global $wp_widget_factory;
+ foreach ( self::$args['widget_options'] as $key => $value ) {
+ if ( ! isset( self::$inited[$key] ) ) {
+
+ self::$inited[$key] = true;
+ $wp_widget_factory->register( CSF_Widget::instance( $key, $value ) );
+
+ }
+ }
+ }
+
+ // Setup comment option framework
+ $params = array();
+ if ( class_exists( 'CSF_Comment_Metabox' ) && ! empty( self::$args['comment_options'] ) ) {
+ foreach ( self::$args['comment_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Comment_Metabox::instance( $key, $params );
+
+ }
+ }
+ }
+
+ // Setup shortcode option framework
+ $params = array();
+ if ( class_exists( 'CSF_Shortcoder' ) && ! empty( self::$args['shortcode_options'] ) ) {
+ foreach ( self::$args['shortcode_options'] as $key => $value ) {
+ if ( ! empty( self::$args['sections'][$key] ) && ! isset( self::$inited[$key] ) ) {
+
+ $params['args'] = $value;
+ $params['sections'] = self::$args['sections'][$key];
+ self::$inited[$key] = true;
+
+ CSF_Shortcoder::instance( $key, $params );
+
+ }
+ }
+
+ // Once editor setup for gutenberg and media buttons
+ if ( class_exists( 'CSF_Shortcoder' ) && ! empty( self::$shortcode_instances ) ) {
+ foreach ( self::$shortcode_instances as $instance ) {
+ if ( ! empty( $instance['show_in_editor'] ) ) {
+ CSF_Shortcoder::once_editor_setup();
+ break;
+ }
+ }
+ }
+
+ }
+
+ do_action( 'csf_loaded' );
+
+ }
+
+ // Create options
+ public static function createOptions( $id, $args = array() ) {
+ self::$args['admin_options'][$id] = $args;
+ }
+
+ // Create customize options
+ public static function createCustomizeOptions( $id, $args = array() ) {
+ self::$args['customize_options'][$id] = $args;
+ }
+
+ // Create metabox options
+ public static function createMetabox( $id, $args = array() ) {
+ self::$args['metabox_options'][$id] = $args;
+ }
+
+ // Create menu options
+ public static function createNavMenuOptions( $id, $args = array() ) {
+ self::$args['nav_menu_options'][$id] = $args;
+ }
+
+ // Create shortcoder options
+ public static function createShortcoder( $id, $args = array() ) {
+ self::$args['shortcode_options'][$id] = $args;
+ }
+
+ // Create taxonomy options
+ public static function createTaxonomyOptions( $id, $args = array() ) {
+ self::$args['taxonomy_options'][$id] = $args;
+ }
+
+ // Create profile options
+ public static function createProfileOptions( $id, $args = array() ) {
+ self::$args['profile_options'][$id] = $args;
+ }
+
+ // Create widget
+ public static function createWidget( $id, $args = array() ) {
+ self::$args['widget_options'][$id] = $args;
+ self::set_used_fields( $args );
+ }
+
+ // Create comment metabox
+ public static function createCommentMetabox( $id, $args = array() ) {
+ self::$args['comment_options'][$id] = $args;
+ }
+
+ // Create section
+ public static function createSection( $id, $sections ) {
+ self::$args['sections'][$id][] = $sections;
+ self::set_used_fields( $sections );
+ }
+
+ // Set directory constants
+ public static function constants() {
+
+ // We need this path-finder code for set URL of framework
+ $dirname = str_replace( '//', '/', wp_normalize_path( dirname( dirname( self::$file ) ) ) );
+ $theme_dir = str_replace( '//', '/', wp_normalize_path( get_parent_theme_file_path() ) );
+ $plugin_dir = str_replace( '//', '/', wp_normalize_path( WP_PLUGIN_DIR ) );
+ $plugin_dir = str_replace( '/opt/bitnami', '/bitnami', $plugin_dir );
+ $located_plugin = ( preg_match( '#'. self::sanitize_dirname( $plugin_dir ) .'#', self::sanitize_dirname( $dirname ) ) ) ? true : false;
+ $directory = ( $located_plugin ) ? $plugin_dir : $theme_dir;
+ $directory_uri = ( $located_plugin ) ? WP_PLUGIN_URL : get_parent_theme_file_uri();
+ $foldername = str_replace( $directory, '', $dirname );
+ $protocol_uri = ( is_ssl() ) ? 'https' : 'http';
+ $directory_uri = set_url_scheme( $directory_uri, $protocol_uri );
+
+ self::$dir = $dirname;
+ self::$url = $directory_uri . $foldername;
+
+ }
+
+ // Include file helper
+ public static function include_plugin_file( $file, $load = true ) {
+
+ $path = '';
+ $file = ltrim( $file, '/' );
+ $override = apply_filters( 'csf_override', 'csf-override' );
+
+ if ( file_exists( get_parent_theme_file_path( $override .'/'. $file ) ) ) {
+ $path = get_parent_theme_file_path( $override .'/'. $file );
+ } elseif ( file_exists( get_theme_file_path( $override .'/'. $file ) ) ) {
+ $path = get_theme_file_path( $override .'/'. $file );
+ } elseif ( file_exists( self::$dir .'/'. $override .'/'. $file ) ) {
+ $path = self::$dir .'/'. $override .'/'. $file;
+ } elseif ( file_exists( self::$dir .'/'. $file ) ) {
+ $path = self::$dir .'/'. $file;
+ }
+
+ if ( ! empty( $path ) && ! empty( $file ) && $load ) {
+
+ global $wp_query;
+
+ if ( is_object( $wp_query ) && function_exists( 'load_template' ) ) {
+
+ load_template( $path, true );
+
+ } else {
+
+ require_once( $path );
+
+ }
+
+ } else {
+
+ return self::$dir .'/'. $file;
+
+ }
+
+ }
+
+ // Is active plugin helper
+ public static function is_active_plugin( $file = '' ) {
+ return in_array( $file, (array) get_option( 'active_plugins', array() ) );
+ }
+
+ // Sanitize dirname
+ public static function sanitize_dirname( $dirname ) {
+ return preg_replace( '/[^A-Za-z]/', '', $dirname );
+ }
+
+ // Set url constant
+ public static function include_plugin_url( $file ) {
+ return esc_url( self::$url ) .'/'. ltrim( $file, '/' );
+ }
+
+ // Include files
+ public static function includes() {
+
+ // Helpers
+ self::include_plugin_file( 'functions/actions.php' );
+ self::include_plugin_file( 'functions/helpers.php' );
+ self::include_plugin_file( 'functions/sanitize.php' );
+ self::include_plugin_file( 'functions/validate.php' );
+
+ // Includes free version classes
+ self::include_plugin_file( 'classes/abstract.class.php' );
+ self::include_plugin_file( 'classes/fields.class.php' );
+ self::include_plugin_file( 'classes/admin-options.class.php' );
+
+ // Includes premium version classes
+ if ( self::$premium ) {
+ self::include_plugin_file( 'classes/customize-options.class.php' );
+ self::include_plugin_file( 'classes/metabox-options.class.php' );
+ self::include_plugin_file( 'classes/nav-menu-options.class.php' );
+ self::include_plugin_file( 'classes/profile-options.class.php' );
+ self::include_plugin_file( 'classes/shortcode-options.class.php' );
+ self::include_plugin_file( 'classes/taxonomy-options.class.php' );
+ self::include_plugin_file( 'classes/widget-options.class.php' );
+ self::include_plugin_file( 'classes/comment-options.class.php' );
+ }
+
+ // Include all framework fields
+ $fields = apply_filters( 'csf_fields', array(
+ 'accordion',
+ 'background',
+ 'backup',
+ 'border',
+ 'button_set',
+ 'callback',
+ 'checkbox',
+ 'code_editor',
+ 'color',
+ 'color_group',
+ 'content',
+ 'date',
+ 'datetime',
+ 'dimensions',
+ 'fieldset',
+ 'gallery',
+ 'group',
+ 'heading',
+ 'icon',
+ 'image_select',
+ 'link',
+ 'link_color',
+ 'map',
+ 'media',
+ 'notice',
+ 'number',
+ 'palette',
+ 'radio',
+ 'repeater',
+ 'select',
+ 'slider',
+ 'sortable',
+ 'sorter',
+ 'spacing',
+ 'spinner',
+ 'subheading',
+ 'submessage',
+ 'switcher',
+ 'tabbed',
+ 'text',
+ 'textarea',
+ 'typography',
+ 'upload',
+ 'wp_editor',
+ ) );
+
+ if ( ! empty( $fields ) ) {
+ foreach ( $fields as $field ) {
+ if ( ! class_exists( 'CSF_Field_'. $field ) && class_exists( 'CSF_Fields' ) ) {
+ self::include_plugin_file( 'fields/'. $field .'/'. $field .'.php' );
+ }
+ }
+ }
+
+ }
+
+ // Setup textdomain
+ public static function textdomain() {
+ load_textdomain( 'csf', self::$dir .'/languages/'. get_locale() .'.mo' );
+ }
+
+ // Set all of used fields
+ public static function set_used_fields( $sections ) {
+
+ if ( ! empty( $sections['fields'] ) ) {
+
+ foreach ( $sections['fields'] as $field ) {
+
+ if ( ! empty( $field['fields'] ) ) {
+ self::set_used_fields( $field );
+ }
+
+ if ( ! empty( $field['tabs'] ) ) {
+ self::set_used_fields( array( 'fields' => $field['tabs'] ) );
+ }
+
+ if ( ! empty( $field['accordions'] ) ) {
+ self::set_used_fields( array( 'fields' => $field['accordions'] ) );
+ }
+
+ if ( ! empty( $field['type'] ) ) {
+ self::$fields[$field['type']] = $field;
+ }
+
+ }
+
+ }
+
+ }
+
+ // Enqueue admin and fields styles and scripts
+ public static function add_admin_enqueue_scripts() {
+
+ if ( ! self::$enqueue ) {
+
+ // Loads scripts and styles only when needed
+ $wpscreen = get_current_screen();
+
+ if ( ! empty( self::$args['admin_options'] ) ) {
+ foreach ( self::$args['admin_options'] as $argument ) {
+ if ( substr( $wpscreen->id, -strlen( $argument['menu_slug'] ) ) === $argument['menu_slug'] ) {
+ self::$enqueue = true;
+ }
+ }
+ }
+
+ if ( ! empty( self::$args['metabox_options'] ) ) {
+ foreach ( self::$args['metabox_options'] as $argument ) {
+ if ( in_array( $wpscreen->post_type, (array) $argument['post_type'] ) ) {
+ self::$enqueue = true;
+ }
+ }
+ }
+
+ if ( ! empty( self::$args['taxonomy_options'] ) ) {
+ foreach ( self::$args['taxonomy_options'] as $argument ) {
+ if ( in_array( $wpscreen->taxonomy, (array) $argument['taxonomy'] ) ) {
+ self::$enqueue = true;
+ }
+ }
+ }
+
+ if ( ! empty( self::$shortcode_instances ) ) {
+ foreach ( self::$shortcode_instances as $argument ) {
+ if ( ( $argument['show_in_editor'] && $wpscreen->base === 'post' ) || $argument['show_in_custom'] ) {
+ self::$enqueue = true;
+ }
+ }
+ }
+
+ if ( ! empty( self::$args['widget_options'] ) && ( $wpscreen->id === 'widgets' || $wpscreen->id === 'customize' ) ) {
+ self::$enqueue = true;
+ }
+
+ if ( ! empty( self::$args['customize_options'] ) && $wpscreen->id === 'customize' ) {
+ self::$enqueue = true;
+ }
+
+ if ( ! empty( self::$args['nav_menu_options'] ) && $wpscreen->id === 'nav-menus' ) {
+ self::$enqueue = true;
+ }
+
+ if ( ! empty( self::$args['profile_options'] ) && ( $wpscreen->id === 'profile' || $wpscreen->id === 'user-edit' ) ) {
+ self::$enqueue = true;
+ }
+
+ if ( ! empty( self::$args['comment_options'] ) && $wpscreen->id === 'comment' ) {
+ self::$enqueue = true;
+ }
+
+ if ( $wpscreen->id === 'tools_page_csf-welcome' ) {
+ self::$enqueue = true;
+ }
+
+ }
+
+ if ( ! apply_filters( 'csf_enqueue_assets', self::$enqueue ) ) {
+ return;
+ }
+
+ // Check for developer mode
+ $min = ( self::$premium && SCRIPT_DEBUG ) ? '' : '.min';
+
+ // Admin utilities
+ wp_enqueue_media();
+
+ // Wp color picker
+ wp_enqueue_style( 'wp-color-picker' );
+ wp_enqueue_script( 'wp-color-picker' );
+
+ // Font awesome 4 and 5 loader
+ if ( apply_filters( 'csf_fa4', false ) ) {
+ wp_enqueue_style( 'csf-fa', 'https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome'. $min .'.css', array(), '4.7.0', 'all' );
+ } else {
+ wp_enqueue_style( 'csf-fa5', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/all'. $min .'.css', array(), '5.15.5', 'all' );
+ wp_enqueue_style( 'csf-fa5-v4-shims', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/v4-shims'. $min .'.css', array(), '5.15.5', 'all' );
+ }
+
+ // Main style
+ wp_enqueue_style( 'csf', self::include_plugin_url( 'assets/css/style'. $min .'.css' ), array(), self::$version, 'all' );
+
+ // Main RTL styles
+ if ( is_rtl() ) {
+ wp_enqueue_style( 'csf-rtl', self::include_plugin_url( 'assets/css/style-rtl'. $min .'.css' ), array(), self::$version, 'all' );
+ }
+
+ // Main scripts
+ wp_enqueue_script( 'csf-plugins', self::include_plugin_url( 'assets/js/plugins'. $min .'.js' ), array(), self::$version, true );
+ wp_enqueue_script( 'csf', self::include_plugin_url( 'assets/js/main'. $min .'.js' ), array( 'csf-plugins' ), self::$version, true );
+
+ // Main variables
+ wp_localize_script( 'csf', 'csf_vars', array(
+ 'color_palette' => apply_filters( 'csf_color_palette', array() ),
+ 'i18n' => array(
+ 'confirm' => esc_html__( 'Are you sure?', 'csf' ),
+ 'typing_text' => esc_html__( 'Please enter %s or more characters', 'csf' ),
+ 'searching_text' => esc_html__( 'Searching...', 'csf' ),
+ 'no_results_text' => esc_html__( 'No results found.', 'csf' ),
+ ),
+ ) );
+
+ // Enqueue fields scripts and styles
+ $enqueued = array();
+
+ if ( ! empty( self::$fields ) ) {
+ foreach ( self::$fields as $field ) {
+ if ( ! empty( $field['type'] ) ) {
+ $classname = 'CSF_Field_' . $field['type'];
+ if ( class_exists( $classname ) && method_exists( $classname, 'enqueue' ) ) {
+ $instance = new $classname( $field );
+ if ( method_exists( $classname, 'enqueue' ) ) {
+ $instance->enqueue();
+ }
+ unset( $instance );
+ }
+ }
+ }
+ }
+
+ do_action( 'csf_enqueue' );
+
+ }
+
+ // Add typography enqueue styles to front page
+ public static function add_typography_enqueue_styles() {
+
+ if ( ! empty( self::$webfonts ) ) {
+
+ if ( ! empty( self::$webfonts['enqueue'] ) ) {
+
+ $query = array();
+ $fonts = array();
+
+ foreach ( self::$webfonts['enqueue'] as $family => $styles ) {
+ $fonts[] = $family . ( ( ! empty( $styles ) ) ? ':'. implode( ',', $styles ) : '' );
+ }
+
+ if ( ! empty( $fonts ) ) {
+ $query['family'] = implode( '%7C', $fonts );
+ }
+
+ if ( ! empty( self::$subsets ) ) {
+ $query['subset'] = implode( ',', self::$subsets );
+ }
+
+ $query['display'] = 'swap';
+
+ wp_enqueue_style( 'csf-google-web-fonts', esc_url( add_query_arg( $query, '//fonts.googleapis.com/css' ) ), array(), null );
+
+ }
+
+ if ( ! empty( self::$webfonts['async'] ) ) {
+
+ $fonts = array();
+
+ foreach ( self::$webfonts['async'] as $family => $styles ) {
+ $fonts[] = $family . ( ( ! empty( $styles ) ) ? ':'. implode( ',', $styles ) : '' );
+ }
+
+ wp_enqueue_script( 'csf-google-web-fonts', esc_url( '//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js' ), array(), null );
+
+ wp_localize_script( 'csf-google-web-fonts', 'WebFontConfig', array( 'google' => array( 'families' => $fonts ) ) );
+
+ }
+
+ }
+
+ }
+
+ // Add admin body class
+ public static function add_admin_body_class( $classes ) {
+
+ if ( apply_filters( 'csf_fa4', false ) ) {
+ $classes .= 'csf-fa5-shims';
+ }
+
+ return $classes;
+
+ }
+
+ // Add custom css to front page
+ public static function add_custom_css() {
+
+ if ( ! empty( self::$css ) ) {
+ echo '';
+ }
+
+ }
+
+ // Add a new framework field
+ public static function field( $field = array(), $value = '', $unique = '', $where = '', $parent = '' ) {
+
+ // Check for unallow fields
+ if ( ! empty( $field['_notice'] ) ) {
+
+ $field_type = $field['type'];
+
+ $field = array();
+ $field['content'] = esc_html__( 'Oops! Not allowed.', 'csf' ) .' ('. $field_type .') ';
+ $field['type'] = 'notice';
+ $field['style'] = 'danger';
+
+ }
+
+ $depend = '';
+ $visible = '';
+ $unique = ( ! empty( $unique ) ) ? $unique : '';
+ $class = ( ! empty( $field['class'] ) ) ? ' ' . esc_attr( $field['class'] ) : '';
+ $is_pseudo = ( ! empty( $field['pseudo'] ) ) ? ' csf-pseudo-field' : '';
+ $field_type = ( ! empty( $field['type'] ) ) ? esc_attr( $field['type'] ) : '';
+
+ if ( ! empty( $field['dependency'] ) ) {
+
+ $dependency = $field['dependency'];
+ $depend_visible = '';
+ $data_controller = '';
+ $data_condition = '';
+ $data_value = '';
+ $data_global = '';
+
+ if ( is_array( $dependency[0] ) ) {
+ $data_controller = implode( '|', array_column( $dependency, 0 ) );
+ $data_condition = implode( '|', array_column( $dependency, 1 ) );
+ $data_value = implode( '|', array_column( $dependency, 2 ) );
+ $data_global = implode( '|', array_column( $dependency, 3 ) );
+ $depend_visible = implode( '|', array_column( $dependency, 4 ) );
+ } else {
+ $data_controller = ( ! empty( $dependency[0] ) ) ? $dependency[0] : '';
+ $data_condition = ( ! empty( $dependency[1] ) ) ? $dependency[1] : '';
+ $data_value = ( ! empty( $dependency[2] ) ) ? $dependency[2] : '';
+ $data_global = ( ! empty( $dependency[3] ) ) ? $dependency[3] : '';
+ $depend_visible = ( ! empty( $dependency[4] ) ) ? $dependency[4] : '';
+ }
+
+ $depend .= ' data-controller="'. esc_attr( $data_controller ) .'"';
+ $depend .= ' data-condition="'. esc_attr( $data_condition ) .'"';
+ $depend .= ' data-value="'. esc_attr( $data_value ) .'"';
+ $depend .= ( ! empty( $data_global ) ) ? ' data-depend-global="true"' : '';
+
+ $visible = ( ! empty( $depend_visible ) ) ? ' csf-depend-visible' : ' csf-depend-hidden';
+
+ }
+
+ // These attributes has been sanitized above.
+ echo '';
+
+ if ( ! empty( $field_type ) ) {
+
+ if ( ! empty( $field['fancy_title'] ) ) {
+ echo '
' . $field['fancy_title'] .'
';
+ }
+
+ if ( ! empty( $field['title'] ) ) {
+ echo '
';
+ echo '
'. $field['title'] .' ';
+ echo ( ! empty( $field['subtitle'] ) ) ? '
'. $field['subtitle'] .'
' : '';
+ echo '
';
+ }
+
+ echo ( ! empty( $field['title'] ) || ! empty( $field['fancy_title'] ) ) ? '
' : '';
+
+ $value = ( ! isset( $value ) && isset( $field['default'] ) ) ? $field['default'] : $value;
+ $value = ( isset( $field['value'] ) ) ? $field['value'] : $value;
+
+ $classname = 'CSF_Field_'. $field_type;
+
+ if ( class_exists( $classname ) ) {
+ $instance = new $classname( $field, $value, $unique, $where, $parent );
+ $instance->render();
+ } else {
+ echo '
'. esc_html__( 'Field not found!', 'csf' ) .'
';
+ }
+
+ } else {
+ echo '
'. esc_html__( 'Field not found!', 'csf' ) .'
';
+ }
+
+ echo ( ! empty( $field['title'] ) || ! empty( $field['fancy_title'] ) ) ? '
' : '';
+ echo '
';
+ echo '
';
+
+ }
+
+ }
+
+}
+
+CSF::init( __FILE__ );
diff --git a/codestar-framework.php b/codestar-framework.php
new file mode 100644
index 0000000..fc0f453
--- /dev/null
+++ b/codestar-framework.php
@@ -0,0 +1,20 @@
+
+ * @link http://codestarframework.com
+ * @copyright 2015-2022 Codestar
+ *
+ *
+ * Plugin Name: Codestar Framework
+ * Plugin URI: http://codestarframework.com/
+ * Author: Codestar
+ * Author URI: http://codestarthemes.com/
+ * Version: 2.2.6
+ * Description: A Simple and Lightweight WordPress Option Framework for Themes and Plugins
+ * Text Domain: csf
+ * Domain Path: /languages
+ *
+ */
+require_once plugin_dir_path( __FILE__ ) .'classes/setup.class.php';
diff --git a/fields/accordion/accordion.php b/fields/accordion/accordion.php
new file mode 100644
index 0000000..0011079
--- /dev/null
+++ b/fields/accordion/accordion.php
@@ -0,0 +1,64 @@
+field_before();
+
+ echo '';
+
+ foreach ( $this->field['accordions'] as $key => $accordion ) {
+
+ echo '
';
+
+ $icon = ( ! empty( $accordion['icon'] ) ) ? 'csf--icon '. $accordion['icon'] : 'csf-accordion-icon fas fa-angle-right';
+
+ echo '
';
+ echo ' ';
+ echo esc_html( $accordion['title'] );
+ echo ' ';
+
+ echo '
';
+
+ foreach ( $accordion['fields'] as $field ) {
+
+ if ( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; }
+
+ $field_id = ( isset( $field['id'] ) ) ? $field['id'] : '';
+ $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
+ $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
+ $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
+
+ CSF::field( $field, $field_value, $unique_id, 'field/accordion' );
+
+ }
+
+ echo '
';
+
+ echo '
';
+
+ }
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/background/background.php b/fields/background/background.php
new file mode 100644
index 0000000..d47abec
--- /dev/null
+++ b/fields/background/background.php
@@ -0,0 +1,340 @@
+field, array(
+ 'background_color' => true,
+ 'background_image' => true,
+ 'background_position' => true,
+ 'background_repeat' => true,
+ 'background_attachment' => true,
+ 'background_size' => true,
+ 'background_origin' => false,
+ 'background_clip' => false,
+ 'background_blend_mode' => false,
+ 'background_gradient' => false,
+ 'background_gradient_color' => true,
+ 'background_gradient_direction' => true,
+ 'background_image_preview' => true,
+ 'background_auto_attributes' => false,
+ 'compact' => false,
+ 'background_image_library' => 'image',
+ 'background_image_placeholder' => esc_html__( 'Not selected', 'csf' ),
+ ) );
+
+ if ( $args['compact'] ) {
+ $args['background_color'] = false;
+ $args['background_auto_attributes'] = true;
+ }
+
+ $default_value = array(
+ 'background-color' => '',
+ 'background-image' => '',
+ 'background-position' => '',
+ 'background-repeat' => '',
+ 'background-attachment' => '',
+ 'background-size' => '',
+ 'background-origin' => '',
+ 'background-clip' => '',
+ 'background-blend-mode' => '',
+ 'background-gradient-color' => '',
+ 'background-gradient-direction' => '',
+ );
+
+ $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
+
+ $this->value = wp_parse_args( $this->value, $default_value );
+
+ echo $this->field_before();
+
+ echo '';
+
+ //
+ // Background Color
+ if ( ! empty( $args['background_color'] ) ) {
+
+ echo '
';
+
+ echo ( ! empty( $args['background_gradient'] ) ) ? '
'. esc_html__( 'From', 'csf' ) .'
' : '';
+
+ CSF::field( array(
+ 'id' => 'background-color',
+ 'type' => 'color',
+ 'default' => $default_value['background-color'],
+ ), $this->value['background-color'], $this->field_name(), 'field/background' );
+
+ echo '
';
+
+ }
+
+ //
+ // Background Gradient Color
+ if ( ! empty( $args['background_gradient_color'] ) && ! empty( $args['background_gradient'] ) ) {
+
+ echo '
';
+
+ echo ( ! empty( $args['background_gradient'] ) ) ? '
'. esc_html__( 'To', 'csf' ) .'
' : '';
+
+ CSF::field( array(
+ 'id' => 'background-gradient-color',
+ 'type' => 'color',
+ 'default' => $default_value['background-gradient-color'],
+ ), $this->value['background-gradient-color'], $this->field_name(), 'field/background' );
+
+ echo '
';
+
+ }
+
+ //
+ // Background Gradient Direction
+ if ( ! empty( $args['background_gradient_direction'] ) && ! empty( $args['background_gradient'] ) ) {
+
+ echo '
';
+
+ echo ( ! empty( $args['background_gradient'] ) ) ? '
'. esc_html__( 'Direction', 'csf' ) .'
' : '';
+
+ CSF::field( array(
+ 'id' => 'background-gradient-direction',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Gradient Direction', 'csf' ),
+ 'to bottom' => esc_html__( '⇓ top to bottom', 'csf' ),
+ 'to right' => esc_html__( '⇒ left to right', 'csf' ),
+ '135deg' => esc_html__( '⇘ corner top to right', 'csf' ),
+ '-135deg' => esc_html__( '⇙ corner top to left', 'csf' ),
+ ),
+ ), $this->value['background-gradient-direction'], $this->field_name(), 'field/background' );
+
+ echo '
';
+
+ }
+
+ echo '
';
+
+ //
+ // Background Image
+ if ( ! empty( $args['background_image'] ) ) {
+
+ echo '';
+
+ CSF::field( array(
+ 'id' => 'background-image',
+ 'type' => 'media',
+ 'class' => 'csf-assign-field-background',
+ 'library' => $args['background_image_library'],
+ 'preview' => $args['background_image_preview'],
+ 'placeholder' => $args['background_image_placeholder'],
+ 'attributes' => array( 'data-depend-id' => $this->field['id'] ),
+ ), $this->value['background-image'], $this->field_name(), 'field/background' );
+
+ echo '
';
+
+ }
+
+ $auto_class = ( ! empty( $args['background_auto_attributes'] ) ) ? ' csf--auto-attributes' : '';
+ $hidden_class = ( ! empty( $args['background_auto_attributes'] ) && empty( $this->value['background-image']['url'] ) ) ? ' csf--attributes-hidden' : '';
+
+ echo '';
+
+ //
+ // Background Position
+ if ( ! empty( $args['background_position'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-position',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Position', 'csf' ),
+ 'left top' => esc_html__( 'Left Top', 'csf' ),
+ 'left center' => esc_html__( 'Left Center', 'csf' ),
+ 'left bottom' => esc_html__( 'Left Bottom', 'csf' ),
+ 'center top' => esc_html__( 'Center Top', 'csf' ),
+ 'center center' => esc_html__( 'Center Center', 'csf' ),
+ 'center bottom' => esc_html__( 'Center Bottom', 'csf' ),
+ 'right top' => esc_html__( 'Right Top', 'csf' ),
+ 'right center' => esc_html__( 'Right Center', 'csf' ),
+ 'right bottom' => esc_html__( 'Right Bottom', 'csf' ),
+ ),
+ ), $this->value['background-position'], $this->field_name(), 'field/background' );
+
+ }
+
+ //
+ // Background Repeat
+ if ( ! empty( $args['background_repeat'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-repeat',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Repeat', 'csf' ),
+ 'repeat' => esc_html__( 'Repeat', 'csf' ),
+ 'no-repeat' => esc_html__( 'No Repeat', 'csf' ),
+ 'repeat-x' => esc_html__( 'Repeat Horizontally', 'csf' ),
+ 'repeat-y' => esc_html__( 'Repeat Vertically', 'csf' ),
+ ),
+ ), $this->value['background-repeat'], $this->field_name(), 'field/background' );
+
+ }
+
+ //
+ // Background Attachment
+ if ( ! empty( $args['background_attachment'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-attachment',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Attachment', 'csf' ),
+ 'scroll' => esc_html__( 'Scroll', 'csf' ),
+ 'fixed' => esc_html__( 'Fixed', 'csf' ),
+ ),
+ ), $this->value['background-attachment'], $this->field_name(), 'field/background' );
+
+ }
+
+ //
+ // Background Size
+ if ( ! empty( $args['background_size'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-size',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Size', 'csf' ),
+ 'cover' => esc_html__( 'Cover', 'csf' ),
+ 'contain' => esc_html__( 'Contain', 'csf' ),
+ 'auto' => esc_html__( 'Auto', 'csf' ),
+ ),
+ ), $this->value['background-size'], $this->field_name(), 'field/background' );
+
+ }
+
+ //
+ // Background Origin
+ if ( ! empty( $args['background_origin'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-origin',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Origin', 'csf' ),
+ 'padding-box' => esc_html__( 'Padding Box', 'csf' ),
+ 'border-box' => esc_html__( 'Border Box', 'csf' ),
+ 'content-box' => esc_html__( 'Content Box', 'csf' ),
+ ),
+ ), $this->value['background-origin'], $this->field_name(), 'field/background' );
+
+ }
+
+ //
+ // Background Clip
+ if ( ! empty( $args['background_clip'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-clip',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Clip', 'csf' ),
+ 'border-box' => esc_html__( 'Border Box', 'csf' ),
+ 'padding-box' => esc_html__( 'Padding Box', 'csf' ),
+ 'content-box' => esc_html__( 'Content Box', 'csf' ),
+ ),
+ ), $this->value['background-clip'], $this->field_name(), 'field/background' );
+
+ }
+
+ //
+ // Background Blend Mode
+ if ( ! empty( $args['background_blend_mode'] ) ) {
+
+ CSF::field( array(
+ 'id' => 'background-blend-mode',
+ 'type' => 'select',
+ 'options' => array(
+ '' => esc_html__( 'Background Blend Mode', 'csf' ),
+ 'normal' => esc_html__( 'Normal', 'csf' ),
+ 'multiply' => esc_html__( 'Multiply', 'csf' ),
+ 'screen' => esc_html__( 'Screen', 'csf' ),
+ 'overlay' => esc_html__( 'Overlay', 'csf' ),
+ 'darken' => esc_html__( 'Darken', 'csf' ),
+ 'lighten' => esc_html__( 'Lighten', 'csf' ),
+ 'color-dodge' => esc_html__( 'Color Dodge', 'csf' ),
+ 'saturation' => esc_html__( 'Saturation', 'csf' ),
+ 'color' => esc_html__( 'Color', 'csf' ),
+ 'luminosity' => esc_html__( 'Luminosity', 'csf' ),
+ ),
+ ), $this->value['background-blend-mode'], $this->field_name(), 'field/background' );
+
+ }
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $bg_image = array();
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $element = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
+
+ // Background image and gradient
+ $background_color = ( ! empty( $this->value['background-color'] ) ) ? $this->value['background-color'] : '';
+ $background_gd_color = ( ! empty( $this->value['background-gradient-color'] ) ) ? $this->value['background-gradient-color'] : '';
+ $background_gd_direction = ( ! empty( $this->value['background-gradient-direction'] ) ) ? $this->value['background-gradient-direction'] : '';
+ $background_image = ( ! empty( $this->value['background-image']['url'] ) ) ? $this->value['background-image']['url'] : '';
+
+
+ if ( $background_color && $background_gd_color ) {
+ $gd_direction = ( $background_gd_direction ) ? $background_gd_direction .',' : '';
+ $bg_image[] = 'linear-gradient('. $gd_direction . $background_color .','. $background_gd_color .')';
+ unset( $this->value['background-color'] );
+ }
+
+ if ( $background_image ) {
+ $bg_image[] = 'url('. $background_image .')';
+ }
+
+ if ( ! empty( $bg_image ) ) {
+ $output .= 'background-image:'. implode( ',', $bg_image ) . $important .';';
+ }
+
+ // Common background properties
+ $properties = array( 'color', 'position', 'repeat', 'attachment', 'size', 'origin', 'clip', 'blend-mode' );
+
+ foreach ( $properties as $property ) {
+ $property = 'background-'. $property;
+ if ( ! empty( $this->value[$property] ) ) {
+ $output .= $property .':'. $this->value[$property] . $important .';';
+ }
+ }
+
+ if ( $output ) {
+ $output = $element .'{'. $output .'}';
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/backup/backup.php b/fields/backup/backup.php
new file mode 100644
index 0000000..6f67052
--- /dev/null
+++ b/fields/backup/backup.php
@@ -0,0 +1,38 @@
+unique;
+ $nonce = wp_create_nonce( 'csf_backup_nonce' );
+ $export = add_query_arg( array( 'action' => 'csf-export', 'unique' => $unique, 'nonce' => $nonce ), admin_url( 'admin-ajax.php' ) );
+
+ echo $this->field_before();
+
+ echo '';
+ echo ''. esc_html__( 'Import', 'csf' ) .' ';
+ echo ' ';
+ echo '';
+ echo ''. esc_html__( 'Export & Download', 'csf' ) .' ';
+ echo ' ';
+ echo ''. esc_html__( 'Reset', 'csf' ) .' ';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/border/border.php b/fields/border/border.php
new file mode 100644
index 0000000..a0aa5d3
--- /dev/null
+++ b/fields/border/border.php
@@ -0,0 +1,176 @@
+field, array(
+ 'top_icon' => ' ',
+ 'left_icon' => ' ',
+ 'bottom_icon' => ' ',
+ 'right_icon' => ' ',
+ 'all_icon' => ' ',
+ 'top_placeholder' => esc_html__( 'top', 'csf' ),
+ 'right_placeholder' => esc_html__( 'right', 'csf' ),
+ 'bottom_placeholder' => esc_html__( 'bottom', 'csf' ),
+ 'left_placeholder' => esc_html__( 'left', 'csf' ),
+ 'all_placeholder' => esc_html__( 'all', 'csf' ),
+ 'top' => true,
+ 'left' => true,
+ 'bottom' => true,
+ 'right' => true,
+ 'all' => false,
+ 'color' => true,
+ 'style' => true,
+ 'unit' => 'px',
+ ) );
+
+ $default_value = array(
+ 'top' => '',
+ 'right' => '',
+ 'bottom' => '',
+ 'left' => '',
+ 'color' => '',
+ 'style' => 'solid',
+ 'all' => '',
+ );
+
+ $border_props = array(
+ 'solid' => esc_html__( 'Solid', 'csf' ),
+ 'dashed' => esc_html__( 'Dashed', 'csf' ),
+ 'dotted' => esc_html__( 'Dotted', 'csf' ),
+ 'double' => esc_html__( 'Double', 'csf' ),
+ 'inset' => esc_html__( 'Inset', 'csf' ),
+ 'outset' => esc_html__( 'Outset', 'csf' ),
+ 'groove' => esc_html__( 'Groove', 'csf' ),
+ 'ridge' => esc_html__( 'ridge', 'csf' ),
+ 'none' => esc_html__( 'None', 'csf' )
+ );
+
+ $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
+
+ $value = wp_parse_args( $this->value, $default_value );
+
+ echo $this->field_before();
+
+ echo '';
+
+ if ( ! empty( $args['color'] ) ) {
+ $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. esc_attr( $default_value['color'] ) .'"' : '';
+ echo '';
+ echo '
';
+ echo ' ';
+ echo '
';
+ echo '
';
+ }
+
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $unit = ( ! empty( $this->value['unit'] ) ) ? $this->value['unit'] : 'px';
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $element = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
+
+ // properties
+ $top = ( isset( $this->value['top'] ) && $this->value['top'] !== '' ) ? $this->value['top'] : '';
+ $right = ( isset( $this->value['right'] ) && $this->value['right'] !== '' ) ? $this->value['right'] : '';
+ $bottom = ( isset( $this->value['bottom'] ) && $this->value['bottom'] !== '' ) ? $this->value['bottom'] : '';
+ $left = ( isset( $this->value['left'] ) && $this->value['left'] !== '' ) ? $this->value['left'] : '';
+ $style = ( isset( $this->value['style'] ) && $this->value['style'] !== '' ) ? $this->value['style'] : '';
+ $color = ( isset( $this->value['color'] ) && $this->value['color'] !== '' ) ? $this->value['color'] : '';
+ $all = ( isset( $this->value['all'] ) && $this->value['all'] !== '' ) ? $this->value['all'] : '';
+
+ if ( ! empty( $this->field['all'] ) && ( $all !== '' || $color !== '' ) ) {
+
+ $output = $element .'{';
+ $output .= ( $all !== '' ) ? 'border-width:'. $all . $unit . $important .';' : '';
+ $output .= ( $color !== '' ) ? 'border-color:'. $color . $important .';' : '';
+ $output .= ( $style !== '' ) ? 'border-style:'. $style . $important .';' : '';
+ $output .= '}';
+
+ } else if ( $top !== '' || $right !== '' || $bottom !== '' || $left !== '' || $color !== '' ) {
+
+ $output = $element .'{';
+ $output .= ( $top !== '' ) ? 'border-top-width:'. $top . $unit . $important .';' : '';
+ $output .= ( $right !== '' ) ? 'border-right-width:'. $right . $unit . $important .';' : '';
+ $output .= ( $bottom !== '' ) ? 'border-bottom-width:'. $bottom . $unit . $important .';' : '';
+ $output .= ( $left !== '' ) ? 'border-left-width:'. $left . $unit . $important .';' : '';
+ $output .= ( $color !== '' ) ? 'border-color:'. $color . $important .';' : '';
+ $output .= ( $style !== '' ) ? 'border-style:'. $style . $important .';' : '';
+ $output .= '}';
+
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/button_set/button_set.php b/fields/button_set/button_set.php
new file mode 100644
index 0000000..6c7f63c
--- /dev/null
+++ b/fields/button_set/button_set.php
@@ -0,0 +1,67 @@
+field, array(
+ 'multiple' => false,
+ 'options' => array(),
+ 'query_args' => array(),
+ ) );
+
+ $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
+
+ echo $this->field_before();
+
+ if ( isset( $this->field['options'] ) ) {
+
+ $options = $this->field['options'];
+ $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) );
+
+ if ( is_array( $options ) && ! empty( $options ) ) {
+
+ echo '';
+
+ } else {
+
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' );
+
+ }
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/callback/callback.php b/fields/callback/callback.php
new file mode 100644
index 0000000..6e95129
--- /dev/null
+++ b/fields/callback/callback.php
@@ -0,0 +1,31 @@
+field['function'] ) && is_callable( $this->field['function'] ) ) {
+
+ $args = ( isset( $this->field['args'] ) ) ? $this->field['args'] : null;
+
+ call_user_func( $this->field['function'], $args );
+
+ }
+
+ }
+
+ }
+}
+
diff --git a/fields/checkbox/checkbox.php b/fields/checkbox/checkbox.php
new file mode 100644
index 0000000..cd54cd5
--- /dev/null
+++ b/fields/checkbox/checkbox.php
@@ -0,0 +1,95 @@
+field, array(
+ 'inline' => false,
+ 'query_args' => array(),
+ ) );
+
+ $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : '';
+
+ echo $this->field_before();
+
+ if ( isset( $this->field['options'] ) ) {
+
+ $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
+ $options = $this->field['options'];
+ $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) );
+
+ if ( is_array( $options ) && ! empty( $options ) ) {
+
+ echo '';
+
+ } else {
+
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' );
+
+ }
+
+ } else {
+
+ echo '';
+ echo ' field_attributes() .'/>';
+ echo ' value, 1, false ) ) . $this->field_attributes() .'/>';
+ echo ( ! empty( $this->field['label'] ) ) ? ''. esc_attr( $this->field['label'] ) .' ' : '';
+ echo ' ';
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/code_editor/code_editor.php b/fields/code_editor/code_editor.php
new file mode 100644
index 0000000..ecb2026
--- /dev/null
+++ b/fields/code_editor/code_editor.php
@@ -0,0 +1,58 @@
+ 2,
+ 'lineNumbers' => true,
+ 'theme' => 'default',
+ 'mode' => 'htmlmixed',
+ 'cdnURL' => $this->cdn_url . $this->version,
+ );
+
+ $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array();
+ $settings = wp_parse_args( $settings, $default_settings );
+
+ echo $this->field_before();
+ echo '';
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ $page = ( ! empty( $_GET[ 'page' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'page' ] ) ) : '';
+
+ // Do not loads CodeMirror in revslider page.
+ if ( in_array( $page, array( 'revslider' ) ) ) { return; }
+
+ if ( ! wp_script_is( 'csf-codemirror' ) ) {
+ wp_enqueue_script( 'csf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.js' ), array( 'csf' ), $this->version, true );
+ wp_enqueue_script( 'csf-codemirror-loadmode', esc_url( $this->cdn_url . $this->version .'/addon/mode/loadmode.min.js' ), array( 'csf-codemirror' ), $this->version, true );
+ }
+
+ if ( ! wp_style_is( 'csf-codemirror' ) ) {
+ wp_enqueue_style( 'csf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.css' ), array(), $this->version );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/color/color.php b/fields/color/color.php
new file mode 100644
index 0000000..dd43dec
--- /dev/null
+++ b/fields/color/color.php
@@ -0,0 +1,52 @@
+field['default'] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'] ) .'"' : '';
+
+ echo $this->field_before();
+ echo ' field_attributes() .'/>';
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] );
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'color';
+
+ if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
+ foreach ( $elements as $key_property => $element ) {
+ if ( is_numeric( $key_property ) ) {
+ $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $important .';}';
+ break;
+ } else {
+ $output .= $element .'{'. $key_property .':'. $this->value . $important .'}';
+ }
+ }
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/color_group/color_group.php b/fields/color_group/color_group.php
new file mode 100644
index 0000000..5b86b40
--- /dev/null
+++ b/fields/color_group/color_group.php
@@ -0,0 +1,42 @@
+field['options'] ) ) ? $this->field['options'] : array();
+
+ echo $this->field_before();
+
+ if ( ! empty( $options ) ) {
+ foreach ( $options as $key => $option ) {
+
+ $color_value = ( ! empty( $this->value[$key] ) ) ? $this->value[$key] : '';
+ $default_attr = ( ! empty( $this->field['default'][$key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$key] ) .'"' : '';
+
+ echo '';
+ echo '
'. $option .'
';
+ echo '
field_attributes() .'/>';
+ echo '
';
+
+ }
+ }
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/content/content.php b/fields/content/content.php
new file mode 100644
index 0000000..5f10908
--- /dev/null
+++ b/fields/content/content.php
@@ -0,0 +1,28 @@
+field['content'] ) ) {
+
+ echo $this->field['content'];
+
+ }
+
+ }
+
+ }
+}
diff --git a/fields/date/date.php b/fields/date/date.php
new file mode 100644
index 0000000..9c239c9
--- /dev/null
+++ b/fields/date/date.php
@@ -0,0 +1,64 @@
+ 'mm/dd/yy',
+ );
+
+ $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array();
+ $settings = wp_parse_args( $settings, $default_settings );
+
+ echo $this->field_before();
+
+ if ( ! empty( $this->field['from_to'] ) ) {
+
+ $args = wp_parse_args( $this->field, array(
+ 'text_from' => esc_html__( 'From', 'csf' ),
+ 'text_to' => esc_html__( 'To', 'csf' ),
+ ) );
+
+ $value = wp_parse_args( $this->value, array(
+ 'from' => '',
+ 'to' => '',
+ ) );
+
+ echo ''. esc_attr( $args['text_from'] ) .' field_attributes() .'/> ';
+ echo ''. esc_attr( $args['text_to'] ) .' field_attributes() .'/> ';
+
+ } else {
+
+ echo ' field_attributes() .'/>';
+
+ }
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-datepicker' ) ) {
+ wp_enqueue_script( 'jquery-ui-datepicker' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/datetime/datetime.php b/fields/datetime/datetime.php
new file mode 100644
index 0000000..ff92622
--- /dev/null
+++ b/fields/datetime/datetime.php
@@ -0,0 +1,61 @@
+ true,
+ );
+
+ $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array();
+
+ if ( ! isset( $settings['noCalendar'] ) ) {
+ $defaults['dateFormat'] = 'm/d/Y';
+ }
+
+ $settings = wp_parse_args( $settings, $defaults );
+
+ echo $this->field_before();
+
+ if ( ! empty( $this->field['from_to'] ) ) {
+
+ $args = wp_parse_args( $this->field, array(
+ 'text_from' => esc_html__( 'From', 'csf' ),
+ 'text_to' => esc_html__( 'To', 'csf' ),
+ ) );
+
+ $value = wp_parse_args( $this->value, array(
+ 'from' => '',
+ 'to' => '',
+ ) );
+
+ echo ''. esc_attr( $args['text_from'] ) .' field_attributes() .' data-type="from" /> ';
+ echo ''. esc_attr( $args['text_to'] ) .' field_attributes() .' data-type="to" /> ';
+
+ } else {
+
+ echo ' field_attributes() .'/>';
+
+ }
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/dimensions/dimensions.php b/fields/dimensions/dimensions.php
new file mode 100644
index 0000000..e3a20fc
--- /dev/null
+++ b/fields/dimensions/dimensions.php
@@ -0,0 +1,101 @@
+field, array(
+ 'width_icon' => ' ',
+ 'height_icon' => ' ',
+ 'width_placeholder' => esc_html__( 'width', 'csf' ),
+ 'height_placeholder' => esc_html__( 'height', 'csf' ),
+ 'width' => true,
+ 'height' => true,
+ 'unit' => true,
+ 'show_units' => true,
+ 'units' => array( 'px', '%', 'em' )
+ ) );
+
+ $default_values = array(
+ 'width' => '',
+ 'height' => '',
+ 'unit' => 'px',
+ );
+
+ $value = wp_parse_args( $this->value, $default_values );
+ $unit = ( count( $args['units'] ) === 1 && ! empty( $args['unit'] ) ) ? $args['units'][0] : '';
+ $is_unit = ( ! empty( $unit ) ) ? ' csf--is-unit' : '';
+
+ echo $this->field_before();
+
+ echo '';
+
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $element = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
+ $prefix = ( ! empty( $this->field['output_prefix'] ) ) ? $this->field['output_prefix'] .'-' : '';
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $unit = ( ! empty( $this->value['unit'] ) ) ? $this->value['unit'] : 'px';
+ $width = ( isset( $this->value['width'] ) && $this->value['width'] !== '' ) ? $prefix .'width:'. $this->value['width'] . $unit . $important .';' : '';
+ $height = ( isset( $this->value['height'] ) && $this->value['height'] !== '' ) ? $prefix .'height:'. $this->value['height'] . $unit . $important .';' : '';
+
+ if ( $width !== '' || $height !== '' ) {
+ $output = $element .'{'. $width . $height .'}';
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/fieldset/fieldset.php b/fields/fieldset/fieldset.php
new file mode 100644
index 0000000..c8df411
--- /dev/null
+++ b/fields/fieldset/fieldset.php
@@ -0,0 +1,41 @@
+field_before();
+
+ echo '';
+
+ foreach ( $this->field['fields'] as $field ) {
+
+ $field_id = ( isset( $field['id'] ) ) ? $field['id'] : '';
+ $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
+ $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
+ $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
+
+ CSF::field( $field, $field_value, $unique_id, 'field/fieldset' );
+
+ }
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/gallery/gallery.php b/fields/gallery/gallery.php
new file mode 100644
index 0000000..5809912
--- /dev/null
+++ b/fields/gallery/gallery.php
@@ -0,0 +1,52 @@
+field, array(
+ 'add_title' => esc_html__( 'Add Gallery', 'csf' ),
+ 'edit_title' => esc_html__( 'Edit Gallery', 'csf' ),
+ 'clear_title' => esc_html__( 'Clear', 'csf' ),
+ ) );
+
+ $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
+
+ echo $this->field_before();
+
+ echo '';
+ if ( ! empty( $this->value ) ) {
+
+ $values = explode( ',', $this->value );
+
+ foreach ( $values as $id ) {
+ $attachment = wp_get_attachment_image_src( $id, 'thumbnail' );
+ echo ' ';
+ }
+
+ }
+ echo ' ';
+
+ echo ''. $args['add_title'] .' ';
+ echo ''. $args['edit_title'] .' ';
+ echo ''. $args['clear_title'] .' ';
+ echo ' field_attributes() .'/>';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/group/group.php b/fields/group/group.php
new file mode 100644
index 0000000..e7e8b92
--- /dev/null
+++ b/fields/group/group.php
@@ -0,0 +1,144 @@
+field, array(
+ 'max' => 0,
+ 'min' => 0,
+ 'fields' => array(),
+ 'button_title' => esc_html__( 'Add New', 'csf' ),
+ 'accordion_title_prefix' => '',
+ 'accordion_title_number' => false,
+ 'accordion_title_auto' => true,
+ ) );
+
+ $title_prefix = ( ! empty( $args['accordion_title_prefix'] ) ) ? $args['accordion_title_prefix'] : '';
+ $title_number = ( ! empty( $args['accordion_title_number'] ) ) ? true : false;
+ $title_auto = ( ! empty( $args['accordion_title_auto'] ) ) ? true : false;
+
+ if ( preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->unique ) ) {
+
+ echo ''. esc_html__( 'Error: Field ID conflict.', 'csf' ) .'
';
+
+ } else {
+
+ echo $this->field_before();
+
+ echo '';
+
+ echo '
';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo '
';
+
+ echo '
';
+ echo '';
+ echo ( $title_number ) ? ' ' : '';
+ echo ( $title_prefix ) ? ''. esc_attr( $title_prefix ) .' ' : '';
+ echo ( $title_auto ) ? ' ' : '';
+ echo ' ';
+ echo ' ';
+
+ echo '
';
+ foreach ( $this->field['fields'] as $field ) {
+
+ $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
+ $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .'][0]' : $this->field['id'] .'[0]';
+
+ CSF::field( $field, $field_default, '___'. $field_unique, 'field/group' );
+
+ }
+ echo '
';
+
+ echo '
';
+
+ echo '';
+
+ if ( ! empty( $this->value ) ) {
+
+ $num = 0;
+
+ foreach ( $this->value as $value ) {
+
+ $first_id = ( isset( $this->field['fields'][0]['id'] ) ) ? $this->field['fields'][0]['id'] : '';
+ $first_value = ( isset( $value[$first_id] ) ) ? $value[$first_id] : '';
+ $first_value = ( is_array( $first_value ) ) ? reset( $first_value ) : $first_value;
+
+ echo '
';
+
+ echo '
';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo '
';
+
+ echo '
';
+ echo '';
+ echo ( $title_number ) ? ''. esc_attr( $num+1 ) .'. ' : '';
+ echo ( $title_prefix ) ? ''. esc_attr( $title_prefix ) .' ' : '';
+ echo ( $title_auto ) ? '' . esc_attr( $first_value ) .' ' : '';
+ echo ' ';
+ echo ' ';
+
+ echo '
';
+
+ foreach ( $this->field['fields'] as $field ) {
+
+ $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
+ $field_value = ( isset( $field['id'] ) && isset( $value[$field['id']] ) ) ? $value[$field['id']] : '';
+
+ CSF::field( $field, $field_value, $field_unique, 'field/group' );
+
+ }
+
+ echo '
';
+
+ echo '
';
+
+ $num++;
+
+ }
+
+ }
+
+ echo '
';
+
+ echo ''. esc_html__( 'You cannot add more.', 'csf' ) .'
';
+ echo ''. esc_html__( 'You cannot remove more.', 'csf' ) .'
';
+ echo ''. $args['button_title'] .' ';
+
+ echo $this->field_after();
+
+ }
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-accordion' ) ) {
+ wp_enqueue_script( 'jquery-ui-accordion' );
+ }
+
+ if ( ! wp_script_is( 'jquery-ui-sortable' ) ) {
+ wp_enqueue_script( 'jquery-ui-sortable' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/heading/heading.php b/fields/heading/heading.php
new file mode 100644
index 0000000..b9b5172
--- /dev/null
+++ b/fields/heading/heading.php
@@ -0,0 +1,24 @@
+field['content'] ) ) ? $this->field['content'] : '';
+
+ }
+
+ }
+}
diff --git a/fields/icon/fa4-icons.php b/fields/icon/fa4-icons.php
new file mode 100644
index 0000000..45dfbd5
--- /dev/null
+++ b/fields/icon/fa4-icons.php
@@ -0,0 +1,12 @@
+ 'Font Awesome',
+ 'icons' => array( 'fa fa-glass','fa fa-music','fa fa-search','fa fa-envelope-o','fa fa-heart','fa fa-star','fa fa-star-o','fa fa-user','fa fa-film','fa fa-th-large','fa fa-th','fa fa-th-list','fa fa-check','fa fa-times','fa fa-search-plus','fa fa-search-minus','fa fa-power-off','fa fa-signal','fa fa-cog','fa fa-trash-o','fa fa-home','fa fa-file-o','fa fa-clock-o','fa fa-road','fa fa-download','fa fa-arrow-circle-o-down','fa fa-arrow-circle-o-up','fa fa-inbox','fa fa-play-circle-o','fa fa-repeat','fa fa-refresh','fa fa-list-alt','fa fa-lock','fa fa-flag','fa fa-headphones','fa fa-volume-off','fa fa-volume-down','fa fa-volume-up','fa fa-qrcode','fa fa-barcode','fa fa-tag','fa fa-tags','fa fa-book','fa fa-bookmark','fa fa-print','fa fa-camera','fa fa-font','fa fa-bold','fa fa-italic','fa fa-text-height','fa fa-text-width','fa fa-align-left','fa fa-align-center','fa fa-align-right','fa fa-align-justify','fa fa-list','fa fa-outdent','fa fa-indent','fa fa-video-camera','fa fa-picture-o','fa fa-pencil','fa fa-map-marker','fa fa-adjust','fa fa-tint','fa fa-pencil-square-o','fa fa-share-square-o','fa fa-check-square-o','fa fa-arrows','fa fa-step-backward','fa fa-fast-backward','fa fa-backward','fa fa-play','fa fa-pause','fa fa-stop','fa fa-forward','fa fa-fast-forward','fa fa-step-forward','fa fa-eject','fa fa-chevron-left','fa fa-chevron-right','fa fa-plus-circle','fa fa-minus-circle','fa fa-times-circle','fa fa-check-circle','fa fa-question-circle','fa fa-info-circle','fa fa-crosshairs','fa fa-times-circle-o','fa fa-check-circle-o','fa fa-ban','fa fa-arrow-left','fa fa-arrow-right','fa fa-arrow-up','fa fa-arrow-down','fa fa-share','fa fa-expand','fa fa-compress','fa fa-plus','fa fa-minus','fa fa-asterisk','fa fa-exclamation-circle','fa fa-gift','fa fa-leaf','fa fa-fire','fa fa-eye','fa fa-eye-slash','fa fa-exclamation-triangle','fa fa-plane','fa fa-calendar','fa fa-random','fa fa-comment','fa fa-magnet','fa fa-chevron-up','fa fa-chevron-down','fa fa-retweet','fa fa-shopping-cart','fa fa-folder','fa fa-folder-open','fa fa-arrows-v','fa fa-arrows-h','fa fa-bar-chart','fa fa-twitter-square','fa fa-facebook-square','fa fa-camera-retro','fa fa-key','fa fa-cogs','fa fa-comments','fa fa-thumbs-o-up','fa fa-thumbs-o-down','fa fa-star-half','fa fa-heart-o','fa fa-sign-out','fa fa-linkedin-square','fa fa-thumb-tack','fa fa-external-link','fa fa-sign-in','fa fa-trophy','fa fa-github-square','fa fa-upload','fa fa-lemon-o','fa fa-phone','fa fa-square-o','fa fa-bookmark-o','fa fa-phone-square','fa fa-twitter','fa fa-facebook','fa fa-github','fa fa-unlock','fa fa-credit-card','fa fa-rss','fa fa-hdd-o','fa fa-bullhorn','fa fa-bell','fa fa-certificate','fa fa-hand-o-right','fa fa-hand-o-left','fa fa-hand-o-up','fa fa-hand-o-down','fa fa-arrow-circle-left','fa fa-arrow-circle-right','fa fa-arrow-circle-up','fa fa-arrow-circle-down','fa fa-globe','fa fa-wrench','fa fa-tasks','fa fa-filter','fa fa-briefcase','fa fa-arrows-alt','fa fa-users','fa fa-link','fa fa-cloud','fa fa-flask','fa fa-scissors','fa fa-files-o','fa fa-paperclip','fa fa-floppy-o','fa fa-square','fa fa-bars','fa fa-list-ul','fa fa-list-ol','fa fa-strikethrough','fa fa-underline','fa fa-table','fa fa-magic','fa fa-truck','fa fa-pinterest','fa fa-pinterest-square','fa fa-google-plus-square','fa fa-google-plus','fa fa-money','fa fa-caret-down','fa fa-caret-up','fa fa-caret-left','fa fa-caret-right','fa fa-columns','fa fa-sort','fa fa-sort-desc','fa fa-sort-asc','fa fa-envelope','fa fa-linkedin','fa fa-undo','fa fa-gavel','fa fa-tachometer','fa fa-comment-o','fa fa-comments-o','fa fa-bolt','fa fa-sitemap','fa fa-umbrella','fa fa-clipboard','fa fa-lightbulb-o','fa fa-exchange','fa fa-cloud-download','fa fa-cloud-upload','fa fa-user-md','fa fa-stethoscope','fa fa-suitcase','fa fa-bell-o','fa fa-coffee','fa fa-cutlery','fa fa-file-text-o','fa fa-building-o','fa fa-hospital-o','fa fa-ambulance','fa fa-medkit','fa fa-fighter-jet','fa fa-beer','fa fa-h-square','fa fa-plus-square','fa fa-angle-double-left','fa fa-angle-double-right','fa fa-angle-double-up','fa fa-angle-double-down','fa fa-angle-left','fa fa-angle-right','fa fa-angle-up','fa fa-angle-down','fa fa-desktop','fa fa-laptop','fa fa-tablet','fa fa-mobile','fa fa-circle-o','fa fa-quote-left','fa fa-quote-right','fa fa-spinner','fa fa-circle','fa fa-reply','fa fa-github-alt','fa fa-folder-o','fa fa-folder-open-o','fa fa-smile-o','fa fa-frown-o','fa fa-meh-o','fa fa-gamepad','fa fa-keyboard-o','fa fa-flag-o','fa fa-flag-checkered','fa fa-terminal','fa fa-code','fa fa-reply-all','fa fa-star-half-o','fa fa-location-arrow','fa fa-crop','fa fa-code-fork','fa fa-chain-broken','fa fa-question','fa fa-info','fa fa-exclamation','fa fa-superscript','fa fa-subscript','fa fa-eraser','fa fa-puzzle-piece','fa fa-microphone','fa fa-microphone-slash','fa fa-shield','fa fa-calendar-o','fa fa-fire-extinguisher','fa fa-rocket','fa fa-maxcdn','fa fa-chevron-circle-left','fa fa-chevron-circle-right','fa fa-chevron-circle-up','fa fa-chevron-circle-down','fa fa-html5','fa fa-css3','fa fa-anchor','fa fa-unlock-alt','fa fa-bullseye','fa fa-ellipsis-h','fa fa-ellipsis-v','fa fa-rss-square','fa fa-play-circle','fa fa-ticket','fa fa-minus-square','fa fa-minus-square-o','fa fa-level-up','fa fa-level-down','fa fa-check-square','fa fa-pencil-square','fa fa-external-link-square','fa fa-share-square','fa fa-compass','fa fa-caret-square-o-down','fa fa-caret-square-o-up','fa fa-caret-square-o-right','fa fa-eur','fa fa-gbp','fa fa-usd','fa fa-inr','fa fa-jpy','fa fa-rub','fa fa-krw','fa fa-btc','fa fa-file','fa fa-file-text','fa fa-sort-alpha-asc','fa fa-sort-alpha-desc','fa fa-sort-amount-asc','fa fa-sort-amount-desc','fa fa-sort-numeric-asc','fa fa-sort-numeric-desc','fa fa-thumbs-up','fa fa-thumbs-down','fa fa-youtube-square','fa fa-youtube','fa fa-xing','fa fa-xing-square','fa fa-youtube-play','fa fa-dropbox','fa fa-stack-overflow','fa fa-instagram','fa fa-flickr','fa fa-adn','fa fa-bitbucket','fa fa-bitbucket-square','fa fa-tumblr','fa fa-tumblr-square','fa fa-long-arrow-down','fa fa-long-arrow-up','fa fa-long-arrow-left','fa fa-long-arrow-right','fa fa-apple','fa fa-windows','fa fa-android','fa fa-linux','fa fa-dribbble','fa fa-skype','fa fa-foursquare','fa fa-trello','fa fa-female','fa fa-male','fa fa-gratipay','fa fa-sun-o','fa fa-moon-o','fa fa-archive','fa fa-bug','fa fa-vk','fa fa-weibo','fa fa-renren','fa fa-pagelines','fa fa-stack-exchange','fa fa-arrow-circle-o-right','fa fa-arrow-circle-o-left','fa fa-caret-square-o-left','fa fa-dot-circle-o','fa fa-wheelchair','fa fa-vimeo-square','fa fa-try','fa fa-plus-square-o','fa fa-space-shuttle','fa fa-slack','fa fa-envelope-square','fa fa-wordpress','fa fa-openid','fa fa-university','fa fa-graduation-cap','fa fa-yahoo','fa fa-google','fa fa-reddit','fa fa-reddit-square','fa fa-stumbleupon-circle','fa fa-stumbleupon','fa fa-delicious','fa fa-digg','fa fa-pied-piper-pp','fa fa-pied-piper-alt','fa fa-drupal','fa fa-joomla','fa fa-language','fa fa-fax','fa fa-building','fa fa-child','fa fa-paw','fa fa-spoon','fa fa-cube','fa fa-cubes','fa fa-behance','fa fa-behance-square','fa fa-steam','fa fa-steam-square','fa fa-recycle','fa fa-car','fa fa-taxi','fa fa-tree','fa fa-spotify','fa fa-deviantart','fa fa-soundcloud','fa fa-database','fa fa-file-pdf-o','fa fa-file-word-o','fa fa-file-excel-o','fa fa-file-powerpoint-o','fa fa-file-image-o','fa fa-file-archive-o','fa fa-file-audio-o','fa fa-file-video-o','fa fa-file-code-o','fa fa-vine','fa fa-codepen','fa fa-jsfiddle','fa fa-life-ring','fa fa-circle-o-notch','fa fa-rebel','fa fa-empire','fa fa-git-square','fa fa-git','fa fa-hacker-news','fa fa-tencent-weibo','fa fa-qq','fa fa-weixin','fa fa-paper-plane','fa fa-paper-plane-o','fa fa-history','fa fa-circle-thin','fa fa-header','fa fa-paragraph','fa fa-sliders','fa fa-share-alt','fa fa-share-alt-square','fa fa-bomb','fa fa-futbol-o','fa fa-tty','fa fa-binoculars','fa fa-plug','fa fa-slideshare','fa fa-twitch','fa fa-yelp','fa fa-newspaper-o','fa fa-wifi','fa fa-calculator','fa fa-paypal','fa fa-google-wallet','fa fa-cc-visa','fa fa-cc-mastercard','fa fa-cc-discover','fa fa-cc-amex','fa fa-cc-paypal','fa fa-cc-stripe','fa fa-bell-slash','fa fa-bell-slash-o','fa fa-trash','fa fa-copyright','fa fa-at','fa fa-eyedropper','fa fa-paint-brush','fa fa-birthday-cake','fa fa-area-chart','fa fa-pie-chart','fa fa-line-chart','fa fa-lastfm','fa fa-lastfm-square','fa fa-toggle-off','fa fa-toggle-on','fa fa-bicycle','fa fa-bus','fa fa-ioxhost','fa fa-angellist','fa fa-cc','fa fa-ils','fa fa-meanpath','fa fa-buysellads','fa fa-connectdevelop','fa fa-dashcube','fa fa-forumbee','fa fa-leanpub','fa fa-sellsy','fa fa-shirtsinbulk','fa fa-simplybuilt','fa fa-skyatlas','fa fa-cart-plus','fa fa-cart-arrow-down','fa fa-diamond','fa fa-ship','fa fa-user-secret','fa fa-motorcycle','fa fa-street-view','fa fa-heartbeat','fa fa-venus','fa fa-mars','fa fa-mercury','fa fa-transgender','fa fa-transgender-alt','fa fa-venus-double','fa fa-mars-double','fa fa-venus-mars','fa fa-mars-stroke','fa fa-mars-stroke-v','fa fa-mars-stroke-h','fa fa-neuter','fa fa-genderless','fa fa-facebook-official','fa fa-pinterest-p','fa fa-whatsapp','fa fa-server','fa fa-user-plus','fa fa-user-times','fa fa-bed','fa fa-viacoin','fa fa-train','fa fa-subway','fa fa-medium','fa fa-y-combinator','fa fa-optin-monster','fa fa-opencart','fa fa-expeditedssl','fa fa-battery-full','fa fa-battery-three-quarters','fa fa-battery-half','fa fa-battery-quarter','fa fa-battery-empty','fa fa-mouse-pointer','fa fa-i-cursor','fa fa-object-group','fa fa-object-ungroup','fa fa-sticky-note','fa fa-sticky-note-o','fa fa-cc-jcb','fa fa-cc-diners-club','fa fa-clone','fa fa-balance-scale','fa fa-hourglass-o','fa fa-hourglass-start','fa fa-hourglass-half','fa fa-hourglass-end','fa fa-hourglass','fa fa-hand-rock-o','fa fa-hand-paper-o','fa fa-hand-scissors-o','fa fa-hand-lizard-o','fa fa-hand-spock-o','fa fa-hand-pointer-o','fa fa-hand-peace-o','fa fa-trademark','fa fa-registered','fa fa-creative-commons','fa fa-gg','fa fa-gg-circle','fa fa-tripadvisor','fa fa-odnoklassniki','fa fa-odnoklassniki-square','fa fa-get-pocket','fa fa-wikipedia-w','fa fa-safari','fa fa-chrome','fa fa-firefox','fa fa-opera','fa fa-internet-explorer','fa fa-television','fa fa-contao','fa fa-500px','fa fa-amazon','fa fa-calendar-plus-o','fa fa-calendar-minus-o','fa fa-calendar-times-o','fa fa-calendar-check-o','fa fa-industry','fa fa-map-pin','fa fa-map-signs','fa fa-map-o','fa fa-map','fa fa-commenting','fa fa-commenting-o','fa fa-houzz','fa fa-vimeo','fa fa-black-tie','fa fa-fonticons','fa fa-reddit-alien','fa fa-edge','fa fa-credit-card-alt','fa fa-codiepie','fa fa-modx','fa fa-fort-awesome','fa fa-usb','fa fa-product-hunt','fa fa-mixcloud','fa fa-scribd','fa fa-pause-circle','fa fa-pause-circle-o','fa fa-stop-circle','fa fa-stop-circle-o','fa fa-shopping-bag','fa fa-shopping-basket','fa fa-hashtag','fa fa-bluetooth','fa fa-bluetooth-b','fa fa-percent','fa fa-gitlab','fa fa-wpbeginner','fa fa-wpforms','fa fa-envira','fa fa-universal-access','fa fa-wheelchair-alt','fa fa-question-circle-o','fa fa-blind','fa fa-audio-description','fa fa-volume-control-phone','fa fa-braille','fa fa-assistive-listening-systems','fa fa-american-sign-language-interpreting','fa fa-deaf','fa fa-glide','fa fa-glide-g','fa fa-sign-language','fa fa-low-vision','fa fa-viadeo','fa fa-viadeo-square','fa fa-snapchat','fa fa-snapchat-ghost','fa fa-snapchat-square','fa fa-pied-piper','fa fa-first-order','fa fa-yoast','fa fa-themeisle','fa fa-google-plus-official','fa fa-font-awesome','fa fa-handshake-o','fa fa-envelope-open','fa fa-envelope-open-o','fa fa-linode','fa fa-address-book','fa fa-address-book-o','fa fa-address-card','fa fa-address-card-o','fa fa-user-circle','fa fa-user-circle-o','fa fa-user-o','fa fa-id-badge','fa fa-id-card','fa fa-id-card-o','fa fa-quora','fa fa-free-code-camp','fa fa-telegram','fa fa-thermometer-full','fa fa-thermometer-three-quarters','fa fa-thermometer-half','fa fa-thermometer-quarter','fa fa-thermometer-empty','fa fa-shower','fa fa-bath','fa fa-podcast','fa fa-window-maximize','fa fa-window-minimize','fa fa-window-restore','fa fa-window-close','fa fa-window-close-o','fa fa-bandcamp','fa fa-grav','fa fa-etsy','fa fa-imdb','fa fa-ravelry','fa fa-eercast','fa fa-microchip','fa fa-snowflake-o','fa fa-superpowers','fa fa-wpexplorer','fa fa-meetup' )
+ ) );
+ }
+}
diff --git a/fields/icon/fa5-icons.php b/fields/icon/fa5-icons.php
new file mode 100644
index 0000000..502eccf
--- /dev/null
+++ b/fields/icon/fa5-icons.php
@@ -0,0 +1,12 @@
+ 'Font Awesome 5 Free',
+ 'icons' => array( 'fab fa-500px','fab fa-accessible-icon','fab fa-accusoft','fab fa-acquisitions-incorporated','fas fa-ad','fas fa-address-book','far fa-address-book','fas fa-address-card','far fa-address-card','fas fa-adjust','fab fa-adn','fab fa-adversal','fab fa-affiliatetheme','fas fa-air-freshener','fab fa-airbnb','fab fa-algolia','fas fa-align-center','fas fa-align-justify','fas fa-align-left','fas fa-align-right','fab fa-alipay','fas fa-allergies','fab fa-amazon','fab fa-amazon-pay','fas fa-ambulance','fas fa-american-sign-language-interpreting','fab fa-amilia','fas fa-anchor','fab fa-android','fab fa-angellist','fas fa-angle-double-down','fas fa-angle-double-left','fas fa-angle-double-right','fas fa-angle-double-up','fas fa-angle-down','fas fa-angle-left','fas fa-angle-right','fas fa-angle-up','fas fa-angry','far fa-angry','fab fa-angrycreative','fab fa-angular','fas fa-ankh','fab fa-app-store','fab fa-app-store-ios','fab fa-apper','fab fa-apple','fas fa-apple-alt','fab fa-apple-pay','fas fa-archive','fas fa-archway','fas fa-arrow-alt-circle-down','far fa-arrow-alt-circle-down','fas fa-arrow-alt-circle-left','far fa-arrow-alt-circle-left','fas fa-arrow-alt-circle-right','far fa-arrow-alt-circle-right','fas fa-arrow-alt-circle-up','far fa-arrow-alt-circle-up','fas fa-arrow-circle-down','fas fa-arrow-circle-left','fas fa-arrow-circle-right','fas fa-arrow-circle-up','fas fa-arrow-down','fas fa-arrow-left','fas fa-arrow-right','fas fa-arrow-up','fas fa-arrows-alt','fas fa-arrows-alt-h','fas fa-arrows-alt-v','fab fa-artstation','fas fa-assistive-listening-systems','fas fa-asterisk','fab fa-asymmetrik','fas fa-at','fas fa-atlas','fab fa-atlassian','fas fa-atom','fab fa-audible','fas fa-audio-description','fab fa-autoprefixer','fab fa-avianex','fab fa-aviato','fas fa-award','fab fa-aws','fas fa-baby','fas fa-baby-carriage','fas fa-backspace','fas fa-backward','fas fa-bacon','fas fa-bacteria','fas fa-bacterium','fas fa-bahai','fas fa-balance-scale','fas fa-balance-scale-left','fas fa-balance-scale-right','fas fa-ban','fas fa-band-aid','fab fa-bandcamp','fas fa-barcode','fas fa-bars','fas fa-baseball-ball','fas fa-basketball-ball','fas fa-bath','fas fa-battery-empty','fas fa-battery-full','fas fa-battery-half','fas fa-battery-quarter','fas fa-battery-three-quarters','fab fa-battle-net','fas fa-bed','fas fa-beer','fab fa-behance','fab fa-behance-square','fas fa-bell','far fa-bell','fas fa-bell-slash','far fa-bell-slash','fas fa-bezier-curve','fas fa-bible','fas fa-bicycle','fas fa-biking','fab fa-bimobject','fas fa-binoculars','fas fa-biohazard','fas fa-birthday-cake','fab fa-bitbucket','fab fa-bitcoin','fab fa-bity','fab fa-black-tie','fab fa-blackberry','fas fa-blender','fas fa-blender-phone','fas fa-blind','fas fa-blog','fab fa-blogger','fab fa-blogger-b','fab fa-bluetooth','fab fa-bluetooth-b','fas fa-bold','fas fa-bolt','fas fa-bomb','fas fa-bone','fas fa-bong','fas fa-book','fas fa-book-dead','fas fa-book-medical','fas fa-book-open','fas fa-book-reader','fas fa-bookmark','far fa-bookmark','fab fa-bootstrap','fas fa-border-all','fas fa-border-none','fas fa-border-style','fas fa-bowling-ball','fas fa-box','fas fa-box-open','fas fa-box-tissue','fas fa-boxes','fas fa-braille','fas fa-brain','fas fa-bread-slice','fas fa-briefcase','fas fa-briefcase-medical','fas fa-broadcast-tower','fas fa-broom','fas fa-brush','fab fa-btc','fab fa-buffer','fas fa-bug','fas fa-building','far fa-building','fas fa-bullhorn','fas fa-bullseye','fas fa-burn','fab fa-buromobelexperte','fas fa-bus','fas fa-bus-alt','fas fa-business-time','fab fa-buy-n-large','fab fa-buysellads','fas fa-calculator','fas fa-calendar','far fa-calendar','fas fa-calendar-alt','far fa-calendar-alt','fas fa-calendar-check','far fa-calendar-check','fas fa-calendar-day','fas fa-calendar-minus','far fa-calendar-minus','fas fa-calendar-plus','far fa-calendar-plus','fas fa-calendar-times','far fa-calendar-times','fas fa-calendar-week','fas fa-camera','fas fa-camera-retro','fas fa-campground','fab fa-canadian-maple-leaf','fas fa-candy-cane','fas fa-cannabis','fas fa-capsules','fas fa-car','fas fa-car-alt','fas fa-car-battery','fas fa-car-crash','fas fa-car-side','fas fa-caravan','fas fa-caret-down','fas fa-caret-left','fas fa-caret-right','fas fa-caret-square-down','far fa-caret-square-down','fas fa-caret-square-left','far fa-caret-square-left','fas fa-caret-square-right','far fa-caret-square-right','fas fa-caret-square-up','far fa-caret-square-up','fas fa-caret-up','fas fa-carrot','fas fa-cart-arrow-down','fas fa-cart-plus','fas fa-cash-register','fas fa-cat','fab fa-cc-amazon-pay','fab fa-cc-amex','fab fa-cc-apple-pay','fab fa-cc-diners-club','fab fa-cc-discover','fab fa-cc-jcb','fab fa-cc-mastercard','fab fa-cc-paypal','fab fa-cc-stripe','fab fa-cc-visa','fab fa-centercode','fab fa-centos','fas fa-certificate','fas fa-chair','fas fa-chalkboard','fas fa-chalkboard-teacher','fas fa-charging-station','fas fa-chart-area','fas fa-chart-bar','far fa-chart-bar','fas fa-chart-line','fas fa-chart-pie','fas fa-check','fas fa-check-circle','far fa-check-circle','fas fa-check-double','fas fa-check-square','far fa-check-square','fas fa-cheese','fas fa-chess','fas fa-chess-bishop','fas fa-chess-board','fas fa-chess-king','fas fa-chess-knight','fas fa-chess-pawn','fas fa-chess-queen','fas fa-chess-rook','fas fa-chevron-circle-down','fas fa-chevron-circle-left','fas fa-chevron-circle-right','fas fa-chevron-circle-up','fas fa-chevron-down','fas fa-chevron-left','fas fa-chevron-right','fas fa-chevron-up','fas fa-child','fab fa-chrome','fab fa-chromecast','fas fa-church','fas fa-circle','far fa-circle','fas fa-circle-notch','fas fa-city','fas fa-clinic-medical','fas fa-clipboard','far fa-clipboard','fas fa-clipboard-check','fas fa-clipboard-list','fas fa-clock','far fa-clock','fas fa-clone','far fa-clone','fas fa-closed-captioning','far fa-closed-captioning','fas fa-cloud','fas fa-cloud-download-alt','fas fa-cloud-meatball','fas fa-cloud-moon','fas fa-cloud-moon-rain','fas fa-cloud-rain','fas fa-cloud-showers-heavy','fas fa-cloud-sun','fas fa-cloud-sun-rain','fas fa-cloud-upload-alt','fab fa-cloudflare','fab fa-cloudscale','fab fa-cloudsmith','fab fa-cloudversify','fas fa-cocktail','fas fa-code','fas fa-code-branch','fab fa-codepen','fab fa-codiepie','fas fa-coffee','fas fa-cog','fas fa-cogs','fas fa-coins','fas fa-columns','fas fa-comment','far fa-comment','fas fa-comment-alt','far fa-comment-alt','fas fa-comment-dollar','fas fa-comment-dots','far fa-comment-dots','fas fa-comment-medical','fas fa-comment-slash','fas fa-comments','far fa-comments','fas fa-comments-dollar','fas fa-compact-disc','fas fa-compass','far fa-compass','fas fa-compress','fas fa-compress-alt','fas fa-compress-arrows-alt','fas fa-concierge-bell','fab fa-confluence','fab fa-connectdevelop','fab fa-contao','fas fa-cookie','fas fa-cookie-bite','fas fa-copy','far fa-copy','fas fa-copyright','far fa-copyright','fab fa-cotton-bureau','fas fa-couch','fab fa-cpanel','fab fa-creative-commons','fab fa-creative-commons-by','fab fa-creative-commons-nc','fab fa-creative-commons-nc-eu','fab fa-creative-commons-nc-jp','fab fa-creative-commons-nd','fab fa-creative-commons-pd','fab fa-creative-commons-pd-alt','fab fa-creative-commons-remix','fab fa-creative-commons-sa','fab fa-creative-commons-sampling','fab fa-creative-commons-sampling-plus','fab fa-creative-commons-share','fab fa-creative-commons-zero','fas fa-credit-card','far fa-credit-card','fab fa-critical-role','fas fa-crop','fas fa-crop-alt','fas fa-cross','fas fa-crosshairs','fas fa-crow','fas fa-crown','fas fa-crutch','fab fa-css3','fab fa-css3-alt','fas fa-cube','fas fa-cubes','fas fa-cut','fab fa-cuttlefish','fab fa-d-and-d','fab fa-d-and-d-beyond','fab fa-dailymotion','fab fa-dashcube','fas fa-database','fas fa-deaf','fab fa-deezer','fab fa-delicious','fas fa-democrat','fab fa-deploydog','fab fa-deskpro','fas fa-desktop','fab fa-dev','fab fa-deviantart','fas fa-dharmachakra','fab fa-dhl','fas fa-diagnoses','fab fa-diaspora','fas fa-dice','fas fa-dice-d20','fas fa-dice-d6','fas fa-dice-five','fas fa-dice-four','fas fa-dice-one','fas fa-dice-six','fas fa-dice-three','fas fa-dice-two','fab fa-digg','fab fa-digital-ocean','fas fa-digital-tachograph','fas fa-directions','fab fa-discord','fab fa-discourse','fas fa-disease','fas fa-divide','fas fa-dizzy','far fa-dizzy','fas fa-dna','fab fa-dochub','fab fa-docker','fas fa-dog','fas fa-dollar-sign','fas fa-dolly','fas fa-dolly-flatbed','fas fa-donate','fas fa-door-closed','fas fa-door-open','fas fa-dot-circle','far fa-dot-circle','fas fa-dove','fas fa-download','fab fa-draft2digital','fas fa-drafting-compass','fas fa-dragon','fas fa-draw-polygon','fab fa-dribbble','fab fa-dribbble-square','fab fa-dropbox','fas fa-drum','fas fa-drum-steelpan','fas fa-drumstick-bite','fab fa-drupal','fas fa-dumbbell','fas fa-dumpster','fas fa-dumpster-fire','fas fa-dungeon','fab fa-dyalog','fab fa-earlybirds','fab fa-ebay','fab fa-edge','fab fa-edge-legacy','fas fa-edit','far fa-edit','fas fa-egg','fas fa-eject','fab fa-elementor','fas fa-ellipsis-h','fas fa-ellipsis-v','fab fa-ello','fab fa-ember','fab fa-empire','fas fa-envelope','far fa-envelope','fas fa-envelope-open','far fa-envelope-open','fas fa-envelope-open-text','fas fa-envelope-square','fab fa-envira','fas fa-equals','fas fa-eraser','fab fa-erlang','fab fa-ethereum','fas fa-ethernet','fab fa-etsy','fas fa-euro-sign','fab fa-evernote','fas fa-exchange-alt','fas fa-exclamation','fas fa-exclamation-circle','fas fa-exclamation-triangle','fas fa-expand','fas fa-expand-alt','fas fa-expand-arrows-alt','fab fa-expeditedssl','fas fa-external-link-alt','fas fa-external-link-square-alt','fas fa-eye','far fa-eye','fas fa-eye-dropper','fas fa-eye-slash','far fa-eye-slash','fab fa-facebook','fab fa-facebook-f','fab fa-facebook-messenger','fab fa-facebook-square','fas fa-fan','fab fa-fantasy-flight-games','fas fa-fast-backward','fas fa-fast-forward','fas fa-faucet','fas fa-fax','fas fa-feather','fas fa-feather-alt','fab fa-fedex','fab fa-fedora','fas fa-female','fas fa-fighter-jet','fab fa-figma','fas fa-file','far fa-file','fas fa-file-alt','far fa-file-alt','fas fa-file-archive','far fa-file-archive','fas fa-file-audio','far fa-file-audio','fas fa-file-code','far fa-file-code','fas fa-file-contract','fas fa-file-csv','fas fa-file-download','fas fa-file-excel','far fa-file-excel','fas fa-file-export','fas fa-file-image','far fa-file-image','fas fa-file-import','fas fa-file-invoice','fas fa-file-invoice-dollar','fas fa-file-medical','fas fa-file-medical-alt','fas fa-file-pdf','far fa-file-pdf','fas fa-file-powerpoint','far fa-file-powerpoint','fas fa-file-prescription','fas fa-file-signature','fas fa-file-upload','fas fa-file-video','far fa-file-video','fas fa-file-word','far fa-file-word','fas fa-fill','fas fa-fill-drip','fas fa-film','fas fa-filter','fas fa-fingerprint','fas fa-fire','fas fa-fire-alt','fas fa-fire-extinguisher','fab fa-firefox','fab fa-firefox-browser','fas fa-first-aid','fab fa-first-order','fab fa-first-order-alt','fab fa-firstdraft','fas fa-fish','fas fa-fist-raised','fas fa-flag','far fa-flag','fas fa-flag-checkered','fas fa-flag-usa','fas fa-flask','fab fa-flickr','fab fa-flipboard','fas fa-flushed','far fa-flushed','fab fa-fly','fas fa-folder','far fa-folder','fas fa-folder-minus','fas fa-folder-open','far fa-folder-open','fas fa-folder-plus','fas fa-font','fab fa-font-awesome','fab fa-font-awesome-alt','fab fa-font-awesome-flag','far fa-font-awesome-logo-full','fas fa-font-awesome-logo-full','fab fa-font-awesome-logo-full','fab fa-fonticons','fab fa-fonticons-fi','fas fa-football-ball','fab fa-fort-awesome','fab fa-fort-awesome-alt','fab fa-forumbee','fas fa-forward','fab fa-foursquare','fab fa-free-code-camp','fab fa-freebsd','fas fa-frog','fas fa-frown','far fa-frown','fas fa-frown-open','far fa-frown-open','fab fa-fulcrum','fas fa-funnel-dollar','fas fa-futbol','far fa-futbol','fab fa-galactic-republic','fab fa-galactic-senate','fas fa-gamepad','fas fa-gas-pump','fas fa-gavel','fas fa-gem','far fa-gem','fas fa-genderless','fab fa-get-pocket','fab fa-gg','fab fa-gg-circle','fas fa-ghost','fas fa-gift','fas fa-gifts','fab fa-git','fab fa-git-alt','fab fa-git-square','fab fa-github','fab fa-github-alt','fab fa-github-square','fab fa-gitkraken','fab fa-gitlab','fab fa-gitter','fas fa-glass-cheers','fas fa-glass-martini','fas fa-glass-martini-alt','fas fa-glass-whiskey','fas fa-glasses','fab fa-glide','fab fa-glide-g','fas fa-globe','fas fa-globe-africa','fas fa-globe-americas','fas fa-globe-asia','fas fa-globe-europe','fab fa-gofore','fas fa-golf-ball','fab fa-goodreads','fab fa-goodreads-g','fab fa-google','fab fa-google-drive','fab fa-google-pay','fab fa-google-play','fab fa-google-plus','fab fa-google-plus-g','fab fa-google-plus-square','fab fa-google-wallet','fas fa-gopuram','fas fa-graduation-cap','fab fa-gratipay','fab fa-grav','fas fa-greater-than','fas fa-greater-than-equal','fas fa-grimace','far fa-grimace','fas fa-grin','far fa-grin','fas fa-grin-alt','far fa-grin-alt','fas fa-grin-beam','far fa-grin-beam','fas fa-grin-beam-sweat','far fa-grin-beam-sweat','fas fa-grin-hearts','far fa-grin-hearts','fas fa-grin-squint','far fa-grin-squint','fas fa-grin-squint-tears','far fa-grin-squint-tears','fas fa-grin-stars','far fa-grin-stars','fas fa-grin-tears','far fa-grin-tears','fas fa-grin-tongue','far fa-grin-tongue','fas fa-grin-tongue-squint','far fa-grin-tongue-squint','fas fa-grin-tongue-wink','far fa-grin-tongue-wink','fas fa-grin-wink','far fa-grin-wink','fas fa-grip-horizontal','fas fa-grip-lines','fas fa-grip-lines-vertical','fas fa-grip-vertical','fab fa-gripfire','fab fa-grunt','fab fa-guilded','fas fa-guitar','fab fa-gulp','fas fa-h-square','fab fa-hacker-news','fab fa-hacker-news-square','fab fa-hackerrank','fas fa-hamburger','fas fa-hammer','fas fa-hamsa','fas fa-hand-holding','fas fa-hand-holding-heart','fas fa-hand-holding-medical','fas fa-hand-holding-usd','fas fa-hand-holding-water','fas fa-hand-lizard','far fa-hand-lizard','fas fa-hand-middle-finger','fas fa-hand-paper','far fa-hand-paper','fas fa-hand-peace','far fa-hand-peace','fas fa-hand-point-down','far fa-hand-point-down','fas fa-hand-point-left','far fa-hand-point-left','fas fa-hand-point-right','far fa-hand-point-right','fas fa-hand-point-up','far fa-hand-point-up','fas fa-hand-pointer','far fa-hand-pointer','fas fa-hand-rock','far fa-hand-rock','fas fa-hand-scissors','far fa-hand-scissors','fas fa-hand-sparkles','fas fa-hand-spock','far fa-hand-spock','fas fa-hands','fas fa-hands-helping','fas fa-hands-wash','fas fa-handshake','far fa-handshake','fas fa-handshake-alt-slash','fas fa-handshake-slash','fas fa-hanukiah','fas fa-hard-hat','fas fa-hashtag','fas fa-hat-cowboy','fas fa-hat-cowboy-side','fas fa-hat-wizard','fas fa-hdd','far fa-hdd','fas fa-head-side-cough','fas fa-head-side-cough-slash','fas fa-head-side-mask','fas fa-head-side-virus','fas fa-heading','fas fa-headphones','fas fa-headphones-alt','fas fa-headset','fas fa-heart','far fa-heart','fas fa-heart-broken','fas fa-heartbeat','fas fa-helicopter','fas fa-highlighter','fas fa-hiking','fas fa-hippo','fab fa-hips','fab fa-hire-a-helper','fas fa-history','fab fa-hive','fas fa-hockey-puck','fas fa-holly-berry','fas fa-home','fab fa-hooli','fab fa-hornbill','fas fa-horse','fas fa-horse-head','fas fa-hospital','far fa-hospital','fas fa-hospital-alt','fas fa-hospital-symbol','fas fa-hospital-user','fas fa-hot-tub','fas fa-hotdog','fas fa-hotel','fab fa-hotjar','fas fa-hourglass','far fa-hourglass','fas fa-hourglass-end','fas fa-hourglass-half','fas fa-hourglass-start','fas fa-house-damage','fas fa-house-user','fab fa-houzz','fas fa-hryvnia','fab fa-html5','fab fa-hubspot','fas fa-i-cursor','fas fa-ice-cream','fas fa-icicles','fas fa-icons','fas fa-id-badge','far fa-id-badge','fas fa-id-card','far fa-id-card','fas fa-id-card-alt','fab fa-ideal','fas fa-igloo','fas fa-image','far fa-image','fas fa-images','far fa-images','fab fa-imdb','fas fa-inbox','fas fa-indent','fas fa-industry','fas fa-infinity','fas fa-info','fas fa-info-circle','fab fa-innosoft','fab fa-instagram','fab fa-instagram-square','fab fa-instalod','fab fa-intercom','fab fa-internet-explorer','fab fa-invision','fab fa-ioxhost','fas fa-italic','fab fa-itch-io','fab fa-itunes','fab fa-itunes-note','fab fa-java','fas fa-jedi','fab fa-jedi-order','fab fa-jenkins','fab fa-jira','fab fa-joget','fas fa-joint','fab fa-joomla','fas fa-journal-whills','fab fa-js','fab fa-js-square','fab fa-jsfiddle','fas fa-kaaba','fab fa-kaggle','fas fa-key','fab fa-keybase','fas fa-keyboard','far fa-keyboard','fab fa-keycdn','fas fa-khanda','fab fa-kickstarter','fab fa-kickstarter-k','fas fa-kiss','far fa-kiss','fas fa-kiss-beam','far fa-kiss-beam','fas fa-kiss-wink-heart','far fa-kiss-wink-heart','fas fa-kiwi-bird','fab fa-korvue','fas fa-landmark','fas fa-language','fas fa-laptop','fas fa-laptop-code','fas fa-laptop-house','fas fa-laptop-medical','fab fa-laravel','fab fa-lastfm','fab fa-lastfm-square','fas fa-laugh','far fa-laugh','fas fa-laugh-beam','far fa-laugh-beam','fas fa-laugh-squint','far fa-laugh-squint','fas fa-laugh-wink','far fa-laugh-wink','fas fa-layer-group','fas fa-leaf','fab fa-leanpub','fas fa-lemon','far fa-lemon','fab fa-less','fas fa-less-than','fas fa-less-than-equal','fas fa-level-down-alt','fas fa-level-up-alt','fas fa-life-ring','far fa-life-ring','fas fa-lightbulb','far fa-lightbulb','fab fa-line','fas fa-link','fab fa-linkedin','fab fa-linkedin-in','fab fa-linode','fab fa-linux','fas fa-lira-sign','fas fa-list','fas fa-list-alt','far fa-list-alt','fas fa-list-ol','fas fa-list-ul','fas fa-location-arrow','fas fa-lock','fas fa-lock-open','fas fa-long-arrow-alt-down','fas fa-long-arrow-alt-left','fas fa-long-arrow-alt-right','fas fa-long-arrow-alt-up','fas fa-low-vision','fas fa-luggage-cart','fas fa-lungs','fas fa-lungs-virus','fab fa-lyft','fab fa-magento','fas fa-magic','fas fa-magnet','fas fa-mail-bulk','fab fa-mailchimp','fas fa-male','fab fa-mandalorian','fas fa-map','far fa-map','fas fa-map-marked','fas fa-map-marked-alt','fas fa-map-marker','fas fa-map-marker-alt','fas fa-map-pin','fas fa-map-signs','fab fa-markdown','fas fa-marker','fas fa-mars','fas fa-mars-double','fas fa-mars-stroke','fas fa-mars-stroke-h','fas fa-mars-stroke-v','fas fa-mask','fab fa-mastodon','fab fa-maxcdn','fab fa-mdb','fas fa-medal','fab fa-medapps','fab fa-medium','fab fa-medium-m','fas fa-medkit','fab fa-medrt','fab fa-meetup','fab fa-megaport','fas fa-meh','far fa-meh','fas fa-meh-blank','far fa-meh-blank','fas fa-meh-rolling-eyes','far fa-meh-rolling-eyes','fas fa-memory','fab fa-mendeley','fas fa-menorah','fas fa-mercury','fas fa-meteor','fab fa-microblog','fas fa-microchip','fas fa-microphone','fas fa-microphone-alt','fas fa-microphone-alt-slash','fas fa-microphone-slash','fas fa-microscope','fab fa-microsoft','fas fa-minus','fas fa-minus-circle','fas fa-minus-square','far fa-minus-square','fas fa-mitten','fab fa-mix','fab fa-mixcloud','fab fa-mixer','fab fa-mizuni','fas fa-mobile','fas fa-mobile-alt','fab fa-modx','fab fa-monero','fas fa-money-bill','fas fa-money-bill-alt','far fa-money-bill-alt','fas fa-money-bill-wave','fas fa-money-bill-wave-alt','fas fa-money-check','fas fa-money-check-alt','fas fa-monument','fas fa-moon','far fa-moon','fas fa-mortar-pestle','fas fa-mosque','fas fa-motorcycle','fas fa-mountain','fas fa-mouse','fas fa-mouse-pointer','fas fa-mug-hot','fas fa-music','fab fa-napster','fab fa-neos','fas fa-network-wired','fas fa-neuter','fas fa-newspaper','far fa-newspaper','fab fa-nimblr','fab fa-node','fab fa-node-js','fas fa-not-equal','fas fa-notes-medical','fab fa-npm','fab fa-ns8','fab fa-nutritionix','fas fa-object-group','far fa-object-group','fas fa-object-ungroup','far fa-object-ungroup','fab fa-octopus-deploy','fab fa-odnoklassniki','fab fa-odnoklassniki-square','fas fa-oil-can','fab fa-old-republic','fas fa-om','fab fa-opencart','fab fa-openid','fab fa-opera','fab fa-optin-monster','fab fa-orcid','fab fa-osi','fas fa-otter','fas fa-outdent','fab fa-page4','fab fa-pagelines','fas fa-pager','fas fa-paint-brush','fas fa-paint-roller','fas fa-palette','fab fa-palfed','fas fa-pallet','fas fa-paper-plane','far fa-paper-plane','fas fa-paperclip','fas fa-parachute-box','fas fa-paragraph','fas fa-parking','fas fa-passport','fas fa-pastafarianism','fas fa-paste','fab fa-patreon','fas fa-pause','fas fa-pause-circle','far fa-pause-circle','fas fa-paw','fab fa-paypal','fas fa-peace','fas fa-pen','fas fa-pen-alt','fas fa-pen-fancy','fas fa-pen-nib','fas fa-pen-square','fas fa-pencil-alt','fas fa-pencil-ruler','fab fa-penny-arcade','fas fa-people-arrows','fas fa-people-carry','fas fa-pepper-hot','fab fa-perbyte','fas fa-percent','fas fa-percentage','fab fa-periscope','fas fa-person-booth','fab fa-phabricator','fab fa-phoenix-framework','fab fa-phoenix-squadron','fas fa-phone','fas fa-phone-alt','fas fa-phone-slash','fas fa-phone-square','fas fa-phone-square-alt','fas fa-phone-volume','fas fa-photo-video','fab fa-php','fab fa-pied-piper','fab fa-pied-piper-alt','fab fa-pied-piper-hat','fab fa-pied-piper-pp','fab fa-pied-piper-square','fas fa-piggy-bank','fas fa-pills','fab fa-pinterest','fab fa-pinterest-p','fab fa-pinterest-square','fas fa-pizza-slice','fas fa-place-of-worship','fas fa-plane','fas fa-plane-arrival','fas fa-plane-departure','fas fa-plane-slash','fas fa-play','fas fa-play-circle','far fa-play-circle','fab fa-playstation','fas fa-plug','fas fa-plus','fas fa-plus-circle','fas fa-plus-square','far fa-plus-square','fas fa-podcast','fas fa-poll','fas fa-poll-h','fas fa-poo','fas fa-poo-storm','fas fa-poop','fas fa-portrait','fas fa-pound-sign','fas fa-power-off','fas fa-pray','fas fa-praying-hands','fas fa-prescription','fas fa-prescription-bottle','fas fa-prescription-bottle-alt','fas fa-print','fas fa-procedures','fab fa-product-hunt','fas fa-project-diagram','fas fa-pump-medical','fas fa-pump-soap','fab fa-pushed','fas fa-puzzle-piece','fab fa-python','fab fa-qq','fas fa-qrcode','fas fa-question','fas fa-question-circle','far fa-question-circle','fas fa-quidditch','fab fa-quinscape','fab fa-quora','fas fa-quote-left','fas fa-quote-right','fas fa-quran','fab fa-r-project','fas fa-radiation','fas fa-radiation-alt','fas fa-rainbow','fas fa-random','fab fa-raspberry-pi','fab fa-ravelry','fab fa-react','fab fa-reacteurope','fab fa-readme','fab fa-rebel','fas fa-receipt','fas fa-record-vinyl','fas fa-recycle','fab fa-red-river','fab fa-reddit','fab fa-reddit-alien','fab fa-reddit-square','fab fa-redhat','fas fa-redo','fas fa-redo-alt','fas fa-registered','far fa-registered','fas fa-remove-format','fab fa-renren','fas fa-reply','fas fa-reply-all','fab fa-replyd','fas fa-republican','fab fa-researchgate','fab fa-resolving','fas fa-restroom','fas fa-retweet','fab fa-rev','fas fa-ribbon','fas fa-ring','fas fa-road','fas fa-robot','fas fa-rocket','fab fa-rocketchat','fab fa-rockrms','fas fa-route','fas fa-rss','fas fa-rss-square','fas fa-ruble-sign','fas fa-ruler','fas fa-ruler-combined','fas fa-ruler-horizontal','fas fa-ruler-vertical','fas fa-running','fas fa-rupee-sign','fab fa-rust','fas fa-sad-cry','far fa-sad-cry','fas fa-sad-tear','far fa-sad-tear','fab fa-safari','fab fa-salesforce','fab fa-sass','fas fa-satellite','fas fa-satellite-dish','fas fa-save','far fa-save','fab fa-schlix','fas fa-school','fas fa-screwdriver','fab fa-scribd','fas fa-scroll','fas fa-sd-card','fas fa-search','fas fa-search-dollar','fas fa-search-location','fas fa-search-minus','fas fa-search-plus','fab fa-searchengin','fas fa-seedling','fab fa-sellcast','fab fa-sellsy','fas fa-server','fab fa-servicestack','fas fa-shapes','fas fa-share','fas fa-share-alt','fas fa-share-alt-square','fas fa-share-square','far fa-share-square','fas fa-shekel-sign','fas fa-shield-alt','fas fa-shield-virus','fas fa-ship','fas fa-shipping-fast','fab fa-shirtsinbulk','fas fa-shoe-prints','fab fa-shopify','fas fa-shopping-bag','fas fa-shopping-basket','fas fa-shopping-cart','fab fa-shopware','fas fa-shower','fas fa-shuttle-van','fas fa-sign','fas fa-sign-in-alt','fas fa-sign-language','fas fa-sign-out-alt','fas fa-signal','fas fa-signature','fas fa-sim-card','fab fa-simplybuilt','fas fa-sink','fab fa-sistrix','fas fa-sitemap','fab fa-sith','fas fa-skating','fab fa-sketch','fas fa-skiing','fas fa-skiing-nordic','fas fa-skull','fas fa-skull-crossbones','fab fa-skyatlas','fab fa-skype','fab fa-slack','fab fa-slack-hash','fas fa-slash','fas fa-sleigh','fas fa-sliders-h','fab fa-slideshare','fas fa-smile','far fa-smile','fas fa-smile-beam','far fa-smile-beam','fas fa-smile-wink','far fa-smile-wink','fas fa-smog','fas fa-smoking','fas fa-smoking-ban','fas fa-sms','fab fa-snapchat','fab fa-snapchat-ghost','fab fa-snapchat-square','fas fa-snowboarding','fas fa-snowflake','far fa-snowflake','fas fa-snowman','fas fa-snowplow','fas fa-soap','fas fa-socks','fas fa-solar-panel','fas fa-sort','fas fa-sort-alpha-down','fas fa-sort-alpha-down-alt','fas fa-sort-alpha-up','fas fa-sort-alpha-up-alt','fas fa-sort-amount-down','fas fa-sort-amount-down-alt','fas fa-sort-amount-up','fas fa-sort-amount-up-alt','fas fa-sort-down','fas fa-sort-numeric-down','fas fa-sort-numeric-down-alt','fas fa-sort-numeric-up','fas fa-sort-numeric-up-alt','fas fa-sort-up','fab fa-soundcloud','fab fa-sourcetree','fas fa-spa','fas fa-space-shuttle','fab fa-speakap','fab fa-speaker-deck','fas fa-spell-check','fas fa-spider','fas fa-spinner','fas fa-splotch','fab fa-spotify','fas fa-spray-can','fas fa-square','far fa-square','fas fa-square-full','fas fa-square-root-alt','fab fa-squarespace','fab fa-stack-exchange','fab fa-stack-overflow','fab fa-stackpath','fas fa-stamp','fas fa-star','far fa-star','fas fa-star-and-crescent','fas fa-star-half','far fa-star-half','fas fa-star-half-alt','fas fa-star-of-david','fas fa-star-of-life','fab fa-staylinked','fab fa-steam','fab fa-steam-square','fab fa-steam-symbol','fas fa-step-backward','fas fa-step-forward','fas fa-stethoscope','fab fa-sticker-mule','fas fa-sticky-note','far fa-sticky-note','fas fa-stop','fas fa-stop-circle','far fa-stop-circle','fas fa-stopwatch','fas fa-stopwatch-20','fas fa-store','fas fa-store-alt','fas fa-store-alt-slash','fas fa-store-slash','fab fa-strava','fas fa-stream','fas fa-street-view','fas fa-strikethrough','fab fa-stripe','fab fa-stripe-s','fas fa-stroopwafel','fab fa-studiovinari','fab fa-stumbleupon','fab fa-stumbleupon-circle','fas fa-subscript','fas fa-subway','fas fa-suitcase','fas fa-suitcase-rolling','fas fa-sun','far fa-sun','fab fa-superpowers','fas fa-superscript','fab fa-supple','fas fa-surprise','far fa-surprise','fab fa-suse','fas fa-swatchbook','fab fa-swift','fas fa-swimmer','fas fa-swimming-pool','fab fa-symfony','fas fa-synagogue','fas fa-sync','fas fa-sync-alt','fas fa-syringe','fas fa-table','fas fa-table-tennis','fas fa-tablet','fas fa-tablet-alt','fas fa-tablets','fas fa-tachometer-alt','fas fa-tag','fas fa-tags','fas fa-tape','fas fa-tasks','fas fa-taxi','fab fa-teamspeak','fas fa-teeth','fas fa-teeth-open','fab fa-telegram','fab fa-telegram-plane','fas fa-temperature-high','fas fa-temperature-low','fab fa-tencent-weibo','fas fa-tenge','fas fa-terminal','fas fa-text-height','fas fa-text-width','fas fa-th','fas fa-th-large','fas fa-th-list','fab fa-the-red-yeti','fas fa-theater-masks','fab fa-themeco','fab fa-themeisle','fas fa-thermometer','fas fa-thermometer-empty','fas fa-thermometer-full','fas fa-thermometer-half','fas fa-thermometer-quarter','fas fa-thermometer-three-quarters','fab fa-think-peaks','fas fa-thumbs-down','far fa-thumbs-down','fas fa-thumbs-up','far fa-thumbs-up','fas fa-thumbtack','fas fa-ticket-alt','fab fa-tiktok','fas fa-times','fas fa-times-circle','far fa-times-circle','fas fa-tint','fas fa-tint-slash','fas fa-tired','far fa-tired','fas fa-toggle-off','fas fa-toggle-on','fas fa-toilet','fas fa-toilet-paper','fas fa-toilet-paper-slash','fas fa-toolbox','fas fa-tools','fas fa-tooth','fas fa-torah','fas fa-torii-gate','fas fa-tractor','fab fa-trade-federation','fas fa-trademark','fas fa-traffic-light','fas fa-trailer','fas fa-train','fas fa-tram','fas fa-transgender','fas fa-transgender-alt','fas fa-trash','fas fa-trash-alt','far fa-trash-alt','fas fa-trash-restore','fas fa-trash-restore-alt','fas fa-tree','fab fa-trello','fas fa-trophy','fas fa-truck','fas fa-truck-loading','fas fa-truck-monster','fas fa-truck-moving','fas fa-truck-pickup','fas fa-tshirt','fas fa-tty','fab fa-tumblr','fab fa-tumblr-square','fas fa-tv','fab fa-twitch','fab fa-twitter','fab fa-twitter-square','fab fa-typo3','fab fa-uber','fab fa-ubuntu','fab fa-uikit','fab fa-umbraco','fas fa-umbrella','fas fa-umbrella-beach','fab fa-uncharted','fas fa-underline','fas fa-undo','fas fa-undo-alt','fab fa-uniregistry','fab fa-unity','fas fa-universal-access','fas fa-university','fas fa-unlink','fas fa-unlock','fas fa-unlock-alt','fab fa-unsplash','fab fa-untappd','fas fa-upload','fab fa-ups','fab fa-usb','fas fa-user','far fa-user','fas fa-user-alt','fas fa-user-alt-slash','fas fa-user-astronaut','fas fa-user-check','fas fa-user-circle','far fa-user-circle','fas fa-user-clock','fas fa-user-cog','fas fa-user-edit','fas fa-user-friends','fas fa-user-graduate','fas fa-user-injured','fas fa-user-lock','fas fa-user-md','fas fa-user-minus','fas fa-user-ninja','fas fa-user-nurse','fas fa-user-plus','fas fa-user-secret','fas fa-user-shield','fas fa-user-slash','fas fa-user-tag','fas fa-user-tie','fas fa-user-times','fas fa-users','fas fa-users-cog','fas fa-users-slash','fab fa-usps','fab fa-ussunnah','fas fa-utensil-spoon','fas fa-utensils','fab fa-vaadin','fas fa-vector-square','fas fa-venus','fas fa-venus-double','fas fa-venus-mars','fas fa-vest','fas fa-vest-patches','fab fa-viacoin','fab fa-viadeo','fab fa-viadeo-square','fas fa-vial','fas fa-vials','fab fa-viber','fas fa-video','fas fa-video-slash','fas fa-vihara','fab fa-vimeo','fab fa-vimeo-square','fab fa-vimeo-v','fab fa-vine','fas fa-virus','fas fa-virus-slash','fas fa-viruses','fab fa-vk','fab fa-vnv','fas fa-voicemail','fas fa-volleyball-ball','fas fa-volume-down','fas fa-volume-mute','fas fa-volume-off','fas fa-volume-up','fas fa-vote-yea','fas fa-vr-cardboard','fab fa-vuejs','fas fa-walking','fas fa-wallet','fas fa-warehouse','fab fa-watchman-monitoring','fas fa-water','fas fa-wave-square','fab fa-waze','fab fa-weebly','fab fa-weibo','fas fa-weight','fas fa-weight-hanging','fab fa-weixin','fab fa-whatsapp','fab fa-whatsapp-square','fas fa-wheelchair','fab fa-whmcs','fas fa-wifi','fab fa-wikipedia-w','fas fa-wind','fas fa-window-close','far fa-window-close','fas fa-window-maximize','far fa-window-maximize','fas fa-window-minimize','far fa-window-minimize','fas fa-window-restore','far fa-window-restore','fab fa-windows','fas fa-wine-bottle','fas fa-wine-glass','fas fa-wine-glass-alt','fab fa-wix','fab fa-wizards-of-the-coast','fab fa-wodu','fab fa-wolf-pack-battalion','fas fa-won-sign','fab fa-wordpress','fab fa-wordpress-simple','fab fa-wpbeginner','fab fa-wpexplorer','fab fa-wpforms','fab fa-wpressr','fas fa-wrench','fas fa-x-ray','fab fa-xbox','fab fa-xing','fab fa-xing-square','fab fa-y-combinator','fab fa-yahoo','fab fa-yammer','fab fa-yandex','fab fa-yandex-international','fab fa-yarn','fab fa-yelp','fas fa-yen-sign','fas fa-yin-yang','fab fa-yoast','fab fa-youtube','fab fa-youtube-square','fab fa-zhihu' )
+ ) );
+ }
+}
diff --git a/fields/icon/icon.php b/fields/icon/icon.php
new file mode 100644
index 0000000..5f656a5
--- /dev/null
+++ b/fields/icon/icon.php
@@ -0,0 +1,71 @@
+field, array(
+ 'button_title' => esc_html__( 'Add Icon', 'csf' ),
+ 'remove_title' => esc_html__( 'Remove Icon', 'csf' ),
+ ) );
+
+ echo $this->field_before();
+
+ $nonce = wp_create_nonce( 'csf_icon_nonce' );
+ $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
+
+ echo '';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+ add_action( 'admin_footer', array( 'CSF_Field_icon', 'add_footer_modal_icon' ) );
+ add_action( 'customize_controls_print_footer_scripts', array( 'CSF_Field_icon', 'add_footer_modal_icon' ) );
+ }
+
+ public static function add_footer_modal_icon() {
+ ?>
+
+ field, array(
+ 'multiple' => false,
+ 'inline' => false,
+ 'options' => array(),
+ ) );
+
+ $inline = ( $args['inline'] ) ? ' csf--inline-list' : '';
+
+ $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
+
+ echo $this->field_before();
+
+ if ( ! empty( $args['options'] ) ) {
+
+ echo '';
+
+ $num = 1;
+
+ foreach ( $args['options'] as $key => $option ) {
+
+ $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
+ $extra = ( $args['multiple'] ) ? '[]' : '';
+ $active = ( in_array( $key, $value ) ) ? ' csf--active' : '';
+ $checked = ( in_array( $key, $value ) ) ? ' checked' : '';
+
+ echo '
';
+
+ }
+
+ echo '
';
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $bg_image = array();
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $elements = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
+
+ if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
+ $output = $elements .'{background-image:url('. $this->value .')'. $important .';}';
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/index.php b/fields/index.php
new file mode 100644
index 0000000..49d255d
--- /dev/null
+++ b/fields/index.php
@@ -0,0 +1 @@
+field, array(
+ 'add_title' => esc_html__( 'Add Link', 'csf' ),
+ 'edit_title' => esc_html__( 'Edit Link', 'csf' ),
+ 'remove_title' => esc_html__( 'Remove Link', 'csf' ),
+ ) );
+
+ $default_values = array(
+ 'url' => '',
+ 'text' => '',
+ 'target' => '',
+ );
+
+ $value = wp_parse_args( $this->value, $default_values );
+
+ $hidden = ( ! empty( $value['url'] ) || ! empty( $value['url'] ) || ! empty( $value['url'] ) ) ? ' hidden' : '';
+
+ $maybe_hidden = ( empty( $hidden ) ) ? ' hidden' : '';
+
+ echo $this->field_before();
+
+ echo '';
+
+ echo ''. sprintf( '{url:"%s", text:"%s", target:"%s"}', $value['url'], $value['text'], $value['target'] ) .'
';
+
+ echo ' field_attributes( array( 'class' => 'csf--url' ) ) .' />';
+ echo ' ';
+ echo ' ';
+
+ echo ''. $args['add_title'] .' ';
+ echo ''. $args['edit_title'] .' ';
+ echo ''. $args['remove_title'] .' ';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'wplink' ) ) {
+ wp_enqueue_script( 'wplink' );
+ }
+
+ if ( ! wp_script_is( 'jquery-ui-autocomplete' ) ) {
+ wp_enqueue_script( 'jquery-ui-autocomplete' );
+ }
+
+ add_action( 'admin_print_footer_scripts', array( $this, 'add_wp_link_dialog' ) );
+
+ }
+
+ public function add_wp_link_dialog() {
+
+ if ( ! class_exists( '_WP_Editors' ) ) {
+ require_once ABSPATH . WPINC .'/class-wp-editor.php';
+ }
+
+ wp_print_styles( 'editor-buttons' );
+
+ _WP_Editors::wp_link_dialog();
+
+ }
+
+ }
+}
diff --git a/fields/link_color/link_color.php b/fields/link_color/link_color.php
new file mode 100644
index 0000000..b3b8298
--- /dev/null
+++ b/fields/link_color/link_color.php
@@ -0,0 +1,91 @@
+field, array(
+ 'color' => true,
+ 'hover' => true,
+ 'active' => false,
+ 'visited' => false,
+ 'focus' => false,
+ ) );
+
+ $default_values = array(
+ 'color' => '',
+ 'hover' => '',
+ 'active' => '',
+ 'visited' => '',
+ 'focus' => '',
+ );
+
+ $color_props = array(
+ 'color' => esc_html__( 'Normal', 'csf' ),
+ 'hover' => esc_html__( 'Hover', 'csf' ),
+ 'active' => esc_html__( 'Active', 'csf' ),
+ 'visited' => esc_html__( 'Visited', 'csf' ),
+ 'focus' => esc_html__( 'Focus', 'csf' )
+ );
+
+ $value = wp_parse_args( $this->value, $default_values );
+
+ echo $this->field_before();
+
+ foreach ( $color_props as $color_prop_key => $color_prop_value ) {
+
+ if ( ! empty( $args[$color_prop_key] ) ) {
+
+ $default_attr = ( ! empty( $this->field['default'][$color_prop_key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$color_prop_key] ) .'"' : '';
+
+ echo '';
+ echo '
'. esc_attr( $color_prop_value ) .'
';
+ echo '
field_attributes() .'/>';
+ echo '
';
+
+ }
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] );
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+
+ if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
+ foreach ( $elements as $element ) {
+
+ if ( isset( $this->value['color'] ) && $this->value['color'] !== '' ) { $output .= $element .'{color:'. $this->value['color'] . $important .';}'; }
+ if ( isset( $this->value['hover'] ) && $this->value['hover'] !== '' ) { $output .= $element .':hover{color:'. $this->value['hover'] . $important .';}'; }
+ if ( isset( $this->value['active'] ) && $this->value['active'] !== '' ) { $output .= $element .':active{color:'. $this->value['active'] . $important .';}'; }
+ if ( isset( $this->value['visited'] ) && $this->value['visited'] !== '' ) { $output .= $element .':visited{color:'. $this->value['visited'] . $important .';}'; }
+ if ( isset( $this->value['focus'] ) && $this->value['focus'] !== '' ) { $output .= $element .':focus{color:'. $this->value['focus'] . $important .';}'; }
+
+ }
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/map/map.php b/fields/map/map.php
new file mode 100644
index 0000000..2065ddb
--- /dev/null
+++ b/fields/map/map.php
@@ -0,0 +1,98 @@
+field, array(
+ 'placeholder' => esc_html__( 'Search...', 'csf' ),
+ 'latitude_text' => esc_html__( 'Latitude', 'csf' ),
+ 'longitude_text' => esc_html__( 'Longitude', 'csf' ),
+ 'address_field' => '',
+ 'height' => '',
+ ) );
+
+ $value = wp_parse_args( $this->value, array(
+ 'address' => '',
+ 'latitude' => '20',
+ 'longitude' => '0',
+ 'zoom' => '2',
+ ) );
+
+ $default_settings = array(
+ 'center' => array( $value['latitude'], $value['longitude'] ),
+ 'zoom' => $value['zoom'],
+ 'scrollWheelZoom' => false,
+ );
+
+ $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array();
+ $settings = wp_parse_args( $settings, $default_settings );
+
+ $style_attr = ( ! empty( $args['height'] ) ) ? ' style="min-height:'. esc_attr( $args['height'] ) .';"' : '';
+ $placeholder = ( ! empty( $args['placeholder'] ) ) ? array( 'placeholder' => $args['placeholder'] ) : '';
+
+ echo $this->field_before();
+
+ if ( empty( $args['address_field'] ) ) {
+ echo '';
+ echo ' field_attributes( $placeholder ) .' />';
+ echo '
';
+ } else {
+ echo '
';
+ }
+
+ echo '';
+
+ echo '';
+
+ echo ' ';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'csf-leaflet' ) ) {
+ wp_enqueue_script( 'csf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.js' ), array( 'csf' ), $this->version, true );
+ }
+
+ if ( ! wp_style_is( 'csf-leaflet' ) ) {
+ wp_enqueue_style( 'csf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.css' ), array(), $this->version );
+ }
+
+ if ( ! wp_script_is( 'jquery-ui-autocomplete' ) ) {
+ wp_enqueue_script( 'jquery-ui-autocomplete' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/media/media.php b/fields/media/media.php
new file mode 100644
index 0000000..cd5713b
--- /dev/null
+++ b/fields/media/media.php
@@ -0,0 +1,96 @@
+field, array(
+ 'url' => true,
+ 'preview' => true,
+ 'preview_width' => '',
+ 'preview_height' => '',
+ 'library' => array(),
+ 'button_title' => esc_html__( 'Upload', 'csf' ),
+ 'remove_title' => esc_html__( 'Remove', 'csf' ),
+ 'preview_size' => 'thumbnail',
+ ) );
+
+ $default_values = array(
+ 'url' => '',
+ 'id' => '',
+ 'width' => '',
+ 'height' => '',
+ 'thumbnail' => '',
+ 'alt' => '',
+ 'title' => '',
+ 'description' => ''
+ );
+
+ // fallback
+ if ( is_numeric( $this->value ) ) {
+
+ $this->value = array(
+ 'id' => $this->value,
+ 'url' => wp_get_attachment_url( $this->value ),
+ 'thumbnail' => wp_get_attachment_image_src( $this->value, 'thumbnail', true )[0],
+ );
+
+ }
+
+ $this->value = wp_parse_args( $this->value, $default_values );
+
+ $library = ( is_array( $args['library'] ) ) ? $args['library'] : array_filter( (array) $args['library'] );
+ $library = ( ! empty( $library ) ) ? implode(',', $library ) : '';
+ $preview_src = ( $args['preview_size'] !== 'thumbnail' ) ? $this->value['url'] : $this->value['thumbnail'];
+ $hidden_url = ( empty( $args['url'] ) ) ? ' hidden' : '';
+ $hidden_auto = ( empty( $this->value['url'] ) ) ? ' hidden' : '';
+ $placeholder = ( empty( $this->field['placeholder'] ) ) ? ' placeholder="'. esc_html__( 'Not selected', 'csf' ) .'"' : '';
+
+ echo $this->field_before();
+
+ if ( ! empty( $args['preview'] ) ) {
+
+ $preview_width = ( ! empty( $args['preview_width'] ) ) ? 'max-width:'. esc_attr( $args['preview_width'] ) .'px;' : '';
+ $preview_height = ( ! empty( $args['preview_height'] ) ) ? 'max-height:'. esc_attr( $args['preview_height'] ) .'px;' : '';
+ $preview_style = ( ! empty( $preview_width ) || ! empty( $preview_height ) ) ? ' style="'. esc_attr( $preview_width . $preview_height ) .'"': '';
+
+ echo '';
+ echo '
';
+ echo '
';
+ echo '
';
+ echo '
';
+
+ }
+
+ echo '';
+
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/notice/notice.php b/fields/notice/notice.php
new file mode 100644
index 0000000..3e90265
--- /dev/null
+++ b/fields/notice/notice.php
@@ -0,0 +1,26 @@
+field['style'] ) ) ? $this->field['style'] : 'normal';
+
+ echo ( ! empty( $this->field['content'] ) ) ? ''. $this->field['content'] .'
' : '';
+
+ }
+
+ }
+}
diff --git a/fields/number/number.php b/fields/number/number.php
new file mode 100644
index 0000000..392ee0d
--- /dev/null
+++ b/fields/number/number.php
@@ -0,0 +1,60 @@
+field, array(
+ 'unit' => '',
+ ) );
+
+ echo $this->field_before();
+ echo '';
+ echo ' field_attributes( array( 'class' => 'csf-input-number' ) ) .' step="any" />';
+ echo ( ! empty( $args['unit'] ) ) ? ''. esc_attr( $args['unit'] ) .' ' : '';
+ echo '
';
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] );
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width';
+ $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px';
+
+ if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
+ foreach ( $elements as $key_property => $element ) {
+ if ( is_numeric( $key_property ) ) {
+ if ( $mode ) {
+ $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}';
+ }
+ break;
+ } else {
+ $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}';
+ }
+ }
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/palette/palette.php b/fields/palette/palette.php
new file mode 100644
index 0000000..5cbd6ba
--- /dev/null
+++ b/fields/palette/palette.php
@@ -0,0 +1,58 @@
+field['options'] ) ) ? $this->field['options'] : array();
+
+ echo $this->field_before();
+
+ if ( ! empty( $palette ) ) {
+
+ echo '';
+
+ foreach ( $palette as $key => $colors ) {
+
+ $active = ( $key === $this->value ) ? ' csf--active' : '';
+ $checked = ( $key === $this->value ) ? ' checked' : '';
+
+ echo '
';
+
+ if ( ! empty( $colors ) ) {
+
+ foreach ( $colors as $color ) {
+
+ echo ' ';
+
+ }
+
+ }
+
+ echo ' field_attributes() . esc_attr( $checked ) .'/>';
+ echo '
';
+
+ }
+
+ echo '
';
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/radio/radio.php b/fields/radio/radio.php
new file mode 100644
index 0000000..52c42f0
--- /dev/null
+++ b/fields/radio/radio.php
@@ -0,0 +1,93 @@
+field, array(
+ 'inline' => false,
+ 'query_args' => array(),
+ ) );
+
+ $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : '';
+
+ echo $this->field_before();
+
+ if ( isset( $this->field['options'] ) ) {
+
+ $options = $this->field['options'];
+ $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) );
+
+ if ( is_array( $options ) && ! empty( $options ) ) {
+
+ echo '';
+
+ } else {
+
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' );
+
+ }
+
+ } else {
+
+ $label = ( isset( $this->field['label'] ) ) ? $this->field['label'] : '';
+ echo ' field_attributes() . esc_attr( checked( $this->value, 1, false ) ) .'/>';
+ echo ( ! empty( $this->field['label'] ) ) ? ''. esc_attr( $this->field['label'] ) .' ' : '';
+ echo ' ';
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/repeater/repeater.php b/fields/repeater/repeater.php
new file mode 100644
index 0000000..8723d79
--- /dev/null
+++ b/fields/repeater/repeater.php
@@ -0,0 +1,108 @@
+field, array(
+ 'max' => 0,
+ 'min' => 0,
+ 'button_title' => ' ',
+ ) );
+
+ if ( preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->unique ) ) {
+
+ echo ''. esc_html__( 'Error: Field ID conflict.', 'csf' ) .'
';
+
+ } else {
+
+ echo $this->field_before();
+
+ echo '';
+ echo '
';
+ foreach ( $this->field['fields'] as $field ) {
+
+ $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
+ $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .'][0]' : $this->field['id'] .'[0]';
+
+ CSF::field( $field, $field_default, '___'. $field_unique, 'field/repeater' );
+
+ }
+ echo '
';
+ echo '
';
+ echo '
';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo '
';
+ echo '
';
+ echo '
';
+
+ echo '';
+
+ if ( ! empty( $this->value ) && is_array( $this->value ) ) {
+
+ $num = 0;
+
+ foreach ( $this->value as $key => $value ) {
+
+ echo '
';
+ echo '
';
+ foreach ( $this->field['fields'] as $field ) {
+
+ $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
+ $field_value = ( isset( $field['id'] ) && isset( $this->value[$key][$field['id']] ) ) ? $this->value[$key][$field['id']] : '';
+
+ CSF::field( $field, $field_value, $field_unique, 'field/repeater' );
+
+ }
+ echo '
';
+ echo '
';
+ echo '
';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo '
';
+ echo '
';
+ echo '
';
+
+ $num++;
+
+ }
+
+ }
+
+ echo '
';
+
+ echo ''. esc_html__( 'You cannot add more.', 'csf' ) .'
';
+ echo ''. esc_html__( 'You cannot remove more.', 'csf' ) .'
';
+ echo ''. $args['button_title'] .' ';
+
+ echo $this->field_after();
+
+ }
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-sortable' ) ) {
+ wp_enqueue_script( 'jquery-ui-sortable' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/select/select.php b/fields/select/select.php
new file mode 100644
index 0000000..e2456ab
--- /dev/null
+++ b/fields/select/select.php
@@ -0,0 +1,132 @@
+field, array(
+ 'placeholder' => '',
+ 'chosen' => false,
+ 'multiple' => false,
+ 'sortable' => false,
+ 'ajax' => false,
+ 'settings' => array(),
+ 'query_args' => array(),
+ ) );
+
+ $this->value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
+
+ echo $this->field_before();
+
+ if ( isset( $this->field['options'] ) ) {
+
+ if ( ! empty( $args['ajax'] ) ) {
+ $args['settings']['data']['type'] = $args['options'];
+ $args['settings']['data']['nonce'] = wp_create_nonce( 'csf_chosen_ajax_nonce' );
+ if ( ! empty( $args['query_args'] ) ) {
+ $args['settings']['data']['query_args'] = $args['query_args'];
+ }
+ }
+
+ $chosen_rtl = ( is_rtl() ) ? ' chosen-rtl' : '';
+ $multiple_name = ( $args['multiple'] ) ? '[]' : '';
+ $multiple_attr = ( $args['multiple'] ) ? ' multiple="multiple"' : '';
+ $chosen_sortable = ( $args['chosen'] && $args['sortable'] ) ? ' csf-chosen-sortable' : '';
+ $chosen_ajax = ( $args['chosen'] && $args['ajax'] ) ? ' csf-chosen-ajax' : '';
+ $placeholder_attr = ( $args['chosen'] && $args['placeholder'] ) ? ' data-placeholder="'. esc_attr( $args['placeholder'] ) .'"' : '';
+ $field_class = ( $args['chosen'] ) ? ' class="csf-chosen'. esc_attr( $chosen_rtl . $chosen_sortable . $chosen_ajax ) .'"' : '';
+ $field_name = $this->field_name( $multiple_name );
+ $field_attr = $this->field_attributes();
+ $maybe_options = $this->field['options'];
+ $chosen_data_attr = ( $args['chosen'] && ! empty( $args['settings'] ) ) ? ' data-chosen-settings="'. esc_attr( json_encode( $args['settings'] ) ) .'"' : '';
+
+ if ( is_string( $maybe_options ) && ! empty( $args['chosen'] ) && ! empty( $args['ajax'] ) ) {
+ $options = $this->field_wp_query_data_title( $maybe_options, $this->value );
+ } else if ( is_string( $maybe_options ) ) {
+ $options = $this->field_data( $maybe_options, false, $args['query_args'] );
+ } else {
+ $options = $maybe_options;
+ }
+
+ if ( ( is_array( $options ) && ! empty( $options ) ) || ( ! empty( $args['chosen'] ) && ! empty( $args['ajax'] ) ) ) {
+
+ if ( ! empty( $args['chosen'] ) && ! empty( $args['multiple'] ) ) {
+
+ echo '';
+ foreach ( $this->value as $option_key ) {
+ echo ''. esc_attr( $option_key ) .' ';
+ }
+ echo ' ';
+
+ $field_name = '_pseudo';
+ $field_attr = '';
+
+ }
+
+ // These attributes has been serialized above.
+ echo '';
+
+ if ( $args['placeholder'] && empty( $args['multiple'] ) ) {
+ if ( ! empty( $args['chosen'] ) ) {
+ echo ' ';
+ } else {
+ echo ''. esc_attr( $args['placeholder'] ) .' ';
+ }
+ }
+
+ foreach ( $options as $option_key => $option ) {
+
+ if ( is_array( $option ) && ! empty( $option ) ) {
+
+ echo '';
+
+ foreach ( $option as $sub_key => $sub_value ) {
+ $selected = ( in_array( $sub_key, $this->value ) ) ? ' selected' : '';
+ echo ''. esc_attr( $sub_value ) .' ';
+ }
+
+ echo ' ';
+
+ } else {
+ $selected = ( in_array( $option_key, $this->value ) ) ? ' selected' : '';
+ echo ''. esc_attr( $option ) .' ';
+ }
+
+ }
+
+ echo ' ';
+
+ } else {
+
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' );
+
+ }
+
+ }
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-sortable' ) ) {
+ wp_enqueue_script( 'jquery-ui-sortable' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/slider/slider.php b/fields/slider/slider.php
new file mode 100644
index 0000000..bdc66da
--- /dev/null
+++ b/fields/slider/slider.php
@@ -0,0 +1,78 @@
+field, array(
+ 'max' => 100,
+ 'min' => 0,
+ 'step' => 1,
+ 'unit' => '',
+ ) );
+
+ $is_unit = ( ! empty( $args['unit'] ) ) ? ' csf--is-unit' : '';
+
+ echo $this->field_before();
+
+ echo '';
+ echo '
';
+ echo '
';
+ echo ' field_attributes( array( 'class' => 'csf-input-number'. esc_attr( $is_unit ) ) ) .' data-min="'. esc_attr( $args['min'] ) .'" data-max="'. esc_attr( $args['max'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" step="any" />';
+ echo ( ! empty( $args['unit'] ) ) ? ''. esc_attr( $args['unit'] ) .' ' : '';
+ echo '
';
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-slider' ) ) {
+ wp_enqueue_script( 'jquery-ui-slider' );
+ }
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] );
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width';
+ $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px';
+
+ if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
+ foreach ( $elements as $key_property => $element ) {
+ if ( is_numeric( $key_property ) ) {
+ if ( $mode ) {
+ $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}';
+ }
+ break;
+ } else {
+ $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}';
+ }
+ }
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/sortable/sortable.php b/fields/sortable/sortable.php
new file mode 100644
index 0000000..9c11566
--- /dev/null
+++ b/fields/sortable/sortable.php
@@ -0,0 +1,87 @@
+field_before();
+
+ echo '';
+
+ $pre_sortby = array();
+ $pre_fields = array();
+
+ // Add array-keys to defined fields for sort by
+ foreach ( $this->field['fields'] as $key => $field ) {
+ $pre_fields[$field['id']] = $field;
+ }
+
+ // Set sort by by saved-value or default-value
+ if ( ! empty( $this->value ) ) {
+
+ foreach ( $this->value as $key => $value ) {
+ $pre_sortby[$key] = $pre_fields[$key];
+ }
+
+ $diff = array_diff_key( $pre_fields, $this->value );
+
+ if( ! empty( $diff ) ) {
+ $pre_sortby = array_merge( $pre_sortby, $diff );
+ }
+
+ } else {
+
+ foreach ( $pre_fields as $key => $value ) {
+ $pre_sortby[$key] = $value;
+ }
+
+ }
+
+ foreach ( $pre_sortby as $key => $field ) {
+
+ echo '
';
+
+ echo '
';
+
+ $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : '';
+ $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default;
+ $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
+
+ CSF::field( $field, $field_value, $unique_id, 'field/sortable' );
+
+ echo '
';
+
+ echo '
';
+
+ echo '
';
+
+ }
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-sortable' ) ) {
+ wp_enqueue_script( 'jquery-ui-sortable' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/sorter/sorter.php b/fields/sorter/sorter.php
new file mode 100644
index 0000000..8aa92ac
--- /dev/null
+++ b/fields/sorter/sorter.php
@@ -0,0 +1,76 @@
+field, array(
+ 'disabled' => true,
+ 'enabled_title' => esc_html__( 'Enabled', 'csf' ),
+ 'disabled_title' => esc_html__( 'Disabled', 'csf' ),
+ ) );
+
+ echo $this->field_before();
+
+ $this->value = ( ! empty( $this->value ) ) ? $this->value : $this->field['default'];
+ $enabled_options = ( ! empty( $this->value['enabled'] ) ) ? $this->value['enabled'] : array();
+ $disabled_options = ( ! empty( $this->value['disabled'] ) ) ? $this->value['disabled'] : array();
+
+ echo '
';
+
+ echo ( $args['disabled'] ) ? '' : '';
+
+ echo ( ! empty( $args['enabled_title'] ) ) ? '
'. esc_attr( $args['enabled_title'] ) .'
' : '';
+ echo '
';
+ if ( ! empty( $enabled_options ) ) {
+ foreach ( $enabled_options as $key => $value ) {
+ echo ''. esc_attr( $value ) .' ';
+ }
+ }
+ echo ' ';
+
+ // Check for hide/show disabled section
+ if ( $args['disabled'] ) {
+
+ echo '
';
+
+ echo '';
+ echo ( ! empty( $args['disabled_title'] ) ) ? '
'. esc_attr( $args['disabled_title'] ) .'
' : '';
+ echo '
';
+ if ( ! empty( $disabled_options ) ) {
+ foreach ( $disabled_options as $key => $value ) {
+ echo ''. esc_attr( $value ) .' ';
+ }
+ }
+ echo ' ';
+ echo '
';
+
+ }
+
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-sortable' ) ) {
+ wp_enqueue_script( 'jquery-ui-sortable' );
+ }
+
+ }
+
+ }
+}
diff --git a/fields/spacing/spacing.php b/fields/spacing/spacing.php
new file mode 100644
index 0000000..5d09ec2
--- /dev/null
+++ b/fields/spacing/spacing.php
@@ -0,0 +1,171 @@
+field, array(
+ 'top_icon' => ' ',
+ 'right_icon' => ' ',
+ 'bottom_icon' => ' ',
+ 'left_icon' => ' ',
+ 'all_icon' => ' ',
+ 'top_placeholder' => esc_html__( 'top', 'csf' ),
+ 'right_placeholder' => esc_html__( 'right', 'csf' ),
+ 'bottom_placeholder' => esc_html__( 'bottom', 'csf' ),
+ 'left_placeholder' => esc_html__( 'left', 'csf' ),
+ 'all_placeholder' => esc_html__( 'all', 'csf' ),
+ 'top' => true,
+ 'left' => true,
+ 'bottom' => true,
+ 'right' => true,
+ 'unit' => true,
+ 'show_units' => true,
+ 'all' => false,
+ 'units' => array( 'px', '%', 'em' )
+ ) );
+
+ $default_values = array(
+ 'top' => '',
+ 'right' => '',
+ 'bottom' => '',
+ 'left' => '',
+ 'all' => '',
+ 'unit' => 'px',
+ );
+
+ $value = wp_parse_args( $this->value, $default_values );
+ $unit = ( count( $args['units'] ) === 1 && ! empty( $args['unit'] ) ) ? $args['units'][0] : '';
+ $is_unit = ( ! empty( $unit ) ) ? ' csf--is-unit' : '';
+
+ echo $this->field_before();
+
+ echo '';
+
+ echo $this->field_after();
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $element = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $unit = ( ! empty( $this->value['unit'] ) ) ? $this->value['unit'] : 'px';
+
+ $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'padding';
+
+ if ( $mode === 'border-radius' || $mode === 'radius' ) {
+
+ $top = 'border-top-left-radius';
+ $right = 'border-top-right-radius';
+ $bottom = 'border-bottom-right-radius';
+ $left = 'border-bottom-left-radius';
+
+ } else if ( $mode === 'relative' || $mode === 'absolute' || $mode === 'none' ) {
+
+ $top = 'top';
+ $right = 'right';
+ $bottom = 'bottom';
+ $left = 'left';
+
+ } else {
+
+ $top = $mode .'-top';
+ $right = $mode .'-right';
+ $bottom = $mode .'-bottom';
+ $left = $mode .'-left';
+
+ }
+
+ if ( ! empty( $this->field['all'] ) && isset( $this->value['all'] ) && $this->value['all'] !== '' ) {
+
+ $output = $element .'{';
+ $output .= $top .':'. $this->value['all'] . $unit . $important .';';
+ $output .= $right .':'. $this->value['all'] . $unit . $important .';';
+ $output .= $bottom .':'. $this->value['all'] . $unit . $important .';';
+ $output .= $left .':'. $this->value['all'] . $unit . $important .';';
+ $output .= '}';
+
+ } else {
+
+ $top = ( isset( $this->value['top'] ) && $this->value['top'] !== '' ) ? $top .':'. $this->value['top'] . $unit . $important .';' : '';
+ $right = ( isset( $this->value['right'] ) && $this->value['right'] !== '' ) ? $right .':'. $this->value['right'] . $unit . $important .';' : '';
+ $bottom = ( isset( $this->value['bottom'] ) && $this->value['bottom'] !== '' ) ? $bottom .':'. $this->value['bottom'] . $unit . $important .';' : '';
+ $left = ( isset( $this->value['left'] ) && $this->value['left'] !== '' ) ? $left .':'. $this->value['left'] . $unit . $important .';' : '';
+
+ if ( $top !== '' || $right !== '' || $bottom !== '' || $left !== '' ) {
+ $output = $element .'{'. $top . $right . $bottom . $left .'}';
+ }
+
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/spinner/spinner.php b/fields/spinner/spinner.php
new file mode 100644
index 0000000..8839695
--- /dev/null
+++ b/fields/spinner/spinner.php
@@ -0,0 +1,70 @@
+field, array(
+ 'max' => 100,
+ 'min' => 0,
+ 'step' => 1,
+ 'unit' => '',
+ ) );
+
+ echo $this->field_before();
+
+ echo ' field_attributes( array( 'class' => 'csf-input-number' ) ) .' data-min="'. esc_attr( $args['min'] ) .'" data-max="'. esc_attr( $args['max'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" data-unit="'. esc_attr( $args['unit'] ) .'" step="any" />
';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'jquery-ui-spinner' ) ) {
+ wp_enqueue_script( 'jquery-ui-spinner' );
+ }
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] );
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width';
+ $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px';
+
+ if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
+ foreach ( $elements as $key_property => $element ) {
+ if ( is_numeric( $key_property ) ) {
+ if ( $mode ) {
+ $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}';
+ }
+ break;
+ } else {
+ $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}';
+ }
+ }
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/subheading/subheading.php b/fields/subheading/subheading.php
new file mode 100644
index 0000000..f94601a
--- /dev/null
+++ b/fields/subheading/subheading.php
@@ -0,0 +1,24 @@
+field['content'] ) ) ? $this->field['content'] : '';
+
+ }
+
+ }
+}
diff --git a/fields/submessage/submessage.php b/fields/submessage/submessage.php
new file mode 100644
index 0000000..c6109fa
--- /dev/null
+++ b/fields/submessage/submessage.php
@@ -0,0 +1,26 @@
+field['style'] ) ) ? $this->field['style'] : 'normal';
+
+ echo ''. $this->field['content'] .'
';
+
+ }
+
+ }
+}
diff --git a/fields/switcher/switcher.php b/fields/switcher/switcher.php
new file mode 100644
index 0000000..5eefe51
--- /dev/null
+++ b/fields/switcher/switcher.php
@@ -0,0 +1,40 @@
+value ) ) ? ' csf--active' : '';
+ $text_on = ( ! empty( $this->field['text_on'] ) ) ? $this->field['text_on'] : esc_html__( 'On', 'csf' );
+ $text_off = ( ! empty( $this->field['text_off'] ) ) ? $this->field['text_off'] : esc_html__( 'Off', 'csf' );
+ $text_width = ( ! empty( $this->field['text_width'] ) ) ? ' style="width: '. esc_attr( $this->field['text_width'] ) .'px;"': '';
+
+ echo $this->field_before();
+
+ echo '';
+ echo ''. esc_attr( $text_on ) .' ';
+ echo ''. esc_attr( $text_off ) .' ';
+ echo ' ';
+ echo ' field_attributes() .' />';
+ echo '
';
+
+ echo ( ! empty( $this->field['label'] ) ) ? ''. esc_attr( $this->field['label'] ) . ' ' : '';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/tabbed/tabbed.php b/fields/tabbed/tabbed.php
new file mode 100644
index 0000000..b69959f
--- /dev/null
+++ b/fields/tabbed/tabbed.php
@@ -0,0 +1,64 @@
+field_before();
+
+ echo '';
+ foreach ( $this->field['tabs'] as $key => $tab ) {
+
+ $tabbed_icon = ( ! empty( $tab['icon'] ) ) ? '
' : '';
+ $tabbed_active = ( empty( $key ) ) ? 'csf-tabbed-active' : '';
+
+ echo '
'. $tabbed_icon . esc_attr( $tab['title'] ) .' ';
+
+ }
+ echo '
';
+
+ echo '';
+ foreach ( $this->field['tabs'] as $key => $tab ) {
+
+ $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : '';
+
+ echo '
';
+
+ foreach ( $tab['fields'] as $field ) {
+
+ if ( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; }
+
+ $field_id = ( isset( $field['id'] ) ) ? $field['id'] : '';
+ $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
+ $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
+ $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
+
+ CSF::field( $field, $field_value, $unique_id, 'field/tabbed' );
+
+ }
+
+ echo '
';
+
+ }
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/text/text.php b/fields/text/text.php
new file mode 100644
index 0000000..6e06eac
--- /dev/null
+++ b/fields/text/text.php
@@ -0,0 +1,30 @@
+field['attributes']['type'] ) ) ? $this->field['attributes']['type'] : 'text';
+
+ echo $this->field_before();
+
+ echo ' field_attributes() .' />';
+
+ echo $this->field_after();
+
+ }
+
+ }
+}
diff --git a/fields/textarea/textarea.php b/fields/textarea/textarea.php
new file mode 100644
index 0000000..7e5105f
--- /dev/null
+++ b/fields/textarea/textarea.php
@@ -0,0 +1,48 @@
+field_before();
+ echo $this->shortcoder();
+ echo '';
+ echo $this->field_after();
+
+ }
+
+ public function shortcoder() {
+
+ if ( ! empty( $this->field['shortcoder'] ) ) {
+
+ $instances = ( is_array( $this->field['shortcoder'] ) ) ? $this->field['shortcoder'] : array_filter( (array) $this->field['shortcoder'] );
+
+ foreach ( $instances as $instance_key ) {
+
+ if ( isset( CSF::$shortcode_instances[$instance_key] ) ) {
+
+ $button_title = CSF::$shortcode_instances[$instance_key]['button_title'];
+
+ echo ''. $button_title .' ';
+
+ }
+
+ }
+
+ }
+
+ }
+ }
+}
diff --git a/fields/typography/google-fonts.php b/fields/typography/google-fonts.php
new file mode 100644
index 0000000..d8bab52
--- /dev/null
+++ b/fields/typography/google-fonts.php
@@ -0,0 +1,1366 @@
+[['normal','italic'],['latin']],
+ 'Abel'=>[['normal'],['latin']],
+ 'Abhaya Libre'=>[['normal','500','600','700','800'],['latin','latin-ext','sinhala']],
+ 'Abril Fatface'=>[['normal'],['latin','latin-ext']],
+ 'Aclonica'=>[['normal'],['latin']],
+ 'Acme'=>[['normal'],['latin']],
+ 'Actor'=>[['normal'],['latin']],
+ 'Adamina'=>[['normal'],['latin']],
+ 'Advent Pro'=>[['100','200','300','normal','500','600','700'],['greek','latin','latin-ext']],
+ 'Aguafina Script'=>[['normal'],['latin','latin-ext']],
+ 'Akaya Kanadaka'=>[['normal'],['kannada','latin','latin-ext']],
+ 'Akaya Telivigala'=>[['normal'],['latin','latin-ext','telugu']],
+ 'Akronim'=>[['normal'],['latin','latin-ext']],
+ 'Aladin'=>[['normal'],['latin','latin-ext']],
+ 'Alata'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Alatsi'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Aldrich'=>[['normal'],['latin']],
+ 'Alef'=>[['normal','700'],['hebrew','latin']],
+ 'Alegreya'=>[['normal','500','600','700','800','900','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Alegreya SC'=>[['normal','italic','500','500italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Alegreya Sans'=>[['100','100italic','300','300italic','normal','italic','500','500italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Alegreya Sans SC'=>[['100','100italic','300','300italic','normal','italic','500','500italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Aleo'=>[['300','300italic','normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Alex Brush'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Alfa Slab One'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Alice'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Alike'=>[['normal'],['latin']],
+ 'Alike Angular'=>[['normal'],['latin']],
+ 'Allan'=>[['normal','700'],['latin','latin-ext']],
+ 'Allerta'=>[['normal'],['latin']],
+ 'Allerta Stencil'=>[['normal'],['latin']],
+ 'Allison'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Allura'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Almarai'=>[['300','normal','700','800'],['arabic']],
+ 'Almendra'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Almendra Display'=>[['normal'],['latin','latin-ext']],
+ 'Almendra SC'=>[['normal'],['latin']],
+ 'Alumni Sans'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Amarante'=>[['normal'],['latin','latin-ext']],
+ 'Amaranth'=>[['normal','italic','700','700italic'],['latin']],
+ 'Amatic SC'=>[['normal','700'],['cyrillic','hebrew','latin','latin-ext','vietnamese']],
+ 'Amethysta'=>[['normal'],['latin']],
+ 'Amiko'=>[['normal','600','700'],['devanagari','latin','latin-ext']],
+ 'Amiri'=>[['normal','italic','700','700italic'],['arabic','latin','latin-ext']],
+ 'Amita'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Anaheim'=>[['normal'],['latin','latin-ext']],
+ 'Andada Pro'=>[['normal','500','600','700','800','italic','500italic','600italic','700italic','800italic'],['latin','latin-ext','vietnamese']],
+ 'Andika'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Andika New Basic'=>[['normal','italic','700','700italic'],['latin','latin-ext','vietnamese']],
+ 'Angkor'=>[['normal'],['khmer','latin']],
+ 'Annie Use Your Telescope'=>[['normal'],['latin']],
+ 'Anonymous Pro'=>[['normal','italic','700','700italic'],['cyrillic','greek','latin','latin-ext']],
+ 'Antic'=>[['normal'],['latin']],
+ 'Antic Didone'=>[['normal'],['latin']],
+ 'Antic Slab'=>[['normal'],['latin']],
+ 'Anton'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Antonio'=>[['100','200','300','normal','500','600','700'],['latin','latin-ext']],
+ 'Arapey'=>[['normal','italic'],['latin']],
+ 'Arbutus'=>[['normal'],['latin','latin-ext']],
+ 'Arbutus Slab'=>[['normal'],['latin','latin-ext']],
+ 'Architects Daughter'=>[['normal'],['latin']],
+ 'Archivo'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Archivo Black'=>[['normal'],['latin','latin-ext']],
+ 'Archivo Narrow'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['latin','latin-ext','vietnamese']],
+ 'Are You Serious'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Aref Ruqaa'=>[['normal','700'],['arabic','latin','latin-ext']],
+ 'Arima Madurai'=>[['100','200','300','normal','500','700','800','900'],['latin','latin-ext','tamil','vietnamese']],
+ 'Arimo'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','hebrew','latin','latin-ext','vietnamese']],
+ 'Arizonia'=>[['normal'],['latin','latin-ext']],
+ 'Armata'=>[['normal'],['latin','latin-ext']],
+ 'Arsenal'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Artifika'=>[['normal'],['latin']],
+ 'Arvo'=>[['normal','italic','700','700italic'],['latin']],
+ 'Arya'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Asap'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['latin','latin-ext','vietnamese']],
+ 'Asap Condensed'=>[['normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','vietnamese']],
+ 'Asar'=>[['normal'],['devanagari','latin','latin-ext']],
+ 'Asset'=>[['normal'],['latin']],
+ 'Assistant'=>[['200','300','normal','500','600','700','800'],['hebrew','latin','latin-ext']],
+ 'Astloch'=>[['normal','700'],['latin']],
+ 'Asul'=>[['normal','700'],['latin']],
+ 'Athiti'=>[['200','300','normal','500','600','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Atkinson Hyperlegible'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Atma'=>[['300','normal','500','600','700'],['bengali','latin','latin-ext']],
+ 'Atomic Age'=>[['normal'],['latin']],
+ 'Aubrey'=>[['normal'],['latin']],
+ 'Audiowide'=>[['normal'],['latin','latin-ext']],
+ 'Autour One'=>[['normal'],['latin','latin-ext']],
+ 'Average'=>[['normal'],['latin','latin-ext']],
+ 'Average Sans'=>[['normal'],['latin','latin-ext']],
+ 'Averia Gruesa Libre'=>[['normal'],['latin','latin-ext']],
+ 'Averia Libre'=>[['300','300italic','normal','italic','700','700italic'],['latin']],
+ 'Averia Sans Libre'=>[['300','300italic','normal','italic','700','700italic'],['latin']],
+ 'Averia Serif Libre'=>[['300','300italic','normal','italic','700','700italic'],['latin']],
+ 'Azeret Mono'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext']],
+ 'B612'=>[['normal','italic','700','700italic'],['latin']],
+ 'B612 Mono'=>[['normal','italic','700','700italic'],['latin']],
+ 'Bad Script'=>[['normal'],['cyrillic','latin']],
+ 'Bahiana'=>[['normal'],['latin','latin-ext']],
+ 'Bahianita'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Bai Jamjuree'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Bakbak One'=>[['normal'],['latin','latin-ext']],
+ 'Ballet'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Baloo 2'=>[['normal','500','600','700','800'],['devanagari','latin','latin-ext','vietnamese']],
+ 'Baloo Bhai 2'=>[['normal','500','600','700','800'],['gujarati','latin','latin-ext','vietnamese']],
+ 'Baloo Bhaijaan 2'=>[['normal','500','600','700','800'],['arabic','latin','latin-ext','vietnamese']],
+ 'Baloo Bhaina 2'=>[['normal','500','600','700','800'],['latin','latin-ext','oriya','vietnamese']],
+ 'Baloo Chettan 2'=>[['normal','500','600','700','800'],['latin','latin-ext','malayalam','vietnamese']],
+ 'Baloo Da 2'=>[['normal','500','600','700','800'],['bengali','latin','latin-ext','vietnamese']],
+ 'Baloo Paaji 2'=>[['normal','500','600','700','800'],['gurmukhi','latin','latin-ext','vietnamese']],
+ 'Baloo Tamma 2'=>[['normal','500','600','700','800'],['kannada','latin','latin-ext','vietnamese']],
+ 'Baloo Tammudu 2'=>[['normal','500','600','700','800'],['latin','latin-ext','telugu','vietnamese']],
+ 'Baloo Thambi 2'=>[['normal','500','600','700','800'],['latin','latin-ext','tamil','vietnamese']],
+ 'Balsamiq Sans'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Balthazar'=>[['normal'],['latin']],
+ 'Bangers'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Barlow'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','vietnamese']],
+ 'Barlow Condensed'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','vietnamese']],
+ 'Barlow Semi Condensed'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','vietnamese']],
+ 'Barriecito'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Barrio'=>[['normal'],['latin','latin-ext']],
+ 'Basic'=>[['normal'],['latin','latin-ext']],
+ 'Baskervville'=>[['normal','italic'],['latin','latin-ext']],
+ 'Battambang'=>[['100','300','normal','700','900'],['khmer','latin']],
+ 'Baumans'=>[['normal'],['latin']],
+ 'Bayon'=>[['normal'],['khmer','latin']],
+ 'Be Vietnam Pro'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','vietnamese']],
+ 'Bebas Neue'=>[['normal'],['latin','latin-ext']],
+ 'Belgrano'=>[['normal'],['latin']],
+ 'Bellefair'=>[['normal'],['hebrew','latin','latin-ext']],
+ 'Belleza'=>[['normal'],['latin','latin-ext']],
+ 'Bellota'=>[['300','300italic','normal','italic','700','700italic'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Bellota Text'=>[['300','300italic','normal','italic','700','700italic'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'BenchNine'=>[['300','normal','700'],['latin','latin-ext']],
+ 'Benne'=>[['normal'],['kannada','latin','latin-ext']],
+ 'Bentham'=>[['normal'],['latin']],
+ 'Berkshire Swash'=>[['normal'],['latin','latin-ext']],
+ 'Besley'=>[['normal','500','600','700','800','900','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext']],
+ 'Beth Ellen'=>[['normal'],['latin']],
+ 'Bevan'=>[['normal','italic'],['latin','latin-ext','vietnamese']],
+ 'Big Shoulders Display'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Big Shoulders Inline Display'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Big Shoulders Inline Text'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Big Shoulders Stencil Display'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Big Shoulders Stencil Text'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Big Shoulders Text'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Bigelow Rules'=>[['normal'],['latin','latin-ext']],
+ 'Bigshot One'=>[['normal'],['latin']],
+ 'Bilbo'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Bilbo Swash Caps'=>[['normal'],['latin','latin-ext']],
+ 'BioRhyme'=>[['200','300','normal','700','800'],['latin','latin-ext']],
+ 'BioRhyme Expanded'=>[['200','300','normal','700','800'],['latin','latin-ext']],
+ 'Birthstone'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Birthstone Bounce'=>[['normal','500'],['latin','latin-ext','vietnamese']],
+ 'Biryani'=>[['200','300','normal','600','700','800','900'],['devanagari','latin','latin-ext']],
+ 'Bitter'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Black And White Picture'=>[['normal'],['korean','latin']],
+ 'Black Han Sans'=>[['normal'],['korean','latin']],
+ 'Black Ops One'=>[['normal'],['latin','latin-ext']],
+ 'Blinker'=>[['100','200','300','normal','600','700','800','900'],['latin','latin-ext']],
+ 'Bodoni Moda'=>[['normal','500','600','700','800','900','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext']],
+ 'Bokor'=>[['normal'],['khmer','latin']],
+ 'Bona Nova'=>[['normal','italic','700'],['cyrillic','cyrillic-ext','greek','hebrew','latin','latin-ext','vietnamese']],
+ 'Bonbon'=>[['normal'],['latin']],
+ 'Bonheur Royale'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Boogaloo'=>[['normal'],['latin']],
+ 'Bowlby One'=>[['normal'],['latin']],
+ 'Bowlby One SC'=>[['normal'],['latin','latin-ext']],
+ 'Brawler'=>[['normal'],['latin']],
+ 'Bree Serif'=>[['normal'],['latin','latin-ext']],
+ 'Brygada 1918'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Bubblegum Sans'=>[['normal'],['latin','latin-ext']],
+ 'Bubbler One'=>[['normal'],['latin','latin-ext']],
+ 'Buda'=>[['300'],['latin']],
+ 'Buenard'=>[['normal','700'],['latin','latin-ext']],
+ 'Bungee'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Bungee Hairline'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Bungee Inline'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Bungee Outline'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Bungee Shade'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Butcherman'=>[['normal'],['latin','latin-ext']],
+ 'Butterfly Kids'=>[['normal'],['latin','latin-ext']],
+ 'Cabin'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['latin','latin-ext','vietnamese']],
+ 'Cabin Condensed'=>[['normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Cabin Sketch'=>[['normal','700'],['latin']],
+ 'Caesar Dressing'=>[['normal'],['latin']],
+ 'Cagliostro'=>[['normal'],['latin']],
+ 'Cairo'=>[['200','300','normal','500','600','700','800','900'],['arabic','latin','latin-ext']],
+ 'Caladea'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Calistoga'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Calligraffitti'=>[['normal'],['latin']],
+ 'Cambay'=>[['normal','italic','700','700italic'],['devanagari','latin','latin-ext']],
+ 'Cambo'=>[['normal'],['latin']],
+ 'Candal'=>[['normal'],['latin']],
+ 'Cantarell'=>[['normal','italic','700','700italic'],['latin']],
+ 'Cantata One'=>[['normal'],['latin','latin-ext']],
+ 'Cantora One'=>[['normal'],['latin','latin-ext']],
+ 'Capriola'=>[['normal'],['latin','latin-ext']],
+ 'Caramel'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Carattere'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Cardo'=>[['normal','italic','700'],['greek','greek-ext','latin','latin-ext']],
+ 'Carme'=>[['normal'],['latin']],
+ 'Carrois Gothic'=>[['normal'],['latin']],
+ 'Carrois Gothic SC'=>[['normal'],['latin']],
+ 'Carter One'=>[['normal'],['latin']],
+ 'Castoro'=>[['normal','italic'],['latin','latin-ext']],
+ 'Catamaran'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','tamil']],
+ 'Caudex'=>[['normal','italic','700','700italic'],['greek','greek-ext','latin','latin-ext']],
+ 'Caveat'=>[['normal','500','600','700'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Caveat Brush'=>[['normal'],['latin','latin-ext']],
+ 'Cedarville Cursive'=>[['normal'],['latin']],
+ 'Ceviche One'=>[['normal'],['latin','latin-ext']],
+ 'Chakra Petch'=>[['300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Changa'=>[['200','300','normal','500','600','700','800'],['arabic','latin','latin-ext']],
+ 'Changa One'=>[['normal','italic'],['latin']],
+ 'Chango'=>[['normal'],['latin','latin-ext']],
+ 'Charm'=>[['normal','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Charmonman'=>[['normal','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Chathura'=>[['100','300','normal','700','800'],['latin','telugu']],
+ 'Chau Philomene One'=>[['normal','italic'],['latin','latin-ext']],
+ 'Chela One'=>[['normal'],['latin','latin-ext']],
+ 'Chelsea Market'=>[['normal'],['latin','latin-ext']],
+ 'Chenla'=>[['normal'],['khmer']],
+ 'Cherish'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Cherry Cream Soda'=>[['normal'],['latin']],
+ 'Cherry Swash'=>[['normal','700'],['latin','latin-ext']],
+ 'Chewy'=>[['normal'],['latin']],
+ 'Chicle'=>[['normal'],['latin','latin-ext']],
+ 'Chilanka'=>[['normal'],['latin','malayalam']],
+ 'Chivo'=>[['300','300italic','normal','italic','700','700italic','900','900italic'],['latin','latin-ext']],
+ 'Chonburi'=>[['normal'],['latin','latin-ext','thai','vietnamese']],
+ 'Cinzel'=>[['normal','500','600','700','800','900'],['latin','latin-ext']],
+ 'Cinzel Decorative'=>[['normal','700','900'],['latin']],
+ 'Clicker Script'=>[['normal'],['latin','latin-ext']],
+ 'Coda'=>[['normal','800'],['latin','latin-ext']],
+ 'Coda Caption'=>[['800'],['latin','latin-ext']],
+ 'Codystar'=>[['300','normal'],['latin','latin-ext']],
+ 'Coiny'=>[['normal'],['latin','latin-ext','tamil','vietnamese']],
+ 'Combo'=>[['normal'],['latin','latin-ext']],
+ 'Comfortaa'=>[['300','normal','500','600','700'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Comforter'=>[['normal'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Comforter Brush'=>[['normal'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Comic Neue'=>[['300','300italic','normal','italic','700','700italic'],['latin']],
+ 'Coming Soon'=>[['normal'],['latin']],
+ 'Commissioner'=>[['100','200','300','normal','500','600','700','800','900'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Concert One'=>[['normal'],['latin','latin-ext']],
+ 'Condiment'=>[['normal'],['latin','latin-ext']],
+ 'Content'=>[['normal','700'],['khmer']],
+ 'Contrail One'=>[['normal'],['latin']],
+ 'Convergence'=>[['normal'],['latin','latin-ext']],
+ 'Cookie'=>[['normal'],['latin']],
+ 'Copse'=>[['normal'],['latin']],
+ 'Corben'=>[['normal','700'],['latin','latin-ext']],
+ 'Corinthia'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'Cormorant'=>[['300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Cormorant Garamond'=>[['300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Cormorant Infant'=>[['300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Cormorant SC'=>[['300','normal','500','600','700'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Cormorant Unicase'=>[['300','normal','500','600','700'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Cormorant Upright'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Courgette'=>[['normal'],['latin','latin-ext']],
+ 'Courier Prime'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Cousine'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','hebrew','latin','latin-ext','vietnamese']],
+ 'Coustard'=>[['normal','900'],['latin']],
+ 'Covered By Your Grace'=>[['normal'],['latin']],
+ 'Crafty Girls'=>[['normal'],['latin']],
+ 'Creepster'=>[['normal'],['latin']],
+ 'Crete Round'=>[['normal','italic'],['latin','latin-ext']],
+ 'Crimson Pro'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Croissant One'=>[['normal'],['latin','latin-ext']],
+ 'Crushed'=>[['normal'],['latin']],
+ 'Cuprum'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Cute Font'=>[['normal'],['korean','latin']],
+ 'Cutive'=>[['normal'],['latin','latin-ext']],
+ 'Cutive Mono'=>[['normal'],['latin','latin-ext']],
+ 'DM Mono'=>[['300','300italic','normal','italic','500','500italic'],['latin','latin-ext']],
+ 'DM Sans'=>[['normal','italic','500','500italic','700','700italic'],['latin','latin-ext']],
+ 'DM Serif Display'=>[['normal','italic'],['latin','latin-ext']],
+ 'DM Serif Text'=>[['normal','italic'],['latin','latin-ext']],
+ 'Damion'=>[['normal'],['latin']],
+ 'Dancing Script'=>[['normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Dangrek'=>[['normal'],['khmer','latin']],
+ 'Darker Grotesque'=>[['300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'David Libre'=>[['normal','500','700'],['hebrew','latin','latin-ext','vietnamese']],
+ 'Dawning of a New Day'=>[['normal'],['latin']],
+ 'Days One'=>[['normal'],['latin']],
+ 'Dekko'=>[['normal'],['devanagari','latin','latin-ext']],
+ 'Dela Gothic One'=>[['normal'],['cyrillic','greek','japanese','latin','latin-ext','vietnamese']],
+ 'Delius'=>[['normal'],['latin']],
+ 'Delius Swash Caps'=>[['normal'],['latin']],
+ 'Delius Unicase'=>[['normal','700'],['latin']],
+ 'Della Respira'=>[['normal'],['latin']],
+ 'Denk One'=>[['normal'],['latin','latin-ext']],
+ 'Devonshire'=>[['normal'],['latin','latin-ext']],
+ 'Dhurjati'=>[['normal'],['latin','telugu']],
+ 'Didact Gothic'=>[['normal'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext']],
+ 'Diplomata'=>[['normal'],['latin','latin-ext']],
+ 'Diplomata SC'=>[['normal'],['latin','latin-ext']],
+ 'Do Hyeon'=>[['normal'],['korean','latin']],
+ 'Dokdo'=>[['normal'],['korean','latin']],
+ 'Domine'=>[['normal','500','600','700'],['latin','latin-ext']],
+ 'Donegal One'=>[['normal'],['latin','latin-ext']],
+ 'Dongle'=>[['300','normal','700'],['korean','latin','latin-ext','vietnamese']],
+ 'Doppio One'=>[['normal'],['latin','latin-ext']],
+ 'Dorsa'=>[['normal'],['latin']],
+ 'Dosis'=>[['200','300','normal','500','600','700','800'],['latin','latin-ext','vietnamese']],
+ 'DotGothic16'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Dr Sugiyama'=>[['normal'],['latin','latin-ext']],
+ 'Duru Sans'=>[['normal'],['latin','latin-ext']],
+ 'Dynalight'=>[['normal'],['latin','latin-ext']],
+ 'EB Garamond'=>[['normal','500','600','700','800','italic','500italic','600italic','700italic','800italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Eagle Lake'=>[['normal'],['latin','latin-ext']],
+ 'East Sea Dokdo'=>[['normal'],['korean','latin']],
+ 'Eater'=>[['normal'],['latin','latin-ext']],
+ 'Economica'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Eczar'=>[['normal','500','600','700','800'],['devanagari','latin','latin-ext']],
+ 'El Messiri'=>[['normal','500','600','700'],['arabic','cyrillic','latin','latin-ext']],
+ 'Electrolize'=>[['normal'],['latin']],
+ 'Elsie'=>[['normal','900'],['latin','latin-ext']],
+ 'Elsie Swash Caps'=>[['normal','900'],['latin','latin-ext']],
+ 'Emblema One'=>[['normal'],['latin','latin-ext']],
+ 'Emilys Candy'=>[['normal'],['latin','latin-ext']],
+ 'Encode Sans'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Encode Sans Condensed'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Encode Sans Expanded'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Encode Sans SC'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Encode Sans Semi Condensed'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Encode Sans Semi Expanded'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Engagement'=>[['normal'],['latin']],
+ 'Englebert'=>[['normal'],['latin','latin-ext']],
+ 'Enriqueta'=>[['normal','500','600','700'],['latin','latin-ext']],
+ 'Ephesis'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Epilogue'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Erica One'=>[['normal'],['latin','latin-ext']],
+ 'Esteban'=>[['normal'],['latin','latin-ext']],
+ 'Estonia'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Euphoria Script'=>[['normal'],['latin','latin-ext']],
+ 'Ewert'=>[['normal'],['latin','latin-ext']],
+ 'Exo'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Exo 2'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Expletus Sans'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['latin','latin-ext']],
+ 'Explora'=>[['normal'],['cherokee','latin','latin-ext','vietnamese']],
+ 'Fahkwang'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Fanwood Text'=>[['normal','italic'],['latin']],
+ 'Farro'=>[['300','normal','500','700'],['latin','latin-ext']],
+ 'Farsan'=>[['normal'],['gujarati','latin','latin-ext','vietnamese']],
+ 'Fascinate'=>[['normal'],['latin']],
+ 'Fascinate Inline'=>[['normal'],['latin']],
+ 'Faster One'=>[['normal'],['latin']],
+ 'Fasthand'=>[['normal'],['khmer','latin']],
+ 'Fauna One'=>[['normal'],['latin','latin-ext']],
+ 'Faustina'=>[['300','normal','500','600','700','800','300italic','italic','500italic','600italic','700italic','800italic'],['latin','latin-ext','vietnamese']],
+ 'Federant'=>[['normal'],['latin']],
+ 'Federo'=>[['normal'],['latin']],
+ 'Felipa'=>[['normal'],['latin','latin-ext']],
+ 'Fenix'=>[['normal'],['latin','latin-ext']],
+ 'Festive'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Finger Paint'=>[['normal'],['latin']],
+ 'Fira Code'=>[['300','normal','500','600','700'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext']],
+ 'Fira Mono'=>[['normal','500','700'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext']],
+ 'Fira Sans'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Fira Sans Condensed'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Fira Sans Extra Condensed'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Fjalla One'=>[['normal'],['latin','latin-ext']],
+ 'Fjord One'=>[['normal'],['latin']],
+ 'Flamenco'=>[['300','normal'],['latin']],
+ 'Flavors'=>[['normal'],['latin','latin-ext']],
+ 'Fleur De Leah'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Flow Block'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Flow Circular'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Flow Rounded'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Fondamento'=>[['normal','italic'],['latin','latin-ext']],
+ 'Fontdiner Swanky'=>[['normal'],['latin']],
+ 'Forum'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Francois One'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Frank Ruhl Libre'=>[['300','normal','500','700','900'],['hebrew','latin','latin-ext']],
+ 'Fraunces'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Freckle Face'=>[['normal'],['latin','latin-ext']],
+ 'Fredericka the Great'=>[['normal'],['latin','latin-ext']],
+ 'Fredoka One'=>[['normal'],['latin']],
+ 'Freehand'=>[['normal'],['khmer','latin']],
+ 'Fresca'=>[['normal'],['latin','latin-ext']],
+ 'Frijole'=>[['normal'],['latin']],
+ 'Fruktur'=>[['normal'],['latin','latin-ext']],
+ 'Fugaz One'=>[['normal'],['latin']],
+ 'Fuggles'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Fuzzy Bubbles'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'GFS Didot'=>[['normal'],['greek']],
+ 'GFS Neohellenic'=>[['normal','italic','700','700italic'],['greek']],
+ 'Gabriela'=>[['normal'],['cyrillic','cyrillic-ext','latin']],
+ 'Gaegu'=>[['300','normal','700'],['korean','latin']],
+ 'Gafata'=>[['normal'],['latin','latin-ext']],
+ 'Galada'=>[['normal'],['bengali','latin']],
+ 'Galdeano'=>[['normal'],['latin']],
+ 'Galindo'=>[['normal'],['latin','latin-ext']],
+ 'Gamja Flower'=>[['normal'],['korean','latin']],
+ 'Gayathri'=>[['100','normal','700'],['latin','malayalam']],
+ 'Gelasio'=>[['normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','vietnamese']],
+ 'Gemunu Libre'=>[['200','300','normal','500','600','700','800'],['latin','latin-ext','sinhala']],
+ 'Genos'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cherokee','latin','latin-ext','vietnamese']],
+ 'Gentium Basic'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Gentium Book Basic'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Geo'=>[['normal','italic'],['latin']],
+ 'Georama'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Geostar'=>[['normal'],['latin']],
+ 'Geostar Fill'=>[['normal'],['latin']],
+ 'Germania One'=>[['normal'],['latin']],
+ 'Gideon Roman'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Gidugu'=>[['normal'],['latin','telugu']],
+ 'Gilda Display'=>[['normal'],['latin','latin-ext']],
+ 'Girassol'=>[['normal'],['latin','latin-ext']],
+ 'Give You Glory'=>[['normal'],['latin']],
+ 'Glass Antiqua'=>[['normal'],['latin','latin-ext']],
+ 'Glegoo'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Gloria Hallelujah'=>[['normal'],['latin']],
+ 'Glory'=>[['100','200','300','normal','500','600','700','800','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic'],['latin','latin-ext','vietnamese']],
+ 'Gluten'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Goblin One'=>[['normal'],['latin']],
+ 'Gochi Hand'=>[['normal'],['latin']],
+ 'Goldman'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'Gorditas'=>[['normal','700'],['latin']],
+ 'Gothic A1'=>[['100','200','300','normal','500','600','700','800','900'],['korean','latin']],
+ 'Gotu'=>[['normal'],['devanagari','latin','latin-ext','vietnamese']],
+ 'Goudy Bookletter 1911'=>[['normal'],['latin']],
+ 'Gowun Batang'=>[['normal','700'],['korean','latin','latin-ext','vietnamese']],
+ 'Gowun Dodum'=>[['normal'],['korean','latin','latin-ext','vietnamese']],
+ 'Graduate'=>[['normal'],['latin']],
+ 'Grand Hotel'=>[['normal'],['latin','latin-ext']],
+ 'Grandstander'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Gravitas One'=>[['normal'],['latin']],
+ 'Great Vibes'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Grechen Fuemen'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Grenze'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','vietnamese']],
+ 'Grenze Gotisch'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Grey Qo'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Griffy'=>[['normal'],['latin','latin-ext']],
+ 'Gruppo'=>[['normal'],['latin','latin-ext']],
+ 'Gudea'=>[['normal','italic','700'],['latin','latin-ext']],
+ 'Gugi'=>[['normal'],['korean','latin']],
+ 'Gupter'=>[['normal','500','700'],['latin']],
+ 'Gurajada'=>[['normal'],['latin','telugu']],
+ 'Gwendolyn'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'Habibi'=>[['normal'],['latin','latin-ext']],
+ 'Hachi Maru Pop'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Hahmlet'=>[['100','200','300','normal','500','600','700','800','900'],['korean','latin','latin-ext','vietnamese']],
+ 'Halant'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Hammersmith One'=>[['normal'],['latin','latin-ext']],
+ 'Hanalei'=>[['normal'],['latin','latin-ext']],
+ 'Hanalei Fill'=>[['normal'],['latin','latin-ext']],
+ 'Handlee'=>[['normal'],['latin']],
+ 'Hanuman'=>[['100','300','normal','700','900'],['khmer','latin']],
+ 'Happy Monkey'=>[['normal'],['latin','latin-ext']],
+ 'Harmattan'=>[['normal','700'],['arabic','latin','latin-ext']],
+ 'Headland One'=>[['normal'],['latin','latin-ext']],
+ 'Heebo'=>[['100','200','300','normal','500','600','700','800','900'],['hebrew','latin']],
+ 'Henny Penny'=>[['normal'],['latin']],
+ 'Hepta Slab'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Herr Von Muellerhoff'=>[['normal'],['latin','latin-ext']],
+ 'Hi Melody'=>[['normal'],['korean','latin']],
+ 'Hina Mincho'=>[['normal'],['cyrillic','japanese','latin','latin-ext','vietnamese']],
+ 'Hind'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Hind Guntur'=>[['300','normal','500','600','700'],['latin','latin-ext','telugu']],
+ 'Hind Madurai'=>[['300','normal','500','600','700'],['latin','latin-ext','tamil']],
+ 'Hind Siliguri'=>[['300','normal','500','600','700'],['bengali','latin','latin-ext']],
+ 'Hind Vadodara'=>[['300','normal','500','600','700'],['gujarati','latin','latin-ext']],
+ 'Holtwood One SC'=>[['normal'],['latin']],
+ 'Homemade Apple'=>[['normal'],['latin']],
+ 'Homenaje'=>[['normal'],['latin']],
+ 'Hurricane'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'IBM Plex Mono'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'IBM Plex Sans'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'IBM Plex Sans Arabic'=>[['100','200','300','normal','500','600','700'],['arabic','cyrillic-ext','latin','latin-ext']],
+ 'IBM Plex Sans Condensed'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'IBM Plex Sans Devanagari'=>[['100','200','300','normal','500','600','700'],['cyrillic-ext','devanagari','latin','latin-ext']],
+ 'IBM Plex Sans Hebrew'=>[['100','200','300','normal','500','600','700'],['cyrillic-ext','hebrew','latin','latin-ext']],
+ 'IBM Plex Sans KR'=>[['100','200','300','normal','500','600','700'],['korean','latin','latin-ext']],
+ 'IBM Plex Sans Thai'=>[['100','200','300','normal','500','600','700'],['cyrillic-ext','latin','latin-ext','thai']],
+ 'IBM Plex Sans Thai Looped'=>[['100','200','300','normal','500','600','700'],['cyrillic-ext','latin','latin-ext','thai']],
+ 'IBM Plex Serif'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'IM Fell DW Pica'=>[['normal','italic'],['latin']],
+ 'IM Fell DW Pica SC'=>[['normal'],['latin']],
+ 'IM Fell Double Pica'=>[['normal','italic'],['latin']],
+ 'IM Fell Double Pica SC'=>[['normal'],['latin']],
+ 'IM Fell English'=>[['normal','italic'],['latin']],
+ 'IM Fell English SC'=>[['normal'],['latin']],
+ 'IM Fell French Canon'=>[['normal','italic'],['latin']],
+ 'IM Fell French Canon SC'=>[['normal'],['latin']],
+ 'IM Fell Great Primer'=>[['normal','italic'],['latin']],
+ 'IM Fell Great Primer SC'=>[['normal'],['latin']],
+ 'Ibarra Real Nova'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['latin','latin-ext']],
+ 'Iceberg'=>[['normal'],['latin']],
+ 'Iceland'=>[['normal'],['latin']],
+ 'Imbue'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Imperial Script'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Imprima'=>[['normal'],['latin','latin-ext']],
+ 'Inconsolata'=>[['200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Inder'=>[['normal'],['latin','latin-ext']],
+ 'Indie Flower'=>[['normal'],['latin']],
+ 'Inika'=>[['normal','700'],['latin','latin-ext']],
+ 'Inknut Antiqua'=>[['300','normal','500','600','700','800','900'],['devanagari','latin','latin-ext']],
+ 'Inria Sans'=>[['300','300italic','normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Inria Serif'=>[['300','300italic','normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Inspiration'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Inter'=>[['100','200','300','normal','500','600','700','800','900'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Irish Grover'=>[['normal'],['latin']],
+ 'Island Moments'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Istok Web'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Italiana'=>[['normal'],['latin']],
+ 'Italianno'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Itim'=>[['normal'],['latin','latin-ext','thai','vietnamese']],
+ 'Jacques Francois'=>[['normal'],['latin']],
+ 'Jacques Francois Shadow'=>[['normal'],['latin']],
+ 'Jaldi'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'JetBrains Mono'=>[['100','200','300','normal','500','600','700','800','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Jim Nightshade'=>[['normal'],['latin','latin-ext']],
+ 'Jockey One'=>[['normal'],['latin','latin-ext']],
+ 'Jolly Lodger'=>[['normal'],['latin','latin-ext']],
+ 'Jomhuria'=>[['normal'],['arabic','latin','latin-ext']],
+ 'Jomolhari'=>[['normal'],['latin','tibetan']],
+ 'Josefin Sans'=>[['100','200','300','normal','500','600','700','100italic','200italic','300italic','italic','500italic','600italic','700italic'],['latin','latin-ext','vietnamese']],
+ 'Josefin Slab'=>[['100','200','300','normal','500','600','700','100italic','200italic','300italic','italic','500italic','600italic','700italic'],['latin']],
+ 'Jost'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','latin','latin-ext']],
+ 'Joti One'=>[['normal'],['latin','latin-ext']],
+ 'Jua'=>[['normal'],['korean','latin']],
+ 'Judson'=>[['normal','italic','700'],['latin','latin-ext','vietnamese']],
+ 'Julee'=>[['normal'],['latin']],
+ 'Julius Sans One'=>[['normal'],['latin','latin-ext']],
+ 'Junge'=>[['normal'],['latin']],
+ 'Jura'=>[['300','normal','500','600','700'],['cyrillic','cyrillic-ext','greek','greek-ext','kayah-li','latin','latin-ext','vietnamese']],
+ 'Just Another Hand'=>[['normal'],['latin']],
+ 'Just Me Again Down Here'=>[['normal'],['latin','latin-ext']],
+ 'K2D'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Kadwa'=>[['normal','700'],['devanagari','latin']],
+ 'Kaisei Decol'=>[['normal','500','700'],['cyrillic','japanese','latin','latin-ext']],
+ 'Kaisei HarunoUmi'=>[['normal','500','700'],['cyrillic','japanese','latin','latin-ext']],
+ 'Kaisei Opti'=>[['normal','500','700'],['cyrillic','japanese','latin','latin-ext']],
+ 'Kaisei Tokumin'=>[['normal','500','700','800'],['cyrillic','japanese','latin','latin-ext']],
+ 'Kalam'=>[['300','normal','700'],['devanagari','latin','latin-ext']],
+ 'Kameron'=>[['normal','700'],['latin']],
+ 'Kanit'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Kantumruy'=>[['300','normal','700'],['khmer']],
+ 'Karantina'=>[['300','normal','700'],['hebrew','latin','latin-ext']],
+ 'Karla'=>[['200','300','normal','500','600','700','800','200italic','300italic','italic','500italic','600italic','700italic','800italic'],['latin','latin-ext']],
+ 'Karma'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Katibeh'=>[['normal'],['arabic','latin','latin-ext']],
+ 'Kaushan Script'=>[['normal'],['latin','latin-ext']],
+ 'Kavivanar'=>[['normal'],['latin','latin-ext','tamil']],
+ 'Kavoon'=>[['normal'],['latin','latin-ext']],
+ 'Kdam Thmor'=>[['normal'],['khmer']],
+ 'Keania One'=>[['normal'],['latin','latin-ext']],
+ 'Kelly Slab'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Kenia'=>[['normal'],['latin']],
+ 'Khand'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Khmer'=>[['normal'],['khmer']],
+ 'Khula'=>[['300','normal','600','700','800'],['devanagari','latin','latin-ext']],
+ 'Kings'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Kirang Haerang'=>[['normal'],['korean','latin']],
+ 'Kite One'=>[['normal'],['latin']],
+ 'Kiwi Maru'=>[['300','normal','500'],['cyrillic','japanese','latin','latin-ext']],
+ 'Klee One'=>[['normal','600'],['cyrillic','greek-ext','japanese','latin','latin-ext']],
+ 'Knewave'=>[['normal'],['latin','latin-ext']],
+ 'KoHo'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Kodchasan'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Koh Santepheap'=>[['100','300','normal','700','900'],['khmer','latin']],
+ 'Kolker Brush'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Kosugi'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Kosugi Maru'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Kotta One'=>[['normal'],['latin','latin-ext']],
+ 'Koulen'=>[['normal'],['khmer','latin']],
+ 'Kranky'=>[['normal'],['latin']],
+ 'Kreon'=>[['300','normal','500','600','700'],['latin','latin-ext']],
+ 'Kristi'=>[['normal'],['latin']],
+ 'Krona One'=>[['normal'],['latin','latin-ext']],
+ 'Krub'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Kufam'=>[['normal','500','600','700','800','900','italic','500italic','600italic','700italic','800italic','900italic'],['arabic','latin','latin-ext','vietnamese']],
+ 'Kulim Park'=>[['200','200italic','300','300italic','normal','italic','600','600italic','700','700italic'],['latin','latin-ext']],
+ 'Kumar One'=>[['normal'],['gujarati','latin','latin-ext']],
+ 'Kumar One Outline'=>[['normal'],['gujarati','latin','latin-ext']],
+ 'Kumbh Sans'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext']],
+ 'Kurale'=>[['normal'],['cyrillic','cyrillic-ext','devanagari','latin','latin-ext']],
+ 'La Belle Aurore'=>[['normal'],['latin']],
+ 'Lacquer'=>[['normal'],['latin']],
+ 'Laila'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Lakki Reddy'=>[['normal'],['latin','telugu']],
+ 'Lalezar'=>[['normal'],['arabic','latin','latin-ext','vietnamese']],
+ 'Lancelot'=>[['normal'],['latin','latin-ext']],
+ 'Langar'=>[['normal'],['gurmukhi','latin','latin-ext']],
+ 'Lateef'=>[['normal'],['arabic','latin']],
+ 'Lato'=>[['100','100italic','300','300italic','normal','italic','700','700italic','900','900italic'],['latin','latin-ext']],
+ 'League Script'=>[['normal'],['latin']],
+ 'Leckerli One'=>[['normal'],['latin']],
+ 'Ledger'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Lekton'=>[['normal','italic','700'],['latin','latin-ext']],
+ 'Lemon'=>[['normal'],['latin']],
+ 'Lemonada'=>[['300','normal','500','600','700'],['arabic','latin','latin-ext','vietnamese']],
+ 'Lexend'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Deca'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Exa'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Giga'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Mega'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Peta'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Tera'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Lexend Zetta'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Libre Barcode 128'=>[['normal'],['latin']],
+ 'Libre Barcode 128 Text'=>[['normal'],['latin']],
+ 'Libre Barcode 39'=>[['normal'],['latin']],
+ 'Libre Barcode 39 Extended'=>[['normal'],['latin']],
+ 'Libre Barcode 39 Extended Text'=>[['normal'],['latin']],
+ 'Libre Barcode 39 Text'=>[['normal'],['latin']],
+ 'Libre Barcode EAN13 Text'=>[['normal'],['latin']],
+ 'Libre Baskerville'=>[['normal','italic','700'],['latin','latin-ext']],
+ 'Libre Caslon Display'=>[['normal'],['latin','latin-ext']],
+ 'Libre Caslon Text'=>[['normal','italic','700'],['latin','latin-ext']],
+ 'Libre Franklin'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Licorice'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Life Savers'=>[['normal','700','800'],['latin','latin-ext']],
+ 'Lilita One'=>[['normal'],['latin','latin-ext']],
+ 'Lily Script One'=>[['normal'],['latin','latin-ext']],
+ 'Limelight'=>[['normal'],['latin','latin-ext']],
+ 'Linden Hill'=>[['normal','italic'],['latin']],
+ 'Literata'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Liu Jian Mao Cao'=>[['normal'],['chinese-simplified','latin']],
+ 'Livvic'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','900','900italic'],['latin','latin-ext','vietnamese']],
+ 'Lobster'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Lobster Two'=>[['normal','italic','700','700italic'],['latin']],
+ 'Londrina Outline'=>[['normal'],['latin']],
+ 'Londrina Shadow'=>[['normal'],['latin']],
+ 'Londrina Sketch'=>[['normal'],['latin']],
+ 'Londrina Solid'=>[['100','300','normal','900'],['latin']],
+ 'Long Cang'=>[['normal'],['chinese-simplified','latin']],
+ 'Lora'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Love Light'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Love Ya Like A Sister'=>[['normal'],['latin']],
+ 'Loved by the King'=>[['normal'],['latin']],
+ 'Lovers Quarrel'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Luckiest Guy'=>[['normal'],['latin']],
+ 'Lusitana'=>[['normal','700'],['latin']],
+ 'Lustria'=>[['normal'],['latin']],
+ 'Luxurious Roman'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Luxurious Script'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'M PLUS 1'=>[['100','200','300','normal','500','600','700','800','900'],['japanese','latin','latin-ext','vietnamese']],
+ 'M PLUS 1 Code'=>[['100','200','300','normal','500','600','700'],['japanese','latin','latin-ext','vietnamese']],
+ 'M PLUS 1p'=>[['100','300','normal','500','700','800','900'],['cyrillic','cyrillic-ext','greek','greek-ext','hebrew','japanese','latin','latin-ext','vietnamese']],
+ 'M PLUS 2'=>[['100','200','300','normal','500','600','700','800','900'],['japanese','latin','latin-ext','vietnamese']],
+ 'M PLUS Code Latin'=>[['100','200','300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'M PLUS Rounded 1c'=>[['100','300','normal','500','700','800','900'],['cyrillic','cyrillic-ext','greek','greek-ext','hebrew','japanese','latin','latin-ext','vietnamese']],
+ 'Ma Shan Zheng'=>[['normal'],['chinese-simplified','latin']],
+ 'Macondo'=>[['normal'],['latin']],
+ 'Macondo Swash Caps'=>[['normal'],['latin']],
+ 'Mada'=>[['200','300','normal','500','600','700','900'],['arabic','latin']],
+ 'Magra'=>[['normal','700'],['latin','latin-ext']],
+ 'Maiden Orange'=>[['normal'],['latin']],
+ 'Maitree'=>[['200','300','normal','500','600','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Major Mono Display'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Mako'=>[['normal'],['latin']],
+ 'Mali'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Mallanna'=>[['normal'],['latin','telugu']],
+ 'Mandali'=>[['normal'],['latin','telugu']],
+ 'Manjari'=>[['100','normal','700'],['latin','latin-ext','malayalam']],
+ 'Manrope'=>[['200','300','normal','500','600','700','800'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Mansalva'=>[['normal'],['latin']],
+ 'Manuale'=>[['300','normal','500','600','700','800','300italic','italic','500italic','600italic','700italic','800italic'],['latin','latin-ext','vietnamese']],
+ 'Marcellus'=>[['normal'],['latin','latin-ext']],
+ 'Marcellus SC'=>[['normal'],['latin','latin-ext']],
+ 'Marck Script'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Margarine'=>[['normal'],['latin','latin-ext']],
+ 'Markazi Text'=>[['normal','500','600','700'],['arabic','latin','latin-ext','vietnamese']],
+ 'Marko One'=>[['normal'],['latin']],
+ 'Marmelad'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Martel'=>[['200','300','normal','600','700','800','900'],['devanagari','latin','latin-ext']],
+ 'Martel Sans'=>[['200','300','normal','600','700','800','900'],['devanagari','latin','latin-ext']],
+ 'Marvel'=>[['normal','italic','700','700italic'],['latin']],
+ 'Mate'=>[['normal','italic'],['latin']],
+ 'Mate SC'=>[['normal'],['latin']],
+ 'Maven Pro'=>[['normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'McLaren'=>[['normal'],['latin','latin-ext']],
+ 'Mea Culpa'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Meddon'=>[['normal'],['latin']],
+ 'MedievalSharp'=>[['normal'],['latin','latin-ext']],
+ 'Medula One'=>[['normal'],['latin']],
+ 'Meera Inimai'=>[['normal'],['latin','tamil']],
+ 'Megrim'=>[['normal'],['latin']],
+ 'Meie Script'=>[['normal'],['latin','latin-ext']],
+ 'Meow Script'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Merienda'=>[['normal','700'],['latin','latin-ext']],
+ 'Merienda One'=>[['normal'],['latin']],
+ 'Merriweather'=>[['300','300italic','normal','italic','700','700italic','900','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Merriweather Sans'=>[['300','normal','500','600','700','800','300italic','italic','500italic','600italic','700italic','800italic'],['cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Metal'=>[['normal'],['khmer','latin']],
+ 'Metal Mania'=>[['normal'],['latin','latin-ext']],
+ 'Metamorphous'=>[['normal'],['latin','latin-ext']],
+ 'Metrophobic'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Michroma'=>[['normal'],['latin']],
+ 'Milonga'=>[['normal'],['latin','latin-ext']],
+ 'Miltonian'=>[['normal'],['latin']],
+ 'Miltonian Tattoo'=>[['normal'],['latin']],
+ 'Mina'=>[['normal','700'],['bengali','latin','latin-ext']],
+ 'Miniver'=>[['normal'],['latin']],
+ 'Miriam Libre'=>[['normal','700'],['hebrew','latin','latin-ext']],
+ 'Mirza'=>[['normal','500','600','700'],['arabic','latin','latin-ext']],
+ 'Miss Fajardose'=>[['normal'],['latin','latin-ext']],
+ 'Mitr'=>[['200','300','normal','500','600','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Mochiy Pop One'=>[['normal'],['japanese','latin']],
+ 'Mochiy Pop P One'=>[['normal'],['japanese','latin']],
+ 'Modak'=>[['normal'],['devanagari','latin','latin-ext']],
+ 'Modern Antiqua'=>[['normal'],['latin','latin-ext']],
+ 'Mogra'=>[['normal'],['gujarati','latin','latin-ext']],
+ 'Mohave'=>[['300','normal','500','600','700','300italic','italic','500italic','600italic','700italic'],['latin','latin-ext']],
+ 'Molengo'=>[['normal'],['latin','latin-ext']],
+ 'Molle'=>[['italic'],['latin','latin-ext']],
+ 'Monda'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'Monofett'=>[['normal'],['latin']],
+ 'Monoton'=>[['normal'],['latin']],
+ 'Monsieur La Doulaise'=>[['normal'],['latin','latin-ext']],
+ 'Montaga'=>[['normal'],['latin']],
+ 'Montagu Slab'=>[['100','200','300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'MonteCarlo'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Montez'=>[['normal'],['latin']],
+ 'Montserrat'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Montserrat Alternates'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Montserrat Subrayada'=>[['normal','700'],['latin']],
+ 'Moo Lah Lah'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Moon Dance'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Moul'=>[['normal'],['khmer','latin']],
+ 'Moulpali'=>[['normal'],['khmer','latin']],
+ 'Mountains of Christmas'=>[['normal','700'],['latin']],
+ 'Mouse Memoirs'=>[['normal'],['latin','latin-ext']],
+ 'Mr Bedfort'=>[['normal'],['latin','latin-ext']],
+ 'Mr Dafoe'=>[['normal'],['latin','latin-ext']],
+ 'Mr De Haviland'=>[['normal'],['latin','latin-ext']],
+ 'Mrs Saint Delafield'=>[['normal'],['latin','latin-ext']],
+ 'Mrs Sheppards'=>[['normal'],['latin','latin-ext']],
+ 'Mukta'=>[['200','300','normal','500','600','700','800'],['devanagari','latin','latin-ext']],
+ 'Mukta Mahee'=>[['200','300','normal','500','600','700','800'],['gurmukhi','latin','latin-ext']],
+ 'Mukta Malar'=>[['200','300','normal','500','600','700','800'],['latin','latin-ext','tamil']],
+ 'Mukta Vaani'=>[['200','300','normal','500','600','700','800'],['gujarati','latin','latin-ext']],
+ 'Mulish'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Murecho'=>[['100','200','300','normal','500','600','700','800','900'],['cyrillic','cyrillic-ext','greek','japanese','latin','latin-ext']],
+ 'MuseoModerno'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Mystery Quest'=>[['normal'],['latin','latin-ext']],
+ 'NTR'=>[['normal'],['latin','telugu']],
+ 'Nanum Brush Script'=>[['normal'],['korean','latin']],
+ 'Nanum Gothic'=>[['normal','700','800'],['korean','latin']],
+ 'Nanum Gothic Coding'=>[['normal','700'],['korean','latin']],
+ 'Nanum Myeongjo'=>[['normal','700','800'],['korean','latin']],
+ 'Nanum Pen Script'=>[['normal'],['korean','latin']],
+ 'Nerko One'=>[['normal'],['latin','latin-ext']],
+ 'Neucha'=>[['normal'],['cyrillic','latin']],
+ 'Neuton'=>[['200','300','normal','italic','700','800'],['latin','latin-ext']],
+ 'New Rocker'=>[['normal'],['latin','latin-ext']],
+ 'New Tegomin'=>[['normal'],['japanese','latin','latin-ext']],
+ 'News Cycle'=>[['normal','700'],['latin','latin-ext']],
+ 'Newsreader'=>[['200','300','normal','500','600','700','800','200italic','300italic','italic','500italic','600italic','700italic','800italic'],['latin','latin-ext','vietnamese']],
+ 'Niconne'=>[['normal'],['latin','latin-ext']],
+ 'Niramit'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Nixie One'=>[['normal'],['latin']],
+ 'Nobile'=>[['normal','italic','500','500italic','700','700italic'],['latin','latin-ext']],
+ 'Nokora'=>[['100','300','normal','700','900'],['khmer','latin']],
+ 'Norican'=>[['normal'],['latin','latin-ext']],
+ 'Nosifer'=>[['normal'],['latin','latin-ext']],
+ 'Notable'=>[['normal'],['latin']],
+ 'Nothing You Could Do'=>[['normal'],['latin']],
+ 'Noticia Text'=>[['normal','italic','700','700italic'],['latin','latin-ext','vietnamese']],
+ 'Noto Kufi Arabic'=>[['100','200','300','normal','500','600','700','800','900'],['arabic']],
+ 'Noto Music'=>[['normal'],['music']],
+ 'Noto Naskh Arabic'=>[['normal','500','600','700'],['arabic']],
+ 'Noto Nastaliq Urdu'=>[['normal','700'],['arabic']],
+ 'Noto Rashi Hebrew'=>[['100','200','300','normal','500','600','700','800','900'],['hebrew']],
+ 'Noto Sans'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','devanagari','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Noto Sans Adlam'=>[['normal','500','600','700'],['adlam']],
+ 'Noto Sans Adlam Unjoined'=>[['normal','500','600','700'],['adlam']],
+ 'Noto Sans Anatolian Hieroglyphs'=>[['normal'],['anatolian-hieroglyphs']],
+ 'Noto Sans Arabic'=>[['100','200','300','normal','500','600','700','800','900'],['arabic']],
+ 'Noto Sans Armenian'=>[['100','200','300','normal','500','600','700','800','900'],['armenian']],
+ 'Noto Sans Avestan'=>[['normal'],['avestan']],
+ 'Noto Sans Balinese'=>[['normal','500','600','700'],['balinese']],
+ 'Noto Sans Bamum'=>[['normal','500','600','700'],['bamum']],
+ 'Noto Sans Bassa Vah'=>[['normal'],['bassa-vah']],
+ 'Noto Sans Batak'=>[['normal'],['batak']],
+ 'Noto Sans Bengali'=>[['100','200','300','normal','500','600','700','800','900'],['bengali']],
+ 'Noto Sans Bhaiksuki'=>[['normal'],['bhaiksuki']],
+ 'Noto Sans Brahmi'=>[['normal'],['brahmi']],
+ 'Noto Sans Buginese'=>[['normal'],['buginese']],
+ 'Noto Sans Buhid'=>[['normal'],['buhid']],
+ 'Noto Sans Canadian Aboriginal'=>[['100','200','300','normal','500','600','700','800','900'],['canadian-aboriginal']],
+ 'Noto Sans Carian'=>[['normal'],['carian']],
+ 'Noto Sans Caucasian Albanian'=>[['normal'],['caucasian-albanian']],
+ 'Noto Sans Chakma'=>[['normal'],['chakma']],
+ 'Noto Sans Cham'=>[['100','200','300','normal','500','600','700','800','900'],['cham']],
+ 'Noto Sans Cherokee'=>[['100','200','300','normal','500','600','700','800','900'],['cherokee']],
+ 'Noto Sans Coptic'=>[['normal'],['coptic']],
+ 'Noto Sans Cuneiform'=>[['normal'],['cuneiform']],
+ 'Noto Sans Cypriot'=>[['normal'],['cypriot']],
+ 'Noto Sans Deseret'=>[['normal'],['deseret']],
+ 'Noto Sans Devanagari'=>[['100','200','300','normal','500','600','700','800','900'],['devanagari']],
+ 'Noto Sans Display'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Noto Sans Duployan'=>[['normal'],['duployan']],
+ 'Noto Sans Egyptian Hieroglyphs'=>[['normal'],['egyptian-hieroglyphs']],
+ 'Noto Sans Elbasan'=>[['normal'],['elbasan']],
+ 'Noto Sans Elymaic'=>[['normal'],['elymaic']],
+ 'Noto Sans Georgian'=>[['100','200','300','normal','500','600','700','800','900'],['georgian']],
+ 'Noto Sans Glagolitic'=>[['normal'],['glagolitic']],
+ 'Noto Sans Gothic'=>[['normal'],['gothic']],
+ 'Noto Sans Grantha'=>[['normal'],['grantha']],
+ 'Noto Sans Gujarati'=>[['100','200','300','normal','500','600','700','800','900'],['gujarati']],
+ 'Noto Sans Gunjala Gondi'=>[['normal'],['gunjala-gondi']],
+ 'Noto Sans Gurmukhi'=>[['100','200','300','normal','500','600','700','800','900'],['gurmukhi']],
+ 'Noto Sans HK'=>[['100','300','normal','500','700','900'],['chinese-hongkong','latin']],
+ 'Noto Sans Hanifi Rohingya'=>[['normal','500','600','700'],['hanifi-rohingya']],
+ 'Noto Sans Hanunoo'=>[['normal'],['hanunoo']],
+ 'Noto Sans Hatran'=>[['normal'],['hatran']],
+ 'Noto Sans Hebrew'=>[['100','200','300','normal','500','600','700','800','900'],['hebrew']],
+ 'Noto Sans Imperial Aramaic'=>[['normal'],['imperial-aramaic']],
+ 'Noto Sans Indic Siyaq Numbers'=>[['normal'],['indic-siyaq-numbers']],
+ 'Noto Sans Inscriptional Pahlavi'=>[['normal'],['inscriptional-pahlavi']],
+ 'Noto Sans Inscriptional Parthian'=>[['normal'],['inscriptional-parthian']],
+ 'Noto Sans JP'=>[['100','300','normal','500','700','900'],['japanese','latin']],
+ 'Noto Sans Javanese'=>[['normal','700'],['javanese']],
+ 'Noto Sans KR'=>[['100','300','normal','500','700','900'],['korean','latin']],
+ 'Noto Sans Kaithi'=>[['normal'],['kaithi']],
+ 'Noto Sans Kannada'=>[['100','200','300','normal','500','600','700','800','900'],['kannada']],
+ 'Noto Sans Kayah Li'=>[['normal','500','600','700'],['kayah-li']],
+ 'Noto Sans Kharoshthi'=>[['normal'],['kharoshthi']],
+ 'Noto Sans Khmer'=>[['100','200','300','normal','500','600','700','800','900'],['khmer']],
+ 'Noto Sans Khojki'=>[['normal'],['khojki']],
+ 'Noto Sans Khudawadi'=>[['normal'],['khudawadi']],
+ 'Noto Sans Lao'=>[['100','200','300','normal','500','600','700','800','900'],['lao']],
+ 'Noto Sans Lepcha'=>[['normal'],['lepcha']],
+ 'Noto Sans Limbu'=>[['normal'],['limbu']],
+ 'Noto Sans Linear A'=>[['normal'],['linear-a']],
+ 'Noto Sans Linear B'=>[['normal'],['linear-b']],
+ 'Noto Sans Lisu'=>[['normal','500','600','700'],['lisu']],
+ 'Noto Sans Lycian'=>[['normal'],['lycian']],
+ 'Noto Sans Lydian'=>[['normal'],['lydian']],
+ 'Noto Sans Mahajani'=>[['normal'],['mahajani']],
+ 'Noto Sans Malayalam'=>[['100','200','300','normal','500','600','700','800','900'],['malayalam']],
+ 'Noto Sans Mandaic'=>[['normal'],['mandaic']],
+ 'Noto Sans Manichaean'=>[['normal'],['manichaean']],
+ 'Noto Sans Marchen'=>[['normal'],['marchen']],
+ 'Noto Sans Masaram Gondi'=>[['normal'],['masaram-gondi']],
+ 'Noto Sans Math'=>[['normal'],['math']],
+ 'Noto Sans Mayan Numerals'=>[['normal'],['mayan-numerals']],
+ 'Noto Sans Medefaidrin'=>[['normal','500','600','700'],['medefaidrin']],
+ 'Noto Sans Meetei Mayek'=>[['100','200','300','normal','500','600','700','800','900'],['meetei-mayek']],
+ 'Noto Sans Meroitic'=>[['normal'],['meroitic']],
+ 'Noto Sans Miao'=>[['normal'],['miao']],
+ 'Noto Sans Modi'=>[['normal'],['modi']],
+ 'Noto Sans Mongolian'=>[['normal'],['mongolian']],
+ 'Noto Sans Mono'=>[['100','200','300','normal','500','600','700','800','900'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Noto Sans Mro'=>[['normal'],['mro']],
+ 'Noto Sans Multani'=>[['normal'],['multani']],
+ 'Noto Sans Myanmar'=>[['100','200','300','normal','500','600','700','800','900'],['myanmar']],
+ 'Noto Sans N Ko'=>[['normal'],['nko']],
+ 'Noto Sans Nabataean'=>[['normal'],['nabataean']],
+ 'Noto Sans New Tai Lue'=>[['normal'],['new-tai-lue']],
+ 'Noto Sans Newa'=>[['normal'],['newa']],
+ 'Noto Sans Nushu'=>[['normal'],['nushu']],
+ 'Noto Sans Ogham'=>[['normal'],['ogham']],
+ 'Noto Sans Ol Chiki'=>[['normal','500','600','700'],['ol-chiki']],
+ 'Noto Sans Old Hungarian'=>[['normal'],['old-hungarian']],
+ 'Noto Sans Old Italic'=>[['normal'],['old-italic']],
+ 'Noto Sans Old North Arabian'=>[['normal'],['old-north-arabian']],
+ 'Noto Sans Old Permic'=>[['normal'],['old-permic']],
+ 'Noto Sans Old Persian'=>[['normal'],['old-persian']],
+ 'Noto Sans Old Sogdian'=>[['normal'],['old-sogdian']],
+ 'Noto Sans Old South Arabian'=>[['normal'],['old-south-arabian']],
+ 'Noto Sans Old Turkic'=>[['normal'],['old-turkic']],
+ 'Noto Sans Oriya'=>[['100','normal','700','900'],['oriya']],
+ 'Noto Sans Osage'=>[['normal'],['osage']],
+ 'Noto Sans Osmanya'=>[['normal'],['osmanya']],
+ 'Noto Sans Pahawh Hmong'=>[['normal'],['pahawh-hmong']],
+ 'Noto Sans Palmyrene'=>[['normal'],['palmyrene']],
+ 'Noto Sans Pau Cin Hau'=>[['normal'],['pau-cin-hau']],
+ 'Noto Sans Phags Pa'=>[['normal'],['phags-pa']],
+ 'Noto Sans Phoenician'=>[['normal'],['phoenician']],
+ 'Noto Sans Psalter Pahlavi'=>[['normal'],['psalter-pahlavi']],
+ 'Noto Sans Rejang'=>[['normal'],['rejang']],
+ 'Noto Sans Runic'=>[['normal'],['runic']],
+ 'Noto Sans SC'=>[['100','300','normal','500','700','900'],['chinese-simplified','latin']],
+ 'Noto Sans Samaritan'=>[['normal'],['samaritan']],
+ 'Noto Sans Saurashtra'=>[['normal'],['saurashtra']],
+ 'Noto Sans Sharada'=>[['normal'],['sharada']],
+ 'Noto Sans Shavian'=>[['normal'],['shavian']],
+ 'Noto Sans Siddham'=>[['normal'],['siddham']],
+ 'Noto Sans Sinhala'=>[['100','200','300','normal','500','600','700','800','900'],['sinhala']],
+ 'Noto Sans Sogdian'=>[['normal'],['sogdian']],
+ 'Noto Sans Sora Sompeng'=>[['normal','500','600','700'],['sora-sompeng']],
+ 'Noto Sans Soyombo'=>[['normal'],['soyombo']],
+ 'Noto Sans Sundanese'=>[['normal','500','600','700'],['sundanese']],
+ 'Noto Sans Syloti Nagri'=>[['normal'],['syloti-nagri']],
+ 'Noto Sans Symbols'=>[['100','200','300','normal','500','600','700','800','900'],['symbols']],
+ 'Noto Sans Symbols 2'=>[['normal'],['symbols']],
+ 'Noto Sans Syriac'=>[['100','normal','900'],['syriac']],
+ 'Noto Sans TC'=>[['100','300','normal','500','700','900'],['chinese-traditional','latin']],
+ 'Noto Sans Tagalog'=>[['normal'],['tagalog']],
+ 'Noto Sans Tagbanwa'=>[['normal'],['tagbanwa']],
+ 'Noto Sans Tai Le'=>[['normal'],['tai-le']],
+ 'Noto Sans Tai Tham'=>[['normal','500','600','700'],['tai-tham']],
+ 'Noto Sans Tai Viet'=>[['normal'],['tai-viet']],
+ 'Noto Sans Takri'=>[['normal'],['takri']],
+ 'Noto Sans Tamil'=>[['100','200','300','normal','500','600','700','800','900'],['tamil']],
+ 'Noto Sans Tamil Supplement'=>[['normal'],['tamil-supplement']],
+ 'Noto Sans Telugu'=>[['100','200','300','normal','500','600','700','800','900'],['telugu']],
+ 'Noto Sans Thaana'=>[['100','200','300','normal','500','600','700','800','900'],['thaana']],
+ 'Noto Sans Thai'=>[['100','200','300','normal','500','600','700','800','900'],['thai']],
+ 'Noto Sans Thai Looped'=>[['100','200','300','normal','500','600','700','800','900'],['thai']],
+ 'Noto Sans Tifinagh'=>[['normal'],['tifinagh']],
+ 'Noto Sans Tirhuta'=>[['normal'],['tirhuta']],
+ 'Noto Sans Ugaritic'=>[['normal'],['ugaritic']],
+ 'Noto Sans Vai'=>[['normal'],['vai']],
+ 'Noto Sans Wancho'=>[['normal'],['wancho']],
+ 'Noto Sans Warang Citi'=>[['normal'],['warang-citi']],
+ 'Noto Sans Yi'=>[['normal'],['yi']],
+ 'Noto Sans Zanabazar Square'=>[['normal'],['zanabazar-square']],
+ 'Noto Serif'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Noto Serif Ahom'=>[['normal'],['ahom']],
+ 'Noto Serif Armenian'=>[['100','200','300','normal','500','600','700','800','900'],['armenian']],
+ 'Noto Serif Balinese'=>[['normal'],['balinese']],
+ 'Noto Serif Bengali'=>[['100','200','300','normal','500','600','700','800','900'],['bengali']],
+ 'Noto Serif Devanagari'=>[['100','200','300','normal','500','600','700','800','900'],['devanagari']],
+ 'Noto Serif Display'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Noto Serif Dogra'=>[['normal'],['dogra']],
+ 'Noto Serif Ethiopic'=>[['100','200','300','normal','500','600','700','800','900'],['ethiopic']],
+ 'Noto Serif Georgian'=>[['100','200','300','normal','500','600','700','800','900'],['georgian']],
+ 'Noto Serif Grantha'=>[['normal'],['grantha']],
+ 'Noto Serif Gujarati'=>[['100','200','300','normal','500','600','700','800','900'],['gujarati']],
+ 'Noto Serif Gurmukhi'=>[['100','200','300','normal','500','600','700','800','900'],['gurmukhi']],
+ 'Noto Serif Hebrew'=>[['100','200','300','normal','500','600','700','800','900'],['hebrew']],
+ 'Noto Serif JP'=>[['200','300','normal','500','600','700','900'],['japanese','latin']],
+ 'Noto Serif KR'=>[['200','300','normal','500','600','700','900'],['korean','latin']],
+ 'Noto Serif Kannada'=>[['100','200','300','normal','500','600','700','800','900'],['kannada']],
+ 'Noto Serif Khmer'=>[['100','200','300','normal','500','600','700','800','900'],['khmer']],
+ 'Noto Serif Lao'=>[['100','200','300','normal','500','600','700','800','900'],['lao']],
+ 'Noto Serif Malayalam'=>[['100','200','300','normal','500','600','700','800','900'],['malayalam']],
+ 'Noto Serif Myanmar'=>[['100','200','300','normal','500','600','700','800','900'],['myanmar']],
+ 'Noto Serif Nyiakeng Puachue Hmong'=>[['normal','500','600','700'],['nyiakeng-puachue-hmong']],
+ 'Noto Serif SC'=>[['200','300','normal','500','600','700','900'],['chinese-simplified','latin']],
+ 'Noto Serif Sinhala'=>[['100','200','300','normal','500','600','700','800','900'],['sinhala']],
+ 'Noto Serif TC'=>[['200','300','normal','500','600','700','900'],['chinese-traditional','latin']],
+ 'Noto Serif Tamil'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['tamil']],
+ 'Noto Serif Tangut'=>[['normal'],['tangut']],
+ 'Noto Serif Telugu'=>[['100','200','300','normal','500','600','700','800','900'],['telugu']],
+ 'Noto Serif Thai'=>[['100','200','300','normal','500','600','700','800','900'],['thai']],
+ 'Noto Serif Tibetan'=>[['100','200','300','normal','500','600','700','800','900'],['tibetan']],
+ 'Noto Serif Yezidi'=>[['normal','500','600','700'],['yezidi']],
+ 'Noto Traditional Nushu'=>[['normal'],['nushu']],
+ 'Nova Cut'=>[['normal'],['latin']],
+ 'Nova Flat'=>[['normal'],['latin']],
+ 'Nova Mono'=>[['normal'],['greek','latin']],
+ 'Nova Oval'=>[['normal'],['latin']],
+ 'Nova Round'=>[['normal'],['latin']],
+ 'Nova Script'=>[['normal'],['latin']],
+ 'Nova Slim'=>[['normal'],['latin']],
+ 'Nova Square'=>[['normal'],['latin']],
+ 'Numans'=>[['normal'],['latin']],
+ 'Nunito'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Nunito Sans'=>[['200','200italic','300','300italic','normal','italic','600','600italic','700','700italic','800','800italic','900','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Odibee Sans'=>[['normal'],['latin']],
+ 'Odor Mean Chey'=>[['normal'],['khmer','latin']],
+ 'Offside'=>[['normal'],['latin']],
+ 'Oi'=>[['normal'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','tamil','vietnamese']],
+ 'Old Standard TT'=>[['normal','italic','700'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Oldenburg'=>[['normal'],['latin','latin-ext']],
+ 'Ole'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Oleo Script'=>[['normal','700'],['latin','latin-ext']],
+ 'Oleo Script Swash Caps'=>[['normal','700'],['latin','latin-ext']],
+ 'Oooh Baby'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Open Sans'=>[['300','normal','500','600','700','800','300italic','italic','500italic','600italic','700italic','800italic'],['cyrillic','cyrillic-ext','greek','greek-ext','hebrew','latin','latin-ext','vietnamese']],
+ 'Open Sans Condensed'=>[['300','300italic','700'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Oranienbaum'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Orbitron'=>[['normal','500','600','700','800','900'],['latin']],
+ 'Oregano'=>[['normal','italic'],['latin','latin-ext']],
+ 'Orelega One'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Orienta'=>[['normal'],['latin','latin-ext']],
+ 'Original Surfer'=>[['normal'],['latin']],
+ 'Oswald'=>[['200','300','normal','500','600','700'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Otomanopee One'=>[['normal'],['japanese','latin','latin-ext']],
+ 'Outfit'=>[['100','200','300','normal','500','600','700','800','900'],['latin']],
+ 'Over the Rainbow'=>[['normal'],['latin']],
+ 'Overlock'=>[['normal','italic','700','700italic','900','900italic'],['latin','latin-ext']],
+ 'Overlock SC'=>[['normal'],['latin','latin-ext']],
+ 'Overpass'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Overpass Mono'=>[['300','normal','500','600','700'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Ovo'=>[['normal'],['latin']],
+ 'Oxanium'=>[['200','300','normal','500','600','700','800'],['latin','latin-ext']],
+ 'Oxygen'=>[['300','normal','700'],['latin','latin-ext']],
+ 'Oxygen Mono'=>[['normal'],['latin','latin-ext']],
+ 'PT Mono'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'PT Sans'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'PT Sans Caption'=>[['normal','700'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'PT Sans Narrow'=>[['normal','700'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'PT Serif'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'PT Serif Caption'=>[['normal','italic'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Pacifico'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Padauk'=>[['normal','700'],['latin','myanmar']],
+ 'Palanquin'=>[['100','200','300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Palanquin Dark'=>[['normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Palette Mosaic'=>[['normal'],['japanese','latin']],
+ 'Pangolin'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Paprika'=>[['normal'],['latin']],
+ 'Parisienne'=>[['normal'],['latin','latin-ext']],
+ 'Passero One'=>[['normal'],['latin','latin-ext']],
+ 'Passion One'=>[['normal','700','900'],['latin','latin-ext']],
+ 'Passions Conflict'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Pathway Gothic One'=>[['normal'],['latin','latin-ext']],
+ 'Patrick Hand'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Patrick Hand SC'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Pattaya'=>[['normal'],['cyrillic','latin','latin-ext','thai','vietnamese']],
+ 'Patua One'=>[['normal'],['latin']],
+ 'Pavanam'=>[['normal'],['latin','latin-ext','tamil']],
+ 'Paytone One'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Peddana'=>[['normal'],['latin','telugu']],
+ 'Peralta'=>[['normal'],['latin','latin-ext']],
+ 'Permanent Marker'=>[['normal'],['latin']],
+ 'Petemoss'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Petit Formal Script'=>[['normal'],['latin','latin-ext']],
+ 'Petrona'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Philosopher'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','vietnamese']],
+ 'Piazzolla'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Piedra'=>[['normal'],['latin','latin-ext']],
+ 'Pinyon Script'=>[['normal'],['latin']],
+ 'Pirata One'=>[['normal'],['latin','latin-ext']],
+ 'Plaster'=>[['normal'],['latin','latin-ext']],
+ 'Play'=>[['normal','700'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Playball'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Playfair Display'=>[['normal','500','600','700','800','900','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Playfair Display SC'=>[['normal','italic','700','700italic','900','900italic'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Podkova'=>[['normal','500','600','700','800'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Poiret One'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Poller One'=>[['normal'],['latin']],
+ 'Poly'=>[['normal','italic'],['latin']],
+ 'Pompiere'=>[['normal'],['latin']],
+ 'Pontano Sans'=>[['normal'],['latin','latin-ext']],
+ 'Poor Story'=>[['normal'],['korean','latin']],
+ 'Poppins'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['devanagari','latin','latin-ext']],
+ 'Port Lligat Sans'=>[['normal'],['latin']],
+ 'Port Lligat Slab'=>[['normal'],['latin']],
+ 'Potta One'=>[['normal'],['japanese','latin','latin-ext','vietnamese']],
+ 'Pragati Narrow'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Praise'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Prata'=>[['normal'],['cyrillic','cyrillic-ext','latin','vietnamese']],
+ 'Preahvihear'=>[['normal'],['khmer','latin']],
+ 'Press Start 2P'=>[['normal'],['cyrillic','cyrillic-ext','greek','latin','latin-ext']],
+ 'Pridi'=>[['200','300','normal','500','600','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Princess Sofia'=>[['normal'],['latin','latin-ext']],
+ 'Prociono'=>[['normal'],['latin']],
+ 'Prompt'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Prosto One'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Proza Libre'=>[['normal','italic','500','500italic','600','600italic','700','700italic','800','800italic'],['latin','latin-ext']],
+ 'Public Sans'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext']],
+ 'Puppies Play'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Puritan'=>[['normal','italic','700','700italic'],['latin']],
+ 'Purple Purse'=>[['normal'],['latin','latin-ext']],
+ 'Pushster'=>[['normal'],['latin','latin-ext']],
+ 'Qahiri'=>[['normal'],['arabic','latin']],
+ 'Quando'=>[['normal'],['latin','latin-ext']],
+ 'Quantico'=>[['normal','italic','700','700italic'],['latin']],
+ 'Quattrocento'=>[['normal','700'],['latin','latin-ext']],
+ 'Quattrocento Sans'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Questrial'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Quicksand'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Quintessential'=>[['normal'],['latin','latin-ext']],
+ 'Qwigley'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Qwitcher Grypen'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'Racing Sans One'=>[['normal'],['latin','latin-ext']],
+ 'Radley'=>[['normal','italic'],['latin','latin-ext']],
+ 'Rajdhani'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Rakkas'=>[['normal'],['arabic','latin','latin-ext']],
+ 'Raleway'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Raleway Dots'=>[['normal'],['latin','latin-ext']],
+ 'Ramabhadra'=>[['normal'],['latin','telugu']],
+ 'Ramaraja'=>[['normal'],['latin','telugu']],
+ 'Rambla'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Rammetto One'=>[['normal'],['latin','latin-ext']],
+ 'Rampart One'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Ranchers'=>[['normal'],['latin','latin-ext']],
+ 'Rancho'=>[['normal'],['latin']],
+ 'Ranga'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Rasa'=>[['300','normal','500','600','700','300italic','italic','500italic','600italic','700italic'],['gujarati','latin','latin-ext','vietnamese']],
+ 'Rationale'=>[['normal'],['latin']],
+ 'Ravi Prakash'=>[['normal'],['latin','telugu']],
+ 'Readex Pro'=>[['200','300','normal','500','600','700'],['arabic','latin','latin-ext','vietnamese']],
+ 'Recursive'=>[['300','normal','500','600','700','800','900'],['cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Red Hat Display'=>[['300','normal','500','600','700','800','900','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext']],
+ 'Red Hat Mono'=>[['300','normal','500','600','700','300italic','italic','500italic','600italic','700italic'],['latin','latin-ext']],
+ 'Red Hat Text'=>[['300','normal','500','600','700','300italic','italic','500italic','600italic','700italic'],['latin','latin-ext']],
+ 'Red Rose'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Redacted'=>[['normal'],['latin','latin-ext']],
+ 'Redacted Script'=>[['300','normal','700'],['latin','latin-ext']],
+ 'Redressed'=>[['normal'],['latin']],
+ 'Reem Kufi'=>[['normal','500','600','700'],['arabic','latin']],
+ 'Reenie Beanie'=>[['normal'],['latin']],
+ 'Reggae One'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Revalia'=>[['normal'],['latin','latin-ext']],
+ 'Rhodium Libre'=>[['normal'],['devanagari','latin','latin-ext']],
+ 'Ribeye'=>[['normal'],['latin','latin-ext']],
+ 'Ribeye Marrow'=>[['normal'],['latin','latin-ext']],
+ 'Righteous'=>[['normal'],['latin','latin-ext']],
+ 'Risque'=>[['normal'],['latin','latin-ext']],
+ 'Road Rage'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Roboto'=>[['100','100italic','300','300italic','normal','italic','500','500italic','700','700italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Roboto Condensed'=>[['300','300italic','normal','italic','700','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Roboto Mono'=>[['100','200','300','normal','500','600','700','100italic','200italic','300italic','italic','500italic','600italic','700italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Roboto Slab'=>[['100','200','300','normal','500','600','700','800','900'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Rochester'=>[['normal'],['latin']],
+ 'Rock 3D'=>[['normal'],['japanese','latin']],
+ 'Rock Salt'=>[['normal'],['latin']],
+ 'RocknRoll One'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Rokkitt'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Romanesco'=>[['normal'],['latin','latin-ext']],
+ 'Ropa Sans'=>[['normal','italic'],['latin','latin-ext']],
+ 'Rosario'=>[['300','normal','500','600','700','300italic','italic','500italic','600italic','700italic'],['latin','latin-ext','vietnamese']],
+ 'Rosarivo'=>[['normal','italic'],['latin','latin-ext']],
+ 'Rouge Script'=>[['normal'],['latin']],
+ 'Rowdies'=>[['300','normal','700'],['latin','latin-ext','vietnamese']],
+ 'Rozha One'=>[['normal'],['devanagari','latin','latin-ext']],
+ 'Rubik'=>[['300','normal','500','600','700','800','900','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','hebrew','latin','latin-ext']],
+ 'Rubik Beastly'=>[['normal'],['cyrillic','cyrillic-ext','hebrew','latin','latin-ext']],
+ 'Rubik Mono One'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Ruda'=>[['normal','500','600','700','800','900'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Rufina'=>[['normal','700'],['latin','latin-ext']],
+ 'Ruge Boogie'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Ruluko'=>[['normal'],['latin','latin-ext']],
+ 'Rum Raisin'=>[['normal'],['latin','latin-ext']],
+ 'Ruslan Display'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Russo One'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Ruthie'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Rye'=>[['normal'],['latin','latin-ext']],
+ 'STIX Two Text'=>[['normal','500','600','700','italic','500italic','600italic','700italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Sacramento'=>[['normal'],['latin','latin-ext']],
+ 'Sahitya'=>[['normal','700'],['devanagari','latin']],
+ 'Sail'=>[['normal'],['latin','latin-ext']],
+ 'Saira'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Saira Condensed'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Saira Extra Condensed'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Saira Semi Condensed'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Saira Stencil One'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Salsa'=>[['normal'],['latin']],
+ 'Sanchez'=>[['normal','italic'],['latin','latin-ext']],
+ 'Sancreek'=>[['normal'],['latin','latin-ext']],
+ 'Sansita'=>[['normal','italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext']],
+ 'Sansita Swashed'=>[['300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Sarabun'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Sarala'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Sarina'=>[['normal'],['latin','latin-ext']],
+ 'Sarpanch'=>[['normal','500','600','700','800','900'],['devanagari','latin','latin-ext']],
+ 'Sassy Frass'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Satisfy'=>[['normal'],['latin']],
+ 'Sawarabi Gothic'=>[['normal'],['cyrillic','japanese','latin','latin-ext','vietnamese']],
+ 'Sawarabi Mincho'=>[['normal'],['japanese','latin','latin-ext']],
+ 'Scada'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','latin','latin-ext']],
+ 'Scheherazade New'=>[['normal','700'],['arabic','latin','latin-ext']],
+ 'Schoolbell'=>[['normal'],['latin']],
+ 'Scope One'=>[['normal'],['latin','latin-ext']],
+ 'Seaweed Script'=>[['normal'],['latin','latin-ext']],
+ 'Secular One'=>[['normal'],['hebrew','latin','latin-ext']],
+ 'Sedgwick Ave'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Sedgwick Ave Display'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Sen'=>[['normal','700','800'],['latin','latin-ext']],
+ 'Sevillana'=>[['normal'],['latin','latin-ext']],
+ 'Seymour One'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Shadows Into Light'=>[['normal'],['latin']],
+ 'Shadows Into Light Two'=>[['normal'],['latin','latin-ext']],
+ 'Shalimar'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Shanti'=>[['normal'],['latin']],
+ 'Share'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Share Tech'=>[['normal'],['latin']],
+ 'Share Tech Mono'=>[['normal'],['latin']],
+ 'Shippori Antique'=>[['normal'],['japanese','latin','latin-ext']],
+ 'Shippori Antique B1'=>[['normal'],['japanese','latin','latin-ext']],
+ 'Shippori Mincho'=>[['normal','500','600','700','800'],['japanese','latin','latin-ext']],
+ 'Shippori Mincho B1'=>[['normal','500','600','700','800'],['japanese','latin','latin-ext']],
+ 'Shizuru'=>[['normal'],['japanese','latin']],
+ 'Shojumaru'=>[['normal'],['latin','latin-ext']],
+ 'Short Stack'=>[['normal'],['latin']],
+ 'Shrikhand'=>[['normal'],['gujarati','latin','latin-ext']],
+ 'Siemreap'=>[['normal'],['khmer']],
+ 'Sigmar One'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Signika'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Signika Negative'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Simonetta'=>[['normal','italic','900','900italic'],['latin','latin-ext']],
+ 'Single Day'=>[['normal'],['korean']],
+ 'Sintony'=>[['normal','700'],['latin','latin-ext']],
+ 'Sirin Stencil'=>[['normal'],['latin']],
+ 'Six Caps'=>[['normal'],['latin']],
+ 'Skranji'=>[['normal','700'],['latin','latin-ext']],
+ 'Slabo 13px'=>[['normal'],['latin','latin-ext']],
+ 'Slabo 27px'=>[['normal'],['latin','latin-ext']],
+ 'Slackey'=>[['normal'],['latin']],
+ 'Smokum'=>[['normal'],['latin']],
+ 'Smooch'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Smythe'=>[['normal'],['latin']],
+ 'Sniglet'=>[['normal','800'],['latin','latin-ext']],
+ 'Snippet'=>[['normal'],['latin']],
+ 'Snowburst One'=>[['normal'],['latin','latin-ext']],
+ 'Sofadi One'=>[['normal'],['latin']],
+ 'Sofia'=>[['normal'],['latin']],
+ 'Solway'=>[['300','normal','500','700','800'],['latin']],
+ 'Song Myung'=>[['normal'],['korean','latin']],
+ 'Sonsie One'=>[['normal'],['latin','latin-ext']],
+ 'Sora'=>[['100','200','300','normal','500','600','700','800'],['latin','latin-ext']],
+ 'Sorts Mill Goudy'=>[['normal','italic'],['latin','latin-ext']],
+ 'Source Code Pro'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Source Sans 3'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Source Sans Pro'=>[['200','200italic','300','300italic','normal','italic','600','600italic','700','700italic','900','900italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext','vietnamese']],
+ 'Source Serif 4'=>[['200','300','normal','500','600','700','800','900','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Source Serif Pro'=>[['200','200italic','300','300italic','normal','italic','600','600italic','700','700italic','900','900italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Space Grotesk'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Space Mono'=>[['normal','italic','700','700italic'],['latin','latin-ext','vietnamese']],
+ 'Spartan'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext']],
+ 'Special Elite'=>[['normal'],['latin']],
+ 'Spectral'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Spectral SC'=>[['200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Spicy Rice'=>[['normal'],['latin']],
+ 'Spinnaker'=>[['normal'],['latin','latin-ext']],
+ 'Spirax'=>[['normal'],['latin']],
+ 'Spline Sans'=>[['300','normal','500','600','700'],['latin','latin-ext']],
+ 'Squada One'=>[['normal'],['latin']],
+ 'Sree Krushnadevaraya'=>[['normal'],['latin','telugu']],
+ 'Sriracha'=>[['normal'],['latin','latin-ext','thai','vietnamese']],
+ 'Srisakdi'=>[['normal','700'],['latin','latin-ext','thai','vietnamese']],
+ 'Staatliches'=>[['normal'],['latin','latin-ext']],
+ 'Stalemate'=>[['normal'],['latin','latin-ext']],
+ 'Stalinist One'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Stardos Stencil'=>[['normal','700'],['latin']],
+ 'Stick'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Stick No Bills'=>[['200','300','normal','500','600','700','800'],['latin','latin-ext','sinhala']],
+ 'Stint Ultra Condensed'=>[['normal'],['latin','latin-ext']],
+ 'Stint Ultra Expanded'=>[['normal'],['latin','latin-ext']],
+ 'Stoke'=>[['300','normal'],['latin','latin-ext']],
+ 'Strait'=>[['normal'],['latin']],
+ 'Style Script'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Stylish'=>[['normal'],['korean','latin']],
+ 'Sue Ellen Francisco'=>[['normal'],['latin']],
+ 'Suez One'=>[['normal'],['hebrew','latin','latin-ext']],
+ 'Sulphur Point'=>[['300','normal','700'],['latin','latin-ext']],
+ 'Sumana'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Sunflower'=>[['300','500','700'],['korean','latin']],
+ 'Sunshiney'=>[['normal'],['latin']],
+ 'Supermercado One'=>[['normal'],['latin']],
+ 'Sura'=>[['normal','700'],['devanagari','latin','latin-ext']],
+ 'Suranna'=>[['normal'],['latin','telugu']],
+ 'Suravaram'=>[['normal'],['latin','telugu']],
+ 'Suwannaphum'=>[['100','300','normal','700','900'],['khmer','latin']],
+ 'Swanky and Moo Moo'=>[['normal'],['latin']],
+ 'Syncopate'=>[['normal','700'],['latin']],
+ 'Syne'=>[['normal','500','600','700','800'],['latin','latin-ext']],
+ 'Syne Mono'=>[['normal'],['latin','latin-ext']],
+ 'Syne Tactile'=>[['normal'],['latin','latin-ext']],
+ 'Tajawal'=>[['200','300','normal','500','700','800','900'],['arabic','latin']],
+ 'Tangerine'=>[['normal','700'],['latin']],
+ 'Taprom'=>[['normal'],['khmer','latin']],
+ 'Tauri'=>[['normal'],['latin','latin-ext']],
+ 'Taviraj'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Teko'=>[['300','normal','500','600','700'],['devanagari','latin','latin-ext']],
+ 'Telex'=>[['normal'],['latin','latin-ext']],
+ 'Tenali Ramakrishna'=>[['normal'],['latin','telugu']],
+ 'Tenor Sans'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Text Me One'=>[['normal'],['latin','latin-ext']],
+ 'Texturina'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Thasadith'=>[['normal','italic','700','700italic'],['latin','latin-ext','thai','vietnamese']],
+ 'The Girl Next Door'=>[['normal'],['latin']],
+ 'The Nautigal'=>[['normal','700'],['latin','latin-ext','vietnamese']],
+ 'Tienne'=>[['normal','700','900'],['latin']],
+ 'Tillana'=>[['normal','500','600','700','800'],['devanagari','latin','latin-ext']],
+ 'Timmana'=>[['normal'],['latin','telugu']],
+ 'Tinos'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','hebrew','latin','latin-ext','vietnamese']],
+ 'Titan One'=>[['normal'],['latin','latin-ext']],
+ 'Titillium Web'=>[['200','200italic','300','300italic','normal','italic','600','600italic','700','700italic','900'],['latin','latin-ext']],
+ 'Tomorrow'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext']],
+ 'Tourney'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Trade Winds'=>[['normal'],['latin']],
+ 'Train One'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Trirong'=>[['100','100italic','200','200italic','300','300italic','normal','italic','500','500italic','600','600italic','700','700italic','800','800italic','900','900italic'],['latin','latin-ext','thai','vietnamese']],
+ 'Trispace'=>[['100','200','300','normal','500','600','700','800'],['latin','latin-ext','vietnamese']],
+ 'Trocchi'=>[['normal'],['latin','latin-ext']],
+ 'Trochut'=>[['normal','italic','700'],['latin']],
+ 'Truculenta'=>[['100','200','300','normal','500','600','700','800','900'],['latin','latin-ext','vietnamese']],
+ 'Trykker'=>[['normal'],['latin','latin-ext']],
+ 'Tulpen One'=>[['normal'],['latin']],
+ 'Turret Road'=>[['200','300','normal','500','700','800'],['latin','latin-ext']],
+ 'Twinkle Star'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Ubuntu'=>[['300','300italic','normal','italic','500','500italic','700','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext']],
+ 'Ubuntu Condensed'=>[['normal'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext']],
+ 'Ubuntu Mono'=>[['normal','italic','700','700italic'],['cyrillic','cyrillic-ext','greek','greek-ext','latin','latin-ext']],
+ 'Uchen'=>[['normal'],['latin','tibetan']],
+ 'Ultra'=>[['normal'],['latin']],
+ 'Uncial Antiqua'=>[['normal'],['latin']],
+ 'Underdog'=>[['normal'],['cyrillic','latin','latin-ext']],
+ 'Unica One'=>[['normal'],['latin','latin-ext']],
+ 'UnifrakturCook'=>[['700'],['latin']],
+ 'UnifrakturMaguntia'=>[['normal'],['latin']],
+ 'Unkempt'=>[['normal','700'],['latin']],
+ 'Unlock'=>[['normal'],['latin']],
+ 'Unna'=>[['normal','italic','700','700italic'],['latin','latin-ext']],
+ 'Urbanist'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext']],
+ 'VT323'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Vampiro One'=>[['normal'],['latin','latin-ext']],
+ 'Varela'=>[['normal'],['latin','latin-ext']],
+ 'Varela Round'=>[['normal'],['hebrew','latin','latin-ext','vietnamese']],
+ 'Varta'=>[['300','normal','500','600','700'],['latin','latin-ext','vietnamese']],
+ 'Vast Shadow'=>[['normal'],['latin']],
+ 'Vesper Libre'=>[['normal','500','700','900'],['devanagari','latin','latin-ext']],
+ 'Viaoda Libre'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Vibes'=>[['normal'],['arabic','latin']],
+ 'Vibur'=>[['normal'],['latin']],
+ 'Vidaloka'=>[['normal'],['latin']],
+ 'Viga'=>[['normal'],['latin','latin-ext']],
+ 'Voces'=>[['normal'],['latin','latin-ext']],
+ 'Volkhov'=>[['normal','italic','700','700italic'],['latin']],
+ 'Vollkorn'=>[['normal','500','600','700','800','900','italic','500italic','600italic','700italic','800italic','900italic'],['cyrillic','cyrillic-ext','greek','latin','latin-ext','vietnamese']],
+ 'Vollkorn SC'=>[['normal','600','700','900'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Voltaire'=>[['normal'],['latin']],
+ 'Vujahday Script'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Waiting for the Sunrise'=>[['normal'],['latin']],
+ 'Wallpoet'=>[['normal'],['latin']],
+ 'Walter Turncoat'=>[['normal'],['latin']],
+ 'Warnes'=>[['normal'],['latin','latin-ext']],
+ 'Waterfall'=>[['normal'],['latin','latin-ext','vietnamese']],
+ 'Wellfleet'=>[['normal'],['latin','latin-ext']],
+ 'Wendy One'=>[['normal'],['latin','latin-ext']],
+ 'WindSong'=>[['normal','500'],['latin','latin-ext','vietnamese']],
+ 'Wire One'=>[['normal'],['latin']],
+ 'Work Sans'=>[['100','200','300','normal','500','600','700','800','900','100italic','200italic','300italic','italic','500italic','600italic','700italic','800italic','900italic'],['latin','latin-ext','vietnamese']],
+ 'Xanh Mono'=>[['normal','italic'],['latin','latin-ext','vietnamese']],
+ 'Yaldevi'=>[['200','300','normal','500','600','700'],['latin','latin-ext','sinhala']],
+ 'Yanone Kaffeesatz'=>[['200','300','normal','500','600','700'],['cyrillic','latin','latin-ext','vietnamese']],
+ 'Yantramanav'=>[['100','300','normal','500','700','900'],['devanagari','latin','latin-ext']],
+ 'Yatra One'=>[['normal'],['devanagari','latin','latin-ext']],
+ 'Yellowtail'=>[['normal'],['latin']],
+ 'Yeon Sung'=>[['normal'],['korean','latin']],
+ 'Yeseva One'=>[['normal'],['cyrillic','cyrillic-ext','latin','latin-ext','vietnamese']],
+ 'Yesteryear'=>[['normal'],['latin']],
+ 'Yomogi'=>[['normal'],['cyrillic','japanese','latin','latin-ext','vietnamese']],
+ 'Yrsa'=>[['300','normal','500','600','700','300italic','italic','500italic','600italic','700italic'],['latin','latin-ext','vietnamese']],
+ 'Yuji Boku'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Yuji Hentaigana Akari'=>[['normal'],['japanese','latin','latin-ext']],
+ 'Yuji Hentaigana Akebono'=>[['normal'],['japanese','latin','latin-ext']],
+ 'Yuji Mai'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Yuji Syuku'=>[['normal'],['cyrillic','japanese','latin','latin-ext']],
+ 'Yusei Magic'=>[['normal'],['japanese','latin','latin-ext']],
+ 'ZCOOL KuaiLe'=>[['normal'],['chinese-simplified','latin']],
+ 'ZCOOL QingKe HuangYou'=>[['normal'],['chinese-simplified','latin']],
+ 'ZCOOL XiaoWei'=>[['normal'],['chinese-simplified','latin']],
+ 'Zen Antique'=>[['normal'],['cyrillic','greek','japanese','latin','latin-ext']],
+ 'Zen Antique Soft'=>[['normal'],['cyrillic','greek','japanese','latin','latin-ext']],
+ 'Zen Dots'=>[['normal'],['latin','latin-ext']],
+ 'Zen Kaku Gothic Antique'=>[['300','normal','500','700','900'],['cyrillic','japanese','latin','latin-ext']],
+ 'Zen Kaku Gothic New'=>[['300','normal','500','700','900'],['cyrillic','japanese','latin','latin-ext']],
+ 'Zen Kurenaido'=>[['normal'],['cyrillic','greek','japanese','latin','latin-ext']],
+ 'Zen Loop'=>[['normal','italic'],['latin','latin-ext']],
+ 'Zen Maru Gothic'=>[['300','normal','500','700','900'],['cyrillic','greek','japanese','latin','latin-ext']],
+ 'Zen Old Mincho'=>[['normal','700','900'],['cyrillic','greek','japanese','latin','latin-ext']],
+ 'Zen Tokyo Zoo'=>[['normal'],['latin','latin-ext']],
+ 'Zeyada'=>[['normal'],['latin']],
+ 'Zhi Mang Xing'=>[['normal'],['chinese-simplified','latin']],
+ 'Zilla Slab'=>[['300','300italic','normal','italic','500','500italic','600','600italic','700','700italic'],['latin','latin-ext']],
+ 'Zilla Slab Highlight'=>[['normal','700'],['latin','latin-ext']],
+ ];
+ }
+}
diff --git a/fields/typography/typography.php b/fields/typography/typography.php
new file mode 100644
index 0000000..30944d6
--- /dev/null
+++ b/fields/typography/typography.php
@@ -0,0 +1,544 @@
+field_before();
+
+ $args = wp_parse_args( $this->field, array(
+ 'font_family' => true,
+ 'font_weight' => true,
+ 'font_style' => true,
+ 'font_size' => true,
+ 'line_height' => true,
+ 'letter_spacing' => true,
+ 'text_align' => true,
+ 'text_transform' => true,
+ 'color' => true,
+ 'chosen' => true,
+ 'preview' => true,
+ 'subset' => true,
+ 'multi_subset' => false,
+ 'extra_styles' => false,
+ 'backup_font_family' => false,
+ 'font_variant' => false,
+ 'word_spacing' => false,
+ 'text_decoration' => false,
+ 'custom_style' => false,
+ 'compact' => false,
+ 'exclude' => '',
+ 'unit' => 'px',
+ 'line_height_unit' => '',
+ 'preview_text' => 'The quick brown fox jumps over the lazy dog',
+ ) );
+
+ if ( $args['compact'] ) {
+ $args['text_transform'] = false;
+ $args['text_align'] = false;
+ $args['font_size'] = false;
+ $args['line_height'] = false;
+ $args['letter_spacing'] = false;
+ $args['preview'] = false;
+ $args['color'] = false;
+ }
+
+ $default_value = array(
+ 'font-family' => '',
+ 'font-weight' => '',
+ 'font-style' => '',
+ 'font-variant' => '',
+ 'font-size' => '',
+ 'line-height' => '',
+ 'letter-spacing' => '',
+ 'word-spacing' => '',
+ 'text-align' => '',
+ 'text-transform' => '',
+ 'text-decoration' => '',
+ 'backup-font-family' => '',
+ 'color' => '',
+ 'custom-style' => '',
+ 'type' => '',
+ 'subset' => '',
+ 'extra-styles' => array(),
+ );
+
+ $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
+ $this->value = wp_parse_args( $this->value, $default_value );
+ $this->chosen = $args['chosen'];
+ $chosen_class = ( $this->chosen ) ? ' csf--chosen' : '';
+ $line_height_unit = ( ! empty( $args['line_height_unit'] ) ) ? $args['line_height_unit'] : $args['unit'];
+
+ echo '';
+
+ echo '
';
+
+ //
+ // Font Family
+ if ( ! empty( $args['font_family'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Font Family', 'csf' ) .'
';
+ echo $this->create_select( array( $this->value['font-family'] => $this->value['font-family'] ), 'font-family', esc_html__( 'Select a font', 'csf' ) );
+ echo '
';
+ }
+
+ //
+ // Backup Font Family
+ if ( ! empty( $args['backup_font_family'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Backup Font Family', 'csf' ) .'
';
+ echo $this->create_select( apply_filters( 'csf_field_typography_backup_font_family', array(
+ 'Arial, Helvetica, sans-serif',
+ "'Arial Black', Gadget, sans-serif",
+ "'Comic Sans MS', cursive, sans-serif",
+ 'Impact, Charcoal, sans-serif',
+ "'Lucida Sans Unicode', 'Lucida Grande', sans-serif",
+ 'Tahoma, Geneva, sans-serif',
+ "'Trebuchet MS', Helvetica, sans-serif'",
+ 'Verdana, Geneva, sans-serif',
+ "'Courier New', Courier, monospace",
+ "'Lucida Console', Monaco, monospace",
+ 'Georgia, serif',
+ 'Palatino Linotype'
+ ) ), 'backup-font-family', esc_html__( 'Default', 'csf' ) );
+ echo '
';
+ }
+
+ //
+ // Font Style and Extra Style Select
+ if ( ! empty( $args['font_weight'] ) || ! empty( $args['font_style'] ) ) {
+
+ //
+ // Font Style Select
+ echo '
';
+ echo '
'. esc_html__( 'Font Style', 'csf') .'
';
+ echo '
';
+ echo ''. ( ! $this->chosen ? esc_html__( 'Default', 'csf' ) : '' ) .' ';
+ if ( ! empty( $this->value['font-weight'] ) || ! empty( $this->value['font-style'] ) ) {
+ echo ' ';
+ }
+ echo ' ';
+ echo '
';
+ echo '
';
+
+ //
+ // Extra Font Style Select
+ if ( ! empty( $args['extra_styles'] ) ) {
+ echo '';
+ }
+
+ echo '
';
+
+ }
+
+ //
+ // Subset
+ if ( ! empty( $args['subset'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Subset', 'csf' ) .'
';
+ $subset = ( is_array( $this->value['subset'] ) ) ? $this->value['subset'] : array_filter( (array) $this->value['subset'] );
+ echo $this->create_select( $subset, 'subset', esc_html__( 'Default', 'csf' ), $args['multi_subset'] );
+ echo '
';
+ }
+
+ //
+ // Text Align
+ if ( ! empty( $args['text_align'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Text Align', 'csf' ) .'
';
+ echo $this->create_select( array(
+ 'inherit' => esc_html__( 'Inherit', 'csf' ),
+ 'left' => esc_html__( 'Left', 'csf' ),
+ 'center' => esc_html__( 'Center', 'csf' ),
+ 'right' => esc_html__( 'Right', 'csf' ),
+ 'justify' => esc_html__( 'Justify', 'csf' ),
+ 'initial' => esc_html__( 'Initial', 'csf' )
+ ), 'text-align', esc_html__( 'Default', 'csf' ) );
+ echo '
';
+ }
+
+ //
+ // Font Variant
+ if ( ! empty( $args['font_variant'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Font Variant', 'csf' ) .'
';
+ echo $this->create_select( array(
+ 'normal' => esc_html__( 'Normal', 'csf' ),
+ 'small-caps' => esc_html__( 'Small Caps', 'csf' ),
+ 'all-small-caps' => esc_html__( 'All Small Caps', 'csf' )
+ ), 'font-variant', esc_html__( 'Default', 'csf' ) );
+ echo '
';
+ }
+
+ //
+ // Text Transform
+ if ( ! empty( $args['text_transform'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Text Transform', 'csf' ) .'
';
+ echo $this->create_select( array(
+ 'none' => esc_html__( 'None', 'csf' ),
+ 'capitalize' => esc_html__( 'Capitalize', 'csf' ),
+ 'uppercase' => esc_html__( 'Uppercase', 'csf' ),
+ 'lowercase' => esc_html__( 'Lowercase', 'csf' )
+ ), 'text-transform', esc_html__( 'Default', 'csf' ) );
+ echo '
';
+ }
+
+ //
+ // Text Decoration
+ if ( ! empty( $args['text_decoration'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Text Decoration', 'csf' ) .'
';
+ echo $this->create_select( array(
+ 'none' => esc_html__( 'None', 'csf' ),
+ 'underline' => esc_html__( 'Solid', 'csf' ),
+ 'underline double' => esc_html__( 'Double', 'csf' ),
+ 'underline dotted' => esc_html__( 'Dotted', 'csf' ),
+ 'underline dashed' => esc_html__( 'Dashed', 'csf' ),
+ 'underline wavy' => esc_html__( 'Wavy', 'csf' ),
+ 'underline overline' => esc_html__( 'Overline', 'csf' ),
+ 'line-through' => esc_html__( 'Line-through', 'csf' )
+ ), 'text-decoration', esc_html__( 'Default', 'csf' ) );
+ echo '
';
+ }
+
+ echo '
';
+
+ echo '
';
+
+ //
+ // Font Color
+ if ( ! empty( $args['color'] ) ) {
+ $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. esc_attr( $default_value['color'] ) .'"' : '';
+ echo '
';
+ echo '
'. esc_html__( 'Font Color', 'csf' ) .'
';
+ echo '
';
+ echo ' ';
+ echo '
';
+ echo '
';
+ }
+
+ //
+ // Custom style
+ if ( ! empty( $args['custom_style'] ) ) {
+ echo '
';
+ echo '
'. esc_html__( 'Custom Style', 'csf' ) .'
';
+ echo '
';
+ echo '
';
+ }
+
+ //
+ // Preview
+ $always_preview = ( $args['preview'] !== 'always' ) ? ' hidden' : '';
+
+ if ( ! empty( $args['preview'] ) ) {
+ echo '
';
+ echo '
';
+ echo '
'. esc_attr( $args['preview_text'] ) .'
';
+ echo '
';
+ }
+
+ echo '
';
+ echo '
';
+
+ echo '
';
+
+ echo $this->field_after();
+
+ }
+
+ public function create_select( $options, $name, $placeholder = '', $is_multiple = false ) {
+
+ $multiple_name = ( $is_multiple ) ? '[]' : '';
+ $multiple_attr = ( $is_multiple ) ? ' multiple data-multiple="true"' : '';
+ $chosen_rtl = ( $this->chosen && is_rtl() ) ? ' chosen-rtl' : '';
+
+ $output = '';
+ $output .= ( ! empty( $placeholder ) ) ? ''. esc_attr( ( ! $this->chosen ) ? $placeholder : '' ) .' ' : '';
+
+ if ( ! empty( $options ) ) {
+ foreach ( $options as $option_key => $option_value ) {
+ if ( $is_multiple ) {
+ $selected = ( in_array( $option_value, $this->value[$name] ) ) ? ' selected' : '';
+ $output .= ''. esc_attr( $option_value ) .' ';
+ } else {
+ $option_key = ( is_numeric( $option_key ) ) ? $option_value : $option_key;
+ $selected = ( $option_key === $this->value[$name] ) ? ' selected' : '';
+ $output .= ''. esc_attr( $option_value ) .' ';
+ }
+ }
+ }
+
+ $output .= ' ';
+
+ return $output;
+
+ }
+
+ public function enqueue() {
+
+ if ( ! wp_script_is( 'csf-webfontloader' ) ) {
+
+ CSF::include_plugin_file( 'fields/typography/google-fonts.php' );
+
+ wp_enqueue_script( 'csf-webfontloader', 'https://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.js', array( 'csf' ), '1.6.28', true );
+
+ $webfonts = array();
+
+ $customwebfonts = apply_filters( 'csf_field_typography_customwebfonts', array() );
+
+ if ( ! empty( $customwebfonts ) ) {
+ $webfonts['custom'] = array(
+ 'label' => esc_html__( 'Custom Web Fonts', 'csf' ),
+ 'fonts' => $customwebfonts
+ );
+ }
+
+ $webfonts['safe'] = array(
+ 'label' => esc_html__( 'Safe Web Fonts', 'csf' ),
+ 'fonts' => apply_filters( 'csf_field_typography_safewebfonts', array(
+ 'Arial',
+ 'Arial Black',
+ 'Helvetica',
+ 'Times New Roman',
+ 'Courier New',
+ 'Tahoma',
+ 'Verdana',
+ 'Impact',
+ 'Trebuchet MS',
+ 'Comic Sans MS',
+ 'Lucida Console',
+ 'Lucida Sans Unicode',
+ 'Georgia, serif',
+ 'Palatino Linotype'
+ )
+ ) );
+
+ $webfonts['google'] = array(
+ 'label' => esc_html__( 'Google Web Fonts', 'csf' ),
+ 'fonts' => apply_filters( 'csf_field_typography_googlewebfonts', csf_get_google_fonts()
+ ) );
+
+ $defaultstyles = apply_filters( 'csf_field_typography_defaultstyles', array( 'normal', 'italic', '700', '700italic' ) );
+
+ $googlestyles = apply_filters( 'csf_field_typography_googlestyles', array(
+ '100' => 'Thin 100',
+ '100italic' => 'Thin 100 Italic',
+ '200' => 'Extra-Light 200',
+ '200italic' => 'Extra-Light 200 Italic',
+ '300' => 'Light 300',
+ '300italic' => 'Light 300 Italic',
+ 'normal' => 'Normal 400',
+ 'italic' => 'Normal 400 Italic',
+ '500' => 'Medium 500',
+ '500italic' => 'Medium 500 Italic',
+ '600' => 'Semi-Bold 600',
+ '600italic' => 'Semi-Bold 600 Italic',
+ '700' => 'Bold 700',
+ '700italic' => 'Bold 700 Italic',
+ '800' => 'Extra-Bold 800',
+ '800italic' => 'Extra-Bold 800 Italic',
+ '900' => 'Black 900',
+ '900italic' => 'Black 900 Italic'
+ ) );
+
+ $webfonts = apply_filters( 'csf_field_typography_webfonts', $webfonts );
+
+ wp_localize_script( 'csf', 'csf_typography_json', array(
+ 'webfonts' => $webfonts,
+ 'defaultstyles' => $defaultstyles,
+ 'googlestyles' => $googlestyles
+ ) );
+
+ }
+
+ }
+
+ public function enqueue_google_fonts( $method = 'enqueue' ) {
+
+ $is_google = false;
+
+ if ( ! empty( $this->value['type'] ) ) {
+ $is_google = ( $this->value['type'] === 'google' ) ? true : false;
+ } else {
+ CSF::include_plugin_file( 'fields/typography/google-fonts.php' );
+ $is_google = ( array_key_exists( $this->value['font-family'], csf_get_google_fonts() ) ) ? true : false;
+ }
+
+ if ( $is_google ) {
+
+ // set style
+ $font_family = ( ! empty( $this->value['font-family'] ) ) ? $this->value['font-family'] : '';
+ $font_weight = ( ! empty( $this->value['font-weight'] ) ) ? $this->value['font-weight'] : '';
+ $font_style = ( ! empty( $this->value['font-style'] ) ) ? $this->value['font-style'] : '';
+
+ if ( $font_weight || $font_style ) {
+ $style = $font_weight . $font_style;
+ if ( ! empty( $style ) ) {
+ $style = ( $style === 'normal' ) ? '400' : $style;
+ CSF::$webfonts[$method][$font_family][$style] = $style;
+ }
+ } else {
+ CSF::$webfonts[$method][$font_family] = array();
+ }
+
+ // set extra styles
+ if ( ! empty( $this->value['extra-styles'] ) ) {
+ foreach ( $this->value['extra-styles'] as $extra_style ) {
+ if ( ! empty( $extra_style ) ) {
+ $extra_style = ( $extra_style === 'normal' ) ? '400' : $extra_style;
+ CSF::$webfonts[$method][$font_family][$extra_style] = $extra_style;
+ }
+ }
+ }
+
+ // set subsets
+ if ( ! empty( $this->value['subset'] ) ) {
+ $this->value['subset'] = ( is_array( $this->value['subset'] ) ) ? $this->value['subset'] : array_filter( (array) $this->value['subset'] );
+ foreach ( $this->value['subset'] as $subset ) {
+ if( ! empty( $subset ) ) {
+ CSF::$subsets[$subset] = $subset;
+ }
+ }
+ }
+
+ return true;
+
+ }
+
+ return false;
+
+ }
+
+ public function output() {
+
+ $output = '';
+ $bg_image = array();
+ $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
+ $element = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
+
+ $font_family = ( ! empty( $this->value['font-family'] ) ) ? $this->value['font-family'] : '';
+ $backup_family = ( ! empty( $this->value['backup-font-family'] ) ) ? ', '. $this->value['backup-font-family'] : '';
+
+ if ( $font_family ) {
+ $output .= 'font-family:"'. $font_family .'"'. $backup_family . $important .';';
+ }
+
+ // Common font properties
+ $properties = array(
+ 'color',
+ 'font-weight',
+ 'font-style',
+ 'font-variant',
+ 'text-align',
+ 'text-transform',
+ 'text-decoration',
+ );
+
+ foreach ( $properties as $property ) {
+ if ( isset( $this->value[$property] ) && $this->value[$property] !== '' ) {
+ $output .= $property .':'. $this->value[$property] . $important .';';
+ }
+ }
+
+ $properties = array(
+ 'font-size',
+ 'line-height',
+ 'letter-spacing',
+ 'word-spacing',
+ );
+
+ $unit = ( ! empty( $this->value['unit'] ) ) ? $this->value['unit'] : 'px';
+ $line_height_unit = ( ! empty( $this->value['line_height_unit'] ) ) ? $this->value['line_height_unit'] : $unit;
+
+ foreach ( $properties as $property ) {
+ if ( isset( $this->value[$property] ) && $this->value[$property] !== '' ) {
+ $unit = ( $property === 'line-height' ) ? $line_height_unit : $unit;
+ $output .= $property .':'. $this->value[$property] . $unit . $important .';';
+ }
+ }
+
+ $custom_style = ( ! empty( $this->value['custom-style'] ) ) ? $this->value['custom-style'] : '';
+
+ if ( $output ) {
+ $output = $element .'{'. $output . $custom_style .'}';
+ }
+
+ $this->parent->output_css .= $output;
+
+ return $output;
+
+ }
+
+ }
+}
diff --git a/fields/upload/upload.php b/fields/upload/upload.php
new file mode 100644
index 0000000..64119c3
--- /dev/null
+++ b/fields/upload/upload.php
@@ -0,0 +1,61 @@
+field, array(
+ 'library' => array(),
+ 'preview' => false,
+ 'preview_width' => '',
+ 'preview_height' => '',
+ 'button_title' => esc_html__( 'Upload', 'csf' ),
+ 'remove_title' => esc_html__( 'Remove', 'csf' ),
+ ) );
+
+ echo $this->field_before();
+
+ $library = ( is_array( $args['library'] ) ) ? $args['library'] : array_filter( (array) $args['library'] );
+ $library = ( ! empty( $library ) ) ? implode(',', $library ) : '';
+ $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
+
+ if ( ! empty( $args['preview'] ) ) {
+
+ $preview_type = ( ! empty( $this->value ) ) ? strtolower( substr( strrchr( $this->value, '.' ), 1 ) ) : '';
+ $preview_src = ( ! empty( $preview_type ) && in_array( $preview_type, array( 'jpg', 'jpeg', 'gif', 'png', 'svg', 'webp' ) ) ) ? $this->value : '';
+ $preview_width = ( ! empty( $args['preview_width'] ) ) ? 'max-width:'. esc_attr( $args['preview_width'] ) .'px;' : '';
+ $preview_height = ( ! empty( $args['preview_height'] ) ) ? 'max-height:'. esc_attr( $args['preview_height'] ) .'px;' : '';
+ $preview_style = ( ! empty( $preview_width ) || ! empty( $preview_height ) ) ? ' style="'. esc_attr( $preview_width . $preview_height ) .'"': '';
+ $preview_hidden = ( empty( $preview_src ) ) ? ' hidden' : '';
+
+ echo '';
+ echo '
';
+ echo '
';
+ echo '
';
+ echo '
';
+
+ }
+
+ echo '';
+
+ echo $this->field_after();
+
+ }
+ }
+}
diff --git a/fields/wp_editor/wp_editor.php b/fields/wp_editor/wp_editor.php
new file mode 100644
index 0000000..e0dc333
--- /dev/null
+++ b/fields/wp_editor/wp_editor.php
@@ -0,0 +1,107 @@
+field, array(
+ 'tinymce' => true,
+ 'quicktags' => true,
+ 'media_buttons' => true,
+ 'wpautop' => false,
+ 'height' => '',
+ ) );
+
+ $attributes = array(
+ 'rows' => 10,
+ 'class' => 'wp-editor-area',
+ 'autocomplete' => 'off',
+ );
+
+ $editor_height = ( ! empty( $args['height'] ) ) ? ' style="height:'. esc_attr( $args['height'] ) .';"' : '';
+
+ $editor_settings = array(
+ 'tinymce' => $args['tinymce'],
+ 'quicktags' => $args['quicktags'],
+ 'media_buttons' => $args['media_buttons'],
+ 'wpautop' => $args['wpautop'],
+ );
+
+ echo $this->field_before();
+
+ echo ( csf_wp_editor_api() ) ? '' : '';
+
+ echo '';
+
+ echo ( csf_wp_editor_api() ) ? '
' : '';
+
+ echo $this->field_after();
+
+ }
+
+ public function enqueue() {
+
+ if ( csf_wp_editor_api() && function_exists( 'wp_enqueue_editor' ) ) {
+
+ wp_enqueue_editor();
+
+ $this->setup_wp_editor_settings();
+
+ add_action( 'print_default_editor_scripts', array( $this, 'setup_wp_editor_media_buttons' ) );
+
+ }
+
+ }
+
+ // Setup wp editor media buttons
+ public function setup_wp_editor_media_buttons() {
+
+ if ( ! function_exists( 'media_buttons' ) ) {
+ return;
+ }
+
+ ob_start();
+ echo '';
+ do_action( 'media_buttons' );
+ echo '
';
+ $media_buttons = ob_get_clean();
+
+ echo '';
+
+ }
+
+ // Setup wp editor settings
+ public function setup_wp_editor_settings() {
+
+ if ( csf_wp_editor_api() && class_exists( '_WP_Editors') ) {
+
+ $defaults = apply_filters( 'csf_wp_editor', array(
+ 'tinymce' => array(
+ 'wp_skip_init' => true
+ ),
+ ) );
+
+ $setup = _WP_Editors::parse_settings( 'csf_wp_editor', $defaults );
+
+ _WP_Editors::editor_settings( 'csf_wp_editor', $setup );
+
+ }
+
+ }
+
+ }
+}
diff --git a/functions/actions.php b/functions/actions.php
new file mode 100644
index 0000000..7dc74ab
--- /dev/null
+++ b/functions/actions.php
@@ -0,0 +1,190 @@
+ esc_html__( 'Error: Invalid nonce verification.', 'csf' ) ) );
+ }
+
+ ob_start();
+
+ $icon_library = ( apply_filters( 'csf_fa4', false ) ) ? 'fa4' : 'fa5';
+
+ CSF::include_plugin_file( 'fields/icon/'. $icon_library .'-icons.php' );
+
+ $icon_lists = apply_filters( 'csf_field_icon_add_icons', csf_get_default_icons() );
+
+ if ( ! empty( $icon_lists ) ) {
+
+ foreach ( $icon_lists as $list ) {
+
+ echo ( count( $icon_lists ) >= 2 ) ? ''. esc_attr( $list['title'] ) .'
' : '';
+
+ foreach ( $list['icons'] as $icon ) {
+ echo ' ';
+ }
+
+ }
+
+ } else {
+
+ echo ''. esc_html__( 'No data available.', 'csf' ) .'
';
+
+ }
+
+ $content = ob_get_clean();
+
+ wp_send_json_success( array( 'content' => $content ) );
+
+ }
+ add_action( 'wp_ajax_csf-get-icons', 'csf_get_icons' );
+}
+
+/**
+ *
+ * Export
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_export' ) ) {
+ function csf_export() {
+
+ $nonce = ( ! empty( $_GET[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'nonce' ] ) ) : '';
+ $unique = ( ! empty( $_GET[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'unique' ] ) ) : '';
+
+ if ( ! wp_verify_nonce( $nonce, 'csf_backup_nonce' ) ) {
+ die( esc_html__( 'Error: Invalid nonce verification.', 'csf' ) );
+ }
+
+ if ( empty( $unique ) ) {
+ die( esc_html__( 'Error: Invalid key.', 'csf' ) );
+ }
+
+ // Export
+ header('Content-Type: application/json');
+ header('Content-disposition: attachment; filename=backup-'. gmdate( 'd-m-Y' ) .'.json');
+ header('Content-Transfer-Encoding: binary');
+ header('Pragma: no-cache');
+ header('Expires: 0');
+
+ echo json_encode( get_option( $unique ) );
+
+ die();
+
+ }
+ add_action( 'wp_ajax_csf-export', 'csf_export' );
+}
+
+/**
+ *
+ * Import Ajax
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_import_ajax' ) ) {
+ function csf_import_ajax() {
+
+ $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
+ $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
+ $data = ( ! empty( $_POST[ 'data' ] ) ) ? wp_kses_post_deep( json_decode( wp_unslash( trim( $_POST[ 'data' ] ) ), true ) ) : array();
+
+ if ( ! wp_verify_nonce( $nonce, 'csf_backup_nonce' ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'csf' ) ) );
+ }
+
+ if ( empty( $unique ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid key.', 'csf' ) ) );
+ }
+
+ if ( empty( $data ) || ! is_array( $data ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: The response is not a valid JSON response.', 'csf' ) ) );
+ }
+
+ // Success
+ update_option( $unique, $data );
+
+ wp_send_json_success();
+
+ }
+ add_action( 'wp_ajax_csf-import', 'csf_import_ajax' );
+}
+
+/**
+ *
+ * Reset Ajax
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_reset_ajax' ) ) {
+ function csf_reset_ajax() {
+
+ $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
+ $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
+
+ if ( ! wp_verify_nonce( $nonce, 'csf_backup_nonce' ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'csf' ) ) );
+ }
+
+ // Success
+ delete_option( $unique );
+
+ wp_send_json_success();
+
+ }
+ add_action( 'wp_ajax_csf-reset', 'csf_reset_ajax' );
+}
+
+/**
+ *
+ * Chosen Ajax
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_chosen_ajax' ) ) {
+ function csf_chosen_ajax() {
+
+ $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
+ $type = ( ! empty( $_POST[ 'type' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'type' ] ) ) : '';
+ $term = ( ! empty( $_POST[ 'term' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'term' ] ) ) : '';
+ $query = ( ! empty( $_POST[ 'query_args' ] ) ) ? wp_kses_post_deep( $_POST[ 'query_args' ] ) : array();
+
+ if ( ! wp_verify_nonce( $nonce, 'csf_chosen_ajax_nonce' ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'csf' ) ) );
+ }
+
+ if ( empty( $type ) || empty( $term ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid term ID.', 'csf' ) ) );
+ }
+
+ $capability = apply_filters( 'csf_chosen_ajax_capability', 'manage_options' );
+
+ if ( ! current_user_can( $capability ) ) {
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: You do not have permission to do that.', 'csf' ) ) );
+ }
+
+ // Success
+ $options = CSF_Fields::field_data( $type, $term, $query );
+
+ wp_send_json_success( $options );
+
+ }
+ add_action( 'wp_ajax_csf-chosen', 'csf_chosen_ajax' );
+}
diff --git a/functions/customize.php b/functions/customize.php
new file mode 100644
index 0000000..2c8e321
--- /dev/null
+++ b/functions/customize.php
@@ -0,0 +1,142 @@
+field['dependency'] ) ) {
+
+ $dependency = $this->field['dependency'];
+ $depend_visible = '';
+ $data_controller = '';
+ $data_condition = '';
+ $data_value = '';
+ $data_global = '';
+
+ if ( is_array( $dependency[0] ) ) {
+ $data_controller = implode( '|', array_column( $dependency, 0 ) );
+ $data_condition = implode( '|', array_column( $dependency, 1 ) );
+ $data_value = implode( '|', array_column( $dependency, 2 ) );
+ $data_global = implode( '|', array_column( $dependency, 3 ) );
+ $depend_visible = implode( '|', array_column( $dependency, 4 ) );
+ } else {
+ $data_controller = ( ! empty( $dependency[0] ) ) ? $dependency[0] : '';
+ $data_condition = ( ! empty( $dependency[1] ) ) ? $dependency[1] : '';
+ $data_value = ( ! empty( $dependency[2] ) ) ? $dependency[2] : '';
+ $data_global = ( ! empty( $dependency[3] ) ) ? $dependency[3] : '';
+ $depend_visible = ( ! empty( $dependency[4] ) ) ? $dependency[4] : '';
+ }
+
+ $depend .= ' data-controller="'. esc_attr( $data_controller ) .'"';
+ $depend .= ' data-condition="'. esc_attr( $data_condition ) .'"';
+ $depend .= ' data-value="'. esc_attr( $data_value ) .'"';
+ $depend .= ( ! empty( $data_global ) ) ? ' data-depend-global="true"' : '';
+
+ $visible = ' csf-dependency-control';
+ $visible .= ( ! empty( $depend_visible ) ) ? ' csf-depend-visible' : ' csf-depend-hidden';
+
+ }
+
+ $id = 'customize-control-' . str_replace( array( '[', ']' ), array( '-', '' ), $this->id );
+ $class = 'customize-control customize-control-'. $this->type . $visible;
+
+ echo '';
+ $this->render_field_content();
+ echo ' ';
+
+ }
+
+ public function render_field_content() {
+
+ $complex = apply_filters( 'csf_customize_complex_fields', array(
+ 'accordion',
+ 'background',
+ 'border',
+ 'button_set',
+ 'checkbox',
+ 'color_group',
+ 'date',
+ 'dimensions',
+ 'fieldset',
+ 'group',
+ 'image_select',
+ 'link',
+ 'link_color',
+ 'media',
+ 'palette',
+ 'repeater',
+ 'sortable',
+ 'sorter',
+ 'spacing',
+ 'switcher',
+ 'tabbed',
+ 'typography'
+ ) );
+
+ $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : '';
+ $custom = ( ! empty( $this->field['customizer'] ) ) ? true : false;
+ $is_complex = ( in_array( $this->field['type'], $complex ) ) ? true : false;
+ $class = ( $is_complex || $custom ) ? ' csf-customize-complex' : '';
+ $atts = ( $is_complex || $custom ) ? ' data-unique-id="'. esc_attr( $this->unique ) .'" data-option-id="'. esc_attr( $field_id ) .'"' : '';
+
+ if ( ! $is_complex && ! $custom ) {
+ $this->field['attributes']['data-customize-setting-link'] = $this->settings['default']->id;
+ }
+
+ $this->field['name'] = $this->settings['default']->id;
+
+ $this->field['dependency'] = array();
+
+ echo '';
+
+ CSF::field( $this->field, $this->value(), $this->unique, 'customize' );
+
+ echo '
';
+
+ }
+
+ }
+}
diff --git a/functions/helpers.php b/functions/helpers.php
new file mode 100644
index 0000000..1679bdf
--- /dev/null
+++ b/functions/helpers.php
@@ -0,0 +1,58 @@
+=' );
+ }
+}
diff --git a/functions/sanitize.php b/functions/sanitize.php
new file mode 100644
index 0000000..a3129be
--- /dev/null
+++ b/functions/sanitize.php
@@ -0,0 +1,29 @@
+add( 'required', esc_html__( 'Please enter a valid email address.', 'csf' ) );
+ }
+
+ return $validity;
+
+ }
+}
+
+/**
+ *
+ * Numeric validate for Customizer
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_customize_validate_numeric' ) ) {
+ function csf_customize_validate_numeric( $validity, $value, $wp_customize ) {
+
+ if ( ! is_numeric( $value ) ) {
+ $validity->add( 'required', esc_html__( 'Please enter a valid number.', 'csf' ) );
+ }
+
+ return $validity;
+
+ }
+}
+
+/**
+ *
+ * Required validate for Customizer
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_customize_validate_required' ) ) {
+ function csf_customize_validate_required( $validity, $value, $wp_customize ) {
+
+ if ( empty( $value ) ) {
+ $validity->add( 'required', esc_html__( 'This field is required.', 'csf' ) );
+ }
+
+ return $validity;
+
+ }
+}
+
+/**
+ *
+ * URL validate for Customizer
+ *
+ * @since 1.0.0
+ * @version 1.0.0
+ *
+ */
+if ( ! function_exists( 'csf_customize_validate_url' ) ) {
+ function csf_customize_validate_url( $validity, $value, $wp_customize ) {
+
+ if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) {
+ $validity->add( 'required', esc_html__( 'Please enter a valid URL.', 'csf' ) );
+ }
+
+ return $validity;
+
+ }
+}
diff --git a/functions/walker.php b/functions/walker.php
new file mode 100644
index 0000000..a35ccb9
--- /dev/null
+++ b/functions/walker.php
@@ -0,0 +1,28 @@
+ID, $item, $depth, $args );
+ $custom_fields = ob_get_clean();
+
+ $output .= preg_replace( '/(?=<(fieldset|p)[^>]+class="[^"]*field-move)/', $custom_fields, $html );
+
+ }
+
+ }
+}
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..49d255d
--- /dev/null
+++ b/index.php
@@ -0,0 +1 @@
+`lV{SfblH+$Y7eEl~5@O0hod2ff0!neY{f(PJR`2H;1
z1iu6yf+ygo;1YZ%d>y_A{s+DbZoI?u?t%us8}2H;_d%^6h5YkI_`?=2h987=DEr@n
z?||QjZ-XyE`Edz;7+!}TfEG&sKi~uK4uswZx51sT2X?|5ls{+TMtB*r#rqkQz1N`Z
z{1)B~Z$Qca9mok@HO~e*yzah
z{1PgEzlZYwpRfzw#isYer{E+k7vH~wAL097Q1Rc3ldAh}D8D`pHD4~~zXnn1eFw_l
z7oqy*JR~&lk5Kz=7QCILNd7+fakv$J6n+6J&(p96&KK){fuH32{yTHMpNER?2k<`F
zfc*1*%^&6QM!~;A<@3K#{@%}``mYP>dl2q`qwpd4L%0wA3T}ZLX(IW#2i^;xgo@*f
zQ27{#+V?!{gx8_s|1*?-HzB3)Hc%ve-wAcTHp5+TKU6)QgWC5!xD~!w@E5R`@4rFy
z<8GQ$ejkNzf_r#fTo9MtL#QsshoN$#M?JmMjdH&g)9NGpl-WJ%i4w2wkH>hqKAKN)
zg?NuJqh8kYD6i^8dEB{GFDY*y<2Af`HuHA#Di7Ov_0R?`U&_TNc-132cy)G^XV(*u
z^trxJ?CM87%9C=be$bv#sEIsCKHS*HfvO{eHC?B$IC3UydU;
z7zm@|Zg3!&@OqNKOvZInt20PrQwgd;%4j64nJ^7TpSVRL32H%_3)F&g8pe@{$AsEC
zS*e}yBV=QfZ^9eH<}{3kYq_x@zg|tvxL>UY>$X4PJ?WQ^4<~Uws+gWM^~)opL6o-6
z?yZJnt=|Wea5#)wXAZ@+P_DJk9S+6L!dpbrAQ?q(bN&d%iDHa8
z1%~2AacX>J9urRu9z4)oZ0`6R^{d2AaKs-E%orNOT1^F4qr}AH%iU+k;v_X&Om939
zRb#*6?kgB)I>mQYfH-M*Uy%Kl>aWtHd4xq?SedCY&VO5DMc}(FaZBfg&YbK>_
zsx%vEKNyeIHW^LPP4R?Ea)_D{6x|UdW^>Ju_fd+aTqi!8l3KgSYS_;l9$2?|btM?Z
z9phIjctWk(46MpT_0eNNQt}Q5qw#o9z_?SEPZ`$_hjm<7)uHLBR*TVKesa7)601M7
zN2yfu25G+X$l9nmU7Q&jNdXV8o}pU3T*kwpdbK)fLYHN&AJOR@a-GE>3BFnnUGF|K
z=IW!umi@?e0GEVvRq|RU6Bkj-yeoe_a@JQnc)PmV-5ts5)F!Vs5>Kcu%~S5x$EYv8
z6W3DjP!fNIxI6nRou8p7G*Y+O8&^15eq#0|{%9}}C&$gM(yr3Zjzb4K4+rC+q&j<1
z(QP^g{94+1B=MtK)#o(2nP|A~4+ot`0)MpSyW99l$J6~!_pKS)S$eo*Z%m6s=$ITs
zUm84{?ij23Vf2`56)N<2Jss-oT9cElp&;q(i^_3@Vsx9XV`18Hv~zzD1xfD2p*YY@
zu(Q-v+JoPoJ!h|GCrmbDS8T&xHTFt^{A-d?qH*$I2W*mK!zb}~DYow65J#Sxve
z^Y$7d-)xo5W{_I2i^eY6
z_b91Xl%@7r96m!43YS}?$(M7hv3>`+Bg|W736DI_*|Q!6xNMg^GEOCsJNL74#7oZmyo!g
z$FN{uRr%chg%Vk&;m&otvLdT)%}vt3dFxQV=`}gbse*HM$w-mBqyPlDv?hZyGq~U?
zrzIjn$;m>Wr1Q1*{r19|hNcT!`+K+L`&NkMip;g|THE8i$g{tQfAh42a!+JvyQqXT
zXl?g9hoU81z~u*4<8O-M+*EFn_EDV9S7lUvj1hWap5ufVwii&PGuhZ8JE!a`c3OmG@NHLVxL#ru_aHpyUx@gMYh{@pI_5Wamme`?v#1g{L9Ab0+}M1
zhHgn+WX(P!$1ljmjQgcUNrQwFXj6=}SDZy|*yb?LbldH_Zmqb5wWoQCn|EH@tQxuH
zHgOjYjxvkqRIXLS|C2qb>~nf`NIjQ%&VTNxo6~;=$jg$w=te3{Q($eHDretrJL+vW
zvYIvT1Km#?1+>r2_hR7yzb168*pW+v&tB$>oXn}`J*`yP)^eIL$!
zcx-nAQYF}x1uP5_qjo{qM9K&hu^5R;_C&HOq^d#{t85Tm1tAa;hz)%Iwa4}(-SldX
zzkC1tpL71#`S091xc}#h>v_f(8T&u1R0-bR#}C)Bk0^B?d=`EbE{}Ky-plh#a29?a
zJ`R5bzYVX!2jFe^DfnOb33%Whr9KHYd=MTTJ)eZ~{u1O*)%anGis0vA24(-B!uw$t
zehmH^iXGSCSK#mA=ir~Atp88=Rd^3dpMi(q99)0}m_V`Tb$9^&7BWTkq3rh-lzsjL
z55ike^#1|Hj(sSJ`~Z}F9)`02N%%1Q0hGAD3T55bp~UkyBmNGGpKn6h=O&c6y$$!n
zTO;{jM*JI;eg6$5Ui+COem?}ozo($=vkD)ArIEY_5A*y(DE422V#gogU*TI&;UawK@bP
zUQa?))JstOsld;|SD?h{XHfS21$+$tarFLQ@asH3K=7nqo`#3uIVgIsK(XfyD0bd}
z5~l%_b>D`hRJ{wO4sJoQ=kJiE)q@{b>dR0=iNkSt1cvZQ_$zoAz5`{Q|3N~g?j=bQ
zpMy}=c?3#a=b+eg3X1;sM(-<7;?jUDq1sUD=_gR?>kTOJ*nu+d7JLN02gTm|Fkb9A
z0yV5a@%L5uA@~eK))QZtl3%iq#Ow*imvYH)&fMr;>=j>jFR5qAkz7&>MTYc`=NPn)
z@wIPs_Y{;`mg`xD*hyG(`^6W@&o>yFA=jgfd4|-5#8fVcU4bFJ=4pn+=muTJSu5%J{yG
z+xh)UB?|MKRTtLtn=^JpEyPy0qf93mH)*6j>)VvOnoG1xZE*Z9jo2nO9V#TYlDa6=
zQA3d2p)1R7m=N7a4<})bW^(Gn^<=nN)ntCEo5s)V9n+7i6Q)vMkE1N~^g^1NN-eNq
zIxSuFU1R$BZ0y!uI4xO=5+|lj%g)<|HG9@6xsFwfCahRrE&A5PYRL`_8yk!LX%t(p
zsFqw}%D(l~vgguqfb)kuu*>1-bsR^r-l#d>>clj0nV4B!shM!yCPlR@@8|VNXMInv
zENQY+^<5<$zgYpQV@?W
zi9B0;r*!tr_~m%UW%B1mxnj*Ut!}WQOA<-A6iS3YM$BzBqBzx$>7{5R^dsY`p--|w
zRkAm$RsvB`t5}+5o>i++xIVl)!$KxC+BA*xC2&QB2sXDG=k6)db~zTeg^kFvbKAg8yQR~9$1y^^`Sb}u&a{77OeCd?~
zQYfT(y%>2MEfedLu?g%(6xa39;?d&V%-Y$)dE0cNRajz)c|EgglC*FkHeuo$PGc?!
z*E6$j3m2>jrk>}u>CBv7IlVmDXs-Cg%wj}|gsjnSuwH6g>5+zST=-mGDrD&SEUgxf
zP4r~1s*MZFVI}fN#=JgOcInKe!YLctcxc30WTg|#6^|94!ESZV&~k0t=t0*v%|Ta_
z{{Hnkr{?BsW5Eg2-}LE?{jF)W%QnQ}&`rxuWSY{K*5`EM{9w?nb9~c5*K=)DJ8UrM
z1}>C&9hzpQPxNkxTIfRE-~a?Rjr~D4mUWZ5F~)dlgUgQw~=Yg96CkN3Jv2pUF{E8lZPwNOu8ldoOd`Qwa*WP@{J>g*_4
znwvkA%wYMD4q{#aanrHodEcUNf4%oVv1!NoI#O+~15dNhqK3mJsn+
zG1vDoUcLs@gM1H0Yb?@o%i8O0ch)8C`6r+vGPLusj5SYWAvKtiEzHw=Z>TwHP4@FL
zjOt%+(PsGoT<&d4ASg>(ns}I+Mt{o>j3*}buX`=ytL2btRu?;2=x0~dX%0yim~_0@
z3;3+dF4m!hqQW9*5Yaqwm>^Lsp_8A4wkxZfuT_(bh7ix{{`K58-whogQ$@8(Syv?)
zd>7;}axOhnGrD&*YH^-|X5=Gi(e0^>aH3ux#-6prn5HdjqSQ1}2ov?G<@f5_LL=JQ
zOh3?^uy-SfC9-=q=>53A)#5*ryn|%AM7i!QOOZ(5AV#6SlEvx;6ZE$z0x`9;d*0Qk
zDYV^`>|9>1sk&@Bq=~*DAD)F4-FSR6k*`g)lHEcd9;H2Rvi@eqQPob8Jw9!8rDRwU
zWOL9h>&U05NYAKb)Y3R7^wPAbVHyz;M3y>I@GhmBRlj(h?7A
o7TSAGk&e%*3ujgN{aT-1@7<6#OW#z1P0Y)LvrU{apT*Vx0m3BD6951J
literal 0
HcmV?d00001
diff --git a/languages/az.po b/languages/az.po
new file mode 100644
index 0000000..842d106
--- /dev/null
+++ b/languages/az.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Dəyişiklikləri qeyd edərkən xəta baş verdi."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Parametrlər uğurla idxal edildi."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Mövcud parametrlər bərpa edildi."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Parametrlər qeyd edildi."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Dəyişməmisiniz, dəyişikliklərinizi qeyd edin!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "bütün parametrləri göstərin"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Axtar..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Qeyd et"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Yazılır..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Bölməyi Sıfırla"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Bu Bölmənin parametrlərini sıfırlamağa əminsiniz?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Hamısını Sıfırla"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Yenidən qur"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Bütün parametrlərini sıfırlamağa əminsiniz?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Məlumat yoxdur."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "mesajı yeniləmə"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Vaz geç"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Siz əminsinizmi?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Lütfən %s və ya daha çox simvol daxil edin"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Axtarılır..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Heç bir nəticə əldə edilmədi."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Əfsuslar! İcazəli deyildir."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Sahə tapılmadı."
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Yenisini əlavə et"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Xəta: Etibarsız doğrulama yoxlaması."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Seçilməyib"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Arxa fon mövqesi"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Arxa fonu təkrarla"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Arxa fon əlavəsi"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Arxa fon ölçüsü"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Arxa fon mənşəyi"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Arxa fon şablonu"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "İdxal"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "İxrac & Yükləyin"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Qalereya əlavə et"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Qalereyanı redaktə et"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Təmizlə"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Xəta: Sahə şəxsiyyət ziddiyyəti."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Bu elementi silmək istədiyinizə əminsiniz?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Daha çox əlavə edə bilməzsiniz."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Daha çoxunu çıxara bilməzsiniz."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "İkon Əlavə et"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "İkonu Sil"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Bağlantı əlavə et"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Bağlantını Dəiyşdir"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Bağlantını Sil"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Enlem"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Uzunluq"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Yüklə"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Çıxar"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Aktiv"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Aktiv deyil"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Xəta: Keçərsiz açar."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Xəta: Cavab düzgün JSON cavabı deyil."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Xəta: Xətalı termin ID."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Xəta: Bunu etməyə icazəniz yoxdur."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Lütfən keçərli bir e-poşt ünvanı daxil edin."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Lütfən keçərli bir nömrəni daxil edin."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Bu sahə tələb olunur."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Lütfən keçərli bir veb ünvanı daxil edin."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Qısal kod əlavə edin"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Qısa kod seçin"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Qısa kodu əlavə edin"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Qısa kodu buraya yazın..."
diff --git a/languages/bn_BD.mo b/languages/bn_BD.mo
new file mode 100644
index 0000000000000000000000000000000000000000..e2dea47a388dc5720aac802f575e9abce1ba8596
GIT binary patch
literal 5940
zcmc(hU2Ggz6~~7rw8c;ep?sCE>n2Sp&2F2tP}glpQrju6+{Cg|DD)vrcCYOrvfNy~x1TTZ{1J~T>dG7}e_yKTpzTN@K`I8`j-V9%;crkbz
zSOvxZkHPnVKLy_f)uUqzA<|GFIS1Iw(3z|G(?D0TWPD16@XUe`x=f(Kb|0ms1Kf)dwSj19>?xD7l2
z`rxm@uYl_*?mgglz#{k>sPzP;Ki>vF3El)b;%@`^Ft`nr{cnTf=jY&K;P1gb;9874
z2PWV+_#aU0j?sKl_dVc7@LM3Ec)tJ*cor0X{{o8t)f7wkzYV+_90CWx7<>R+2A={O
zpz!!GN@DLBP~tfZO8%F?W$^Y7dEOVmi=g%g&G8P_VoUOqoJ3zfP^dF@FZc=B;3GL~
z(l-}hU;Zv2c~NHlNQ}a#)czr!8+e+Z{0i~zXG3~fJ`eK9Tu@e>+mC=7c!XQSBcD5X
z26<>nJW%H;XhBjHy_t8=u>C0FU?bDZ?cHY~bShEmUOv
zHsft3NKKI0*{xSdBsR5~6G&|-3*yMc6@j!%R?N=(5wfvyNzYM7Zh
zKdjm=^{w6`erexy5?7`G#rhp~
zCWCKSZ^(~IHuQ!<>nGl@b%C{lCH^c2v6&YB7q
zgEWxWSp9j6y0GHb4P06eU@Sg
z*NKl(l6HzT(|%%NtV_9hVrL1*_~kN@P^%6HO_``VyVoW~Z^F*Tb2bN~Q|7je_QQmX
z3#T$P+ruz_n{<=oO+u`E(H_NO(VL|CN;4~Ot?hhfXe3E^vN=O(wNxU)scIN5m_S*U
z^W8GNQ`%X)B=+moKzsLziq=O8Tk<3A04@pPs_3
zi<|n!cNHe=Tp&_~VN48~zA-<|3cC|ON<*J%)SYO$>QCFkZtKsstq0BCXwM_VeUFbm
zKCWM-ev?x}=+5Iv;bLXoyqv#G+sik!HcvPoeiD#c~$F=z(%
z23g;eg-2~<6BoyLY~?c8R2(QiK8h!8#VLv+OuOOs
zq+0x$v&;IZp1dNxDDf@glt_sjf>42=Go5irU)5B$?z)#_ZMfQb-p*=kpHmAsIoNnv
zTG@5co2uoACLgRb1?M`{=_}DfrPr8fp(rXj5Gq9^vzl5zk4DEx{HU4PA}6SHdu11W
z7X`&(T(AgBM2crpgpNZ-RiOYmXW-37?U?2!b#;*lV;mkrmpA-E2HXi5D!{kcmVsyM
zY@@!|MULw!H?TtbAY#-5dR$4Qli`JuNUc~n_KDhcdUL5v_cEsaSAVWitD{V)`(074
zDGC?v>Jgq9e!dC9)%w_V+7Kq1^q%ZU&?yD)=3Z!ak~N8GFC9xq*)pGlJC%bKk!w${B9U&9s?BXqNYubVVb&Z21WaS<|%tNKv(91|W
zi5*YPu=^6{u6GaT!=jx*+hO^24&nWLKjK7*V;VfS%@z^08j)RE^EA7z1BiyL7nB|J
zR*qdTQVBIKZt?_H`c^Lh(UBL#ngPP1s!96_r4rl)N362LA|D?55%v5xf}lu_Wg57JLrCcG*_O1lgu9;z_AG)|@zvI>YM*;cxmV-Qwyp(f7wMwB@3H5)
z3gd(asgkdAf#YQtNU!`6>&TU#i+t*-n!7aRu0yPMW)z)}afs(*Uh~$$vjo5%OkoAq
zPH@<9-J+)FkY7KD@GGvFU9}K)%J~lqYvf-=tYe$COY)Ek2vw|4w|mbGbVV5v12
z5;_jLchTb4=|!bleq`i->9&4A!`-L#9-LpNtd2?#C*8lO$|Lbf?_3$FG^8tXx1JMs
zvwA|qq{PBEZQFKLXrn8a&46@Ngwd7XV!GDYJFRT*7I>TUamuU`g4M>9;I);
d6Om)^0ZIPGZx()H8F>%v|@*
zx#PL_?j#F>LXkddLBS^pL@7u?u!IT$g%MGTBG?B7$%DR##D}U>&=-H-xp!t~vcb!q
z`Q3ZYch33F_wVfWyZ3xY@jONQIBm~uN;Tn)+xg)+_D-eV3m=E?hK-7A@LhaA3-`kp
z;KT46@bmCh__8ehB^t-UavGq0|SUh987Ss_&Cf#xFqrRF5B~s1)7@3n=@43*HI8
z2j2sK2t|({!%xE3;YZ;gpsfE7_$hb?LLY_);bFK4YcPYN&tlhhK(b*B7Czdl`y7U#a*Slym+Z%09n@Vz=MH
zJ@9(f|Cfq?hqCX#q1bB=ljPj@Ksn!|Q1)4c_rPY=--Gjfe;tbcuR_t|XYjA^4Jh_{
zZLYM#uPXkr;@{vA#{UaNuFm8&xCG_<+feNA11NTUz54z&6g~a~KLX!^B0t9=*i!9-
zqVGfSAUp&SQO`kH&q6upMJVzw!2|GRD0coSl=J@{iv9mtecy`_ALaWfJPtRZ#OaTq
z=<^#WcK9=t{r*)^y}z{MolwRfsCX2L{->erZ=me^5_}lG0%iR-q3HQGww8a@d{
z-><=Y;dkLX;A1qg+ddjo!Xx_09*@vuZF$7@hr?T$zqoz!NIZ+p`*Owt1qR6&I(@gR7WW8`
zAiGIcmK_?0Y^uviXrq~&$F7@|n{`Z)uDB?YSVoic3{oSI?Z_7suRYwZK6&j)_ApSOT{M2qJN%x8`afv
zoS9Z)Bh`rFd}8465e(aK)v))e*TY_%Se=i}<+Dp6oT#B-K%lfzzw~d@|mq>1XpLHkw=h&Q64DgfHIM=1QHez|U
z_(JpS+GKDt<2n2nr9rS~wyYkoVw`2-a0!%@^B7V0;vn_8KA@M=p-WN|sq##+K}Wo|
zU#;{-M6IG}UPM-{rmkDQt+9~FjW$~*PQ-9^MHhM!7Fju6dUC=hA=ohc*>sTY*V08a
zr9*MaIzHo2M2GeI!AxWKKF$(bd&4B3&5DeVeSTy0rpeuvknPj;t2KblQNwZw7`}8ZEyS5V5zJyZE<
zjYuuy^+|8~c9{B2eWZS*et2&EY;D7C#UfQ(W{Cwow`#JycFr4@C5CJaJ+51ruC1N3
zra$$)KplHwxiNQU%Os>nOFV>@!P
zUB~)b!?n{0e=O)@tvH{%P&;Lv^`#!`sg+`IxPGku7^*AEE~#nt>DX--ozb+#)o;YZino7iUCx?69-
zK}oZ&C);a_PD-4b?h1u^y5oxlo7x$fNvWQedp5R_^}SRSoRL1|M^{JRw`#G~@>YzX
zR;~45ta@$sXv1TP2F0yW;2hsV$L{m*b@2IvfO*DC+=zOd@oLfPud>tWi0ON
z=D-HWI0DY=(TffQW7btEMun%q*H)Hm&x8WM$9W1vikSsna&x2bh)j1NyYsgV;z+gi*y7)v{g7
zN$A^OO)INcn5LF|@IlvenXHbkNN|StXM*)$<^s}K%#SVgputc8C~Hn!<0*LPLRvBAujCOp4Ur7yGK!K$!SP=%S$EJja$++
zWkN0yZ8&_n%m;&D2#>iCE(2!YZh=r%`J9TuqKB{-(HQ!cp$Z!I%14!c!>EEze`
r*iNS@1vR*HDs%N%lF;0?BxhMF5!)%1iqcW=uTv(~qpStFH(m8V=5l){
literal 0
HcmV?d00001
diff --git a/languages/de_DE.po b/languages/de_DE.po
new file mode 100644
index 0000000..5f0f03e
--- /dev/null
+++ b/languages/de_DE.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: de_DE\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Fehler beim Speichern der Änderungen."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Einstellungen wurden erfolgreich importiert."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Standard-Einstellungen wiederhergestellt."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Einstellungen gespeichert."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Du hast ungespeicherte Änderungen, deine Änderungen speichern!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "zeige alle einstellungen"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Suche..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Speichern"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Speichere..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Abschnitt zurücksetzen"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Bist du dir sicher?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Alles zurücksetzen"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Möchtest du wirklich alle Einstellungen auf ihre Standardwerte zurücksetzen?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Keine Daten verfügbar."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "aktualisierter beitrag"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Bist du dir sicher?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Bitte %s oder mehr Buchstaben eingeben"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Suche nach..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Keine Ergebnisse."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Hoppla! Nicht zulässig."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Feld nicht gefunden!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Neue hinzufügen"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Fehler: Ungültige nonce-Prüfung."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Nicht ausgewählt"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Hintergrund-Position"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Hintergrund-Wiederholung"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Hintergrund-Anhang"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Hintergrund-Größe"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Hintergrund-Quelle"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Hintergrund-Clip"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Daten importieren"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Daten exportieren & Herunterladen"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Galerie Hinzufügen"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Galerie Bearbeiten"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Leeren"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Fehler: Feld-ID-Konflikt."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Bist du dir sicher, dass du es löschen möchtest?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Sie können nicht mehr hinzufügen."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Sie können nicht mehr entfernen."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Icon Hinzufügen"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Icon Entfernen"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Link hinzufügen"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Link bearbeiten"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Link entfernen"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Breitengrad"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Längengrad"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Hochladen"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Entfernen"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Fehler: Ungültiger schlüssel."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Fehler: Die Antwort ist keine gültige JSON-Antwort."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Fehler: Ungültige Begriffs-ID."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Fehler: Du hast nicht die erforderlichen Rechte, um das zu tun."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Bitte gib eine gültige E-Mail-Adresse ein."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Bitte gib eine gültige Zahl ein."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Dieses Feld ist erforderlich."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Bitte gib eine gültige URL an."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Shortcode Hinzufügen"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Shortcode auswählen"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Füge Shortcode ein"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Schreibe hier den shortcode..."
diff --git a/languages/default.pot b/languages/default.pot
new file mode 100644
index 0000000..a36031e
--- /dev/null
+++ b/languages/default.pot
@@ -0,0 +1,673 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.3\n"
+"Report-Msgid-Bugs-To: "
+"https://wordpress.org/support/plugin/codestar-framework\n"
+"POT-Creation-Date: 2021-06-25 12:32:35+00:00\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"X-Generator: grunt-wp-i18n 1.0.3\n"
+
+#: classes/admin-options.class.php:226
+msgid "Error while saving the changes."
+msgstr ""
+
+#: classes/admin-options.class.php:286
+msgid "Settings successfully imported."
+msgstr ""
+
+#: classes/admin-options.class.php:298 classes/admin-options.class.php:314
+msgid "Default settings restored."
+msgstr ""
+
+#: classes/admin-options.class.php:385
+msgid "Settings saved."
+msgstr ""
+
+#: classes/admin-options.class.php:565
+msgid "You have unsaved changes, save your changes!"
+msgstr ""
+
+#: classes/admin-options.class.php:567
+msgid "show all settings"
+msgstr ""
+
+#: classes/admin-options.class.php:569 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr ""
+
+#: classes/admin-options.class.php:572 classes/admin-options.class.php:695
+msgid "Save"
+msgstr ""
+
+#: classes/admin-options.class.php:572 classes/admin-options.class.php:695
+msgid "Saving..."
+msgstr ""
+
+#: classes/admin-options.class.php:573 classes/admin-options.class.php:696
+msgid "Reset Section"
+msgstr ""
+
+#: classes/admin-options.class.php:573 classes/admin-options.class.php:696
+msgid "Are you sure to reset this section options?"
+msgstr ""
+
+#: classes/admin-options.class.php:574 classes/admin-options.class.php:697
+msgid "Reset All"
+msgstr ""
+
+#: classes/admin-options.class.php:574 classes/admin-options.class.php:697
+#: classes/comment-options.class.php:216 classes/metabox-options.class.php:294
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr ""
+
+#: classes/admin-options.class.php:574 classes/admin-options.class.php:697
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr ""
+
+#: classes/admin-options.class.php:672 classes/comment-options.class.php:199
+#: classes/metabox-options.class.php:277 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr ""
+
+#: classes/comment-options.class.php:217 classes/metabox-options.class.php:295
+msgid "update post"
+msgstr ""
+
+#: classes/comment-options.class.php:217 classes/metabox-options.class.php:295
+msgid "Cancel"
+msgstr ""
+
+#: classes/setup.class.php:592
+msgid "Are you sure?"
+msgstr ""
+
+#: classes/setup.class.php:593
+msgid "Please enter %s or more characters"
+msgstr ""
+
+#: classes/setup.class.php:594
+msgid "Searching..."
+msgstr ""
+
+#: classes/setup.class.php:595
+msgid "No results found."
+msgstr ""
+
+#: classes/setup.class.php:696
+msgid "Oops! Not allowed."
+msgstr ""
+
+#: classes/setup.class.php:768 classes/setup.class.php:772
+msgid "Field not found!"
+msgstr ""
+
+#: classes/shortcode-options.class.php:253 fields/group/group.php:23
+msgid "Add New"
+msgstr ""
+
+#: classes/shortcode-options.class.php:290 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr ""
+
+#: fields/background/background.php:36 fields/media/media.php:59
+msgid "Not selected"
+msgstr ""
+
+#: fields/background/background.php:72 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:90 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:114
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:115
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:116
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:117
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:118
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Background Position"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:165
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:166
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:167
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:168
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:169
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:170
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:184
+msgid "Background Repeat"
+msgstr ""
+
+#: fields/background/background.php:185
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:186
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:187
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:188
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:202
+msgid "Background Attachment"
+msgstr ""
+
+#: fields/background/background.php:203
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:204
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:218
+msgid "Background Size"
+msgstr ""
+
+#: fields/background/background.php:219
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:220
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:221
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:235
+msgid "Background Origin"
+msgstr ""
+
+#: fields/background/background.php:236 fields/background/background.php:254
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:237 fields/background/background.php:253
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:238 fields/background/background.php:255
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:252
+msgid "Background Clip"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:270 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:186
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:274
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:275
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:276
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:277
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:278
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:279
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr ""
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr ""
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:214
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:217
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:216
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:215
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:199
+#: fields/typography/typography.php:213
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr ""
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr ""
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr ""
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr ""
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr ""
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr ""
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr ""
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr ""
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr ""
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr ""
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr ""
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr ""
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr ""
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr ""
+
+#: fields/media/media.php:25 fields/upload/upload.php:25
+msgid "Upload"
+msgstr ""
+
+#: fields/media/media.php:26 fields/upload/upload.php:26
+msgid "Remove"
+msgstr ""
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr ""
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr ""
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:96
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:97
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:105
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:119 fields/typography/typography.php:132
+#: fields/typography/typography.php:145 fields/typography/typography.php:160
+#: fields/typography/typography.php:176 fields/typography/typography.php:189
+#: fields/typography/typography.php:203 fields/typography/typography.php:221
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:130
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:144 fields/typography/typography.php:145
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:158
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:168
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:170
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:171
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:172
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:174
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:175
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:184
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:187
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:188
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:197
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:201
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:202
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:211
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:218
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:219
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:220
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:233
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:245
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:257
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:269
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:295
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:362
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:368
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:388
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr ""
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr ""
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr ""
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr ""
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr ""
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr ""
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr ""
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr ""
+
+#. Plugin Name of the plugin/theme
+msgid "Codestar Framework"
+msgstr ""
+
+#. Plugin URI of the plugin/theme
+msgid "http://codestarframework.com/"
+msgstr ""
+
+#. Description of the plugin/theme
+msgid "A Simple and Lightweight WordPress Option Framework for Themes and Plugins"
+msgstr ""
+
+#. Author of the plugin/theme
+msgid "Codestar"
+msgstr ""
+
+#. Author URI of the plugin/theme
+msgid "http://codestarthemes.com/"
+msgstr ""
diff --git a/languages/es_ES.mo b/languages/es_ES.mo
new file mode 100644
index 0000000000000000000000000000000000000000..b5b48408b6b1cc71c573bc9005a5bfa41d814328
GIT binary patch
literal 4174
zcmZ{mOKcri8OMh<1TY0c2`O)mY17g+zHLHF)3haW949hz6Jxt+Q5WU-&hhn0=FYi2
zGh@eD6{#C`Y>;4uvY{XmiK-Psl}anjOR9vBV9^Dtgm{QW5NbC_EP&sCX71$X(IX%K
z=Dff2z0Q5>)?MF8D34J;L)~>#lB~eXH}j8j_`ON;LHICyKb&uQ3cio_lW-b71Mh|3
zgkOP|;D_L4_;L6j_z}2gcanS*8u&4IsBNEs8h;A%mu&ElB}ssvf)&*H--frq@4*ki
zA3(|R6Zm=fGx$mPCe;4#z%RhvOu7x;4G+RuI0FkPc`m{|@FmESYUr5&OZTfhu?tG>+?|iUWC%;4_m$rbE3&x?)L!HIg4;FTxt6^-~rmtLCJp!N{-jyKj0fs_kVe+IsaEs
z?LV~bzrs6czXKnIx3Tz1xC%Az$1PullK*#5^8E=)KbN88`5)B$ySP{?Lh+{
zgiJ}!K&@Yc+Al)Qe-3^YehV7-0{jI0ZQK4clt13YqA$Zc;1}W3Q2y{dlpNoM+V2v?
zl*v!q_RpdA{|z+oZ%}gV{&2H?AH19PJy7~sg>!Hl>YP`h_We8LFZmb$*dqBaM8(N1
zY^M9~gOcMesPi9%h@KpWn)fv*JvnTit?t;g(Lkv~f|mBZ8?Rr%u)D(RyuZ3;;q
zphv!}@-S6#A)V;nlKD>RJyb(g*-t$}l^zaIRiv94s%$H}O2@jVbnt2Fm#EUebbA+7
zu_%41$iJiu`K^lduJT}m+AkDChp37T71{Vkh4WT;@lU?bFc@
zd_LK;6bdiVCi|A%$l0s*S@9QKGH3I?%aXaw*_a%6jbNRy$X|x&(q3}h7j`XkX)>Ss
zvQu!~s1-Y(x5F`pXtp+d=1gHXxiUI)roUnHfh&5+yvC216W(R1SvYR6&U)tiWjC^r
zqZXf(zC0kT*>usb`@Yo;ubWc3IAq_hf0e_z#Rxk&gK_gv8Y|6n#8+2NpXvs?
z6<^1GX{aY|*iC0f?C6U^2A87*?qenH`B8|axzijETX`02nlyLP0qe5fbh0qilw=V}
z%PMurV#o*0*C{r#r8Rcb`b>)JC3GPtZc#ML)l=d&8P0~1h_R&WXjv4CtEY^w{lxO(HH*h1ZiqO>rYVwOtE&ze&&jLdnv1<;*$u;{
zYhmgrYr0JB56cP{Min%(S=N57G?A06pjiFGJ$k)fvV!yVH?Dkj-EGX^NV@RKIEIR<
z-$%mrD$BNwueGf4RYmW5?OA+8_iW{B-+f|K+ee1&+r0Jwl7w{COC~yFeWQu~+Wb{s
zpFZ~B1M=!Rcf@hmbW&`DE!m}u@}wGJUwkJNWwI2*S?)cvkj|XJC^*s)GZ#`q%SLk|
z+M(MD@tir-JJdTkwRC!B*=>5wnmNuEN6gfsEy|hIX!9boL}T5P4=OuwGpo)HC)!7h
zE1sEOnR}a8Siyo~<0!J6zGY%nv;ak2aHbE{-Rqb#Rx8pguv6
zu{?})2#Xk#ikaH)`<<8aZgF=6GbT^rq;97&q@gew)t;@2lI?8WB5~k01%{0ru#Q>7
zb^G!jq-U#~WMMO6IZp%W)sG}l(^A5A`IWZPbuHqRE@kWT+Rjxwv^y{Au^Mk%CvOt>
zu@EDeZDpO1PD!P-RkYlPEba<2gWsf8Cvt4j8B4i*!ZzKsI-zqDJT9h8kW%_~xaPHC
zo6bq(2u1HGkdL~g9=Zv0nW82SW^?Bvsn>P`L`0p;oBQ8jLbG+b^CPk_!ybQ(QF`yT
zAU^6W&RdGPnS*_*+)nh>iT>J?Pm#$z&WthZ3?IyhylFP@%*YnnzfSR7nI!LuzKsLR
zd#O9>5Cq9f>2;jwF+iK@yG*aF?#_E02y+uOc%|1{z{
zyS&?WQYVq!MpA8SS%J&xd5T1r?@!qF-44okUKu)KyD^0{+y-{{Q9mT1_2+S(SZ-Z7
z>J{libd?ajs)NU+_M+ruQk>BYL$t>#=UP9$s8CU5)4Nv$1NZG5qfEK~S=
p9B~KQ4^viMJ01vgv{{cuZQ6c~U
literal 0
HcmV?d00001
diff --git a/languages/es_ES.po b/languages/es_ES.po
new file mode 100644
index 0000000..f2d969e
--- /dev/null
+++ b/languages/es_ES.po
@@ -0,0 +1,666 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: es_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Error al guardar los cambios."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Impostazioni importate con successo."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Ajustes por defecto restaurados."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Ajustes guardados."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Tienes cambios sin guardar, guarda tus cambios!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "ver todas las opciones"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Buscar..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Guardar"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Guardando..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Restablecer Sección"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "¿Está seguro de restablecer las opciones de esta sección?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Restablecer Todo"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Restaurar"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr ""
+"¿Estás seguro de que quieres restablecer todos los ajustes a los valores por "
+"defecto?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "No existen datos disponibles."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "actualizar la entrada"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "¿Estás seguro?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Por favor, introduce %s o más caracteres"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Buscando..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "No se han encontrado resultados."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Vaya! No permitido."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Campo no encontrado!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Añadir nuevo"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Error: Verificación no válida."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "No seleccionado"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Posición de fondo"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Repetición de fondo"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Adjunto al fondo"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Tamaño de fondo"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Origen de fondo"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Clip de fondo"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Importar"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Exportar & Descarga"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Añadir Galería"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Editar Galería"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Borrar"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Error: ID de campo en conflicto."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "¿Estas seguro que quieres eliminar?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "No puedes agregar más."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "No puedes eliminar más."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Añadir Icono"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Eliminar Icono"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Adicionar Enlace"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Editar Enlace"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Borrar Enlace"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Latitud"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Longitud"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Subir"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Eliminar"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Activado"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Desactivado"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Error: Clave no válida."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Error: Las respuesta no es una respuesta JSON válida."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Error: ID de término incorrecto."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Error: No tienes permiso para hacer eso."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Por favor, introduce una dirección de correo electrónico válida."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Por favor, introduce un número válido."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Este campo es obligatorio."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Por favor, introduce un URL válido."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Añadir Shortcode"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Selecciona un shortcode"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Insertar Shortcode"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Escribe aquí el shortcode..."
diff --git a/languages/fr_FR.mo b/languages/fr_FR.mo
new file mode 100644
index 0000000000000000000000000000000000000000..61a5dc09ffe96a5e6e1d57e3423d14ad89b73531
GIT binary patch
literal 4347
zcmaKuO^h5z6@ZJx1Xu`|kU+ozYDw%QcxRk74%w_R*04X;Mw{K$?%IS4p*&qPQ+7|+
zq`G@H>ytqU1ScfKArc2H5b_?Pfbao{13`l#Axnq@NRc9Z00|HZ2XX)jA;I^$duC_X
z>$Ilk>#lxP_3FJ>@Aa+w4t-B?ouNHMJ9L*)8}QA$`Qw^-r&8~QPs4Y^g^DZiT|9pg
zPQvHmarjmEdH6EC7rqG}fd7FXfQRo<>Vr_j55bew^CFb@&q02w!yiMGhaZDEl=Z&@
z-v?iU?}0ytqQ_6*C*jZGN8#&G=6?%*3f_azN8sad8a7}Jrcm^`1`orZL58SbLs{=8
zly!a&?}N9X$o~_H9(N-o{fD8f^Dvb47vaP3D^TqEbtv;*gJRF?6>mV<=c`cGc@2u)
zeg_Z1TUGy`EB*t@y8nh^uR{!yecumdf2W|VvkdQt8&!V?PVsydivBM{(c_o!Z}27*
z`5O~Ty&wJtiXN{+S?4eC5%@1Cb~?h~^Kc5v^Vi@J_+5A$z5+FT1AYSj7aoO2P+siR
zfS6E46=QgU=M3^wKjKgH{AtAj6!||uk^3Y3FuWHfAB2y<$KV+#_GrPU;WwbfQ3n=UGUX
zItTfw3)OQAN?hhp;^bQp)2JUpS?3kV*3_>m{uatU-+(gzTTt|W0OdsPF(~_f63RLJ
zGJFPJh2oE!P}ch^d
z>2oHIZP+gEmzq8)ZkAngxwu)eTdEPP-uAgpb8a%PBOBX{yN*k>%WU`TZ4$wzHY){E
z+svF#wC@SheX=s`mPwHHx*UWyn!%Y%+G)91%j9vU`zFrqzTs!p7fkbVJNP__bR)}5
zv(vRnHr_iIyWaToYH)3rjQ6bh)QM{2ee1So&7OHS+!d?lOwzQmnv1OoYTlNLjg&?I
z%m*9Q)x1m1#n?t_A#&Nsz{Nvh*oCBe9fA*ftK(v;Q`2Y5*v#r?$0Ti=*42W%pVf=b
z#*to{*LbHDyJj|evy@;K7wOA(`?kKsqpa@R;99O}WQVtjWHxk}chtYh;_RY_pRC5Y
ziO;kV%d^BY8>=g$m!lD1!hex31Usg0b&nZcnu^0EP(1rFqV9`5A2NMR&-<+;_9jy0
zo@9ZRcyCfIbwxxiqiL2$RxSIaUEZxQk;#lUedA&=TwT$Ho`gkO4ws&cu!#va%)aV-
z>70
zFqBF1?nN8wYTb5y-&WAYDJ#2l5fAHfTzD&orV+>0-9~wG)CPu?KfxwbZi0OwcSY=;?-l+L$2Lt;L;y)b
zY*kldouSy#SbyREJSkQmM(~tGb&)&5uxnDK9ls@h8J%*K_wX;V4F!29u<*;WQRK
zNjo=fTidjzJN7)QTjBY|^@(Sfo?X~oYr6i##GEHe5~kViF=b|7%ue)Twav9sjmYD6#iD0i7c&6W#Yd!^R*d8+w~y$f1$N#5%P*R|oS8hksm
zX(^BnenH0t#70AcL5l1f20Jbx3v$v^bjoDD*rvM2;ph&oXN0(9fBN_%9|(A-qrnbI
zFgswGr7kAd(Xo)eko(gn1UI-IYz;dmYT0!u8>wup>0^(9Bwxe_%9i<>nJ~hE0>kuu
zhqcxRJH5dUIYpMZ<0SK9h9Ya-QKXS17%r%VR?9TuG8@2b?U;QQh8h|}6Fr(G2Ro9Z
zGLs`kewgQ>L|$JsFyGhlh3ar>idwb_f%cRgF?uih!6KI~5jVOltDJ
zZJU6u91PB2G)nO-Bw-N~Y0;xp3`EFq-CmKfnTEp@qZqZJOzRx#a{gI;VX(7XDrDd#
zn<3`P5;G#uEFuXz!UzOQT15KjMNv+Q$}%=Hu}RTk2wCGwF(#IW
zoP$h7EnO%Rwpyf!90O8~&9J)gcua2&cG#aJ^)^15ldZFZj4y<~RE}Yp;oSj+W(_69
zrann<68BC@p<^6oZRE{7k&Q{&k(#!GaZ;8mvos^rYF?I|L{};gcBl(fnwIJNFjXoN
zIlTuaHZW%;qGx?pq1r`Q$zOG+y<)o_Hjn-e!cR
zD&cEC5?Qwyxj#^L3R0hn?6Z)>md^)CC`JBR-;*TNCi!b$;!t}n&15^Pd-I89}=aRg13WFx*dk_=m7^L>IbRd?`%OA?^HoK2OVbn5@ux2v51
literal 0
HcmV?d00001
diff --git a/languages/fr_FR.po b/languages/fr_FR.po
new file mode 100644
index 0000000..4c5337c
--- /dev/null
+++ b/languages/fr_FR.po
@@ -0,0 +1,667 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: fr_FR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Erreur lors de la sauvegarde des modifications."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Les réglages ont été importés."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Les réglages par défaut ont été restaurés."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Options enregistrées."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr ""
+"Vous avez des changements non enregistrés, enregistrer vos modifications!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "afficher toutes les options"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Recherche..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Enregistrer"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Enregistrement..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Réinitialiser la Section"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Êtes-vous sûr?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Tout réinitialiser"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr ""
+"Voulez-vous vraiment réinitialiser tous les paramètres sur leur valeur par "
+"défaut?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Pas de données disponibles."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "màj de publication"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Annuler"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Êtes-vous sûr?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Por favor, introduce %s o más caracteres"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Recherche..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Aucun résultat."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Oups! Non autorisé."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Champ introuvable!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Ajouter produit"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Erreur: Vérification de jeton invalide."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Non sélectionné"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Position d’arrière-plan"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Répétition de l’arrière-plan"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Image d’arrière-plan"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Dimension de l’arrière-plan"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Origine de l’arrière-plan"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Limites de coloration l’arrière-plan"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Importer"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Exporter & Télécharger"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Ajouter une Gallerie"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Editer la Galerie"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Effacer"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Conflit d'ID de champ."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Confirmez-vous vouloir le supprimer?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Vous ne pouvez pas en ajouter davantage."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Vous ne pouvez plus en supprimer."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Ajouter Icône"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Retirer Icône"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Ajout de lien"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Lien d’édition"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Enlever le lien"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Latitude"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Longitude"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Téléverser"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Retirer"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Activé"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Désactivée"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Erreur: Clé non valide."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Erreur: La réponse n’est pas une réponse JSON valide."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Erreur: ID du terme non valide."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Erreur: Vous n’avez pas l’autorisation d’effectuer cela."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Veuillez saisir une adresse de messagerie valide."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Veuillez saisir un numéro valide."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Champ obligatoire."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Veuillez saisir une adresse valide."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Ajouter le code court"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Sélectionner un code court"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Insertion de code court"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Placez le code court ici..."
diff --git a/languages/hi_IN.mo b/languages/hi_IN.mo
new file mode 100644
index 0000000000000000000000000000000000000000..c212101a321ac9692d12134ab184cf563d52b610
GIT binary patch
literal 5840
zcmd6pTWlOx9ma^1wrRfEN%?{JwK$*Xxa)
zz#AivznOE+|MvaAb7n8CT5-tXdXW2L+$)wj&KUUia{h6xf2ZTT8@wO9791{c3-~VH
zzXbM!PlC6Dd%=gmli+*6x54*={|4U+uDr%^ZUkNMec-y{eG{np$3gy_N&aEtMBqoj
zCaCy70<#P;N3H}1a
z#Q8O-co#v%`2)BLyaa0f-$CWEoJAU62`bKNQ1Lf`tHG~=;`Q60{2l|v=UjoWfvWRY
zpyK=n6mP!=SAds_@wW>68>qPd1jW}1j8ykcpz6CDRGd-pCUC46p9I(NJ_9QMlc4f=
z1N@Sy^e0_O_+BUomB70KNW4uTJWb?_eWMNqu|3A_Wm
zks`&@V1YZqI`2*Jv*26cz2NmXIL@8m5U4s+@QdJ2z!5M9?+0j0vy`4uQV|zX7hK
zsow;D2rBLk6n`7|5J)Oc07{=z;D^8;fH#9JQ1LHu
z>4A2eYd!zV+{!`yUdG+NiX+76Mq1XT+*K#-HTzba-@+|UTy9+i9+)*8ic#e!xn$q8H{~*Ptm*D5X%zd_va>Nryj?ZF>I_$dv_r6YF~kms#dI7;u{%8()O`g%f^Kc7`=S;BE^1TGbud=+d3>T2M(lGb16i1XXvpzvr^CFd|uZ%8!Hb
zpyH{*%a){mT*q%`dUv_H5MLPEx}`JOv3P?1RU@--(wp+#1|EYX
zQNtyahBJsBCqP$niODM-RpNo>RRHAl4;tk`p#$+PS~d{IPy}@
z^`^X_CgREtL*$7p5^JuJ6xq}e8?K
zX0>SsYqjEO%Ud6dg#XAJRGCg-0z!^NIKNGf=&y@!%!r9y_|&01}b8yJ=~
zzeBrs+$f8O*#CMnFxq{zVfv%SR=m(CfI~uDm7T7^*i_UtZra}rP4u>c*GSdo?1vbDU}-4uIue>#eHyX(s9
z%4_?!Z7ps0rvj}iZN$ZZ+c)YZX=z97g-Ok0H=2=fqUlZer5(Ok?|L6_Cxa(Pw)AZt
z**rWSYi;??zM%+}gt*z$z-8(`mEO^)c|rJqQ439au$hjR*3Yj~xN$!&4TqJeN-_5fV
zEW?0+XU&WazAw)*CdlEy20Z?s8=c5o-^#PsP5wX6vy*v?{7+F7C7gq1!#phzpHy?D
z<+f591tBM{zE<>q53Y>w6YYl#^Z(BFJ9&0SIV!alJ-dq4tP#t3$tb&!X9x3a?^P@i
ziiAL;^@JhoF~$)QXPIFbO-hW+Ko)CWLX5pL2oy#%leZ}NRbzjYRpgHGQ8NwEmgRHC
zy!8wK*?Wz`h(gHuQZ*%?(iutcBvIzA%xMeKHq>^6oVCKPollr>3-%R@71TBz|5P*E
z9YvP-C!XDL>Ys?Y+(sL(;06O6UNH|s*$mGZIw=$l$OVRMA{aVi#IfHFp-q)yWkXId
zWEeEX_l^#*(h@(@CjJ;hw3O11+4IB}{L^-Dm=leQc|vhShnG3i56h?$pm`i5GfP<#
zaS>C7x;y%c&4!BbrjteLFi_-TTCBzs{eQ?1a_|YOr*Jl3_|iU59jj@Hwqj53Y`f1G
z3LN{CPlnYuD2evo))o@JDC1Z|%+LnLf_~
zVyv^tU*Ki7&HfQyXdkVB5}l?Cy_w@$)+DlE`>|x?qpfv{<%X3N3
zG}`{qkWZ>YNovOu8DG)0J;!FSwnxo#riX^6cC+nAlWO)`PcU!#-Bw=j&l)~s(uc|3
z(k0dKeNmLor159ygxDE-qG0HlMEKHcv19}+SYU=tGg#U?V?SD$Ay~w#9|g8Rb5OVY
z*EM8#qXnXmHj&*0{VLBhctF8N7QC=VInCKajp~Lj-
GsPi9=Y+d;P
literal 0
HcmV?d00001
diff --git a/languages/hi_IN.po b/languages/hi_IN.po
new file mode 100644
index 0000000..69df1f0
--- /dev/null
+++ b/languages/hi_IN.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: hi_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "परिवर्तन सहेजते समय त्रुटि।"
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "सेटिंग्स सफलतापूर्वक आयात की गईं।"
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "डिफ़ॉल्ट सेटिंग्स को पुनर्स्थापित किया।"
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "सेटिंग्स सहेजा गया।"
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "आपके बदलाव सहेजे नहीं गए हैं, बदलाव को सहेजें!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "सभी विकल्प दिखाएं"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "खोज..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "सहेजें"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "सहेजा जा रहा..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "रीसेट सेक्शन"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "क्या आप निश्चिंत है?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "सभी को रीसेट करे"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "रीसेट"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "क्या आप निश्चिंत है?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "डाटा अनुपलब्ध"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "अपडेट पोस्ट"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "रद्द करें"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "क्या आप निश्चिंत है?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "कृपया %s या अधिक वर्ण दर्ज करें"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "खोज कर..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "कोई परिणाम नही मिला।"
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "उफ़! अनुमति नहीं हैं।"
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "मैदान नहीं मिला!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "नया जोड़ें"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "त्रुटि: अमान्य अस्थायी रूप से सत्यापन।"
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "नहीं चुने गए"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "पृष्ठभूमि की अवस्था"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "पृष्ठभूमि दोहराएँ"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "पृष्ठभूमि संलग्न"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "पृष्ठभूमि का आकार"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "पृष्ठभूमि की उत्पत्ति"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "पृष्ठभूमि क्लिप"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "आयात"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "निर्यात ও डाउनलोड"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "गैलरी में जोड़ें"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "गैलरी को संपादित करे"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "साफ़ करें"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "त्रुटि: फ़ील्ड आईडी संघर्ष।"
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "क्या आप निश्चिंत है?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "आप अधिक नहीं जोड़ सकते।"
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "आप अधिक नहीं निकाल सकते।"
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "चिह्न जोड़ें"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "चिह्न हटाएं"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "कड़ी जोडें"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "कड़ी का संपादन करे"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "कड़ी हटायें"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "अक्षांश"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "देशान्तर"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "अपलोड"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "अपलोड"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "सक्रिय करें"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "निष्क्रिय करें"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "त्रुटि: अमान्य कुंजी।"
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "त्रुटि: प्रतिक्रिया वैध JSON प्रतिक्रिया नहीं है।"
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "त्रुटि: अमान्य टर्म आईडी।"
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "त्रुटि: आपके पास यह कार्य करने कि अनुमति नहीं है।"
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "कृपया एक मान्य ईमेल पता दर्ज करें।"
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "कृपया एक सही संख्या डालिये।"
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "यह फील्ड अपेक्षित है।"
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "कृपया एक मान्य यूआरएल दर्ज कीजिए।"
+
+#~ msgid "Add Shortcode"
+#~ msgstr "शॉर्टकोड जोड़ें"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "एक शोर्ट का चयन करें"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "शॉर्टकोड डालें"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "यहां शोर्टकोड लिखें..."
diff --git a/languages/id_ID.mo b/languages/id_ID.mo
new file mode 100644
index 0000000000000000000000000000000000000000..8af880e886d99053b1e7a9e01969f781f5d6da10
GIT binary patch
literal 4048
zcma)-OKc=Z8GsA2Bw!xdya`dY%5XZ~18b5Yp*1KywHY689dAdAZ+uhYe
zKkPW-KqNRJq+B>eLPC*HK#?LLB|?ZC5(&s98~}0PfEFPxkqAg2Bq9zG-(TG`p0#tJ
z<(jYiugCwa-&b!w_I<^3hH(eu*gKW#!#A$uhiCp>O1&381m6u;T3&)T@cmUd3m=2`
z!YAPu;q&nQ@C|qy{4cx_9=~3xo1libz*Ft_IVkgwK>k$B4_j0YKLTqg`k#XDgHOZv
zz-OV@@l*H-_;dJS_(v$`{|nv;uV>Ni@E$k^d$0pbDE2%9kHZ%rThy{|Uv8>sTc6<52Y61x5ckco+OSl(>Ey%DK-#iRVvRz6iz7SD@&56-wNG3y;C8
zt^BVo{|-g(f1t$c7@NfJTcP;(02DoI@K)Gwg{1Db#VoL5Pkv9+Z6j5X!n|A*H2WfO5`DP|kf7N*(@X7@ELdq{4_idAA%$JA^04W
zbAJin0Uu;YeTwaf!oyKP$NlhQjVR=Fu6-B3#g_3Sc8Cx1%rm+S=^v*Vw2#Ttwh;9I
z5~*c*#5TzjVGDkWjdwG|2hEV@1Y?0Ab#am*kND7GNbWz+p#0T+49TJ7NpdXyOASkY
ztnsfT@39FWjAJ|karPdT`**1nvjK%&cFKpCR%dRxrsg2Z1
z{6>svy02b%<4gG{Lq$NwIcHi`kb?Aq*s?U+1W|mpqk9A
zdcxu&o!I>&GM{6t-nE6>aRVbB9$8Y^BIDeNd=uq(F(OY^lU$!y+DPP4@umLdOOwgT
zjz`H~l!t|}*|mDaiLNXq;Zi6${unX$@ljq>`fk0P@A))0k!pMr1v`?xS+$zU619e<
zRUKKimiuAzc8P;bWwhBfE|tJ_6(a1UEXroPNGi%ErPv7j<$P4mY7tRQ`JSX?ot)tm
z)nN;LqSVAaBUuvb!mz0*uU#^BduwCu(B|=s%`iusD8dqQb&Z1Y8eeDIw&u<}EBbh};Er}zf(!P`XK-Wdu>9PW?rP+1QK
zSh!QC>ArR$$}+zxw|6I07B7YUM(slFZjC~IB(VeILj}+zBvxHDB`ktRQ}U4h+6V39
z3O*@S9ePJG7R{&Q*5i=FGHJ7=JG}ea!#K65Q#o}j31%HScM&zIx{#Oj
z29&Gy0|%nE8%J(br%vK3ZI~WtlFIGK;&CsQScmsEy31~|giM%s@Z|8;notXkFteFUUE;KRf^65msuTPmQ#BFbe|3$ng#KR8inn}J$7&Hv
z<=;*)m;$9RSlYH@b>0*-htzq>aM*rr*H`L7ZH5ifHz{kQWqxQ<+6sP8j?pm=(<4V_
zR1>_(o)JdIYD=1QBa56E9Fo>20Ag%r$~uu3nsq{tPNZ>@|5~SZo83p&(W$u+_!7c?
zF^~Bl6b|7G@|uy^re#kp8td>m4X)YUrlik>NgP4<>S3%en|rxfi-NXrdR!gdlxx$v
z`*N$)fmkn^q2qvlC?j=oTu{=xmx!zo;h=q;s^*HE#l*1;JNf5wQ0QEdCaT0tnt7M|
zkmeZ|+!5{qOPMHLS8Yi~Vl`DA5s9dzt|zT0gi>!CPb=xZ?b2Z!yg#&%<}#((JQgpM_<*hT71C5dgC5bcOi%Y^hdC;tW1{{VG03_<_^
literal 0
HcmV?d00001
diff --git a/languages/id_ID.po b/languages/id_ID.po
new file mode 100644
index 0000000..46381ad
--- /dev/null
+++ b/languages/id_ID.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: id_ID\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Galat ketika menyimpan perubahan."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Pengaturan berhasil diimpor."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Pengaturan default dipulihkan."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Pengaturan telah disimpan."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Ada perubahan yang belum disimpan, simpan perubahan Anda!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "perlihatkan semua seting"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Cari..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Simpan"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Menyimpan..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Atur ulang Bagian"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Apakah Anda yakin?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Reset Semua"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Atur ulang"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Apakah Anda yakin ingin mereset semua pengaturan ke nilai asal?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Tidak tersedia tanggal."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "perbarui pos"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Batal"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Apakah Anda yakin?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Silakan masukkan %s karakter atau lebih"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Mencari..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Tak ditemukan hasil apapun."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Ups! Tidak diizinkan."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Bidang tidak ditemukan!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Tambah baru"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Eror: Verifikasi nonce tidak valid."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Tidak terpilih"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Posisi Latar belakang"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Latar belakang berulang"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Lampiran Latar belakang"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Ukuran latar belakang"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Asal latar belakang"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Klip latar belakang"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Impor"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Ekspor & Unduh"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Tambahkan Galeri"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Edit Galeri"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Kosongkan"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Eror: Konflik ID lapangan."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Apakah Anda yakin?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Anda tidak dapat menambahkan lebih banyak."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Anda tidak dapat menghapus lebih banyak."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Tambah Ikon"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Hapus Ikon"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Tambah Tautan"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Edit Tautan"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Buang Tautan"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Garis lintang"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Garis bujur"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Unggah"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Singkirkan"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Diaktifkan"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Dinonaktifkan"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Eror: Kunci tidak sah."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Eror: Berkas JSON tidak sah"
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Eror: ID istilah tidak sah."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Eror: Anda tidak memiliki izin untuk melakukan itu."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Mohon masukan alamat email yang sah."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Masukkan nomor yang valid."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Kolom ini harus diisi."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Silakan masukkan URL yang sah."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Tambahkan Shortcode"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Pilih Shortcode"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Masukkan Shortcode"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Tulis shortcode di sini..."
diff --git a/languages/it_IT.mo b/languages/it_IT.mo
new file mode 100644
index 0000000000000000000000000000000000000000..774dc25bd89813c6e7883bb3d8f6d1f8ae9d3ead
GIT binary patch
literal 4111
zcmZveO>87b6~`;dvVehPS&~5bEE9GiWM>kaKpcl<<@h6b@p_HNfgmA;a(B&4#XVh<
z>h5uDE+BCN4oD~mBqX#K5)O$X$RThDNI?-&E=UlO(+VjU4go1S1PKYj?^XAVXFpo5
z`E`B2dhgZ0efi|Erxedw%Eu|kZd9rR-@J(*o`rWQ^*;Cjd=Ff0xC!4){hM$WJ_hfG
z--lm;&%zJDH{osYKkycK;Dgc^Pb&NuZnDE*H@{#2hIrYH|T3M(l4{{+4t{tUhs
z{t}8E&%;l_7vUZ7btvn<4L=Q!Gw8$cE;t95U<(#d?70L_z~4Zos6Rs4?^P)K{1u*r
zm!XV*3yK{#F-Y1^K-uR`DEqI$JK=Yr`1J=+*1ZJ9pU*UW0m?c50A-(7p!n_2@EE+@
zw7=2tpHTMwHxz#zW0IWvRw(DY56V6p@K)Gq+WYVf_3uHk|5+$@{2u-TzS^|EFr(DX
z)L(&O$7@af4JiA(4duKinfwqu1*P7Ha_;X!@%vLy_Wu>U9liuV0$+n-=f5B>RL41t
z@Md@#-VXUwXZaC3&qJ}}+Yl4g@2AMQK1rb|K5P-!xEIRW@`#V-;#uP{d#28}XC)P~!f1il)eOin2(Nc%PxjBR*_VL~Fi85g*+{5#Nd5
zzd-pMMeeZVhvb6zOCIr)HC0yXk;y81)%0`fA(QO&g0J#aFO{W9`U9Jn
z)2+*y8&20R2G?`>bjy}6oR~JdJ|OVf^w^8CgAKMOPFOa7h%;d5oC*J8aOW3XR_f1WSA!43k1}<&g2QAKBixYVx?p4lqZXG{q8Pb;SnbF?luE
zwV|!H?ZA(0108Q!-K1kaY|C|_S1!#`mNjpk`sSz(j+GzMqup++4#}7FkKQKD&7C2U
z`?EM9_rqH-~J9~s8@NMI9_#|%Iu#8+)K)fnQ5
zrrKlpt32*L&fqhW)loabxM@}ueZMbpncQ+!4T&$gWe+|1U+*0vov8P!^0iA6oLVT!V~6HH!YhT9lh@?K?nwzXr;
zV5+`|c0IPfGjn16!s^jpbM1R)mOWXLv&_MeB}@BcdCxF2E`Km)3qd+tmEG3D(Ky+z
zYeQ=_Pkc%|7WKleD`y^UJ#2FuYCE>P6)~7=FSPH+bhXs$xr!8Tn)7MLRYV?8GbNM;+s&FZ4po1F*S0J#A
z)MZuTdh|y!11BHiOQ#KMn#?nJNK)9Y%aO?IuDZr;_uA_s@gZ0-L>FD3r(W%tUgqM*
zBBQ%*tJT-a7v!i>1X#Acs(ITDZF#+p6^F=6%&(fTl;`BQQCn5!io``lnVjh897x>6
z0VPQt#oA@ABu?rA@e{c`ipr#=4#VzvWYlJ>b4wzdY=l4&q58O%YY~^}vwS^Hl3296
zL={EI4c?yW>pQt8D0VHj=BSHHP#aXs`Spgd9{waxkzRZ<88WrOhT+iYI_`-5FF&KJ
ze5x&qd(`=SYQTsfqy`+tVZ7lft*i=kg=OY%-
zw5axa=wALUZs#)MCvqcpk|p>-qw%%hr)Sab^3(-)c<6Pl_0d6-G0kKo-f|1aecNup
z1$C-n)Os_iHEQ47wIE*v%=K__aP%(MAr|is
zE00XnqGWNh$p}sznAjDfA8e3IO5Wi8w)!f`BsYKRe#As+Oq8z$=M^z3tEn-wYQS-V
TxxQAZc<%z)Y(nW0pLz9v-F`2C
literal 0
HcmV?d00001
diff --git a/languages/it_IT.po b/languages/it_IT.po
new file mode 100644
index 0000000..0fcca3f
--- /dev/null
+++ b/languages/it_IT.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: it_IT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Errore nel salvataggio delle modifiche."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Impostazioni importate con successo."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Impostazioni predefinite ripristinate."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Impostazioni salvate."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Hai delle modifiche non salvate, salva le tue modifiche!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "mostra tutte le impostazioni"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Cerca..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Salva"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Salvataggio in corso..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Resetta Sezione"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Apakah Anda yakin?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Resetta Tutto"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Reimpostare"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Desideri ripristinare tutte le impostazioni ai valori predefiniti?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Nessun dato disponibile."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "aggiorna articolo"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Annulla"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Apakah Anda yakin?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Inserire %s o più caratteri"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Sto cercando..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Nessun risultato trovato."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Oops! Non permesso."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Campo non trovato!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Aggiungi nuovo"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Errore: Verifica nonce non valida."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Non selezionato"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Posizione dello sfondo"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Ripetizione dello sfondo"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Fisso o scorrevole sfondo"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Dimensione dello sfondo"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Origine dello sfondo"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Taglio dello sfondo"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Importa"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Esporta & Scarica"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Aggiungi Galleria"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Modifica Galleria"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Pulisci"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Errore: Conflitto ID campo."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Sei sicuro di voler cancellare?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Non puoi aggiungere altro."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Non puoi rimuoverne di più."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Aggiungi Icona"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Rimuovi Icona"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Aggiungi Link"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Modifica Link"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Rimuovi Link"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Latitudine"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Longitudine"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Carica"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Rimuovi"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Disabilitato"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Errore: Chiave non valida."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Errore: La risposta non è una risposta JSON valida."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Errore: ID del termine non valido."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Errore: Non hai i permessi per fare questo."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Inserire un indirizzo email valido."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Inserisci un numero valido."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Questo campo è obbligatorio."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Inserisci un URL valido."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Aggiungi Shortcode"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Seleziona uno shortcode"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Inserisci Shortcode"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Scrivi qui lo shortcode..."
diff --git a/languages/ja.mo b/languages/ja.mo
new file mode 100644
index 0000000000000000000000000000000000000000..ec17767b04133f8f4f606316bb18c126e13ef9f1
GIT binary patch
literal 4520
zcma)-TWlOx8OIMalwt^^7w!~}8(LbL-NtF4u1g8Vm&%bF8#|%l2`0P8-f6}&%gn4@
zBOW|ENgF$k66NmNPU6&cH*vj5m6SM6-36&Cg1+#8MByPqI^JEoDi4K+N<8uZ&djdY
zc2Y6&_&4V}m+yY|<~{39Fg#D={TAMJpJuER{O}I^!&Cbi#y$@|3El-Zh1>yt7USo@
zYVeofqo4==7@PsugCBxl2LB6w3EXfeV|RlbycgUOj+;T6-wooACGZbhm<4_VOo62T
z2>1nX1pFL01(F??!S8^x;Mc+TK|256-~-^DSoBr!5wHfV2P2>Zl06gP2Ji}qE$khT
z^t}g?p1*?kfHy%}{}D)b+<`?T-vE-HjUef71~-Dg0x7QhKst8|xg7<-)p*#U@!gv5A`)5G1BM0We
z_rR}#Z&U^O`ZGv={Szd8{{hJl+C;n`YzFJXu?JF~&w#Y=YREr=WamG^`42)l9ZK?h
zL8xXM!S92SP`(=^dlDd>=YizcaqvgrDEI{UK1gxifS_@3D@fyA;C8Sdd4Wxa;Ae}b{Qat_u
zlKp=JVJiC|lz$9<8{_pTI$FO8r1{4|()W{ayd9)<&w-@BH{=47V%$2NoalK>B$U8BANKal?NL-|J<)l-ZAQM`12
zP@Hjnl%MblVOt@gTBheoyp$iLL-j4?_#wQMdybc$2l0{*6bFhiJro;?FXiNicv1fB
zF}&0}=}MJkdjaLC+5YsC$BXXbWD1Nj;B*T#ZK|pgv>u
z@i>1*GYnz(tM8VWWvY)>-Q24_c8ES!ZwuaUrMQ#Ahimb;FocV*gzj+N6+PS5tgwY6
z++cwtVy)pCpDQUMHolL8gb%>@UCS2nC~MRmZI2=1tSPR$`2<~XTa2YWZJeJVR
zZs9~(6V2E0W?dL@-qOgCoi0OF3KQ+
zohS<@*iI4`Wn-Y&5cW1J=~QzPp_;5dN=Z9%2B%OR!sZV;9C7bKvMAQJhE2A!a!JYU
zT^+5fHkW2Z56t0OJPu2cs}%}LYs^&79$`mWhv>0-MF_6CED&*34;|Dln5CwvH;nMB
zGw2-FiNMl7lt(lgWt}L#SYr9BEDn1Hg+vZ_mU_rZ#bU6qD`gn{Tvt)1`JL3gU8=J1
zVT)ggX9chV2evYJ|km`7Y6-R4nHgC4I9?@snd-;~=mS{~?dt0PK
z^y;)K(ugDKcvY+BxRITjx?DuD~@E;@!CDQTeUm#j4*{A
z7}0JCx(RBcwb3VFHYlvZJU
zX<1Y_d3kZ_a5!HWdp$pYOnTG#!J(y*N$H)E-rLd}k>0^=Y!&eRiqhv<;naC@v+S=ooPYa5e!nlh6EcnPAaDrZSvinq#eEa`q3ikKlZ9D0
zpTi+5)0RG3yp~xSeUT|2RD!&0C@PE%VlT^24i-kQBB%?w@%+qb3RwE!(#xY1+H^)$
z0Mb8P9GNQ~KU>O8Nq>1o9hW|=gFh5I=?}Iv(x&O(<&TuILitcRhuszX0vDu*fU3v`
zIlIjo^^;MU99zu16}`L}@nj2)Rf{4Qwrw&RFb$+nYoND+rsW!rBI*k>tUCPf*vErMI=n0X_A7?BF95)B$8nBv9o0|v7f
zZoIlMiw)Vr$(Qmor>JxHznULHZQ*2WI4r$$wBOsumXm@XG)_UyoW|m{D=8I0=~B)3
z6Jf>STJi_ORNh{V+FVM1@x;aa;cK5@6s-;}EX2Fw+Vip{DcuZVS5=5g*Ab$H8%|wb
zbYFy*6wbP#Zpv%Ye@$&aO5ItW4*HM^(`
zvZjkwIj^a`OZnXXrE_Rsb&INILXhbqtSDG)O%Dfo4(|Hk0#O~3QH_M%hgLRH#h%jd
z0bM$uw5Kq3vE*Ymys=g^+K3$RZh4cTRmw>y->B5G)FG@ebfTEap#*RR;s=ZU4@(5W
A%K!iX
literal 0
HcmV?d00001
diff --git a/languages/ja.po b/languages/ja.po
new file mode 100644
index 0000000..537c947
--- /dev/null
+++ b/languages/ja.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "変更を保存する際にエラーが発生しました。"
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "設定をインポートしました。"
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "既定の設定が復元されました。"
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "設定を保存しました。"
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "未保存の変更があります、変更を保存する!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "すべての設定を表示"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "検索..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "保存"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "保存中..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "セクションをリセット"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "本当に実行しますか?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "すべてリセット"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "リセット"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "すべての設定を初期値にリセットしても良いですか?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "表示できるデータがありません。"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "投稿を更新"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "キャンセル"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "本当に実行しますか?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "%s つ以上の文字を入力してください"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "検索中..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "見つかりませんでした。"
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "おっと。許可されていません"
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "フィールドが見つかりません!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "新規追加"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "エラー: 無効なnonce検証."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "非選択"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "背景の位置"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "背景の繰り返し"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "背景スクロール"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "背景のサイズ"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "背景オリジン"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "背景クリップ"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "インポート"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "エクスポート & ダウンロード"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "ギャラリーの追加"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "ギャラリーを編集"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "クリア"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "エラー: フィールドIDが競合しています。"
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "本当に削除しますか?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "これ以上追加することはできません。"
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "これ以上削除することはできません。"
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "アイコンを追加"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "アイコンの削除"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "リンクを追加"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "リンクの編集"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "リンクの削除"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "緯度"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "経度"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "アップロード"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "削除"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "有効"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "無効化済み"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "エラー: 無効なキーです。"
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "エラー: 返答が正しい JSON レスポンスではありません。"
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "エラー: 無効なターム ID。"
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "エラー: この操作を行う権限がありません。"
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "有効なメールアドレスを入力してください。"
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "正しい番号を入力してください。"
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "このフィールドは必須です。"
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "正しい URL を記入してください。"
+
+#~ msgid "Add Shortcode"
+#~ msgstr "ショートコードの追加"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "ショートコードを選択"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "ショートコードを挿入"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "ショートコードをここに入力..."
diff --git a/languages/ko_KR.mo b/languages/ko_KR.mo
new file mode 100644
index 0000000000000000000000000000000000000000..8427d17dbf8ecf785abdbe74387d50476521a168
GIT binary patch
literal 4185
zcmZ{lUvL{o9mkh8lwt~m((t#X>z0IuSZWhenz)pVahzgs6OWzJ@tYx{_FC+<#m
z(+5Vfl;FfJaj1>|ASFt1VkfnWYCEYsO@LtvJam}h0hm68VMLgq+j}T49eCpV+dKVn
z5_Y`$-0uGNx4(b8zIN}1Nrv_m`u*q|?qIAJly~9>ZPy1G`v|xjyc_HYxF7rw#?OJx
z;0xe3Fb#ekTmnA|N^leSU-0AL#=98%1jxZpf;)ooK9JU*2l2-S@PjSP1V0BRK{|gN
zya${CKMbA+$&MoUAXoxF3%(1I{(plHfpKpP}`&Vn1k6%bq4+aR6y
z4oK(x8N3&~29o@HAlY#zglK*vNas8Z()s(qhr#cI6xS?Bde4Fs&xL@iAo=+lkk0u%
zNOAiUxBzlB7AI4ii+7|~&{zn1F0?r2O3&D6T82A?*kyoZ3C%R9|uX^2C2TrK#Iew;8yUr;4V-G+zch3$M}07
z<>Ms~OKb`xJLUqu22#B(gA~s{f>cM>LCWucz%AhYAM@+J9SmbEz(>Fdkn~*z$^N%N
zY+-)^$^LRcFIaycBs=a#GKrf&l6xo^w}1~|yc_%i_#B8WY!IZnI|_1e8vGKt2KIn|
z2g&Z8FoNv(CVoBuK7mg4NxC4S8tEgSA48|JsF7~EC)6muNPDeO{E#NqD8^xQ%E^=H
zcs^<^ctY4t%up>;+l@|jL@~h?QaPk}ei@ykQ`?N*icWE8L8nHs38B+l^Hp?|KYJ9N
z?hfVkE9ew|@|EI1x%whHHOj}Q(7#3lG`bhm9`~W*M76U6o$dxTs-fGpZJ4CGU~SPT
ze_D&hgmpxHcScM@eRS!@VfC?J46!y#@FQlD+ev&lCXb4kaPT#t+gx`xk-3Ex>A^0^4B(%a&zYd}u(A32tkHa2YWZJTjme
z{lX5j4q9*J`*abD^3J^++3Abv5vR7&X&@|mlphvHZkaPo7|RERrT6I(jXbAC;!XJ&y
zeKBEL4&TD}nnOm+)S}Gyi4N$a>@~B_IEk<>Sn4FBf_0fjzyGx#iZn;#+MuS#C~#qh
zDcFg!u>I{c^h
zy8UcV*G-$NDX!LaT-8GlT^Fpo
zou=nQPYXj>z8&4BpvPc)cvtudn9eH2Irq$>dw!A2%M+Diipj~W%&*F;)71%gKJBIJ
z%Sy_doUW9LOco~H`EmDbj?3XCS;%2pj^--M1$p98k(`~_
z!^-KIa(b`4J}HT#(1c7zxi7$!~ObrNrg*CG3{@6vs9w4l{Qx>&@h3_Kk+P
zdOs=2`BN+iV=(fiyqO8+uB2c#4)Z3LWIoGfAtg_rLnPf36Yk4J95Uygn?`21Tg=H!
z-uu~zA6<8JF3kMZR_;w^-B)t-ILpfy+>H!~^o
zrMfzqD|oXDl+O7Smy;*RNAGCr5qhb&s;9c9KYz*{y@WvV>YkkcM$7sFY#W_HJ*>01
z@@B~`{J63_2HOi%V-2pl!>jJfDt-}tJmF9#XID{s@Ed-m
z<&+=3;;&Q`NguZ7$C{Cflq{5BFr`lBvhK+&L&ymTFb?vvMT#%UtGZQoR+fvEl`FT-
z%WT2RFEp&x)#0s&l+2`MewtTG$nm&)?h1T9>J}*5GF!s!
zfO&r4a~vhkIcqDXZs>tES5Tm!hWD6?~T67Vd*J#tC~Tn*&hDf(AYSx(8!
z@%mRV?eA--{`EDkw9=}dNiJt58WM%lr|R)UsX@XR5`O$&Ri*Hjw8zx!DCjh
zwRO2x0xCPWe&qH4k@FpE$gjHkjrSKJJzc+_EqE9jSL?U?f`1*FnR{`;eFgQeeDqG`
R@P6WXp<+B56z7Q&`yY$3$%y~}
literal 0
HcmV?d00001
diff --git a/languages/ko_KR.po b/languages/ko_KR.po
new file mode 100644
index 0000000..f6cf5c6
--- /dev/null
+++ b/languages/ko_KR.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: ko_KR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "변경사항을 저장하는데 오류가 발생했습니다."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "설정을 가져 왔습니다."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "기본 옵션은 복원."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "설정을 저장했습니다."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "저장되지 않은 변경사항이 있습니다, 변경사항을 저장합니다!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "모든 설정표시"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "검색..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "저장하기"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "저장중..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "섹션 재설정"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "계속할까요?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "초기화"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "초기화"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "すべての設定を初期値にリセットしても良いですか?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "데이터가 없습니다."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "글 업데이트"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "취소"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "계속할까요?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "%s 이상의 글자를 입력하세요"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "검색중..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "결과가 없습니다."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "이런! 허용되지 않습니다."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "영역을 찾을 수 없음!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "추가하기"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "오류: 잘못된 nonce 확인."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "선택되지 않은"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "배경 포지션"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "배경 반복"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "배경 첨부"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "배경 사이즈"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "배경 기원"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "배경 클립"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "가져오기"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "내보내기 & 다운로드"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "갤러리 추가"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "갤러리 편집"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "지우기"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "오류: 필드 ID 충돌"
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "정말로 삭제하시겠습니까?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "더 추가 할 수 없습니다."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "더 이상 제거 할 수 없습니다."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "아이콘 추가"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "아이콘 제거"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "링크 추가"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "링크 편집"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "링크 삭제"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "위도"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "경도"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "アップロード"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "삭제"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "활성화"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "비활성"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "오류: 잘못된 키"
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "오류: 응답이 유효한 JSON 응답이 아닙니다."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "오류: 유효하지 않은 텀(term) ID."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "오류: 그렇게 할 수 있는 권한이 없습니다."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "유효한 이메일 주소를 입력하세요."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "올바른 번호를 입력해 주세요."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "필수 필드."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "유효한 URL을 입력하세요."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "단축 번호 추가"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "단축 코드 선택"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "단축코드 삽입"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "숏코드를 여기서 쓰기..."
diff --git a/languages/ne_NP.mo b/languages/ne_NP.mo
new file mode 100644
index 0000000000000000000000000000000000000000..01fdc6bdb17797e12eac48a8278b358ff5c7e76a
GIT binary patch
literal 3439
zcmb`IU2GIp6vwX!epFGxZw0+oF@AIx+87}vili;1hL)xUBPK?M-AlVNJF}UcZRr~z
zYKbAfP%&UcbQXzHASBrG0{ZNuFTQ9dK4Ez9MW0NJzjJ3lx@BQw;-u66y?4$%=YRg^
z+`GRnUp%dN+Id&-K68swtHF*%{NuR_-Ua>+-U0pv-VXi)z6joSt5QqBF7P(+HE;>I
z8N3@D0Ph6f0-pr4;Qio1@L}*%uoFBFE(3o9#m}FW`QPAj=1UhV^%SVVN5LNOY4B}O
z?DvDha|)FBM?i^t3>1D5$e+4US)Z-o51{b;5xf`t85Dn4!4B{b@G7_hr^0gyAD;u)
zR&XcS&-_pYf2ypnL?qE?Qw0O?Rpy_AJHTJSHQ-uA?FGlcgWwF90=pnDadv_)gNMKu
z!0*8c@EW)s%(N-B3%mqA0j@v203}`l
z6g|EMXTe#J)=-qA_DCJ2h7a-*-aeZDQfGOfXf=NbBrW?8Ry|M|Bb9orGM3s)|4D7-
zd7KxCY;6|F0?$3XD|w}!Qe){^$yxYUpZlr%bIEsKc>bQ5Q`n%=w=73j)Or4YnIpkK<*Gt9o4H1gbBa3u{5_
z#75~00zc3bV>#F8qBEZJMsaO)X3X(MO);(P_io+qjXQ2GtM{16>()XO@D~~sGrrn{)FfHPFD5jWkn6zJWFm^)VuwXmrbj!
zexcZ|2gR4``V)qwArd2m@nE1=6*YLL&kJEtws<&Ggcqfmcx)C^~0Pzwij&b
zJ1FuPE4t*_57i=cSUc%~pt{tqh64Xxf~NYjsW(WJ@^|YVKWmDi6X;EWlQ$E7ut#^L
zyV9L)Lt9hBW;`cWsa_{E-MVdyQw&qv0>>-5PUr`A#TzX-qb9Y@IQe<=Ztazu{zUh+IoDH_i!^=z-4ImhN}y%lk?Ww3ZT#{rEqs@UENN??KVNG&&&8(6zJCL
zcICphH&dI9XM%*skZ+_@JJajZYoV^<=xAI%97pHk=yDugh@avXhQKb(%s
z`{U?RT>dDI=2&3|R#)QaKpaiCFg#uLyT66ubX@)rlSqOJkEuA4E$k=Icb3O7JC0a|
z3yf;Kk})Y9-=LuMzj-`$?kR2pP%V$y=vj1>&NmbGY$u$OEeqV1VDLQ>JQmK$*|Gmq>R`T%9gPWu2a7X{Op(tbSZ)L%eUH(vAiCCw|FPRAA|NT;?3HDm5d*dsbR22)B70
zT}-5*5xz{$e4<;D7Ae9gSvi5W*w<8MBRpoU2q*YZYoO+t&5OIR5VoyoGlU{#GP{5~
zMwI;%>wclfN-s2KbG=vcPR^qE`@*IIN!y*a9q2D66pAw5AOt4ljaBo5+;BKs*e2EF
z@|4R#w-Bs;o6u`F)Ob#bLUf2^a1xiTjGG+yg^A;m;9TqVtF~5IZo(<~p|y3PyFZ&J
z-Q0o?`=FED(NtD8(u#@6MZ1dzql4tP#Qw}6F(;k_Ht$NBv5ir^Z|H3->c?vS&jgH#
za+KXTWQ5j9)6Uu^mHQ28Y#!3Iv>4Zt+z5C~>H?SKJmVHqYRU8f7RO~?KHSmLSgzBg
Ox-*Pwnl3w_Fe)Rv@tlIPgXhQiQ}I0wkop0MZ_o14t-{L&W!2caPgPv|RIb
z{q_3mf387;eX)!;OV=RdOy_g1MpnczX)agImn;t@xv13;74Eq<@|5Kcf*(AJK?vX
z=55kAxG@OGim_gC!Rd^cy2(m=|2FiJ_LpkRScn02t
zGXEb?^th8rB0mk~oU>5QzX;F5uRyWu*P-nDDinKur{WDL_xuHvb6$gDx8K84@Mb0d
zOU1uKIrmK{_BzEPx%WL#?)M~=b5`L!aI2E{;1vC@Lec*^6g_?pZ^73q`HhKk-`C)K
zk^iCU{|!Du|6fqO}_fyE9
z`Yk_l?jIqcr2YzJ{5BN3ya`3mJ5WN-xfcd7fTG8jAt9i0DDia-J^){Vm*7vJ%)6Vz
zMUMyI9Z+l``paCV_=ltXogarED@ER?)7889QFN;xIZy5=&kRlUlKOF;M)?>&RS8i~
zB9T~@=V_Yc1?Kekmb*PfdxWNG@;peJrHLJ;X!3}yS~RIOpQXv&AEQa`e3bSC?b9@|
z^`~eO3!kLPBk?7+_?&cjBroLoObKsi@!>g|*h-##4k($ip<%G<%^VnJK27>I^
zT-kOMTIM=kE74I9CBrBW^}t3+OEk0wIt)S`eJO7NUtnvywgeI
zc0L|iv6v-}^q$#2A+ru;_0XhoCvJyw!xK|-llIwnEZ^pEZZW`5M&n%Tavh50IpW!^
z^|kTfc*Pg-U*!D6UN|&*z>aa2iNhsO9QO%D-4_Qg&Gkci(T!~4!bp{Ok^?&8y-Bsw
zmnmu$P4gl$YSr0p`L@PJVIJym7{-YhE>MWjld#CjQJE
z*}!L9is&$@elXM6y^piR)@jJ1G&?$_zV_wK)nkk65z|K<9YztF;Hx7C)N^dn-!W;R
zHcj6RO$F_Q{jS-s#QQY%dL
z#Wd`jkxTdVx!_zdJ+ZOg+BCyhX0;aCVpdPAhFRX)PD7g|A=&69wp)Z<)7my+ztNx7
zHhF$+b>h;>rKQ8Orh~^P793Gx*=B#hmbrN`e{7J1u|4mj1t&dIc;XFC6W75`=
zZMz76%<7q)IG=c~wQQ_OOFcH6kzz0%%mh!Nx}xlon!9@2nV~aXV-;aR+8p*JG#cHt
z*c2nOs-Aw;5G}h#ADBHt8VgECju^#KE=@X$cO#P;dqLGxd#v!&4@E~-;}!DWX1Pfc
zu3<=GlNQ}_#{&Wii4Ac?M7_#G8}S~En_a(
zOz$3!9);=H%;nTM)KqiU7T6c7UZos?ty#&~7CbN2-Nl6rUv2J1t^r{ye4jixQWaZJd;<7%Q*YZUv>7uQ#=v{*g>qDfZ
zx2nN<`m=^R>~IM?bV=ll##Ctmg8AYDmvhj9hpKew6#To0ySAIE_
zOkpU;6M?#duD
zNmf#~>eQ=px+(F2)D#fNKH)GKwV&PncK~}gKLbXsmr+$y>i?IVTtnXG4I#$WNbj+1
zrJ2WWfGs5b(2s~XlH&*QuJvonF9inu^$*I=1QwNlW~7?nOFk1+l>z^N^!TKg-wCuN
zV)hFDgY&K~ty|Zq;C~FVMQt7VFGBm%8#zLV8L4E}b;~Wwa2)GDB{_vt2Oq1IYasr_>lOb1eggeJfs}6qn;!>{f$STQ`pZC`^Sz4Cf|U1aHNRK&yCCKK
z4T!778zA-fCWt?A2R8A2M?v<-K+01C`L0RuICvhUTrqeb_ydr3{TcWO_!jtO@Hm9z
zyEj1YPe9)PeelEJGa&W%f5BndMq^g-R9K&37vDhus8g-Si}EiBY!4V60n5-QwZ
zoJ6Ir`Tj4Ueh!to{VXbV^%+za>X$mBAF$B=EMF|)?8+EAg-V^W(3fsj?#CegL`?g>
zd{hO2j&j$Y_iX4I3npy2#-h%|bfjf&QyHgdBv$%5&wCYC1A?K3y5h;*!zazU)U
z#Mn^U4iO((%VRSYVy%_sCP*W(IWb`~E-%|uX^_Yr6{Pym_A}zF@>wzGInGbXb4CZg
zoS&7j&Sqe|WH2)yLM_IZEuG&m7Fq}^cXVVnji>m+8|@~mN0H;
z6RD_qT=7_AX>l+)*ztAP&$n*jmfF#>gA+|0)8KRzi}xss`&7q9i98`^Z59Sr`J#Li
zFW98@#>9M^OT+>sO;TTr1sgWY)*=p4iIQqZnShF`3k*R{xJ6uU=STv#3E*r{`;zU%
zW0FJgCY#YD%di<91@F+2JRVEvy$xeg*O9`eC_cEP|LnDug+rVBGrA3Nr1E`80$Uxp
zpuZ+e+Z#Hnixu6rJGz2&QC1E~=MO6k7tAtfrh}krHOj~l4JejBaF2SuE*fw?Z)?9b
z7_MRlj>HEy`Y{xzo(Bmx(;Daa!j5Dx-JPc@`Rx{$^^N@2+*6eP~!uh0X(zB&e&p
z7#fV+i-yLX`P0zd-uK{fdbP_PQGaMm#9KC_T?SDu(hlqk-?4EbmLt23ch~0q+T$<^
z9BE35ZX|4`
zs;O(MTD6DzQ?e60xx6rXe*XO2{#_IG2S#Tsyd=aic?U-(`l;k(Cr~DQ#CZ#hbUIBo
zYm@uyc-^LsYIC7yeb{44PHvcF^oiP|I@D1q$FkK-1{3wk`a=+1%vxV|W|#K67C9jCc$R)4eOdevYg2aoKx?
zuI{#Uq9V_tYkQvQUY1#0#7y$tn~@*I$J@DdxsIoI>v#qK4quwjn8n=(CS)M~Jxb%FB
zm59^fJK=)Js$sgnddcrt7|ZYdR8oQ4u(sS6qkBo(YC&PpVd~!B3yB$OM)`^k#BDgE
zvU`@p17Q?}JGb%8hWC2g1_``{uY$|q%XY))s1Q7+2;sg3qR%?543c=G(2;GyXW(H?
zZJUw8CkTthZ0};)yvg|4NVVW|anjxGIG^(s0iijO<)LX^+slyUacP!sAl|fCb2%OZ
zzAZ8v!0hk=7_wk`57G^p(HHRwT+H1}EpgG^m02gUnew5U%R@@bk;;+DWts5*ucht_
zfXsiB#hL285+YpFHq-xFoc5kBe`OWoZfGd`!`of{hu5x`F=+<_4c+p#krpn{Pm2;c
z{%bPYeFciNrM3sHHd|}^!CXMAs&_Fjy&Q_W)ol4`fM&R4)mgOitSoP3w(tQ_0Ba^%>S?JVIG%F{KTVtcxV
z>hAG+#Q~%!SGYuo3(_h|0!WsS5~L`XAPovgd*Kisr@iEYqHq8qMIa&Z`>MOgv+D?n
zmTP|9)%E!5d;Hti?>zRr;(CnsdD^jCl-h#t-pUWx+y|BV2s{gKhs!nB;D>nr7MzC9
zz?1NY@SE@eehj_~KL!5{?|{c|Q|c2?!%xD~_49cs@1KVJsUAN}Q67F4mQeQpG5jd}
zDf}>e35p%Rf?tHM!F%9epsfE7_$7E7gYJe8!dbWgTQG-W&sBIFz5B{=DX^P|o=qDEqt##czLr
z$Kdt4|LvN8gR<{?Q2cd_NpkMHpq%dvlzmp=U2v=J@4*?Ke*ne)11NU90sjiG)%~wd
zRqMV9#eaW-ABXSM{8!D}nJoQx*E~`4;hIZO?AwCkpAM9B4Wan?S;!I8^HA*l85IA$
z2>DaL=SS9m3(EMnp^X10)bKy>B)k`Ad>TFhzYGl&e?JGm248?*g@1-J?iP#?-UDU5
zQ#H>*T%aC@GJmzEgR=i~Q1bXE@GI~DO5Xnwo`Ube`{4r^O=_q$NSC?@#oq~(I1i!t
zrS*nbjA{LjEIz->4WL;ZXJWxs3i
z1Mm@=?G{tOZNkZ_bVNr#hX=^
zU5Ynrc26w?tM`4W^OBpw>%^wE;I8L#?F!pJcVtAcxh<*zx$P9rXW9=0`AuVG**%jn
z*6V5#)@UXdF5Atk&AO&c3q3SxX>Xc-PCafqmv)0MvqUcxh3WMAHY+B37gINwd|nT3
z*JYDE8$Nep+GO9R9awY2I$Q3FRf{I;*il&(>enIop!a$%wK_LLj*QQ&?(|HyYxA~RmiP1eyt8SdSC%x<>87qzjNhze
zxWy&yT=t}ga)kU5BKbPK!@F^JT{9$-9C)j#p}g#L
zu&`UE>ArT+%kq9(s<#_6i<@A-SGt(HPYq&xB(NQm#SB0s#8+)K(HY{2Ci-Le%Pj8R
zWblk+b<~c~bWN+g=l3Ko<0@C>fcTO-J}=Zp@ZaU!t(By8k)V)B^Lo)Il$Htld@y~x
z=ffp^x_!DmJGHUi+O$I_qgqQWF|VgqOr!C+bzwmZEaiApLm|vgW{Qu
z?WreMo?JfMYqouAYSEJ=8O!VsShBE}i-!iOaoM9WTL{u)WzlWT9gdUjx;C_yvyM-Q
z$Go1~amCcrtqV4@p|WGcTM>iV_FVfBOh;T@2fH~H0!)#bi5^K1JMp~gcFpMJ(F=Z}
zFY`mMwr!sR?buM*E9Tt)_qdSR%dtee)SpMx+`uC3x_T6yWN|9EdKQ(8CLDH&NER;C
z1GY`yWWC7+qgW!8t0Wy*A29#dHrE64%ywPo5+jL6WXoWlOwExMt>9#P8)=hTlA
zo)`~AB(?FHAcuq*ENW5;T0F*fl~hR*iFU@Xmv#x^jj~uD2^}z0#&~Q@W|s{|SCKx`
zbd!)1lPY~ZG61&;QO*7E-S)K=E-jjp1(iO+T7+S(TSEGitEpbz&MBjt0wjp>PSNZXmr~GxT8w|KyH?h#Z$1
zIn4<}rN$OHJ~ED-kz-x?=Y3aVgv}Bg?C51O5xI{V{l6zXC`Wl57fhAe
zb%jXb)P+=uxs(q78T9%0Omtq7AxBMPLQ8`A9ZK00qgR6C-C~m(7ky{+%PKVn=qn$x
zMvo*AZFTeeO7Qt=#Km!VyyR!H9H&(unGa-Y;l*(NDlw?eq)bto
M)Lp6MuKFbW7rvV`N&o-=
literal 0
HcmV?d00001
diff --git a/languages/pt_PT.po b/languages/pt_PT.po
new file mode 100644
index 0000000..7d9c1b1
--- /dev/null
+++ b/languages/pt_PT.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Erro ao guardar as alterações."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Definições importadas com sucesso."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Opções predefinidas restauradas."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Opções guardadas."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Tem alterações por guardar, guarda as suas alterações!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "mostrar todas as definições"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Pesquisar..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Guardar"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "A guardar..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Restabelecer Secção"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Tem a certeza?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Restabelecer Todos"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Repor"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Tem a certeza?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Não há dados disponíveis."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "atualização post"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Tem a certeza?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Por favor, insira %s ou mais caracteres"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Pesquisando..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Nenhum resultado encontrado."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Oops! Não permitido."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Campo não encontrado!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Adicionar novo"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Erro: Verificação nonce inválida."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Não selecionada"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Posição do fundo"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Repetir fundo"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Anexo do fundo"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Tamanho do fundo"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Origem do fundo"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Clipe de fundo"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Importar"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Exportar & Descarregar"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Adicionar Galeria"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Editar Galeria"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Limpar"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Erro: Conflito de identificação de campo."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Tem a certeza?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Você não pode adicionar mais."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Você não pode remover mais."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Adicionar Icone"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Remover Icone"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Adicionar Ligação"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Editar Ligação"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Remover Ligação"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Latitude"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Longitude"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Carregar"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Remover"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Activado"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Desactivado"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Erro: Chave inválida."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Erro: A resposta não é uma resposta JSON válida."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Erro: ID de termo inválido."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Erro: Não tem permissão para fazer isto."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Por favor, insira um endereço de email válido."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Por favor, insira um número válido."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Este campo é obrigatório."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Por favor, insira um URL válido."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Adicionar Shortcode"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Selecione um shortcode"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Inserir Shortcode"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Escreva aqui um shorcode..."
diff --git a/languages/ru_RU.mo b/languages/ru_RU.mo
new file mode 100644
index 0000000000000000000000000000000000000000..7900fa344291990af596103978e0089917d784e1
GIT binary patch
literal 5087
zcma);Pi!1l9mgMSC}1e0q5Lh-XW9lr?QNYFn!2=6NSw;WO)NWsa4M7Cu{~rxV`gXV
zCK6H{rzBO=q^gQq{0(9A$pmWdO#dyVAo2OW*T?Mt*xHyASv-?@<=t{opX=Hu`|_)*wb=RWump1%(}
z;S=y~I1L|xm*CCt9rzje9{d#Ce3LP^Knp(&x7VNdLX97S{F^a;SYjghMOcQ?{~Y`T
z{5kv>{56yvv+#CUfnR`shLZm-{3^VONuPt;U=Q2{yI~2+o(pg@yaHKb-h|Tk7L=a1
z;TCuuYW_c=?6{Fh>fa2d=ME_Sd*L1Mhfr}n2_^ReR6Jj+a~{gi-$Lp61615nxCvgb
z_y4WVe?aN|4^+H1u}FU33gzGZPin1RyYMft2X4iA$vFfSx6wLhAXChF
zsCdjm#p{ny{{FSz|8Iy(=4Lv@+u&BX4Qh`LLfLl~@^3El^G*0Bl;7{cF_^>XZ@?F!
z?EXFc5PX0pyn!9AL_Sn5N#YUH8_qe+(U&>MAl04GwF4aViCfgpO-9T$x^&`aG
zPlsw**Ml_Gg?wWRna|VYpKP@>U3bxXX_Ta^S>STj4OK(mqEY_l9-8)!;w;})2a566
zXo}IDG+o*cpQWj8bg6!IDQ>z5jjN6Aknp=pwb$-aO(=h6SD|1Z^@>G5KI-oK^HJz-
z27>U2yV>VYnO(7Ok49x%Dsz)Ww%`~2guAhzWP`*X-??E%?3er`n^5xeNf3oLnh;9s
z=1T087cw`p*&?j5EKY)Ow3I0u@yf--PI|?%zi#PaY@
zBE?47_eT?@POC1eDVkDB2FV#tQ5}A4?)2yaTv|J&;r79yfpv=;BmOw%
zSg%mP5^}XhL1Ru>9zX2IIWy#sN0WXX*6p&a%es0P(sp4~n`T$BSic+2c8(b)u==4q
za=Dxtrugz>t9Q-r`ktYX*QVJK{!Hrzwp^Q_4$omz(kg`K5NE
zQep<<=tub7-CyYb9!a5)dhPD0z}E6&yEpd6{i!HEVz=kE=XyE@_jeEZlYwS+??FVb
z?HKS%N%w)+3rj_h-ROG4(Xuz{cOUS*@s{Ua8<(FLI@s}e|KokDx_WZ=cI=L*k`OUR
zClHzVPbT+F6ulsP$W;qTdbpg7bnjT5Cv_u!+}#)EqXPNpwL1<6Nynk?NBz)`Gdl(&
zUxz_YZb$9`OgHHZX*Io^&Zcu|rFNor#->+zSWXve$7yHVj91bnmb{TJ)n+!1)~5M;
zhV^YnSye?*HC-_2^R;JeZH6bODSe~%OqZ>ls+~xyw)Rw7xuP-H5*ER^gD682~POf$m;xK?#
zr4%Rx!lvk@bJ}O9v>M{1Ytp%jvz^9JG_!EcG_$NlQ3F4-)$8Z$c@*Txr~CvEP`DM
zEGfg3?0n=Sf^wizEw%5wMhn5I;G~XPNu2v&qS|D8(Yh~>4`fN(W%j$gWX{diW;iLH#&kA|UKQ@Naw}S10TR&iDDPWdNNdN|9vRK^O{!HU>pGMi
zUIs1w)+Oqyvymdy$m)U86tdct9ViR>Dsmy?Fi)4-JZ(H)nYc!bJ3iY?n_=P#;XJJX
z$@gX{XLYP?*EoEsGrf0IlnW|Q7gI_wE3^e{e38jl*h4c+tGlE3G837mR~)sd)$V1u
z_A|j18%2LQm7w;kkh>;RYuBuv5mZO^20-unKs2`Bx>LJ$j)S5#X3l&C#J%L?0gaa=
g`(6I3Q*>R
literal 0
HcmV?d00001
diff --git a/languages/ru_RU.po b/languages/ru_RU.po
new file mode 100644
index 0000000..3a1cad6
--- /dev/null
+++ b/languages/ru_RU.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: ru_RU\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Ошибка при сохранении изменений."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Настройки успешно импортированы."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Настройки по умолчанию восстановлены."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Настройки сохранены."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "У вас есть несохраненные изменения, сохранить изменения!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "показать все настройки"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Поиск..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Сохранить"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Сохранение..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Сброс раздела"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Вы уверены?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Сбросить все"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Сбросить"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Вы уверены, что хотите сбросить все настройки до значений по умолчанию?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Данные недоступны."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "oбновить запись"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Отмена"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Вы уверены?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Пожалуйста, введите %s или более символов"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Поиск..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Результатов не найдено."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Ой! Не положено."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Поле не найдено!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Добавить новое"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Ошибка: Некорректный код верификации."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Не выбрано"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Позиция фона"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Дублирование фона"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Привязка фона"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Размер фона"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "происхождение фона"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "клип фона"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "Импорт"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Экспорт & Скачать"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Добавить галерею"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Редактировать галерею"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Сброс"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Ошибка: Конфликт идентификатора поля."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Вы уверены, что хотите удалить?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Вы не можете добавить больше."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Вы не можете удалить больше."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "Добавить иконку"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "Удалить иконку"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Добавить ссылку"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Изменить ссылку"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Удалить ссылку"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Широта"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Долгота"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Загрузить"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Удалить"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Включить"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Отключено"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Ошибка: Неверный ключ."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Ошибка: Ответ не является корректным JSON-ответом."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Ошибка: Неверный ID элемента."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Ошибка: У вас недостаточно прав для того, чтобы сделать это."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Пожалуйста, введите корректный адрес email."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Укажите действующий номер."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Обязательное поле."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Пожалуйста, введите корректный URL."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Добавить шорткод"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Выберите шорткод"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Вставить шорткод"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Введите шорткод здесь..."
diff --git a/languages/th.mo b/languages/th.mo
new file mode 100644
index 0000000000000000000000000000000000000000..3ea03df0c8706f039a1db85c60169fb366ce6783
GIT binary patch
literal 5835
zcmd6pU2Ggz6~_l^3N;^1LreK8Tock#(%r^sN*$LF8QTdij^o-6Ef0uJcCYPeW@olD
zvvwVUlrJf?1PLigLlZ=CDo9(f)TDuq1)@A4Bvd32LI@!d1|c4h$^#&Qgm~b0?wy@o
zubnn3FRXU-L;N$1E|1vf?M+EouI5g2=aAi`C*F_
zg6{A5fm;Wipzk=fTU!d^S#U{!7Mo{wG3W}dm@J4Vlm(PNC@O%)I
z_?JM5<0bIV;LG5L!3*8i-fzGU@cd6u{M>|c8QhrTRE|e-ya)=Pe+0$O^#r*Y+zN_Z
zgSUYvKw19*D7b>3
z2)LP`4}j;uFM_vF+!A;e6uy22ivPcW;{QM3yTSF4BmKMylz4aN&keAj=hNWB;IBaG
z^X(Y<9QXzBQ{eAF;cElU_b%`*Q0(0YiXR{RD0mo@yp}+Tna|xh
zLb>UQEg)qzpWAcngiQ!!&YXd2Rqb+pUq=h(exwox=4R9j_M4kAJ?{)eS}lYP6*ss^
zLRHniPPm)(V&x^ewqun>q+^{}g;-Y-FAP*z7l=D_#q7Krpc^W?iD(p?6EB#Ft+Q#j
z;U{X&^&7fl`wr)mZe{;W6gGmY8b}hiGF#I@(k>nJy?Xoep2(Z=f_BMx7<&?0yKF+&
zwY$R3q<26&gKkjKzBA}+H*$uw4Xg;3_>(Zw)v`0>#qK^|SDoRimlOn>2Se;|kS|A3
z7^(SL&(|t;=SUgOw5rUy!HkZ}&akZatDTFOQJrbut0cwBNB}KfRqfXct7Jh)
zuxd_6-n3V7CBs!JiH>U6E#y-;CyP3D(u(2+VWM1N9vAmb?ini#h*zGeaXu!jsJziW`**5l%OJe?fVM
zWm%t+>76#6#Z9CiX?Ui0_ts5)q_7n?Fde`lAzYQ6HeqBkYLlDtHv;3m*}->6SDUjV
zYKnTCcs87ux)f9HH0sos-U;Kx8IQt;$-6XCEq#Wf&`AAiFsw3KZlrcbZcWdJ(SEh1
zyrtaRJ-(+jq31l&Dh*+xUv-bVaZ;L!+#vQ{rqM`(nT9)~OHPj%*O)p_Y@Nx7=60hq#?=`CyiQBTFx3%U{aU#VkFVrQgcZ3t4(BOTU?=7g_C8
zQrR+EOGcO9Cp*`Tg-gc5p=|kh=dxoqrdfI-TRy~g@w|K_OY#4mEPXmlUlilwVv(gC
z|7YqF*He<=^6@&kHEPqBv}A{i^y|$y;E=7BDtw*D(&sbj1M(wL2>-r`wFno!u*;V38Gay<
zvau>c@;hu&VV2f#(68Fo@r8?%X74$hzr2o3OTrKiSYzT|(;|e^JJ@=zn6xZ?LP{na
z+fG}$3OmgVrMTEUZ^rmJb2^;iWh^iL|H(n#Y2*#5hCGqbZd3sJVVyeD)X$h?5S})J
ziBJxY*Od}AfJeTtgTb$@Fqn4*mdO^f&YDtC`7`!^Nh{9R!zN+dbFmq}oHkUHd~ruS
zIFb|BsC~sSK&g&MEky^4I2PcCz9mA`_+Bte42V3y6#Mxe;xCYyC`hDebR)+ZEZf8D
zB;(W!K{&uIXI`tpdYab6nQdMfc{rmWbOM_AU&euz;*c3b)V|R2uqdT%wJeWpWiDD8
zHinMMm{O<5+Vl##^0vv37&J(Ycgo`gs9I(V^((VW{Iodao4U|)!ZtHQE`$krtn%eh
zL&78cp=|t041{Rq=t%kG4`1sbltLh7?OC?jC^-=@K+SVMivN9VDY_r=ic`sCBQ3J_
z_SQ~uc21a;h`48%2yoF=Bd!ilTM-{+ePz>y(dgFG5449VQUR57AdWC&Q(|uhi6vVI@mm>
zcuQc!&QD=Zq7V;xEYeX|e0v+Fn)4(5W*S3`nio*h`s!9ut3_Aul3^!0C_8EVHzQrM
bQ=~VG_G$HgQ5Ukq3KgY5@QqRKk30Vbnh(?S
literal 0
HcmV?d00001
diff --git a/languages/th.po b/languages/th.po
new file mode 100644
index 0000000..3c0599f
--- /dev/null
+++ b/languages/th.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "ผิดพลาดขณะบันทึกการเปลี่ยนแปล"
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "นำเข้าการตั้งค่าสำเร็จแล้"
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "กู้คืนตัวเลือกเริ่มต้นแล้"
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "บันทึกการตั้งค่าแล้"
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก บันทึกการเปลี่ยนแปลง"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "แสดงการตั้งค่าทั้งหมด"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "ค้นหา..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "บันทึก"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "กำลังบันทึก..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "รีเซ็ตส่วน"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "คุณแน่ใจหรือไม่?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "เคลียร์ทั้งหมด"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "ล้างค่า"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "คุณแน่ใจหรือไม่?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "ไม่มีข้อมูล"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "อัปเดตโพสต์"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "ยกเลิก"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "คุณแน่ใจหรือไม่?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "กรุณาใส่มากกว่าหรือเท่ากับ %s ตัวอักษร"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "กำลังค้นหา..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "ไม่พบผลลัพท์ง"
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "โอ๊ะ ไม่ได้รับอนุญาต"
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "ไม่พบฟิลด์!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "เพิ่ม"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "ข้อผิดพลาด: การตรวจสอบ nonce ไม่ถูกต้อ"
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "ไม่ได้เลือก"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "ตำแหน่งพื้นหลัง"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "ทำซ้ำพื้นหลัง"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "ไฟล์แนบพื้นหลัง"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "ขนาดพื้นหลัง"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "พื้นหลังเริ่มต้น"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "คลิปพื้นหลัง"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "นำเข้า"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "นำออก & ดาวน์โหลด"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "เพิ่มคลังภาพ"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "แก้ไขคลังภาพ"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "ล้างค่า"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "ข้อผิดพลาด: ข้อขัดแย้ง ID ฟิลด์"
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "คุณแน่ใจหรือไม่?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "คุณไม่สามารถเพิ่มได้อีก"
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "คุณไม่สามารถลบเพิ่มเติมได้"
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "เพิ่ม ไอคอน"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "ลบ ไอคอน"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "เพิ่มลิงก์"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "แก้ไขลิงก์"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "เอาลิงก์ออก"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "ละติจูด"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "ลองจิจูด"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "อัปโหลด"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "ลบออก"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "เปิดใช้งาน"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "ปิดการใช้งาน"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "ข้อผิดพลาด: รหัสไม่ถูกต้อ"
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "ข้อผิดพลาด: ผลลัพธ์ไม่ใช่รูปแบบ JSON ที่ถูกต้อ"
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "ข้อผิดพลาด: เลขที่เฉพาะคำศัพท์ไม่ถูกต้อ"
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "ข้อผิดพลาด: คุณไม่ได้รับอนุญาตให้ทำเช่นนั้น"
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "โปรดใส่ที่อยู่อีเมลที่ใช้งานได้"
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "กรุณาใส่หมายเลขที่ถูกต้อ"
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "ช่องนี้จำเป็นต้องกรอกข้อมูล"
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "โปรดใส่ URL ที่ใช้งานได้"
+
+#~ msgid "Add Shortcode"
+#~ msgstr "เพิ่มรหัสย่อ"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "เลือกรหัสย่อ"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "เพิ่ม"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "เขียนรหัสย่อที่นี่..."
diff --git a/languages/tr_TR.mo b/languages/tr_TR.mo
new file mode 100644
index 0000000000000000000000000000000000000000..febfff932993ccd5fa6492a30f585cf722058843
GIT binary patch
literal 4198
zcma);+izS)8Ndgc1~9i!T1dH$DGe>nZY~7sx|GU}oz%ohEZYrDU)u4W@$Pibp0mt3
zXWiYWR^kuf0fcw}t1qMvRK%i0AX%c)t|?L^REY|KkRl{hgrGct1W540?>p!0#YqJm
z?d#_Qk%ELlQ6IYk9=SZ}mLDpyZjF3j%%C
zgrW7_{C%kwNBPULi<Z{82S;YR$TjvnbGWX=-YX
zmW|TM(bJ)8Pxdc*S9j6m$V!|zQEhT;)wZqKx6hjES#{b(H5;nap*3DD*g~<9vgn`2
z-Ud~*;1aVD+CVJ^E*%*-@8pJEjLK>6W3RUwF0?u^9j=VctgbaoRJTc0Ez10?KI3c{
z=%odXcQ!*;OGh(H5oU3LZrbiGV^NH!*r}}v!hEAakvCZ%zccg`)oV*sXn3?;;kr*O`wW9
z$pM?=)y9
zGOcBZXo|PQB`f%hOA#H`>w6Q8-CHx1tqtp|YSp&ljxC|{EGvd|9uKRMF3d{O%!Oh3wpL`0TEnpNMR-)JRkcR&)f(fs
z(QuhF1d?2MZJ0wzR;!`mW)_BB?Q$#2{JLcCW*%9*c>C4N<+1yCJNJ(`wq~L{0w@w<
ztE!q9^!be@#&h>)QGWU`f{#j6=e5HRho)81h_}Qqqbyfh8~+kJagwSPA3wvrD@#G;
z5>6qIX7%YfAhnFwXS`|It=Kp9$?D1KiK&%~l~vnuB2`&ni&;IjY?8FH?oE`0hHT77
zqIzcPwz6(bYob4^Q~%WZ>eTtA^NZuNPE?OiosNl;h;6!UwoL7_>9KZbT=Z}rEja0s
zEZwZkjOFCGP3tR*Q7sPe$E=>&aOu<&m9sXozR+VOwo(jERA;IWqPn8&lA3z48Co^C
z+9YA}*LgG84k?I(ouYr)MowE1n$L9q+F;vuolacXvQ09SV0VLU7r9ufgO>Hpj2zv{TSPvbe?G#FYe;rK}@JA2s+gcNiR*bdP;o?x)Ex6Q7F=WxS9
zf465Nam~nS7dI4`uq-bY}fGf(lC0{^g@GkJbFqDIFIv&lKZT&
zWjCn%lzmr7jW^sUW-C(BxcC1S&9ia1**Ozp4qsG-Ob@&JgKRjuHq2Qi$w{X7clCH|
zepmn|#?DFjr7A~&y}GfNACoz1t0`XyfZ=FSHp-Y4rz2U8Z5X^tn&Bd;7NzH?DrjGo
z@?#{Bd$G@=FbguG<#L`&B7#T*ejOws-p|ENanrm
sA}A-)OrnoEcl50$hB@e>X_fA;Y4!d!DwbDW)8l67R>!9N=_AYk1B)D-6#xJL
literal 0
HcmV?d00001
diff --git a/languages/tr_TR.po b/languages/tr_TR.po
new file mode 100644
index 0000000..89869f7
--- /dev/null
+++ b/languages/tr_TR.po
@@ -0,0 +1,664 @@
+# Copyright (C) 2021 Codestar
+# This file is distributed under the same license as the Codestar Framework package.
+msgid ""
+msgstr ""
+"Project-Id-Version: Codestar Framework 2.2.1\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: tr_TR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: classes/admin-options.class.php:224
+msgid "Error while saving the changes."
+msgstr "Değişiklikleri kaydederken hata oluştu."
+
+#: classes/admin-options.class.php:284
+msgid "Settings successfully imported."
+msgstr "Ayarlar başarıyla içe aktarıldı."
+
+#: classes/admin-options.class.php:296 classes/admin-options.class.php:312
+msgid "Default settings restored."
+msgstr "Varsayılan seçenekler geri yüklendi."
+
+#: classes/admin-options.class.php:383
+msgid "Settings saved."
+msgstr "Ayarlar kaydedildi."
+
+#: classes/admin-options.class.php:561
+msgid "You have unsaved changes, save your changes!"
+msgstr "Kaydedilmemiş değişiklikleriniz var, değişikliklerinizi kaydedin!"
+
+#: classes/admin-options.class.php:563
+msgid "show all settings"
+msgstr "tüm ayarları göster"
+
+#: classes/admin-options.class.php:565 fields/icon/icon.php:57
+#: fields/map/map.php:23
+msgid "Search..."
+msgstr "Arama..."
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Save"
+msgstr "Kaydet"
+
+#: classes/admin-options.class.php:568 classes/admin-options.class.php:691
+msgid "Saving..."
+msgstr "Kaydediliyor..."
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Reset Section"
+msgstr "Bölümü Sıfırla"
+
+#: classes/admin-options.class.php:569 classes/admin-options.class.php:692
+msgid "Are you sure to reset this section options?"
+msgstr "Bu bölümün ayarlarını varsayılan değerlere sıfırlamak için emin misiniz?"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Reset All"
+msgstr "Tümünü Sıfırla"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+#: classes/comment-options.class.php:213 classes/metabox-options.class.php:282
+#: fields/backup/backup.php:31
+msgid "Reset"
+msgstr "Sıfırla"
+
+#: classes/admin-options.class.php:570 classes/admin-options.class.php:693
+msgid "Are you sure you want to reset all settings to default values?"
+msgstr "Tüm ayarları varsayılan değerlere sıfırlamak istediğinizden emin misiniz?"
+
+#: classes/admin-options.class.php:668 classes/comment-options.class.php:196
+#: classes/metabox-options.class.php:265 fields/button_set/button_set.php:56
+#: fields/checkbox/checkbox.php:76 fields/radio/radio.php:75
+#: fields/select/select.php:113 functions/actions.php:41
+msgid "No data available."
+msgstr "Veri yok."
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "update post"
+msgstr "yazıyı güncelle"
+
+#: classes/comment-options.class.php:214 classes/metabox-options.class.php:283
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#: classes/setup.class.php:529
+msgid "Are you sure?"
+msgstr "Emin misiniz?"
+
+#: classes/setup.class.php:530
+msgid "Please enter %s or more characters"
+msgstr "Lütfen %s veya daha fazla karakter girin"
+
+#: classes/setup.class.php:531
+msgid "Searching..."
+msgstr "Aranıyor..."
+
+#: classes/setup.class.php:532
+msgid "No results found."
+msgstr "Hiçbir sonuç bulunamadı."
+
+#: classes/setup.class.php:615
+msgid "Oops! Not allowed."
+msgstr "Eyvah! İzin verilmedi."
+
+#: classes/setup.class.php:689 classes/setup.class.php:693
+msgid "Field not found!"
+msgstr "Alan bulunamadı!"
+
+#: classes/shortcode-options.class.php:251 fields/group/group.php:23
+msgid "Add New"
+msgstr "Yeni ekle"
+
+#: classes/shortcode-options.class.php:288 functions/actions.php:16
+#: functions/actions.php:68 functions/actions.php:106 functions/actions.php:141
+#: functions/actions.php:170
+msgid "Error: Invalid nonce verification."
+msgstr "Hata: Geçersiz özel doğrulama."
+
+#: fields/background/background.php:35 fields/media/media.php:57
+msgid "Not selected"
+msgstr "Seçili öğe yok"
+
+#: fields/background/background.php:66 fields/date/date.php:31
+msgid "From"
+msgstr ""
+
+#: fields/background/background.php:84 fields/date/date.php:32
+msgid "To"
+msgstr ""
+
+#: fields/background/background.php:102
+msgid "Direction"
+msgstr ""
+
+#: fields/background/background.php:108
+msgid "Gradient Direction"
+msgstr ""
+
+#: fields/background/background.php:109
+msgid "⇓ top to bottom"
+msgstr ""
+
+#: fields/background/background.php:110
+msgid "⇒ left to right"
+msgstr ""
+
+#: fields/background/background.php:111
+msgid "⇘ corner top to right"
+msgstr ""
+
+#: fields/background/background.php:112
+msgid "⇙ corner top to left"
+msgstr ""
+
+#: fields/background/background.php:155
+msgid "Background Position"
+msgstr "Arkaplan Konumu"
+
+#: fields/background/background.php:156
+msgid "Left Top"
+msgstr ""
+
+#: fields/background/background.php:157
+msgid "Left Center"
+msgstr ""
+
+#: fields/background/background.php:158
+msgid "Left Bottom"
+msgstr ""
+
+#: fields/background/background.php:159
+msgid "Center Top"
+msgstr ""
+
+#: fields/background/background.php:160
+msgid "Center Center"
+msgstr ""
+
+#: fields/background/background.php:161
+msgid "Center Bottom"
+msgstr ""
+
+#: fields/background/background.php:162
+msgid "Right Top"
+msgstr ""
+
+#: fields/background/background.php:163
+msgid "Right Center"
+msgstr ""
+
+#: fields/background/background.php:164
+msgid "Right Bottom"
+msgstr ""
+
+#: fields/background/background.php:178
+msgid "Background Repeat"
+msgstr "Arkaplan Tekrarı"
+
+#: fields/background/background.php:179
+msgid "Repeat"
+msgstr ""
+
+#: fields/background/background.php:180
+msgid "No Repeat"
+msgstr ""
+
+#: fields/background/background.php:181
+msgid "Repeat Horizontally"
+msgstr ""
+
+#: fields/background/background.php:182
+msgid "Repeat Vertically"
+msgstr ""
+
+#: fields/background/background.php:196
+msgid "Background Attachment"
+msgstr "Arkaplan Eki"
+
+#: fields/background/background.php:197
+msgid "Scroll"
+msgstr ""
+
+#: fields/background/background.php:198
+msgid "Fixed"
+msgstr ""
+
+#: fields/background/background.php:212
+msgid "Background Size"
+msgstr "Arkaplan Boyutu"
+
+#: fields/background/background.php:213
+msgid "Cover"
+msgstr ""
+
+#: fields/background/background.php:214
+msgid "Contain"
+msgstr ""
+
+#: fields/background/background.php:215
+msgid "Auto"
+msgstr ""
+
+#: fields/background/background.php:229
+msgid "Background Origin"
+msgstr "Arkaplan Orjini"
+
+#: fields/background/background.php:230 fields/background/background.php:248
+msgid "Padding Box"
+msgstr ""
+
+#: fields/background/background.php:231 fields/background/background.php:247
+msgid "Border Box"
+msgstr ""
+
+#: fields/background/background.php:232 fields/background/background.php:249
+msgid "Content Box"
+msgstr ""
+
+#: fields/background/background.php:246
+msgid "Background Clip"
+msgstr "Arkaplan Şablonu"
+
+#: fields/background/background.php:263
+msgid "Background Blend Mode"
+msgstr ""
+
+#: fields/background/background.php:264 fields/link_color/link_color.php:36
+#: fields/typography/typography.php:175
+msgid "Normal"
+msgstr ""
+
+#: fields/background/background.php:265
+msgid "Multiply"
+msgstr ""
+
+#: fields/background/background.php:266
+msgid "Screen"
+msgstr ""
+
+#: fields/background/background.php:267
+msgid "Overlay"
+msgstr ""
+
+#: fields/background/background.php:268
+msgid "Darken"
+msgstr ""
+
+#: fields/background/background.php:269
+msgid "Lighten"
+msgstr ""
+
+#: fields/background/background.php:270
+msgid "Color Dodge"
+msgstr ""
+
+#: fields/background/background.php:271
+msgid "Saturation"
+msgstr ""
+
+#: fields/background/background.php:272
+msgid "Color"
+msgstr ""
+
+#: fields/background/background.php:273
+msgid "Luminosity"
+msgstr ""
+
+#: fields/backup/backup.php:26
+msgid "Import"
+msgstr "İçe aktar"
+
+#: fields/backup/backup.php:29
+msgid "Export & Download"
+msgstr "Dışa aktar & İndir"
+
+#: fields/border/border.php:25 fields/spacing/spacing.php:25
+msgid "top"
+msgstr ""
+
+#: fields/border/border.php:26 fields/spacing/spacing.php:26
+msgid "right"
+msgstr ""
+
+#: fields/border/border.php:27 fields/spacing/spacing.php:27
+msgid "bottom"
+msgstr ""
+
+#: fields/border/border.php:28 fields/spacing/spacing.php:28
+msgid "left"
+msgstr ""
+
+#: fields/border/border.php:29 fields/spacing/spacing.php:29
+msgid "all"
+msgstr ""
+
+#: fields/border/border.php:51 fields/typography/typography.php:203
+msgid "Solid"
+msgstr ""
+
+#: fields/border/border.php:52 fields/typography/typography.php:206
+msgid "Dashed"
+msgstr ""
+
+#: fields/border/border.php:53 fields/typography/typography.php:205
+msgid "Dotted"
+msgstr ""
+
+#: fields/border/border.php:54 fields/typography/typography.php:204
+msgid "Double"
+msgstr ""
+
+#: fields/border/border.php:55
+msgid "Inset"
+msgstr ""
+
+#: fields/border/border.php:56
+msgid "Outset"
+msgstr ""
+
+#: fields/border/border.php:57
+msgid "Groove"
+msgstr ""
+
+#: fields/border/border.php:58
+msgid "ridge"
+msgstr ""
+
+#: fields/border/border.php:59 fields/typography/typography.php:188
+#: fields/typography/typography.php:202
+msgid "None"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:22
+msgid "width"
+msgstr ""
+
+#: fields/dimensions/dimensions.php:23
+msgid "height"
+msgstr ""
+
+#: fields/gallery/gallery.php:20
+msgid "Add Gallery"
+msgstr "Galeri Ekle"
+
+#: fields/gallery/gallery.php:21
+msgid "Edit Gallery"
+msgstr "Galeriyi Düzenle"
+
+#: fields/gallery/gallery.php:22
+msgid "Clear"
+msgstr "Temizle"
+
+#: fields/group/group.php:35 fields/repeater/repeater.php:27
+msgid "Error: Field ID conflict."
+msgstr "Hata: Alan kimliği çakışması."
+
+#: fields/group/group.php:46 fields/group/group.php:87
+#: fields/repeater/repeater.php:48 fields/repeater/repeater.php:76
+msgid "Are you sure to delete this item?"
+msgstr "Bu öğeyi silmek istediğinizden emin misiniz?"
+
+#: fields/group/group.php:121 fields/repeater/repeater.php:89
+msgid "You cannot add more."
+msgstr "Daha fazlasını ekleyemezsiniz."
+
+#: fields/group/group.php:122 fields/repeater/repeater.php:90
+msgid "You cannot remove more."
+msgstr "Daha fazlasını kaldıramazsınız."
+
+#: fields/icon/icon.php:20 fields/icon/icon.php:53
+msgid "Add Icon"
+msgstr "İkon Ekle"
+
+#: fields/icon/icon.php:21
+msgid "Remove Icon"
+msgstr "İkonu Kaldır"
+
+#: fields/link/link.php:20
+msgid "Add Link"
+msgstr "Bağlantı Ekle"
+
+#: fields/link/link.php:21
+msgid "Edit Link"
+msgstr "Bağlantıyı Düzenle"
+
+#: fields/link/link.php:22
+msgid "Remove Link"
+msgstr "Bağlantıyı Kaldır"
+
+#: fields/link_color/link_color.php:37
+msgid "Hover"
+msgstr ""
+
+#: fields/link_color/link_color.php:38
+msgid "Active"
+msgstr ""
+
+#: fields/link_color/link_color.php:39
+msgid "Visited"
+msgstr ""
+
+#: fields/link_color/link_color.php:40
+msgid "Focus"
+msgstr ""
+
+#: fields/map/map.php:24
+msgid "Latitude"
+msgstr "Enlem"
+
+#: fields/map/map.php:25
+msgid "Longitude"
+msgstr "Boylam"
+
+#: fields/media/media.php:23 fields/upload/upload.php:21
+msgid "Upload"
+msgstr "Yükle"
+
+#: fields/media/media.php:24 fields/upload/upload.php:22
+msgid "Remove"
+msgstr "Kaldır"
+
+#: fields/sorter/sorter.php:21
+msgid "Enabled"
+msgstr "Etkin"
+
+#: fields/sorter/sorter.php:22
+msgid "Disabled"
+msgstr "Devre dışı"
+
+#: fields/switcher/switcher.php:20
+msgid "On"
+msgstr ""
+
+#: fields/switcher/switcher.php:21
+msgid "Off"
+msgstr ""
+
+#: fields/typography/typography.php:85
+msgid "Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:86
+msgid "Select a font"
+msgstr ""
+
+#: fields/typography/typography.php:94
+msgid "Backup Font Family"
+msgstr ""
+
+#: fields/typography/typography.php:108 fields/typography/typography.php:121
+#: fields/typography/typography.php:134 fields/typography/typography.php:149
+#: fields/typography/typography.php:165 fields/typography/typography.php:178
+#: fields/typography/typography.php:192 fields/typography/typography.php:210
+msgid "Default"
+msgstr ""
+
+#: fields/typography/typography.php:119
+msgid "Font Style"
+msgstr ""
+
+#: fields/typography/typography.php:133 fields/typography/typography.php:134
+msgid "Load Extra Styles"
+msgstr ""
+
+#: fields/typography/typography.php:147
+msgid "Subset"
+msgstr ""
+
+#: fields/typography/typography.php:157
+msgid "Text Align"
+msgstr ""
+
+#: fields/typography/typography.php:159
+msgid "Inherit"
+msgstr ""
+
+#: fields/typography/typography.php:160
+msgid "Left"
+msgstr ""
+
+#: fields/typography/typography.php:161
+msgid "Center"
+msgstr ""
+
+#: fields/typography/typography.php:162
+msgid "Right"
+msgstr ""
+
+#: fields/typography/typography.php:163
+msgid "Justify"
+msgstr ""
+
+#: fields/typography/typography.php:164
+msgid "Initial"
+msgstr ""
+
+#: fields/typography/typography.php:173
+msgid "Font Variant"
+msgstr ""
+
+#: fields/typography/typography.php:176
+msgid "Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:177
+msgid "All Small Caps"
+msgstr ""
+
+#: fields/typography/typography.php:186
+msgid "Text Transform"
+msgstr ""
+
+#: fields/typography/typography.php:189
+msgid "Capitalize"
+msgstr ""
+
+#: fields/typography/typography.php:190
+msgid "Uppercase"
+msgstr ""
+
+#: fields/typography/typography.php:191
+msgid "Lowercase"
+msgstr ""
+
+#: fields/typography/typography.php:200
+msgid "Text Decoration"
+msgstr ""
+
+#: fields/typography/typography.php:207
+msgid "Wavy"
+msgstr ""
+
+#: fields/typography/typography.php:208
+msgid "Overline"
+msgstr ""
+
+#: fields/typography/typography.php:209
+msgid "Line-through"
+msgstr ""
+
+#: fields/typography/typography.php:222
+msgid "Font Size"
+msgstr ""
+
+#: fields/typography/typography.php:234
+msgid "Line Height"
+msgstr ""
+
+#: fields/typography/typography.php:246
+msgid "Letter Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:258
+msgid "Word Spacing"
+msgstr ""
+
+#: fields/typography/typography.php:273
+msgid "Font Color"
+msgstr ""
+
+#: fields/typography/typography.php:284
+msgid "Custom Style"
+msgstr ""
+
+#: fields/typography/typography.php:351
+msgid "Custom Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:357
+msgid "Safe Web Fonts"
+msgstr ""
+
+#: fields/typography/typography.php:377
+msgid "Google Web Fonts"
+msgstr ""
+
+#: functions/actions.php:72 functions/actions.php:110
+msgid "Error: Invalid key."
+msgstr "Hata: Geçersiz anahtar."
+
+#: functions/actions.php:114
+msgid "Error: The response is not a valid JSON response."
+msgstr "Hata: Yanıt geçerli bir JSON yanıtı değildir."
+
+#: functions/actions.php:174
+msgid "Error: Invalid term ID."
+msgstr "Hata: Geçersiz terim numarası."
+
+#: functions/actions.php:180
+msgid "Error: You do not have permission to do that."
+msgstr "Hata: Bunu yapmak için izniniz yok."
+
+#: functions/validate.php:14 functions/validate.php:86
+msgid "Please enter a valid email address."
+msgstr "Lütfen geçerli bir e-posta adresi girin."
+
+#: functions/validate.php:32 functions/validate.php:106
+msgid "Please enter a valid number."
+msgstr "Lütfen geçerli bir sayı girin."
+
+#: functions/validate.php:50 functions/validate.php:126
+msgid "This field is required."
+msgstr "Bu alan zorunludur."
+
+#: functions/validate.php:68 functions/validate.php:146
+msgid "Please enter a valid URL."
+msgstr "Lütfen geçerli bir web adresi girin."
+
+#~ msgid "Add Shortcode"
+#~ msgstr "Kısa Kod Ekle"
+
+#~ msgid "Select a shortcode"
+#~ msgstr "Kısa kod seçin"
+
+#~ msgid "Insert Shortcode"
+#~ msgstr "Kısa Kodu Ekle"
+
+#~ msgid "Write shortcode here..."
+#~ msgstr "Kısa kodu buraya yaz..."
diff --git a/languages/vi.mo b/languages/vi.mo
new file mode 100644
index 0000000000000000000000000000000000000000..2f3a054e15f8055cc4dc0e6f3118a4a0d2c543d9
GIT binary patch
literal 4362
zcmbW3Uu+yl9mfY63YdSPl>dc{DQzjuU1O6H*CkYr?X)J2ZTVc|NJy~W8{ZAy+r93e
zv#(D?K~xn&iPcspph`AYNmH=m;z+=qP?6R$59I+wADRautq>9t;h}wrgoMQRJG*zj
zv&{>u%zbueelzp?^PO>S-gW3jf#)RJJ!psCEkpslbq9X%47^8(4}gz??*m6OPJr*l
z_cy^_@Y~=+;Cb-t;0E|1@D})S@ZaD^z{7V6@ljBM9|QZd@6#a1=Ro`uW&B`@@W9W2
z5y<^7fgc1fgYO4_4$_ZJ@Cf)D@YCR1AlH8f`~r96@d%^F3%@pRZ)R4l>T)
zgWP8aWZwP+9s+M>{eR2&FOd7*2AQuzn8dj61{vRRko$~-cY}qjzYHG5_xC{hzX8&Z
z*TKJoZ)E+i^`!NRLE7B_Y4=a?i{NeWQ{X-5Bp=B*0WyCj5GG<7WF9Vntp7{k=fEwH
z_53r)xNm`s^BwRJ@HWV}atM<9p9HziB*=aZO0b^sCm`2tg3R{~kb3+N_%-kdlGzV_
z3*Gbxka_$E$h?XV3-Jj+W;_8tgzpJ32R;Kn488(B0KNrs
zJvz($_hdW*!XSiVGl?5Gxs1!3Xhu4LkJk
zM>~o37#gmR_LE&9;y8L(V?K|fu}+K?N67d_|G$hT(fHhlHi*VNGA2IE9rMlFeiaS!
zH+iRqK8yAhv@f9{Oj8G*Me3Cg&jV{nJ@8>&_)u?rcu%m_)Co1mhdDp!VeMHzF;pzd
zCoIQNe%-u}*`8}UMAF%81j{@dyxzxyo8=CDo2HQE9*e&P*on^XW^?rg{eWH
z>`;5I^r}R#$Ck@3SuSinnNET?5|cyimV$J%1uJqwS+kr-?V0|#IAz(3CEttOq8tiC
z%Pv=x8+P^%JG$EWJ?ZO`b~}5fyg<{n&c10?RaVzJ1^tW?!@_q8Kgeu$^G@VG=v)X2ZVk`EseO9VG*+hLDjnCGE21mQ;`zqZ}WU
zr?qm5a%@DRItz}r!}iFSi?ryXTvYXaeXa**Wli~dLE9E1+-DLhzk+q!{WI7cQB+YU
zB~e`03#G-(V~cMTCMVj1?HT7#zoKUh%T`UvDpu4%z=BgK9^$d+?sC=hLwUa(@s?c2
zvx*{(i5o1idc9(-LK86#Ps6CF#JJ~{(zgjLWQCTrYL<4GxV%6Y{DdrmbUJ%N$i{)#
zkoHNh8uUtbK~3HgOEQI;AtQb95b9{!UcflwNFTQ#@(nh;aRZV?ZSle=q
z0&qz%S9#IV>6?f;`c3&G*X-U>@KLJT+#PRdD^!sYRU5#Wq-au-`6uWnVVKMO{?4pmKc;h<5m#nW_-&H
z91Ew>^th$SDyiIzvML?lgR-W3&W@cO-QB1!f2?QNgG5}cQLkdXP%VcKR~<{cj~S_;
zLMNkeAvdsV$GsMmpBr^;uZUs{%7J+u_RQs;P_FV*C#F2bo1ia0kUs&xk^K183eLvP
zrkvGD^I13RIfai4kqmb>ljgcx%6c6gzv{}xr15%~^;DAPPqjFeG}c^c$6IhMXO`7LjT!gxsy-t*{>GQ5EVQX71
zM@i%5P%bCUt70~3{!oT~ydjguI_76n<2Ac1ouu*WDu35>*XWse1Eb6j0=2t_o=loo
z>S7MDiD9fE!}zy#2HyM;0>^T;++M+s*l2sjq|ug)Sj#GGUbgdMHoh*)OnM~CT&0jS
zH>|E&48!s{ED)HH@s8|oU)tH+S^MLbt@V!rNukQhRgCg|KAo<
z5XrjBxzE#Qs(?vpti$_w70IJ_=9)jig;Yk_EK2U_s7?)VY6YPoq30to-pY%)wEDh<
z3xCF}4?RGUC2=O*HH?2r^+O}|-CXpF3G{4KWi4Ly#O(IfG-2Wl<2Jc#P3QK-q