diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2024-04-29 10:16:09 -0400 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2024-04-29 10:16:09 -0400 |
| commit | 2cd42b9d71238abc14748566134ead380d5f0969 (patch) | |
| tree | 03b479b0d92781add4c196bb515886f0b981e842 | |
Init
276 files changed, 28580 insertions, 0 deletions
diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.hugo_build.lock @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + 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 +them 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. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 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 Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +<https://www.gnu.org/licenses/>. diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..cae8048 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = false ++++ diff --git a/archetypes/posts.md b/archetypes/posts.md new file mode 100644 index 0000000..9506225 --- /dev/null +++ b/archetypes/posts.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +description: "" +draft: true +author: "" +cover: "" +tags: [""] +theme: "dark" +--- diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..4b91591 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,163 @@ +baseURL = 'https://thesiah.xyz/' +languageCode = 'en-us' +title = 'THESIAH' +defaultContentLanguage = "en" +paginate = "7" +theme = "spectral" +#googleAnalytics = "G-XXXXXXXXXX" + +[params] +fancyTitle = "THESIAH" # title for frontpage, may include image +copyright = "Soomin Im" +description = 'Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder.' +startbuttonText = "Activate" +startbuttonLink = "#" +body_is_markdown = true +#custom_css = "foo.css" +#custom_sass = "bar.scss" +#images = ["path_to_social_image_for_link_previews.jpg"] + +[[params.menu.main]] +url = '/' +title = "Home" + +[[params.menu.main]] +url = '/posts/' +title = "Posts" + +[[params.menu.main]] +url = '/about/' +title = "About" + +[taxonomies] + tag = "tags" + category = "categories" + series = "series" + +[params.one] +enable = true +title = 'Arcu aliquet vel lobortis ata nisl<br />eget augue amet aliquet nisl cep donec' +body = ''' +Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper. +''' + +[[params.one.icon]] +icon = "fa-gem" +style = "1" +label = "Lorem" + +[[params.one.icon]] +icon = "fa-heart" +style = "2" +label = "Ipsum" + +[[params.one.icon]] +icon = "solid fa-code" +style = "3" +label = "Dolor" + +[params.two] +enable = true + +[[params.two.section]] +img = "img/pic01.jpg" +img_alt = "blurry background: white/grey" +title = 'Magna primis lobortis<br />sed ullamcorper' +body = 'Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.' + +[[params.two.section]] +img = "img/pic02.jpg" +title = 'Tortor dolore feugiat<br />elementum magna' +body = 'Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.' + +[[params.two.section]] +img = "img/pic03.jpg" +title = 'Magna primis lobortis<br />sed ullamcorper' +body = 'Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.' + +[params.three] +enable = true +title = 'Accumsan mus tortor nunc aliquet' +body = ''' +Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper. +''' + +[[params.three.feature]] +icon = "fa-paper-plane" +title = "Arcu accumsan" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "solid fa-laptop" +title = "Ac Augue Eget" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "solid fa-code" +title = "Foo bar" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "solid fa-headphones-alt" +title = "Baz kram" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "fa-heart" +title = "Some latin text" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "fa-flag" +title = "Nothing important" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[params.cta] +enable = true +title = "As long as you like" +body = "Something to be followed by propaganda sometimes ends the investment of a lot of eleifend fringilla." + +[[params.cta.link]] +href = "#" +text = "Activate" +special = true + +[[params.cta.link]] +href = "#" +text = "Learn More" +special = false + +[params.contact] +enable = true +title = "Contact" +body = "Leave me a message." +phone = "+1 (513) 658 0207" +address = "1234 Somewhere Road<br />Some Place, Some State 0000<br />Some Country" +email = "si@thesiah.xyz" +subject = "New Submission!" +formspree_form_id = "example_invalid" + +[params.social] +twitter = "" +mastodon = "" +github = "https://github.com/TheSiahxyz" +facebook = "" +youtube = "" +instagram = "" +dribble = "" + +# language specific options + +[languages.en] +weight = 0 +languageName = "English" + +[languages.ko] +weight = 10 +languageName = "Korean" + +[languages.es] +weight = 10 +languageName = "Español" diff --git a/public/archprogs.csv b/public/archprogs.csv new file mode 100644 index 0000000..2cb1860 --- /dev/null +++ b/public/archprogs.csv @@ -0,0 +1,107 @@ +#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing) +,xorg-server,is the graphical server. This first one may take a while as it pulls many other dependencies first on clean installs. +,xorg-xwininfo,allows querying information about windows. +,xorg-xinit,starts the graphical server. +,polkit,manages user policies. +,libertinus-font,provides the sans and serif fonts for THESIAH. +,noto-fonts,is an expansive font package. +,noto-fonts-emoji,is an emoji font. +,powerline-fonts,powerline support. +,texlive-langkorean,Korean support. +,ttf-font-awesome,provides extended glyph support. +,ttf-dejavu,properly displays emojis. +,ttf-droid,popular font. +,ttf-firacode-nerd,popular font. +,ttf-hack-nerd,popular font. +,ttf-melso-nerd,powerlevel10k support. +A,abook,is an offline addressbook usable by neomutt. +,arandr,allows the user to customize monitor arrangements. +A,arkenfox-user.js,provides hardened security settings for Firefox and Librewolf to avoid Mozilla spyware and general web fingerprinting. +,atool,manages and gives information about archives. +,bat,can highlight code output and display files and is used to generate previews in the file browser. +,bc,is a mathematics language used for the dropdown calculator. +,bluez,is a tool for bluetooth control command line. +,bluez-utils,is utils for bluetooth. +A,brillo,controls the brightness of backlight and LED devices. +,calcurse,terminal-based organizer for interactive and command line use. +,cronie,is a cronjob manager to set up automatic mail syncing. +,dash,is a command interpreter (shell). +,dosfstools,allows your computer to access dos-like filesystems. +,dunst,is a suckless notification system. +,ecryptfs-utils,is a tool for cryptographic filesystem. +,exfat-utils,allows management of FAT drives. +,eza,colorful ls. +,fcitx5-im,changes input methods. +,fcitx5-hangul,Korean input method. +,fd,finds entries in the filesystem. +,ffmpeg,can record and splice video and audio on the command line. +,ffmpegthumbnailer,creates thumbnail previews of video files. +,firefox,is a common web browser. +,fzf,is a fuzzy finder tool used for easy selection and location of files. +,gimp,is an image manipulation and paint program. +,git-delta,"highlights pager for git, diff, and grep output." +,gnome-keyring,serves as the system keyring. +A,gtk-theme-arc-gruvbox-git,gives the dark GTK theme used in LARBS. +A,htop-vim,is a graphical and colorful system monitor. +A,kakaotalk,is a messenger for Korean. +,lazygit,manages git in Neovim. +A,lf-git,is an extensive terminal file manager that everyone likes. +,lib32-pipewire-jack,is a low-latency audio/video router and processor for multilib support. +,libnotify,allows desktop notifications. +A,librewolf-bin,is the default browser of LARBS which also comes with ad-blocking and other sensible and necessary features by default. +,lynx,"is a terminal browser also used in LARBS for generating in-terminal previews of websites, emails and HTML files." +,lxpolkit,is a policykit agent for LXDE. +,maim,can take quick screenshots at your request. +,man-db,lets you read man pages of programs. +,mediainfo,shows audio and video information and is used in the file browser. +,mpc,is a terminal interface for mpd. +,mpd,is a lightweight music daemon. +,mpv,is the patrician's choice video player. +A,mutt-wizard-git,is a light-weight terminal-based email system. +,ncmpcpp,a ncurses interface for music with multiple formats and a powerful tag editor. +,neovim,a tidier vim with some useful features. +,newsboat,is a terminal RSS client. +,nodejs,nodejs for Neovim. +,notmuch,indexes and searches mail. +,npm,npm for tmuxinator that manages tmux sessions. +,nsxiv,is a minimalist image viewer. +,ntfs-3g,allows accessing NTFS partitions. +A,pam-gnupg,auto unlocks when log-in. +,pass,manages passwords. +,pipewire-jack,is a low-latency audio/video router and processor - JACK replacement. +,pipewire-pulse,gives pipewire compatibility with PulseAudio programs. +,poppler,manipulates .pdfs and gives .pdf previews and other .pdf functions. +,pulsemixer,is an audio controller. +P,pynvim,is for lsp in neovim. +,python-qdarkstyle,provides a dark Qt theme. +,ripgrep,recursively searches the current directory for a regex pattern. +,ripgrep-all,searches words in a line. +A,sc-im,is an Excel-like terminal spreadsheet manager. +A,simple-mtpfs,enables the mounting of cell phones. +,socat,is a utility which establishes two byte streams and transfers data between them. +P,stig,is a TUI and CLI client for the transmission daemon. +,tar,compresses or extracts files. +A,task-spooler,queues commands or files for download. +,tk,manipulates tk internal state. +,tmux,manages mutiple terminal sessions/windows/panes in a terminal. +,trash-cli,"trashes files recording the original path, deletion date, and permissions." +,ueberzug,enables previews in the lf file manager. +,ufw,is a tool for firewall. +,unclutter,hides an inactive mouse. +,unzip,unzips zips. +,urlview,enables to view url in a terminal. +,wireplumber,is the audio system. +,x11-ssh-askpass,is an X11-based pass-phrase dialog for use with OpenSSH. +,xcompmgr,is for transparency and removing screen-tearing. +,xcape,gives the special escape/super mappings of LARBS. +,xclip,allows for copying and pasting from the command line. +,xdotool,provides window action utilities on the command line. +,xorg-xbacklight,enables changing screen brightness levels. +,xorg-xprop,is a tool for detecting window properties. +,xorg-xev,is a tool for keymaps. +,xwallpaper,sets the wallpaper. +,yt-dlp,can download any YouTube video (or playlist or channel) when given the link. +,zathura,is a pdf viewer with vim-like bindings. +,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. +,zoxide,is a tool enhanced cd command. +G,https://github.com/thesiah/Suckless.git,"dwm, dwmblocks, st, slock, dmenu." diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..480a9ae --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="en"> + <head> + <title>Categories</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/categories/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/categories/"> + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/categories/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Categories"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/categories/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Categories"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="en"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>all articles</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..0a3370d --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Categories on THESIAH</title> + <link>https://thesiah.xyz/categories/</link> + <description>Recent content in Categories on THESIAH</description> + <generator>Hugo</generator> + <language>en</language> + <atom:link href="https://thesiah.xyz/categories/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/categories/page/1/index.html b/public/categories/page/1/index.html new file mode 100644 index 0000000..045dfdd --- /dev/null +++ b/public/categories/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <title>https://thesiah.xyz/categories/</title> + <link rel="canonical" href="https://thesiah.xyz/categories/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/categories/"> + </head> +</html> diff --git a/public/css/fontawesome-all.min.css b/public/css/fontawesome-all.min.css new file mode 100644 index 0000000..84dbeb8 --- /dev/null +++ b/public/css/fontawesome-all.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
\ No newline at end of file diff --git a/public/css/images/arrow.svg b/public/css/images/arrow.svg new file mode 100644 index 0000000..7baae67 --- /dev/null +++ b/public/css/images/arrow.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30px" height="30px" viewBox="0 0 30 30" zoomAndPan="disable" preserveAspectRatio="none"> + <style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 3; } ]]></style> + <line x1="0" y1="15" x2="15" y2="30" /> + <line x1="30" y1="15" x2="15" y2="30" /> + <line x1="15" y1="30" x2="15" y2="0" /> +</svg> diff --git a/public/css/images/bars.svg b/public/css/images/bars.svg new file mode 100644 index 0000000..467fb97 --- /dev/null +++ b/public/css/images/bars.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" zoomAndPan="disable" preserveAspectRatio="none"> + <style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 2; } ]]></style> + <line x1="0" y1="1" x2="16" y2="1" /> + <line x1="0" y1="7" x2="16" y2="7" /> + <line x1="0" y1="13" x2="16" y2="13" /> +</svg>
\ No newline at end of file diff --git a/public/css/images/close.svg b/public/css/images/close.svg new file mode 100644 index 0000000..f80a2a3 --- /dev/null +++ b/public/css/images/close.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" zoomAndPan="disable" preserveAspectRatio="none"> + <style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 2; } ]]></style> + <line x1="0" y1="0" x2="16" y2="16" /> + <line x1="16" y1="0" x2="0" y2="16" /> +</svg>
\ No newline at end of file diff --git a/public/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css b/public/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css new file mode 100644 index 0000000..8672aae --- /dev/null +++ b/public/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css @@ -0,0 +1,2 @@ +@import "fontawesome-all.min.css";@font-face{font-family:open sans;font-style:normal;font-weight:400;src:local('Open Sans Regular'),local('OpenSans-Regular'),url(../fonts/open-sans-v16-latin-regular.woff2)format('woff2'),url(../fonts/open-sans-v16-latin-regular.woff)format('woff')}@font-face{font-family:open sans;font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(../fonts/open-sans-v16-latin-italic.woff2)format('woff2'),url(../fonts/open-sans-v16-latin-italic.woff)format('woff')}@font-face{font-family:open sans;font-style:normal;font-weight:600;src:local('Open Sans SemiBold'),local('OpenSans-SemiBold'),url(../fonts/open-sans-v16-latin-600.woff2)format('woff2'),url(../fonts/open-sans-v16-latin-600.woff)format('woff')}@font-face{font-family:open sans;font-style:italic;font-weight:600;src:local('Open Sans SemiBold Italic'),local('OpenSans-SemiBoldItalic'),url(../fonts/open-sans-v16-latin-600italic.woff2)format('woff2'),url(../fonts/open-sans-v16-latin-600italic.woff)format('woff')}@font-face{font-family:open sans;font-style:normal;font-weight:800;src:local('Open Sans ExtraBold'),local('OpenSans-ExtraBold'),url(../fonts/open-sans-v16-latin-800.woff2)format('woff2'),url(../fonts/open-sans-v16-latin-800.woff)format('woff')}@font-face{font-family:open sans;font-style:italic;font-weight:800;src:local('Open Sans ExtraBold Italic'),local('OpenSans-ExtraBoldItalic'),url(../fonts/open-sans-v16-latin-800italic.woff2)format('woff2'),url(../fonts/open-sans-v16-latin-800italic.woff)format('woff')}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}mark{background-color:transparent;color:inherit}input::-moz-focus-inner{border:0;padding:0}input,select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none}@-ms-viewport{width: device-width; + }html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{background:#2e3842}body.is-preload *,body.is-preload *:before,body.is-preload *:after{-moz-animation:none!important;-webkit-animation:none!important;-ms-animation:none!important;animation:none!important;-moz-transition:none!important;-webkit-transition:none!important;-ms-transition:none!important;transition:none!important}body,input,select,textarea{color:#fff;font-family:open sans,Helvetica,sans-serif;font-size:15pt;font-weight:400;letter-spacing:.075em;line-height:1.65em}@media screen and (max-width:1680px){body,input,select,textarea{font-size:13pt}}@media screen and (max-width:1280px){body,input,select,textarea{font-size:12pt}}@media screen and (max-width:736px){body,input,select,textarea{font-size:11pt;letter-spacing:.0375em}}a{-moz-transition:color .2s ease,border-bottom-color .2s ease;-webkit-transition:color .2s ease,border-bottom-color .2s ease;-ms-transition:color .2s ease,border-bottom-color .2s ease;transition:color .2s ease,border-bottom-color .2s ease;border-bottom:dotted 1px;color:inherit;text-decoration:none}a:hover{border-bottom-color:transparent}strong,b{color:#fff;font-weight:600}em,i{font-style:italic}p{margin:0 0 2em}h1,h2,h3,h4,h5,h6{color:#fff;font-weight:800;letter-spacing:.225em;line-height:1em;margin:0 0 1em;text-transform:uppercase}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}h2{font-size:1.35em;line-height:1.75em}@media screen and (max-width:736px){h2{font-size:1.1em;line-height:1.65em}}h3{font-size:1.15em;line-height:1.75em}@media screen and (max-width:736px){h3{font-size:1em;line-height:1.65em}}h4{font-size:1em;line-height:1.5em}h5{font-size:.8em;line-height:1.5em}h6{font-size:.7em;line-height:1.5em}sub{font-size:.8em;position:relative;top:.5em}sup{font-size:.8em;position:relative;top:-.5em}hr{border:0;border-bottom:solid 2px #fff;margin:3em 0}hr.major{margin:4.5em 0}blockquote{border-left:solid 4px #fff;font-style:italic;margin:0 0 2em;padding:.5em 0 .5em 2em}code{background:rgba(144,144,144,.25);border-radius:3px;font-family:courier new,monospace;font-size:.9em;letter-spacing:0;margin:0 .25em;padding:.25em .65em}pre{-webkit-overflow-scrolling:touch;font-family:courier new,monospace;font-size:.9em;margin:0 0 2em}pre code{display:block;line-height:1.75em;padding:1em 1.5em;overflow-x:auto}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp{order:-1}.row>.col-1{width:8.3333333333%}.row>.off-1{margin-left:8.3333333333%}.row>.col-2{width:16.6666666667%}.row>.off-2{margin-left:16.6666666667%}.row>.col-3{width:25%}.row>.off-3{margin-left:25%}.row>.col-4{width:33.3333333333%}.row>.off-4{margin-left:33.3333333333%}.row>.col-5{width:41.6666666667%}.row>.off-5{margin-left:41.6666666667%}.row>.col-6{width:50%}.row>.off-6{margin-left:50%}.row>.col-7{width:58.3333333333%}.row>.off-7{margin-left:58.3333333333%}.row>.col-8{width:66.6666666667%}.row>.off-8{margin-left:66.6666666667%}.row>.col-9{width:75%}.row>.off-9{margin-left:75%}.row>.col-10{width:83.3333333333%}.row>.off-10{margin-left:83.3333333333%}.row>.col-11{width:91.6666666667%}.row>.off-11{margin-left:91.6666666667%}.row>.col-12{width:100%}.row>.off-12{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0 0 0 0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}@media screen and (max-width:1680px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xlarge{order:-1}.row>.col-1-xlarge{width:8.3333333333%}.row>.off-1-xlarge{margin-left:8.3333333333%}.row>.col-2-xlarge{width:16.6666666667%}.row>.off-2-xlarge{margin-left:16.6666666667%}.row>.col-3-xlarge{width:25%}.row>.off-3-xlarge{margin-left:25%}.row>.col-4-xlarge{width:33.3333333333%}.row>.off-4-xlarge{margin-left:33.3333333333%}.row>.col-5-xlarge{width:41.6666666667%}.row>.off-5-xlarge{margin-left:41.6666666667%}.row>.col-6-xlarge{width:50%}.row>.off-6-xlarge{margin-left:50%}.row>.col-7-xlarge{width:58.3333333333%}.row>.off-7-xlarge{margin-left:58.3333333333%}.row>.col-8-xlarge{width:66.6666666667%}.row>.off-8-xlarge{margin-left:66.6666666667%}.row>.col-9-xlarge{width:75%}.row>.off-9-xlarge{margin-left:75%}.row>.col-10-xlarge{width:83.3333333333%}.row>.off-10-xlarge{margin-left:83.3333333333%}.row>.col-11-xlarge{width:91.6666666667%}.row>.off-11-xlarge{margin-left:91.6666666667%}.row>.col-12-xlarge{width:100%}.row>.off-12-xlarge{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0 0 0 0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width:1280px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-large{order:-1}.row>.col-1-large{width:8.3333333333%}.row>.off-1-large{margin-left:8.3333333333%}.row>.col-2-large{width:16.6666666667%}.row>.off-2-large{margin-left:16.6666666667%}.row>.col-3-large{width:25%}.row>.off-3-large{margin-left:25%}.row>.col-4-large{width:33.3333333333%}.row>.off-4-large{margin-left:33.3333333333%}.row>.col-5-large{width:41.6666666667%}.row>.off-5-large{margin-left:41.6666666667%}.row>.col-6-large{width:50%}.row>.off-6-large{margin-left:50%}.row>.col-7-large{width:58.3333333333%}.row>.off-7-large{margin-left:58.3333333333%}.row>.col-8-large{width:66.6666666667%}.row>.off-8-large{margin-left:66.6666666667%}.row>.col-9-large{width:75%}.row>.off-9-large{margin-left:75%}.row>.col-10-large{width:83.3333333333%}.row>.off-10-large{margin-left:83.3333333333%}.row>.col-11-large{width:91.6666666667%}.row>.off-11-large{margin-left:91.6666666667%}.row>.col-12-large{width:100%}.row>.off-12-large{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0 0 0 0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width:980px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-medium{order:-1}.row>.col-1-medium{width:8.3333333333%}.row>.off-1-medium{margin-left:8.3333333333%}.row>.col-2-medium{width:16.6666666667%}.row>.off-2-medium{margin-left:16.6666666667%}.row>.col-3-medium{width:25%}.row>.off-3-medium{margin-left:25%}.row>.col-4-medium{width:33.3333333333%}.row>.off-4-medium{margin-left:33.3333333333%}.row>.col-5-medium{width:41.6666666667%}.row>.off-5-medium{margin-left:41.6666666667%}.row>.col-6-medium{width:50%}.row>.off-6-medium{margin-left:50%}.row>.col-7-medium{width:58.3333333333%}.row>.off-7-medium{margin-left:58.3333333333%}.row>.col-8-medium{width:66.6666666667%}.row>.off-8-medium{margin-left:66.6666666667%}.row>.col-9-medium{width:75%}.row>.off-9-medium{margin-left:75%}.row>.col-10-medium{width:83.3333333333%}.row>.off-10-medium{margin-left:83.3333333333%}.row>.col-11-medium{width:91.6666666667%}.row>.off-11-medium{margin-left:91.6666666667%}.row>.col-12-medium{width:100%}.row>.off-12-medium{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0 0 0 0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width:736px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-small{order:-1}.row>.col-1-small{width:8.3333333333%}.row>.off-1-small{margin-left:8.3333333333%}.row>.col-2-small{width:16.6666666667%}.row>.off-2-small{margin-left:16.6666666667%}.row>.col-3-small{width:25%}.row>.off-3-small{margin-left:25%}.row>.col-4-small{width:33.3333333333%}.row>.off-4-small{margin-left:33.3333333333%}.row>.col-5-small{width:41.6666666667%}.row>.off-5-small{margin-left:41.6666666667%}.row>.col-6-small{width:50%}.row>.off-6-small{margin-left:50%}.row>.col-7-small{width:58.3333333333%}.row>.off-7-small{margin-left:58.3333333333%}.row>.col-8-small{width:66.6666666667%}.row>.off-8-small{margin-left:66.6666666667%}.row>.col-9-small{width:75%}.row>.off-9-small{margin-left:75%}.row>.col-10-small{width:83.3333333333%}.row>.off-10-small{margin-left:83.3333333333%}.row>.col-11-small{width:91.6666666667%}.row>.off-11-small{margin-left:91.6666666667%}.row>.col-12-small{width:100%}.row>.off-12-small{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0 0 0 0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}@media screen and (max-width:480px){.row{display:flex;flex-wrap:wrap;box-sizing:border-box;align-items:stretch}.row>*{box-sizing:border-box}.row.gtr-uniform>*>:last-child{margin-bottom:0}.row.aln-left{justify-content:flex-start}.row.aln-center{justify-content:center}.row.aln-right{justify-content:flex-end}.row.aln-top{align-items:flex-start}.row.aln-middle{align-items:center}.row.aln-bottom{align-items:flex-end}.row>.imp-xsmall{order:-1}.row>.col-1-xsmall{width:8.3333333333%}.row>.off-1-xsmall{margin-left:8.3333333333%}.row>.col-2-xsmall{width:16.6666666667%}.row>.off-2-xsmall{margin-left:16.6666666667%}.row>.col-3-xsmall{width:25%}.row>.off-3-xsmall{margin-left:25%}.row>.col-4-xsmall{width:33.3333333333%}.row>.off-4-xsmall{margin-left:33.3333333333%}.row>.col-5-xsmall{width:41.6666666667%}.row>.off-5-xsmall{margin-left:41.6666666667%}.row>.col-6-xsmall{width:50%}.row>.off-6-xsmall{margin-left:50%}.row>.col-7-xsmall{width:58.3333333333%}.row>.off-7-xsmall{margin-left:58.3333333333%}.row>.col-8-xsmall{width:66.6666666667%}.row>.off-8-xsmall{margin-left:66.6666666667%}.row>.col-9-xsmall{width:75%}.row>.off-9-xsmall{margin-left:75%}.row>.col-10-xsmall{width:83.3333333333%}.row>.off-10-xsmall{margin-left:83.3333333333%}.row>.col-11-xsmall{width:91.6666666667%}.row>.off-11-xsmall{margin-left:91.6666666667%}.row>.col-12-xsmall{width:100%}.row>.off-12-xsmall{margin-left:100%}.row.gtr-0{margin-top:0;margin-left:0}.row.gtr-0>*{padding:0 0 0 0}.row.gtr-0.gtr-uniform{margin-top:0}.row.gtr-0.gtr-uniform>*{padding-top:0}.row.gtr-25{margin-top:0;margin-left:-.375em}.row.gtr-25>*{padding:0 0 0 .375em}.row.gtr-25.gtr-uniform{margin-top:-.375em}.row.gtr-25.gtr-uniform>*{padding-top:.375em}.row.gtr-50{margin-top:0;margin-left:-.75em}.row.gtr-50>*{padding:0 0 0 .75em}.row.gtr-50.gtr-uniform{margin-top:-.75em}.row.gtr-50.gtr-uniform>*{padding-top:.75em}.row{margin-top:0;margin-left:-1.5em}.row>*{padding:0 0 0 1.5em}.row.gtr-uniform{margin-top:-1.5em}.row.gtr-uniform>*{padding-top:1.5em}.row.gtr-150{margin-top:0;margin-left:-2.25em}.row.gtr-150>*{padding:0 0 0 2.25em}.row.gtr-150.gtr-uniform{margin-top:-2.25em}.row.gtr-150.gtr-uniform>*{padding-top:2.25em}.row.gtr-200{margin-top:0;margin-left:-3em}.row.gtr-200>*{padding:0 0 0 3em}.row.gtr-200.gtr-uniform{margin-top:-3em}.row.gtr-200.gtr-uniform>*{padding-top:3em}}section.special,article.special{text-align:center}header p{color:rgba(255,255,255,.5);position:relative;top:-.25em}header h3+p{font-size:1.1em}header h4+p,header h5+p,header h6+p{font-size:.9em}header.major{margin:0 0 3.5em}header.major h2,header.major h3,header.major h4,header.major h5,header.major h6{border-bottom:solid 2px #fff;display:inline-block;padding-bottom:1em;position:relative}header.major h2:after,header.major h3:after,header.major h4:after,header.major h5:after,header.major h6:after{content:'';display:block;height:1px}header.major p{color:#fff;top:0}@media screen and (max-width:736px){header.major{margin:0 0 2em}}@media screen and (max-width:980px){header br{display:none}}form{margin:0 0 2em}label{color:#fff;display:block;font-size:.9em;font-weight:600;margin:0 0 1em}input[type=text],input[type=password],input[type=email],select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;background-color:rgba(144,144,144,.25);border-radius:3px;border:none;color:inherit;display:block;outline:0;padding:0 1em;text-decoration:none;width:100%}input[type=text]:invalid,input[type=password]:invalid,input[type=email]:invalid,select:invalid,textarea:invalid{box-shadow:none}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px #21b2a6}select{background-size:1.25em;background-repeat:no-repeat;background-position:calc(100% - 1em);height:2.75em;padding-right:2.75em;text-overflow:ellipsis}select:focus::-ms-value{background-color:transparent}select::-ms-expand{display:none}input[type=text],input[type=password],input[type=email],select{height:2.75em}textarea{padding:.75em 1em}input[type=checkbox],input[type=radio]{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;display:block;float:left;margin-right:-2em;opacity:0;width:1em;z-index:-1}input[type=checkbox]+label,input[type=radio]+label{text-decoration:none;color:#fff;cursor:pointer;display:inline-block;font-size:1em;font-weight:400;padding-left:2.4em;padding-right:.75em;position:relative}input[type=checkbox]+label:before,input[type=radio]+label:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:'font awesome 6 free';font-weight:900}input[type=checkbox]+label:before,input[type=radio]+label:before{background:rgba(144,144,144,.25);border-radius:3px;content:'';display:inline-block;font-size:.8em;height:2.0625em;left:0;line-height:2.0625em;position:absolute;text-align:center;top:0;width:2.0625em}input[type=checkbox]:checked+label:before,input[type=radio]:checked+label:before{background:#2e3842;color:#fff;content:'\f00c'}input[type=checkbox]:focus+label:before,input[type=radio]:focus+label:before{box-shadow:0 0 0 2px #21b2a6}input[type=checkbox]+label:before{border-radius:3px}input[type=radio]+label:before{border-radius:100%}::-webkit-input-placeholder{color:rgba(255,255,255,.5)!important;opacity:1}:-moz-placeholder{color:rgba(255,255,255,.5)!important;opacity:1}::-moz-placeholder{color:rgba(255,255,255,.5)!important;opacity:1}:-ms-input-placeholder{color:rgba(255,255,255,.5)!important;opacity:1}.box{border-radius:3px;border:solid 2px #fff;margin-bottom:2em;padding:1.5em}.box>:last-child,.box>:last-child>:last-child,.box>:last-child>:last-child>:last-child{margin-bottom:0}.box.alt{border:0;border-radius:0;padding:0}.icon{text-decoration:none;border-bottom:none;position:relative}.icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;text-transform:none!important;font-family:'font awesome 6 free';font-weight:400}.icon>.label{display:none}.icon:before{line-height:inherit}.icon.solid:before{font-weight:900}.icon.brands:before{font-family:'font awesome 6 brands'}.icon.major{-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:3px;border:solid 2px #fff;display:inline-block;font-size:1.35em;height:calc(3em + 2px);line-height:3em;text-align:center;width:calc(3em + 2px)}.icon.major:before{-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);display:inline-block;font-size:1.5em}@media screen and (max-width:736px){.icon.major{font-size:1em}}.icon.style1{color:#0fc}.icon.style2{color:#00f0ff}.icon.style3{color:#76ddff}.image{border-radius:3px;border:0;display:inline-block;position:relative}.image img{border-radius:3px;display:block}.image.left{float:left;margin:0 2em 2em 0;top:.25em}.image.right{float:right;margin:0 0 2em 2em;top:.25em}.image.left,.image.right{max-width:40%}.image.left img,.image.right img{width:100%}.image.fit{display:block;margin:0 0 2em;width:100%}.image.fit img{width:100%}ol{list-style:decimal;margin:0 0 2em;padding-left:1.25em}ol li{padding-left:.25em}ul{list-style:disc;margin:0 0 2em;padding-left:1em}ul li{padding-left:.5em}ul.alt{list-style:none;padding-left:0}ul.alt li{border-top:solid 1px #fff;padding:.5em 0}ul.alt li:first-child{border-top:0;padding-top:0}dl{margin:0 0 2em}ul.actions{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;cursor:default;list-style:none;margin-left:-1em;padding-left:0}ul.actions li{padding:0 0 0 1em;vertical-align:middle}ul.actions.special{-moz-justify-content:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;width:100%;margin-left:0}ul.actions.special li:first-child{padding-left:0}ul.actions.stacked{-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-left:0}ul.actions.stacked li{padding:1em 0 0}ul.actions.stacked li:first-child{padding-top:0}ul.actions.fit{width:calc(100% + 1em)}ul.actions.fit li{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;width:100%}ul.actions.fit li>*{width:100%}ul.actions.fit.stacked{width:100%}@media screen and (max-width:480px){ul.actions:not(.fixed){-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-left:0;width:100%!important}ul.actions:not(.fixed) li{-moz-flex-grow:1;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1;-moz-flex-shrink:1;-webkit-flex-shrink:1;-ms-flex-shrink:1;flex-shrink:1;padding:1em 0 0;text-align:center;width:100%}ul.actions:not(.fixed) li>*{width:100%}ul.actions:not(.fixed) li:first-child{padding-top:0}ul.actions:not(.fixed) li input[type=submit],ul.actions:not(.fixed) li input[type=reset],ul.actions:not(.fixed) li input[type=button],ul.actions:not(.fixed) li button,ul.actions:not(.fixed) li .button{width:100%}ul.actions:not(.fixed) li input[type=submit].icon:before,ul.actions:not(.fixed) li input[type=reset].icon:before,ul.actions:not(.fixed) li input[type=button].icon:before,ul.actions:not(.fixed) li button.icon:before,ul.actions:not(.fixed) li .button.icon:before{margin-left:-.5em}}ul.icons{cursor:default;list-style:none;padding-left:0}ul.icons li{display:inline-block;padding:0 1em 0 0}ul.icons li:last-child{padding-right:0!important}ul.icons.major{padding:1em 0}ul.icons.major li{padding-right:3.5em}@media screen and (max-width:736px){ul.icons.major li{padding:0 1em!important}}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}table{margin:0 0 2em;width:100%}table tbody tr{border:solid 1px #fff;border-left:0;border-right:0}table tbody tr:nth-child(2n+1){background-color:rgba(144,144,144,.25)}table td{padding:.75em}table th{color:#fff;font-size:.9em;font-weight:600;padding:0 .75em .75em;text-align:left}table thead{border-bottom:solid 2px #fff}table tfoot{border-top:solid 2px #fff}table.alt{border-collapse:separate}table.alt tbody tr td{border:solid 1px #fff;border-left-width:0;border-top-width:0}table.alt tbody tr td:first-child{border-left-width:1px}table.alt tbody tr:first-child td{border-top-width:1px}table.alt thead{border-bottom:0}table.alt tfoot{border-top:0}input[type=submit],input[type=reset],input[type=button],button,.button{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none;-moz-transition:background-color .2s ease-in-out,color .2s ease-in-out;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out;background-color:transparent;border-radius:3px;border:0;box-shadow:inset 0 0 0 2px #fff;color:#fff;cursor:pointer;display:inline-block;font-size:.8em;font-weight:600;height:3.125em;letter-spacing:.225em;line-height:3.125em;max-width:30em;padding:0 2.75em;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}input[type=submit]:hover,input[type=reset]:hover,input[type=button]:hover,button:hover,.button:hover{background-color:rgba(144,144,144,.25)}input[type=submit]:active,input[type=reset]:active,input[type=button]:active,button:active,.button:active{background-color:rgba(144,144,144,.5)}input[type=submit].icon:before,input[type=reset].icon:before,input[type=button].icon:before,button.icon:before,.button.icon:before{margin-right:.5em}input[type=submit].fit,input[type=reset].fit,input[type=button].fit,button.fit,.button.fit{width:100%}input[type=submit].small,input[type=reset].small,input[type=button].small,button.small,.button.small{font-size:.8em}input[type=submit].large,input[type=reset].large,input[type=button].large,button.large,.button.large{font-size:1.35em}input[type=submit].primary,input[type=reset].primary,input[type=button].primary,button.primary,.button.primary{background-color:#ed4933;box-shadow:none!important;color:#fff!important}input[type=submit].primary:hover,input[type=reset].primary:hover,input[type=button].primary:hover,button.primary:hover,.button.primary:hover{background-color:#ef5e4a!important}input[type=submit].primary:active,input[type=reset].primary:active,input[type=button].primary:active,button.primary:active,.button.primary:active{background-color:#eb341c!important}input[type=submit].disabled,input[type=submit]:disabled,input[type=reset].disabled,input[type=reset]:disabled,input[type=button].disabled,input[type=button]:disabled,button.disabled,button:disabled,.button.disabled,.button:disabled{pointer-events:none;opacity:.25}@media screen and (max-width:736px){input[type=submit],input[type=reset],input[type=button],button,.button{height:3.75em;line-height:3.75em}}.features{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-moz-justify-content:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;list-style:none;padding:0;width:100%}.features li{padding:4em 4em 2em 6em;display:block;position:relative;text-align:left;width:50%}.features li:nth-child(1){background-color:rgba(0,0,0,.035)}.features li:nth-child(2){background-color:rgba(0,0,0,7%)}.features li:nth-child(3){background-color:rgba(0,0,0,.105)}.features li:nth-child(4){background-color:rgba(0,0,0,.14)}.features li:nth-child(5){background-color:rgba(0,0,0,.175)}.features li:nth-child(6){background-color:rgba(0,0,0,.21)}.features li:nth-child(7){background-color:rgba(0,0,0,.245)}.features li:nth-child(8){background-color:rgba(0,0,0,.28)}.features li:nth-child(9){background-color:rgba(0,0,0,.315)}.features li:nth-child(10){background-color:rgba(0,0,0,.35)}.features li:before{display:block;color:#0fc;position:absolute;left:1.75em;top:2.75em;font-size:1.5em}.features li:nth-child(1){border-top-left-radius:3px}.features li:nth-child(2){border-top-right-radius:3px}.features li:nth-last-child(1){border-bottom-right-radius:3px}.features li:nth-last-child(2){border-bottom-left-radius:3px}@media screen and (max-width:980px){.features li{padding:3em 2em 1em;text-align:center}.features li:before{left:0;margin:0 0 1em;position:relative;top:0}}@media screen and (max-width:736px){.features li{padding:3em 0 1em;background-color:transparent!important;border-top:solid 2px #fff;width:100%}.features li:first-child{border-top:0}}.spotlight{-moz-align-items:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex}.spotlight .image{-moz-order:1;-webkit-order:1;-ms-order:1;order:1;border-radius:0;width:40%}.spotlight .image img{border-radius:0;width:100%}.spotlight .content{padding:2em 4em .1em;-moz-order:2;-webkit-order:2;-ms-order:2;order:2;max-width:48em;width:60%}.spotlight:nth-child(2n){-moz-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.spotlight:nth-child(1){background-color:rgba(0,0,0,.075)}.spotlight:nth-child(2){background-color:rgba(0,0,0,.15)}.spotlight:nth-child(3){background-color:rgba(0,0,0,.225)}.spotlight:nth-child(4){background-color:rgba(0,0,0,.3)}.spotlight:nth-child(5){background-color:rgba(0,0,0,.375)}.spotlight:nth-child(6){background-color:rgba(0,0,0,.45)}.spotlight:nth-child(7){background-color:rgba(0,0,0,.525)}.spotlight:nth-child(8){background-color:rgba(0,0,0,.6)}.spotlight:nth-child(9){background-color:rgba(0,0,0,.675)}.spotlight:nth-child(10){background-color:rgba(0,0,0,.75)}@media screen and (max-width:1280px){.spotlight .image{width:45%}.spotlight .content{width:55%}}@media screen and (max-width:980px){.spotlight{display:block}.spotlight br{display:none}.spotlight .image{width:100%}.spotlight .content{padding:4em 3em 2em;max-width:none;text-align:center;width:100%}}@media screen and (max-width:736px){.spotlight .content{padding:3em 2em 1em}}.wrapper{padding:6em 0 4em}.wrapper>.inner{width:60em;margin:0 auto}@media screen and (max-width:1280px){.wrapper>.inner{width:90%}}@media screen and (max-width:980px){.wrapper>.inner{width:100%}}.wrapper.alt{padding:0}.wrapper.style1{background-color:#21b2a6;color:#c8ece9}.wrapper.style1 strong,.wrapper.style1 b{color:#fff}.wrapper.style1 h2,.wrapper.style1 h3,.wrapper.style1 h4,.wrapper.style1 h5,.wrapper.style1 h6{color:#fff}.wrapper.style1 hr{border-color:rgba(0,0,0,.125)}.wrapper.style1 blockquote{border-color:rgba(0,0,0,.125)}.wrapper.style1 code{background:rgba(255,255,255,.075)}.wrapper.style1 header p{color:#a6e0db}.wrapper.style1 header.major h2,.wrapper.style1 header.major h3,.wrapper.style1 header.major h4,.wrapper.style1 header.major h5,.wrapper.style1 header.major h6{border-color:rgba(0,0,0,.125)}.wrapper.style1 header.major p{color:#c8ece9}.wrapper.style1 label{color:#fff}.wrapper.style1 input[type=text],.wrapper.style1 input[type=password],.wrapper.style1 input[type=email],.wrapper.style1 select,.wrapper.style1 textarea{background-color:rgba(255,255,255,.075)}.wrapper.style1 select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2240%22%20height=%2240%22%20preserveAspectRatio=%22none%22%20viewBox=%220%200%2040%2040%22%3E%3Cpath%20d=%22M9.4%2012.3l10.4%2010.4%2010.4-10.4c.2-.2.5-.4.9-.4.3.0.6.1.9.4l3.3%203.3c.2.2.4.5.4.9s-.1.6-.4.9L20.7%2031.9c-.2.2-.5.4-.9.4-.3.0-.6-.1-.9-.4L4.3%2017.3c-.2-.2-.4-.5-.4-.9s.1-.6.4-.9l3.3-3.3c.2-.2.5-.4.9-.4S9.1%2012.1%209.4%2012.3z%22%20fill=%22rgba(0,%200,%200,%200.125)%22/%3E%3C/svg%3E")}.wrapper.style1 select option{color:#fff;background:#21b2a6}.wrapper.style1 input[type=checkbox]+label,.wrapper.style1 input[type=radio]+label{color:#c8ece9}.wrapper.style1 input[type=checkbox]+label:before,.wrapper.style1 input[type=radio]+label:before{background:rgba(255,255,255,.075)}.wrapper.style1 input[type=checkbox]:checked+label:before,.wrapper.style1 input[type=radio]:checked+label:before{background:#fff;color:#21b2a6}.wrapper.style1 ::-webkit-input-placeholder{color:#a6e0db!important}.wrapper.style1 :-moz-placeholder{color:#a6e0db!important}.wrapper.style1 ::-moz-placeholder{color:#a6e0db!important}.wrapper.style1 :-ms-input-placeholder{color:#a6e0db!important}.wrapper.style1 .formerize-placeholder{color:#a6e0db!important}.wrapper.style1 .icon.major{border-color:rgba(0,0,0,.125)}.wrapper.style1 ul.alt li{border-color:rgba(0,0,0,.125)}.wrapper.style1 table tbody tr{border-color:rgba(0,0,0,.125)}.wrapper.style1 table tbody tr:nth-child(2n+1){background-color:rgba(255,255,255,.075)}.wrapper.style1 table th{color:#fff}.wrapper.style1 table thead{border-color:rgba(0,0,0,.125)}.wrapper.style1 table tfoot{border-color:rgba(0,0,0,.125)}.wrapper.style1 table.alt tbody tr td{border-color:rgba(0,0,0,.125)}.wrapper.style1 input[type=submit],.wrapper.style1 input[type=reset],.wrapper.style1 input[type=button],.wrapper.style1 button,.wrapper.style1 .button{box-shadow:inset 0 0 0 2px rgba(0,0,0,.125);color:#fff}.wrapper.style1 input[type=submit]:hover,.wrapper.style1 input[type=reset]:hover,.wrapper.style1 input[type=button]:hover,.wrapper.style1 button:hover,.wrapper.style1 .button:hover{background-color:rgba(255,255,255,.075)}.wrapper.style1 input[type=submit]:active,.wrapper.style1 input[type=reset]:active,.wrapper.style1 input[type=button]:active,.wrapper.style1 button:active,.wrapper.style1 .button:active{background-color:rgba(255,255,255,.2)}@media screen and (max-width:736px){.wrapper.style1 .features li{border-top-color:rgba(0,0,0,.125)}}.wrapper.style2{background-color:#2e3842}.wrapper.style3{background-color:#505393;color:#d3d4e4}.wrapper.style3 strong,.wrapper.style3 b{color:#fff}.wrapper.style3 h2,.wrapper.style3 h3,.wrapper.style3 h4,.wrapper.style3 h5,.wrapper.style3 h6{color:#fff}.wrapper.style3 hr{border-color:rgba(0,0,0,.125)}.wrapper.style3 blockquote{border-color:rgba(0,0,0,.125)}.wrapper.style3 code{background:rgba(255,255,255,.075)}.wrapper.style3 header p{color:#b9bad4}.wrapper.style3 header.major h2,.wrapper.style3 header.major h3,.wrapper.style3 header.major h4,.wrapper.style3 header.major h5,.wrapper.style3 header.major h6{border-color:rgba(0,0,0,.125)}.wrapper.style3 header.major p{color:#d3d4e4}.wrapper.style3 label{color:#fff}.wrapper.style3 input[type=text],.wrapper.style3 input[type=password],.wrapper.style3 input[type=email],.wrapper.style3 select,.wrapper.style3 textarea{background-color:rgba(255,255,255,.075)}.wrapper.style3 select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2240%22%20height=%2240%22%20preserveAspectRatio=%22none%22%20viewBox=%220%200%2040%2040%22%3E%3Cpath%20d=%22M9.4%2012.3l10.4%2010.4%2010.4-10.4c.2-.2.5-.4.9-.4.3.0.6.1.9.4l3.3%203.3c.2.2.4.5.4.9s-.1.6-.4.9L20.7%2031.9c-.2.2-.5.4-.9.4-.3.0-.6-.1-.9-.4L4.3%2017.3c-.2-.2-.4-.5-.4-.9s.1-.6.4-.9l3.3-3.3c.2-.2.5-.4.9-.4S9.1%2012.1%209.4%2012.3z%22%20fill=%22rgba(0,%200,%200,%200.125)%22/%3E%3C/svg%3E")}.wrapper.style3 select option{color:#fff;background:#505393}.wrapper.style3 input[type=checkbox]+label,.wrapper.style3 input[type=radio]+label{color:#d3d4e4}.wrapper.style3 input[type=checkbox]+label:before,.wrapper.style3 input[type=radio]+label:before{background:rgba(255,255,255,.075)}.wrapper.style3 input[type=checkbox]:checked+label:before,.wrapper.style3 input[type=radio]:checked+label:before{background:#fff;color:#505393}.wrapper.style3 ::-webkit-input-placeholder{color:#b9bad4!important}.wrapper.style3 :-moz-placeholder{color:#b9bad4!important}.wrapper.style3 ::-moz-placeholder{color:#b9bad4!important}.wrapper.style3 :-ms-input-placeholder{color:#b9bad4!important}.wrapper.style3 .formerize-placeholder{color:#b9bad4!important}.wrapper.style3 .icon.major{border-color:rgba(0,0,0,.125)}.wrapper.style3 ul.alt li{border-color:rgba(0,0,0,.125)}.wrapper.style3 table tbody tr{border-color:rgba(0,0,0,.125)}.wrapper.style3 table tbody tr:nth-child(2n+1){background-color:rgba(255,255,255,.075)}.wrapper.style3 table th{color:#fff}.wrapper.style3 table thead{border-color:rgba(0,0,0,.125)}.wrapper.style3 table tfoot{border-color:rgba(0,0,0,.125)}.wrapper.style3 table.alt tbody tr td{border-color:rgba(0,0,0,.125)}.wrapper.style3 input[type=submit],.wrapper.style3 input[type=reset],.wrapper.style3 input[type=button],.wrapper.style3 button,.wrapper.style3 .button{box-shadow:inset 0 0 0 2px rgba(0,0,0,.125);color:#fff}.wrapper.style3 input[type=submit]:hover,.wrapper.style3 input[type=reset]:hover,.wrapper.style3 input[type=button]:hover,.wrapper.style3 button:hover,.wrapper.style3 .button:hover{background-color:rgba(255,255,255,.075)}.wrapper.style3 input[type=submit]:active,.wrapper.style3 input[type=reset]:active,.wrapper.style3 input[type=button]:active,.wrapper.style3 button:active,.wrapper.style3 .button:active{background-color:rgba(255,255,255,.2)}@media screen and (max-width:736px){.wrapper.style3 .features li{border-top-color:rgba(0,0,0,.125)}}.wrapper.style4{background-color:transparent}.wrapper.style5{background-color:#fff;color:#4e4852}.wrapper.style5 strong,.wrapper.style5 b{color:#2e3842}.wrapper.style5 h2,.wrapper.style5 h3,.wrapper.style5 h4,.wrapper.style5 h5,.wrapper.style5 h6{color:#2e3842}.wrapper.style5 hr{border-color:#dfdfdf}.wrapper.style5 blockquote{border-color:#dfdfdf}.wrapper.style5 code{background:rgba(0,0,0,.0375)}.wrapper.style5 header p{color:#8e8892}.wrapper.style5 header.major h2,.wrapper.style5 header.major h3,.wrapper.style5 header.major h4,.wrapper.style5 header.major h5,.wrapper.style5 header.major h6{border-color:#dfdfdf}.wrapper.style5 header.major p{color:#4e4852}.wrapper.style5 label{color:#2e3842}.wrapper.style5 input[type=text],.wrapper.style5 input[type=password],.wrapper.style5 input[type=email],.wrapper.style5 select,.wrapper.style5 textarea{background-color:rgba(0,0,0,.0375)}.wrapper.style5 select{background-image:url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2240%22%20height=%2240%22%20preserveAspectRatio=%22none%22%20viewBox=%220%200%2040%2040%22%3E%3Cpath%20d=%22M9.4%2012.3l10.4%2010.4%2010.4-10.4c.2-.2.5-.4.9-.4.3.0.6.1.9.4l3.3%203.3c.2.2.4.5.4.9s-.1.6-.4.9L20.7%2031.9c-.2.2-.5.4-.9.4-.3.0-.6-.1-.9-.4L4.3%2017.3c-.2-.2-.4-.5-.4-.9s.1-.6.4-.9l3.3-3.3c.2-.2.5-.4.9-.4S9.1%2012.1%209.4%2012.3z%22%20fill=%22%23dfdfdf%22/%3E%3C/svg%3E)}.wrapper.style5 select option{color:#2e3842;background:#fff}.wrapper.style5 input[type=checkbox]+label,.wrapper.style5 input[type=radio]+label{color:#4e4852}.wrapper.style5 input[type=checkbox]+label:before,.wrapper.style5 input[type=radio]+label:before{background:rgba(0,0,0,.0375)}.wrapper.style5 input[type=checkbox]:checked+label:before,.wrapper.style5 input[type=radio]:checked+label:before{background:#2e3842;color:#fff}.wrapper.style5 ::-webkit-input-placeholder{color:#8e8892!important}.wrapper.style5 :-moz-placeholder{color:#8e8892!important}.wrapper.style5 ::-moz-placeholder{color:#8e8892!important}.wrapper.style5 :-ms-input-placeholder{color:#8e8892!important}.wrapper.style5 .formerize-placeholder{color:#8e8892!important}.wrapper.style5 .icon.major{border-color:#dfdfdf}.wrapper.style5 ul.alt li{border-color:#dfdfdf}.wrapper.style5 table tbody tr{border-color:#dfdfdf}.wrapper.style5 table tbody tr:nth-child(2n+1){background-color:rgba(0,0,0,.0375)}.wrapper.style5 table th{color:#2e3842}.wrapper.style5 table thead{border-color:#dfdfdf}.wrapper.style5 table tfoot{border-color:#dfdfdf}.wrapper.style5 table.alt tbody tr td{border-color:#dfdfdf}.wrapper.style5 input[type=submit],.wrapper.style5 input[type=reset],.wrapper.style5 input[type=button],.wrapper.style5 button,.wrapper.style5 .button{box-shadow:inset 0 0 0 2px #dfdfdf;color:#2e3842}.wrapper.style5 input[type=submit]:hover,.wrapper.style5 input[type=reset]:hover,.wrapper.style5 input[type=button]:hover,.wrapper.style5 button:hover,.wrapper.style5 .button:hover{background-color:rgba(0,0,0,.0375)}.wrapper.style5 input[type=submit]:active,.wrapper.style5 input[type=reset]:active,.wrapper.style5 input[type=button]:active,.wrapper.style5 button:active,.wrapper.style5 .button:active{background-color:rgba(0,0,0,.1)}@media screen and (max-width:736px){.wrapper.style5 .features li{border-top-color:#dfdfdf}}@media screen and (max-width:980px){.wrapper{padding:4em 3em 2em}}@media screen and (max-width:736px){.wrapper{padding:3em 2em 1em}}#page-wrapper{-moz-transition:opacity .5s ease;-webkit-transition:opacity .5s ease;-ms-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1;padding-top:3em}#page-wrapper:before{background:0 0;content:'';display:block;display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:10001}#menu{-moz-transform:translateX(20em);-webkit-transform:translateX(20em);-ms-transform:translateX(20em);transform:translateX(20em);-moz-transition:-moz-transform .5s ease;-webkit-transition:-webkit-transform .5s ease;-ms-transition:-ms-transform .5s ease;transition:transform .5s ease;-webkit-overflow-scrolling:touch;background:#21b2a6;color:#fff;height:100%;max-width:80%;overflow-y:auto;padding:3em 2em;position:fixed;right:0;top:0;width:20em;z-index:10002}#menu ul{list-style:none;padding:0}#menu ul>li{border-top:solid 1px rgba(0,0,0,.125);margin:.5em 0 0;padding:.5em 0 0}#menu ul>li:first-child{border-top:0!important;margin-top:0!important;padding-top:0!important}#menu ul>li>a{border:0;color:inherit;display:block;font-size:.8em;letter-spacing:.225em;outline:0;text-decoration:none;text-transform:uppercase}@media screen and (max-width:736px){#menu ul>li>a{line-height:3em}}#menu .close{background-image:url(images/close.svg);background-position:4.85em 1em;background-repeat:no-repeat;border:0;cursor:pointer;display:block;height:3em;position:absolute;right:0;top:0;vertical-align:middle;width:7em}@media screen and (max-width:736px){#menu{padding:3em 1.5em}}body.is-menu-visible #page-wrapper{opacity:.35}body.is-menu-visible #page-wrapper:before{display:block}body.is-menu-visible #menu{-moz-transform:translateX(0);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}#header{-moz-transition:background-color .2s ease;-webkit-transition:background-color .2s ease;-ms-transition:background-color .2s ease;transition:background-color .2s ease;background:#2e3842;height:3em;left:0;line-height:3em;position:fixed;top:0;width:100%;z-index:10000}#header h1{-moz-transition:opacity .2s ease;-webkit-transition:opacity .2s ease;-ms-transition:opacity .2s ease;transition:opacity .2s ease;height:inherit;left:1.25em;line-height:inherit;position:absolute;top:0}#header h1 a{border:0;display:block;height:inherit;line-height:inherit}@media screen and (max-width:736px){#header h1 a{font-size:.8em}}#header nav{height:inherit;line-height:inherit;position:absolute;right:0;top:0}#header nav>ul{list-style:none;margin:0;padding:0;white-space:nowrap}#header nav>ul>li{display:inline-block;padding:0}#header nav>ul>li>a{border:0;color:#fff;display:block;font-size:.8em;letter-spacing:.225em;padding:0 1.5em;text-transform:uppercase}#header nav>ul>li>a.menuToggle{outline:0;position:relative}#header nav>ul>li>a.menuToggle:after{background-image:url(images/bars.svg);background-position:100%;background-repeat:no-repeat;content:'';display:inline-block;height:3.75em;vertical-align:top;width:2em}@media screen and (max-width:736px){#header nav>ul>li>a.menuToggle{padding:0 1.5em}#header nav>ul>li>a.menuToggle span{display:none}}@media screen and (max-width:736px){#header nav>ul>li>a{padding:0 0 0 1.5em}}#header nav>ul>li:first-child{margin-left:0}#header.alt{background:0 0}#header.alt h1{pointer-events:none;opacity:0}#banner{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;-moz-flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-moz-justify-content:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;cursor:default;height:100vh;min-height:35em;overflow:hidden;position:relative;text-align:center}#banner h2{-moz-transform:scale(1);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-moz-transition:-moz-transform .5s ease,opacity .5s ease;-webkit-transition:-webkit-transform .5s ease,opacity .5s ease;-ms-transition:-ms-transform .5s ease,opacity .5s ease;transition:transform .5s ease,opacity .5s ease;display:inline-block;font-size:1.75em;opacity:1;padding:.35em 1em;position:relative;z-index:1}#banner h2:before,#banner h2:after{-moz-transition:width .85s ease;-webkit-transition:width .85s ease;-ms-transition:width .85s ease;transition:width .85s ease;-moz-transition-delay:.25s;-webkit-transition-delay:.25s;-ms-transition-delay:.25s;transition-delay:.25s;background:#fff;content:'';display:block;height:2px;position:absolute;width:100%}#banner h2:before{top:0;left:0}#banner h2:after{bottom:0;right:0}#banner p{letter-spacing:.225em;text-transform:uppercase}#banner p a{color:inherit}#banner .more{-moz-transition:-moz-transform .75s ease,opacity .75s ease;-webkit-transition:-webkit-transform .75s ease,opacity .75s ease;-ms-transition:-ms-transform .75s ease,opacity .75s ease;transition:transform .75s ease,opacity .75s ease;-moz-transition-delay:3.5s;-webkit-transition-delay:3.5s;-ms-transition-delay:3.5s;transition-delay:3.5s;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);border:none;bottom:0;color:inherit;font-size:.8em;height:8.5em;left:50%;letter-spacing:.225em;margin-left:-8.5em;opacity:1;outline:0;padding-left:.225em;position:absolute;text-align:center;text-transform:uppercase;width:16em;z-index:1}#banner .more:after{background-image:url(images/arrow.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;bottom:4em;content:'';display:block;height:1.5em;left:50%;margin:0 0 0 -.75em;position:absolute;width:1.5em}#banner:after{pointer-events:none;-moz-transition:opacity 3s ease-in-out;-webkit-transition:opacity 3s ease-in-out;-ms-transition:opacity 3s ease-in-out;transition:opacity 3s ease-in-out;-moz-transition-delay:1.25s;-webkit-transition-delay:1.25s;-ms-transition-delay:1.25s;transition-delay:1.25s;content:'';background:#2e3842;display:block;width:100%;height:100%;position:absolute;left:0;top:0;opacity:0}@media screen and (max-width:736px){#banner{padding:7em 3em 5em;height:auto;min-height:0}#banner h2{font-size:1.25em}#banner br{display:none}#banner .more{display:none}}body.is-preload #banner h2{-moz-transform:scale(.95);-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95);opacity:0}body.is-preload #banner h2:before,body.is-preload #banner h2:after{width:0}body.is-preload #banner .more{-moz-transform:translateY(8.5em);-webkit-transform:translateY(8.5em);-ms-transform:translateY(8.5em);transform:translateY(8.5em);opacity:0}body.is-preload #banner:after{opacity:1}#cta .inner{display:-moz-flex;display:-webkit-flex;display:-ms-flex;display:flex;max-width:45em}#cta .inner header{-moz-order:1;-webkit-order:1;-ms-order:1;order:1;padding-right:3em;width:70%}#cta .inner header p{color:inherit}#cta .inner .actions{-moz-order:2;-webkit-order:2;-ms-order:2;order:2;width:30%}@media screen and (max-width:980px){#cta .inner{display:block;text-align:center}#cta .inner header{padding-right:0;width:100%}#cta .inner .actions{margin-left:auto;margin-right:auto;max-width:20em;width:100%}}@media screen and (max-width:736px){#cta .inner .actions{max-width:none}}#main>header{padding:12em 0 10em;background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:-ms-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;text-align:center}#main>header h2{font-size:1.75em;margin:0 0 .5em}#main>header p{color:inherit;letter-spacing:.225em;text-transform:uppercase;top:0}#main>header p a{color:inherit}@media screen and (max-width:1680px){#main>header{padding:10em 0 8em}}@media screen and (max-width:1280px){#main>header{padding:8em 3em 6em}}@media screen and (max-width:980px){#main>header{padding:10em 3em 8em}}@media screen and (max-width:736px){#main>header{padding:5em 3em 3em}#main>header h2{font-size:1.25em;margin:0 0 1em}}body.is-mobile #main>header{background-attachment:scroll}#footer{padding:6em 0 4em;background-color:#1d242a;text-align:center}#footer .icons{font-size:1.25em}#footer .icons a{color:rgba(255,255,255,.5)}#footer .icons a:hover{color:#fff}#footer .copyright{color:rgba(255,255,255,.5);font-size:.8em;letter-spacing:.225em;list-style:none;padding:0;text-transform:uppercase}#footer .copyright li{border-left:solid 1px rgba(255,255,255,.5);display:inline-block;line-height:1em;margin-left:1em;padding-left:1em}#footer .copyright li:first-child{border-left:0;margin-left:0;padding-left:0}#footer .copyright li a{color:inherit}#footer .copyright li a:hover{color:#fff}@media screen and (max-width:480px){#footer .copyright li{border:0;display:block;line-height:1.65em;margin:0;padding:.5em 0}}@media screen and (max-width:980px){#footer{padding:4em 3em 2em}}@media screen and (max-width:736px){#footer{padding:3em 2em 1em}}body.landing #page-wrapper{background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:-ms-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;padding-top:0}body.landing #footer{background-color:rgba(29,36,42,.9)}body.is-mobile.landing #page-wrapper{background:0 0}body.is-mobile.landing #banner,body.is-mobile.landing .wrapper.style4{background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:-ms-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-image:linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../../images/banner.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover}body.is-mobile.landing #footer{background-color:#1d242a}
\ No newline at end of file diff --git a/public/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css b/public/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css new file mode 100644 index 0000000..9a7039f --- /dev/null +++ b/public/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css @@ -0,0 +1 @@ +body.is-preload #banner h2{-moz-transform:none;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}body.is-preload #banner h2:before,body.is-preload #banner h2:after{width:100%}body.is-preload #banner .more{-moz-transform:none;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}body.is-preload #banner:after{opacity:0}
\ No newline at end of file diff --git a/public/debianprogs.csv b/public/debianprogs.csv new file mode 100644 index 0000000..870e89c --- /dev/null +++ b/public/debianprogs.csv @@ -0,0 +1,97 @@ +#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing) +,noto-fonts,is an expansive font package. +,noto-fonts-emoji,is an emoji font. +,powerline-fonts,powerline support. +,texlive-langkorean,Korean support. +,ttf-font-awesome,provides extended glyph support. +,ttf-dejavu,properly displays emojis. +,ttf-droid,popular font. +,ttf-firacode-nerd,popular font. +,ttf-hack-nerd,popular font. +,ttf-melso-nerd,powerlevel10k support. +,abook,is an offline addressbook usable by neomutt. +,arandr,allows the user to customize monitor arrangements. +,atool,manages and gives information about archives. +,bat,can highlight code output and display files and is used to generate previews in the file browser. +,bc,is a mathematics language used for the dropdown calculator. +G,bluez,is a tool for bluetooth control command line. +G,bluez-utils,is utils for bluetooth. +,calcurse,terminal-based organizer for interactive and command line use +,dosfstools,allows your computer to access dos-like filesystems. +,dunst,is a suckless notification system. +,ecryptfs-utils,is a tool for cryptographic filesystem. +,exfat-utils,allows management of FAT drives. +,eza,colorful ls. +,fcitx5,changes input methods. +,fcitx5-hangul,Korean input method. +,fd-find,finds entries in the filesystem. +,ffmpeg,can record and splice video and audio on the command line. +,ffmpegthumbnailer,creates thumbnail previews of video files. +,firefox,is a common web browser. +,fzf,is a fuzzy finder tool used for easy selection and location of files. +,gimp,is an image manipulation and paint program. +G,git-delta,"highlights pager for git, diff, and grep output." +,gnome-keyring,serves as the system keyring. +G,htop-vim,is a graphical and colorful system monitor. +G,lazygit,manages git in Neovim +,lf,is an extensive terminal file manager that everyone likes. +,lib32-pipewire-jack,is a low-latency audio/video router and processor for multilib support. +,libertinus-font,provides the sans and serif fonts for THESIAH. +,libnotify,allows desktop notifications. +,lynx,"is a terminal browser also used in LARBS for generating in-terminal previews of websites, emails and HTML files." +,lxpolkit,is a policykit agent for LXDE. +,maim,can take quick screenshots at your request. +,man-db,lets you read man pages of programs. +,mediainfo,shows audio and video information and is used in the file browser. +,mpc,is a terminal interface for mpd. +,mpd,is a lightweight music daemon. +,mpv,is the patrician's choice video player. +G,mutt-wizard,is a light-weight terminal-based email system. +,ncmpcpp,a ncurses interface for music with multiple formats and a powerful tag editor. +,neovim,a tidier vim with some useful features +,newsboat,is a terminal RSS client. +,nodejs,nodejs for Neovim. +,npm,npm for tmuxinator that manages tmux sessions. +,nsxiv,is a minimalist image viewer. +,ntfs-3g,allows accessing NTFS partitions. +,pam-gnupg,auto unlocks when log-in. +,pass,manages passwords. +,pipewire-jack,is a low-latency audio/video router and processor - JACK replacement +,pipewire-pulse,gives pipewire compatibility with PulseAudio programs. +,polkit,manages user policies. +,poppler,manipulates .pdfs and gives .pdf previews and other .pdf functions. +,pulsemixer,is an audio controller. +P,pynvim,is for lsp in neovim. +G,python-qdarkstyle,provides a dark Qt theme. +,ripgrep,recursively searches the current directory for a regex pattern. +G,ripgrep-all,searches words in a line. +,sc-im,is an Excel-like terminal spreadsheet manager. +G,simple-mtpfs,enables the mounting of cell phones. +,socat,is a utility which establishes two byte streams and transfers data between them. +,tar,compresses or extracts files. +,task-spooler,queues commands or files for download. +,tk,manipulates tk internal state. +,tmux,manages mutiple terminal sessions/windows/panes in a terminal. +,ueberzug,enables previews in the lf file manager. +,ufw,is a tool for firewall. +,unclutter,hides an inactive mouse. +,unzip,unzips zips. +,urlview,enables to view url in a terminal. +,wireplumber,is the audio system. +,x11-ssh-askpass,is an X11-based pass-phrase dialog for use with OpenSSH. +,xcompmgr,is for transparency and removing screen-tearing. +,xcape,gives the special escape/super mappings of LARBS. +,xclip,allows for copying and pasting from the command line. +,xdotool,provides window action utilities on the command line. +,xorg-server,is the graphical server. This first one may take a while as it pulls many other dependencies first on clean installs. +,xorg-xbacklight,enables changing screen brightness levels. +,xorg-xinit,starts the graphical server. +,xorg-xev,is a tool for keymaps. +,xorg-xprop,is a tool for detecting window properties. +,xorg-xwininfo,allows querying information about windows. +,xwallpaper,sets the wallpaper. +,yt-dlp,can download any YouTube video (or playlist or channel) when given the link. +,zathura,is a pdf viewer with vim-like bindings. +G,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. +G,zoxide,is a tool enhanced cd command. +G,https://github.com/thesiah/Suckless.git,"dwm, dwmblocks, st, slock, dmenu." diff --git a/public/en/index.html b/public/en/index.html new file mode 100644 index 0000000..bf993c8 --- /dev/null +++ b/public/en/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <title>https://thesiah.xyz/</title> + <link rel="canonical" href="https://thesiah.xyz/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/"> + </head> +</html> diff --git a/public/en/sitemap.xml b/public/en/sitemap.xml new file mode 100644 index 0000000..ab23f6d --- /dev/null +++ b/public/en/sitemap.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" + xmlns:xhtml="http://www.w3.org/1999/xhtml"> + <url> + <loc>https://thesiah.xyz/categories/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/categories/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/categories/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/categories/" + /> + </url><url> + <loc>https://thesiah.xyz/series/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/series/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/series/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/series/" + /> + </url><url> + <loc>https://thesiah.xyz/tags/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/tags/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/tags/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/tags/" + /> + </url><url> + <loc>https://thesiah.xyz/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/" + /> + </url> +</urlset> diff --git a/public/es/categories/index.html b/public/es/categories/index.html new file mode 100644 index 0000000..f7fa093 --- /dev/null +++ b/public/es/categories/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="es"> + <head> + <title>Categories</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/categories/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/categories/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/categories/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Categories"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/es/categories/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Categories"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="es"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menú'><span>Menú</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>todos los artículos</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/es/categories/index.xml b/public/es/categories/index.xml new file mode 100644 index 0000000..03eb9a5 --- /dev/null +++ b/public/es/categories/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Categories on THESIAH</title> + <link>https://thesiah.xyz/es/categories/</link> + <description>Recent content in Categories on THESIAH</description> + <generator>Hugo</generator> + <language>es</language> + <atom:link href="https://thesiah.xyz/es/categories/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/es/categories/page/1/index.html b/public/es/categories/page/1/index.html new file mode 100644 index 0000000..c5d9628 --- /dev/null +++ b/public/es/categories/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="es"> + <head> + <title>https://thesiah.xyz/es/categories/</title> + <link rel="canonical" href="https://thesiah.xyz/es/categories/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/es/categories/"> + </head> +</html> diff --git a/public/es/index.html b/public/es/index.html new file mode 100644 index 0000000..1d67f8b --- /dev/null +++ b/public/es/index.html @@ -0,0 +1,363 @@ +<!DOCTYPE HTML> + +<html lang="es"> + <head> + <title>THESIAH</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="THESIAH"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/es/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="THESIAH"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="es"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header" class="alt"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menú'><span>Menú</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + + +<section id="banner"> + <div class="inner"> + <h2>THESIAH</h2> + <p>Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder.</p> + + <ul class="actions special"> + <li><a href="#" class="button primary">Activate</a></li> + </ul> + + </div> + <a href="#one" class="more scrolly">Saber más</a> +</section> + + + + + + + <section id="one" class="wrapper style1 special"> + <div class="inner"> + <header class="major"> + <h2>Arcu aliquet vel lobortis ata nisl<br />eget augue amet aliquet nisl cep donec</h2> + + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend<br> +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper.</p> + + + + </header> + <ul class="icons major"> + + <li><span class="icon fa-gem major style1"><span class="label">Lorem</span></span></li> + + <li><span class="icon fa-heart major style2"><span class="label">Ipsum</span></span></li> + + <li><span class="icon solid fa-code major style3"><span class="label">Dolor</span></span></li> + + </ul> + </div> + </section> + + + + + + + + +<section id="two" class="wrapper alt style2"> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic01.jpg" alt="blurry background: white/grey" /> + </div> + + <div class="content"> + <h2>Magna primis lobortis<br />sed ullamcorper</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic02.jpg" /> + </div> + + <div class="content"> + <h2>Tortor dolore feugiat<br />elementum magna</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic03.jpg" /> + </div> + + <div class="content"> + <h2>Magna primis lobortis<br />sed ullamcorper</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + +</section> + + + + + + + + +<section id="three" class="wrapper style3 special"> + <div class="inner"> + <header class="major"> + <h2>Accumsan mus tortor nunc aliquet</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend<br> +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper.</p> + + + + </header> + <ul class="features"> + + <li class="icon fa-paper-plane"> + <h3>Arcu accumsan</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-laptop"> + <h3>Ac Augue Eget</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-code"> + <h3>Foo bar</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-headphones-alt"> + <h3>Baz kram</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon fa-heart"> + <h3>Some latin text</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon fa-flag"> + <h3>Nothing important</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + </ul> + </div> +</section> + + + + + + + + +<section id="cta" class="wrapper style4"> + <div class="inner"> + <header> + <h2>As long as you like</h2> + + + + <p>Something to be followed by propaganda sometimes ends the investment of a lot of eleifend fringilla.</p> + + + + </header> + <ul class="actions stacked"> + + <li><a href="#" class="button fit primary">Activate</a></li> + + <li><a href="#" class="button fit ">Learn More</a></li> + + </ul> + </div> +</section> + + + + + + + + +<section id="contact" class="wrapper style5"> + <div class="inner"> + <header class="major"> + <h2>Contact</h2> + + + + <p>Leave me a message.</p> + + + + </header> + <form method="post" action="https://formspree.io/f/example_invalid"> + <div class="row gtr-uniform"> + <input type="hidden" name="subject" value="New Submission!" /> + <div class="col-6 col-12-xsmall"> + <input type="text" name="name" id="name" value="" placeholder="Nombre" required /> + </div> + <div class="col-6 col-12-xsmall"> + <input type="email" name="email" id="email" value="" placeholder="Correo electrónico" required /> + </div> + <div class="col-12"> + <textarea name="message" id="message" placeholder="Su Mensaje" rows="6" required></textarea> + </div> + <div class="col-12"> + <ul class="actions"> + <li><input type="submit" value="enviar" class="primary" /></li> + <li><input type="reset" value="limpiar" /></li> + </ul> + </div> + </div> + </form> + </div> +</section> + + + + + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/es/index.xml b/public/es/index.xml new file mode 100644 index 0000000..ee30f22 --- /dev/null +++ b/public/es/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>THESIAH</title> + <link>https://thesiah.xyz/es/</link> + <description>Recent content on THESIAH</description> + <generator>Hugo</generator> + <language>es</language> + <atom:link href="https://thesiah.xyz/es/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/es/series/index.html b/public/es/series/index.html new file mode 100644 index 0000000..a89eccc --- /dev/null +++ b/public/es/series/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="es"> + <head> + <title>Series</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/series/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/series/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/series/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Series"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/es/series/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Series"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="es"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menú'><span>Menú</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>todos los artículos</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/es/series/index.xml b/public/es/series/index.xml new file mode 100644 index 0000000..3d24b1a --- /dev/null +++ b/public/es/series/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Series on THESIAH</title> + <link>https://thesiah.xyz/es/series/</link> + <description>Recent content in Series on THESIAH</description> + <generator>Hugo</generator> + <language>es</language> + <atom:link href="https://thesiah.xyz/es/series/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/es/series/page/1/index.html b/public/es/series/page/1/index.html new file mode 100644 index 0000000..504d413 --- /dev/null +++ b/public/es/series/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="es"> + <head> + <title>https://thesiah.xyz/es/series/</title> + <link rel="canonical" href="https://thesiah.xyz/es/series/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/es/series/"> + </head> +</html> diff --git a/public/es/sitemap.xml b/public/es/sitemap.xml new file mode 100644 index 0000000..b0fb5ec --- /dev/null +++ b/public/es/sitemap.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" + xmlns:xhtml="http://www.w3.org/1999/xhtml"> + <url> + <loc>https://thesiah.xyz/es/categories/</loc> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/categories/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/categories/" + /> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/categories/" + /> + </url><url> + <loc>https://thesiah.xyz/es/series/</loc> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/series/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/series/" + /> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/series/" + /> + </url><url> + <loc>https://thesiah.xyz/es/tags/</loc> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/tags/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/tags/" + /> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/tags/" + /> + </url><url> + <loc>https://thesiah.xyz/es/</loc> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/" + /> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/" + /> + </url> +</urlset> diff --git a/public/es/tags/index.html b/public/es/tags/index.html new file mode 100644 index 0000000..a276c0f --- /dev/null +++ b/public/es/tags/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="es"> + <head> + <title>Tags</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/tags/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/tags/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/tags/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Tags"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/es/tags/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Tags"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="es"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menú'><span>Menú</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>todos los artículos</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/es/tags/index.xml b/public/es/tags/index.xml new file mode 100644 index 0000000..d7214bc --- /dev/null +++ b/public/es/tags/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Tags on THESIAH</title> + <link>https://thesiah.xyz/es/tags/</link> + <description>Recent content in Tags on THESIAH</description> + <generator>Hugo</generator> + <language>es</language> + <atom:link href="https://thesiah.xyz/es/tags/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/es/tags/page/1/index.html b/public/es/tags/page/1/index.html new file mode 100644 index 0000000..8abe2f5 --- /dev/null +++ b/public/es/tags/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="es"> + <head> + <title>https://thesiah.xyz/es/tags/</title> + <link rel="canonical" href="https://thesiah.xyz/es/tags/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/es/tags/"> + </head> +</html> diff --git a/public/fonts/open-sans-v16-latin-600.woff b/public/fonts/open-sans-v16-latin-600.woff Binary files differnew file mode 100644 index 0000000..9d0eb42 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-600.woff diff --git a/public/fonts/open-sans-v16-latin-600.woff2 b/public/fonts/open-sans-v16-latin-600.woff2 Binary files differnew file mode 100644 index 0000000..5c5d54e --- /dev/null +++ b/public/fonts/open-sans-v16-latin-600.woff2 diff --git a/public/fonts/open-sans-v16-latin-600italic.woff b/public/fonts/open-sans-v16-latin-600italic.woff Binary files differnew file mode 100644 index 0000000..52f6adc --- /dev/null +++ b/public/fonts/open-sans-v16-latin-600italic.woff diff --git a/public/fonts/open-sans-v16-latin-600italic.woff2 b/public/fonts/open-sans-v16-latin-600italic.woff2 Binary files differnew file mode 100644 index 0000000..c2450f3 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-600italic.woff2 diff --git a/public/fonts/open-sans-v16-latin-800.woff b/public/fonts/open-sans-v16-latin-800.woff Binary files differnew file mode 100644 index 0000000..bdac80d --- /dev/null +++ b/public/fonts/open-sans-v16-latin-800.woff diff --git a/public/fonts/open-sans-v16-latin-800.woff2 b/public/fonts/open-sans-v16-latin-800.woff2 Binary files differnew file mode 100644 index 0000000..86a8a87 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-800.woff2 diff --git a/public/fonts/open-sans-v16-latin-800italic.woff b/public/fonts/open-sans-v16-latin-800italic.woff Binary files differnew file mode 100644 index 0000000..150e7d6 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-800italic.woff diff --git a/public/fonts/open-sans-v16-latin-800italic.woff2 b/public/fonts/open-sans-v16-latin-800italic.woff2 Binary files differnew file mode 100644 index 0000000..82a1f00 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-800italic.woff2 diff --git a/public/fonts/open-sans-v16-latin-italic.woff b/public/fonts/open-sans-v16-latin-italic.woff Binary files differnew file mode 100644 index 0000000..2bfa582 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-italic.woff diff --git a/public/fonts/open-sans-v16-latin-italic.woff2 b/public/fonts/open-sans-v16-latin-italic.woff2 Binary files differnew file mode 100644 index 0000000..10031c0 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-italic.woff2 diff --git a/public/fonts/open-sans-v16-latin-regular.woff b/public/fonts/open-sans-v16-latin-regular.woff Binary files differnew file mode 100644 index 0000000..39e88ed --- /dev/null +++ b/public/fonts/open-sans-v16-latin-regular.woff diff --git a/public/fonts/open-sans-v16-latin-regular.woff2 b/public/fonts/open-sans-v16-latin-regular.woff2 Binary files differnew file mode 100644 index 0000000..e9f58b7 --- /dev/null +++ b/public/fonts/open-sans-v16-latin-regular.woff2 diff --git a/public/img/banner.jpg b/public/img/banner.jpg Binary files differnew file mode 100644 index 0000000..f61670a --- /dev/null +++ b/public/img/banner.jpg diff --git a/public/img/pic01.jpg b/public/img/pic01.jpg Binary files differnew file mode 100644 index 0000000..1117ddc --- /dev/null +++ b/public/img/pic01.jpg diff --git a/public/img/pic02.jpg b/public/img/pic02.jpg Binary files differnew file mode 100644 index 0000000..a43fa23 --- /dev/null +++ b/public/img/pic02.jpg diff --git a/public/img/pic03.jpg b/public/img/pic03.jpg Binary files differnew file mode 100644 index 0000000..e216400 --- /dev/null +++ b/public/img/pic03.jpg diff --git a/public/img/pic04.jpg b/public/img/pic04.jpg Binary files differnew file mode 100644 index 0000000..104cc9e --- /dev/null +++ b/public/img/pic04.jpg diff --git a/public/img/pic05.jpg b/public/img/pic05.jpg Binary files differnew file mode 100644 index 0000000..f15edce --- /dev/null +++ b/public/img/pic05.jpg diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..2283ac0 --- /dev/null +++ b/public/index.html @@ -0,0 +1,363 @@ +<!DOCTYPE HTML> + +<html lang="en"> + <head> + <title>THESIAH</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/"> + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="THESIAH"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="THESIAH"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="en"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header" class="alt"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + + +<section id="banner"> + <div class="inner"> + <h2>THESIAH</h2> + <p>Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder.</p> + + <ul class="actions special"> + <li><a href="#" class="button primary">Activate</a></li> + </ul> + + </div> + <a href="#one" class="more scrolly">Learn More</a> +</section> + + + + + + + <section id="one" class="wrapper style1 special"> + <div class="inner"> + <header class="major"> + <h2>Arcu aliquet vel lobortis ata nisl<br />eget augue amet aliquet nisl cep donec</h2> + + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend<br> +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper.</p> + + + + </header> + <ul class="icons major"> + + <li><span class="icon fa-gem major style1"><span class="label">Lorem</span></span></li> + + <li><span class="icon fa-heart major style2"><span class="label">Ipsum</span></span></li> + + <li><span class="icon solid fa-code major style3"><span class="label">Dolor</span></span></li> + + </ul> + </div> + </section> + + + + + + + + +<section id="two" class="wrapper alt style2"> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic01.jpg" alt="blurry background: white/grey" /> + </div> + + <div class="content"> + <h2>Magna primis lobortis<br />sed ullamcorper</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic02.jpg" /> + </div> + + <div class="content"> + <h2>Tortor dolore feugiat<br />elementum magna</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic03.jpg" /> + </div> + + <div class="content"> + <h2>Magna primis lobortis<br />sed ullamcorper</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + +</section> + + + + + + + + +<section id="three" class="wrapper style3 special"> + <div class="inner"> + <header class="major"> + <h2>Accumsan mus tortor nunc aliquet</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend<br> +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper.</p> + + + + </header> + <ul class="features"> + + <li class="icon fa-paper-plane"> + <h3>Arcu accumsan</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-laptop"> + <h3>Ac Augue Eget</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-code"> + <h3>Foo bar</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-headphones-alt"> + <h3>Baz kram</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon fa-heart"> + <h3>Some latin text</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon fa-flag"> + <h3>Nothing important</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + </ul> + </div> +</section> + + + + + + + + +<section id="cta" class="wrapper style4"> + <div class="inner"> + <header> + <h2>As long as you like</h2> + + + + <p>Something to be followed by propaganda sometimes ends the investment of a lot of eleifend fringilla.</p> + + + + </header> + <ul class="actions stacked"> + + <li><a href="#" class="button fit primary">Activate</a></li> + + <li><a href="#" class="button fit ">Learn More</a></li> + + </ul> + </div> +</section> + + + + + + + + +<section id="contact" class="wrapper style5"> + <div class="inner"> + <header class="major"> + <h2>Contact</h2> + + + + <p>Leave me a message.</p> + + + + </header> + <form method="post" action="https://formspree.io/f/example_invalid"> + <div class="row gtr-uniform"> + <input type="hidden" name="subject" value="New Submission!" /> + <div class="col-6 col-12-xsmall"> + <input type="text" name="name" id="name" value="" placeholder="Name" required /> + </div> + <div class="col-6 col-12-xsmall"> + <input type="email" name="email" id="email" value="" placeholder="Email" required /> + </div> + <div class="col-12"> + <textarea name="message" id="message" placeholder="Your Message" rows="6" required></textarea> + </div> + <div class="col-12"> + <ul class="actions"> + <li><input type="submit" value="send" class="primary" /></li> + <li><input type="reset" value="reset" /></li> + </ul> + </div> + </div> + </form> + </div> +</section> + + + + + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..73f63f7 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>THESIAH</title> + <link>https://thesiah.xyz/</link> + <description>Recent content on THESIAH</description> + <generator>Hugo</generator> + <language>en</language> + <atom:link href="https://thesiah.xyz/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js b/public/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js new file mode 100644 index 0000000..8c8044b --- /dev/null +++ b/public/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js @@ -0,0 +1,4 @@ +/*! jQuery v3.7.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var Ot,b,ie,mt,lt,ct,Ee,p,ot,ne,H,$,ve,m,qe,Oe,T,P,Y,dt,ut,ht,bt,N,yt,_t,Ct,he,me,We,k,He,xe,Q,Ne,De,Te,d=[],Le=Object.getPrototypeOf,h=d.slice,Pe=d.flat?function(e){return d.flat.call(e)}:function(e){return d.concat.apply([],e)},Z=d.push,j=d.indexOf,te={},$e=te.toString,q=te.hasOwnProperty,Ue=q.toString,Ut=Ue.call(Object),i={},a=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},R=function(e){return e!=null&&e===e.window},o=e.document,$t={type:!0,src:!0,nonce:!0,noModule:!0};function wt(e,t,n){var s,a,i=(n=n||o).createElement("script");if(i.text=e,t)for(s in $t)(a=t[s]||t.getAttribute&&t.getAttribute(s))&&i.setAttribute(s,a);n.head.appendChild(i).parentNode.removeChild(i)}function F(e){return e==null?e+"":"object"==typeof e||"function"==typeof e?te[$e.call(e)]||"object":typeof e}var Et="3.7.0",St=/HTML$/i,n=function(e,t){return new n.fn.init(e,t)};function ue(e){var t=!!e&&"length"in e&&e.length,n=F(e);return!a(e)&&!R(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function c(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}n.fn=n.prototype={jquery:Et,constructor:n,length:0,toArray:function(){return h.call(this)},get:function(e){return e==null?h.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=n.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return n.each(this,e)},map:function(e){return this.pushStack(n.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(n.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(n.grep(this,function(e,t){return t%2}))},eq:function(e){var n=this.length,t=+e+(e<0?n:0);return this.pushStack(0<=t&&t<n?[this[t]]:[])},end:function(){return this.prevObject||this.constructor()},push:Z,sort:d.sort,splice:d.splice},n.extend=n.fn.extend=function(){var t,o,i,r,c,d,e=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof e&&(l=e,e=arguments[s]||{},s++),"object"==typeof e||a(e)||(e={}),s===u&&(e=this,s--);s<u;s++)if(null!=(c=arguments[s]))for(o in c)t=c[o],"__proto__"!==o&&e!==t&&(l&&t&&(n.isPlainObject(t)||(r=Array.isArray(t)))?(i=e[o],d=r&&!Array.isArray(i)?[]:r||n.isPlainObject(i)?i:{},r=!1,e[o]=n.extend(l,d,t)):void 0!==t&&(e[o]=t));return e},n.extend({expando:"jQuery"+(Et+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!!e&&"[object Object]"===$e.call(e)&&(!(t=Le(e))||"function"==typeof(n=q.call(t,"constructor")&&t.constructor)&&Ue.call(n)===Ut)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){wt(e,{nonce:t&&t.nonce},n)},each:function(e,t){var s,n=0;if(ue(e)){for(s=e.length;n<s;n++)if(!1===t.call(e[n],n,e[n]))break}else for(n in e)if(!1===t.call(e[n],n,e[n]))break;return e},text:function(e){var s,o="",i=0,t=e.nodeType;if(t){{if(1===t||9===t||11===t)return e.textContent;if(3===t||4===t)return e.nodeValue}}else for(;s=e[i++];)o+=n.text(s);return o},makeArray:function(e,t){var s=t||[];return e!=null&&(ue(Object(e))?n.merge(s,"string"==typeof e?[e]:e):Z.call(s,e)),s},inArray:function(e,t,n){return t==null?-1:j.call(t,e,n)},isXMLDoc:function(e){var n=e&&e.namespaceURI,t=e&&(e.ownerDocument||e).documentElement;return!St.test(n||t&&t.nodeName||"HTML")},merge:function(e,t){for(var o=+t.length,n=0,s=e.length;n<o;n++)e[s++]=t[n];return e.length=s,e},grep:function(e,t,n){for(var o=[],s=0,i=e.length,a=!n;s<i;s++)!t(e[s],s)!==a&&o.push(e[s]);return o},map:function(e,t,n){var o,a,s=0,i=[];if(ue(e))for(a=e.length;s<a;s++)null!=(o=t(e[s],s,n))&&i.push(o);else for(s in e)null!=(o=t(e[s],s,n))&&i.push(o);return Pe(i)},guid:1,support:i}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=d[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){te["[object "+t+"]"]=t.toLowerCase()});var At=d.pop,Mt=d.sort,Tt=d.splice,r=`[\\x20\\t\\r\\n\\f]`,W=new RegExp("^"+r+"+|((?:^|[^\\\\])(?:\\\\.)*)"+r+"+$","g");n.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))},Ot=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function Nt(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}n.escapeSelector=function(e){return(e+"").replace(Ot,Nt)},b=o,ie=Z,!function(){var t,o,l,m,y,C,E,S,M,V,f=ie,a=n.expando,v=0,pe=0,Q=F(),X=F(),G=F(),A=F(),R=function(e,t){return e===t&&(S=!0),0},U="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",O="(?:\\\\[\\da-fA-F]{1,6}"+r+`?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+`,K="\\["+r+"*("+O+")(?:"+r+"*([*^$|!~]?=)"+r+`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(`+O+"))|)"+r+"*\\]",J=":("+O+`)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|`+K+")*)|.*)\\)|)",fe=new RegExp(r+"+","g"),me=new RegExp("^"+r+"*,"+r+"*"),ee=new RegExp("^"+r+"*([>+~]|"+r+")"+r+"*"),he=new RegExp(r+"|>"),ne=new RegExp(J),ue=new RegExp("^"+O+"$"),D={ID:new RegExp("^#("+O+")"),CLASS:new RegExp("^\\.("+O+")"),TAG:new RegExp("^("+O+"|[*])"),ATTR:new RegExp("^"+K),PSEUDO:new RegExp("^"+J),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),bool:new RegExp("^(?:"+U+")$","i"),needsContext:new RegExp("^"+r+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+r+"*((?:-\\d)?\\d*)"+r+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,le=/^h\d$/i,ce=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,L=/[+~]/,p=new RegExp("\\\\[\\da-fA-F]{1,6}"+r+`?|\\\\([^\\r\\n\\f])`,"g"),g=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=function(){_()},ae=z(function(e){return!0===e.disabled&&c(e,"fieldset")},{dir:"parentNode",next:"legend"});try{f.apply(d=h.call(b.childNodes),b.childNodes),d[b.childNodes.length].nodeType}catch{f={apply:function(e,t){ie.apply(e,h.call(t))},call:function(e){ie.apply(e,h.call(arguments,1))}}}function s(e,t,r,c){var d,u,h,v,b,j,y,g=t&&t.ownerDocument,p=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==p&&9!==p&&11!==p)return r;if(!c&&(_(t),t=t||o,m)){if(11!==p&&(b=ce.exec(e)))if(d=b[1]){if(9===p){{if(!(u=t.getElementById(d)))return r;if(u.id===d)return f.call(r,u),r}}else if(g&&(u=g.getElementById(d))&&s.contains(t,u)&&u.id===d)return f.call(r,u),r}else{if(b[2])return f.apply(r,t.getElementsByTagName(e)),r;if((d=b[3])&&t.getElementsByClassName)return f.apply(r,t.getElementsByClassName(d)),r}if(!(A[e+" "]||l&&l.test(e))){if(y=e,g=t,1===p&&(he.test(e)||ee.test(e))){for((g=L.test(e)&&P(t.parentNode)||t)==t&&i.scope||((h=t.getAttribute("id"))?h=n.escapeSelector(h):t.setAttribute("id",h=a)),v=(j=k(e)).length;v--;)j[v]=(h?"#"+h:":scope")+" "+T(j[v]);y=j.join(",")}try{return f.apply(r,g.querySelectorAll(y)),r}catch{A(e,!0)}finally{h===a&&t.removeAttribute("id")}}}return Z(e.replace(W,"$1"),t,r,c)}function F(){var e=[];return function n(s,o){return e.push(s+" ")>t.cacheLength&&delete n[e.shift()],n[s+" "]=o}}function u(e){return e[a]=!0,e}function x(e){var t=o.createElement("fieldset");try{return!!e(t)}catch{return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function oe(e){return function(t){return c(t,"input")&&t.type===e}}function se(e){return function(t){return(c(t,"input")||c(t,"button"))&&t.type===e}}function te(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function w(e){return u(function(t){return t=+t,u(function(n,s){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(s[o]=n[o]))})})}function P(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function _(e){var c,d=e?e.ownerDocument||e:b;return d!=o&&9===d.nodeType&&d.documentElement&&(y=(o=d).documentElement,m=!n.isXMLDoc(o),V=y.matches||y.webkitMatchesSelector||y.msMatchesSelector,b!=o&&(c=o.defaultView)&&c.top!==c&&c.addEventListener("unload",re),i.getById=x(function(e){return y.appendChild(e).id=n.expando,!o.getElementsByName||!o.getElementsByName(n.expando).length}),i.disconnectedMatch=x(function(e){return V.call(e,"*")}),i.scope=x(function(){return o.querySelectorAll(":scope")}),i.cssHas=x(function(){try{return o.querySelector(":has(*,:jqfake)"),!1}catch{return!0}}),i.getById?(t.filter.ID=function(e){var t=e.replace(p,g);return function(e){return e.getAttribute("id")===t}},t.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(t.filter.ID=function(e){var t=e.replace(p,g);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},t.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&m){var s,o,i,n=t.getElementById(e);if(n){if((s=n.getAttributeNode("id"))&&s.value===e)return[n];for(i=t.getElementsByName(e),o=0;n=i[o++];)if((s=n.getAttributeNode("id"))&&s.value===e)return[n]}return[]}}),t.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},t.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&m)return t.getElementsByClassName(e)},l=[],x(function(e){var t;y.appendChild(e).innerHTML="<a id='"+a+"' href='' disabled='disabled'></a><select id='"+a+`-
\\' disabled='disabled'><option selected=''></option></select>`,e.querySelectorAll("[selected]").length||l.push("\\["+r+"*(?:value|"+U+")"),e.querySelectorAll("[id~="+a+"-]").length||l.push("~="),e.querySelectorAll("a#"+a+"+*").length||l.push(".#.+[+~]"),e.querySelectorAll(":checked").length||l.push(":checked"),(t=o.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),y.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&l.push(":enabled",":disabled"),(t=o.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||l.push("\\["+r+"*name"+r+"*="+r+`*(?:''|"")`)}),i.cssHas||l.push(":has"),l=l.length&&new RegExp(l.join("|")),R=function(e,t){if(e===t)return S=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!i.sortDetached&&t.compareDocumentPosition(e)===n?e===o||e.ownerDocument==b&&s.contains(b,e)?-1:t===o||t.ownerDocument==b&&s.contains(b,t)?1:E?j.call(E,e)-j.call(E,t):0:4&n?-1:1)}),o}for(C in s.matches=function(e,t){return s(e,null,null,t)},s.matchesSelector=function(e,t){if(_(e),m&&!A[t+" "]&&(!l||!l.test(t)))try{var n=V.call(e,t);if(n||i.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch{A(t,!0)}return 0<s(t,o,null,[e]).length},s.contains=function(e,t){return(e.ownerDocument||e)!=o&&_(e),n.contains(e,t)},s.attr=function(e,n){(e.ownerDocument||e)!=o&&_(e);var s=t.attrHandle[n.toLowerCase()],i=s&&q.call(t.attrHandle,n.toLowerCase())?s(e,n,!m):void 0;return void 0!==i?i:e.getAttribute(n)},s.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},n.uniqueSort=function(e){var s,o=[],t=0,n=0;if(S=!i.sortStable,E=!i.sortStable&&h.call(e,0),Mt.call(e,R),S){for(;s=e[n++];)s===e[n]&&(t=o.push(n));for(;t--;)Tt.call(e,o[t],1)}return E=null,e},n.fn.uniqueSort=function(){return this.pushStack(n.uniqueSort(h.apply(this)))},(t=n.expr={cacheLength:50,createPseudo:u,match:D,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(p,g),e[3]=(e[3]||e[4]||e[5]||"").replace(p,g),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||s.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&s.error(e[0]),e},PSEUDO:function(e){var n,t=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":t&&ne.test(t)&&(n=k(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(e[0]=e[0].slice(0,n),e[2]=t.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(p,g).toLowerCase();return"*"===e?function(){return!0}:function(e){return c(e,t)}},CLASS:function(e){var t=Q[e+" "];return t||(t=new RegExp("(^|"+r+")"+e+"("+r+"|$)"))&&Q(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(o){var i=s.attr(o,e);return i==null?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&-1<i.indexOf(n):"$="===t?n&&i.slice(-n.length)===n:"~="===t?-1<(" "+i.replace(fe," ")+" ").indexOf(n):"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,s,o){var l="nth"!==e.slice(0,3),r="last"!==e.slice(-4),i="of-type"===t;return 1===s&&0===o?function(e){return!!e.parentNode}:function(t,n,d){var u,m,p,g,j,b=l!==r?"nextSibling":"previousSibling",f=t.parentNode,_=i&&t.nodeName.toLowerCase(),y=!d&&!i,h=!1;if(f){if(l){for(;b;){for(u=t;u=u[b];)if(i?c(u,_):1===u.nodeType)return!1;g=b="only"===e&&!g&&"nextSibling"}return!0}if(g=[r?f.firstChild:f.lastChild],r&&y){for(h=(m=(p=(j=f[a]||(f[a]={}))[e]||[])[0]===v&&p[1])&&p[2],u=m&&f.childNodes[m];u=++m&&u&&u[b]||(h=m=0)||g.pop();)if(1===u.nodeType&&++h&&u===t){j[e]=[v,m,h];break}}else if(y&&(h=m=(p=(j=t[a]||(t[a]={}))[e]||[])[0]===v&&p[1]),!1===h)for(;u=++m&&u&&u[b]||(h=m=0)||g.pop();)if((i?c(u,_):1===u.nodeType)&&++h&&(y&&((j=u[a]||(u[a]={}))[e]=[v,h]),u===t))break;return(h-=o)===s||h%s==0&&0<=h/s}}},PSEUDO:function(e,n){var i,o=t.pseudos[e]||t.setFilters[e.toLowerCase()]||s.error("unsupported pseudo: "+e);return o[a]?o(n):1<o.length?(i=[e,e,"",n],t.setFilters.hasOwnProperty(e.toLowerCase())?u(function(e,t){for(var a,s=o(e,n),i=s.length;i--;)e[a=j.call(e,s[i])]=!(t[a]=s[i])}):function(e){return o(e,0,i)}):o}},pseudos:{not:u(function(e){var t=[],s=[],n=B(e.replace(W,"$1"));return n[a]?u(function(e,t,s,o){for(var a,r=n(e,null,o,[]),i=e.length;i--;)(a=r[i])&&(e[i]=!(t[i]=a))}):function(e,o,i){return t[0]=e,n(t,null,i,s),t[0]=null,!s.pop()}}),has:u(function(e){return function(t){return 0<s(e,t).length}}),contains:u(function(e){return e=e.replace(p,g),function(t){return-1<(t.textContent||n.text(t)).indexOf(e)}}),lang:u(function(e){return ue.test(e||"")||s.error("unsupported lang: "+e),e=e.replace(p,g).toLowerCase(),function(t){var n;do if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType)return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===y},focus:function(e){return e===function(){try{return o.activeElement}catch{}}()&&o.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:te(!1),disabled:te(!0),checked:function(e){return c(e,"input")&&!!e.checked||c(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!t.pseudos.empty(e)},header:function(e){return le.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){return c(e,"input")&&"button"===e.type||c(e,"button")},text:function(e){var t;return c(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:w(function(){return[0]}),last:w(function(e,t){return[t-1]}),eq:w(function(e,t,n){return[n<0?n+t:n]}),even:w(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:w(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:w(function(e,t,n){var s;for(s=n<0?n+t:t<n?t:n;0<=--s;)e.push(s);return e}),gt:w(function(e,t,n){for(var s=n<0?n+t:n;++s<t;)e.push(s);return e})}}).pseudos.nth=t.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})t.pseudos[C]=oe(C);for(C in{submit:!0,reset:!0})t.pseudos[C]=se(C);function Y(){}function k(e,n){var o,i,a,r,c,l,d,u=X[e+" "];if(u)return n?0:u.slice(0);for(o=e,l=[],d=t.preFilter;o;){for(r in a&&!(i=me.exec(o))||(i&&(o=o.slice(i[0].length)||o),l.push(c=[])),a=!1,(i=ee.exec(o))&&(a=i.shift(),c.push({value:a,type:i[0].replace(W," ")}),o=o.slice(a.length)),t.filter)!(i=D[r].exec(o))||d[r]&&!(i=d[r](i))||(a=i.shift(),c.push({value:a,type:r,matches:i}),o=o.slice(a.length));if(!a)break}return n?o.length:o?s.error(e):X(e,l).slice(0)}function T(e){for(var t=0,s=e.length,n="";t<s;t++)n+=e[t].value;return n}function z(e,t,n){var s=t.dir,o=t.next,i=o||s,r=n&&"parentNode"===i,l=pe++;return t.first?function(t,n,o){for(;t=t[s];)if(1===t.nodeType||r)return e(t,n,o);return!1}:function(t,n,d){var u,h,m=[v,l];if(d){for(;t=t[s];)if((1===t.nodeType||r)&&e(t,n,d))return!0}else for(;t=t[s];)if(1===t.nodeType||r)if(h=t[a]||(t[a]={}),o&&c(t,o))t=t[s]||t;else{if((u=h[i])&&u[0]===v&&u[1]===l)return m[2]=u[2];if((h[i]=m)[2]=e(t,n,d))return!0}return!1}}function H(e){return 1<e.length?function(t,n,s){for(var o=e.length;o--;)if(!e[o](t,n,s))return!1;return!0}:e[0]}function N(e,t,n,s,o){for(var a,r=[],i=0,c=e.length,l=t!=null;i<c;i++)(a=e[i])&&(n&&!n(a,s,o)||(r.push(a),l&&t.push(i)));return r}function $(e,t,n,o,i,r){return o&&!o[a]&&(o=$(o)),i&&!i[a]&&(i=$(i,r)),u(function(a,r,c,l){var d,u,h,m,v=[],g=[],b=r.length,y=a||function(e,t,n){for(var o=0,i=t.length;o<i;o++)s(e,t[o],n);return n}(t||"*",c.nodeType?[c]:c,[]),p=!e||!a&&t?y:N(y,v,e,c,l);if(n?n(p,d=i||(a?e:b||o)?[]:r,c,l):d=p,o)for(h=N(d,g),o(h,[],c,l),u=h.length;u--;)(m=h[u])&&(d[g[u]]=!(p[g[u]]=m));if(a){if(i||e){if(i){for(h=[],u=d.length;u--;)(m=d[u])&&h.push(p[u]=m);i(null,d=[],h,l)}for(u=d.length;u--;)(m=d[u])&&-1<(h=i?j.call(a,m):v[u])&&(a[h]=!(r[h]=m))}}else d=N(d===r?d.splice(b,d.length):d),i?i(null,r,d,l):f.apply(r,d)})}function I(e){for(var s,o,r,c=e.length,l=t.relative[e[0].type],d=l||t.relative[" "],n=l?1:0,u=z(function(e){return e===r},d,!0),h=z(function(e){return-1<j.call(r,e)},d,!0),i=[function(e,t,n){var s=!l&&(n||t!=M)||((r=t).nodeType?u(e,t,n):h(e,t,n));return r=null,s}];n<c;n++)if(o=t.relative[e[n].type])i=[z(H(i),o)];else{if((o=t.filter[e[n].type].apply(null,e[n].matches))[a]){for(s=++n;s<c;s++)if(t.relative[e[s].type])break;return $(1<n&&H(i),1<n&&T(e.slice(0,n-1).concat({value:" "===e[n-2].type?"*":""})).replace(W,"$1"),o,n<s&&I(e.slice(n,s)),s<c&&I(e=e.slice(s)),s<c&&T(e))}i.push(o)}return H(i)}function B(e,s){var r,c,l,d,h,p,g=[],b=[],i=G[e+" "];if(!i){for(s||(s=k(e)),c=s.length;c--;)(i=I(s[c]))[a]?g.push(i):b.push(i);(i=G(e,(l=b,r=0<(d=g).length,h=0<l.length,p=function(e,s,i,a,c){var u,b,y,j=0,p="0",w=e&&[],g=[],O=M,x=e||h&&t.find.TAG("*",c),C=v+=O==null?1:Math.random()||.1,E=x.length;for(c&&(M=s==o||s||c);p!==E&&null!=(u=x[p]);p++){if(h&&u){for(y=0,s||u.ownerDocument==o||(_(u),i=!m);b=l[y++];)if(b(u,s||o,i)){f.call(a,u);break}c&&(v=C)}r&&((u=!b&&u)&&j--,e&&w.push(u))}if(j+=p,r&&p!==j){for(y=0;b=d[y++];)b(w,g,s,i);if(e){if(0<j)for(;p--;)w[p]||g[p]||(g[p]=At.call(a));g=N(g)}f.apply(a,g),c&&!e&&0<g.length&&1<j+d.length&&n.uniqueSort(a)}return c&&(v=C,M=O),w},r?u(p):p))).selector=e}return i}function Z(e,n,s,o){var i,a,r,d,u,l="function"==typeof e&&e,c=!o&&k(e=l.selector||e);if(s=s||[],1===c.length){if(2<(i=c[0]=c[0].slice(0)).length&&"ID"===(a=i[0]).type&&9===n.nodeType&&m&&t.relative[i[1].type]){if(!(n=(t.find.ID(a.matches[0].replace(p,g),n)||[])[0]))return s;l&&(n=n.parentNode),e=e.slice(i.shift().value.length)}for(r=D.needsContext.test(e)?0:i.length;r--;){if(a=i[r],t.relative[d=a.type])break;if((u=t.find[d])&&(o=u(a.matches[0].replace(p,g),L.test(i[0].type)&&P(n.parentNode)||n))){if(i.splice(r,1),!(e=o.length&&T(i)))return f.apply(s,o),s;break}}}return(l||B(e,c))(o,n,!m,s,!n||L.test(e)&&P(n.parentNode)||n),s}Y.prototype=t.filters=t.pseudos,t.setFilters=new Y,i.sortStable=a.split("").sort(R).join("")===a,_(),i.sortDetached=x(function(e){return 1&e.compareDocumentPosition(o.createElement("fieldset"))}),n.find=s,n.expr[":"]=n.expr.pseudos,n.unique=n.uniqueSort,s.compile=B,s.select=Z,s.setDocument=_,s.escape=n.escapeSelector,s.getText=n.text,s.isXML=n.isXMLDoc,s.selectors=n.expr,s.support=n.support,s.uniqueSort=n.uniqueSort}();var D=function(e,t,s){for(var o=[],i=void 0!==s;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&n(e).is(s))break;o.push(e)}return o},jt=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},vt=n.expr.match.needsContext,pt=/^<([a-z][^/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function ye(e,t,s){return a(t)?n.grep(e,function(e,n){return!!t.call(e,n,e)!==s}):t.nodeType?n.grep(e,function(e){return e===t!==s}):"string"!=typeof t?n.grep(e,function(e){return-1<j.call(t,e)!==s}):n.filter(t,e,s)}n.filter=function(e,t,s){var o=t[0];return s&&(e=":not("+e+")"),1===t.length&&1===o.nodeType?n.find.matchesSelector(o,e)?[o]:[]:n.find.matches(e,n.grep(t,function(e){return 1===e.nodeType}))},n.fn.extend({find:function(e){var t,s,o=this.length,i=this;if("string"!=typeof e)return this.pushStack(n(e).filter(function(){for(t=0;t<o;t++)if(n.contains(i[t],this))return!0}));for(s=this.pushStack([]),t=0;t<o;t++)n.find(e,i[t],s);return 1<o?n.uniqueSort(s):s},filter:function(e){return this.pushStack(ye(this,e||[],!1))},not:function(e){return this.pushStack(ye(this,e||[],!0))},is:function(e){return!!ye(this,"string"==typeof e&&vt.test(e)?n(e):e||[],!1).length}}),lt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,(n.fn.init=function(e,t,s){var i,r;if(!e)return this;if(s=s||mt,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:lt.exec(e))||!i[1]&&t)return!t||t.jquery?(t||s).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof n?t[0]:t,n.merge(this,n.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),pt.test(i[1])&&n.isPlainObject(t))for(i in t)a(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=o.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):a(e)?void 0!==s.ready?s.ready(e):e(n):n.makeArray(e,this)}).prototype=n.fn,mt=n(o),ct=/^(?:parents|prev(?:Until|All))/,Ee={children:!0,contents:!0,next:!0,prev:!0};function rt(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}n.fn.extend({has:function(e){var t=n(e,this),s=t.length;return this.filter(function(){for(var e=0;e<s;e++)if(n.contains(this,t[e]))return!0})},closest:function(e,t){var s,i=0,r=this.length,o=[],a="string"!=typeof e&&n(e);if(!vt.test(e))for(;i<r;i++)for(s=this[i];s&&s!==t;s=s.parentNode)if(s.nodeType<11&&(a?-1<a.index(s):1===s.nodeType&&n.find.matchesSelector(s,e))){o.push(s);break}return this.pushStack(1<o.length?n.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?j.call(n(e),this[0]):j.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(e,t))))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),n.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return D(e,"parentNode")},parentsUntil:function(e,t,n){return D(e,"parentNode",n)},next:function(e){return rt(e,"nextSibling")},prev:function(e){return rt(e,"previousSibling")},nextAll:function(e){return D(e,"nextSibling")},prevAll:function(e){return D(e,"previousSibling")},nextUntil:function(e,t,n){return D(e,"nextSibling",n)},prevUntil:function(e,t,n){return D(e,"previousSibling",n)},siblings:function(e){return jt((e.parentNode||{}).firstChild,e)},children:function(e){return jt(e.firstChild)},contents:function(e){return null!=e.contentDocument&&Le(e.contentDocument)?e.contentDocument:(c(e,"template")&&(e=e.content||e),n.merge([],e.childNodes))}},function(e,t){n.fn[e]=function(s,o){var i=n.map(this,t,s);return"Until"!==e.slice(-5)&&(o=s),o&&"string"==typeof o&&(i=n.filter(o,i)),1<this.length&&(Ee[e]||n.uniqueSort(i),ct.test(e)&&i.reverse()),this.pushStack(i)}}),p=/[^\x20\t\r\n\f]+/g;function A(e){return e}function J(e){throw e}function at(e,t,n,s){var o;try{e&&a(o=e.promise)?o.call(e).done(t).fail(n):e&&a(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(s))}catch(e){n.apply(void 0,[e])}}n.Callbacks=function(e){e="string"==typeof e?(u=e,l={},n.each(u.match(p)||[],function(e,t){l[t]=!0}),l):n.extend({},e);var s,o,r,l,u,h,t=[],c=[],i=-1,m=function(){for(o=o||e.once,h=r=!0;c.length;i=-1)for(s=c.shift();++i<t.length;)!1===t[i].apply(s[0],s[1])&&e.stopOnFalse&&(i=t.length,s=!1);e.memory||(s=!1),r=!1,o&&(t=s?[]:"")},d={add:function(){return t&&(s&&!r&&(i=t.length-1,c.push(s)),function s(o){n.each(o,function(n,o){a(o)?e.unique&&d.has(o)||t.push(o):o&&o.length&&"string"!==F(o)&&s(o)})}(arguments),s&&!r&&m()),this},remove:function(){return n.each(arguments,function(e,s){for(var o;-1<(o=n.inArray(s,t,o));)t.splice(o,1),o<=i&&i--}),this},has:function(e){return e?-1<n.inArray(e,t):0<t.length},empty:function(){return t&&(t=[]),this},disable:function(){return o=c=[],t=s="",this},disabled:function(){return!t},lock:function(){return o=c=[],s||r||(t=s=""),this},locked:function(){return!!o},fireWith:function(e,t){return o||(t=[e,(t=t||[]).slice?t.slice():t],c.push(t),r||m()),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!h}};return d},n.extend({Deferred:function(t){var o=[["notify","progress",n.Callbacks("memory"),n.Callbacks("memory"),2],["resolve","done",n.Callbacks("once memory"),n.Callbacks("once memory"),0,"resolved"],["reject","fail",n.Callbacks("once memory"),n.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return n.Deferred(function(t){n.each(o,function(n,o){var i=a(e[o[4]])&&e[o[4]];s[o[1]](function(){var e=i&&i.apply(this,arguments);e&&a(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[o[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,s,i){var r=0;function c(t,s,o,i){return function(){var l=this,d=arguments,h=function(){var e,n;if(!(t<r)){if((e=o.apply(l,d))===s.promise())throw new TypeError("Thenable self-resolution");n=e&&("object"==typeof e||"function"==typeof e)&&e.then,a(n)?i?n.call(e,c(r,s,A,i),c(r,s,J,i)):(r++,n.call(e,c(r,s,A,i),c(r,s,J,i),c(r,s,A,s.notifyWith))):(o!==A&&(l=void 0,d=[e]),(i||s.resolveWith)(l,d))}},u=i?h:function(){try{h()}catch(e){n.Deferred.exceptionHook&&n.Deferred.exceptionHook(e,u.error),r<=t+1&&(o!==J&&(l=void 0,d=[e]),s.rejectWith(l,d))}};t?u():(n.Deferred.getErrorHook?u.error=n.Deferred.getErrorHook():n.Deferred.getStackHook&&(u.error=n.Deferred.getStackHook()),e.setTimeout(u))}}return n.Deferred(function(e){o[0][3].add(c(0,e,a(i)?i:A,e.notifyWith)),o[1][3].add(c(0,e,a(t)?t:A)),o[2][3].add(c(0,e,a(s)?s:J))}).promise()},promise:function(e){return e!=null?n.extend(e,i):i}},s={};return n.each(o,function(e,t){var n=t[2],a=t[5];i[t[1]]=n.add,a&&n.add(function(){r=a},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),i.promise(s),t&&t.call(s,s),s},when:function(e){var i=arguments.length,t=i,r=Array(t),o=h.call(arguments),s=n.Deferred(),c=function(e){return function(t){r[e]=this,o[e]=1<arguments.length?h.call(arguments):t,--i||s.resolveWith(r,o)}};if(i<=1&&(at(e,s.done(c(t)).resolve,s.reject,!i),"pending"===s.state()||a(o[t]&&o[t].then)))return s.then();for(;t--;)at(o[t],c(t),s.reject);return s.promise()}}),ot=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/,n.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&ot.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},n.readyException=function(t){e.setTimeout(function(){throw t})},ne=n.Deferred();function X(){o.removeEventListener("DOMContentLoaded",X),e.removeEventListener("load",X),n.ready()}n.fn.ready=function(e){return ne.then(e).catch(function(e){n.readyException(e)}),this},n.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--n.readyWait:n.isReady)||(n.isReady=!0)!==e&&0<--n.readyWait||ne.resolveWith(o,[n])}}),n.ready.then=ne.then,"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?e.setTimeout(n.ready):(o.addEventListener("DOMContentLoaded",X),e.addEventListener("load",X));var _=function(e,t,s,o,i,r,c){var l=0,u=e.length,d=s==null;if("object"===F(s))for(l in i=!0,s)_(e,t,l,s[l],!0,r,c);else if(void 0!==o&&(i=!0,a(o)||(c=!0),d&&(c?(t.call(e,o),t=null):(d=t,t=function(e,t,s){return d.call(n(e),s)})),t))for(;l<u;l++)t(e[l],s,c?o:o.call(e[l],l,t(e[l],s)));return i?e:d?t.call(e):u?t(e[0],s):r},Kt=/^-ms-/,qt=/-([a-z])/g;function Yt(e,t){return t.toUpperCase()}function v(e){return e.replace(Kt,"ms-").replace(qt,Yt)}H=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function I(){this.expando=n.expando+I.uid++}I.uid=1,I.prototype={cache:function(e){var t=e[this.expando];return t||(t={},H(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var s,o=this.cache(e);if("string"==typeof t)o[v(t)]=n;else for(s in t)o[v(s)]=t[s];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][v(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var o,s=e[this.expando];if(void 0!==s){if(void 0!==t)for(o=(t=Array.isArray(t)?t.map(v):(t=v(t))in s?[t]:t.match(p)||[]).length;o--;)delete s[t[o]];(void 0===t||n.isEmptyObject(s))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!n.isEmptyObject(t)}};var s=new I,l=new I,Gt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Xt=/[A-Z]/g;function Be(e,t,n){var s,o;if(void 0===n&&1===e.nodeType)if(o="data-"+t.replace(Xt,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(o))){try{n="true"===(s=n)||"false"!==s&&("null"===s?null:s===+s+""?+s:Gt.test(s)?JSON.parse(s):s)}catch{}l.set(e,t,n)}else n=void 0;return n}n.extend({hasData:function(e){return l.hasData(e)||s.hasData(e)},data:function(e,t,n){return l.access(e,t,n)},removeData:function(e,t){l.remove(e,t)},_data:function(e,t,n){return s.access(e,t,n)},_removeData:function(e,t){s.remove(e,t)}}),n.fn.extend({data:function(e,t){var o,i,a,n=this[0],r=n&&n.attributes;if(void 0===e){if(this.length&&(a=l.get(n),1===n.nodeType&&!s.get(n,"hasDataAttrs"))){for(i=r.length;i--;)r[i]&&0===(o=r[i].name).indexOf("data-")&&(o=v(o.slice(5)),Be(n,o,a[o]));s.set(n,"hasDataAttrs",!0)}return a}return"object"==typeof e?this.each(function(){l.set(this,e)}):_(this,function(t){var s;if(n&&void 0===t)return void 0!==(s=l.get(n,e))?s:void 0!==(s=Be(n,e))?s:void 0;this.each(function(){l.set(this,e,t)})},null,t,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){l.remove(this,e)})}}),n.extend({queue:function(e,t,o){var i;if(e)return t=(t||"fx")+"queue",i=s.get(e,t),o&&(!i||Array.isArray(o)?i=s.access(e,t,n.makeArray(o)):i.push(o)),i||[]},dequeue:function(e,t){t=t||"fx";var s=n.queue(e,t),a=s.length,o=s.shift(),i=n._queueHooks(e,t);"inprogress"===o&&(o=s.shift(),a--),o&&("fx"===t&&s.unshift("inprogress"),delete i.stop,o.call(e,function(){n.dequeue(e,t)},i)),!a&&i&&i.empty.fire()},_queueHooks:function(e,t){var o=t+"queueHooks";return s.get(e,o)||s.access(e,o,{empty:n.Callbacks("once memory").add(function(){s.remove(e,[t+"queue",o])})})}}),n.fn.extend({queue:function(e,t){var s=2;return"string"!=typeof e&&(t=e,e="fx",s--),arguments.length<s?n.queue(this[0],e):void 0===t?this:this.each(function(){var s=n.queue(this,e,t);n._queueHooks(this,e),"fx"===e&&"inprogress"!==s[0]&&n.dequeue(this,e)})},dequeue:function(e){return this.each(function(){n.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var o,a=1,r=n.Deferred(),i=this,c=this.length,l=function(){--a||r.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";c--;)(o=s.get(i[c],e+"queueHooks"))&&o.empty&&(a++,o.empty.add(l));return l(),r.promise(t)}});var ze=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+ze+")([a-z%]*)$","i"),y=["Top","Right","Bottom","Left"],x=o.documentElement,M=function(e){return n.contains(e.ownerDocument,e)},nn={composed:!0};x.getRootNode&&(M=function(e){return n.contains(e.ownerDocument,e)||e.getRootNode(nn)===e.ownerDocument}),$=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&M(e)&&"none"===n.css(e,"display")};function Fe(e,t,s,o){var c,l,d=20,u=o?function(){return o.cur()}:function(){return n.css(e,t,"")},r=u(),a=s&&s[3]||(n.cssNumber[t]?"":"px"),i=e.nodeType&&(n.cssNumber[t]||"px"!==a&&+r)&&U.exec(n.css(e,t));if(i&&i[3]!==a){for(r/=2,a=a||i[3],i=+r||1;d--;)n.style(e,t,i+a),(1-l)*(1-(l=u()/r||.5))<=0&&(d=0),i/=l;i*=2,n.style(e,t,i+a),s=s||[]}return s&&(i=+i||+r||0,c=s[1]?i+(s[1]+1)*s[2]:+s[2],o&&(o.unit=a,o.start=i,o.end=c)),c}ve={};function L(e,t){for(var i,a,c,l,d,u,h,r=[],o=0,m=e.length;o<m;o++)(i=e[o]).style&&(l=i.style.display,t?("none"===l&&(r[o]=s.get(i,"display")||null,r[o]||(i.style.display="")),""===i.style.display&&$(i)&&(r[o]=(a=d=c=void 0,d=(h=i).ownerDocument,u=h.nodeName,(a=ve[u])||(c=d.body.appendChild(d.createElement(u)),a=n.css(c,"display"),c.parentNode.removeChild(c),"none"===a&&(a="block"),ve[u]=a)))):"none"!==l&&(r[o]="none",s.set(i,"display",l)));for(o=0;o<m;o++)null!=r[o]&&(e[o].style.display=r[o]);return e}n.fn.extend({show:function(){return L(this,!0)},hide:function(){return L(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){$(this)?n(this).show():n(this).hide()})}});var se,B=/^(?:checkbox|radio)$/i,Me=/<([a-z][^/\0>\x20\t\r\n\f]*)/i,Se=/^$|^module$|\/(?:java|ecma)script/i,S=o.createDocumentFragment().appendChild(o.createElement("div"));(se=o.createElement("input")).setAttribute("type","radio"),se.setAttribute("checked","checked"),se.setAttribute("name","t"),S.appendChild(se),i.checkClone=S.cloneNode(!0).cloneNode(!0).lastChild.checked,S.innerHTML="<textarea>x</textarea>",i.noCloneChecked=!!S.cloneNode(!0).lastChild.defaultValue,S.innerHTML="<option></option>",i.option=!!S.lastChild,m={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function u(e,t){var s;return s="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&c(e,t)?n.merge([e],s):s}function _e(e,t){for(var n=0,o=e.length;n<o;n++)s.set(e[n],"globalEval",!t||s.get(t[n],"globalEval"))}m.tbody=m.tfoot=m.colgroup=m.caption=m.thead,m.th=m.td,i.option||(m.optgroup=m.option=[1,"<select multiple='multiple'>","</select>"]),qe=/<|&#?\w+;/;function Ae(e,t,s,o,i){for(var a,r,d,h,p,g,c=t.createDocumentFragment(),f=[],l=0,v=e.length;l<v;l++)if((a=e[l])||0===a)if("object"===F(a))n.merge(f,a.nodeType?[a]:a);else if(qe.test(a)){for(r=r||c.appendChild(t.createElement("div")),p=(Me.exec(a)||["",""])[1].toLowerCase(),d=m[p]||m._default,r.innerHTML=d[1]+n.htmlPrefilter(a)+d[2],h=d[0];h--;)r=r.lastChild;n.merge(f,r.childNodes),(r=c.firstChild).textContent=""}else f.push(t.createTextNode(a));for(c.textContent="",l=0;a=f[l++];)if(o&&-1<n.inArray(a,o))i&&i.push(a);else if(g=M(a),r=u(c.appendChild(a),"script"),g&&_e(r),s)for(h=0;a=r[h++];)Se.test(a.type||"")&&s.push(a);return c}Oe=/^([^.]*)(?:\.(.+)|)/;function E(){return!0}function z(){return!1}function fe(e,t,s,o,i,a){var r,c;if("object"==typeof t){for(c in"string"!=typeof s&&(o=o||s,s=void 0),t)fe(e,c,s,o,t[c],a);return e}if(o==null&&i==null?(i=s,o=s=void 0):i==null&&("string"==typeof s?(i=o,o=void 0):(i=o,o=s,s=void 0)),!1===i)i=z;else if(!i)return e;return 1===a&&(r=i,(i=function(e){return n().off(e),r.apply(this,arguments)}).guid=r.guid||(r.guid=n.guid++)),e.each(function(){n.event.add(this,t,i,o,s)})}function G(e,t,o){o?(s.set(e,t,!1),n.event.add(e,t,{namespace:!1,handler:function(e){var i,o=s.get(this,t);if(1&e.isTrigger&&this[t]){if(o)(n.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=h.call(arguments),s.set(this,t,o),this[t](),i=s.get(this,t),s.set(this,t,!1),o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i}else o&&(s.set(this,t,n.event.trigger(o[0],o.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=E)}})):void 0===s.get(e,t)&&n.event.add(e,t,E)}n.event={global:{},add:function(e,t,o,i,a){var r,c,l,d,u,h,f,g,v,b,j,m=s.get(e);if(H(e))for(o.handler&&(o=(f=o).handler,a=f.selector),a&&n.find.matchesSelector(x,a),o.guid||(o.guid=n.guid++),(h=m.events)||(h=m.events=Object.create(null)),(u=m.handle)||(u=m.handle=function(t){return"undefined"!=typeof n&&n.event.triggered!==t.type?n.event.dispatch.apply(e,arguments):void 0}),g=(t=(t||"").match(p)||[""]).length;g--;)r=j=(b=Oe.exec(t[g])||[])[1],v=(b[2]||"").split(".").sort(),r&&(c=n.event.special[r]||{},r=(a?c.delegateType:c.bindType)||r,c=n.event.special[r]||{},l=n.extend({type:r,origType:j,data:i,handler:o,guid:o.guid,selector:a,needsContext:a&&n.expr.match.needsContext.test(a),namespace:v.join(".")},f),(d=h[r])||((d=h[r]=[]).delegateCount=0,c.setup&&!1!==c.setup.call(e,i,v,u)||e.addEventListener&&e.addEventListener(r,u)),c.add&&(c.add.call(e,l),l.handler.guid||(l.handler.guid=o.guid)),a?d.splice(d.delegateCount++,0,l):d.push(l),n.event.global[r]=!0)},remove:function(e,t,o,i,a){var r,c,l,d,u,h,m,f,v,b,j,g=s.hasData(e)&&s.get(e);if(g&&(h=g.events)){for(f=(t=(t||"").match(p)||[""]).length;f--;)if(r=j=(d=Oe.exec(t[f])||[])[1],v=(d[2]||"").split(".").sort(),r){for(l=n.event.special[r]||{},u=h[r=(i?l.delegateType:l.bindType)||r]||[],d=d[2]&&new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"),b=m=u.length;m--;)c=u[m],!a&&j!==c.origType||o&&o.guid!==c.guid||d&&!d.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(u.splice(m,1),c.selector&&u.delegateCount--,l.remove&&l.remove.call(e,c));b&&!u.length&&(l.teardown&&!1!==l.teardown.call(e,v,g.handle)||n.removeEvent(e,r,g.handle),delete h[r])}else for(r in h)n.event.remove(e,r+t[f],o,i,!0);n.isEmptyObject(h)&&s.remove(e,"handle events")}},dispatch:function(e){var o,i,a,l,d,u,c=new Array(arguments.length),t=n.event.fix(e),h=(s.get(this,"events")||Object.create(null))[t.type]||[],r=n.event.special[t.type]||{};for(c[0]=t,o=1;o<arguments.length;o++)c[o]=arguments[o];if(t.delegateTarget=this,!r.preDispatch||!1!==r.preDispatch.call(this,t)){for(u=n.event.handlers.call(this,t,h),o=0;(a=u[o++])&&!t.isPropagationStopped();)for(t.currentTarget=a.elem,l=0;(i=a.handlers[l++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!1!==i.namespace&&!t.rnamespace.test(i.namespace)||(t.handleObj=i,t.data=i.data,void 0!==(d=((n.event.special[i.origType]||{}).handle||i.handler).apply(a.elem,c))&&!1===(t.result=d)&&(t.preventDefault(),t.stopPropagation()));return r.postDispatch&&r.postDispatch.call(this,t),t.result}},handlers:function(e,t){var o,i,a,r,l,d=[],c=t.delegateCount,s=e.target;if(c&&s.nodeType&&!("click"===e.type&&1<=e.button))for(;s!==this;s=s.parentNode||this)if(1===s.nodeType&&("click"!==e.type||!0!==s.disabled)){for(a=[],r={},i=0;i<c;i++)void 0===r[o=(l=t[i]).selector+" "]&&(r[o]=l.needsContext?-1<n(o,this).index(s):n.find(o,this,null,[s]).length),r[o]&&a.push(l);a.length&&d.push({elem:s,handlers:a})}return s=this,c<t.length&&d.push({elem:s,handlers:t.slice(c)}),d},addProp:function(e,t){Object.defineProperty(n.Event.prototype,e,{enumerable:!0,configurable:!0,get:a(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[n.expando]?e:new n.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return B.test(t.type)&&t.click&&c(t,"input")&&G(t,"click",!0),!1},trigger:function(e){var t=this||e;return B.test(t.type)&&t.click&&c(t,"input")&&G(t,"click"),!0},_default:function(e){var t=e.target;return B.test(t.type)&&t.click&&c(t,"input")&&s.get(t,"click")||c(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},n.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},n.Event=function(e,t){if(!(this instanceof n.Event))return new n.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?E:z,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&n.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[n.expando]=!0},n.Event.prototype={constructor:n.Event,isDefaultPrevented:z,isPropagationStopped:z,isImmediatePropagationStopped:z,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=E,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=E,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=E,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},n.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},n.event.addProp),n.each({focus:"focusin",blur:"focusout"},function(e,t){function i(e){if(o.documentMode){var a=s.get(this,"handle"),i=n.event.fix(e);i.type="focusin"===e.type?"focus":"blur",i.isSimulated=!0,a(e),i.target===i.currentTarget&&a(i)}else n.event.simulate(t,e.target,n.event.fix(e))}n.event.special[e]={setup:function(){var n;if(G(this,e,!0),!o.documentMode)return!1;(n=s.get(this,t))||this.addEventListener(t,i),s.set(this,t,(n||0)+1)},trigger:function(){return G(this,e),!0},teardown:function(){var e;if(!o.documentMode)return!1;(e=s.get(this,t)-1)?s.set(this,t,e):(this.removeEventListener(t,i),s.remove(this,t))},_default:function(t){return s.get(t.target,e)},delegateType:t},n.event.special[t]={setup:function(){var n=this.ownerDocument||this.document||this,a=o.documentMode?this:n,r=s.get(a,t);r||(o.documentMode?this.addEventListener(t,i):n.addEventListener(e,i,!0)),s.set(a,t,(r||0)+1)},teardown:function(){var a=this.ownerDocument||this.document||this,n=o.documentMode?this:a,r=s.get(n,t)-1;r?s.set(n,t,r):(o.documentMode?this.removeEventListener(t,i):a.removeEventListener(e,i,!0),s.remove(n,t))}}}),n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){n.event.special[e]={delegateType:t,bindType:t,handle:function(e){var o,s=e.relatedTarget,i=e.handleObj;return s&&(s===this||n.contains(this,s))||(e.type=i.origType,o=i.handler.apply(this,arguments),e.type=t),o}}}),n.fn.extend({on:function(e,t,n,s){return fe(this,e,t,n,s)},one:function(e,t,n,s){return fe(this,e,t,n,s,1)},off:function(e,t,s){var o,i;if(e&&e.preventDefault&&e.handleObj)return o=e.handleObj,n(e.delegateTarget).off(o.namespace?o.origType+"."+o.namespace:o.origType,o.selector,o.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(s=t,t=void 0),!1===s&&(s=z),this.each(function(){n.event.remove(this,e,s,t)})}});var tn=/<script|<style|<link/i,en=/checked\s*(?:[^=]|=\s*.checked.)/i,Jt=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Re(e,t){return c(e,"table")&&c(11!==t.nodeType?t:t.firstChild,"tr")&&n(e).children("tbody")[0]||e}function Zt(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Qt(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ie(e,t){var o,i,a,r,c,d;if(1===t.nodeType){if(s.hasData(e)&&(a=s.get(e).events))for(i in s.remove(t,"handle events"),a)for(o=0,r=a[i].length;o<r;o++)n.event.add(t,i,a[i][o]);l.hasData(e)&&(c=l.access(e),d=n.extend({},c),l.set(t,d))}}function C(e,t,o,r){t=Pe(t);var c,d,h,m,f,v,l=0,p=e.length,j=p-1,g=t[0],b=a(g);if(b||1<p&&"string"==typeof g&&!i.checkClone&&en.test(g))return e.each(function(n){var s=e.eq(n);b&&(t[0]=g.call(this,n,s.html())),C(s,t,o,r)});if(p&&(v=(h=Ae(t,e[0].ownerDocument,!1,e,r)).firstChild,1===h.childNodes.length&&(h=v),v||r)){for(m=(d=n.map(u(h,"script"),Zt)).length;l<p;l++)c=h,l!==j&&(c=n.clone(c,!0,!0),m&&n.merge(d,u(c,"script"))),o.call(e[l],c,l);if(m)for(f=d[d.length-1].ownerDocument,n.map(d,Qt),l=0;l<m;l++)c=d[l],Se.test(c.type||"")&&!s.access(c,"globalEval")&&n.contains(f,c)&&(c.src&&"module"!==(c.type||"").toLowerCase()?n._evalUrl&&!c.noModule&&n._evalUrl(c.src,{nonce:c.nonce||c.getAttribute("nonce")},f):wt(c.textContent.replace(Jt,""),c,f))}return e}function Ve(e,t,s){for(var o,a=t?n.filter(t,e):e,i=0;null!=(o=a[i]);i++)s||1!==o.nodeType||n.cleanData(u(o)),o.parentNode&&(s&&M(o)&&_e(u(o,"script")),o.parentNode.removeChild(o));return e}n.extend({htmlPrefilter:function(e){return e},clone:function(e,t,s){var o,a,r,l,d,h,m,c=e.cloneNode(!0),f=M(e);if(!(i.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||n.isXMLDoc(e)))for(a=u(c),o=0,l=(r=u(e)).length;o<l;o++)d=r[o],h=a[o],void 0,"input"===(m=h.nodeName.toLowerCase())&&B.test(d.type)?h.checked=d.checked:"input"!==m&&"textarea"!==m||(h.defaultValue=d.defaultValue);if(t)if(s)for(r=r||u(e),a=a||u(c),o=0,l=r.length;o<l;o++)Ie(r[o],a[o]);else Ie(e,c);return 0<(a=u(c,"script")).length&&_e(a,!f&&u(e,"script")),c},cleanData:function(e){for(var t,o,i,r=n.event.special,a=0;void 0!==(t=e[a]);a++)if(H(t)){if(o=t[s.expando]){if(o.events)for(i in o.events)r[i]?n.event.remove(t,i):n.removeEvent(t,i,o.handle);t[s.expando]=void 0}t[l.expando]&&(t[l.expando]=void 0)}}}),n.fn.extend({detach:function(e){return Ve(this,e,!0)},remove:function(e){return Ve(this,e)},text:function(e){return _(this,function(e){return void 0===e?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return C(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return C(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return C(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return C(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(n.cleanData(u(e,!1)),e.textContent="");return this},clone:function(e,t){return e=e!=null&&e,t=t??e,this.map(function(){return n.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},s=0,o=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tn.test(e)&&!m[(Me.exec(e)||["",""])[1].toLowerCase()]){e=n.htmlPrefilter(e);try{for(;s<o;s++)1===(t=this[s]||{}).nodeType&&(n.cleanData(u(t,!1)),t.innerHTML=e);t=0}catch{}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return C(this,arguments,function(t){var s=this.parentNode;n.inArray(this,e)<0&&(n.cleanData(u(this)),s&&s.replaceChild(t,this))},e)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){n.fn[e]=function(e){for(var o,i=[],a=n(e),r=a.length-1,s=0;s<=r;s++)o=s===r?this:this.clone(!0),n(a[s])[t](o),Z.apply(i,o.get());return this.pushStack(i)}});var pe=new RegExp("^("+ze+")(?!px)[a-z%]+$","i"),le=/^--/,ee=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Ke=function(e,t,n){var s,o,i={};for(s in t)i[s]=e.style[s],e.style[s]=t[s];for(s in o=n.call(e),t)e.style[s]=i[s];return o},kt=new RegExp(y.join("|"),"i");function K(e,t,s){var o,r,c,l,d=le.test(t),a=e.style;return(s=s||ee(e))&&(o=s.getPropertyValue(t)||s[t],d&&o&&(o=o.replace(W,"$1")||void 0),""!==o||M(e)||(o=n.style(e,t)),!i.pixelBoxStyles()&&pe.test(o)&&kt.test(t)&&(r=a.width,c=a.minWidth,l=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=s.width,a.width=r,a.minWidth=c,a.maxWidth=l)),void 0!==o?o+"":o}function Ge(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function s(){if(t){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",t.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",x.appendChild(c).appendChild(t);var n=e.getComputedStyle(t),l="1%"!==n.top,m=12===a(n.marginLeft);t.style.right="60%",h=36===a(n.right),d=36===a(n.width),t.style.position="absolute",u=12===a(t.offsetWidth/3),x.removeChild(c),t=null}}function a(e){return Math.round(parseFloat(e))}var r,l,d,u,h,m,c=o.createElement("div"),t=o.createElement("div");t.style&&(t.style.backgroundClip="content-box",t.cloneNode(!0).style.backgroundClip="",i.clearCloneStyle="content-box"===t.style.backgroundClip,n.extend(i,{boxSizingReliable:function(){return s(),d},pixelBoxStyles:function(){return s(),h},pixelPosition:function(){return s(),l},reliableMarginLeft:function(){return s(),m},scrollboxSize:function(){return s(),u},reliableTrDimensions:function(){var t,n,s,i;return r==null&&(n=o.createElement("table"),t=o.createElement("tr"),s=o.createElement("div"),n.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",s.style.height="9px",s.style.display="block",x.appendChild(n).appendChild(t).appendChild(s),i=e.getComputedStyle(t),r=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===t.offsetHeight,x.removeChild(n)),r}}))}();var Xe=["Webkit","Moz","ms"],Qe=o.createElement("div").style,Ze={};function we(e){var t=n.cssProps[e]||Ze[e];return t||(e in Qe?e:Ze[e]=function(e){for(var n=e[0].toUpperCase()+e.slice(1),t=Xe.length;t--;)if((e=Xe[t]+n)in Qe)return e}(e)||e)}var Wt=/^(none|table(?!-c[ea]).+)/,Vt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function st(e,t,n){var s=U.exec(t);return s?Math.max(0,s[2]-(n||0))+(s[3]||"px"):t}function Ce(e,t,s,o,i,a){var r="width"===t?1:0,l=0,c=0,d=0;if(s===(o?"border":"content"))return 0;for(;r<4;r+=2)"margin"===s&&(d+=n.css(e,s+y[r],!0,i)),o?("content"===s&&(c-=n.css(e,"padding"+y[r],!0,i)),"margin"!==s&&(c-=n.css(e,"border"+y[r]+"Width",!0,i))):(c+=n.css(e,"padding"+y[r],!0,i),"padding"!==s?c+=n.css(e,"border"+y[r]+"Width",!0,i):l+=n.css(e,"border"+y[r]+"Width",!0,i));return!o&&0<=a&&(c+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-c-l-.5))||0),c+d}function it(e,t,s){var a=ee(e),r=(!i.boxSizingReliable()||s)&&"border-box"===n.css(e,"boxSizing",!1,a),l=r,o=K(e,t,a),d="offset"+t[0].toUpperCase()+t.slice(1);if(pe.test(o)){if(!s)return o;o="auto"}return(!i.boxSizingReliable()&&r||!i.reliableTrDimensions()&&c(e,"tr")||"auto"===o||!parseFloat(o)&&"inline"===n.css(e,"display",!1,a))&&e.getClientRects().length&&(r="border-box"===n.css(e,"boxSizing",!1,a),(l=d in e)&&(o=e[d])),(o=parseFloat(o)||0)+Ce(e,t,s||(r?"border":"content"),l,a,o)+"px"}function f(e,t,n,s,o){return new f.prototype.init(e,t,n,s,o)}n.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=K(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,s,o){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var a,r,l,d=v(t),u=le.test(t),c=e.style;if(u||(t=we(d)),r=n.cssHooks[t]||n.cssHooks[d],void 0===s)return r&&"get"in r&&void 0!==(a=r.get(e,!1,o))?a:c[t];"string"===(l=typeof s)&&(a=U.exec(s))&&a[1]&&(s=Fe(e,t,a),l="number"),s!=null&&s==s&&("number"!==l||u||(s+=a&&a[3]||(n.cssNumber[d]?"":"px")),i.clearCloneStyle||""!==s||0!==t.indexOf("background")||(c[t]="inherit"),r&&"set"in r&&void 0===(s=r.set(e,s,o))||(u?c.setProperty(t,s):c[t]=s))}},css:function(e,t,s,o){var i,a,r,c=v(t);return le.test(t)||(t=we(c)),(r=n.cssHooks[t]||n.cssHooks[c])&&"get"in r&&(i=r.get(e,!0,s)),void 0===i&&(i=K(e,t,o)),"normal"===i&&t in nt&&(i=nt[t]),""===s||s?(a=parseFloat(i),!0===s||isFinite(a)?a||0:i):i}}),n.each(["height","width"],function(e,t){n.cssHooks[t]={get:function(e,s,o){if(s)return!Wt.test(n.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,o):Ke(e,Vt,function(){return it(e,t,o)})},set:function(e,s,o){var c,a=ee(e),l=!i.scrollboxSize()&&"absolute"===a.position,d=(l||o)&&"border-box"===n.css(e,"boxSizing",!1,a),r=o?Ce(e,t,o,d,a):0;return d&&l&&(r-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-Ce(e,t,"border",!1,a)-.5)),r&&(c=U.exec(s))&&"px"!==(c[3]||"px")&&(e.style[t]=s,s=n.css(e,t)),st(0,s,r)}}}),n.cssHooks.marginLeft=Ge(i.reliableMarginLeft,function(e,t){if(t)return(parseFloat(K(e,"marginLeft"))||e.getBoundingClientRect().left-Ke(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),n.each({margin:"",padding:"",border:"Width"},function(e,t){n.cssHooks[e+t]={expand:function(n){for(var s=0,i={},o="string"==typeof n?n.split(" "):[n];s<4;s++)i[e+y[s]+t]=o[s]||o[s-2]||o[0];return i}},"margin"!==e&&(n.cssHooks[e+t].set=st)}),n.fn.extend({css:function(e,t){return _(this,function(e,t,s){var i,a,r={},o=0;if(Array.isArray(t)){for(i=ee(e),a=t.length;o<a;o++)r[t[o]]=n.css(e,t[o],!1,i);return r}return void 0!==s?n.style(e,t,s):n.css(e,t)},e,t,1<arguments.length)}}),((n.Tween=f).prototype={constructor:f,init:function(e,t,s,o,i,a){this.elem=e,this.prop=s,this.easing=i||n.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=o,this.unit=a||(n.cssNumber[s]?"":"px")},cur:function(){var e=f.propHooks[this.prop];return e&&e.get?e.get(this):f.propHooks._default.get(this)},run:function(e){var t,s=f.propHooks[this.prop];return this.options.duration?this.pos=t=n.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),s&&s.set?s.set(this):f.propHooks._default.set(this),this}}).init.prototype=f.prototype,(f.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=n.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){n.fx.step[e.prop]?n.fx.step[e.prop](e):1!==e.elem.nodeType||!n.cssHooks[e.prop]&&null==e.elem.style[we(e.prop)]?e.elem[e.prop]=e.now:n.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=f.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},n.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},n.fx=f.prototype.init,n.fx.step={},ut=/^(?:toggle|show|hide)$/,ht=/queueHooks$/;function ae(){Y&&(!1===o.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ae):e.setTimeout(ae,n.fx.interval),n.fx.tick())}function ft(){return e.setTimeout(function(){T=void 0}),T=Date.now()}function oe(e,t){var o,s=0,n={height:e};for(t=t?1:0;s<4;s+=2-t)n["margin"+(o=y[s])]=n["padding"+o]=e;return t&&(n.opacity=n.width=e),n}function gt(e,t,n){for(var o,i=(g.tweeners[t]||[]).concat(g.tweeners["*"]),s=0,a=i.length;s<a;s++)if(o=i[s].call(n,t,e))return o}function g(e,t,s){var r,c,l=0,h=g.prefilters.length,i=n.Deferred().always(function(){delete u.elem}),u=function(){if(c)return!1;for(var r=T||ft(),t=Math.max(0,o.startTime+o.duration-r),n=1-(t/o.duration||0),s=0,a=o.tweens.length;s<a;s++)o.tweens[s].run(n);return i.notifyWith(e,[o,n,t]),n<1&&a?t:(a||i.notifyWith(e,[o,1,0]),i.resolveWith(e,[o]),!1)},o=i.promise({elem:e,props:n.extend({},t),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},s),originalProperties:t,originalOptions:s,startTime:T||ft(),duration:s.duration,tweens:[],createTween:function(t,s){var i=n.Tween(e,o.opts,t,s,o.opts.specialEasing[t]||o.opts.easing);return o.tweens.push(i),i},stop:function(t){var n=0,s=t?o.tweens.length:0;if(c)return this;for(c=!0;n<s;n++)o.tweens[n].run(1);return t?(i.notifyWith(e,[o,1,0]),i.resolveWith(e,[o,t])):i.rejectWith(e,[o,t]),this}}),d=o.props;for(!function(e,t){var s,o,i,a,r;for(s in e)if(a=t[i=v(s)],o=e[s],Array.isArray(o)&&(a=o[1],o=e[s]=o[0]),s!==i&&(e[i]=o,delete e[s]),(r=n.cssHooks[i])&&"expand"in r)for(s in o=r.expand(o),delete e[i],o)s in e||(e[s]=o[s],t[s]=a);else t[i]=a}(d,o.opts.specialEasing);l<h;l++)if(r=g.prefilters[l].call(o,e,d,o.opts))return a(r.stop)&&(n._queueHooks(o.elem,o.opts.queue).stop=r.stop.bind(r)),r;return n.map(d,gt,o),a(o.opts.start)&&o.opts.start.call(e,o),o.progress(o.opts.progress).done(o.opts.done,o.opts.complete).fail(o.opts.fail).always(o.opts.always),n.fx.timer(n.extend(u,{elem:e,anim:o,queue:o.opts.queue})),o}n.Animation=n.extend(g,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return Fe(n.elem,e,U.exec(t),n),n}]},tweener:function(e,t){a(e)?(t=e,e=["*"]):e=e.match(p);for(var n,s=0,o=e.length;s<o;s++)n=e[s],g.tweeners[n]=g.tweeners[n]||[],g.tweeners[n].unshift(t)},prefilters:[function(e,t,o){var i,r,l,d,u,p,g,v,b="width"in t||"height"in t,m=this,f={},c=e.style,h=e.nodeType&&$(e),a=s.get(e,"fxshow");for(i in o.queue||(null==(d=n._queueHooks(e,"fx")).unqueued&&(d.unqueued=0,v=d.empty.fire,d.empty.fire=function(){d.unqueued||v()}),d.unqueued++,m.always(function(){m.always(function(){d.unqueued--,n.queue(e,"fx").length||d.empty.fire()})})),t)if(p=t[i],ut.test(p)){if(delete t[i],g=g||"toggle"===p,p===(h?"hide":"show")){if("show"!==p||!a||void 0===a[i])continue;h=!0}f[i]=a&&a[i]||n.style(e,i)}if((l=!n.isEmptyObject(t))||!n.isEmptyObject(f))for(i in b&&1===e.nodeType&&(o.overflow=[c.overflow,c.overflowX,c.overflowY],null==(r=a&&a.display)&&(r=s.get(e,"display")),"none"===(u=n.css(e,"display"))&&(r?u=r:(L([e],!0),r=e.style.display||r,u=n.css(e,"display"),L([e]))),("inline"===u||"inline-block"===u&&r!=null)&&"none"===n.css(e,"float")&&(l||(m.done(function(){c.display=r}),r==null&&(u=c.display,r="none"===u?"":u)),c.display="inline-block")),o.overflow&&(c.overflow="hidden",m.always(function(){c.overflow=o.overflow[0],c.overflowX=o.overflow[1],c.overflowY=o.overflow[2]})),l=!1,f)l||(a?"hidden"in a&&(h=a.hidden):a=s.access(e,"fxshow",{display:r}),g&&(a.hidden=!h),h&&L([e],!0),m.done(function(){for(i in h||L([e]),s.remove(e,"fxshow"),f)n.style(e,i,f[i])})),l=gt(h?a[i]:0,i,m),i in a||(a[i]=l.start,h&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?g.prefilters.unshift(e):g.prefilters.push(e)}}),n.speed=function(e,t,s){var o=e&&"object"==typeof e?n.extend({},e):{complete:s||!s&&t||a(e)&&e,duration:e,easing:s&&t||t&&!a(t)&&t};return n.fx.off?o.duration=0:"number"!=typeof o.duration&&(o.duration in n.fx.speeds?o.duration=n.fx.speeds[o.duration]:o.duration=n.fx.speeds._default),null!=o.queue&&!0!==o.queue||(o.queue="fx"),o.old=o.complete,o.complete=function(){a(o.old)&&o.old.call(this),o.queue&&n.dequeue(this,o.queue)},o},n.fn.extend({fadeTo:function(e,t,n,s){return this.filter($).css("opacity",0).show().end().animate({opacity:t},e,n,s)},animate:function(e,t,o,i){var c=n.isEmptyObject(e),r=n.speed(t,o,i),a=function(){var t=g(this,n.extend({},e),r);(c||s.get(this,"finish"))&&t.stop(!0)};return a.finish=a,c||!1===r.queue?this.each(a):this.queue(r.queue,a)},stop:function(e,t,o){var i=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof e&&(o=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var c=!0,t=e!=null&&e+"queueHooks",r=n.timers,a=s.get(this);if(t)a[t]&&a[t].stop&&i(a[t]);else for(t in a)a[t]&&a[t].stop&&ht.test(t)&&i(a[t]);for(t=r.length;t--;)r[t].elem!==this||e!=null&&r[t].queue!==e||(r[t].anim.stop(o),c=!1,r.splice(t,1));!c&&o||n.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,a=s.get(this),o=a[e+"queue"],r=a[e+"queueHooks"],i=n.timers,c=o?o.length:0;for(a.finish=!0,n.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<c;t++)o[t]&&o[t].finish&&o[t].finish.call(this);delete a.finish})}}),n.each(["toggle","show","hide"],function(e,t){var s=n.fn[t];n.fn[t]=function(e,n,o){return e==null||"boolean"==typeof e?s.apply(this,arguments):this.animate(oe(t,!0),e,n,o)}}),n.each({slideDown:oe("show"),slideUp:oe("hide"),slideToggle:oe("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){n.fn[e]=function(e,n,s){return this.animate(t,e,n,s)}}),n.timers=[],n.fx.tick=function(){var s,e=0,t=n.timers;for(T=Date.now();e<t.length;e++)(s=t[e])()||t[e]!==s||t.splice(e--,1);t.length||n.fx.stop(),T=void 0},n.fx.timer=function(e){n.timers.push(e),n.fx.start()},n.fx.interval=13,n.fx.start=function(){Y||(Y=!0,ae())},n.fx.stop=function(){Y=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(t,s){return t=n.fx&&n.fx.speeds[t]||t,s=s||"fx",this.queue(s,function(n,s){var o=e.setTimeout(n,t);s.stop=function(){e.clearTimeout(o)}})},P=o.createElement("input"),dt=o.createElement("select").appendChild(o.createElement("option")),P.type="checkbox",i.checkOn=""!==P.value,i.optSelected=dt.selected,(P=o.createElement("input")).value="t",P.type="radio",i.radioValue="t"===P.value,N=n.expr.attrHandle,n.fn.extend({attr:function(e,t){return _(this,n.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){n.removeAttr(this,e)})}}),n.extend({attr:function(e,t,s){var o,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return"undefined"==typeof e.getAttribute?n.prop(e,t,s):(1===a&&n.isXMLDoc(e)||(o=n.attrHooks[t.toLowerCase()]||(n.expr.match.bool.test(t)?bt:void 0)),void 0!==s?null===s?void n.removeAttr(e,t):o&&"set"in o&&void 0!==(i=o.set(e,s,t))?i:(e.setAttribute(t,s+""),s):o&&"get"in o&&null!==(i=o.get(e,t))?i:null==(i=n.find.attr(e,t))?void 0:i)},attrHooks:{type:{set:function(e,t){if(!i.radioValue&&"radio"===t&&c(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,o=0,s=t&&t.match(p);if(s&&1===e.nodeType)for(;n=s[o++];)e.removeAttribute(n)}}),bt={set:function(e,t,s){return!1===t?n.removeAttr(e,s):e.setAttribute(s,s),s}},n.each(n.expr.match.bool.source.match(/\w+/g),function(e,t){var s=N[t]||n.find.attr;N[t]=function(e,t,n){var i,a,o=t.toLowerCase();return n||(a=N[o],N[o]=i,i=null!=s(e,t,n)?o:null,N[o]=a),i}}),yt=/^(?:input|select|textarea|button)$/i,_t=/^(?:a|area)$/i;function w(e){return(e.match(p)||[]).join(" ")}function O(e){return e.getAttribute&&e.getAttribute("class")||""}function ce(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(p)||[]}n.fn.extend({prop:function(e,t){return _(this,n.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[n.propFix[e]||e]})}}),n.extend({prop:function(e,t,s){var o,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&n.isXMLDoc(e)||(t=n.propFix[t]||t,o=n.propHooks[t]),void 0!==s?o&&"set"in o&&void 0!==(i=o.set(e,s,t))?i:e[t]=s:o&&"get"in o&&null!==(i=o.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=n.find.attr(e,"tabindex");return t?parseInt(t,10):yt.test(e.nodeName)||_t.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),i.optSelected||(n.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),n.fn.extend({addClass:function(e){var t,s,o,i,r,c;return a(e)?this.each(function(t){n(this).addClass(e.call(this,t,O(this)))}):(o=ce(e)).length?this.each(function(){if(i=O(this),t=1===this.nodeType&&" "+w(i)+" "){for(s=0;s<o.length;s++)r=o[s],t.indexOf(" "+r+" ")<0&&(t+=r+" ");c=w(t),i!==c&&this.setAttribute("class",c)}}):this},removeClass:function(e){var t,s,o,i,r,c;return a(e)?this.each(function(t){n(this).removeClass(e.call(this,t,O(this)))}):arguments.length?(o=ce(e)).length?this.each(function(){if(i=O(this),t=1===this.nodeType&&" "+w(i)+" "){for(s=0;s<o.length;s++)for(r=o[s];-1<t.indexOf(" "+r+" ");)t=t.replace(" "+r+" "," ");c=w(t),i!==c&&this.setAttribute("class",c)}}):this:this.attr("class","")},toggleClass:function(e,t){var o,i,r,c,l=typeof e,d="string"===l||Array.isArray(e);return a(e)?this.each(function(s){n(this).toggleClass(e.call(this,s,O(this),t),t)}):"boolean"==typeof t&&d?t?this.addClass(e):this.removeClass(e):(c=ce(e),this.each(function(){if(d)for(r=n(this),i=0;i<c.length;i++)o=c[i],r.hasClass(o)?r.removeClass(o):r.addClass(o);else void 0!==e&&"boolean"!==l||((o=O(this))&&s.set(this,"__className__",o),this.setAttribute&&this.setAttribute("class",o||!1===e?"":s.get(this,"__className__")||""))}))},hasClass:function(e){for(var t,s=0,n=" "+e+" ";t=this[s++];)if(1===t.nodeType&&-1<(" "+w(O(t))+" ").indexOf(n))return!0;return!1}}),Ct=/\r/g,n.fn.extend({val:function(e){var t,s,i,o=this[0];return arguments.length?(i=a(e),this.each(function(s){var o;1===this.nodeType&&(null==(o=i?e.call(this,s,n(this).val()):e)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=n.map(o,function(e){return e==null?"":e+""})),(t=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))})):o?(t=n.valHooks[o.type]||n.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(s=t.get(o,"value"))?s:"string"==typeof(s=o.value)?s.replace(Ct,""):s??"":void 0}}),n.extend({valHooks:{option:{get:function(e){var t=n.find.attr(e,"value");return t??w(n.text(e))}},select:{get:function(e){var t,s,a,r=e.options,o=e.selectedIndex,i="select-one"===e.type,l=i?null:[],d=i?o+1:r.length;for(s=o<0?d:i?o:0;s<d;s++)if(((t=r[s]).selected||s===o)&&!t.disabled&&(!t.parentNode.disabled||!c(t.parentNode,"optgroup"))){if(a=n(t).val(),i)return a;l.push(a)}return l},set:function(e,t){for(var s,o,i=e.options,a=n.makeArray(t),r=i.length;r--;)((o=i[r]).selected=-1<n.inArray(n.valHooks.option.get(o),a))&&(s=!0);return s||(e.selectedIndex=-1),a}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<n.inArray(n(e).val(),t)}},i.checkOn||(n.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var V=e.location,Je={guid:Date.now()},de=/\?/;n.parseXML=function(t){var s,o;if(!t||"string"!=typeof t)return null;try{s=(new e.DOMParser).parseFromString(t,"text/xml")}catch{}return o=s&&s.getElementsByTagName("parsererror")[0],s&&!o||n.error("Invalid XML: "+(o?n.map(o.childNodes,function(e){return e.textContent}).join(` +`):t)),s},he=/^(?:focusinfocus|focusoutblur)$/,me=function(e){e.stopPropagation()},n.extend(n.event,{trigger:function(t,i,r,c){var d,u,h,m,f,p,b,j,g=[r||o],l=q.call(t,"type")?t.type:t,v=q.call(t,"namespace")?t.namespace.split("."):[];if(d=p=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!he.test(l+n.event.triggered)&&(-1<l.indexOf(".")&&(l=(v=l.split(".")).shift(),v.sort()),m=l.indexOf(":")<0&&"on"+l,(t=t[n.expando]?t:new n.Event(l,"object"==typeof t&&t)).isTrigger=c?2:3,t.namespace=v.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),i=i==null?[t]:n.makeArray(i,[t]),h=n.event.special[l]||{},c||!h.trigger||!1!==h.trigger.apply(r,i))){if(!c&&!h.noBubble&&!R(r)){for(j=h.delegateType||l,he.test(j+l)||(d=d.parentNode);d;d=d.parentNode)g.push(d),u=d;u===(r.ownerDocument||o)&&g.push(u.defaultView||u.parentWindow||e)}for(b=0;(d=g[b++])&&!t.isPropagationStopped();)p=d,t.type=1<b?j:h.bindType||l,(f=(s.get(d,"events")||Object.create(null))[t.type]&&s.get(d,"handle"))&&f.apply(d,i),(f=m&&d[m])&&f.apply&&H(d)&&(t.result=f.apply(d,i),!1===t.result&&t.preventDefault());return t.type=l,c||t.isDefaultPrevented()||h._default&&!1!==h._default.apply(g.pop(),i)||!H(r)||m&&a(r[l])&&!R(r)&&((u=r[m])&&(r[m]=null),n.event.triggered=l,t.isPropagationStopped()&&p.addEventListener(l,me),r[l](),t.isPropagationStopped()&&p.removeEventListener(l,me),n.event.triggered=void 0,u&&(r[m]=u)),t.result}},simulate:function(e,t,s){var o=n.extend(new n.Event,s,{type:e,isSimulated:!0});n.event.trigger(o,null,t)}}),n.fn.extend({trigger:function(e,t){return this.each(function(){n.event.trigger(e,t,this)})},triggerHandler:function(e,t){var s=this[0];if(s)return n.event.trigger(e,t,s,!0)}});var Ft=/\[\]$/,xt=/\r?\n/g,zt=/^(?:submit|button|image|reset|file)$/i,Dt=/^(?:input|select|textarea|keygen)/i;function re(e,t,s,o){var i;if(Array.isArray(t))n.each(t,function(t,n){s||Ft.test(e)?o(e,n):re(e+"["+("object"==typeof n&&n!=null?t:"")+"]",n,s,o)});else if(s||"object"!==F(t))o(e,t);else for(i in t)re(e+"["+i+"]",t[i],s,o)}n.param=function(e,t){var s,o=[],i=function(e,t){var n=a(t)?t():t;o[o.length]=encodeURIComponent(e)+"="+encodeURIComponent(n??"")};if(e==null)return"";if(Array.isArray(e)||e.jquery&&!n.isPlainObject(e))n.each(e,function(){i(this.name,this.value)});else for(s in e)re(s,e[s],t,i);return o.join("&")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=n.prop(this,"elements");return e?n.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!n(this).is(":disabled")&&Dt.test(this.nodeName)&&!zt.test(e)&&(this.checked||!B.test(e))}).map(function(e,t){var s=n(this).val();return s==null?null:Array.isArray(s)?n.map(s,function(e){return{name:t.name,value:e.replace(xt,`
+`)}}):{name:t.name,value:s.replace(xt,`
+`)}}).get()}});var Lt=/%20/g,Rt=/#.*$/,Pt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,It=/^(?:GET|HEAD)$/,Bt=/^\/\//,tt={},ge={},et="*/".concat("*"),be=o.createElement("a");function ke(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var s,o=0,i=t.toLowerCase().match(p)||[];if(a(n))for(;s=i[o++];)"+"===s[0]?(s=s.slice(1)||"*",(e[s]=e[s]||[]).unshift(n)):(e[s]=e[s]||[]).push(n)}}function Ye(e,t,s,o){var i={},r=e===ge;function a(c){var l;return i[c]=!0,n.each(e[c]||[],function(e,n){var c=n(t,s,o);return"string"!=typeof c||r||i[c]?r?!(l=c):void 0:(t.dataTypes.unshift(c),a(c),!1)}),l}return a(t.dataTypes[0])||!i["*"]&&a("*")}function je(e,t){var s,o,i=n.ajaxSettings.flatOptions||{};for(s in t)void 0!==t[s]&&((i[s]?e:o||(o={}))[s]=t[s]);return o&&n.extend(!0,e,o),e}return be.href=V.href,n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:V.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(V.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":et,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?je(je(e,n.ajaxSettings),t):je(n.ajaxSettings,e)},ajaxPrefilter:ke(tt),ajaxTransport:ke(ge),ajax:function(t,s){"object"==typeof t&&(s=t,t=void 0),s=s||{};var r,c,d,u,h,f,g,b,j,w,i=n.ajaxSetup({},s),l=i.context||i,y=i.context&&(l.nodeType||l.jquery)?n(l):n.event,_=n.Deferred(),O=n.Callbacks("once memory"),m=i.statusCode||{},x={},C={},E="canceled",a={readyState:0,getResponseHeader:function(e){if(c){if(!u){u={};for(var t;t=Ht.exec(w);)u[t[1].toLowerCase()+" "]=(u[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=u[e.toLowerCase()+" "]}return t==null?null:t.join(", ")},getAllResponseHeaders:function(){return c?w:null},setRequestHeader:function(e,t){return c==null&&(e=C[e.toLowerCase()]=C[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return c==null&&(i.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)a.always(e[a.status]);else for(t in e)m[t]=[m[t],e[t]];return this},abort:function(e){var t=e||E;return h&&h.abort(t),v(0,t),this}};if(_.promise(a),i.url=((t||i.url||V.href)+"").replace(Bt,V.protocol+"//"),i.type=s.method||s.type||i.method||i.type,i.dataTypes=(i.dataType||"*").toLowerCase().match(p)||[""],null==i.crossDomain){d=o.createElement("a");try{d.href=i.url,d.href=d.href,i.crossDomain=be.protocol+"//"+be.host!=d.protocol+"//"+d.host}catch{i.crossDomain=!0}}if(i.data&&i.processData&&"string"!=typeof i.data&&(i.data=n.param(i.data,i.traditional)),Ye(tt,i,s,a),c)return a;for(j in(g=n.event&&i.global)&&0==n.active++&&n.event.trigger("ajaxStart"),i.type=i.type.toUpperCase(),i.hasContent=!It.test(i.type),r=i.url.replace(Rt,""),i.hasContent?i.data&&i.processData&&0===(i.contentType||"").indexOf("application/x-www-form-urlencoded")&&(i.data=i.data.replace(Lt,"+")):(f=i.url.slice(r.length),i.data&&(i.processData||"string"==typeof i.data)&&(r+=(de.test(r)?"&":"?")+i.data,delete i.data),!1===i.cache&&(r=r.replace(Pt,"$1"),f=(de.test(r)?"&":"?")+"_="+Je.guid+++f),i.url=r+f),i.ifModified&&(n.lastModified[r]&&a.setRequestHeader("If-Modified-Since",n.lastModified[r]),n.etag[r]&&a.setRequestHeader("If-None-Match",n.etag[r])),(i.data&&i.hasContent&&!1!==i.contentType||s.contentType)&&a.setRequestHeader("Content-Type",i.contentType),a.setRequestHeader("Accept",i.dataTypes[0]&&i.accepts[i.dataTypes[0]]?i.accepts[i.dataTypes[0]]+("*"!==i.dataTypes[0]?", "+et+"; q=0.01":""):i.accepts["*"]),i.headers)a.setRequestHeader(j,i.headers[j]);if(i.beforeSend&&(!1===i.beforeSend.call(l,a,i)||c))return a.abort();if(E="abort",O.add(i.complete),a.done(i.success),a.fail(i.error),h=Ye(ge,i,s,a)){if(a.readyState=1,g&&y.trigger("ajaxSend",[a,i]),c)return a;i.async&&0<i.timeout&&(b=e.setTimeout(function(){a.abort("timeout")},i.timeout));try{c=!1,h.send(x,v)}catch(e){if(c)throw e;v(-1,e)}}else v(-1,"No Transport");function v(t,s,o,d){var f,p,v,j,x,u=s;c||(c=!0,b&&e.clearTimeout(b),h=void 0,w=d||"",a.readyState=0<t?4:0,f=200<=t&&t<300||304===t,o&&(p=function(e,t,n){for(var o,i,a,r,c=e.contents,s=e.dataTypes;"*"===s[0];)s.shift(),void 0===a&&(a=e.mimeType||t.getResponseHeader("Content-Type"));if(a)for(o in c)if(c[o]&&c[o].test(a)){s.unshift(o);break}if(s[0]in n)i=s[0];else{for(o in n){if(!s[0]||e.converters[o+" "+s[0]]){i=o;break}r||(r=o)}i=i||r}if(i)return i!==s[0]&&s.unshift(i),n[i]}(i,a,o)),!f&&-1<n.inArray("script",i.dataTypes)&&n.inArray("json",i.dataTypes)<0&&(i.converters["text script"]=function(){}),p=function(e,t,n,s){var o,i,a,c,l,r={},d=e.dataTypes.slice();if(d[1])for(i in e.converters)r[i.toLowerCase()]=e.converters[i];for(o=d.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!a&&s&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a=o,o=d.shift())if("*"===o)o=a;else if("*"!==a&&a!==o){if(!(i=r[a+" "+o]||r["* "+o]))for(l in r)if((c=l.split(" "))[1]===o&&(i=r[a+" "+c[0]]||r["* "+c[0]])){!0===i?i=r[l]:!0!==r[l]&&(o=c[0],d.unshift(c[1]));break}if(!0!==i)if(i&&e.throws)t=i(t);else try{t=i(t)}catch(e){return{state:"parsererror",error:i?e:"No conversion from "+a+" to "+o}}}return{state:"success",data:t}}(i,p,a,f),f?(i.ifModified&&((j=a.getResponseHeader("Last-Modified"))&&(n.lastModified[r]=j),(j=a.getResponseHeader("etag"))&&(n.etag[r]=j)),204===t||"HEAD"===i.type?u="nocontent":304===t?u="notmodified":(u=p.state,x=p.data,f=!(v=p.error))):(v=u,!t&&u||(u="error",t<0&&(t=0))),a.status=t,a.statusText=(s||u)+"",f?_.resolveWith(l,[x,u,a]):_.rejectWith(l,[a,u,v]),a.statusCode(m),m=void 0,g&&y.trigger(f?"ajaxSuccess":"ajaxError",[a,i,f?x:v]),O.fireWith(l,[a,u]),g&&(y.trigger("ajaxComplete",[a,i]),--n.active||n.event.trigger("ajaxStop")))}return a},getJSON:function(e,t,s){return n.get(e,t,s,"json")},getScript:function(e,t){return n.get(e,void 0,t,"script")}}),n.each(["get","post"],function(e,t){n[t]=function(e,s,o,i){return a(s)&&(i=i||o,o=s,s=void 0),n.ajax(n.extend({url:e,type:t,dataType:i,data:s,success:o},n.isPlainObject(e)&&e))}}),n.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),n._evalUrl=function(e,t,s){return n.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){n.globalEval(e,t,s)}})},n.fn.extend({wrapAll:function(e){var t;return this[0]&&(a(e)&&(e=e.call(this[0])),t=n(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return a(e)?this.each(function(t){n(this).wrapInner(e.call(this,t))}):this.each(function(){var t=n(this),s=t.contents();s.length?s.wrapAll(e):t.append(e)})},wrap:function(e){var t=a(e);return this.each(function(s){n(this).wrapAll(t?e.call(this,s):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){n(this).replaceWith(this.childNodes)}),this}}),n.expr.pseudos.hidden=function(e){return!n.expr.pseudos.visible(e)},n.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},n.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch{}},We={0:200,1223:204},k=n.ajaxSettings.xhr(),i.cors=!!k&&"withCredentials"in k,i.ajax=k=!!k,n.ajaxTransport(function(t){var n,s;if(i.cors||k&&!t.crossDomain)return{send:function(o,i){var r,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(r in t.xhrFields)a[r]=t.xhrFields[r];for(r in t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)a.setRequestHeader(r,o[r]);n=function(e){return function(){n&&(n=s=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(We[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),s=a.onerror=a.ontimeout=n("error"),void 0!==a.onabort?a.onabort=s:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&s()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),n.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return n.globalEval(e),e}}}),n.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),n.ajaxTransport("script",function(e){var t,s;if(e.crossDomain||e.scriptAttrs)return{send:function(i,a){s=n("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",t=function(e){s.remove(),t=null,e&&a("error"===e.type?404:200,e.type)}),o.head.appendChild(s[0])},abort:function(){t&&t()}}}),xe=[],Q=/(=)\?(?=&|$)|\?\?/,n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=xe.pop()||n.expando+"_"+Je.guid++;return this[e]=!0,e}}),n.ajaxPrefilter("json jsonp",function(t,s,o){var i,r,c,l=!1!==t.jsonp&&(Q.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Q.test(t.data)&&"data");if(l||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=a(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,l?t[l]=t[l].replace(Q,"$1"+i):!1!==t.jsonp&&(t.url+=(de.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return c||n.error(i+" was not called"),c[0]},t.dataTypes[0]="json",r=e[i],e[i]=function(){c=arguments},o.always(function(){void 0===r?n(e).removeProp(i):e[i]=r,t[i]&&(t.jsonpCallback=s.jsonpCallback,xe.push(i)),c&&a(r)&&r(c[0]),c=r=void 0}),"script"}),i.createHTMLDocument=((He=o.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===He.childNodes.length),n.parseHTML=function(e,t,s){return"string"!=typeof e?[]:("boolean"==typeof t&&(s=t,t=!1),t||(i.createHTMLDocument?((c=(t=o.implementation.createHTMLDocument("")).createElement("base")).href=o.location.href,t.head.appendChild(c)):t=o),a=!s&&[],(r=pt.exec(e))?[t.createElement(r[1])]:(r=Ae([e],t,a),a&&a.length&&n(a).remove(),n.merge([],r.childNodes)));var a,r,c},n.fn.load=function(e,t,s){var o,c,l,i=this,r=e.indexOf(" ");return-1<r&&(o=w(e.slice(r)),e=e.slice(0,r)),a(t)?(s=t,t=void 0):t&&"object"==typeof t&&(c="POST"),0<i.length&&n.ajax({url:e,type:c||"GET",dataType:"html",data:t}).done(function(e){l=arguments,i.html(o?n("<div>").append(n.parseHTML(e)).find(o):e)}).always(s&&function(e,t){i.each(function(){s.apply(this,l||[e.responseText,t,e])})}),this},n.expr.pseudos.animated=function(e){return n.grep(n.timers,function(t){return e===t.elem}).length},n.offset={setOffset:function(e,t,s){var o,r,c,l,d,m,u=n.css(e,"position"),h=n(e),i={};"static"===u&&(e.style.position="relative"),o=h.offset(),c=n.css(e,"top"),d=n.css(e,"left"),("absolute"===u||"fixed"===u)&&-1<(c+d).indexOf("auto")?(l=(m=h.position()).top,r=m.left):(l=parseFloat(c)||0,r=parseFloat(d)||0),a(t)&&(t=t.call(e,s,n.extend({},o))),null!=t.top&&(i.top=t.top-o.top+l),null!=t.left&&(i.left=t.left-o.left+r),"using"in t?t.using.call(e,i):h.css(i)}},n.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){n.offset.setOffset(this,e,t)});var s,o,t=this[0];return t?t.getClientRects().length?(s=t.getBoundingClientRect(),o=t.ownerDocument.defaultView,{top:s.top+o.pageYOffset,left:s.left+o.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,s,o,t=this[0],i={top:0,left:0};if("fixed"===n.css(t,"position"))s=t.getBoundingClientRect();else{for(s=this.offset(),o=t.ownerDocument,e=t.offsetParent||o.documentElement;e&&(e===o.body||e===o.documentElement)&&"static"===n.css(e,"position");)e=e.parentNode;e&&e!==t&&1===e.nodeType&&((i=n(e).offset()).top+=n.css(e,"borderTopWidth",!0),i.left+=n.css(e,"borderLeftWidth",!0))}return{top:s.top-i.top-n.css(t,"marginTop",!0),left:s.left-i.left-n.css(t,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===n.css(e,"position");)e=e.offsetParent;return e||x})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var s="pageYOffset"===t;n.fn[e]=function(n){return _(this,function(e,n,o){var i;if(R(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===o)return i?i[t]:e[n];i?i.scrollTo(s?i.pageXOffset:o,s?o:i.pageYOffset):e[n]=o},e,n,arguments.length)}}),n.each(["top","left"],function(e,t){n.cssHooks[t]=Ge(i.pixelPosition,function(e,s){if(s)return s=K(e,t),pe.test(s)?n(e).position()[t]+"px":s})}),n.each({Height:"height",Width:"width"},function(e,t){n.each({padding:"inner"+e,content:t,"":"outer"+e},function(s,o){n.fn[o]=function(i,a){var r=arguments.length&&(s||"boolean"!=typeof i),c=s||(!0===i||!0===a?"margin":"border");return _(this,function(t,s,i){var a;return R(t)?0===o.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(a=t.documentElement,Math.max(t.body["scroll"+e],a["scroll"+e],t.body["offset"+e],a["offset"+e],a["client"+e])):void 0===i?n.css(t,s,c):n.style(t,s,i,c)},t,r?i:void 0,r)}})}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){n.fn[t]=function(e){return this.on(t,e)}}),n.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,s){return this.on(t,e,n,s)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),n.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){n.fn[t]=function(e,n){return 0<arguments.length?this.on(t,null,e,n):this.trigger(t)}}),Ne=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g,n.proxy=function(e,t){var s,o,i;if("string"==typeof t&&(s=e[t],t=e,e=s),a(e))return o=h.call(arguments,2),(i=function(){return e.apply(t||this,o.concat(h.call(arguments)))}).guid=e.guid=e.guid||n.guid++,i},n.holdReady=function(e){e?n.readyWait++:n.ready(!0)},n.isArray=Array.isArray,n.parseJSON=JSON.parse,n.nodeName=c,n.isFunction=a,n.isWindow=R,n.camelCase=v,n.type=F,n.now=Date.now,n.isNumeric=function(e){var t=n.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},n.trim=function(e){return e==null?"":(e+"").replace(Ne,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return n}),De=e.jQuery,Te=e.$,n.noConflict=function(t){return e.$===n&&(e.$=Te),t&&e.jQuery===n&&(e.jQuery=De),n},"undefined"==typeof t&&(e.jQuery=e.$=n),n}),!function(e){function s(e,t,n){return"string"==typeof e&&("%"==e.slice(-1)?e=parseInt(e.substring(0,e.length-1))/100*t:"vh"==e.slice(-2)?e=parseInt(e.substring(0,e.length-2))/100*n:"px"==e.slice(-2)&&(e=parseInt(e.substring(0,e.length-2)))),e}var t=e(window),o=1,n={};t.on("scroll",function(){var s=t.scrollTop();e.map(n,function(e){window.clearTimeout(e.timeoutId),e.timeoutId=window.setTimeout(function(){e.handler(s)},e.options.delay)})}).on("load",function(){t.trigger("scroll")}),jQuery.fn.scrollex=function(i){var r,c,l,d,u,h,a=e(this);if(0==this.length)return a;if(this.length>1){for(l=0;l<this.length;l++)e(this[l]).scrollex(i);return a}if(a.data("_scrollexId"))return a;switch(d=o++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},i),u.mode){case"top":r=function(e,t,n,s,o){return e>=s&&o>=e};break;case"bottom":r=function(e,t,n,s,o){return n>=s&&o>=n};break;case"middle":r=function(e,t,n,s,o){return t>=s&&o>=t};break;case"top-only":r=function(e,t,n,s){return s>=e&&n>=s};break;case"bottom-only":r=function(e,t,n,s,o){return n>=o&&o>=e};break;default:case"default":r=function(e,t,n,s,o){return n>=s&&o>=e}}return h=function(e){var u=this.state,o=!1,l=this.$element.offset(),n=t.height(),r=e+n/2,d=e+n,i=this.$element.outerHeight(),a=l.top+s(this.options.top,i,n),c=l.top+i-s(this.options.bottom,i,n),o=this.test(e,r,d,a,c);o!=u&&(this.state=o,o?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(r-a)/(c-a)])},c={id:d,options:u,test:r,handler:h,state:null,element:this,$element:a,timeoutId:null},n[d]=c,a.data("_scrollexId",c.id),c.options.initialize&&c.options.initialize.apply(this),a},jQuery.fn.unscrollex=function(){var s,o,i,t=e(this);if(0==this.length)return t;if(this.length>1){for(s=0;s<this.length;s++)e(this[s]).unscrollex();return t}return(i=t.data("_scrollexId"))?(o=n[i],window.clearTimeout(o.timeoutId),delete n[i],t.removeData("_scrollexId"),o.options.terminate&&o.options.terminate.apply(this),t):t}}(jQuery),function(e){function i(i,a){var r,c,l;if((c=e(i))[t]==0)return n;switch(l=c[s]()[o],a.anchor){case"middle":r=l-(e(window).height()-c.outerHeight())/2;break;default:case o:r=Math.max(l,0)}return typeof a[s]=="function"?r-=a[s]():r-=a[s],r}var t="length",n=null,o="top",s="offset",a="click.scrolly",r=e(window);e.fn.scrolly=function(s){var r,c,d,u,l=e(this);if(this[t]==0)return l;if(this[t]>1){for(d=0;d<this[t];d++)e(this[d]).scrolly(s);return l}if(u=n,c=l.attr("href"),c.charAt(0)!="#"||c[t]<2)return l;r=jQuery.extend({anchor:o,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},s),r.pollOnce&&(u=i(c,r)),l.off(a).on(a,function(e){var t=u!==n?u:i(c,r);t!==n&&(e.preventDefault(),r.parent.stop().animate({scrollTop:t},r.speed,r.easing))})}}(jQuery);var breakpoints,browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(t){e._canUse||(e._canUse=document.createElement("div"));var n=e._canUse.style,s=t.charAt(0).toUpperCase()+t.slice(1);return t in n||"Moz"+s in n||"Webkit"+s in n||"O"+s in n||"ms"+s in n},init:function(){var t,n,s,o,i=navigator.userAgent;for(s="other",o=0,n=[["firefox",/Firefox\/([0-9.]+)/],["bb",/BlackBerry.+Version\/([0-9.]+)/],["bb",/BB[0-9]+.+Version\/([0-9.]+)/],["opera",/OPR\/([0-9.]+)/],["opera",/Opera\/([0-9.]+)/],["edge",/Edge\/([0-9.]+)/],["safari",/Version\/([0-9.]+).+Safari/],["chrome",/Chrome\/([0-9.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],t=0;t<n.length;t++)if(i.match(n[t][1])){s=n[t][0],o=parseFloat(RegExp.$1);break}for(e.name=s,e.version=o,s="other",o=0,n=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(){return 0}],["wp",/Windows Phone ([0-9.]+)/,null],["android",/Android ([0-9.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9.]+)/,null],["bb",/BlackBerry.+Version\/([0-9.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],t=0;t<n.length;t++)if(i.match(n[t][1])){s=n[t][0],o=parseFloat(n[t][2]?n[t][2](RegExp.$1):RegExp.$1);break}e.os=s,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:"ontouchstart"in window,e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.browser=t()}(this,function(){return browser}),breakpoints=function(){"use strict";function t(t){e.init(t)}var e={list:null,media:{},events:[],init:function(t){e.list=t,window.addEventListener("resize",e.poll),window.addEventListener("orientationchange",e.poll),window.addEventListener("load",e.poll),window.addEventListener("fullscreenchange",e.poll)},active:function(t){var n,s,o,i,a,r,c;if(!(t in e.media)){if(">="==t.substr(0,2)?(r="gte",a=t.substr(2)):"<="==t.substr(0,2)?(r="lte",a=t.substr(2)):">"==t.substr(0,1)?(r="gt",a=t.substr(1)):"<"==t.substr(0,1)?(r="lt",a=t.substr(1)):"!"==t.substr(0,1)?(r="not",a=t.substr(1)):(r="eq",a=t),a&&a in e.list)if(c=e.list[a],Array.isArray(c)){if(o=parseInt(c[0]),i=parseInt(c[1]),isNaN(o)){if(isNaN(i))return;s=c[1].substr(String(i).length)}else s=c[0].substr(String(o).length);if(isNaN(o))switch(r){case"gte":n="screen";break;case"lte":n="screen and (max-width: "+i+s+")";break;case"gt":n="screen and (min-width: "+(i+1)+s+")";break;case"lt":n="screen and (max-width: -1px)";break;case"not":n="screen and (min-width: "+(i+1)+s+")";break;default:n="screen and (max-width: "+i+s+")"}else if(isNaN(i))switch(r){case"gte":n="screen and (min-width: "+o+s+")";break;case"lte":n="screen";break;case"gt":n="screen and (max-width: -1px)";break;case"lt":n="screen and (max-width: "+(o-1)+s+")";break;case"not":n="screen and (max-width: "+(o-1)+s+")";break;default:n="screen and (min-width: "+o+s+")"}else switch(r){case"gte":n="screen and (min-width: "+o+s+")";break;case"lte":n="screen and (max-width: "+i+s+")";break;case"gt":n="screen and (min-width: "+(i+1)+s+")";break;case"lt":n="screen and (max-width: "+(o-1)+s+")";break;case"not":n="screen and (max-width: "+(o-1)+s+"), screen and (min-width: "+(i+1)+s+")";break;default:n="screen and (min-width: "+o+s+") and (max-width: "+i+s+")"}}else n="("==c.charAt(0)?"screen and "+c:c;e.media[t]=!!n&&n}return e.media[t]!==!1&&window.matchMedia(e.media[t]).matches},on:function(t,n){e.events.push({query:t,handler:n,state:!1}),e.active(t)&&n()},poll:function(){var t,n;for(n=0;n<e.events.length;n++)t=e.events[n],e.active(t.query)?t.state||(t.state=!0,t.handler()):t.state&&(t.state=!1)}};return t._=e,t.on=function(t,n){e.on(t,n)},t.active=function(t){return e.active(t)},t}(),!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints}),function(e){e.fn.navList=function(){var t=e(this);return $a=t.find("a"),b=[],$a.each(function(){var t=e(this),o=Math.max(0,t.parents("li").length-1),n=t.attr("href"),s=t.attr("target");b.push('<a class="link depth-'+o+'"'+(typeof s!="undefined"&&s!=""?' target="'+s+'"':"")+(typeof n!="undefined"&&n!=""?' href="'+n+'"':"")+'><span class="indent-'+o+'"></span>'+t.text()+"</a>")}),b.join("")},e.fn.panel=function(t){if(this.length==0)return n;if(this.length>1){for(o=0;o<this.length;o++)e(this[o]).panel(t);return n}var o,n=e(this),a=e("body"),r=e(window),i=n.attr("id"),s=e.extend({delay:0,hideOnClick:!1,hideOnEscape:!1,hideOnSwipe:!1,resetScroll:!1,resetForms:!1,side:null,target:n,visibleClass:"visible"},t);return typeof s.target!="jQuery"&&(s.target=e(s.target)),n._hide=function(e){if(!s.target.hasClass(s.visibleClass))return;e&&(e.preventDefault(),e.stopPropagation()),s.target.removeClass(s.visibleClass),window.setTimeout(function(){s.resetScroll&&n.scrollTop(0),s.resetForms&&n.find("form").each(function(){this.reset()})},s.delay)},n.css("-ms-overflow-style","-ms-autohiding-scrollbar").css("-webkit-overflow-scrolling","touch"),s.hideOnClick&&(n.find("a").css("-webkit-tap-highlight-color","rgba(0,0,0,0)"),n.on("click","a",function(t){var a=e(this),o=a.attr("href"),r=a.attr("target");if(!o||o=="#"||o==""||o=="#"+i)return;t.preventDefault(),t.stopPropagation(),n._hide(),window.setTimeout(function(){r=="_blank"?window.open(o):window.location.href=o},s.delay+10)})),n.on("touchstart",function(e){n.touchPosX=e.originalEvent.touches[0].pageX,n.touchPosY=e.originalEvent.touches[0].pageY}),n.on("touchmove",function(e){if(n.touchPosX===null||n.touchPosY===null)return;var i=n.touchPosX-e.originalEvent.touches[0].pageX,t=n.touchPosY-e.originalEvent.touches[0].pageY,c=n.outerHeight(),l=n.get(0).scrollHeight-n.scrollTop();if(s.hideOnSwipe){var a=!1,o=20,r=50;switch(s.side){case"left":a=t<o&&t>-1*o&&i>r;break;case"right":a=t<o&&t>-1*o&&i<-1*r;break;case"top":a=i<o&&i>-1*o&&t>r;break;case"bottom":a=i<o&&i>-1*o&&t<-1*r;break;default:break}if(a)return n.touchPosX=null,n.touchPosY=null,n._hide(),!1}(n.scrollTop()<0&&t<0||l>c-2&&l<c+2&&t>0)&&(e.preventDefault(),e.stopPropagation())}),n.on("click touchend touchstart touchmove",function(e){e.stopPropagation()}),n.on("click",'a[href="#'+i+'"]',function(e){e.preventDefault(),e.stopPropagation(),s.target.removeClass(s.visibleClass)}),a.on("click touchend",function(e){n._hide(e)}),a.on("click",'a[href="#'+i+'"]',function(e){e.preventDefault(),e.stopPropagation(),s.target.toggleClass(s.visibleClass)}),s.hideOnEscape&&r.on("keydown",function(e){e.keyCode==27&&n._hide(e)}),n},e.fn.placeholder=function(){if(typeof document.createElement("input").placeholder!="undefined")return e(this);if(this.length==0)return t;if(this.length>1){for(var t,n=0;n<this.length;n++)e(this[n]).placeholder();return t}return t=e(this),t.find("input[type=text],textarea").each(function(){var t=e(this);(t.val()==""||t.val()==t.attr("placeholder"))&&t.addClass("polyfill-placeholder").val(t.attr("placeholder"))}).on("blur",function(){var t=e(this);if(t.attr("name").match(/-polyfill-field$/))return;t.val()==""&&t.addClass("polyfill-placeholder").val(t.attr("placeholder"))}).on("focus",function(){var t=e(this);if(t.attr("name").match(/-polyfill-field$/))return;t.val()==t.attr("placeholder")&&t.removeClass("polyfill-placeholder").val("")}),t.find("input[type=password]").each(function(){var t=e(this),n=e(e("<div>").append(t.clone()).remove().html().replace(/type="password"/i,'type="text"').replace(/type=password/i,"type=text"));t.attr("id")!=""&&n.attr("id",t.attr("id")+"-polyfill-field"),t.attr("name")!=""&&n.attr("name",t.attr("name")+"-polyfill-field"),n.addClass("polyfill-placeholder").val(n.attr("placeholder")).insertAfter(t),t.val()==""?t.hide():n.hide(),t.on("blur",function(e){e.preventDefault();var n=t.parent().find("input[name="+t.attr("name")+"-polyfill-field]");t.val()==""&&(t.hide(),n.show())}),n.on("focus",function(e){e.preventDefault();var t=n.parent().find("input[name="+n.attr("name").replace("-polyfill-field","")+"]");n.hide(),t.show().focus()}).on("keypress",function(e){e.preventDefault(),n.val("")})}),t.on("submit",function(){t.find("input[type=text],input[type=password],textarea").each(function(){var n=e(this);n.attr("name").match(/-polyfill-field$/)&&n.attr("name",""),n.val()==n.attr("placeholder")&&(n.removeClass("polyfill-placeholder"),n.val(""))})}).on("reset",function(n){n.preventDefault(),t.find("select").val(e("option:first").val()),t.find("input,textarea").each(function(){var n,t=e(this);switch(t.removeClass("polyfill-placeholder"),this.type){case"submit":case"reset":break;case"password":t.val(t.attr("defaultValue")),n=t.parent().find("input[name="+t.attr("name")+"-polyfill-field]"),t.val()==""?(t.hide(),n.show()):(t.show(),n.hide());break;case"checkbox":case"radio":t.attr("checked",t.attr("defaultValue"));break;case"text":case"textarea":t.val(t.attr("defaultValue")),t.val()==""&&(t.addClass("polyfill-placeholder"),t.val(t.attr("placeholder")));break;default:t.val(t.attr("defaultValue"));break}})}),t},e.prioritize=function(t,n){var s="__prioritize";typeof t!="jQuery"&&(t=e(t)),t.each(function(){var o,t=e(this),i=t.parent();if(i.length==0)return;if(t.data(s)){if(n)return;o=t.data(s),t.insertAfter(o),t.removeData(s)}else{if(!n)return;if(o=t.prev(),o.length==0)return;t.prependTo(i),t.data(s,o)}})}}(jQuery),function(e){var s=e(window),t=e("body"),i=e("#page-wrapper"),o=e("#banner"),n=e("#header");breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),s.on("load",function(){window.setTimeout(function(){t.removeClass("is-preload")},100)}),browser.mobile?t.addClass("is-mobile"):(breakpoints.on(">medium",function(){t.removeClass("is-mobile")}),breakpoints.on("<=medium",function(){t.addClass("is-mobile")})),e(".scrolly").scrolly({speed:1500,offset:n.outerHeight()}),e("#menu").append('<a href="#menu" class="close"></a>').appendTo(t).panel({delay:500,hideOnClick:!0,hideOnSwipe:!0,resetScroll:!0,resetForms:!0,side:"right",target:t,visibleClass:"is-menu-visible"}),o.length>0&&n.hasClass("alt")&&(s.on("resize",function(){s.trigger("scroll")}),o.scrollex({bottom:n.outerHeight()+1,terminate:function(){n.removeClass("alt")},enter:function(){n.addClass("alt")},leave:function(){n.removeClass("alt")}}))}(jQuery),window.onbeforeunload=()=>{for(const e of document.getElementsByTagName("form"))e.reset()}
\ No newline at end of file diff --git a/public/ko/categories/index.html b/public/ko/categories/index.html new file mode 100644 index 0000000..ff8c8b8 --- /dev/null +++ b/public/ko/categories/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="ko"> + <head> + <title>Categories</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/categories/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/categories/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/categories/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Categories"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/ko/categories/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Categories"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="ko"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>all articles</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/ko/categories/index.xml b/public/ko/categories/index.xml new file mode 100644 index 0000000..4d56bc8 --- /dev/null +++ b/public/ko/categories/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Categories on THESIAH</title> + <link>https://thesiah.xyz/ko/categories/</link> + <description>Recent content in Categories on THESIAH</description> + <generator>Hugo</generator> + <language>ko</language> + <atom:link href="https://thesiah.xyz/ko/categories/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/ko/categories/page/1/index.html b/public/ko/categories/page/1/index.html new file mode 100644 index 0000000..d971c7a --- /dev/null +++ b/public/ko/categories/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>https://thesiah.xyz/ko/categories/</title> + <link rel="canonical" href="https://thesiah.xyz/ko/categories/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/ko/categories/"> + </head> +</html> diff --git a/public/ko/index.html b/public/ko/index.html new file mode 100644 index 0000000..9b26edd --- /dev/null +++ b/public/ko/index.html @@ -0,0 +1,363 @@ +<!DOCTYPE HTML> + +<html lang="ko"> + <head> + <title>THESIAH</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="THESIAH"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/ko/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="THESIAH"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="ko"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header" class="alt"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + + +<section id="banner"> + <div class="inner"> + <h2>THESIAH</h2> + <p>Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder.</p> + + <ul class="actions special"> + <li><a href="#" class="button primary">Activate</a></li> + </ul> + + </div> + <a href="#one" class="more scrolly">Learn More</a> +</section> + + + + + + + <section id="one" class="wrapper style1 special"> + <div class="inner"> + <header class="major"> + <h2>Arcu aliquet vel lobortis ata nisl<br />eget augue amet aliquet nisl cep donec</h2> + + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend<br> +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper.</p> + + + + </header> + <ul class="icons major"> + + <li><span class="icon fa-gem major style1"><span class="label">Lorem</span></span></li> + + <li><span class="icon fa-heart major style2"><span class="label">Ipsum</span></span></li> + + <li><span class="icon solid fa-code major style3"><span class="label">Dolor</span></span></li> + + </ul> + </div> + </section> + + + + + + + + +<section id="two" class="wrapper alt style2"> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic01.jpg" alt="blurry background: white/grey" /> + </div> + + <div class="content"> + <h2>Magna primis lobortis<br />sed ullamcorper</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic02.jpg" /> + </div> + + <div class="content"> + <h2>Tortor dolore feugiat<br />elementum magna</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + + <section class="spotlight"> + + <div class="image"> + <img src="/img/pic03.jpg" /> + </div> + + <div class="content"> + <h2>Magna primis lobortis<br />sed ullamcorper</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.</p> + + + + </div> + </section> + +</section> + + + + + + + + +<section id="three" class="wrapper style3 special"> + <div class="inner"> + <header class="major"> + <h2>Accumsan mus tortor nunc aliquet</h2> + + + + <p>Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend<br> +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper.</p> + + + + </header> + <ul class="features"> + + <li class="icon fa-paper-plane"> + <h3>Arcu accumsan</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-laptop"> + <h3>Ac Augue Eget</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-code"> + <h3>Foo bar</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon solid fa-headphones-alt"> + <h3>Baz kram</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon fa-heart"> + <h3>Some latin text</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + <li class="icon fa-flag"> + <h3>Nothing important</h3> + <p>Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat.</p> + </li> + + </ul> + </div> +</section> + + + + + + + + +<section id="cta" class="wrapper style4"> + <div class="inner"> + <header> + <h2>As long as you like</h2> + + + + <p>Something to be followed by propaganda sometimes ends the investment of a lot of eleifend fringilla.</p> + + + + </header> + <ul class="actions stacked"> + + <li><a href="#" class="button fit primary">Activate</a></li> + + <li><a href="#" class="button fit ">Learn More</a></li> + + </ul> + </div> +</section> + + + + + + + + +<section id="contact" class="wrapper style5"> + <div class="inner"> + <header class="major"> + <h2>Contact</h2> + + + + <p>Leave me a message.</p> + + + + </header> + <form method="post" action="https://formspree.io/f/example_invalid"> + <div class="row gtr-uniform"> + <input type="hidden" name="subject" value="New Submission!" /> + <div class="col-6 col-12-xsmall"> + <input type="text" name="name" id="name" value="" placeholder="Name" required /> + </div> + <div class="col-6 col-12-xsmall"> + <input type="email" name="email" id="email" value="" placeholder="Email" required /> + </div> + <div class="col-12"> + <textarea name="message" id="message" placeholder="Your Message" rows="6" required></textarea> + </div> + <div class="col-12"> + <ul class="actions"> + <li><input type="submit" value="send" class="primary" /></li> + <li><input type="reset" value="reset" /></li> + </ul> + </div> + </div> + </form> + </div> +</section> + + + + + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/ko/index.xml b/public/ko/index.xml new file mode 100644 index 0000000..9ab4dc3 --- /dev/null +++ b/public/ko/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>THESIAH</title> + <link>https://thesiah.xyz/ko/</link> + <description>Recent content on THESIAH</description> + <generator>Hugo</generator> + <language>ko</language> + <atom:link href="https://thesiah.xyz/ko/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/ko/series/index.html b/public/ko/series/index.html new file mode 100644 index 0000000..bc05d39 --- /dev/null +++ b/public/ko/series/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="ko"> + <head> + <title>Series</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/series/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/series/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/series/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Series"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/ko/series/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Series"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="ko"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>all articles</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/ko/series/index.xml b/public/ko/series/index.xml new file mode 100644 index 0000000..a61689c --- /dev/null +++ b/public/ko/series/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Series on THESIAH</title> + <link>https://thesiah.xyz/ko/series/</link> + <description>Recent content in Series on THESIAH</description> + <generator>Hugo</generator> + <language>ko</language> + <atom:link href="https://thesiah.xyz/ko/series/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/ko/series/page/1/index.html b/public/ko/series/page/1/index.html new file mode 100644 index 0000000..85cf86d --- /dev/null +++ b/public/ko/series/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>https://thesiah.xyz/ko/series/</title> + <link rel="canonical" href="https://thesiah.xyz/ko/series/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/ko/series/"> + </head> +</html> diff --git a/public/ko/sitemap.xml b/public/ko/sitemap.xml new file mode 100644 index 0000000..7fa0f5a --- /dev/null +++ b/public/ko/sitemap.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" + xmlns:xhtml="http://www.w3.org/1999/xhtml"> + <url> + <loc>https://thesiah.xyz/ko/categories/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/categories/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/categories/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/categories/" + /> + </url><url> + <loc>https://thesiah.xyz/ko/series/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/series/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/series/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/series/" + /> + </url><url> + <loc>https://thesiah.xyz/ko/tags/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/tags/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/tags/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/tags/" + /> + </url><url> + <loc>https://thesiah.xyz/ko/</loc> + <xhtml:link + rel="alternate" + hreflang="es" + href="https://thesiah.xyz/es/" + /> + <xhtml:link + rel="alternate" + hreflang="en" + href="https://thesiah.xyz/" + /> + <xhtml:link + rel="alternate" + hreflang="ko" + href="https://thesiah.xyz/ko/" + /> + </url> +</urlset> diff --git a/public/ko/tags/index.html b/public/ko/tags/index.html new file mode 100644 index 0000000..59eab44 --- /dev/null +++ b/public/ko/tags/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="ko"> + <head> + <title>Tags</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/tags/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/tags/"> + + <link rel="alternate" hreflang="en" href="https://thesiah.xyz/tags/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Tags"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/ko/tags/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Tags"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="ko"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>all articles</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/ko/tags/index.xml b/public/ko/tags/index.xml new file mode 100644 index 0000000..ab05aad --- /dev/null +++ b/public/ko/tags/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Tags on THESIAH</title> + <link>https://thesiah.xyz/ko/tags/</link> + <description>Recent content in Tags on THESIAH</description> + <generator>Hugo</generator> + <language>ko</language> + <atom:link href="https://thesiah.xyz/ko/tags/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/ko/tags/page/1/index.html b/public/ko/tags/page/1/index.html new file mode 100644 index 0000000..a36ee87 --- /dev/null +++ b/public/ko/tags/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>https://thesiah.xyz/ko/tags/</title> + <link rel="canonical" href="https://thesiah.xyz/ko/tags/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/ko/tags/"> + </head> +</html> diff --git a/public/macprogs.csv b/public/macprogs.csv new file mode 100644 index 0000000..832924c --- /dev/null +++ b/public/macprogs.csv @@ -0,0 +1,67 @@ +#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing). +C,aldente,is a menu bar tool to limit maximum charging percentage. +C,alfred,is an application launcher and productivity software. +C,alt-tab,enables Windows-like alt-tab. +C,appcleaner,is an application uninstaller. +,bat,a clone of cat(1) with syntax highlighting and Git integration. +C,bartender,is a menu bar icon organiser. +C,bettertouchtool,is a tool to customise input devices and automate computer systems. +C,cleanshot,is a screen capturing tool. +,coreutils,"is GNU file, shell, and text utilities." +C,cursorcerer,is a preference pane for controlling cursor hiding. +,dict,is a dictionary server protocol (RFC2229) client. +C,discord,is a voice and text chat software. +C,dropzone,is a productivity app for copy/paste/share files. +,eza,"is a modern,maintained replacement for ls." +,fd,"is a simple,fast,and user-friendly alternative to find." +C,firefox,is a web browser. +C,fliqlo,is a flip clock screensaver. +,fzf,is a command-line fuzzy finder written in Go. +,git-delta,is a syntax-highlighting pager for git and diff output. +M,handmirror,is a one-click camera check. +C,iina,is a minimalist IRC client. +M,irightmouse,is a powerful macOS right-click menu tool. +C,itsycal,is a menu bar calendar. +C,jump,is a remote desktop application. +M,kakaotalk,"is an easy,not-cost messenger for Korean." +C,karabiner-elements,is a keyboard customiser. +C,keka,is a file archiver. +C,keycastr,is an open-source keystroke visualiser. +C,keyclu,finds shortcuts for any installed application. +C,keyboardcleantool,blocks all keyboard and touchbar input. +C,kitty,is a GPU-based terminal emulator. +,languagetool,is a style and grammar checker. +C,latest,shows the latest app updates. +,lazygit,is a simple terminal UI for git commands. +C,logi-options-plus,is a software for logitech devices. +C,microsoft-office,is a office suite. +C,monitorcontrol,controls external monitor brightness & volume. +C,mos,enables smooths scrolling and set mouse scroll directions independently. +,neovim,is a text editor. +C,numi,is a calculator and converter application. +C,obsidian,is a knowledge base that works on top of a local folder of plain txt Markdown files. +C,onedrive,is a folder synchronization with OneDrive. +C,oversight,monitors computer mic and webcam. +,pass,is a password manager. +,pass-otp,is a pass extension for managing one-time-password tokens. +,php,is a general-purpose scripting language. +M,PurePaste,pastes as plain text. +P,pynvim,is for lsp in neovim. +,ripgrep,searches tool like grep and the silver searcher. +,ripgrep-all,is a wrapper around ripgrep that adds multiple rich file types. +,selfcontrol,blocks your own access to distracting websites. +C,soundsource,is a sound and audio controller. +,stats,is a system monitor for the menu bar. +,sketchybar,"creates a highly flexible,customizable,fast,and powerful status bar." +C,textsniper,extracts text from iamges and other digital documents. +,tmux,is a terminal multiplexer. +,tmuxinator,manages complex tmux sessions easily. +C,vlc,is a multimedia player. +M,weatherbug,forecasts weather on the menu bar. +C,whatsapp,is a native desktop client for Whatsapp. +,wget,is an internet file retriever. +C,xquartz,is an open-source version of the x.org x window system. +,zoxide,is a shell extension to navigate filesystem faster. +T,FelixKratz/formulae,is a tap package for sketchybar. +T,koekeishiya/formulae/yabai,is a tiling window management for macOS. +T,koekeishiya/formulae/skhd,is a simple hotkey daemon for macOS. diff --git a/public/series/index.html b/public/series/index.html new file mode 100644 index 0000000..67cc155 --- /dev/null +++ b/public/series/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="en"> + <head> + <title>Series</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/series/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/series/"> + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/series/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Series"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/series/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Series"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="en"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>all articles</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/series/index.xml b/public/series/index.xml new file mode 100644 index 0000000..2d0e4f5 --- /dev/null +++ b/public/series/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Series on THESIAH</title> + <link>https://thesiah.xyz/series/</link> + <description>Recent content in Series on THESIAH</description> + <generator>Hugo</generator> + <language>en</language> + <atom:link href="https://thesiah.xyz/series/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/series/page/1/index.html b/public/series/page/1/index.html new file mode 100644 index 0000000..9bba79d --- /dev/null +++ b/public/series/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <title>https://thesiah.xyz/series/</title> + <link rel="canonical" href="https://thesiah.xyz/series/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/series/"> + </head> +</html> diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..ff1fa72 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> + + <sitemap> + <loc>https://thesiah.xyz/en/sitemap.xml</loc> + + </sitemap> + + <sitemap> + <loc>https://thesiah.xyz/es/sitemap.xml</loc> + + </sitemap> + + <sitemap> + <loc>https://thesiah.xyz/ko/sitemap.xml</loc> + + </sitemap> + +</sitemapindex> diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..ad365f0 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML> + +<html lang="en"> + <head> + <title>Tags</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + + + + + + <meta name="description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + + <link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/tags/index.xml" title="THESIAH"> + <meta name="generator" content="Hugo 0.125.4"> + + +<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA=="> + + +<noscript><link rel="stylesheet" href="/css/noscript.min.e6f1ba19697eecfddfbf83ff7181b98181998f163d7005f6ae923451556bf85bef357f43dffe1522b92c1efab7fb38441f479e39b7a03e4313a8ef12b0b01f65.css" integrity="sha512-5vG6GWl+7P3fv4P/cYG5gYGZjxY9cAX2rpI0UVVr+FvvNX9D3/4VIrksHvq3+zhEH0eeObegPkMTqO8SsLAfZQ=="></noscript> + + + + + + + <link rel="alternate" hreflang="es" href="https://thesiah.xyz/es/tags/"> + + <link rel="alternate" hreflang="ko" href="https://thesiah.xyz/ko/tags/"> + + <meta name="twitter:card" content="summary"><meta name="twitter:title" content="Tags"> +<meta name="twitter:description" content="Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder."> + + <meta property="og:url" content="https://thesiah.xyz/tags/"> + <meta property="og:site_name" content="THESIAH"> + <meta property="og:title" content="Tags"> + <meta property="og:description" content="Another fine responsive +site template freebie +crafted by HTML5 UP. +Ported to Hugo by Simon Bruder."> + <meta property="og:locale" content="en"> + <meta property="og:type" content="website"> + + + </head> + <body class="landing is-preload"> + + + <div id="page-wrapper"> + + + <header id="header"> + <h1><a href="https://thesiah.xyz/">THESIAH</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='Menu'><span>Menu</span></a> + <div id="menu"> + <ul> + + <li><a href="/">Home</a></li> + + <li><a href="/posts/">Posts</a></li> + + <li><a href="/about/">About</a></li> + + </ul> + </div> + </li> + </ul> + </nav> + </header> + +<article id="main"> + <header > + <h2>all articles</h2> + + </header> + + <div class="wrapper style5"> + <div class="inner align-center"> + +1 + + </div> +</div> + +</article> + + <footer id="footer"> + <ul class="icons"> + + + + <li><a href="https://github.com/https://github.com/TheSiahxyz" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + + + + + + + <li><a href="mailto:si@thesiah.xyz" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + + + <li><a href="tel:+1%20%28513%29%20658%200207" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + + + </ul> + <ul class="copyright"> + <li>© 2024 Soomin Im</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + + + + + + + + + + +<script src="/js/bundle.min.9268cbb17df392ed6e60af97b076fabab43611a56a5b2a8749fa2109a3f27f2e755cea0b42392362cd5aedaa0ccd6bd2131d8e84edbef4567a106d0293ecd965.js" integrity="sha512-kmjLsX3zku1uYK+XsHb6urQ2EaVqWyqHSfohCaPyfy51XOoLQjkjYs1a7aoMzWvSEx2OhO2+9FZ6EG0Ck+zZZQ=="></script> + + + </body> +</html> + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..110d742 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Tags on THESIAH</title> + <link>https://thesiah.xyz/tags/</link> + <description>Recent content in Tags on THESIAH</description> + <generator>Hugo</generator> + <language>en</language> + <atom:link href="https://thesiah.xyz/tags/index.xml" rel="self" type="application/rss+xml" /> + </channel> +</rss> diff --git a/public/tags/page/1/index.html b/public/tags/page/1/index.html new file mode 100644 index 0000000..479a825 --- /dev/null +++ b/public/tags/page/1/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <title>https://thesiah.xyz/tags/</title> + <link rel="canonical" href="https://thesiah.xyz/tags/"> + <meta name="robots" content="noindex"> + <meta charset="utf-8"> + <meta http-equiv="refresh" content="0; url=https://thesiah.xyz/tags/"> + </head> +</html> diff --git a/public/thesiah-arch.sh b/public/thesiah-arch.sh new file mode 100755 index 0000000..28031f6 --- /dev/null +++ b/public/thesiah-arch.sh @@ -0,0 +1,401 @@ +#!/bin/sh + +# Soomin's Auto Rice Boostrapping Script (THESIAH) +# by Soomin Im <si@thesiah.xyz> +# License: GNU GPLv3 + +### OPTIONS AND VARIABLES ### + +dotfilesrepo="https://github.com/thesiah/.dotfiles.git" +progsfile="https://raw.githubusercontent.com/thesiah/THESIAH/main/static/archprogs.csv" +aurhelper="yay" +repobranch="main" +export TERM=ansi + +### FUNCTIONS ### + +installpkg() { + pacman --noconfirm --needed -S "$1" >/dev/null 2>&1 +} + +error() { + # Log to stderr and exit with failure. + printf "%s\n" "$1" >&2 + exit 1 +} + +welcomemsg() { + whiptail --title "Welcome!" \ + --msgbox "Welcome to Soomin's Auto-Rice Bootstrapping Script!\\n\\nThis script will automatically install a fully-featured Linux desktop, which I use as my main machine.\\n\\n-Soomin" 10 60 + + whiptail --title "Important Note!" --yes-button "All ready!" \ + --no-button "Return..." \ + --yesno "Be sure the computer you are using has current pacman updates and refreshed Arch keyrings.\\n\\nIf it does not, the installation of some programs might fail." 8 70 +} + +getuserandpass() { + # Prompts user for new username an password. + name=$(whiptail --inputbox "First, please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1) || exit 1 + while ! echo "$name" | grep -q "^[a-z_][a-z0-9_-]*$"; do + name=$(whiptail --nocancel --inputbox "Username not valid. Give a username beginning with a letter, with only lowercase letters, - or _." 10 60 3>&1 1>&2 2>&3 3>&1) + done + pass1=$(whiptail --nocancel --passwordbox "Enter a password for that user." 10 60 3>&1 1>&2 2>&3 3>&1) + pass2=$(whiptail --nocancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + while ! [ "$pass1" = "$pass2" ]; do + unset pass2 + pass1=$(whiptail --nocancel --passwordbox "Passwords do not match.\\n\\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1) + pass2=$(whiptail --nocancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + done +} + +usercheck() { + ! { id -u "$name" >/dev/null 2>&1; } || + whiptail --title "WARNING" --yes-button "CONTINUE" \ + --no-button "No wait..." \ + --yesno "The user \`$name\` already exists on this system. SI can install for a user already existing, but it will OVERWRITE any conflicting settings/dotfiles on the user account.\\n\\nSI will NOT overwrite your user files, documents, videos, etc., so don't worry about that, but only click <CONTINUE> if you don't mind your settings being overwritten.\\n\\nNote also that SI will change $name's password to the one you just gave." 14 70 +} + +preinstallmsg() { + whiptail --title "Let's get this party started!" --yes-button "Let's go!" \ + --no-button "No, nevermind!" \ + --yesno "The rest of the installation will now be totally automated, so you can sit back and relax.\\n\\nIt will take some time, but when done, you can relax even more with your complete system.\\n\\nNow just press <Let's go!> and the system will begin installation!" 13 60 || { + clear + exit 1 + } +} + +adduserandpass() { + # Adds user `$name` with password $pass1. + whiptail --infobox "Adding user \"$name\"..." 7 50 + useradd -m -g wheel -s /bin/zsh "$name" >/dev/null 2>&1 || + usermod -a -G wheel "$name" && mkdir -p /home/"$name" && chown "$name":wheel /home/"$name" + export repodir="/home/$name/.local/src" + mkdir -p "$repodir" + chown -R "$name":wheel "$(dirname "$repodir")" + echo "$name:$pass1" | chpasswd + unset pass1 pass2 +} + +refreshkeys() { + case "$(readlink -f /sbin/init)" in + *systemd*) + whiptail --infobox "Refreshing Arch Keyring..." 7 40 + pacman --noconfirm -S archlinux-keyring >/dev/null 2>&1 + ;; + *) + whiptail --infobox "Enabling Arch Repositories for more a more extensive software collection..." 7 40 + pacman --noconfirm --needed -S \ + artix-keyring artix-archlinux-support >/dev/null 2>&1 + grep -q "^\[extra\]" /etc/pacman.conf || + echo "[extra] +Include = /etc/pacman.d/mirrorlist-arch" >>/etc/pacman.conf + pacman -Sy --noconfirm >/dev/null 2>&1 + pacman-key --populate archlinux >/dev/null 2>&1 + ;; + esac +} + +manualinstall() { + # Installs $1 manually. Used only for AUR helper here. + # Should be run after repodir is created and var is set. + pacman -Qq "$1" && return 0 + whiptail --infobox "Installing \"$1\" manually." 7 50 + sudo -u "$name" mkdir -p "$repodir/$1" + sudo -u "$name" git -C "$repodir" clone --depth 1 --single-branch \ + --no-tags -q "https://aur.archlinux.org/$1.git" "$repodir/$1" || + { + cd "$repodir/$1" || return 1 + sudo -u "$name" git pull --force origin master + } + cd "$repodir/$1" || exit 1 + sudo -u "$name" sh -c "cd '$repodir/$1' && makepkg --noconfirm -si" || exit 1 +} + +maininstall() { + # Installs all needed programs from main repo. + whiptail --title "SI Installation" --infobox "Installing \`$1\` ($n of $total). $1 $2" 9 70 + installpkg "$1" +} + +gitmakeinstall() { + progname="${1##*/}" + progname="${progname%.git}" + dir="$repodir/$progname" + whiptail --title "SI Installation" \ + --infobox "Installing \`$progname\` ($n of $total) via \`git\` and \`make\`. $(basename "$1") $2" 8 70 + sudo -u "$name" git -C "$repodir" clone --depth 1 --single-branch \ + --no-tags -q "$1" "$dir" || + { + cd "$dir" || return 1 + sudo -u "$name" git pull --force origin main + } + cd "$dir" || exit 1 + make >/dev/null 2>&1 + make install >/dev/null 2>&1 + cd /tmp || return 1 +} + +aurinstall() { + whiptail --title "SI Installation" \ + --infobox "Installing \`$1\` ($n of $total) from the AUR. $1 $2" 9 70 + echo "$aurinstalled" | grep -q "^$1$" && return 1 + sudo -u "$name" $aurhelper -S --noconfirm "$1" >/dev/null 2>&1 +} + +pipinstall() { + whiptail --title "SI Installation" \ + --infobox "Installing the Python package \`$1\` ($n of $total). $1 $2" 9 70 + [ -x "$(command -v "pip")" ] || installpkg python-pip >/dev/null 2>&1 + yes | pip install "$1" +} + +installationloop() { + ([ -f "$progsfile" ] && cp "$progsfile" /tmp/progs.csv) || + curl -Ls "$progsfile" | sed '/^#/d' >/tmp/progs.csv + total=$(wc -l </tmp/progs.csv) + aurinstalled=$(pacman -Qqm) + while IFS=, read -r tag program comment; do + n=$((n + 1)) + echo "$comment" | grep -q "^\".*\"$" && + comment="$(echo "$comment" | sed -E "s/(^\"|\"$)//g")" + case "$tag" in + "A") aurinstall "$program" "$comment" ;; + "G") gitmakeinstall "$program" "$comment" ;; + "P") pipinstall "$program" "$comment" ;; + *) maininstall "$program" "$comment" ;; + esac + done </tmp/progs.csv +} + +putgitrepo() { + # Downloads a gitrepo $1 and places the files in $2 only overwriting conflicts + whiptail --infobox "Downloading and installing config files..." 7 60 + [ -z "$3" ] && branch="main" || branch="$repobranch" + dir=$(mktemp -d) + [ ! -d "$2" ] && mkdir -p "$2" + chown "$name":wheel "$dir" "$2" + sudo -u "$name" git -C "$repodir" clone --depth 1 \ + --single-branch --no-tags -q --recursive -b "$branch" \ + --recurse-submodules "$1" "$dir" + sudo -u "$name" cp -rfT "$dir" "$2" +} + +vimplugininstall() { + # Installs vim plugins. + whiptail --infobox "Installing neovim plugins..." 7 60 + mkdir -p "/home/$name/.config/vim/autoload" + curl -Ls "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" >"/home/$name/.config/vim/autoload/plug.vim" + chown -R "$name:wheel" "/home/$name/.config/vim" + sudo -u "$name" vim -c "PlugInstall|q|q" +} + +makeuserjs() { + # Get the Arkenfox user.js and prepare it. + arkenfox="$pdir/arkenfox.js" + overrides="$pdir/user-overrides.js" + userjs="$pdir/user.js" + ln -fs "/home/$name/.config/firefox/thesiah.js" "$overrides" + [ ! -f "$arkenfox" ] && curl -sL "https://raw.githubusercontent.com/arkenfox/user.js/master/user.js" >"$arkenfox" + cat "$arkenfox" "$overrides" >"$userjs" + chown "$name:wheel" "$arkenfox" "$userjs" + # Install the updating script. + mkdir -p /usr/local/lib /etc/pacman.d/hooks + cp "/home/$name/.local/bin/arkenfox-auto-update" /usr/local/lib/ + chown root:root /usr/local/lib/arkenfox-auto-update + chmod 755 /usr/local/lib/arkenfox-auto-update + # Trigger the update when needed via a pacman hook. + echo "[Trigger] +Operation = Upgrade +Type = Package +Target = firefox +Target = librewolf +Target = librewolf-bin +[Action] +Description=Update Arkenfox user.js +When=PostTransaction +Depends=arkenfox-user.js +Exec=/usr/local/lib/arkenfox-auto-update" >/etc/pacman.d/hooks/arkenfox.hook +} + +installffaddons() { + addonlist="ublock-origin decentraleyes istilldontcareaboutcookies vim-vixen" + addontmp="$(mktemp -d)" + trap "rm -fr $addontmp" HUP INT QUIT TERM PWR EXIT + IFS=' ' + sudo -u "$name" mkdir -p "$pdir/extensions/" + for addon in $addonlist; do + if [ "$addon" = "ublock-origin" ]; then + addonurl="$(curl -sL https://api.github.com/repos/gorhill/uBlock/releases/latest | grep -E 'browser_download_url.*\.firefox\.xpi' | cut -d '"' -f 4)" + else + addonurl="$(curl --silent "https://addons.mozilla.org/en-US/firefox/addon/${addon}/" | grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*')" + fi + file="${addonurl##*/}" + sudo -u "$name" curl -LOs "$addonurl" >"$addontmp/$file" + id="$(unzip -p "$file" manifest.json | grep "\"id\"")" + id="${id%\"*}" + id="${id##*\"}" + mv "$file" "$pdir/extensions/$id.xpi" + done + chown -R "$name:$name" "$pdir/extensions" + # Fix a Vim Vixen bug with dark mode not fixed on upstream: + sudo -u "$name" mkdir -p "$pdir/chrome" + [ ! -f "$pdir/chrome/userContent.css" ] && sudo -u "$name" echo ".vimvixen-console-frame { color-scheme: light !important; } +#category-more-from-mozilla { display: none !important }" >"$pdir/chrome/userContent.css" +} + +addsudo() { + echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-thesiah-wheel-can-sudo + echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm,/usr/bin/pacman -S -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --" >/etc/sudoers.d/01-thesiah-cmds-without-password + echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-thesiah-visudo-editor + mkdir -p /etc/sysctl.d + echo "kernel.dmesg_restrict = 0" >/etc/sysctl.d/dmesg.conf +} + +pamgnupg() { + echo "auth optional pam_gnupg.so store-only" >>/etc/pam.d/system-login + echo "session optional pam_gnupg.so " >>/etc/pam.d/system-login + echo "allow-preset-passphrase" >>/home/$name/.gnupg/gpg-agent.conf + echo "enable-ssh-support" >>/home/$name/.gnupg/gpg-agent.conf + echo "max-cache-ttl 86400" >>/home/$name/.gnupg/gpg-agent.conf +} + +finalize() { + # Farewell + whiptail --title "All done!" \ + --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\\n\\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment (it will start automatically in tty1).\\n\\n.t Soomin" 13 80 +} + +### THE ACTUAL SCRIPT ### + +### This is how everything happens in an intuitive format and order. + +# Check if user is root on Arch distro. Install whiptail. +pacman --noconfirm --needed -Sy libnewt || + error "Are you sure you're running this as the root user, are on an Arch-based distribution and have an internet connection?" + +# Welcome user and pick dotfiles. +welcomemsg || error "User exited." + +# Get and verify username and password. +getuserandpass || error "User exited." + +# Give warning if user already exists. +usercheck || error "User exited." + +# Last chance for user to back out before install. +preinstallmsg || error "User exited." + +### The rest of the script requires no user input. + +# Refresh Arch keyrings. +refreshkeys || + error "Error automatically refreshing Arch keyring. Consider doing so manually." + +for x in curl ca-certificates base-devel git ntp zsh; do + whiptail --title "SI Installation" \ + --infobox "Installing \`$x\` which is required to install and configure other programs." 8 70 + installpkg "$x" +done + +whiptail --title "SI Installation" \ + --infobox "Synchronizing system time to ensure successful and secure installation of software..." 8 70 +ntpd -q -g >/dev/null 2>&1 + +adduserandpass || error "Error adding username and/or password." + +[ -f /etc/sudoers.pacnew ] && cp /etc/sudoers.pacnew /etc/sudoers # Just in case + +# Allow user to run sudo without password. Since AUR programs must be installed +# in a fakeroot environment, this is required for all builds with AUR. +trap 'rm -f /etc/sudoers.d/thesiah-temp' HUP INT QUIT TERM PWR EXIT +echo "%wheel ALL=(ALL) NOPASSWD: ALL Defaults:%wheel runcwd=*" >/etc/sudoers.d/thesiah-temp + +# Make pacman colorful, concurrent downloads and Pacman eye-candy. +grep -q "ILoveCandy" /etc/pacman.conf || sed -i "/#VerbosePkgLists/a ILoveCandy" /etc/pacman.conf +sed -Ei "s/^#(ParallelDownloads).*/\1 = 5/;/^#Color$/s/#//" /etc/pacman.conf + +# Use all cores for compilation. +sed -i "s/-j2/-j$(nproc)/;/^#MAKEFLAGS/s/^#//" /etc/makepkg.conf + +manualinstall $aurhelper || error "Failed to install AUR helper." + +# Make sure .*-git AUR packages get updated automatically. +$aurhelper -Y --save --devel + +# The command that does all the installing. Reads the progs.csv file and +# installs each needed program the way required. Be sure to run this only after +# the user has been created and has priviledges to run sudo without a password +# and all build dependencies are installed. +installationloop + +# Install the dotfiles in the user's home directory, but remove .git dir and +# other unnecessary files. +putgitrepo "$dotfilesrepo" "/home/$name" "$repobranch" +rm -rf "/home/$name/.git/" "/home/$name/README.md" "/home/$name/LICENSE" "/home/$name/FUNDING.yml" + +# Install vim plugins if not alread present. +[ ! -f "/home/$name/.config/vim/autoload/plug.vim" ] && vimplugininstall + +# Most important command! Get rid of the beep! +rmmod pcspkr +echo "blacklist pcspkr" >/etc/modprobe.d/nobeep.conf + +# Make zsh the default shell for the user. +chsh -s /bin/zsh "$name" >/dev/null 2>&1 +sudo -u "$name" mkdir -p "/home/$name/.cache/zsh/" +sudo -u "$name" mkdir -p "/home/$name/.config/mpd/playlists/" + +# dbus UUID must be generated for Artix runit. +dbus-uuidgen >/var/lib/dbus/machine-id + +# Use system notifications for Brave on Artix +echo "export \$(dbus-launch)" >/etc/profile.d/dbus.sh + +# Enable tap to click +[ ! -f /etc/X11/xorg.conf.d/40-libinput.conf ] && printf 'Section "InputClass" + Identifier "libinput touchpad catchall" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" + # Enable left mouse button by tapping + Option "Tapping" "on" +EndSection' >/etc/X11/xorg.conf.d/40-libinput.conf + +# Update addressbook config path in muttrc +awk ' + /^set query_command = "abook --mutt-query/ { + gsub(/abook --mutt-query/, "abook --datafile ~/.config/abook/addressbook --mutt-query") + } + { print } +' /usr/share/mutt-wizard/mutt-wizard.muttrc >/tmp/mutt-wizard.muttrc.tmp && mv /tmp/mutt-wizard.muttrc.tmp /usr/share/mutt-wizard/mutt-wizard.muttrc + +# All this below to get Librewolf installed with add-ons and non-bad settings. +whiptail --infobox "Setting browser privacy settings and add-ons..." 7 60 + +browserdir="/home/$name/.librewolf" +profilesini="$browserdir/profiles.ini" + +# Start librewolf headless so it generates a profile. Then get that profile in a variable. +sudo -u "$name" librewolf --headless >/dev/null 2>&1 & +sleep 1 +profile="$(sed -n "/Default=.*.default-default/ s/.*=//p" "$profilesini")" +pdir="$browserdir/$profile" + +[ -d "$pdir" ] && makeuserjs + +[ -d "$pdir" ] && installffaddons + +# Kill the now unnecessary librewolf instance. +pkill -u "$name" librewolf + +# Allow wheel users to sudo with password and allow several system commands +# (like `shutdown` to run without password). +addsudo + +pamgnupg + +# Change /bin/sh from bash to dash +ln -sf dash /bin/sh + +# Last message! Install complete! +finalize diff --git a/public/thesiah-debian.sh b/public/thesiah-debian.sh new file mode 100755 index 0000000..ac2ef96 --- /dev/null +++ b/public/thesiah-debian.sh @@ -0,0 +1,175 @@ +#!/bin/sh + +# Soomin's Auto Rice Bootstrapping Script (THESIAH) adapted for debian +# Adaptation by: Soomin Im <si@thesiah.xyz> +# License: GNU GPLv3 + + +### VARIABLES ### +dotfilesrepo="https://github.com/thesiah/.dotfiles.git" +progsfile="https://raw.githubusercontent.com/thesiah/THESIAH/main/static/debianprogs.csv" +repobranch="master" +export TERM=ansi + + +### FUNCTIONS ### +installpkg() { + DEBIAN_FRONTEND=noninteractive apt-get install -y "$1" >/dev/null 2>&1 || error "Failed to install $1" +} + +error() { + whiptail --title "Error" --msgbox "An error occurred: $1" 8 78 + exit 1 +} + +welcomemsg() { + whiptail --title "Welcome!" \ + --msgbox "Welcome to Soomin's Auto-Rice Bootstrapping Script for Debian! This script will automatically install a fully-featured Linux desktop, which I use as my main machine." 12 60 +} + +getuserandpass() { + name=$(whiptail --inputbox "Please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1) || error "User exited." + pass=$(whiptail --passwordbox "Enter a password for the user." 10 60 3>&1 1>&2 2>&3 3>&1) || error "User exited." + pass2=$(whiptail --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) || error "User exited." + while ! [ "$pass" = "$pass2" ]; do + pass=$(whiptail --passwordbox "Passwords do not match.\\n\\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1) + pass2=$(whiptail --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + done +} + +usercheck() { + if id "$name" &>/dev/null; then + whiptail --yesno "The user $name already exists. Do you want to continue?" 8 78 || error "User exited." + fi +} + +preinstallmsg() { + whiptail --title "Ready to start?" --yesno "The rest of the installation will now be totally automated. Press Yes to continue." 8 78 || error "User exited." +} + +adduserandpass() { + whiptail --infobox "Adding user \"$name\"..." 7 50 + adduser --disabled-password --gecos "" "$name" || error "Failed to add user $name" + echo "$name:$pass1" | chpasswd + usermod -aG sudo "$name" + + export repodir="/home/$name/.local/src" + mkdir -p "$repodir" + chown -R "$name": "$repodir" + + unset pass1 pass2 + + trap 'rm -f /etc/sudoers.d/thesiah-temp' HUP INT QUIT TERM PWR EXIT + echo "$name ALL=(ALL) NOPASSWD: ALL Defaults:$name runcwd=*" >/etc/sudoers.d/thesiah-temp +} + +installationloop() { + ([ -f "$progsfile" ] && cp "$progsfile" /tmp/progs.csv) || curl -Ls "$progsfile" | sed '/^#/d' >/tmp/progs.csv + total=$(wc -l </tmp/progs.csv) + while IFS=, read -r tag program comment; do + case "$tag" in + "G") gitcloneinstall "$program" "$comment" ;; + "P") pipinstall "$program" ;; + *) installpkg "$program" ;; + esac + done </tmp/progs.csv +} + +putgitrepo() { + whiptail --infobox "Downloading and installing config files..." 7 60 + [ -z "$3" ] && branch="main" || branch="$3" + dir=$(mktemp -d) + [ ! -d "$2" ] && mkdir -p "$2" + sudo -u "$name" git -C "$repodir" clone --depth 1 \ + --single-branch --no-tags -q --recursive -b "$branch" \ + --recurse-submodules "$1" "$dir" + sudo -u "$name" cp -rfT "$dir" "$2" +} + +pipinstall() { + whiptail --title "SI Installation" \ + --infobox "Installing the Python package \`$1\` ($n of $total). $1 $2" 9 70 + [ -x "$(command -v "pip")" ] || installpkg python-pip >/dev/null 2>&1 + yes | pip install "$1" +} + +vimplugininstall() { + # Installs vim plugins. + whiptail --infobox "Installing vim plugins..." 7 60 + mkdir -p "/home/$name/.vim/autoload" + curl -Ls "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" >"/home/$name/.vim/autoload/plug.vim" + chown -R "$name:$name" "/home/$name/.vim" # Changed to use user's group + sudo -u "$name" vim -c "PlugInstall|q|q" +} + +addsudo() { + echo "$name ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-thesiah-user-can-sudo + echo "$name ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/apt update,/usr/bin/apt upgrade,/usr/bin/apt upgrade -y,/usr/bin/loadkeys,/usr/bin/apt-get --download-only upgrade" >/etc/sudoers.d/01-thesiah-cmds-without-password + echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-thesiah-visudo-editor + mkdir -p /etc/sysctl.d + echo "kernel.dmesg_restrict = 0" >/etc/sysctl.d/dmesg.conf +} + +finalize() { + whiptail --title "All done!" \ + --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\\n\\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment (it will start automatically in tty1).\\n\\n.t Soomin" 13 80 +} + + +### MAIN SCRIPT ### +if [ "$(id -u)" -ne 0 ]; then + echo "This script must be run as root." >&2 + exit 1 +fi + +essential_packages="curl ca-certificates build-essential git ntp zsh" +whiptail --title "SI Installation" --infobox "Installing essential packages required to install and configure other programs." 8 70 +for package in $essential_packages; do + installpkg $package || error "Failed to install $package" +done + +welcomemsg || error "User exited." + +getuserandpass || error "User exited." + +usercheck || error "User exited." + +preinstallmsg || error "User exited." + +adduserandpass || error "Error adding username and/or password." + +installationloop + +putgitrepo "$dotfilesrepo" "/home/$name" "$repobranch" +rm -rf "/home/$name/.git/" "/home/$name/README.md" "/home/$name/LICENSE" "/home/$name/FUNDING.yml" + +[ ! -f "/home/$name/.vim/autoload/plug.vim" ] && vimplugininstall + +rmmod pcspkr +echo "blacklist pcspkr" >/etc/modprobe.d/nobeep.conf + +chsh -s /bin/zsh "$name" >/dev/null 2>&1 +sudo -u "$name" mkdir -p "/home/$name/.cache/zsh/" +sudo -u "$name" mkdir -p "/home/$name/.config/mpd/playlists/" + +# dbus UUID must be generated for Artix runit. +dbus-uuidgen >/var/lib/dbus/machine-id + +# Use system notifications for Brave on Artix +echo "export \$(dbus-launch)" >/etc/profile.d/dbus.sh + +# Enable tap to click +[ ! -f /etc/X11/xorg.conf.d/40-libinput.conf ] && printf 'Section "InputClass" + Identifier "libinput touchpad catchall" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" + # Enable left mouse button by tapping + Option "Tapping" "on" +EndSection' >/etc/X11/xorg.conf.d/40-libinput.conf + +# Allow wheel users to sudo with password and allow several system commands +# (like `shutdown` to run without password). +addsudo + +finalize diff --git a/public/thesiah-mac.sh b/public/thesiah-mac.sh new file mode 100755 index 0000000..b793c9a --- /dev/null +++ b/public/thesiah-mac.sh @@ -0,0 +1,148 @@ +#!/bin/sh + +# Soomin's Auto Rice Bootstrapping Script (THESIAH) adapted for macOS +# Adaptation by: Soomin Im <si@thesiah.xyz> +# License: GNU GPLv3 + + +### VARIABLES ### +dotfilesrepo="https://github.com/thesiah/.dotfiles.git" +progsfile="https://raw.githubusercontent.com/thesiah/THESIAH/main/static/macprogs.csv" +repobranch="main" +name=$(whoami) # Use the current user's name + + +### FUNCTIONS ### + +# Notify function using macOS's notification system +notify() { + osascript -e "display notification \"$2\" with title \"$1\"" +} + +# Error function for error handling and notification +error() { + # Log to stderr and exit with failure. + printf "%s\n" "$1" >&2 + exit 1 +} + +# Install Homebrew packages +installpkg() { + if brew list "$1" &>/dev/null; then + echo "$1 is already installed." + else + echo "Installing $1..." + brew install "$1" || error "Failed to install $1." + fi +} + +# Install Homebrew Cask applications +caskinstall() { + if brew list --cask "$1" &>/dev/null; then + echo "$1 is already installed." + else + echo "Installing $1..." + brew install --cask "$1" || error "Failed to install $1." + fi +} + +# Install Python packages with pip +pipinstall() { + echo "Installing the Python package: $1" + if ! command -v pip3 &>/dev/null; then + installpkg python # This installs pip3 + fi + pip3 install "$1" || error "Failed to install Python package $1." +} + +# Install Homebrew Tap packages +tapinstall() { + # Extract the repository and package name + local repo=$(echo "$1" | cut -d'/' -f1) + local pkg=$(echo "$1" | cut -d'/' -f2) + + echo "Adding tap: $repo" + brew tap "$repo" || error "Failed to tap $repo." + + echo "Installing package: $pkg from tap" + brew install "$pkg" || error "Failed to install $pkg from tap." +} + +# Install mac apps with mas +masinstall() { + echo "Installing the mac app: $1" + if ! command -v mas &>/dev/null; then + installpkg mas # This installs mas + fi + + # Search for the app by name and get its ID using awk to parse the output + id=$(mas search "$1" | awk -F ' ' '{print $1; exit}') + + # Check if the id variable is set and not empty + if [ -z "$id" ]; then + error "Failed to find an ID for the app named $1." + else + echo "Installing the app with ID $id..." + mas install "$id" || error "Failed to install the app $1." + fi +} + +# Clone and setup dotfiles +putgitrepo() { + notify "Installation" "Downloading and installing config files..." + local dir=$(mktemp -d) + if [ ! -d "$2" ]; then + mkdir -p "$2" + fi + git clone --depth 1 --single-branch --no-tags -q --recursive -b "${3:-$repobranch}" "$1" "$dir" || error "Failed to clone $1." + cp -Rf "$dir/"* "$2" + rm -rf "$dir" # Clean up +} + +# Installation loop for processing the programs.csv file +installationloop() { + ([ -f "$progsfile" ] && cp "$progsfile" /tmp/programs.csv) || curl -Ls "$progsfile" | sed '/^#/d' >/tmp/programs.csv || error "Failed to download programs file." + while IFS=, read -r tag program comment; do + echo "$comment" + case "$tag" in + "P") pipinstall "$program" ;; + "C") caskinstall "$program" ;; + "M") masinstall "$program" ;; + "T") tapinstall "$program" ;; + *) installpkg "$program" ;; + esac + done </tmp/programs.csv +} + +finalize() { + # Farewell + echo "All done!" + echo "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\\n\\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment (it will start automatically in tty1).\\n\\n.t Soomin" +} + +brewinstall() { + if ! command -v brew &>/dev/null; then + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi + brew update >/dev/null 2>&1 + brew upgrade >/dev/null 2>&1 +} + +### Main Installation Process ### + +# Ensure Homebrew is installed +brewinstall || error "Failed to install Homebrew." + +# Start the installation loop for software from the CSV +installationloop + +# Setup Dotfiles +putgitrepo "$dotfilesrepo" "$HOME" "$repobranch" + +# Clean up any unwanted files from the dotfiles repo +rm -rf "$HOME/.git" "$HOME/README.md" "$HOME/LICENSE" "$HOME/FUNDING.yml" "/tmp/programs.csv" + +ln -s ~/.dotfiles/mac/.zprofile ~/.zprofile + +# Final +finalize diff --git a/public/webfonts/fa-brands-400.ttf b/public/webfonts/fa-brands-400.ttf Binary files differnew file mode 100644 index 0000000..cf6a98f --- /dev/null +++ b/public/webfonts/fa-brands-400.ttf diff --git a/public/webfonts/fa-brands-400.woff2 b/public/webfonts/fa-brands-400.woff2 Binary files differnew file mode 100644 index 0000000..c740267 --- /dev/null +++ b/public/webfonts/fa-brands-400.woff2 diff --git a/public/webfonts/fa-regular-400.ttf b/public/webfonts/fa-regular-400.ttf Binary files differnew file mode 100644 index 0000000..9ef8a37 --- /dev/null +++ b/public/webfonts/fa-regular-400.ttf diff --git a/public/webfonts/fa-regular-400.woff2 b/public/webfonts/fa-regular-400.woff2 Binary files differnew file mode 100644 index 0000000..a865b2f --- /dev/null +++ b/public/webfonts/fa-regular-400.woff2 diff --git a/public/webfonts/fa-solid-900.ttf b/public/webfonts/fa-solid-900.ttf Binary files differnew file mode 100644 index 0000000..2b96436 --- /dev/null +++ b/public/webfonts/fa-solid-900.ttf diff --git a/public/webfonts/fa-solid-900.woff2 b/public/webfonts/fa-solid-900.woff2 Binary files differnew file mode 100644 index 0000000..021d33f --- /dev/null +++ b/public/webfonts/fa-solid-900.woff2 diff --git a/public/webfonts/fa-v4compatibility.ttf b/public/webfonts/fa-v4compatibility.ttf Binary files differnew file mode 100644 index 0000000..f07e670 --- /dev/null +++ b/public/webfonts/fa-v4compatibility.ttf diff --git a/public/webfonts/fa-v4compatibility.woff2 b/public/webfonts/fa-v4compatibility.woff2 Binary files differnew file mode 100644 index 0000000..6f96a11 --- /dev/null +++ b/public/webfonts/fa-v4compatibility.woff2 diff --git a/static/archprogs.csv b/static/archprogs.csv new file mode 100644 index 0000000..fc35173 --- /dev/null +++ b/static/archprogs.csv @@ -0,0 +1,107 @@ +#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing) +,xorg-server,is the graphical server. This first one may take a while as it pulls many other dependencies first on clean installs. +,xorg-xwininfo,allows querying information about windows. +,xorg-xinit,starts the graphical server. +,polkit,manages user policies. +,libertinus-font,provides the sans and serif fonts for THESIAH. +,noto-fonts,is an expansive font package. +,noto-fonts-emoji,is an emoji font. +,powerline-fonts,powerline support. +,texlive-langkorean,Korean support. +,ttf-font-awesome,provides extended glyph support. +,ttf-dejavu,properly displays emojis. +,ttf-droid,popular font. +,ttf-firacode-nerd,popular font. +,ttf-hack-nerd,popular font. +,ttf-melso-nerd,powerlevel10k support. +A,abook,is an offline addressbook usable by neomutt. +,arandr,allows the user to customize monitor arrangements. +A,arkenfox-user.js,provides hardened security settings for Firefox and Librewolf to avoid Mozilla spyware and general web fingerprinting. +,atool,manages and gives information about archives. +,bat,can highlight code output and display files and is used to generate previews in the file browser. +,bc,is a mathematics language used for the dropdown calculator. +,bluez,is a tool for bluetooth control command line. +,bluez-utils,is utils for bluetooth. +A,brillo,controls the brightness of backlight and LED devices. +,calcurse,terminal-based organizer for interactive and command line use. +,cronie,is a cronjob manager to set up automatic mail syncing. +,dash,is a command interpreter (shell). +,dosfstools,allows your computer to access dos-like filesystems. +,dunst,is a suckless notification system. +,ecryptfs-utils,is a tool for cryptographic filesystem. +,exfat-utils,allows management of FAT drives. +,eza,colorful ls. +,fcitx5-im,changes input methods. +,fcitx5-hangul,Korean input method. +,fd,finds entries in the filesystem. +,ffmpeg,can record and splice video and audio on the command line. +,ffmpegthumbnailer,creates thumbnail previews of video files. +,firefox,is a common web browser. +,fzf,is a fuzzy finder tool used for easy selection and location of files. +,gimp,is an image manipulation and paint program. +,git-delta,"highlights pager for git, diff, and grep output." +,gnome-keyring,serves as the system keyring. +A,gtk-theme-arc-gruvbox-git,gives the dark GTK theme used in LARBS. +A,htop-vim,is a graphical and colorful system monitor. +A,kakaotalk,is a messenger for Korean. +,lazygit,manages git in Neovim. +A,lf-git,is an extensive terminal file manager that everyone likes. +,lib32-pipewire-jack,is a low-latency audio/video router and processor for multilib support. +,libnotify,allows desktop notifications. +A,librewolf-bin,is the default browser of LARBS which also comes with ad-blocking and other sensible and necessary features by default. +,lynx,"is a terminal browser also used in LARBS for generating in-terminal previews of websites, emails and HTML files." +,lxpolkit,is a policykit agent for LXDE. +,maim,can take quick screenshots at your request. +,man-db,lets you read man pages of programs. +,mediainfo,shows audio and video information and is used in the file browser. +,mpc,is a terminal interface for mpd. +,mpd,is a lightweight music daemon. +,mpv,is the patrician's choice video player. +A,mutt-wizard-git,is a light-weight terminal-based email system. +,ncmpcpp,a ncurses interface for music with multiple formats and a powerful tag editor. +,neovim,a tidier vim with some useful features. +,newsboat,is a terminal RSS client. +,nodejs,nodejs for Neovim. +,notmuch,indexes and searches mail. +,npm,npm for tmuxinator that manages tmux sessions. +,nsxiv,is a minimalist image viewer. +,ntfs-3g,allows accessing NTFS partitions. +A,pam-gnupg,auto unlocks when log-in. +,pass,manages passwords. +,pipewire-jack,is a low-latency audio/video router and processor - JACK replacement. +,pipewire-pulse,gives pipewire compatibility with PulseAudio programs. +,poppler,manipulates .pdfs and gives .pdf previews and other .pdf functions. +,pulsemixer,is an audio controller. +P,pynvim,is for lsp in neovim. +,python-qdarkstyle,provides a dark Qt theme. +,ripgrep,recursively searches the current directory for a regex pattern. +,ripgrep-all,searches words in a line. +A,sc-im,is an Excel-like terminal spreadsheet manager. +A,simple-mtpfs,enables the mounting of cell phones. +,socat,is a utility which establishes two byte streams and transfers data between them. +P,stig,is a TUI and CLI client for the transmission daemon. +,tar,compresses or extracts files. +A,task-spooler,queues commands or files for download. +,tk,manipulates tk internal state. +,tmux,manages mutiple terminal sessions/windows/panes in a terminal. +,trash-cli,"trashes files recording the original path, deletion date, and permissions." +,ueberzug,enables previews in the lf file manager. +,ufw,is a tool for firewall. +,unclutter,hides an inactive mouse. +,unzip,unzips zips. +,urlview,enables to view url in a terminal. +,wireplumber,is the audio system. +,x11-ssh-askpass,is an X11-based pass-phrase dialog for use with OpenSSH. +,xcompmgr,is for transparency and removing screen-tearing. +,xcape,gives the special escape/super mappings of LARBS. +,xclip,allows for copying and pasting from the command line. +,xdotool,provides window action utilities on the command line. +,xorg-xbacklight,enables changing screen brightness levels. +,xorg-xprop,is a tool for detecting window properties. +,xorg-xev,is a tool for keymaps. +,xwallpaper,sets the wallpaper. +,yt-dlp,can download any YouTube video (or playlist or channel) when given the link. +,zathura,is a pdf viewer with vim-like bindings. +,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. +,zoxide,is a tool enhanced cd command. +G,https://github.com/TheSiahxyz/suckless.git,"dwm, dwmblocks, st, slock, dmenu." diff --git a/static/debianprogs.csv b/static/debianprogs.csv new file mode 100644 index 0000000..870e89c --- /dev/null +++ b/static/debianprogs.csv @@ -0,0 +1,97 @@ +#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing) +,noto-fonts,is an expansive font package. +,noto-fonts-emoji,is an emoji font. +,powerline-fonts,powerline support. +,texlive-langkorean,Korean support. +,ttf-font-awesome,provides extended glyph support. +,ttf-dejavu,properly displays emojis. +,ttf-droid,popular font. +,ttf-firacode-nerd,popular font. +,ttf-hack-nerd,popular font. +,ttf-melso-nerd,powerlevel10k support. +,abook,is an offline addressbook usable by neomutt. +,arandr,allows the user to customize monitor arrangements. +,atool,manages and gives information about archives. +,bat,can highlight code output and display files and is used to generate previews in the file browser. +,bc,is a mathematics language used for the dropdown calculator. +G,bluez,is a tool for bluetooth control command line. +G,bluez-utils,is utils for bluetooth. +,calcurse,terminal-based organizer for interactive and command line use +,dosfstools,allows your computer to access dos-like filesystems. +,dunst,is a suckless notification system. +,ecryptfs-utils,is a tool for cryptographic filesystem. +,exfat-utils,allows management of FAT drives. +,eza,colorful ls. +,fcitx5,changes input methods. +,fcitx5-hangul,Korean input method. +,fd-find,finds entries in the filesystem. +,ffmpeg,can record and splice video and audio on the command line. +,ffmpegthumbnailer,creates thumbnail previews of video files. +,firefox,is a common web browser. +,fzf,is a fuzzy finder tool used for easy selection and location of files. +,gimp,is an image manipulation and paint program. +G,git-delta,"highlights pager for git, diff, and grep output." +,gnome-keyring,serves as the system keyring. +G,htop-vim,is a graphical and colorful system monitor. +G,lazygit,manages git in Neovim +,lf,is an extensive terminal file manager that everyone likes. +,lib32-pipewire-jack,is a low-latency audio/video router and processor for multilib support. +,libertinus-font,provides the sans and serif fonts for THESIAH. +,libnotify,allows desktop notifications. +,lynx,"is a terminal browser also used in LARBS for generating in-terminal previews of websites, emails and HTML files." +,lxpolkit,is a policykit agent for LXDE. +,maim,can take quick screenshots at your request. +,man-db,lets you read man pages of programs. +,mediainfo,shows audio and video information and is used in the file browser. +,mpc,is a terminal interface for mpd. +,mpd,is a lightweight music daemon. +,mpv,is the patrician's choice video player. +G,mutt-wizard,is a light-weight terminal-based email system. +,ncmpcpp,a ncurses interface for music with multiple formats and a powerful tag editor. +,neovim,a tidier vim with some useful features +,newsboat,is a terminal RSS client. +,nodejs,nodejs for Neovim. +,npm,npm for tmuxinator that manages tmux sessions. +,nsxiv,is a minimalist image viewer. +,ntfs-3g,allows accessing NTFS partitions. +,pam-gnupg,auto unlocks when log-in. +,pass,manages passwords. +,pipewire-jack,is a low-latency audio/video router and processor - JACK replacement +,pipewire-pulse,gives pipewire compatibility with PulseAudio programs. +,polkit,manages user policies. +,poppler,manipulates .pdfs and gives .pdf previews and other .pdf functions. +,pulsemixer,is an audio controller. +P,pynvim,is for lsp in neovim. +G,python-qdarkstyle,provides a dark Qt theme. +,ripgrep,recursively searches the current directory for a regex pattern. +G,ripgrep-all,searches words in a line. +,sc-im,is an Excel-like terminal spreadsheet manager. +G,simple-mtpfs,enables the mounting of cell phones. +,socat,is a utility which establishes two byte streams and transfers data between them. +,tar,compresses or extracts files. +,task-spooler,queues commands or files for download. +,tk,manipulates tk internal state. +,tmux,manages mutiple terminal sessions/windows/panes in a terminal. +,ueberzug,enables previews in the lf file manager. +,ufw,is a tool for firewall. +,unclutter,hides an inactive mouse. +,unzip,unzips zips. +,urlview,enables to view url in a terminal. +,wireplumber,is the audio system. +,x11-ssh-askpass,is an X11-based pass-phrase dialog for use with OpenSSH. +,xcompmgr,is for transparency and removing screen-tearing. +,xcape,gives the special escape/super mappings of LARBS. +,xclip,allows for copying and pasting from the command line. +,xdotool,provides window action utilities on the command line. +,xorg-server,is the graphical server. This first one may take a while as it pulls many other dependencies first on clean installs. +,xorg-xbacklight,enables changing screen brightness levels. +,xorg-xinit,starts the graphical server. +,xorg-xev,is a tool for keymaps. +,xorg-xprop,is a tool for detecting window properties. +,xorg-xwininfo,allows querying information about windows. +,xwallpaper,sets the wallpaper. +,yt-dlp,can download any YouTube video (or playlist or channel) when given the link. +,zathura,is a pdf viewer with vim-like bindings. +G,zathura-pdf-mupdf,allows mupdf pdf compatibility in zathura. +G,zoxide,is a tool enhanced cd command. +G,https://github.com/thesiah/Suckless.git,"dwm, dwmblocks, st, slock, dmenu." diff --git a/static/macprogs.csv b/static/macprogs.csv new file mode 100644 index 0000000..832924c --- /dev/null +++ b/static/macprogs.csv @@ -0,0 +1,67 @@ +#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing). +C,aldente,is a menu bar tool to limit maximum charging percentage. +C,alfred,is an application launcher and productivity software. +C,alt-tab,enables Windows-like alt-tab. +C,appcleaner,is an application uninstaller. +,bat,a clone of cat(1) with syntax highlighting and Git integration. +C,bartender,is a menu bar icon organiser. +C,bettertouchtool,is a tool to customise input devices and automate computer systems. +C,cleanshot,is a screen capturing tool. +,coreutils,"is GNU file, shell, and text utilities." +C,cursorcerer,is a preference pane for controlling cursor hiding. +,dict,is a dictionary server protocol (RFC2229) client. +C,discord,is a voice and text chat software. +C,dropzone,is a productivity app for copy/paste/share files. +,eza,"is a modern,maintained replacement for ls." +,fd,"is a simple,fast,and user-friendly alternative to find." +C,firefox,is a web browser. +C,fliqlo,is a flip clock screensaver. +,fzf,is a command-line fuzzy finder written in Go. +,git-delta,is a syntax-highlighting pager for git and diff output. +M,handmirror,is a one-click camera check. +C,iina,is a minimalist IRC client. +M,irightmouse,is a powerful macOS right-click menu tool. +C,itsycal,is a menu bar calendar. +C,jump,is a remote desktop application. +M,kakaotalk,"is an easy,not-cost messenger for Korean." +C,karabiner-elements,is a keyboard customiser. +C,keka,is a file archiver. +C,keycastr,is an open-source keystroke visualiser. +C,keyclu,finds shortcuts for any installed application. +C,keyboardcleantool,blocks all keyboard and touchbar input. +C,kitty,is a GPU-based terminal emulator. +,languagetool,is a style and grammar checker. +C,latest,shows the latest app updates. +,lazygit,is a simple terminal UI for git commands. +C,logi-options-plus,is a software for logitech devices. +C,microsoft-office,is a office suite. +C,monitorcontrol,controls external monitor brightness & volume. +C,mos,enables smooths scrolling and set mouse scroll directions independently. +,neovim,is a text editor. +C,numi,is a calculator and converter application. +C,obsidian,is a knowledge base that works on top of a local folder of plain txt Markdown files. +C,onedrive,is a folder synchronization with OneDrive. +C,oversight,monitors computer mic and webcam. +,pass,is a password manager. +,pass-otp,is a pass extension for managing one-time-password tokens. +,php,is a general-purpose scripting language. +M,PurePaste,pastes as plain text. +P,pynvim,is for lsp in neovim. +,ripgrep,searches tool like grep and the silver searcher. +,ripgrep-all,is a wrapper around ripgrep that adds multiple rich file types. +,selfcontrol,blocks your own access to distracting websites. +C,soundsource,is a sound and audio controller. +,stats,is a system monitor for the menu bar. +,sketchybar,"creates a highly flexible,customizable,fast,and powerful status bar." +C,textsniper,extracts text from iamges and other digital documents. +,tmux,is a terminal multiplexer. +,tmuxinator,manages complex tmux sessions easily. +C,vlc,is a multimedia player. +M,weatherbug,forecasts weather on the menu bar. +C,whatsapp,is a native desktop client for Whatsapp. +,wget,is an internet file retriever. +C,xquartz,is an open-source version of the x.org x window system. +,zoxide,is a shell extension to navigate filesystem faster. +T,FelixKratz/formulae,is a tap package for sketchybar. +T,koekeishiya/formulae/yabai,is a tiling window management for macOS. +T,koekeishiya/formulae/skhd,is a simple hotkey daemon for macOS. diff --git a/static/thesiah-arch.sh b/static/thesiah-arch.sh new file mode 100755 index 0000000..eafad2e --- /dev/null +++ b/static/thesiah-arch.sh @@ -0,0 +1,401 @@ +#!/bin/sh + +# Soomin's Auto Rice Boostrapping Script (THESIAH) +# by Soomin Im <si@thesiah.xyz> +# License: GNU GPLv3 + +### OPTIONS AND VARIABLES ### + +dotfilesrepo="https://github.com/TheSiahxyz/.dotfiles.git" +progsfile="https://raw.githubusercontent.com/TheSiahxyz/THESIAH/main/static/archprogs.csv" +aurhelper="yay" +repobranch="main" +export TERM=ansi + +### FUNCTIONS ### + +installpkg() { + pacman --noconfirm --needed -S "$1" >/dev/null 2>&1 +} + +error() { + # Log to stderr and exit with failure. + printf "%s\n" "$1" >&2 + exit 1 +} + +welcomemsg() { + whiptail --title "Welcome!" \ + --msgbox "Welcome to Soomin's Auto-Rice Bootstrapping Script!\\n\\nThis script will automatically install a fully-featured Linux desktop, which I use as my main machine.\\n\\n-Soomin" 10 60 + + whiptail --title "Important Note!" --yes-button "All ready!" \ + --no-button "Return..." \ + --yesno "Be sure the computer you are using has current pacman updates and refreshed Arch keyrings.\\n\\nIf it does not, the installation of some programs might fail." 8 70 +} + +getuserandpass() { + # Prompts user for new username an password. + name=$(whiptail --inputbox "First, please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1) || exit 1 + while ! echo "$name" | grep -q "^[a-z_][a-z0-9_-]*$"; do + name=$(whiptail --nocancel --inputbox "Username not valid. Give a username beginning with a letter, with only lowercase letters, - or _." 10 60 3>&1 1>&2 2>&3 3>&1) + done + pass1=$(whiptail --nocancel --passwordbox "Enter a password for that user." 10 60 3>&1 1>&2 2>&3 3>&1) + pass2=$(whiptail --nocancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + while ! [ "$pass1" = "$pass2" ]; do + unset pass2 + pass1=$(whiptail --nocancel --passwordbox "Passwords do not match.\\n\\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1) + pass2=$(whiptail --nocancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + done +} + +usercheck() { + ! { id -u "$name" >/dev/null 2>&1; } || + whiptail --title "WARNING" --yes-button "CONTINUE" \ + --no-button "No wait..." \ + --yesno "The user \`$name\` already exists on this system. SI can install for a user already existing, but it will OVERWRITE any conflicting settings/dotfiles on the user account.\\n\\nSI will NOT overwrite your user files, documents, videos, etc., so don't worry about that, but only click <CONTINUE> if you don't mind your settings being overwritten.\\n\\nNote also that SI will change $name's password to the one you just gave." 14 70 +} + +preinstallmsg() { + whiptail --title "Let's get this party started!" --yes-button "Let's go!" \ + --no-button "No, nevermind!" \ + --yesno "The rest of the installation will now be totally automated, so you can sit back and relax.\\n\\nIt will take some time, but when done, you can relax even more with your complete system.\\n\\nNow just press <Let's go!> and the system will begin installation!" 13 60 || { + clear + exit 1 + } +} + +adduserandpass() { + # Adds user `$name` with password $pass1. + whiptail --infobox "Adding user \"$name\"..." 7 50 + useradd -m -g wheel -s /bin/zsh "$name" >/dev/null 2>&1 || + usermod -a -G wheel "$name" && mkdir -p /home/"$name" && chown "$name":wheel /home/"$name" + export repodir="/home/$name/.local/src" + mkdir -p "$repodir" + chown -R "$name":wheel "$(dirname "$repodir")" + echo "$name:$pass1" | chpasswd + unset pass1 pass2 +} + +refreshkeys() { + case "$(readlink -f /sbin/init)" in + *systemd*) + whiptail --infobox "Refreshing Arch Keyring..." 7 40 + pacman --noconfirm -S archlinux-keyring >/dev/null 2>&1 + ;; + *) + whiptail --infobox "Enabling Arch Repositories for more a more extensive software collection..." 7 40 + pacman --noconfirm --needed -S \ + artix-keyring artix-archlinux-support >/dev/null 2>&1 + grep -q "^\[extra\]" /etc/pacman.conf || + echo "[extra] +Include = /etc/pacman.d/mirrorlist-arch" >>/etc/pacman.conf + pacman -Sy --noconfirm >/dev/null 2>&1 + pacman-key --populate archlinux >/dev/null 2>&1 + ;; + esac +} + +manualinstall() { + # Installs $1 manually. Used only for AUR helper here. + # Should be run after repodir is created and var is set. + pacman -Qq "$1" && return 0 + whiptail --infobox "Installing \"$1\" manually." 7 50 + sudo -u "$name" mkdir -p "$repodir/$1" + sudo -u "$name" git -C "$repodir" clone --depth 1 --single-branch \ + --no-tags -q "https://aur.archlinux.org/$1.git" "$repodir/$1" || + { + cd "$repodir/$1" || return 1 + sudo -u "$name" git pull --force origin master + } + cd "$repodir/$1" || exit 1 + sudo -u "$name" sh -c "cd '$repodir/$1' && makepkg --noconfirm -si" || exit 1 +} + +maininstall() { + # Installs all needed programs from main repo. + whiptail --title "SI Installation" --infobox "Installing \`$1\` ($n of $total). $1 $2" 9 70 + installpkg "$1" +} + +gitmakeinstall() { + progname="${1##*/}" + progname="${progname%.git}" + dir="$repodir/$progname" + whiptail --title "SI Installation" \ + --infobox "Installing \`$progname\` ($n of $total) via \`git\` and \`make\`. $(basename "$1") $2" 8 70 + sudo -u "$name" git -C "$repodir" clone --depth 1 --single-branch \ + --no-tags -q "$1" "$dir" || + { + cd "$dir" || return 1 + sudo -u "$name" git pull --force origin main + } + cd "$dir" || exit 1 + make >/dev/null 2>&1 + make install >/dev/null 2>&1 + cd /tmp || return 1 +} + +aurinstall() { + whiptail --title "SI Installation" \ + --infobox "Installing \`$1\` ($n of $total) from the AUR. $1 $2" 9 70 + echo "$aurinstalled" | grep -q "^$1$" && return 1 + sudo -u "$name" $aurhelper -S --noconfirm "$1" >/dev/null 2>&1 +} + +pipinstall() { + whiptail --title "SI Installation" \ + --infobox "Installing the Python package \`$1\` ($n of $total). $1 $2" 9 70 + [ -x "$(command -v "pip")" ] || installpkg python-pip >/dev/null 2>&1 + yes | pip install "$1" +} + +installationloop() { + ([ -f "$progsfile" ] && cp "$progsfile" /tmp/progs.csv) || + curl -Ls "$progsfile" | sed '/^#/d' >/tmp/progs.csv + total=$(wc -l </tmp/progs.csv) + aurinstalled=$(pacman -Qqm) + while IFS=, read -r tag program comment; do + n=$((n + 1)) + echo "$comment" | grep -q "^\".*\"$" && + comment="$(echo "$comment" | sed -E "s/(^\"|\"$)//g")" + case "$tag" in + "A") aurinstall "$program" "$comment" ;; + "G") gitmakeinstall "$program" "$comment" ;; + "P") pipinstall "$program" "$comment" ;; + *) maininstall "$program" "$comment" ;; + esac + done </tmp/progs.csv +} + +putgitrepo() { + # Downloads a gitrepo $1 and places the files in $2 only overwriting conflicts + whiptail --infobox "Downloading and installing config files..." 7 60 + [ -z "$3" ] && branch="main" || branch="$repobranch" + dir=$(mktemp -d) + [ ! -d "$2" ] && mkdir -p "$2" + chown "$name":wheel "$dir" "$2" + sudo -u "$name" git -C "$repodir" clone --depth 1 \ + --single-branch --no-tags -q --recursive -b "$branch" \ + --recurse-submodules "$1" "$dir" + sudo -u "$name" cp -rfT "$dir" "$2" +} + +vimplugininstall() { + # Installs vim plugins. + whiptail --infobox "Installing neovim plugins..." 7 60 + mkdir -p "/home/$name/.config/vim/autoload" + curl -Ls "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" >"/home/$name/.config/vim/autoload/plug.vim" + chown -R "$name:wheel" "/home/$name/.config/vim" + sudo -u "$name" vim -c "PlugInstall|q|q" +} + +makeuserjs() { + # Get the Arkenfox user.js and prepare it. + arkenfox="$pdir/arkenfox.js" + overrides="$pdir/user-overrides.js" + userjs="$pdir/user.js" + ln -fs "/home/$name/.config/firefox/thesiah.js" "$overrides" + [ ! -f "$arkenfox" ] && curl -sL "https://raw.githubusercontent.com/arkenfox/user.js/master/user.js" >"$arkenfox" + cat "$arkenfox" "$overrides" >"$userjs" + chown "$name:wheel" "$arkenfox" "$userjs" + # Install the updating script. + mkdir -p /usr/local/lib /etc/pacman.d/hooks + cp "/home/$name/.local/bin/arkenfox-auto-update" /usr/local/lib/ + chown root:root /usr/local/lib/arkenfox-auto-update + chmod 755 /usr/local/lib/arkenfox-auto-update + # Trigger the update when needed via a pacman hook. + echo "[Trigger] +Operation = Upgrade +Type = Package +Target = firefox +Target = librewolf +Target = librewolf-bin +[Action] +Description=Update Arkenfox user.js +When=PostTransaction +Depends=arkenfox-user.js +Exec=/usr/local/lib/arkenfox-auto-update" >/etc/pacman.d/hooks/arkenfox.hook +} + +installffaddons() { + addonlist="ublock-origin decentraleyes istilldontcareaboutcookies vim-vixen" + addontmp="$(mktemp -d)" + trap "rm -fr $addontmp" HUP INT QUIT TERM PWR EXIT + IFS=' ' + sudo -u "$name" mkdir -p "$pdir/extensions/" + for addon in $addonlist; do + if [ "$addon" = "ublock-origin" ]; then + addonurl="$(curl -sL https://api.github.com/repos/gorhill/uBlock/releases/latest | grep -E 'browser_download_url.*\.firefox\.xpi' | cut -d '"' -f 4)" + else + addonurl="$(curl --silent "https://addons.mozilla.org/en-US/firefox/addon/${addon}/" | grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*')" + fi + file="${addonurl##*/}" + sudo -u "$name" curl -LOs "$addonurl" >"$addontmp/$file" + id="$(unzip -p "$file" manifest.json | grep "\"id\"")" + id="${id%\"*}" + id="${id##*\"}" + mv "$file" "$pdir/extensions/$id.xpi" + done + chown -R "$name:$name" "$pdir/extensions" + # Fix a Vim Vixen bug with dark mode not fixed on upstream: + sudo -u "$name" mkdir -p "$pdir/chrome" + [ ! -f "$pdir/chrome/userContent.css" ] && sudo -u "$name" echo ".vimvixen-console-frame { color-scheme: light !important; } +#category-more-from-mozilla { display: none !important }" >"$pdir/chrome/userContent.css" +} + +addsudo() { + echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-thesiah-wheel-can-sudo + echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm,/usr/bin/pacman -S -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --" >/etc/sudoers.d/01-thesiah-cmds-without-password + echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-thesiah-visudo-editor + mkdir -p /etc/sysctl.d + echo "kernel.dmesg_restrict = 0" >/etc/sysctl.d/dmesg.conf +} + +pamgnupg() { + echo "auth optional pam_gnupg.so store-only" >>/etc/pam.d/system-login + echo "session optional pam_gnupg.so " >>/etc/pam.d/system-login + echo "allow-preset-passphrase" >>/home/$name/.gnupg/gpg-agent.conf + echo "enable-ssh-support" >>/home/$name/.gnupg/gpg-agent.conf + echo "max-cache-ttl 86400" >>/home/$name/.gnupg/gpg-agent.conf +} + +finalize() { + # Farewell + whiptail --title "All done!" \ + --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\\n\\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment (it will start automatically in tty1).\\n\\n.t Soomin" 13 80 +} + +### THE ACTUAL SCRIPT ### + +### This is how everything happens in an intuitive format and order. + +# Check if user is root on Arch distro. Install whiptail. +pacman --noconfirm --needed -Sy libnewt || + error "Are you sure you're running this as the root user, are on an Arch-based distribution and have an internet connection?" + +# Welcome user and pick dotfiles. +welcomemsg || error "User exited." + +# Get and verify username and password. +getuserandpass || error "User exited." + +# Give warning if user already exists. +usercheck || error "User exited." + +# Last chance for user to back out before install. +preinstallmsg || error "User exited." + +### The rest of the script requires no user input. + +# Refresh Arch keyrings. +refreshkeys || + error "Error automatically refreshing Arch keyring. Consider doing so manually." + +for x in curl ca-certificates base-devel git ntp zsh; do + whiptail --title "SI Installation" \ + --infobox "Installing \`$x\` which is required to install and configure other programs." 8 70 + installpkg "$x" +done + +whiptail --title "SI Installation" \ + --infobox "Synchronizing system time to ensure successful and secure installation of software..." 8 70 +ntpd -q -g >/dev/null 2>&1 + +adduserandpass || error "Error adding username and/or password." + +[ -f /etc/sudoers.pacnew ] && cp /etc/sudoers.pacnew /etc/sudoers # Just in case + +# Allow user to run sudo without password. Since AUR programs must be installed +# in a fakeroot environment, this is required for all builds with AUR. +trap 'rm -f /etc/sudoers.d/thesiah-temp' HUP INT QUIT TERM PWR EXIT +echo "%wheel ALL=(ALL) NOPASSWD: ALL Defaults:%wheel runcwd=*" >/etc/sudoers.d/thesiah-temp + +# Make pacman colorful, concurrent downloads and Pacman eye-candy. +grep -q "ILoveCandy" /etc/pacman.conf || sed -i "/#VerbosePkgLists/a ILoveCandy" /etc/pacman.conf +sed -Ei "s/^#(ParallelDownloads).*/\1 = 5/;/^#Color$/s/#//" /etc/pacman.conf + +# Use all cores for compilation. +sed -i "s/-j2/-j$(nproc)/;/^#MAKEFLAGS/s/^#//" /etc/makepkg.conf + +manualinstall $aurhelper || error "Failed to install AUR helper." + +# Make sure .*-git AUR packages get updated automatically. +$aurhelper -Y --save --devel + +# The command that does all the installing. Reads the progs.csv file and +# installs each needed program the way required. Be sure to run this only after +# the user has been created and has priviledges to run sudo without a password +# and all build dependencies are installed. +installationloop + +# Install the dotfiles in the user's home directory, but remove .git dir and +# other unnecessary files. +putgitrepo "$dotfilesrepo" "/home/$name" "$repobranch" +rm -rf "/home/$name/.git/" "/home/$name/README.md" "/home/$name/LICENSE" "/home/$name/FUNDING.yml" + +# Install vim plugins if not alread present. +[ ! -f "/home/$name/.config/vim/autoload/plug.vim" ] && vimplugininstall + +# Most important command! Get rid of the beep! +rmmod pcspkr +echo "blacklist pcspkr" >/etc/modprobe.d/nobeep.conf + +# Make zsh the default shell for the user. +chsh -s /bin/zsh "$name" >/dev/null 2>&1 +sudo -u "$name" mkdir -p "/home/$name/.cache/zsh/" +sudo -u "$name" mkdir -p "/home/$name/.config/mpd/playlists/" + +# dbus UUID must be generated for Artix runit. +dbus-uuidgen >/var/lib/dbus/machine-id + +# Use system notifications for Brave on Artix +echo "export \$(dbus-launch)" >/etc/profile.d/dbus.sh + +# Enable tap to click +[ ! -f /etc/X11/xorg.conf.d/40-libinput.conf ] && printf 'Section "InputClass" + Identifier "libinput touchpad catchall" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" + # Enable left mouse button by tapping + Option "Tapping" "on" +EndSection' >/etc/X11/xorg.conf.d/40-libinput.conf + +# Update addressbook config path in muttrc +awk ' + /^set query_command = "abook --mutt-query/ { + gsub(/abook --mutt-query/, "abook --datafile ~/.config/abook/addressbook --mutt-query") + } + { print } +' /usr/share/mutt-wizard/mutt-wizard.muttrc >/tmp/mutt-wizard.muttrc.tmp && mv /tmp/mutt-wizard.muttrc.tmp /usr/share/mutt-wizard/mutt-wizard.muttrc + +# All this below to get Librewolf installed with add-ons and non-bad settings. +whiptail --infobox "Setting browser privacy settings and add-ons..." 7 60 + +browserdir="/home/$name/.librewolf" +profilesini="$browserdir/profiles.ini" + +# Start librewolf headless so it generates a profile. Then get that profile in a variable. +sudo -u "$name" librewolf --headless >/dev/null 2>&1 & +sleep 1 +profile="$(sed -n "/Default=.*.default-default/ s/.*=//p" "$profilesini")" +pdir="$browserdir/$profile" + +[ -d "$pdir" ] && makeuserjs + +[ -d "$pdir" ] && installffaddons + +# Kill the now unnecessary librewolf instance. +pkill -u "$name" librewolf + +# Allow wheel users to sudo with password and allow several system commands +# (like `shutdown` to run without password). +addsudo + +pamgnupg + +# Change /bin/sh from bash to dash +ln -sf dash /bin/sh + +# Last message! Install complete! +finalize diff --git a/static/thesiah-debian.sh b/static/thesiah-debian.sh new file mode 100755 index 0000000..ac2ef96 --- /dev/null +++ b/static/thesiah-debian.sh @@ -0,0 +1,175 @@ +#!/bin/sh + +# Soomin's Auto Rice Bootstrapping Script (THESIAH) adapted for debian +# Adaptation by: Soomin Im <si@thesiah.xyz> +# License: GNU GPLv3 + + +### VARIABLES ### +dotfilesrepo="https://github.com/thesiah/.dotfiles.git" +progsfile="https://raw.githubusercontent.com/thesiah/THESIAH/main/static/debianprogs.csv" +repobranch="master" +export TERM=ansi + + +### FUNCTIONS ### +installpkg() { + DEBIAN_FRONTEND=noninteractive apt-get install -y "$1" >/dev/null 2>&1 || error "Failed to install $1" +} + +error() { + whiptail --title "Error" --msgbox "An error occurred: $1" 8 78 + exit 1 +} + +welcomemsg() { + whiptail --title "Welcome!" \ + --msgbox "Welcome to Soomin's Auto-Rice Bootstrapping Script for Debian! This script will automatically install a fully-featured Linux desktop, which I use as my main machine." 12 60 +} + +getuserandpass() { + name=$(whiptail --inputbox "Please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1) || error "User exited." + pass=$(whiptail --passwordbox "Enter a password for the user." 10 60 3>&1 1>&2 2>&3 3>&1) || error "User exited." + pass2=$(whiptail --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) || error "User exited." + while ! [ "$pass" = "$pass2" ]; do + pass=$(whiptail --passwordbox "Passwords do not match.\\n\\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1) + pass2=$(whiptail --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1) + done +} + +usercheck() { + if id "$name" &>/dev/null; then + whiptail --yesno "The user $name already exists. Do you want to continue?" 8 78 || error "User exited." + fi +} + +preinstallmsg() { + whiptail --title "Ready to start?" --yesno "The rest of the installation will now be totally automated. Press Yes to continue." 8 78 || error "User exited." +} + +adduserandpass() { + whiptail --infobox "Adding user \"$name\"..." 7 50 + adduser --disabled-password --gecos "" "$name" || error "Failed to add user $name" + echo "$name:$pass1" | chpasswd + usermod -aG sudo "$name" + + export repodir="/home/$name/.local/src" + mkdir -p "$repodir" + chown -R "$name": "$repodir" + + unset pass1 pass2 + + trap 'rm -f /etc/sudoers.d/thesiah-temp' HUP INT QUIT TERM PWR EXIT + echo "$name ALL=(ALL) NOPASSWD: ALL Defaults:$name runcwd=*" >/etc/sudoers.d/thesiah-temp +} + +installationloop() { + ([ -f "$progsfile" ] && cp "$progsfile" /tmp/progs.csv) || curl -Ls "$progsfile" | sed '/^#/d' >/tmp/progs.csv + total=$(wc -l </tmp/progs.csv) + while IFS=, read -r tag program comment; do + case "$tag" in + "G") gitcloneinstall "$program" "$comment" ;; + "P") pipinstall "$program" ;; + *) installpkg "$program" ;; + esac + done </tmp/progs.csv +} + +putgitrepo() { + whiptail --infobox "Downloading and installing config files..." 7 60 + [ -z "$3" ] && branch="main" || branch="$3" + dir=$(mktemp -d) + [ ! -d "$2" ] && mkdir -p "$2" + sudo -u "$name" git -C "$repodir" clone --depth 1 \ + --single-branch --no-tags -q --recursive -b "$branch" \ + --recurse-submodules "$1" "$dir" + sudo -u "$name" cp -rfT "$dir" "$2" +} + +pipinstall() { + whiptail --title "SI Installation" \ + --infobox "Installing the Python package \`$1\` ($n of $total). $1 $2" 9 70 + [ -x "$(command -v "pip")" ] || installpkg python-pip >/dev/null 2>&1 + yes | pip install "$1" +} + +vimplugininstall() { + # Installs vim plugins. + whiptail --infobox "Installing vim plugins..." 7 60 + mkdir -p "/home/$name/.vim/autoload" + curl -Ls "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" >"/home/$name/.vim/autoload/plug.vim" + chown -R "$name:$name" "/home/$name/.vim" # Changed to use user's group + sudo -u "$name" vim -c "PlugInstall|q|q" +} + +addsudo() { + echo "$name ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-thesiah-user-can-sudo + echo "$name ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/apt update,/usr/bin/apt upgrade,/usr/bin/apt upgrade -y,/usr/bin/loadkeys,/usr/bin/apt-get --download-only upgrade" >/etc/sudoers.d/01-thesiah-cmds-without-password + echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-thesiah-visudo-editor + mkdir -p /etc/sysctl.d + echo "kernel.dmesg_restrict = 0" >/etc/sysctl.d/dmesg.conf +} + +finalize() { + whiptail --title "All done!" \ + --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\\n\\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment (it will start automatically in tty1).\\n\\n.t Soomin" 13 80 +} + + +### MAIN SCRIPT ### +if [ "$(id -u)" -ne 0 ]; then + echo "This script must be run as root." >&2 + exit 1 +fi + +essential_packages="curl ca-certificates build-essential git ntp zsh" +whiptail --title "SI Installation" --infobox "Installing essential packages required to install and configure other programs." 8 70 +for package in $essential_packages; do + installpkg $package || error "Failed to install $package" +done + +welcomemsg || error "User exited." + +getuserandpass || error "User exited." + +usercheck || error "User exited." + +preinstallmsg || error "User exited." + +adduserandpass || error "Error adding username and/or password." + +installationloop + +putgitrepo "$dotfilesrepo" "/home/$name" "$repobranch" +rm -rf "/home/$name/.git/" "/home/$name/README.md" "/home/$name/LICENSE" "/home/$name/FUNDING.yml" + +[ ! -f "/home/$name/.vim/autoload/plug.vim" ] && vimplugininstall + +rmmod pcspkr +echo "blacklist pcspkr" >/etc/modprobe.d/nobeep.conf + +chsh -s /bin/zsh "$name" >/dev/null 2>&1 +sudo -u "$name" mkdir -p "/home/$name/.cache/zsh/" +sudo -u "$name" mkdir -p "/home/$name/.config/mpd/playlists/" + +# dbus UUID must be generated for Artix runit. +dbus-uuidgen >/var/lib/dbus/machine-id + +# Use system notifications for Brave on Artix +echo "export \$(dbus-launch)" >/etc/profile.d/dbus.sh + +# Enable tap to click +[ ! -f /etc/X11/xorg.conf.d/40-libinput.conf ] && printf 'Section "InputClass" + Identifier "libinput touchpad catchall" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" + # Enable left mouse button by tapping + Option "Tapping" "on" +EndSection' >/etc/X11/xorg.conf.d/40-libinput.conf + +# Allow wheel users to sudo with password and allow several system commands +# (like `shutdown` to run without password). +addsudo + +finalize diff --git a/static/thesiah-mac.sh b/static/thesiah-mac.sh new file mode 100755 index 0000000..b793c9a --- /dev/null +++ b/static/thesiah-mac.sh @@ -0,0 +1,148 @@ +#!/bin/sh + +# Soomin's Auto Rice Bootstrapping Script (THESIAH) adapted for macOS +# Adaptation by: Soomin Im <si@thesiah.xyz> +# License: GNU GPLv3 + + +### VARIABLES ### +dotfilesrepo="https://github.com/thesiah/.dotfiles.git" +progsfile="https://raw.githubusercontent.com/thesiah/THESIAH/main/static/macprogs.csv" +repobranch="main" +name=$(whoami) # Use the current user's name + + +### FUNCTIONS ### + +# Notify function using macOS's notification system +notify() { + osascript -e "display notification \"$2\" with title \"$1\"" +} + +# Error function for error handling and notification +error() { + # Log to stderr and exit with failure. + printf "%s\n" "$1" >&2 + exit 1 +} + +# Install Homebrew packages +installpkg() { + if brew list "$1" &>/dev/null; then + echo "$1 is already installed." + else + echo "Installing $1..." + brew install "$1" || error "Failed to install $1." + fi +} + +# Install Homebrew Cask applications +caskinstall() { + if brew list --cask "$1" &>/dev/null; then + echo "$1 is already installed." + else + echo "Installing $1..." + brew install --cask "$1" || error "Failed to install $1." + fi +} + +# Install Python packages with pip +pipinstall() { + echo "Installing the Python package: $1" + if ! command -v pip3 &>/dev/null; then + installpkg python # This installs pip3 + fi + pip3 install "$1" || error "Failed to install Python package $1." +} + +# Install Homebrew Tap packages +tapinstall() { + # Extract the repository and package name + local repo=$(echo "$1" | cut -d'/' -f1) + local pkg=$(echo "$1" | cut -d'/' -f2) + + echo "Adding tap: $repo" + brew tap "$repo" || error "Failed to tap $repo." + + echo "Installing package: $pkg from tap" + brew install "$pkg" || error "Failed to install $pkg from tap." +} + +# Install mac apps with mas +masinstall() { + echo "Installing the mac app: $1" + if ! command -v mas &>/dev/null; then + installpkg mas # This installs mas + fi + + # Search for the app by name and get its ID using awk to parse the output + id=$(mas search "$1" | awk -F ' ' '{print $1; exit}') + + # Check if the id variable is set and not empty + if [ -z "$id" ]; then + error "Failed to find an ID for the app named $1." + else + echo "Installing the app with ID $id..." + mas install "$id" || error "Failed to install the app $1." + fi +} + +# Clone and setup dotfiles +putgitrepo() { + notify "Installation" "Downloading and installing config files..." + local dir=$(mktemp -d) + if [ ! -d "$2" ]; then + mkdir -p "$2" + fi + git clone --depth 1 --single-branch --no-tags -q --recursive -b "${3:-$repobranch}" "$1" "$dir" || error "Failed to clone $1." + cp -Rf "$dir/"* "$2" + rm -rf "$dir" # Clean up +} + +# Installation loop for processing the programs.csv file +installationloop() { + ([ -f "$progsfile" ] && cp "$progsfile" /tmp/programs.csv) || curl -Ls "$progsfile" | sed '/^#/d' >/tmp/programs.csv || error "Failed to download programs file." + while IFS=, read -r tag program comment; do + echo "$comment" + case "$tag" in + "P") pipinstall "$program" ;; + "C") caskinstall "$program" ;; + "M") masinstall "$program" ;; + "T") tapinstall "$program" ;; + *) installpkg "$program" ;; + esac + done </tmp/programs.csv +} + +finalize() { + # Farewell + echo "All done!" + echo "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\\n\\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment (it will start automatically in tty1).\\n\\n.t Soomin" +} + +brewinstall() { + if ! command -v brew &>/dev/null; then + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi + brew update >/dev/null 2>&1 + brew upgrade >/dev/null 2>&1 +} + +### Main Installation Process ### + +# Ensure Homebrew is installed +brewinstall || error "Failed to install Homebrew." + +# Start the installation loop for software from the CSV +installationloop + +# Setup Dotfiles +putgitrepo "$dotfilesrepo" "$HOME" "$repobranch" + +# Clean up any unwanted files from the dotfiles repo +rm -rf "$HOME/.git" "$HOME/README.md" "$HOME/LICENSE" "$HOME/FUNDING.yml" "/tmp/programs.csv" + +ln -s ~/.dotfiles/mac/.zprofile ~/.zprofile + +# Final +finalize diff --git a/themes/itheme/LICENSE b/themes/itheme/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/themes/itheme/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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 3 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, see <https://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<https://www.gnu.org/licenses/>. + + The GNU 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. But first, please read +<https://www.gnu.org/licenses/why-not-lgpl.html>. diff --git a/themes/itheme/README.md b/themes/itheme/README.md new file mode 100644 index 0000000..7edffef --- /dev/null +++ b/themes/itheme/README.md @@ -0,0 +1,114 @@ +# iTheme theme for Hugo + +**If you like this theme, [please give me a star!](https://github.com/floyd-li/hugo-theme-itheme)** + + + + +## Introduction + +[中文说明](https://github.com/floyd-li/hugo-theme-itheme/blob/master/README_CN.md) + +An Apple style theme for [Hugo](https://gohugo.io/), inspired by [astro-air-blog](https://github.com/austin2035/astro-air-blog) + +## Preview + +[Demo Site](https://hugo-theme-itheme.netlify.app) + +## Quick Start + +Before you start, make sure you have installed [Hugo](https://gohugo.io/). + +### Quick start with the demo site + +Here's the [demo site repo](https://github.com/floyd-li/itheme-demo-site) + +```bash +git clone --recurse-submodules https://github.com/floyd-li/itheme-demo-site.git my-site +cd ./my-site && hugo server -D +``` + +Then you can visit `http://localhost:1313` to see the demo site! + +### Use the theme for existed site + +```bash +git submodule add https://github.com/floyd-li/hugo-theme-itheme.git themes/hugo-theme-itheme +echo "theme = 'hugo-theme-itheme'" >> config.toml +``` + +Then you need to add some configuration to `config.toml`, please flow the [Site Configuration](#site-configuration). + +## Screenshot + + + +## Features + +- `Light` and `Dark` mode for post +- Three different sizes for images in the post +- `i18n` support (currently only support `en` and `zh-hans`, there is a great need for contributing translation) +- [Algolia](https://www.algolia.com/) search integration +- Custom JavaScript/CSS support (You may put these files in `static/` directory) + +## Configuration + +### Site Configuration + +```toml +defaultContentLanguage = "en" # current only supported 'en' and 'zh-hans', see the 'i18n' folder +[params] + defaultCover = 'https://example.com/cover.jpg' # default cover image for post not setting cover + email = 'floyd.li@outlook.com' # the email address display in the footer + [params.algolia] # Algolia search configuration + enabled = true # enable Algolia search + appId = 'YOUR_KEY' # appid for Algolia search + appKey = 'YOUR_APP_KEY' # appkey for Algolia search + searchIndex = 'YOUR_INDEX' # index for Algolia search + [[params.css]] # custom css stylesheet, you can add one or more, url is relative in 'static' folder + url = 'css1.css' + [[params.css]] + url = 'css2.css' + [[params.js]] # custom javascript, you can add one or more, url is relative in 'static' folder + url = 'js1.js' + [[params.js]] + url = 'js2.js' + [[params.socialMedia]] # custom social links display in the footer, you can add one or more + name = 'Github' + url = 'https://github.com/floyd-li' + [[params.socialMedia]] + name = 'Twitter' + url = 'https://twitter.com/some-one' + [[params.blogroll]] # blogroll links display in the footer, you can add one or more + name = 'Apple' + url = 'https://Apple.com/' + [[params.blogroll]] + name = 'Google' + url = 'https://Google.com/' +``` + +### Post Configuration + +```markdown +--- +title: 'Some Article' +date: '2022-10-27T13:06:38+08:00' +draft: true +description: 'some description of the article' +author: 'author of this article' +cover: 'https://example.com/cover.jpg' // if not set cover, it will use the 'defaultCover' in site configuration +tags: ["tag1", "tag2", "tag3"] +theme: "dark" // you can set 'light' or 'dark' here +--- +``` + +### Three display modes of images + +The three display modes of images are: `inline`, `big`, `wide`, you can visit the [demo site](https://hugo-theme-itheme.netlify.app/posts/mark-down-syntax/#Image) for preview +When you edit your markdown file, you can add `inline`, `big` or `wide` to the image alt, like this: + +```markdown + +``` + +The Separator is `|`, and the default mode is `big`. diff --git a/themes/itheme/README_CN.md b/themes/itheme/README_CN.md new file mode 100644 index 0000000..0c148d6 --- /dev/null +++ b/themes/itheme/README_CN.md @@ -0,0 +1,114 @@ +# iTheme theme for Hugo + +**如果喜欢这个主题, [请给我点赞!](https://github.com/floyd-li/hugo-theme-itheme)** + + + + +## 介绍 + +[English Readme](https://github.com/floyd-li/hugo-theme-itheme/blob/master/README.md) + +一个苹果味十足的[Hugo](https://gohugo.io/)主题,移植自[astro-air-blog](https://github.com/austin2035/astro-air-blog) + +## 预览 + +[测试站点](https://hugo-theme-itheme.netlify.app) + +## 快速开始 + +在开始之前,请先安装好[Hugo](https://gohugo.io/)。 + +### 使用测试站点快速开始 + +这是[测试站点的仓库](https://github.com/floyd-li/itheme-demo-site) + +```bash +git clone --recurse-submodules https://github.com/floyd-li/itheme-demo-site.git my-site +cd ./my-site && hugo server -D +``` + +然后,就可以访问`http://localhost:1313`查看效果啦~ + +### 作为一个已有项目的主题 + +```bash +git submodule add https://github.com/floyd-li/hugo-theme-itheme.git themes/hugo-theme-itheme +echo "theme = 'hugo-theme-itheme'" >> config.toml +``` + +可能需要在`config.toml`文件中添加一些配置,请参考后文的[站点配置](#site-configuration) + +## 截屏 + + + +## 特性 + +- 支持文章`明``暗`两种风格 +- 文中配置支持三种不同的大小 +- 多语言支持(当前仅支持了中文和英文,欢迎提交其他语言的翻译) +- 支持[Algolia](https://www.algolia.com/)搜索 +- 支持自定义JavaScript/CSS文件(文件需置于`static/`目录中) + +## 配置 + +### 站点配置 + +```toml +defaultContentLanguage = "en" # 默认语言,当前仅支持英文(en)和简体中文(zh-hans),可以查看'i18n'文件夹 +[params] + defaultCover = 'https://example.com/cover.jpg' # 文章未设置封面时的默认封面图 + email = 'floyd.li@outlook.com' # 页脚显示的邮件地址the email address display in the footer + [params.algolia] # Algolia搜索功能配置 + enabled = true # 是否启用Algolia搜索功能 + appId = 'YOUR_KEY' # Algolia appid + appKey = 'YOUR_APP_KEY' # Algolia appkey + searchIndex = 'YOUR_INDEX' # Algolia index + [[params.css]] # 自定义CSS样式文件,可添加多个,文件位于'static'目录下,相对路径 + url = 'css1.css' + [[params.css]] + url = 'css2.css' + [[params.js]] # 自定义JavaScript文件,可添加多个,文件位于'static'目录下,相对路径 + url = 'js1.js' + [[params.js]] + url = 'js2.js' + [[params.socialMedia]] # 页脚显示的自定义的媒体链接,可添加多个 + name = 'Github' + url = 'https://github.com/floyd-li' + [[params.socialMedia]] + name = 'Twitter' + url = 'https://twitter.com/some-one' + [[params.blogroll]] # 页脚显示的自定义的友情链接,可添加多个 + name = 'Apple' + url = 'https://Apple.com/' + [[params.blogroll]] + name = 'Google' + url = 'https://Google.com/' +``` + +### 文章设置 + +```markdown +--- +title: 'Some Article' +date: '2022-10-27T13:06:38+08:00' +draft: true +description: 'some description of the article' +author: 'author of this article' +cover: 'https://example.com/cover.jpg' // 封面图,如果这里没有配置,将会使用站点配置中的defaultCover +tags: ["tag1", "tag2", "tag3"] +theme: "dark" // 设置文章的明暗主题(light/dark) +--- +``` + +### 三种图片显示模式 + +三种图片显示模式分别为`inline(中杯)`,`big(大杯)`,`wide(特大杯)`,具体效果可参见[演示站点页面](https://hugo-theme-itheme.netlify.app/posts/mark-down-syntax/#Image) +在编辑`Markdown`文件时,可以在插入配图的alt属性上加上`inline`, `big`或`wide`即可。 + +```markdown + +``` + +分隔符是英文字符`|`,如果未设置则默认显示大杯`big`。 diff --git a/themes/itheme/archetypes/posts.md b/themes/itheme/archetypes/posts.md new file mode 100644 index 0000000..9506225 --- /dev/null +++ b/themes/itheme/archetypes/posts.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +description: "" +draft: true +author: "" +cover: "" +tags: [""] +theme: "dark" +--- diff --git a/themes/itheme/assets/js/algolia.js b/themes/itheme/assets/js/algolia.js new file mode 100644 index 0000000..47e65d4 --- /dev/null +++ b/themes/itheme/assets/js/algolia.js @@ -0,0 +1,78 @@ +import { params, baseURL } from "@params" + +const {appid, appkey, searchindex: indexName, enabled} = params.algolia + +const searchClient = algoliasearch(appid, appkey); +const { autocomplete, getAlgoliaResults } = window['@algolia/autocomplete-js']; + +function initAlgolia(){ + autocomplete({ + container: '#autocomplete', + getSources({ query }) { + return [ + { + sourceId: 'products', + getItems() { + return getAlgoliaResults({ + searchClient, + queries: [ + { + indexName, + query, + params: { + attributesToSnippet: ['name:10', 'description:35'], + }, + }, + ], + }); + }, + templates: { + item({ item, components, html }) { + return html`<a class="aa-ItemWrapper" href="${baseURL}${item.uri}"> + <div class="aa-ItemContent"> + <div class="aa-ItemContentBody"> + <div class="aa-ItemContentTitle"> + ${components.Highlight({ + hit: item, + attribute: 'name', + })} + </div> + <div class="aa-ItemContentDescription"> + ${components.Snippet({ + hit: item, + attribute: 'description', + })} + </div> + </div> + <div class="aa-ItemActions"> + <button + class="aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly" + type="button" + title="Select" + > + <svg + viewBox="0 0 24 24" + width="20" + height="20" + fill="currentColor" + > + <path + d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z" + /> + </svg> + </button> + </div> + </div> + </a>`; + }, + } + }, + ]; + }, + }) + document.querySelector("#autocomplete input").focus() +} + +if(enabled){ + initAlgolia() +} diff --git a/themes/itheme/assets/js/initPost.js b/themes/itheme/assets/js/initPost.js new file mode 100644 index 0000000..db04238 --- /dev/null +++ b/themes/itheme/assets/js/initPost.js @@ -0,0 +1,134 @@ +import params from "@params" +// console.log("postInit.js loaded"); +var scriptMd5 = document.createElement("script"); +scriptMd5.src = `${params.baseURL}js/md5.js`; +document.head.appendChild(scriptMd5); + +scriptMd5.onload = function () { + // console.log("md5.js loaded") + // step1. sythx highlighting + syntaxHighlight(); + // step2. lazyload + initLazyLoad(); +} + +function initLazyLoad() { + var script = document.createElement("script"); + script.src = `${params.baseURL}js/animation.js`; + document.head.appendChild(script); + + script.onload = function () { + // console.log("lazyload.js loaded"); + + animationElementName = ".image-load"; + + // Hook the loadImage function + loadImage = (index) => { + if (index >= imageElements.length) return; + + let image = imageElements[index]; + image.src = image.dataset.src; + let img = new Image(); + img.src = image.src; + + // if the image is loaded or not loaded, load the next image + img.onload = function () { + loadImage(index + 1); + }; + img.onerror = function () { + loadImage(index + 1); + } + } + + loadAnimation = (item) => { + if(item.classList.contains("image-loaded")) return; + let grandSon = item.children[0].children[0]; + let img = new Image(); + img.src = grandSon.src; + let sign = md5(grandSon.src); + + let target = document.getElementById(`lht${sign}`) + if (!target) { + // If an absolute path is used as the image link, such as "/static/img.png", + // the URL of grandSon.src will become "https://example.com/static/img.png", resulting in a different md5. + // Therefore, we attempt to handle this situation by trying again with the absolute path. + const a = document.createElement('a'); + a.href = grandSon.src; + sign = md5(a.pathname); + } + + img.onload = function () { + let percent = ((img.height / img.width) * 100).toFixed(5); + var style = document.createElement("style"); + style.innerHTML = renderStyle(sign, percent); + let target = document.getElementById(`lht${sign}`) + + if (!target) return; + + target.parentNode.insertBefore(style, target); + item.classList.remove("image-load"); + item.classList.add("image-loaded"); + } + + } + + initImage(); + }; +} + + +function renderStyle(sign, percent) { + return ` + .image-${sign} { + width: 100%; + padding-top: ${percent}%; + height: auto; + } + + @media only screen and (max-width: 1068px) { + .image-${sign} { + width: 100%; + padding-top: ${percent}%; + height: auto; + } + } + + @media only screen and (max-width: 734px) { + .image-${sign} { + width: 100%; + padding-top: ${percent}%; + height: auto; + } + };` +} + +function syntaxHighlight() { + var script = document.createElement("script"); + script.src = "//cdn.staticfile.org/highlight.js/11.7.0/highlight.min.js"; + document.head.appendChild(script); + + var styleLight = document.createElement("link"); + styleLight.rel = "stylesheet"; + styleLight.href = "//cdn.staticfile.org/highlight.js/11.7.0/styles/stackoverflow-light.min.css"; + + var styleDark = document.createElement("link"); + styleDark.rel = "stylesheet"; + styleDark.href = "//cdn.staticfile.org/highlight.js/11.7.0/styles/stackoverflow-dark.min.css"; + + if (document.querySelector("body").classList.contains("theme-dark")) { + document.head.appendChild(styleDark); + } else { + document.head.appendChild(styleLight); + } + + script.onload = function () { + // console.log("hljs.js loaded"); + // 忽略未转义的HTML警告,自己的md文档默认可信 + hljs.configure({ + ignoreUnescapedHTML: true + }); + document.querySelectorAll('pre code').forEach((el) => { + hljs.highlightElement(el); + }); + }; +} diff --git a/themes/itheme/config.toml b/themes/itheme/config.toml new file mode 100644 index 0000000..d68d638 --- /dev/null +++ b/themes/itheme/config.toml @@ -0,0 +1,4 @@ +[params] + ShowCopyRight = true + ShowMore = true + ShowRSS = true
\ No newline at end of file diff --git a/themes/itheme/exampleSite/config.toml b/themes/itheme/exampleSite/config.toml new file mode 100644 index 0000000..34fb6c6 --- /dev/null +++ b/themes/itheme/exampleSite/config.toml @@ -0,0 +1,23 @@ +baseURL = '/' +languageCode = 'en' +defaultContentLanguage = "en" +hasCJKLanguage = true +title = 'Apple Newsroom' +copyright = 'Floyd Li' +theme = 'hugo-theme-itheme' +paginate = 5 +[params] + defaultCover = 'https://www.apple.com.cn/newsroom/images/apple-logo_black.jpg.landing-regular_2x.jpg' + email = 'floyd.li@outlook.com' + [[params.socialMedia]] + name = 'Github' + url = 'https://github.com/floyd-li' + [[params.socialMedia]] + name = 'Twitter' + url = 'https://twitter.com/some-one' + [[params.blogroll]] + name = '驭风笔记' + url = 'https://yufengbiji.com/' + [[params.blogroll]] + name = 'Apple' + url = 'https://apple.com/' diff --git a/themes/itheme/exampleSite/content/about.md b/themes/itheme/exampleSite/content/about.md new file mode 100644 index 0000000..5267fa2 --- /dev/null +++ b/themes/itheme/exampleSite/content/about.md @@ -0,0 +1,10 @@ +--- +title: '关于我们' +plain: true +theme: 'light' +--- +苹果公司(英语:Apple Inc.),原称苹果电脑公司(英语:Apple Computer, Inc.),是源自美国的跨国科技公司,总部位于美国加州的库比蒂诺,与亚马逊、谷歌、微软、Meta并列为五大科技巨擘。目前的业务包括设计、研发、手机通讯和销售消费电子、计算机软件、在线服务和个人计算机。 + +1976年4月,史蒂夫·乔布斯、斯蒂夫·沃兹尼亚克和罗纳德·韦恩创立了苹果公司,目的是为了研发和销售沃兹尼亚克Apple I个人电脑,但韦恩12天后就放弃了自己的股份。1977年1月,正式确定公司名称为“苹果电脑公司”,包括Apple II在内的电脑销量迅速增长。几年之内,乔布斯和沃兹尼亚克就聘雇了一批电脑设计师,并拥有了一条生产线。1980年,苹果公司上市,迅速获得了财务上的成功。在接下来的几年里,苹果公司推出了具有图形用户界面的新电脑,如1984年推出的Macintosh 128K,同时苹果公司的产品营销广告得到广泛好评。然而,其产品的高单价和有限的应用程序引发了诸多问题,其高管之间的权力斗争不断。1985年,沃兹尼亚克离开了苹果公司,继续担任名誉雇员,而乔布斯和其他人则辞职成立了NeXT公司。1996年,苹果收购NeXT公司,贾伯斯于隔年重返苹果公司,率领苹果公司成为科技巨擘。 + +该公司最著名的硬件产品有iPhone智能手机、iPad平板电脑、Mac个人电脑、iPod音乐播放器、Apple Watch智能手表、Apple TV媒体播放器 、AirPods无线耳机和HomePod智能音箱、游戏机 Pippin atmark ;软件有macOS、iOS、iPadOS、watchOS和tvOS五大操作系统、iTunes播放器、Safari网页浏览器 、Shazam音乐识别,还有iLife和iWork创意和生产力套件,以及Final Cut Pro、Logic Pro和Xcode等专业软件;在线服务有iTunes Store、iOS App Store、Mac App Store、Apple Music、Apple TV+、iMessage和iCloud。苹果公司还有其他一系列服务包括Apple Store、Genius Bar、AppleCare、Apple Pay、Apple Pay Cash和Apple Card等。 diff --git a/themes/itheme/exampleSite/content/posts/apple-introduces-the-new-homepod-with-breakthrough-sound-and-intelligence.md b/themes/itheme/exampleSite/content/posts/apple-introduces-the-new-homepod-with-breakthrough-sound-and-intelligence.md new file mode 100644 index 0000000..13f95de --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/apple-introduces-the-new-homepod-with-breakthrough-sound-and-intelligence.md @@ -0,0 +1,87 @@ +--- +title: "Apple 推出新款 HomePod,带来突破性音质与智能体验" +date: 2023-02-27T13:06:38+08:00 +description: "呈现出类拔萃的音质、增强的 Siri 功能以及安全放心的智能家居体验" +author: "Apple Newsroom" +tags: ["新闻稿", "Apple", "HomePod"] +theme: "light" +featured: true +cover: "https://www.apple.com.cn/newsroom/images/product/homepod/standard/Apple-HomePod-hero-230118_big.jpg.large_2x.jpg" +--- + + +加利福尼亚州,库比提诺Apple 今日宣布推出 HomePod(第二代)。这款功能强大的智能扬声器采用优美的标志性设计,为用户带来新一代声学体验。HomePod 汇集了多项 Apple 创新技术与 Siri 智能,提供先进计算音频技术,支持播放沉浸式空间音频曲目,呈现前所未有的聆听体验。HomePod 带来管理日常任务、控制智能家居的便利新方式,用户可以使用 Siri 创建智能家居自动化功能,在家中触发烟雾或一氧化碳警报时获得通知,或者查看房间的温度与湿度——以上操作不必动手就能完成。 +新款 HomePod 从今日起可在线或通过 Apple Store app 订购,2 月 3 日(周五)起正式发售。 + +“利用我们的专业音频技术和创新,新款 HomePod 可呈现醇厚深沉的低音、自然的中音和清澈细腻的高音。”Apple 全球市场营销高级副总裁 Greg Joswiak 表示,“随着 HomePod mini 大受欢迎,我们看到用户对体积更大、声学表现更强劲的 HomePod 兴趣也与日俱增。我们很高兴能为全球各地的顾客带来新一代 HomePod。” + +## 优美设计 + +新款 HomePod 的外观由无缝透声织网和背光触控板构成,优美的设计与各种空间相得益彰。HomePod 提供白色与全新的午夜色两种外观,后者由 100% 再生织物构成,配有同色系编织电源线。 + + + +## 强劲的声学表现 + +HomePod 呈现出类拔萃的音质,低音醇厚深沉,高频惊艳动人。定制研发的高振幅低音单元、振幅高达惊人的 20 毫米的强劲电机驱动振膜、内置低音均衡器麦克风、底部环绕着由 5 个波束成形高音单元组成的阵列,共同打造强大的声学体验。S7 芯片结合软件和系统感应技术,提供更加先进的计算音频,彻底发挥声学系统的全部潜能,呈现前所未有的聆听体验。 + + + +利用室内空间感应技术,HomePod 可识别附近表面反射的声音,判断是否靠近墙壁等表面,并对音频进行实时调整。5 个高音单元组成的波束成形阵列利用精确指向控制分离与定向传送直达声和环境声,让用户在清澈的人声和醇美的器乐声中尽情沉醉。 + +用户可聆听 Apple Music 曲库中的数千万首歌曲1,通过单个 HomePod 或用两个 HomePod 组成立体声组合享受空间音频。用户可以通过 Siri 了解各种音乐知识,并根据艺人、歌曲、歌词、年代、类型、心情或活动搜索音乐。 + +多个 HomePod 带来更出色的体验 两个及更多 HomePod 或 HomePod mini 可解锁一系列强大功能。利用支持多房间音频的隔空播放技术2,用户只要说“嘿 Siri”,或者触碰并按住 HomePod 顶部,就能用多个 HomePod 播放同一首歌曲,或在不同 HomePod 上播放不同歌曲,甚至使用多个 HomePod 进行广播,传话到各个房间。 +用户还可以把两个 HomePod 放在一起,组成立体声组合3。立体声组合不但可以分离左右声道,还能和谐地播放双声道音频,营造比传统立体声扬声器更宽广、更具沉浸感的声场,呈现出类拔萃的聆听体验。 + + + +## 无缝整合 Apple 生态系统 + +利用超宽带技术,用户可以将 iPhone 上播放的任何声音,如喜爱的歌曲、播客甚至通话直接转移到 HomePod4。房间中的任何人都可以拿着 iPhone 靠近 HomePod,播放建议会自动出现在 iPhone 屏幕上,从而轻松控制音频播放或获取个性化歌曲与播客推荐。HomePod 还能识别最多 6 个用户的语音,让所有家庭成员都能轻松聆听## 私人歌单、设置提醒和日历事项。 + +HomePod 的“查找”功能可以让遗落的设备播放声音,帮用户定位 iPhone 等 Apple 设备。用户还能向 Siri 询问好友或家人的位置(需要对方在“查找”app 中选择共享自己的位置)。 + + + +## 智能家居必备 + +依托声音识别功能5,HomePod 可以听到烟雾或一氧化碳警报声,识别出此类声音后,直接向用户的 iPhone 发送通知。全新的内置温度和湿度感应器可衡量室内环境,让用户设置自动化操作,例如房间内到达一定温度时关上窗帘,或者打开风扇。 + +通过 Siri,顾客无需动手就能控制单一设备,或者创建场景,例如让多个智能家居设备在早上同时开始工作,或者设置反复出现的自动化操作,例如“嘿 Siri,每天早晨日出时打开窗帘6”。当用户通过 Siri 操控暖气等未能以肉眼分辨是否已开关的配件,或者操控位于不同房间的配件时,HomePod 会发出新的确认音效。经过重制的海洋、森林、雨声等环境音效将进一步整合到体验中,让顾客可以为场景、自动化和警报添加新的声音。 + +用户也可以在重新设计的家庭 app 中直观地操控、查看和管理配件。家庭 app 提供了“环境”、“灯”和“安全”等新类别,并提供全新多机位视图,让用户轻松设置和控制智能家居。 + + + +## Matter 支持 + +去年秋季推出的 Matter 连接标准确保智能家居产品在跨生态系统工作时保持最高级别的安全。Apple 是 Connectivity Standards Alliance(连接标准联盟)成员,该联盟与其他行业领导者一起维护 Matter 智能家居连接标准。HomePod 可连接并支持 Matter 的配件,担任家居中枢,让用户出门在外也能远程控制。 + +## 顾客数据属于私有财产 + +保护顾客隐私始终是 Apple 的一项核心价值观。所有智能家居设备之间的通信始终保持端到端加密,包括 HomeKit 安防视频摄像头录制的内容,均无法被 Apple 读取。使用 Siri 时,请求音频默认不会被存储。这些功能确保让用户居家隐私得到保障。 + +## HomePod 与环境 + +HomePod 致力于最大程度地降低对环境的影响,在多个印刷电路板的电镀层中使用 100% 再生金(对 HomePod 而言尚属首次),且在扬声器磁体中使用 100% 再生稀土元素。HomePod 符合 Apple 对能效的严苛标准,且不含汞、溴化阻燃剂(BFR)、聚氯乙烯(PVC)和铍。经重新设计的包装材料不再使用塑料外膜,96% 的包装材料采用纤维基,让 Apple 更加接近 2025 年底前在包装中完全去除塑料的目标。 + +目前 Apple 已实现全球公司运营碳中和,并计划到 2030 年实现全部供应链和所有产品生命周期 100% 碳中和。这意味着每一部售出的 Apple 设备,从零件制造、组装、运输、用户使用、充电,直到设备和材料回收的所有环节,都将实现净零气候影响。 + +## 价格与上市时间 + +HomePod(第二代)售价为 RMB 2299 (中国大陆),今日起通过 apple.com.cn/store 及 Apple Store app 对澳大利亚、加拿大、中国大陆、法国、德国、意大利、日本、西班牙、英国、美国及其他 11 个国家和地区的顾客开放订购,并于 2 月 3 日(周五)起正式发售。 +HomePod(第二代)支持运行 iOS 16.3 或后续系统的 iPhone SE(第二代)及后续机型或 iPhone 8 及后续机型;运行 iPadOS 16.3 的 iPad Pro、iPad(第五代)及后续机型、iPad Air(第三代)及后续机型或 iPad mini(第五代)及后续机型。 +购买 HomePod 的新用户,即可获享 6 个月 Apple Music 免费订阅服务。 + +## 关于 Apple + +Apple 于 1984 年推出 Macintosh,为个人技术带来了巨大变革。今天,Apple 凭借 iPhone、iPad、Mac、Apple Watch 和 Apple TV 引领全球创新。Apple 的 5 个软件平台,iOS、iPadOS、macOS、watchOS 和 tvOS,带来所有 Apple 设备之间的顺畅使用体验,同时以 App Store、Apple Music、Apple Pay 和 iCloud 等突破性服务赋予人们更大的能力。Apple 的 100,000 多名员工致力于打造全球顶尖的产品,并让世界更加美好。 + +## Apple Music 需要订阅 + +多房间音频需要多个 HomePod 或支持隔空播放并运行最新版本隔空播放软件的扬声器。 +组建 HomePod 立体声组合需要两个相同型号的 HomePod 扬声器,例如两个 HomePod mini,两个 HomePod(第二代)或两个 HomePod(第一代)。 +在 iPhone 上使用接力功能需运行 iOS 16.3。 + +声音识别功能会在今春稍晚通过软件更新推出。声音识别功能可以探测烟雾和一氧化碳警报声,并在识别后向用户发送通知。当用户身处可能受到伤害的环境中,或在高风险或紧急情况下,均不应依赖声音识别功能。声音识别功能需要更新版家庭架构,该架构将在家庭 app 的独立更新中推出。它要求所有连接家居配件的 Apple 设备均使用最新版本软件。智能家居配件需单独购买。 diff --git a/themes/itheme/exampleSite/content/posts/apple-launches-freeform-a-powerful-new-app-designed-for-creative-collaboration.md b/themes/itheme/exampleSite/content/posts/apple-launches-freeform-a-powerful-new-app-designed-for-creative-collaboration.md new file mode 100644 index 0000000..6101ddc --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/apple-launches-freeform-a-powerful-new-app-designed-for-creative-collaboration.md @@ -0,0 +1,52 @@ +--- +title: 'Apple 推出为头脑风暴和创意协作设计的全新强大 app 无边记' +date: '2023-02-27T13:06:38+08:00' +draft: true +description: 'iPhone、iPad 及 Mac 版无边记让视觉化协作更轻松。' +author: 'Apple Newsroom' +cover: 'https://www.apple.com.cn/newsroom/images/product/apps/standard/Apple-Freeform-hero_big.jpg.large_2x.jpg' +tags: ["新闻稿", "Apple", "无边记"] +theme: 'light' +featured: false +--- + + +无边记是一款全新 app,今日正式推出,包括 iOS、iPadOS 和 macOS 最新版本。无边记帮助用户在灵活多用的画布上管理并以视觉方式展示内容,在同一个地方查看、共享与协作,而不必考虑排版或页面大小问题。用户无需离开画板,即可添加不同类型的文件并实时预览。无边记为协作而设计,让用户更轻松地邀请他人在同一块白板上工作还能在 FaceTime 通话期间与他人协作。无边记白板存储在 iCloud 上,用户可以在不同设备间同步内容。 + +“无边记为 iPhone、iPad 和 Mac 用户进行视觉化协作开启了无限可能。”Apple 全球产品营销副总裁 Bob Borchers 表示,“无边记带来了无边无际的画布,支持上传多种不同类型的文件,集成了 iCloud,还提供了诸多协作功能,为用户随时随地创建头脑风暴的共享空间。” + +## 为创意设计的画布与易用工具 + +无边记为用户提供了绝佳的白板体验,在同一个地方汇聚灵感创意。无边无际的画布会随着内容添加到白板上而不断扩展,让用户在处理很多文件或与他人协作时获得无限灵活性。通过内置手势支持,用户可以在白板各处流畅转移。 + +这款 app 提供了多种画笔类型和颜色选项,供用户描绘创意、添加注释、绘制图表。iPhone 与 iPad 用户可以在画布上的任意地方用手指作画;无边记还支持 Apple Pencil,让用户更轻松地随时随地在 iPad 上描绘灵感。 + + + +iPad Pro 上的无边记中展示着随手写笔记和一系列绘画工具。 +无论使用随手写记笔记、用绘画工具画图、用蜡笔或填充工具填色,无边记用户都能让创意进入新境界。 +无边记支持大量文件类型,包括照片、视频、音频、文档、PDF、网站链接和地图地点链接、便签、图形、图表等等。用户还可以利用 iPhone 和 iPad 摄像头直接在白板中插入图片或扫描文档。无边记还提供了全面的图形素材库,包括 700 多种可选图形,用户可以改变这些图形的颜色和大小、添加文本,甚至创建个性化图形。 + +用户可以将内容从文件和访达等 app 拖放至画板,并通过内置对齐指导轻松保持画板整洁有序。用户只需轻点两下,不必离开画板即可通过速览预览内容,还能同时播放多个视频文件,创建动态视图。图片和 PDF 等内容可以在画板上锁定位置,协作者可以在对象上方或周围添加注释,这意味着无边记极为适合用来为建筑平面图或家装计划描绘灵感,或者供教练在篮球战术板上布置战术。 + +iPad Pro 的无边记画板支持多种类型的文件。 +无边记画板支持多种类型的文件,用户无需离开画板即可实时预览,特别适合为学校项目汇集文档或者规划下一次旅行。 + + + +## 协作空间 + +无论用户在办公室或是出门在外,无论是独立工作还是与他人协作,无边记都能派上大用场。无边记支持多人在同一块白板上协作,为集体项目或与好友规划度假方案创造共享创意空间。 + +利用信息 app 的全新协作功能,用户只需将无边记画板拖入信息对话串就能邀请他人在白板上展开协作。对话串的所有成员都会自动被邀请加入画板,马上开始协作。有人编辑内容后,活动更新会出现在信息对话串顶部。 + +这款 app 内置了 FaceTime 通话功能,用户使用无边记时,轻点屏幕右上角的协作按钮,即可发起 FaceTime 通话。依托快速同步功能和 iCloud 集成,所有协作者都可以查看其他人添加的内容或者改动。无边记白板会在 iPhone、iPad 和 Mac 间同步,用户可以通过链接或电子邮件邀请他人,还能以 PDF 格式导出画板,或者截取屏幕。 + +iPad Pro 上,无边记正在使用 FaceTime 通话协作功能。 +依托 FaceTime 和 iCloud 集成,无边记为协作而设计,帮助用户更轻松地邀请他人在画板上共同工作。 + + + +## 推出时间 + +今日起,所有支持 iOS 16.2、iPad OS 16.2 或 macOS Ventura 13.1 的 iPhone、iPad 及 Mac 均可免费下载无边记。 diff --git a/themes/itheme/exampleSite/content/posts/apple-reports-first-quarter-results.md b/themes/itheme/exampleSite/content/posts/apple-reports-first-quarter-results.md new file mode 100644 index 0000000..ee6d46a --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/apple-reports-first-quarter-results.md @@ -0,0 +1,18 @@ +--- +title: 'Apple 公布第一季度业绩' +date: '2023-01-17T13:06:38+08:00' +description: '活跃设备现有使用量突破 20 亿大关,在所有主要产品类别均创下历史新高' +author: 'Apple Newsroom' +draft: true +cover: 'https://www.apple.com.cn/newsroom/images/apple-logo_black.jpg.landing-regular_2x.jpg' +tags: ["新闻稿", "Apple", "财报"] +theme: 'light' +--- + +加利福尼亚州,库比提诺 Apple 今日发布了截至 2022 年 12 月 31 日的 2023 财年第一季度财务业绩。公司公布本季度营收达到 1172 亿美元,同比下降 5%。本季度稀释后每股收益为 1.88 美元。 + +“在继续应对挑战性环境的同时,我们很自豪能推出迄今最出色的产品和服务。与以往一样,我们继续致力于放眼长远,在一切行动中贯彻我们的价值观。”Apple CEO Tim Cook 表示, “在 12 月季度,我们达成了一项里程碑式的成就:我们很高兴地宣布,我们的活跃设备现有使用量已经突破 20 亿大关。” + +“我们的服务业务营收创下历史新高,达 208 亿美元。尽管宏观经济环境不景气且供应严重受限,按固定汇率计算的公司营收仍然有所增长。”Apple CFO Luca Maestri 表示,“我们本季度创造了 340 亿美元的经营现金流,向股东返还了超过 250 亿美元,并继续投资支持我们的长期增长计划。” + +Apple 董事会已宣布派发每股 0.23 美元的公司普通股现金股息。股息将于 2023 年 2 月 16 日派发给所有在 2023 年 2 月 13 日收市时已登记在册的股东。 diff --git a/themes/itheme/exampleSite/content/posts/apple.md b/themes/itheme/exampleSite/content/posts/apple.md new file mode 100644 index 0000000..c450953 --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/apple.md @@ -0,0 +1,84 @@ +--- +title: '从农场到海洋:保育红树林,维系当地人生计,保护地球 ' +date: '2023-03-01T13:06:38+08:00' +draft: true +description: 'Apple 与 Applied Environmental Research Foundation 合作,将促进印度马哈拉施特拉邦红树林的保育工作' +author: 'Apple Newsroom' +cover: 'https://www.apple.com.cn/newsroom/images/values/environment/Apple-Earth-Day-India-mangrove-Alibaug-canoe_Full-Bleed-Image.jpg.large_2x.jpg' +tags: ["特写", "环保", "Apple", "印度", "红树林", "保育", "新闻稿"] +theme: 'dark' +--- + + + +在马哈拉施特拉邦繁华的滨海城市孟买以南仅约 96 公里的地方,出现了一个截然不同的世界。繁华都市的摩天大厦、餐厅、酒店、购物区、不计其数的“嘟嘟车”与现代汽车逐渐消失,未铺装的道路、棕榈树、山羊、拉车的牛、小型露天市场和路边餐馆出现在视野里。 + +Raigad 县的 Alibaug 连接了孟买与通向阿拉伯海的河网。海岸地区长有 21000 公顷红树林。红树林是地球最为天然的守护者之一,能够抵御气候变化带来的种种影响,包括突如其来的暴雨、海潮上升、热带气旋或飓风,甚至海啸。同时,红树林还能起到碳汇的作用,吸收大气中的二氧化碳,并将其存储在土壤、植物和其他沉积物中,这一机制被称为“蓝碳”。 + +Applied Environmental Research Foundation(AERF)在 2021 年获得了 Apple 的资助。该组织正在这一地区进行探索,计划通过在当地社区中创设可持续的替代行业,来培育红树林生态系统的生物多样性与适应能力并从中受益,从而保护红树林的未来。保护协议将向当地村民提供持续性支持,以换取对土地的保护,并促进当地经济转型,使之有赖于保持红树林的完好与健康。 + + + + + +AERF 还将从保护国际基金会(Conservation International)2018 年启动的哥伦比亚 Cispatá 试行蓝碳项目获得的经验应用到印度的红树林。 + +“对抗气候变化,是在为全球各地受这场危机影响最严重的社区而奋斗。从哥伦比亚到肯尼亚,再到菲律宾,人们的生活和生计饱受气候变化的威胁,这也正是我们工作的重点。”Apple 环境、政策与社会事务副总裁 Lisa Jackson 表示,“我们在印度的新的合作项目延续了这一努力,帮助当地社区从红树林的保育中收获经济利益,并抵御气候变化的恶劣影响。” + +AERF 主席 Archana Godbole 从小就热爱大自然。“植物代表了年龄与时间,”她表示,“而树木则代表了耐心。它们是时间的无声观众——我越是研究树木、了解树木,就越在它们面前感到渺小。我的经历让我逐渐意识到,我想为保护和拯救树木与森林而工作。” + + + + +专业植物分类学家 Godbole 在过去三十年间一直致力于以社区为基础的环保工作。在 Raigad 县,AERF 正在寻求与当地社区达成环保协议。由于海水侵袭和人造堤坝的损毁,当地居民的作物与农田的损失惨重。 + +“这里世代居住的人们本是农民,但突然之间海洋来到了他们的门口。”Godbole 说道,“人们学会了新的技巧,来应对新的局面。现在我们已经知道红树林在应对气候变化与碳封存方面作用非常重要。我们很高兴能来到这里,努力与当地居民合作,让红树林为他们带来更多福祉。我们满怀信心地期待,他们能够在心中建立与土地和红树林的深厚联系。” + +下面,我们可以看到这些村庄的面貌,以及被很多人称之为家的社区面对日益严峻的环境灾害所表现出的适应能力。 + + + +Karanjveera 是一个小型内陆村庄,也是许多农民和渔民及其家人的家园。当地渔民通常以捕捞小虾蟹为主。Namdev Waitaram More 是村里的长者,也是传统捕鱼技术的行家。75 岁高龄的 More 一生都与红树林和谐共处,并深深尊敬它们抵御海水侵袭稻田的保护能力。 + +More 正与表弟帮助其他社区成员与 AERF 联系,探讨村中盐沼和红树林保育问题。“红树林就像海绵。”他说道,“人们与这里的红树林关系密切。如果红树林没了,我们的堤坝就没了,我们的稻田也就没了。因为我们通过食物、堤坝和红树林相连,我们才得以生存。” + + + +Usha 和儿子 Tushar Thakur 都是 Hashiware 的农民。这个村庄位于 Amba 河畔,自从本地堤坝于 1990 年溃决后,这里的农田就一直淹没在海水之下。这里现已被红树林覆盖,但往日的残留依稀可见,遭弃置的房屋矗立在泥水中,距离河岸仅有几米。Thakur 是首批与 AERF 签订红树林保护协议的村民之一。 +从 1996 年开始,曾经属于 Hashiware 村农民的农田就已被红树林覆盖。 + +“通过我们的工作与对红树林重要性的警示,以及创造可持续创收活动的机会,我们为 Raigad 县的沿海社区带来了希望。”AERF 的 Godbole 介绍道。 + + + +红树林保护印度沿海村庄的能力在近年得到了展现。2004 年,印尼海底强烈地震引发的多重海啸对印度东海岸造成了冲击。从那时起,人们意识到红树林是本地社区的无声守护者,吸收着巨浪的震撼,保护着岸边的村庄。在过去几年间,强热带气旋越来越频繁地侵袭这一地区,包括 2020 年的 Nisarga 和 2021 年的 Tauktae。在 Raigad 县,村民们正在努力保护红树林,从而保护自己的生计与福祉。 + + + +在 Ganesh Patti 村,农民们同意各人负责一部分堤坝的维护,将农田与红树林和河岸分离。但个人的维护工作还不够。当地渔民 Mangesh Patil 的家现已毁坏,被红树林所围绕。海浪和越来越高的海潮逐渐毁掉了他的房子。 +但在这个已消失的村落的村民看来,一切似乎发生在一夜之间。 + +“一天晚上,大家都睡了,夜潮来了,突然之间海水侵入,我们的床铺都湿透了。第二天早晨,我们意识到,整个村子都被淹了。” +潮水退去后,居民们清点了土地和生计的损失——他们明白,自己必须从零开始了。迁移到邻近的村庄后,Patil 和他的兄弟等许多人都还是决定继续返回自己的老家,回到自己的印度教寺庙,在曾是儿时家园的水中捕鱼捞蟹。 + +“无论大自然给人类什么样的条件,我们都应该学会生存。”Patil 说道,“我们就是这样做的。现在,我们与这些红树林之间已经建立了联系。这里是我们出生的地方,我们在这里很开心。所以我们总是会回到这里。” + + + +在与当地村庄签署环保协议提供资金支持的同时,Apple 的拨款还将用于购买与分发便携生物质炉具,让人们不再需要砍伐红树林,也能生火做饭。 + + + + +来自 Pen Vashi 的渔民 Bhavik Patil 十分熟悉与红树林相关的生计,他帮助 AERF 在 Raigad 县的村庄中与村民探讨相关问题。出生在渔业家庭的 Patil 记得自己小时候,父母会在下河工作前,在红树上绑上秋千,让他和兄弟玩耍。现在,在捕鱼捞蟹之余,他也和很多人一起,与 Mothe Bhal 和 Vithalwadi 等村庄的村民就保护和可持续利用红树林的问题展开磋商。为了保护红树林,他和同伴请求村民收集从树木上自然掉落的干燥树枝。 + + + + +对 AERF 的许多成员来说,保护红树林不仅仅是一项工作,更是他们的激情所在。Godbole 和联合创始人 Jayant Sarnaik 27 年前创建了这个组织,并持续致力于通过当地人参与的方式实现环保使命。 + +“对于生活在近海地区的社区来说,构建抵御气候变化的适应能力是一项持续工作。”AERF 的 Sarnaik 表示,“这些社区在海岸生活了很长的时间,他们非常了解海洋,以及海洋和气候的关系。气候变化对他们来说并不是新鲜事;然而,他们在过去 5 到 10 年间也经历了剧烈的变化。近年的热带气旋让这里的人们认识到了红树林的重要性。面对这些灾害,红树林是最强有力的自然防线。同时,它也在更广泛的范围内唤醒了人们对于红树林重要意义的认识。 + +正如 Godbole 所言,未来值得期待。“与 Apple 和保护国际基金会的合作是一次绝佳的机会,探索红树林保育和社区福祉的互惠互利。”她表示。“虽然红树林保育问题在各地有所差异,但在我们的项目所在地,也存在着很多机遇。培训满怀热情的年轻团队和本地社区关于蓝碳的知识,定会帮助我们在阿拉伯海沿岸这一充满生机的地区实现红树林保育方面的长足进展。” + +Apple 致力于帮助全球各地受气候变化冲击最严重的社区培育适应能力,获取经济收益。去年,公司与保护国际基金会合作,支持创办了同类首创的“无法复原的碳金融实验室”,旨在保护全球最脆弱的生态系统,并与中国绿色碳汇基金会合作,资助相关研究及试行项目,在中国建立更多天然碳汇。此外,在世界地球日当周,顾客每次通过 apple.com、Apple Store app 或在 Apple Store 零售店使用 Apple Pay 购物,Apple 都将向世界自然基金会(WWF)捐出 1 美元。通过此举,Apple 向 WWF 的 Climate Crowd 项目提供支持。该项目旨在促进社区对环境变化的适应能力与可持续生计。 diff --git a/themes/itheme/exampleSite/content/posts/battle-testing-unreal-engine-5-1-s-new-features-on-fortnite-battle-royale-chapter-4.md b/themes/itheme/exampleSite/content/posts/battle-testing-unreal-engine-5-1-s-new-features-on-fortnite-battle-royale-chapter-4.md new file mode 100644 index 0000000..5391a3c --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/battle-testing-unreal-engine-5-1-s-new-features-on-fortnite-battle-royale-chapter-4.md @@ -0,0 +1,118 @@ +--- +title: 'UE5.1新功能在《堡垒之夜:大逃杀》第四章中的实战测试' +date: '2022-10-27T13:06:38+08:00' +draft: true +description: '在这篇博客文章中,我们将着眼于一些虚幻引擎5功能,它们得益于《堡垒之夜:大逃杀》第四章的检验,已经变得更加完善了;我们还据此对UE 5.1做出了改进,这将帮助你创建更加精致和快速的开放世界游戏。' +author: '虚幻引擎官网' +cover: 'https://cdn2.unrealengine.com/unreal-engine-5-1-features-for-fortnite-chapter-4-header-1920x1080-2e96869442d6.jpg?resize=1&w=1920' +tags: ["功能", "虚幻引擎", "游戏"] +theme: 'dark' +--- + + + + +十二月初,当《堡垒之夜:大逃杀》第四章第一赛季发布时,玩家很难不注意到视觉保真度和细节得到了质的提升。这并不是巧合,通过虚幻引擎5.1,游戏的最新章节利用了虚幻引擎5最具创新性的全新功能,如Lumen、Nanite、虚拟阴影贴图和时序超级分辨率等等。 + +《堡垒之夜:大逃杀》第四章出色地展示了Epic Games“吃自家狗粮”的决心,我们在真正的游戏开发压力下对新功能做出了实战测试。这一举措促使我们改进了在UE 5.0中引入的创新功能集,它们随后被交付给了《堡垒之夜》团队使用。 + +我们之前通过《黑客帝国觉醒:虚幻引擎5体验》对UE5中的功能进行了测试,在最新一代的主机上以30FPS的帧率展示了一座逼真的城市。在《堡垒之夜:大逃杀》第四章中,开发团队面临着新出现的挑战:确保游戏在所有平台上以60FPS的帧率运行,同时在以建设和破坏为特色的大型动态开放世界中提供当今玩家所期望的质量——高标准的风格化画面、精致的植被以及昼夜循环。 + +在这篇博客文章中,我们将着眼于一些在第四章中得到检验并因此获益良多的功能。我们还会提供一些深层次文章的链接,它们更加详细地介绍了我们对Lumen、Nanite和虚拟阴影贴图的改进,探讨了我们从《堡垒之夜:大逃杀》第四章的工作中所汲取的经验,我们相信这些经验将有助于你使用虚幻引擎5创建更加精致、快速的开放世界游戏。 + +## Lumen + +Lumen是虚幻引擎5中新引入的实时全局光照和反射解决方案。Lumen使用硬件和软件光线追踪提供逼真的间接反射光照、反射和阴影,它们能够对直接光照和几何体的变化做出动态反应。举例而言,你可以通过Lumen实现:一面蓝色的墙,为附近所有物体或角色带来一丝蓝色色调;黄金时刻的阳光穿过一扇窗户,在没有任何局部光源的情况下照亮整间房屋;当一扇外门被打开时,光线进入房间。 + +我们针对《堡垒之夜:大逃杀》第四章,在虚幻引擎中改进了Lumen的许多方面。我们优化了整个系统,使我们能够在支持Lumen的平台上实现60FPS的帧率,同时极大地提高间接光照和反射的质量。 + +《堡垒之夜》的世界充满了树木和草地,这是一片理想的试验场,让我们能够改进Lumen间接光照在这类环境中的质量。 + + + + +## Nanite +Nanite彻底改变了美术师和设计师构建虚拟世界的方式,它在突破几何细节极限的同时也简化了创作过程。美术师不再需要考虑网格体LOD或给定对象的正确多边形数量,即可实现最佳视觉质量和性能。 + +在UE 5.0中,Nanite出色地实现了不透明的刚性几何体,《堡垒之夜》的城市环境充分利用了这一点。无论镜头拉得多近,经过建模的砖块、木材和窗户装饰都能展示复杂的细节。 + +从UE 5.1开始,Nanite支持了全局位置偏移和遮罩材质,《堡垒之夜》的美术师能够在极精致的动画树木和树叶上使用这项技术。树叶和草叶被建模成了随风自然摇曳的几何体。为了确保在任意渲染距离都能保留所有重要的茂盛细节,我们还引入了一种让Nanite简化植被几何体的新方法。 + + + +## 虚拟阴影贴图 + +虚拟阴影贴图(VSM)与Nanite相结合,将美术师在《堡垒之夜:大逃杀》第四章中添加的所有复杂几何细节凸显了出来。与传统的级联阴影贴图相比,VSM最大的优势在于,无论物体是近在玩家眼前,还是远在地平线上,它都能提供接近像素级精度的阴影细节。 + +新的《堡垒之夜》几何体为我们带来了一个难题:我们需要进一步改进VSM,使其与植被及当日时间动态系统相配合——对于我们之前为提高性能而采用的许多阴影缓存方案来说,此二者成了一道阻碍。当然,这一切都必须符合60FPS的预算。 + +《堡垒之夜》现在也在室内使用了许多较小的局部光源,如电灯或天花板顶灯。VSM缓存在这些地方表现出色。像这样大量使用局部光源让我们有机会在UE 5.1中进一步提高VMS的性能。我们可以通过“单通道投射”选项单次批量化处理许多光源的阴影更新,从而提高GPU的利用率。我们还建立了启发式方法,将远距离光源的阴影更新分摊到多个帧中。 + + + +## 局部曝光 +Lumen允许美术师创造出对比度极高的场景,例如,在非常暗的房间中透过窗户看到明亮的室外,或者在同一视图中,房屋表面被明亮的天空和太阳照亮,而室内几乎漆黑一片。对于这种视图,单一的曝光值效果不佳:明亮区域最终会出现过度曝光,而黑暗区域则会近乎全黑,无法看清。 + +UE5中的曝光系统针对《堡垒之夜:大逃杀》第四章做出了改进,提供了更多工具让美术师实现其所需的美术方向,同时也带来了更出色的性能。美术师现在可以分别控制局部曝光在高光和阴影中的应用,这有助于在高动态范围光照条件下保留细节。除此之外,局部曝光与后期处理管线中的其他部分(尤其是泛光和镜头光斑)更加深入地整合到了一起,使结果更加一致。 + +我们还新支持了在忽略材质属性的同时,基于照度计算自动曝光。这有助于材质在不同的光照条件下保持外观的一致,并提高游戏过程中的图像稳定性。 + +## 时序超级分辨率 +时序超级分辨率(TSR)通过将一些成本高昂的渲染计算分摊到多个帧中,使我们能够大幅削减渲染漂亮4K图像的成本。考虑到《堡垒之夜:大逃杀》第四章60FPS的目标,我们需要对TSR做出许多性能和质量上的优化。因此,UE 5.1中的TSR比我们在UE 5.0中发布的版本更好,也更快。我们还改进了TSR依据配置文件(低级、中级、高级和史诗级)对性能和质量的调整范围。 + +我们会在即将发布的一篇博客文章中深入探讨这些改进的技术细节。 + +## 云层 +为了配合《堡垒之夜:大逃杀》第四章中视觉保真度的飞跃,我们改进了虚幻引擎5.1中云层渲染的质量。为了满足严格的性能预算,UE5在内部会以较低的分辨率渲染云层,并对其进行向上采样。以前,这会导致遮挡了背景云层的前景网格体周围产生不完整的边缘,致使明亮的天空颜色在边缘处渗透出来。在UE 5.1中,我们可以更好地解决全分辨率下云层向上采样的问题,不会出现这种渗透。我们还改进了当网格体从云层前穿行而过时,对云层的时序重建工作,有效地减少了因移除遮挡而产生的尾迹。 + + + +## Niagara +《堡垒之夜》利用Niagara视效系统创造了由美术师主导的程序化破坏效果。Niagara能够对游戏做出反应,每当武器击中目标时,都能生成并准确模拟飞溅的碎片。 + +《堡垒之夜:大逃杀》第四章中新推出的高保真火焰使用基于体素的传播机制,更好地表现了火焰在表面和地形上的蔓延,同时还支持在载具及物理对象间传播火焰。为了正确放置火焰,并将其对准到燃烧表面,该系统使用了在引擎内部经过烘焙的Niagara流体模拟,并将其应用到了Niagara粒子中(数据读取自火焰游戏系统)。 + + + +## 对世界构建的支持 +随着第四章的发布,《堡垒之夜:大逃杀》现在在每个平台上都使用了UE5最新的世界构建和自动流送解决方案。其中包括世界分区、数据层、关卡实例、自动HLOD以及一Actor一文件。这套工具集有助于建立更具协作性的工作流程,并提升关卡设计师和美术师构建世界的效率。 + +与《堡垒之夜》之前版本中使用的自定义流送解决方案相比,目前方案最大的一个不同之处是,新的世界分区系统实现了自动化,开发者需要付出的时间更少了,同时,HLOD的过渡也更加稳定,提供了更好的整体游戏体验。 + +第四章包含超过10万个Actor文件,为了更有效地处理如此之多的文件,我们改进了变更列表窗口,增加了新的用户体验和新的非受控变更列表类型,并将它与场景大纲视图和主视口更好地集成在了一起。 + +为了给第四章提供支持,我们做的进一步改进是在寻路网格体(静态和动态)的生成功能中添加对世界分区的支持。这意味着你可以加载一个世界单元,为其生成寻路网格体,将其序列化,然后卸载该单元并继续处理下一单元。 + +在UE 5.1中,所有开发者都可以使用这些经过改进的功能,并且,随着《堡垒之夜》团队不断对这些功能展开实战测试,我们可以期待在未来版本中看到进一步的改进。 + + + + +## 智能对象和状态树 +智能对象允许AI在关卡中选择一个对象或区域,并动态注入行为。相关的数据和配置(如动画)会被存储在对象中,而不是代理中,这实现了大量代理之间的共享,促成了更高效的内存利用和更出色的性能,无需编辑核心行为即可更灵活地扩展默认行为。 + +状态树是一种可扩展的通用状态机,它在灵活的决策树结构(以及直观而紧凑的用户界面)中结合了经典的状态机机制,同时保留了高性能。 + +这两项技术在UE 5.0版本中是作为实验功能发布的,但经过《堡垒之夜:大逃杀》第四章中的成功部署后,它们在5.1版本中已进入生产就绪状态。在第四章之前,智能对象只被用于让AI播放简单的动画或表情。通过在智能对象流程中整合状态树,我们成功地实现了更复杂、更丰富的机器人行为,例如机器人与《堡垒之夜》篝火互动的方式。 + + + + +## 更高的开发者效率 +我们一直在寻找提高开发者效率的方法,让他们可以专注于创作过程。《堡垒之夜》采用了新的图形技术,如磁盘空间占用量更大的Nanite,这为我们带来了一项挑战:寻找方法减少团队加载游戏或从Perforce获取内容的时间。 + +庞大且分布于多个地点的《堡垒之夜》团队从新的虚幻云DDC中获益匪浅,这是一个为派生数据缓存建立的全球高效模型,允许团队成员快速访问纹理或网格体等内容的优化版本,消除了在本地进行处理的需要。因此,《堡垒之夜》中的编辑器加载时间至少快了2倍。 + +虚拟资产减少了内容的磁盘占用量,从而将《堡垒之夜》单个工作空间的同步时间缩短了四倍以上;通过删除多个工作空间共用的重复数据,我们甚至还可以节省更多磁盘空间和同步时间。我们从虚幻资产较小的类属性(如纹理分辨率和格式等)中剥离出了原始纹理像素等大体积数据,并将它们分开存储。从表面看,虚拟资产与普通虚幻资产并没有区别,但是它们要小很多倍。开发者的工作流程几乎无需做出改变,而客户端只在需要时才会下载要在编辑器中使用的数据,显著减少了等待Perforce进行同步的时间。 + +## 机器学习 +虚幻引擎的机器学习(ML)变形器允许你使用自定义的Maya插件训练将在虚幻引擎中实时运行的机器学习模型,为复杂的专有绑定(或任意变形)创建高保真的近似模拟。 + +在第四章中,《堡垒之夜》团队使用ML变形器实现了更高质量的角色肌肉和布料变形,Hulk和Sunlit是第一批从中受益的角色。团队能够通过外部DCC工具捕获复杂的变形和模拟,并将几何结果注入它们的游戏绑定。这次实战测试的结果是,ML变形器在UE 5.1中从实验版升级到了测试版,同时,团队与ML变形器的工程师展开了密切合作,使该技术有机会得到进一步完善,他们计划在UE 5.2中增加新功能和稳定性修复。 + +## MetaHuman框架 +在第四章中,《堡垒之夜》团队与3Lateral及MetaHuman团队的开发者密切合作,升级了《堡垒之夜》角色的面部动画功能。其中包括一些对角色质量的更新,例如增加了新角色的表情和关节数量,创建了新的绑定和动画工具,将面部动画推向了新的高度。 + +因此,虚幻引擎5.1改进了绑定逻辑的运行时功能,将性能开销控制在了约束范围内,还专门创建了重映射节点,为《堡垒之夜》中MetaHuman技术的向前和向后兼容性提供了支持。 + +我们希望你喜欢我们在《堡垒之夜:大逃杀》第四章的开发过程中对虚幻引擎5.1做出的所有改进,并发现它们有助于你将游戏的视觉保真度提升到新水平。我们期待看到结果!
\ No newline at end of file diff --git a/themes/itheme/exampleSite/content/posts/captured-on-iphone-14-photographers-inspire-iphone-users-to-capture-portraits-landscapes-city-scenes-and-stunning-videos.md b/themes/itheme/exampleSite/content/posts/captured-on-iphone-14-photographers-inspire-iphone-users-to-capture-portraits-landscapes-city-scenes-and-stunning-videos.md new file mode 100644 index 0000000..dd14084 --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/captured-on-iphone-14-photographers-inspire-iphone-users-to-capture-portraits-landscapes-city-scenes-and-stunning-videos.md @@ -0,0 +1,65 @@ +--- +title: '用 iPhone 14 拍摄:摄影佳作激发创作灵感,定格精彩人像、自然与城市风光' +date: '2022-11-27T13:06:38+08:00' +description: '' +draft: true +author: 'Apple Newsroom' +cover: 'https://www.apple.com.cn/newsroom/cn/images/product/iphone/lifestyle/Apple_Shot-on-iPhone-14-models_iPhone-14-Pro-Max-with-the-Main-Camera-by-Xiaobei-Fuzhou_12192022_Full-Bleed-Image.jpg.xlarge_2x.jpg' +tags: ["新闻稿", "Apple", "iPhone 14", "摄影"] +theme: 'dark' +--- + + + + + +通过 iPhone 14 Pro Max,iPhone 14 Pro,iPhone 14 以及 iPhone 14 Plus 上突破性创新的摄像头系统,中国的摄影师们拍摄并分享令人惊艳的照片和视频,以此激励更多 iPhone 用户在即将到来的节日假期中捕捉亮丽的城市景观、迷人的自然风光,并记录下与亲人相聚的难忘时刻。 + + + + + +iPhone 14 和 iPhone 14 Plus 为摄影和摄像设立了新标准,搭载具备更大感光元件和像素尺寸的 1200 万像素主摄、首次配备自动对焦功能并采用 ƒ/1.9 光圈的全新前置原深感摄像头,以及超广角摄像头用于拍摄更宽广的场景。除此之外,光像引擎也带来低光表现的巨大跃升。 + +通过软硬件深度集成,光像引擎能够提升所有摄像头在中低光环境下的照片表现:超广角摄像头表现提升可达 2 倍,原深感摄像头表现提升可达 2 倍,全新主摄表现提升可达 2.5 倍。iPhone 14 系列还推出全新的运动模式——即使在大幅的抖动和运动中,也能轻松拍摄无比丝滑的视频。 + + + + + + + +iPhone 14 Pro 和 iPhone 14 Pro Max 上搭载的 Pro 级摄像头系统挑战 iPhone 影像的能力极限。iPhone 14 Pro 首次采用搭载四合一像素传感器的全新 4800 万像素主摄,同时配备光像引擎使细节的丰富程度达到前所未有的高度。 + + + + + +从日常到专业使用,iPhone 14 Pro 上推出的摄像头系统将为每一位用户赋能,令他们的照片和视频更出彩。全新 4800 万像素主摄采用四合一像素传感器,可根据拍摄照片进行调整,还具备第二代传感器位移式光学图像防抖功能,全面提升图像质量。这有利于复杂光线环境下的拍摄,尤其在低光条件下也能拍摄到优质的影像。此外,用户现可以用 4800 万像素拍摄 ProRAW 影像,利用每一个像素,为专业用户实现全新的创意工作流。 + + + + + + +加上超广角和长焦摄像头一起,iPhone 14 Pro 现在支持 0.5 倍、1 倍、2 倍和 3 倍共计四个变焦选项 ,使用户无需牺牲画面质量,即可在拍摄照片和视频时拥有更多取景选项。丰富的焦距范围可以轻松应对多种场景,足之所至,即成佳作。四合一像素传感器还支持 2 倍长焦选项,利用该传感器正中的 1200 万像素拍摄全分辨率照片和 4K 视频,无需数码变焦。该选项能够以常用焦距带来光学品质成像,对于人像模式等功能来说非常实用。 + + + + +强大的 A16 仿生芯片和配备 5 核图形处理器的 A15 仿生芯片,是驱动强大功能的幕后功臣,如运动模式让摄像师轻松实现更加稳定、丝滑的视频画面,电影效果模式带来沉浸式叙事风格。 + +全新的运动模式可拍摄出无比丝滑的视频,应对大幅的抖动、位移和震动,甚至在运动中拍摄时也不例外,让用户在手持拍摄时无需携带云台等外设。该模式支持高达 2.8K 60 fps 视频,而增强的电影效果模式现已支持 4K 分辨率和 24 fps 的电影帧率录制,让用户能够通过生动的叙事释放无穷的创造力,并与全世界分享他们通过 iPhone 所看到的内容。 + +自适应原彩闪光灯经过全面重新设计,采用九粒 LED 灯珠阵列,会根据用户选择的照片焦距更改闪光模式,使拍摄对象始终处于最佳光线中。与上一代相比,全新闪光灯亮度提升可达 2 倍,光线均匀度提升可达 3 倍。 +此外,全新原深感摄像头配备更快的光圈,让低光条件下照片视频更美丽细致,并支持自动对焦功能。 + + + + + + + +iPhone 14 系列的所有摄像头均支持夜间模式,这意味着当用户在深夜拍摄风景或在低光条件下自拍时,照片会被神奇地点亮。同时,夜间模式现将广角摄像头的想象力提升到全新水平,得益于更大的感光元件和更快的光圈,使 iPhone 14 和 iPhone 14 Plus 上的曝光时间最快提升可达 2 倍。 + + diff --git a/themes/itheme/exampleSite/content/posts/mark-down-syntax.md b/themes/itheme/exampleSite/content/posts/mark-down-syntax.md new file mode 100644 index 0000000..00f8cf8 --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/mark-down-syntax.md @@ -0,0 +1,135 @@ +--- +title: "Markdown Syntax Example" +date: 2023-03-20T13:06:38+08:00 +description: "display the markdown syntax in iTheme" +author: "Floyd Li" +tags: ["markdown"] +theme: "dark" +featured: true +cover: "https://www.apple.com.cn/newsroom/images/apple-logo_black.jpg.landing-regular_2x.jpg" +--- + +# Headings + +```markdown +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 +``` + +# H1 + +## H2 + +### H3 + +#### H4 + +##### H5 + +###### H6 + + +# Image + +```markdown +Image - Wide + + + +Image - Big + + + +Image - Inline + + +``` + + + + + + + +# Block Quotes + +```markdown +> You are young and life is long - Pink Floyd + +``` + +> You are young and life is long - Pink Floyd + +# Code Blocks + +``````markdown +```javascript +function say() { + const greeting = "I'll see you on the dark side of the moon"; + console.log(greeting); +} +``` +`````` + +```javascript +function say() { + const greeting = "I'll see you on the dark side of the moon"; + console.log(greeting); +} +``` + +# Table + +```markdown +| Band | Country | Song | +| ------------------ | :-----------: | --------------: | +| Pink Floyd | *UK* | Time | +| Led Zeppelin | **UK** | Immigrant Song | +| The Rolling Stones | ~~UK~~ | Don't Stop | +| Nirvana | ~~***USA***~~ | Come as You Are | +``` + +| Band | Country | Song | +| ------------------ | :-----------: | --------------: | +| Pink Floyd | *UK* | Time | +| Led Zeppelin | **UK** | Immigrant Song | +| The Rolling Stones | ~~UK~~ | Don't Stop | +| Nirvana | ~~***USA***~~ | Come as You Are | + +# List Types + +## Ordered List + +```markdown +1. Queen +2. The Velvet Underground +3. Dire Straits +``` + +1. Queen +2. The Velvet Underground +3. Dire Straits + +## Unordered List + +```markdown +- David Bowie +- Iggy Pop +- Bob Dylan +``` + +- David Bowie +- Iggy Pop +- Bob Dylan + +# Emoji + +This is a test for emoji. +:smile: +:see_no_evil: +:smile_cat: +:watermelon: diff --git a/themes/itheme/exampleSite/content/posts/the-first-year-out-moving-from-student-to-3d-artist.md b/themes/itheme/exampleSite/content/posts/the-first-year-out-moving-from-student-to-3d-artist.md new file mode 100644 index 0000000..6ca446a --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/the-first-year-out-moving-from-student-to-3d-artist.md @@ -0,0 +1,111 @@ +--- +title: '毕业第一年:从学生向3D美术师的转变' +date: '2022-12-07T13:06:38+08:00' +description: '如何从学校踏入暴雪娱乐、DNEG等游戏和视觉特效巨擘,经历鼓舞人心的三位3D美术师给出了他们的专业建议。' +author: '虚幻引擎官网' +cover: 'https://cdn2.unrealengine.com/student-to-3d-artist-header-1920x1080-73d477520f8e.jpg?resize=1&w=1920' +tags: ["特写", "影视", "教育", "游戏", "3d", "新闻稿"] +theme: 'dark' +--- + + + +我们都知道,无论哪个领域,离开学校进入职场的感觉有多么令人生畏。你具备合适的技能吗?你学到的技术能在你获得的工作中发挥作用吗?这足以让你夜不能寐。 + +最近,我们采访了一些3D美术师,他们谈到了离开学校,在游戏开发、视觉特效和沉浸式媒体等行业中找到新工作后,自己是如何度过这一转型时期的。如果你有兴趣了解可转移技能、你可能存在的缺漏以及不同3D岗位的日常工作,这篇文章正好适合你。 + +## Kris Yu:暴雪娱乐副环境美术师 + +在《暗黑破坏神4》团队中,团队中的新人环境美术师的日常工作是怎样的?按照Kris Yu的说法,通常,她首先要登录系统,完成游戏开发引擎的同步,然后开始处理分配给她的环境任务。对于该团队的美术师来说,时间管理至关重要,按时完成任务是成功的基础。Kris说:“重点不在于‘尽最大努力’或‘创造最好的美术作品’,而是必须遵守时间安排,确保一切顺利。” + +她学到了一个有用的技巧,那就是将与任务相关的所有说明和图片全部列出来。一旦完成,她就会在上面打勾。由于每处环境所需的细节程度各不相同,她或她的团队很容易遗漏一些需要解决的问题,而这种方法能够帮助Kris避免出差错。 + +很快,她又了解到,电子游戏行业的工作需要大量沟通和团队协作,在家办公时尤其如此。“在这个行业中,能够大胆直言,表达自我,并倾听他人的意见是至关重要的。”Kris说,“人们已经预料到我会提出问题,犯下错误。我不会因为自己的错误而感到懊悔和不安,我会吸取教训并改正,这将使我成长得更快。” + +为了更清楚地了解每天的任务,Kris会定期通过语音与同事及团队领导交流。她的团队还会上传视频,在每周的回顾会议中互相提供反馈,她说这是一种很好的学习方式,也体现出了同事对游戏开发的热情。 + +Kris认为,如果自己在进入新工作之前更深入地学习了设计方面的知识就好了。当她还是一名学生时,她倾向于将其他美术师的概念设计当作起点,在这个基础上创建3D环境。有了那种坚实的基础,Kris只需要做出一些小改动,就能完善整体环境。 + +当Kris开始与《暗黑破坏神4》的团队协作处理场景构建任务后,她需要进一步顾及3D空间中的玩法设计,但她认为自己缺乏基础设计方面的经验。“我的个人项目不像可玩的游戏那样错综复杂,在游戏中,可移动摄像机所展示的各个角度都应该完美。”Kris说,“所以我还要继续学习空间设计,我已经在阅读建筑类的书籍了,希望学到更多关于建筑结构的知识。” + +那么,Kris如何一毕业就能在暴雪找到工作?她在2022年的Rookie Awards中获得了游戏开发年度新秀奖,其作品还在2022年虚幻引擎学生作品展中展出过。如果你经常访问虚幻引擎网站,甚至可能已经看过她的作品,只是没有注意到而已! + + + +在诺蒙学院时,她创作的废弃工厂环境还被评为“学期最佳”,这帮助她在成为美术师的道路上迈向了一个新台阶。“这件作品的灵感源自我最喜欢的电子游戏《最后生还者》。”Kris说,“顽皮狗的游戏是我来美国学习游戏美术的动因,我想重现他们的风格,通过环境本身讲述故事。”这是她使用虚幻引擎5创作的第一个项目,用到了许多新技术和技能,还做了一些实验。Kris的所有资产都是在Maya中建模的,随后,她使用ZBrush进行雕刻,并通过Substance Painter和Designer应用经过平铺和烘焙的纹理。 + + + +然而,失败是成功之母。Kris承认,在创作获奖项目之前,她在另一个项目中犯了一些错误。“我的研究工作做得不好,在早期阶段缺乏耐心。”Kris说,“我太急于进入项目,后来才发现我收集的参考资料不足以让我根据概念图完成作品。所以我选择启动新项目,而不是继续完成一个有太多问题需要解决的旧项目。” + +犯了这个错误后,Kris会花费更多时间为她的场景寻找大量参考图片。她甚至还亲自前往了其中一个地点。“我花了大约两个月的时间,专门收集参考资料和设计草图。说实话,时间有点长,但这是我所有四件作品中最精致的项目。”Kris说。 + + + + +最后,如果你正在研究实时技术,请竭尽全力将自己和作品展现在公众眼前,这么做是值得的。这意味着你将开启新的大门,获得新的机遇。问问Kris就知道了。 + +“在2022年的Rookie Awards中获奖后,我得到了很多出现在公众视野中的机会,这在一定程度上帮助我成为了暴雪娱乐《暗黑破坏神4》团队中的全职副环境美术师。”Kris说,“当我在今年的The Game Awards中看到这款游戏后,我终于感觉自己是一名专业的美术师了。” +Kris给出了以下专业提示: +在深入细节之前,先关注全局 + +“我强烈建议你更加注重对整体环境建立起清晰的认识。我见过很多学生直接就钻入微小的细节,比如在一个道具上花太多时间,但如果整体结构存在问题,那就等于是在浪费时间。” +记录项目的过程 + +“你未来的雇主很在意这个过程,即使你制作的是一个简单的灰盒模型,或是犯了一个严重的错误导致项目失败,都应该将过程记录下来。它将展现你的思路和发挥创意解决问题的能力。这也是我能够获得面试机会,随后进入暴雪工作的部分原因。” +展示你的作品 + +“大多数3D美术师都会在ArtStation上发布作品,我强烈建议你订阅专业版账户,这样可以在公众面前增加知名度。ArtStation甚至还为学生提供了订阅折扣。比如说,《暗黑破坏神4》的美术总监在那里看了我的作品集后,就在LinkedIn上联系了我。我也会在LinkedIn上发布作品,因为很多专业美术师和招聘人员都在那里寻找候选人。” + + + +## Josh Carstens:DNEG管线技术总监助理 + +Josh最初进入DNEG工作时,是在长片动画部门担任管线技术总监助理,为《加菲猫》和Netflix的原创圣诞电影《那年圣诞》等正在制作的节目提供支持。尽管他在学校积累了不少虚拟制片经验,并因此吸引了DNEG的注意,但他还没有机会运用它们。然而他相信,机会迟早会到来。 + +他的团队为美术师、制片协调员、节目主管提供3D管线方面的支持,有时也会相互提供支持。支持任务包括帮助美术师解决与渲染、绑定和模型相关的问题,让他们能够通过DNEG多年积累的内部工具套件完成开发任务。这一切都是为了确保长篇动画电影的制作过程尽可能顺利。 + +当Josh开始在DNEG工作时,他颇有感触——对许多学生来说,当他们结束学业和实习,找到毕业后的第一份工作时,或许会体会到相似的感受。“我在DNEG的职责与实习期间的工作相反,都是软件和编程方面的,属于传统的3D动画制作,严格说来,这些都不是我在学校时的学习重点。”Josh说,“但既然我已经熟悉了所有基础知识,我可以在此基础上更进一步,熟悉Python和影片制作过程。” + +在入职DNEG之前,Josh在Production Resource Group(PRG)有过一段短暂但富有成效的实习经历,这帮助他熟练地掌握了虚拟制片技术。“在实习中,硬件是我们的主要关注点,而且创作形式自由,现在想来,我仍感觉十分新奇。我从中深入地了解了LED技术,对我接下来的学期大有帮助。”Josh说。 +图片由Josh Carstens提供 +对于年轻的3D美术师来说,当进入一个岗位时,他们会希望自己已经掌握了某些特定的知识,这是合情合理的。Josh指出,总体而言,他认为自己如果具备更多关于Git和版本控制系统的知识就好了。“我有过这样的经历,我曾花大量时间为我的工作仓库变更基底,然后它闲置了一个月,这时有更新进来了,于是我必须弄清楚如何将我的代码与更新合并。”Josh说,“如果很多内部仓库都有自己的系统,需要据此决定如何建立分支和贡献代码,你可能会感觉很头疼。”然而,Josh在学习过程中的大部分任务都是使用C++或MATLAB完成的,所以他对编程的熟悉程度有助于他应对目前的工作。 + +在罗彻斯特理工学院时,Josh曾导演过影片《Reverie》,他日益丰富的虚拟制片技能再次得到了运用。项目由他主导,因此他能够做出富有创意的决定,然后在虚幻引擎中工作,完成后期制作。“我处理了一些紧急状况,例如,我们的Axis Studio授权加密狗在拍摄前故障了,我需要让支持人员连夜给我们邮寄一个新的,否则我们就完全不能使用动作捕捉了。”Josh说,“能够领导这样一个项目,我感觉很满足。” + + + +他还认为,虚拟制片和虚幻引擎是一对最佳搭档。“在Epic Games的推动下,虚幻引擎成了虚拟制片的代名词,而且它的授权条款对于新手也非常友好,如果你的计算机显卡和CPU符合要求,那么它就是你的理想之选。”Josh说。 + +虚拟制片新手可以看看虚幻引擎网站上的众多学习资源,它们可以补充你所使用的其他教育资源的缺漏之处。 +Josh给出了一条建议: +“为了在DNEG工作,我从纽约州北部搬到了加拿大的蒙特利尔。在这个过程中,搬到新城市时的社交孤立感是我必须面对的问题,尤其是,我在这里无法说母语。在我以前的生活中,我从来没有离开过家人和朋友,我的生活方式发生了很大的改变,我觉得我没有做好充足的准备。然而,我已经认识到,这种感觉非常正常,我想对其他具有相同处境的年轻专业人士说,你并不孤单。花点时间适应,不要害怕与其他人交往。”DNEG最近开始为员工提供免费的法语课程,Josh希望能够借此机会认识其他部门的新朋友。寻找处境类似的其他人(如别的新员工)是减少孤立感的好方法。 + +Lara Rende:德雷塞尔大学学生 +Lara尚未毕业,但她对资深专家所使用的工具并不感到陌生。事实上,我们对她的故事了解得越多,就越觉得即将毕业的学生能够从中受到鼓舞。 + +“不要害怕。”Lara说,“我还记得,我的教授在大一的第一堂课上就打开了Maya,在第二堂课上打开了虚幻引擎4。最初,这会让人感到不知所措,但那时我绝不会想到,到了大四,我会参与这么多项目。” + +她之所以能够积累如此丰富的经验,部分原因是她的教授们都知道,她渴望尝试新出现的沉浸式技术。他们曾指导Lara参与宾夕法尼亚州当地植物园的联合研究项目。Lara不仅能够帮忙重现一座历史悠久的建筑(杜邦故居),还可以在这个过程中同时运用多种技术,包括iOS激光雷达、摄影测量和虚幻引擎5。 + + + +虽然摄影参考资料是3D建模的重要资源,但对Lara来说,最好的方法还是亲自参观一个地方。她花了一天时间游览长木花园,这不仅有助于她感受这个地方的整体状况,还能直接观察到她的团队要重现的房屋,这份经历最终成了Lara在这个项目中最珍爱的时刻。“那一天,我收获了许多参考照片、视频和个人笔记。”Lara说,“在这座历史悠久的建筑里,我知道我正在做的项目将帮助人们看到这个地方300年前的样子,这让我感觉心潮澎湃。” + +然而,尽管Lara的团队使用激光雷达和摄影测量技术扫描了杜邦故居,但他们选择将它们留作参考,在Maya中为房屋建模,这样可以在虚幻引擎中自由地为它添加纹理并制作动画。 + +除了3D建模外,Lara还热衷于学习动作捕捉技术。作为德雷塞尔动作捕捉社团的现任社长,她不仅帮助教导社团成员了解动作捕捉的完整过程,还与朋友们一起完成了独立的动作捕捉实践。有时候,她也会单纯享受捕捉韩流舞蹈动作的乐趣。 + +Lara最近参加了导演Ian Fursa独立虚拟制片的拍摄,并测试了这些动作捕捉技能。借此机会,她能够通过绝佳视角了解到摄影棚的拍摄过程。拍摄期间,Lara帮助搭建了摄影棚环境,并根据需要配置了动作捕捉摄像机,以便将Vicon追踪到的数据传入虚幻引擎。她还负责建立和拆解布景,操作动作捕捉系统,设置虚拟制片屏幕,以及标记捕捉对象。当她与Remington Scott合作,为Meta制作Notorious B.I.G.的Sky’s The Limit VR演唱会时,她再次采用了这一流程,并取得了巨大的成功。 + + + +那么,这名最忙碌的学生现在在做什么呢?她很快就要毕业了。不忙于学习的时候,Lara会腾出时间寻找工作,她也在考虑攻读研究生课程是否是最好的选择。且不管她如何选择,她说:“我知道,无论我毕业后做什么工作,我都会继续学习和探索。” + +显然,当Lara进入职场时,3D建模、摄影测量和动作捕捉等方面的实践经验将对她大有帮助。但她的好奇心和不断学习的动力才是真正值得我们学习的。 + + + +## Lara给出了以下专业提示: + +“在提供给我的所有项目中,我都会全身心投入。当教授需要我在虚幻引擎中创建一个可玩的VR关卡时,即使我没有任何经验,我还是硬拼着完成了。我参与的所有项目都将为我提供非常宝贵的学习经验。如果你真的想在3D领域做出一些成就,就全身心地投入进来吧。人们可以方便地获取到许多工具和教程。虚幻引擎5是免费的!慢慢来,相信自己。” diff --git a/themes/itheme/exampleSite/content/posts/unreal-engine-5-1-delivers-new-features-for-filmmaking-broadcast-animation-and-live-events.md b/themes/itheme/exampleSite/content/posts/unreal-engine-5-1-delivers-new-features-for-filmmaking-broadcast-animation-and-live-events.md new file mode 100644 index 0000000..3633b94 --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/unreal-engine-5-1-delivers-new-features-for-filmmaking-broadcast-animation-and-live-events.md @@ -0,0 +1,75 @@ +--- +title: '虚幻引擎5.1带来电影、广播、动画和实况活动新功能' +date: '2022-11-12T13:06:38+08:00' +description: '从通过摄像机内视效实现的虚拟制片,到动画项目以及激情四射的实况广播和活动,虚幻引擎为媒体和娱乐管线提供了更庞大、更健壮、更易用的工具集。来看看有哪些新功能吧。' +author: '虚幻引擎官网' +cover: 'https://cdn2.unrealengine.com/unreal-engine-5-1-media-and-entertainment-header-1920x1080-d314b1b23459.jpg?resize=1&w=1920' +tags: ["功能", "动画", "广播与实况", "虚幻引擎"] +theme: 'light' +--- + + +随着虚幻引擎5.1的发布,它所带来的改进将使所有行业的创作者受益。在这篇博文中,我们将特别关注真人与动画影视内容(包括虚拟制片和LED舞台项目)的创作者、广播行业从业者,以及实况活动制作团队,看看他们将享受到哪些新功能。 + +过去两年,媒体和娱乐行业的专业人士以及各种规模的公司对虚幻引擎的采用率呈指数级增长,由此诞生了一些成功的项目,如YouTube上由表演驱动的角色动画节目《Xanadu》、Pixomondo的Caledon足球广告以及Fox Sports的新虚拟演播室。在虚幻引擎5.1中,我们的目标是为行业提供比以往更加庞大、健壮和易用的工具集,使他们能够在过去的成功基础上取得更长远的进步。 +虚幻引擎5.1为媒体和娱乐行业提供的新功能 +增强对舞台操作的支持 +在LED舞台快节奏、高压力环境中工作的舞台操作员将新迎来专门的摄像机内视效编辑器,它支持一系列为操作员需要执行的任务而专门定制的工作流程。这在很大程度上消除了舞台操作员在大纲视图中搜寻特定对象和控件的需要。 + +我们计划在未来几周发布与该编辑器功能相对应的iOS应用程序,其用户界面经过调整,专为触摸屏交互而设计。相关新闻已报道,我们改进了远程控制API的用户界面、用户体验和性能,使你能够更加迅速、便捷地构建基于浏览器的强大自定义远程控件。 + +新编辑器搭载了一个经过改进的发光板系统界面,可显示nDisplay墙的预览。除了使创建、移动和编辑发光板以及保存预设变得直观和高效外,新的发光板系统还可以在墙上维持发光板的形状,消除失真。 + + + +## 在虚幻引擎5.1中编辑发光板 + +颜色校正对于LED舞台工作流程而言至关重要,它是弥合LED墙与实体布景,并对LED墙内容进行微调的关键手段。在摄像机内视效编辑器中,你还可以访问全新的颜色校正窗口(CCWs),它能够单独地将调整应用至其背后的任何东西(类似于颜色分级应用程序中的Power Window),同时还能够逐个对Actor应用颜色校正,减少了对复杂的遮罩的需求。 + +## 改进的媒体板工作流程和EXR回放 + +还记得要点击几十次才能将EXR或影片文件添加到关卡或Sequencer轨道中吗?在虚幻引擎5.1中,新的媒体板Actor允许你从内容浏览器中轻松拖放镜头。此外,使用适当的SSD RAID,你现在还可以在引擎中或通过nDisplay回放拥有Mipmap贴图、未经压缩的平铺EXR。为了实现最佳回放效果,我们还添加了将EXR转换为恰当格式的功能。 + +## 经过全面改造的虚拟摄像机 + +与此同时,虚幻引擎中的虚拟摄像机得到了全面改造,它具备了全新的底层框架,能够利用Epic的像素流送技术提高响应速度和可靠性;用户界面也得到了更新,它拥有以摄像机为中心的现代化设计,摄像机操作员将感到更加熟悉。我们还增加了连接硬件设备的功能,为将来的用户界面定制奠定基础。 +虚幻引擎5.1中改进的虚拟摄像机 + + + +## 改进的DMX工作流程 + +为了将虚幻引擎更加无缝地集成到庞大的DMX生态系统中,我们增强了对MVR格式的支持,以囊括与灯具、制图和配接相关的功能;当虚幻引擎和光照控制台需要共享DMX数据时,这些数据可以在两个系统之间进行同步。我们还改进了像素映射系统的用户体验,以支持通过虚幻引擎内容数据驱动日益复杂的DMX光照灯具。 + +## 光照的增强 + +虚幻引擎的全动态全局光照和反射系统Lumen现在提供了对nDisplay的初步支持。有了Lumen,当执行改变太阳角度、调整光源或定位反光板等操作时,间接光照会动态做出适应性调整。之前,这些变更还需要一个烘焙步骤,导致创作流程被打断。 + + + +## 虚幻引擎5.1中Lumen对nDisplay的支持 + +目前,可支持的光源数量并不多(总计大约五到七个光源,取决于显卡)。为了应对需要更多光源的复杂场景,我们还改进了GPU Lightmass,添加了对天空大气、固定天空光照以及光源功能(如IES配置文件和矩形光源纹理)的支持,并全面提升了质量和性能。 +动画和绑定的改进 +值得一提的是,虚幻引擎5.1为动画内容(尤其是角色)的制作者改进了内置的动画制作工具集。 + +现在处于测试阶段的机器学习(ML)变形器能够使用自定义的Maya插件训练将在虚幻引擎中实时运行的机器学习模型,从而为非线性变形器、复杂的专有绑定或任意变形生成近似的高保真模型。这允许你模拟电影质量级的变形,如弯曲的肌肉、隆起的静脉和拉扯的皮肤。 + + + +角色变形方面的其他改进包括完善了变形器图形编辑器,从而简化了图形的创建和编辑。 + +另一方面,控制绑定朝着完全程序化绑定的方向得到了进一步完善,提高了绑定团队的影响力和扩展能力。其核心框架的更新包括一个新的构造事件,允许你通过图表生成绑定层级,还有一个自定义用户事件,用于创建和触发“将FK对齐至IK”之类的绑定事件。 + +通过这些更新,你可以创建一个单独的控制绑定资产,它能够自行构建,适应骨骼比例和属性各不相同的角色。例如,同一个控制绑定经过自行调整,可以适应三根手指的怪物或五根手指的人类,你无需对绑定资产做出任何更改。 + +我们还扩展了虚幻引擎的多轨非线性动画编辑器Sequencer,为其增加了对约束的支持,包括位置、旋转和查看点。通过这些,你可以快速、轻松地在任何控制绑定或Actor之间创建关系并制作动画,例如,使摄像机始终跟随一名角色;让一名角色始终手握方向盘;制作小丑玩抛接球的杂耍动画;或约束一名牛仔的臀部,使他在马移动时自然地坐在马鞍上,并且手握缰绳。 + +## 虚幻引擎5.1中Sequencer对约束的支持 + + + +Sequencer还通过蓝图和Python脚本公开了更多功能;我们还为其重构了用户界面和用户体验,这不仅提高了稳定性和可扩展性,也完善了动画创作和编辑的工作流程。 +除此之外,还有很多…… + +这些只是虚幻引擎5.1中面向媒体和娱乐工作流程的部分新功能和改进。请访问版本说明,查看完整的功能列表。 diff --git a/themes/itheme/exampleSite/content/posts/vr-games-week-2023-starts-next-week.md b/themes/itheme/exampleSite/content/posts/vr-games-week-2023-starts-next-week.md new file mode 100644 index 0000000..993d4ec --- /dev/null +++ b/themes/itheme/exampleSite/content/posts/vr-games-week-2023-starts-next-week.md @@ -0,0 +1,24 @@ +--- +title: '2023年VR游戏周即将到来!' +date: '2022-12-27T13:06:38+08:00' +description: 'Vr Games Week 2023 Starts Next Week' +author: '虚幻引擎官网' +cover: 'https://cdn2.unrealengine.com/vr-week-2023-header-4-1920x1080-376e6c48383f.jpg?resize=1&w=1920' +tags: ["功能", "动画", "广播与实况", "虚幻引擎"] +theme: 'light' +--- + +PlayStation VR2即将于下周发布。为表庆祝,我们准备介绍数部即将登陆此平台的虚幻引擎VR游戏,以及一些准备登陆Meta Quest、PCVR等平台的虚幻VR作品。 + + + +2023年VR游戏周将从2月21日(周二)一直持续到2月25日(周六)。届时,我们将向大家介绍一系列优秀的VR游戏案例,并推介以下项目: +《Hubris》 +《黑相集:之字路VR》 +《行尸走肉:圣徒与罪人第二章》 +《穿越火线:塞拉小队》 +一期以VR为主题的Inside Unreal直播 +一款尚未公布的VR游戏 +还有更多精彩内容等你来发现! + +欲了解最新消息,请收藏我们的VR游戏周活动页面.
\ No newline at end of file diff --git a/themes/itheme/i18n/de.toml b/themes/itheme/i18n/de.toml new file mode 100644 index 0000000..23cfa99 --- /dev/null +++ b/themes/itheme/i18n/de.toml @@ -0,0 +1,34 @@ +[home] +other = "Startseite" +[posts] +other = "Artikel" +[about] +other = "Über uns" +[latestArticles] +other = "Artikel" +[moreArticles] +other = "Weitere Artikel" +[viewArchive] +other ="Archiv anzeigen" +[socialMedia] +other = "Social Media" +[related] +other = "Verwandte Seiten" +[pagination] +other = "Seitenzahl" +[of] +other = "von" +[allTags] +other = "Alle Tags" +[author] +other = "Autor" +[postDate] +other = "Veröffentlicht am" +[copyright] +other = "Copyright" +[licenses] +other = "Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)" +[search] +other = "Suche" +[searchPlaceholder] +other = "Titel oder Beschreibung suchen..."
\ No newline at end of file diff --git a/themes/itheme/i18n/en.toml b/themes/itheme/i18n/en.toml new file mode 100644 index 0000000..02933c5 --- /dev/null +++ b/themes/itheme/i18n/en.toml @@ -0,0 +1,34 @@ +[home] + other = "Home" +[posts] + other = "Articles" +[about] + other = "About" +[latestArticles] + other = "Articles" +[moreArticles] + other = "More Articles" +[viewArchive] + other ="View Archive" +[socialMedia] + other = "Social Media" +[related] + other = "Related" +[pagination] + other = "Pagination" +[of] + other = "of" +[allTags] + other = "All Tags" +[author] + other = "Author" +[postDate] + other = "Posted on" +[copyright] + other = "Copyright" +[licenses] + other = "Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)" +[search] + other = "Search" +[searchPlaceholder] + other = "Search title or description..."
\ No newline at end of file diff --git a/themes/itheme/i18n/es.toml b/themes/itheme/i18n/es.toml new file mode 100644 index 0000000..683985e --- /dev/null +++ b/themes/itheme/i18n/es.toml @@ -0,0 +1,34 @@ +[home] + other = "Inicio" +[posts] + other = "Artículos" +[about] + other = "Acerca de" +[latestArticles] + other = "Artículos Recientes" +[moreArticles] + other = "Más Artículos" +[viewArchive] + other = "Ver Archivo" +[socialMedia] + other = "Redes Sociales" +[related] + other = "Relacionados" +[pagination] + other = "Paginación" +[of] + other = "de" +[allTags] + other = "Todas las Etiquetas" +[author] + other = "Autor" +[postDate] + other = "Publicado el" +[copyright] + other = "Derechos de Autor" +[licenses] + other = "Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)" +[search] + other = "Buscar" +[searchPlaceholder] + other = "Buscar título o descripción..." diff --git a/themes/itheme/i18n/zh-hans.toml b/themes/itheme/i18n/zh-hans.toml new file mode 100644 index 0000000..b941758 --- /dev/null +++ b/themes/itheme/i18n/zh-hans.toml @@ -0,0 +1,34 @@ +[home] + other = "首页" +[posts] + other = "目录" +[about] + other = "关于" +[latestArticles] + other = "最新文章" +[moreArticles] + other = "更多文章" +[viewArchive] + other ="阅读历史文章" +[socialMedia] + other = "社交媒体" +[related] + other = "友链" +[pagination] + other = "分页" +[of] + other = "页" +[allTags] + other = "所有标签" +[author] + other = "作者" +[postDate] + other = "发表日期" +[copyright] + other = "版权声明" +[licenses] + other = "版权声明:署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)" +[search] + other = "搜索" +[searchPlaceholder] + other = "搜索文章标题或简介..."
\ No newline at end of file diff --git a/themes/itheme/images/screenshot.png b/themes/itheme/images/screenshot.png Binary files differnew file mode 100644 index 0000000..f115f55 --- /dev/null +++ b/themes/itheme/images/screenshot.png diff --git a/themes/itheme/images/tn.png b/themes/itheme/images/tn.png Binary files differnew file mode 100644 index 0000000..b37c6dc --- /dev/null +++ b/themes/itheme/images/tn.png diff --git a/themes/itheme/layouts/404.html b/themes/itheme/layouts/404.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/themes/itheme/layouts/404.html diff --git a/themes/itheme/layouts/_default/_markup/render-codeblock.html b/themes/itheme/layouts/_default/_markup/render-codeblock.html new file mode 100644 index 0000000..a39190c --- /dev/null +++ b/themes/itheme/layouts/_default/_markup/render-codeblock.html @@ -0,0 +1,9 @@ +<div class="component-content pagebody component code"> + {{ $class := .Attributes.class | default "" }} + {{ $lang := .Attributes.lang | default .Type }} + {{ if transform.CanHighlight $lang }} + <div class="{{ $class }}">{{ highlight .Inner $lang }}</div> + {{else}} + <pre><code class="{{ $class }}">{{.Inner}}</code></pre> + {{end}} +</div>
\ No newline at end of file diff --git a/themes/itheme/layouts/_default/_markup/render-heading.html b/themes/itheme/layouts/_default/_markup/render-heading.html new file mode 100644 index 0000000..5bbb7ac --- /dev/null +++ b/themes/itheme/layouts/_default/_markup/render-heading.html @@ -0,0 +1,12 @@ +<!-- + * @Description: + * @Author: Floyd Li (floyd.li@outlook.com) + * @Date: 2023-03-03 16:32:46 + * @LastEditors: Floyd Li (floyd.li@outlook.com) + * @LastEditTime: 2023-03-03 16:35:20 +--> +<div class="component-content pagebody component"> + <h{{ .Level }} id="{{ .Anchor | safeURL }}" class="pagebody-header"> + {{ .Text | safeHTML }} + </h{{ .Level }}> +</div>
\ No newline at end of file diff --git a/themes/itheme/layouts/_default/_markup/render-image.html b/themes/itheme/layouts/_default/_markup/render-image.html new file mode 100644 index 0000000..fb211d3 --- /dev/null +++ b/themes/itheme/layouts/_default/_markup/render-image.html @@ -0,0 +1,31 @@ + +{{- $src := .Destination -}} + +{{- with dict "Path" $src "Resources" .Page.Resources | partial "function/resource.html" -}} + {{- $src = .RelPermalink -}} +{{- end -}} + +{{ $sign := md5 $src}} + + +{{ $str := split .Text "|" }} + +{{ $text := index $str 0 }} + +{{ $size := default "big" (index $str 1) }} + +<figure class="image component image-fullbleed body-copy-wide nr-scroll-animation nr-scroll-animation--on image-{{ $size }}"> <div class="component-content"> + <div class="image-sharesheet"> + <div class="image image-load image-asset image-{{ $sign }}" id="lht{{ $sign }}"> + <picture class="picture"> + <img class="picture-image" data-src="{{ $src | safeURL }}" alt="{{ .Text }}" /> + </picture> + </div> + </div> + <div class="image-description"> + <div class="image-caption"> + {{ $text }} + </div> + </div> + </div> +</figure> diff --git a/themes/itheme/layouts/_default/baseof.html b/themes/itheme/layouts/_default/baseof.html new file mode 100644 index 0000000..fa816df --- /dev/null +++ b/themes/itheme/layouts/_default/baseof.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html class="js no-touch progressive-image no-reduced-motion progressive" lang="{{ .Site.Language.Lang }}"> + <head> + {{ partial "head.html" . }} + </head> + <body class="{{ if .IsPage }} page-article {{ else }} page-landing {{ end }} {{ if eq .Page.Params.theme "dark" }} theme-dark {{ end }}"> + <header> + {{ partial "header.html" . }} + </header> + {{ block "main" . }} + {{ end }} + {{ $isDark := eq .Page.Params.theme "dark"}} + {{ partial "footer.html" (dict "dark" $isDark) }} + + </body> + <!-- algolia related script --> + {{ if site.Params.algolia.enabled }} + <script src="{{ "js/algoliasearch.umd.js" | relURL }}"></script> + <script src="{{ "js/autocomplete-js.js" | relURL }}"></script> + {{ end }} + + <!-- custom js files --> + {{ range site.Params.js }} + <script src="{{ .url | relURL }}"></script> + {{ end }} +</html> diff --git a/themes/itheme/layouts/_default/single.html b/themes/itheme/layouts/_default/single.html new file mode 100644 index 0000000..4ea3d97 --- /dev/null +++ b/themes/itheme/layouts/_default/single.html @@ -0,0 +1,91 @@ +{{ define "main" }} + {{ $featured := .Page.Params.featured }} + {{ $notPlainPage := ne .Page.Params.plain true }} + <main id="main" class="main"> + <section> + <article class="article"> + {{ if $notPlainPage }} + <div class="{{ if $featured }} featured-header {{ else }} article-header {{ end }}"> + <div class="category component"> + <div class="component-content"> + <div class="category-eyebrow"> + <span class="category-eyebrow__category category_original"> + {{ if .Page.Params.tags }} + {{ range first 1 .Page.Params.tags }} + {{.}} + {{ end }} + {{ end }} + </span> + <span class="category-eyebrow__date">{{ .Page.Params.Date | time.Format ":date_long"}}</span> + </div> + </div> + </div> + <div class="pagetitle component"> + <div class="component-content"> + <h1 class="hero-headline">{{ .Title }}</h1> + </div> + </div> + <div class="component {{ if $featured }} featured-subhead {{ else }} article-subhead {{ end }}"> + <div class="component-content">{{ .Page.Params.description }}</div> + </div> + + <div class="tagssheet component"> + <div class="component-content"> + {{ range .Page.Params.tags}} + {{ $url := printf "%s%s" "tags/" . }} + <a href="{{ $url | urlize | relURL }}" class="tag"> + {{ . }} + </a> + {{ end }} + </div> + </div> + </div> + {{ else }} + <div class="article-header"> + <div class="pagetitle component"> + <div class="component-content"> + <h1 class="hero-headline">{{ .Title }}</h1> + </div> + </div> + </div> + {{ end }} + <div class="pagebody"> + <!-- TODO: hugo render hooks do not support custom markdown so here replace element manually --> + {{ $content := .Content | replaceRE "<p>" "<p class=\"component-content component\">" }} + {{ $content = $content | replaceRE "<table>" "<div class=\"component-content component\"><table>" }} + {{ $content = $content | replaceRE "</table>" "</table></div>" }} + {{ $content = $content | replaceRE "<ol>" "<div class=\"component-content component\"><ol>" }} + {{ $content = $content | replaceRE "</ol>" "</ol></div>" }} + {{ $content = $content | replaceRE "<ul>" "<div class=\"component-content component\"><ul>" }} + {{ $content = $content | replaceRE "</ul>" "</ul></div>" }} + {{ $content | safeHTML}} + </div> + {{- if and $notPlainPage site.Params.ShowCopyRight -}} + <div class="component"> + <div class="component-content"> + <div class="article-copyright"> + <p class="content"> + {{ i18n "copyright" }}: <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed" target="_blank">{{ i18n "licenses" }}</a> + </p> + <p class="content">{{ i18n "author"}}: {{ .Page.Params.author }} </p> + <p class="content">{{ i18n "postDate"}}: {{ .Page.Params.Date | time.Format ":date_long" }}</p> + </div> + </div> + </div> + {{- end -}} + </article> + </section> + </main> + + <script> + var script = document.createElement("script"); + {{- $js := resources.Get "js/initPost.js" -}} + {{- $opts := dict + "params" (dict "baseURL" site.BaseURL) + -}} + {{- $js = $js | js.Build $opts -}} + script.src = {{ $js.Permalink }}; + document.head.appendChild(script); + </script> +{{ end }} + diff --git a/themes/itheme/layouts/index.html b/themes/itheme/layouts/index.html new file mode 100644 index 0000000..9cdb913 --- /dev/null +++ b/themes/itheme/layouts/index.html @@ -0,0 +1,53 @@ +{{ define "main" }} +{{ $pages := where .Site.RegularPages "Params.plain" "ne" true }} + <section class="everydayfeed"> + <div class="section-content"> + <h2 class="section-head">{{ i18n "latestArticles" }}</h2> + <ul role="list" class="section-tiles"> + {{ range first 1 $pages }} + {{ $level := 1 }} + {{ partial "tile.html" (dict "context" . "level" $level) }} + {{ end }} + + {{ range first 4 ( after 1 $pages) }} + {{ $level := 2 }} + {{ partial "tile.html" (dict "context" . "level" $level) }} + {{ end }} + + {{ range first 6 ( after 5 $pages) }} + {{ $level := 3 }} + {{ partial "tile.html" (dict "context" . "level" $level) }} + {{ end }} + </ul> + </div> + </section> +{{- if site.Params.ShowMore -}} + <section class="more-from-newsroom"> + <div class="section-content"> + <h2 class="section-head">{{ i18n "moreArticles" }}</h2> + <ul role="list" class="section-tiles"> + + {{ range first 6 $pages }} + {{ partial "moreTile.html" (dict "context" .) }} + {{ end }} + </ul> + <div class="view-archive-wrapper"> + <a href="{{ "posts" | relURL }} " class="cta-primary-light" data-analytics-region="router" data-analytics-title="view archive">{{ i18n "viewArchive"}}</a> + </div> + </div> + </section> +{{- end -}} + <script> + document.addEventListener("DOMContentLoaded", function () { + var script = document.createElement("script"); + script.src = {{ "js/animation.js" | relURL }}; + document.head.appendChild(script); + + script.onload = function () { + console.log("lazyload.js loaded"); + // when layout is loaded, load the images + initImage(); + }; + }); + </script> +{{ end }}
\ No newline at end of file diff --git a/themes/itheme/layouts/partials/archiveItem.html b/themes/itheme/layouts/partials/archiveItem.html new file mode 100644 index 0000000..b0f969f --- /dev/null +++ b/themes/itheme/layouts/partials/archiveItem.html @@ -0,0 +1,27 @@ +{{ $cover := site.Params.defaultCover}} +{{ if .context.Params.cover }} + {{ $cover = .context.Params.cover }} +{{ end }} +{{- with .context.Resources.GetMatch (printf "%s" ($cover)) -}} + {{- $cover = .RelPermalink -}} +{{- end -}} + +<a href="{{ .context.Permalink }}" class="result__item row-anchor" aria-label="{{ .context.Title }}"> + <picture class="viewport-picture"> + <source media="(max-width: 734px)" srcset="{{ $cover }}"> + <img class="viewport-image" src="{{ $cover }}" srcset="{{ $cover }}" aria-hidden="true" alt=""> + </picture> + <div class="item__content"> + <p class="item__category category_update"> + {{ if .context.Params.tags }} + {{ range first 1 .context.Params.tags }} + {{.}} + {{ end }} + {{ end }} + </p> + <h3 class="item__headline"> + {{ .context.Title }} + </h3> + <p class="item__date">{{ .context.Date | time.Format ":date_long" }}</p> + </div> +</a>
\ No newline at end of file diff --git a/themes/itheme/layouts/partials/footer.html b/themes/itheme/layouts/partials/footer.html new file mode 100644 index 0000000..360de93 --- /dev/null +++ b/themes/itheme/layouts/partials/footer.html @@ -0,0 +1,34 @@ +<div class="footer-main {{ if eq .dark true}} footer-dark {{ end }}"> + <div class="content-body footer-wraper"> + <div class="footer-box"> + <div class="foot-nav"> + <div class="foot-nav-items"> + <div class="item"> + <div class="logo">{{ .Site.Title}}</div> + <div class="email">Email: <a href="mailto:{{ site.Params.email }}">{{ site.Params.email }}</a></div> + </div> + + <div class="item community"> + <div class="item-title">{{ i18n "socialMedia" }}</div> + {{ range site.Params.socialMedia }} + <a href="{{ .url }}" target="_blank">{{ .name}}</a> + {{ end }} + </div> + + <div class="item resources"> + <div class="item-title">{{ i18n "related" }}</div> + {{ range site.Params.blogroll }} + <a href="{{ .url }}" target="_blank">{{ .name}}</a> + {{ end }} + </div> + </div> + </div> + <div class="bottom"> + <div class="item copyright"> + © {{ now.Format "2006" }} + Powered by <a href="https://gohugo.io/" target="_blank">Hugo</a> & <a href="https://github.com/floyd-li/hugo-theme-itheme" target="_blank">iTheme</a> + </div> + </div> + </div> + </div> +</div>
\ No newline at end of file diff --git a/themes/itheme/layouts/partials/function/resource.html b/themes/itheme/layouts/partials/function/resource.html new file mode 100644 index 0000000..2febef3 --- /dev/null +++ b/themes/itheme/layouts/partials/function/resource.html @@ -0,0 +1,16 @@ +{{- $resource := 0 -}} +{{- $url := urls.Parse .Path -}} +{{- if not $url.Host | and $url.Path | and (strings.HasSuffix $url.Path "/" | not) -}} + {{- if .Resources -}} + {{- with .Resources.GetMatch $url.Path -}} + {{- $resource = . -}} + {{- end -}} + {{- end -}} + {{- if not $resource -}} + {{- with resources.Get $url.Path -}} + {{- $resource = . -}} + {{- end -}} + {{- end -}} +{{- end -}} + +{{- return $resource -}} diff --git a/themes/itheme/layouts/partials/head.html b/themes/itheme/layouts/partials/head.html new file mode 100644 index 0000000..c4a4943 --- /dev/null +++ b/themes/itheme/layouts/partials/head.html @@ -0,0 +1,31 @@ +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <link rel="icon" href="{{ "img/favicon.ico" | relURL }}"> + + <meta name="keyword" content="{{ .Site.Params.keyword }}"> + + {{- template "_internal/opengraph.html" . -}} + + <title>{{ .Title }}</title> + + <link rel="canonical" href="{{ .Permalink | relURL }}"> + + <link rel="stylesheet" href="{{ "css/global.css" | relURL }}"> + + <link rel="stylesheet" href="{{ "css/custom.css" | relURL }}"> + + <link rel="stylesheet" href="{{ "css/search.css" | relURL }}" /> + + <!-- algolia related style --> + {{ if site.Params.algolia.enabled }} + <link rel="stylesheet" href="{{ "css/autocomplete-theme-classic.css" | relURL }}" /> + {{ end }} + + <!-- custom style files --> + {{ range site.Params.css }} + <link rel="stylesheet" href="{{ .url | relURL }}" /> + {{ end }} + +</head>
\ No newline at end of file diff --git a/themes/itheme/layouts/partials/header.html b/themes/itheme/layouts/partials/header.html new file mode 100644 index 0000000..3ae060e --- /dev/null +++ b/themes/itheme/layouts/partials/header.html @@ -0,0 +1,59 @@ +<nav class="nav"> + <div class="nav-wrapper"> + <div class="nav-content-wrapper"> + <div class="nav-content"> + <a href="{{ "" | relURL }} " class="nav-title">{{ .Site.Title }}</a> + <div class="nav-menu"> + <div class="nav-item-wrapper"> + <a href="{{ "posts" | relURL }} " class="nav-item-content">{{ i18n "posts" }}</a> + </div> + {{- if .Site.GetPage "about" -}} + <div class="nav-item-wrapper"> + <a href="{{ "about" | relURL }}" class="nav-item-content">{{ i18n "about" }}</a> + </div> + {{- end -}} + {{- if site.Params.ShowRSS -}} + <div class="nav-item-wrapper"> + <a href="{{ "index.xml" | relURL }}" class="nav-item-content" target="_blank">RSS</a> + </div> + {{- end -}} + {{- if site.Params.algolia.enabled -}} + <div class="nav-item-wrapper"> + <a href="#" onclick="toggleSearchModal()" class="nav-item-content">{{ i18n "search" }}</a> + </div> + {{- end -}} + </div> + </div> + </div> + </div> +</nav> + +<script> + function toggleSearchModal(){ + const template = ` + <div class="modal-body"> + <div id="autocomplete" onclick="event.stopPropagation();"></div> + </div> + ` + const modal = document.querySelector("#modal-wrapper") + if(!modal){ + const div = document.createElement("div") + document.body.setAttribute("style","overflow: hidden;") + div.setAttribute("id", "modal-wrapper") + div.setAttribute("onclick", "toggleSearchModal()") + div.innerHTML = template + const script = document.createElement("script"); + {{- $js := resources.Get "js/algolia.js" -}} + {{- $opts := dict + "params" (dict "params" site.Params "baseURL" site.BaseURL) + -}} + {{- $js = $js | js.Build $opts -}} + script.setAttribute("src", {{ $js.Permalink }}) + div.appendChild(script) + document.body.append(div) + } else { + document.body.removeAttribute("style") + document.body.removeChild(modal) + } + } +</script>
\ No newline at end of file diff --git a/themes/itheme/layouts/partials/moreTile.html b/themes/itheme/layouts/partials/moreTile.html new file mode 100644 index 0000000..2ce1058 --- /dev/null +++ b/themes/itheme/layouts/partials/moreTile.html @@ -0,0 +1,39 @@ +<!-- + * @Description: + * @Author: Floyd Li (floyd.li@outlook.com) + * @Date: 2023-03-02 17:37:17 + * @LastEditors: Floyd Li (floyd.li@outlook.com) + * @LastEditTime: 2023-03-03 16:07:36 +--> +<li + role="listitem" + class="tile-item item-list nr-scroll-animation" + style="--nr-animation-transform-y:20%;" +> + <a + href={{ .context.Permalink }} + class="tile tile-list medium-load small-load large-load" + aria-label={label} + > + <div class="tile__media" aria-hidden="true"> + {{- $src := .context.Params.cover | default site.Params.defaultCover -}} + {{- with .context.Resources.GetMatch (printf "%s" ($src)) -}} + {{- $src = .RelPermalink -}} + {{- end -}} + <img class="cover image" data-src="{{ $src }}" alt="lt"/> + </div> + <div class="tile__description" aria-hidden="true"> + <div class="tile__head"> + <div class="tile__category"> + {{ if .context.Params.tags }} + {{ range first 1 .context.Params.tags }} + {{.}} + {{ end }} + {{ end }} + </div> + <div class="tile__headline">{{ .context.Title }}</div> + </div> + <div class="tile__timestamp icon-hide icon icon-before icon-clock">{{ .context.Date | time.Format ":date_long" }}</div> + </div> + </a> +</li> diff --git a/themes/itheme/layouts/partials/pagination.html b/themes/itheme/layouts/partials/pagination.html new file mode 100644 index 0000000..090746d --- /dev/null +++ b/themes/itheme/layouts/partials/pagination.html @@ -0,0 +1,30 @@ +{{ $pag := .Paginator }} +<nav class="pagination-ctrl" aria-label="{{ i18n "pagination" }}"> + <div class="pagination-ctrl__content"> + {{ if $pag.HasPrev }} + <a role="button" href="{{ $pag.Prev.URL }}" class="pagination-ctrl__btn icon icon-paginationleft pagination-ctrl__btn--previous" aria-disabled="false" aria-label="上一页" tabindex="0"> + {{ else }} + <a role="button" href="#" class="pagination-ctrl__btn icon icon-paginationleft pagination-ctrl__btn--previous pagination-ctrl__btn--disabled" aria-disabled="true" aria-label="上一页" tabindex="0"> + {{ end }} + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#fff"> + <path d="M0 0h24v24H0V0z" fill="none"/> + <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z"/> + </svg> + </a> + <div class="pagination-ctrl__info"> + <span class="pagination-ctrl__info__text pagination-ctrl__info--current">{{ $pag.PageNumber }}</span> + <span class="pagination-ctrl__info__text"> {{ i18n "of" }} </span> + <span class="pagination-ctrl__info__text pagination-ctrl__info--total">{{ $pag.TotalPages}}</span> + </div> + {{ if $pag.HasNext}} + <a role="button" href="{{ $pag.Next.URL }}" class="pagination-ctrl__btn icon icon-paginationright pagination-ctrl__btn--next" aria-label="下一页" aria-disabled="false"> + {{ else }} + <a role="button" href="#" class="pagination-ctrl__btn icon icon-paginationright pagination-ctrl__btn--next pagination-ctrl__btn--disabled" aria-label="下一页" aria-disabled="true"> + {{ end }} + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#fff"> + <path d="M0 0h24v24H0V0z" fill="none"/> + <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z"/> + </svg> + </a> + </div> +</nav>
\ No newline at end of file diff --git a/themes/itheme/layouts/partials/tile.html b/themes/itheme/layouts/partials/tile.html new file mode 100644 index 0000000..e8ce881 --- /dev/null +++ b/themes/itheme/layouts/partials/tile.html @@ -0,0 +1,50 @@ + +<li + role="listitem" + {{- $itemClass := "" -}} + {{- if eq .level 1 -}} + {{- $itemClass = "item-hero" -}} + {{- else if eq .level 2 -}} + {{- $itemClass = "item-2up" -}} + {{- else if eq .level 3 -}} + {{- $itemClass = "item-3up" -}} + {{- end -}} + class="{{- printf "tile-item nr-scroll-animation %s" $itemClass -}}" + style="--nr-animation-transform-y:20%;" +> + <a + href={{ .context.Permalink }} + class="tile large-load medium-load small-load + {{ if eq .level 1 }} + tile-hero + {{ else if eq .level 2 }} + tile-2up + {{ else if eq .level 3 }} + tile-3up + {{ end }} + " + aria-label={{ .label }} + > + <div class="tile__media" aria-hidden="true"> + {{- $src := .context.Params.cover | default site.Params.defaultCover -}} + {{- with .context.Resources.GetMatch (printf "%s" ($src)) -}} + {{- $src = .RelPermalink -}} + {{- end -}} + <img class="cover image" data-src="{{ $src }}" alt="lt"/> + </div> + + <div class="tile__description" aria-hidden="true"> + <div class="tile__head"> + <div class="tile__category"> + {{ if .context.Params.tags }} + {{ range first 1 .context.Params.tags }} + {{.}} + {{ end }} + {{ end }} + </div> + <div class="tile__headline">{{ .context.Title }}</div> + </div> + <div class="tile__timestamp icon-hide icon icon-before icon-clock">{{ .context.Date | time.Format ":date_long" }}</div> + </div> + </a> +</li> diff --git a/themes/itheme/layouts/posts/list.html b/themes/itheme/layouts/posts/list.html new file mode 100644 index 0000000..50048eb --- /dev/null +++ b/themes/itheme/layouts/posts/list.html @@ -0,0 +1,27 @@ +{{ define "main" }} +<div class="results"> + <div class="results__content"> + + {{ range (.Paginate (.Pages.GroupByDate "2006-01")).PageGroups }} + <div class="result" role="group"> + + <!-- add day manually to parse as date--> + {{ $month := printf "%s%s" .Key "-01"}} + <h2 class="result__title">{{ $month | time.Format "January 2006" }}</h2> + {{ range .Pages }} + + {{ partial "archiveItem.html" (dict "context" .) }} + + {{ end }} + + </div> + {{ end }} + </div> +</div> + +{{ partial "pagination.html" . }} + + +{{ end }} + + diff --git a/themes/itheme/layouts/taxonomy/list.html b/themes/itheme/layouts/taxonomy/list.html new file mode 100644 index 0000000..9813909 --- /dev/null +++ b/themes/itheme/layouts/taxonomy/list.html @@ -0,0 +1,13 @@ +{{ define "main" }} +<div class="results"> + <div class="results__content"> + <div class="result" role="group"> + <h2 class="result__title">“{{ .Title }}”</h2> + {{ range .Pages }} + {{ partial "archiveItem.html" (dict "context" .) }} + {{ end }} + </div> + </div> +</div> + +{{ end }}
\ No newline at end of file diff --git a/themes/itheme/layouts/taxonomy/terms.html b/themes/itheme/layouts/taxonomy/terms.html new file mode 100644 index 0000000..a3844db --- /dev/null +++ b/themes/itheme/layouts/taxonomy/terms.html @@ -0,0 +1,15 @@ +{{ define "main" }} +<div class="results"> + <div class="results__content"> + <div class="result" role="group"> + <h2 class="result__title">“{{ i18n "allTags" }}”</h2> + <div class="tags-list"> + {{ range .Pages }} + <a href="/tags/{{.Title | urlize}}">{{ .Title }} ({{ len .Pages}}) </a> + {{ end }} + </div> + </div> + </div> +</div> + +{{ end }}
\ No newline at end of file diff --git a/themes/itheme/static/css/autocomplete-theme-classic.css b/themes/itheme/static/css/autocomplete-theme-classic.css new file mode 100644 index 0000000..e5efa34 --- /dev/null +++ b/themes/itheme/static/css/autocomplete-theme-classic.css @@ -0,0 +1,2 @@ +/*! @algolia/autocomplete-theme-classic 1.8.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */ +:root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form[focus-within]{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:11px;padding-left:calc(var(--aa-spacing)*0.75 - 1px);padding-right:8px;padding-right:var(--aa-spacing-half);width:47px;width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){.aa-LoadingIndicator,.aa-SubmitButton{padding-left:3px;padding-left:calc(var(--aa-spacing-half)/2 - 1px);width:39px;width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::-moz-placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input::placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:none;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 12.8333333333px;padding:0 calc(var(--aa-spacing)*0.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 10.1666666667px;padding:0 calc(var(--aa-spacing)*0.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:4px;border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:8px;padding:var(--aa-spacing-half);scrollbar-color:#fff #eaeaea;scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid #eaeaea;border-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right:2px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:16px;padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:8px .5em 8px 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 8px 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:8px;top:var(--aa-spacing-half);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128,126,163,.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;display:grid;min-height:40px;min-height:calc(var(--aa-spacing)*2.5);padding:4px;padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:28px;height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:28px;width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:20px;max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:20px;max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:8px;padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:36px;padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;grid-gap:4px;gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128,126,163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:"";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:8px;margin-left:var(--aa-spacing-half);margin-right:4px;margin-right:calc(var(--aa-spacing-half)/2);width:10px;width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;grid-gap:8px;gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:8px;height:var(--aa-spacing-half);width:8px;width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245,223,77,.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62,52,211,.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;grid-gap:4px;gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 -5.3333333333px;margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}}.aa-ItemActionButton svg{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:5.3333333333px;margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:8px 16px;padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,hsla(0,0%,100%,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:-8px;bottom:calc(var(--aa-spacing-half)*-1);content:"";height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0}.aa-PanelFooter,.aa-PanelHeader:after{z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128,126,163,.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:16px;padding:var(--aa-spacing);position:relative}.aa-PanelFooter:after{background-image:linear-gradient(hsla(0,0%,100%,0),rgba(128,126,163,.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:"";height:16px;height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:-16px;top:calc(var(--aa-spacing)*-1);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:8px 0 8px 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128,126,163,.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:8px;padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:inherit;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 8px;margin:0 0 0 var(--aa-spacing-half);padding:0 8px;padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:8px;padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 5.5px;padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 3px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:36px;width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-DetachedSearchButtonQuery{color:#262627;color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-DetachedSearchButtonPlaceholder[hidden]{display:none}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115,114,129,.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,hsla(0,0%,100%,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(hsla(0,0%,100%,0),#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:4px;border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:4px;border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}@media (hover:none) and (pointer:coarse){.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}
\ No newline at end of file diff --git a/themes/itheme/static/css/custom.css b/themes/itheme/static/css/custom.css new file mode 100644 index 0000000..3e89938 --- /dev/null +++ b/themes/itheme/static/css/custom.css @@ -0,0 +1,455 @@ +blockquote { + width: 653px; + margin-left: auto; + margin-right: auto; + box-sizing: border-box; +} + +@media only screen and (max-width: 1068px) { + blockquote { + width: 576px; + } +} + +@media only screen and (max-width: 734px) { + blockquote { + width: 87.5%; + max-width: 414px; + } +} + +h1.pagebody-header { + font-size: 1.5em; +} + +h2.pagebody-header{ + font-size: 1.4em; +} + +h3.pagebody-header{ + font-size: 1.3em; +} + +h4.pagebody-header{ + font-size: 1.2em; +} + +h5.pagebody-header{ + font-size: 1.1em; +} + +h6.pagebody-header{ + font-size: 1em; +} + +.code pre { + border-radius: 0; +} + +code { + margin: 0 0 0 0.2em; + line-height: 1.8em; +} + +.pagination-ctrl { + margin-top: 60px; + margin-bottom: 60px +} + +@media only screen and (max-width: 734px) { + .pagination-ctrl { + margin-top:13px; + margin-bottom: 45px + } +} + +.pagination-ctrl__content { + max-width: 980px; + margin: 0 auto; + padding: 0 22px; + max-width: 330px; + margin: 0 auto; + position: relative; + display: flex; + align-items: center +} + +@media only screen and (max-width: 734px) { + .pagination-ctrl__content { + padding:0 16px; + max-width:314px; + } +} + +.pagination-ctrl__btn { + display: block; + background-color: #06c; + border-radius: 100%; + font-size: 36px; + height: 1em; + line-height: 1em; + position: relative; + text-align: center; + transition: background-color 0.3s ease; + width: 1em +} + +.pagination-ctrl__btn.hide { + display: none +} + + +@media (hover: hover) { + .pagination-ctrl__btn:hover { + background-color:#1d1d1f; + text-decoration: none + } +} + +.pagination-ctrl__btn[data-focus-method=key] { + background-color: #1d1d1f; + text-decoration: none +} + +.pagination-ctrl__btn--disabled { + background-color: #c4c4c4; + pointer-events: none +} + +.pagination-ctrl__info { + font-size: 17px; + line-height: 1.47059; + font-weight: 400; + letter-spacing: -.022em; + font-family: "SF Pro Text","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif; + text-align: center; + flex: 1 0 1px +} + +.pagination-ctrl__info:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif +} + +.pagination-ctrl__info__text { + display: inline-block; + vertical-align: middle +} + + +.icon.icon-paginationleft { + transform: scaleX(-1) +} + + +.results__content { + margin-left: auto; + margin-right: auto; + width: 980px +} + +@media only screen and (min-width: 1441px) { + .results__content { + margin-left:auto; + margin-right: auto; + width: 980px + } +} + +@media only screen and (max-width: 1068px) { + .results__content { + margin-left:auto; + margin-right: auto; + width: 692px + } +} + +@media only screen and (max-width: 734px) { + .results__content { + margin-left:auto; + margin-right: auto; + width: 87.5% + } +} + +.result:last-of-type { + border-bottom: 1px solid #d2d2d7; + padding-bottom: 32px; + margin-bottom: 80px +} + +@media only screen and (max-width: 1068px) { + .result:last-of-type { + padding-bottom:24px; + margin-bottom: 64px + } +} + +@media only screen and (max-width: 734px) { + .result:last-of-type { + margin-bottom:44px + } +} + +.result__title { + margin-bottom: 16px; + font-size: 28px; + line-height: 1.14286; + font-weight: 700; + letter-spacing: .007em; + font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif; + margin-top: 52px +} + +.result__title:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif +} + +@media only screen and (max-width: 1068px) { + .result__title { + font-size:24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif + } + + .result__title:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif + } +} + +@media only screen and (max-width: 734px) { + .result__title { + font-size:21px; + line-height: 1.19048; + font-weight: 700; + letter-spacing: .011em; + font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif + } + + .result__title:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif + } +} + +@media only screen and (max-width: 1068px) { + .result__title { + margin-top:48px + } +} + +@media only screen and (max-width: 734px) { + .result__title { + margin-top:44px + } +} + +.result__summary { + color: #6e6e73; + text-transform: lowercase; + font-size: 12px; + line-height: 1.33337; + font-weight: 600; + letter-spacing: -.01em; + font-family: "SF Pro Text","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif; + margin-top: 40px; + margin-bottom: 32px +} + +.result__summary:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif +} + +@media only screen and (max-width: 1068px) { + .result__summary { + margin-bottom:24px + } +} + +@media only screen and (max-width: 734px) { + .result__summary { + margin-top:32px + } +} + +.result__item { + display: flex; + justify-content: flex-start; + margin: 0; + border-top: 1px solid #d2d2d7; + align-items: center; + padding: 32px 0 +} + +@media only screen and (max-width: 1068px) { + .result__item { + padding:24px 0 + } +} + +@media only screen and (max-width: 734px) { + .result__item { + align-items:flex-start + } +} + +.result__item:last-of-type { + padding-bottom: 0 +} + +.result__item.row-anchor:hover { + text-decoration: none +} + +.result__item .viewport-picture { + align-self: flex-start; + flex-shrink: 0; + font-size: 0; + width: 295px +} + +@media only screen and (max-width: 1068px) { + .result__item .viewport-picture { + width:264px + } +} + +@media only screen and (max-width: 734px) { + .result__item .viewport-picture { + width:106px + } +} + +.result__item .viewport-image { + width: 100%; + border-radius: 16px +} + +@media only screen and (max-width: 734px) { + .result__item .viewport-image { + border-radius:7px + } +} + + +.item__content { + margin-left: 32px +} + +@media only screen and (max-width: 1068px) { + .item__content { + margin-left:24px + } +} + +@media only screen and (max-width: 734px) { + .item__content { + margin-left:16px + } +} + +.item__category { + color: #6e6e73; + font-size: 12px; + line-height: 1.33337; + font-weight: 700; + letter-spacing: -.01em; + font-family: "SF Pro Text","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif; + text-transform: uppercase +} + +.item__category:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif +} + +.item__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif; + margin-top: 8px +} + +.item__headline:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif +} + +@media only screen and (max-width: 1068px) { + .item__headline { + font-size:21px; + line-height: 1.19048; + font-weight: 700; + letter-spacing: .011em; + font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif + } + + .item__headline:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Display","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif + } +} + +@media only screen and (max-width: 734px) { + .item__headline { + font-size:17px; + line-height: 1.23536; + font-weight: 700; + letter-spacing: -.022em; + font-family: "SF Pro Text","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif + } + + .item__headline:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif + } +} + +@media only screen and (max-width: 734px) { + .item__headline { + margin-top:4px + } +} + +.item__date { + color: #6e6e73; + font-size: 14px; + line-height: 1.42859; + font-weight: 600; + letter-spacing: -.016em; + font-family: "SF Pro Text","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif; + margin-top: 12px +} + +.item__date:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif +} + +@media only screen and (max-width: 734px) { + .item__date { + font-size:14px; + line-height: 1.28577; + font-weight: 600; + letter-spacing: -.016em; + font-family: "SF Pro Text","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif + } + + .item__date:lang(zh-CN) { + font-family: "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif + } +} + +@media only screen and (max-width: 734px) { + .item__date { + margin-top:8px + } +} + + +.tags-list a{ + color: var(--footer-link-color); + padding: 5px 1rem; + background: var(--footer-background); + border-radius: 5px; + margin-bottom: 1rem; + display: inline-block; + margin-right: 1rem; +}
\ No newline at end of file diff --git a/themes/itheme/static/css/global.css b/themes/itheme/static/css/global.css new file mode 100644 index 0000000..33d6b95 --- /dev/null +++ b/themes/itheme/static/css/global.css @@ -0,0 +1,7392 @@ +:root { + --black: #1d1d1f; + --bg-primary: #f5f5f7; + --gray-primary: #f2f2f2; + --gray-text: #515154; + --primary: #8129d9; + --blue: #0071e3; + --footer-background: #f5f5f7; + --footer-border-color: #d2d2d7; + --footer-text-color: #6e6e73; + --footer-link-color: #424245; + --footer-pipe-color: #86868b; + --footer-directory-title-color: #1d1d1f; + --footer-directory-title-color-hover: #000; +} + + +*, +::before, +::after { + box-sizing: inherit; +} + +html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0; + padding: 0 +} + +ul, +ol, +li, +dl, +dt, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hgroup, +p, +blockquote, +figure, +form, +fieldset, +input, +legend, +pre, +abbr, +button { + margin: 0; + padding: 0 +} + +pre, +code, +address, +caption, +th, +figcaption { + font-size: .875em; + font-family: SF Mono, monaco, -apple-system, roboto mono, monospace; + font-weight: normal; + font-style: normal +} + +fieldset, +iframe { + border: 0 +} + +caption, +th { + text-align: left +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +main, +summary, +details { + display: block +} + +audio, +canvas, +video, +progress { + vertical-align: baseline +} + +button { + background: none; + border: 0; + box-sizing: content-box; + color: inherit; + cursor: pointer; + font: inherit; + line-height: inherit; + overflow: visible; + vertical-align: inherit +} + +button:disabled { + cursor: default +} + +:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select), +:focus[data-focus-method="touch"]:not(input):not(textarea):not(select) { + outline: none +} + +::-moz-focus-inner { + border: 0; + padding: 0 +} + +html { + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + font-size: 106.25%; + quotes: "“" "”" +} + +body { + font-size: 17px; + line-height: 1.47059; + font-weight: 400; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + background-color: #fff; + color: #1d1d1f; + font-style: normal +} + +.content-body { + margin: 0 auto; + max-width: 980px; + padding: 0 22px; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 600; + color: #1d1d1f +} + +h1 img, +h2 img, +h3 img, +h4 img, +h5 img, +h6 img { + display: block; + margin: 0 +} + +h1+*, +h2+*, +h3+*, +h4+*, +h5+*, +h6+* { + margin-top: .8em +} + +h1+h1, +h1+h2, +h1+h3, +h1+h4, +h1+h5, +h1+h6, +h2+h1, +h2+h2, +h2+h3, +h2+h4, +h2+h5, +h2+h6, +h3+h1, +h3+h2, +h3+h3, +h3+h4, +h3+h5, +h3+h6, +h4+h1, +h4+h2, +h4+h3, +h4+h4, +h4+h5, +h4+h6, +h5+h1, +h5+h2, +h5+h3, +h5+h4, +h5+h5, +h5+h6, +h6+h1, +h6+h2, +h6+h3, +h6+h4, +h6+h5, +h6+h6 { + margin-top: .4em +} + +p+h1, +ul+h1, +ol+h1, +p+h2, +ul+h2, +ol+h2, +p+h3, +ul+h3, +ol+h3, +p+h4, +ul+h4, +ol+h4, +p+h5, +ul+h5, +ol+h5, +p+h6, +ul+h6, +ol+h6 { + margin-top: 1.6em +} + +.heading-collapsed+* { + margin-top: 0 +} + +p+*, +ul+*, +ol+* { + margin-top: .8em +} + +ul, +ol { + margin-left: 1.17647em +} + +ul ul, +ul ol, +ol ul, +ol ol { + margin-top: 0; + margin-bottom: 0 +} + +nav ul, +nav ol { + margin: 0; + list-style: none +} + +li li { + font-size: 1em +} + +a, +.link { + color: #06c; + letter-spacing: inherit +} + +a:link, +a:visited, +.link:link, +.link:visited { + text-decoration: none +} + +a:hover, +.link:hover { + text-decoration: underline +} + +a:active, +.link:active { + text-decoration: none +} + +a:disabled, +.link:disabled { + opacity: .32 +} + + +.css-sticky { + position: -webkit-sticky; + position: sticky; +} + +header{ + position: sticky; + top: 0; + z-index: 2; +} + +.nav { + position: relative; + top: 0; + left: 0; + width: 100%; + min-width: 1024px; + z-index: 9997; + height: 3.05882rem; + backdrop-filter: saturate(180%) blur(20px); +} + +.nav::after{ + position: absolute; + content: " "; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: rgba(255,255,255,0.7); +} + +.theme-dark .nav::after { + background: rgba(29,29,31,0.7); +} + +.nav-title { + color: #1d1d1f; + font-size: 21px; + line-height: 1.14286; + font-weight: 600; + letter-spacing: 0.011em; + cursor: default; + display: block; + float: left; + margin: 14px 0 -18px; + padding: 0; + height: 52px; + white-space: nowrap; +} + + +.nav-item-content { + font-size: 14px; + font-weight: 500; + text-decoration: none !important; + color: #676b5f; +} + +@media only screen and (max-width: 734px) { + .nav { + height: 2.82353rem; + } + + .nav-title { + font-size: 21px; + line-height: 21px; + } + + .nav-item-content { + font-size: 14px; + } +} + +@media only screen and (max-width: 1044px) { + .nav { + min-width: 320px; + } +} + +@media only screen and (max-width: 767px) { + .nav { + height: 48px; + } +} + +.nav-wrapper { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: auto; + min-height: 100%; + z-index: 1; +} + +.nav-content-wrapper { + margin: 0 auto; + max-width: 980px; + padding: 0 22px; + position: relative; + z-index: 2; +} + +.nav-content { + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; +} + +.nav-menu { + display: flex; + flex-direction: row; + align-items: center; +} + + + +a.nav-title:hover { + cursor: pointer; + text-decoration: none; +} + +.nav-item-wrapper { + margin: 0px 5px; + padding: 6px 10px; + border-radius: 10px; +} + + +.nav-item-wrapper a:hover { + color: #2997ff; +} + +.main { + padding: 0; + overflow-x: hidden +} + +.nr-scroll-animation { + --nr-animation-transform-x: 0; + --nr-animation-transform-y: 0; + --nr-animation-transform-scale: 1; + --nr-animation-duration: 800ms; +} + +.nr-scroll-animation--off { + opacity: 0 !important; +} + +.nr-scroll-animation--on { + animation-name: nr-scroll-animation; + animation-duration: var(--nr-animation-duration); + animation-timing-function: cubic-bezier(0.4, 0, 0.25, 1); +} + +.tile { + background-color: #fff; + display: flex; + border-radius: 16px; + overflow: hidden; + z-index: 0; + position: relative +} + +.tile .tile__description { + display: flex; + flex-direction: column; + flex-shrink: 0; + flex-grow: 1 +} + +.tile .tile__media { + direction: ltr +} + +@media only screen and (max-width: 734px) { + .tile { + border-radius: 12px + } +} + +.tile__category, +.tile__timestamp { + color: #6e6e73 +} + +.tile__headline { + color: #1d1d1f; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +@media (hover: hover) { + .tile:hover { + text-decoration: none + } +} + +.tile[data-focus-method=key] { + text-decoration: none +} + +.tile .media--video, +.tile .image { + transition: transform 400ms cubic-bezier(0.4, 0, 0.25, 1) 0ms +} + +@media (hover: hover) { + + html.no-touch.no-reduced-motion .tile:hover .image, + html.no-touch.no-reduced-motion .tile:hover .media--video { + transform: scale(1.03) + } +} + +html.no-touch.no-reduced-motion .tile[data-focus-method=key] .image, +html.no-touch.no-reduced-motion .tile[data-focus-method=key] .media--video { + transform: scale(1.03) +} + +.tile__category { + font-size: 12px; + line-height: 1.33337; + font-weight: 700; + letter-spacing: -.01em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(ar) { + line-height: 1.66667; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(ja) { + line-height: 1.41667; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(ko) { + line-height: 1.41667; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(zh) { + letter-spacing: 0em +} + +.tile__category:lang(th) { + line-height: 1.33337; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__category:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp { + font-size: 14px; + line-height: 1.28577; + font-weight: 600; + letter-spacing: -.016em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + display: flex; + justify-content: flex-start; + align-items: center +} + +.tile__timestamp:lang(ar) { + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(ja) { + line-height: 1.35718; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(ko) { + line-height: 1.42859; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(zh) { + letter-spacing: 0em +} + +.tile__timestamp:lang(th) { + line-height: 1.35718; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__timestamp:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile__media { + position: relative; + z-index: 0; + flex-grow: 0; + flex-shrink: 0; + overflow: hidden +} + +.image-load { + opacity: 0; + transform: translateY(20vh); +} + +.image-loaded { + opacity: 1; + transform: none; + transition: transform 800ms cubic-bezier(0.4, 0, 0.25, 1) 0ms, opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms +} + +html.js .tile[data-progressive-load] .image { + background-image: none +} + + +@keyframes nr-scroll-animation { + from { + opacity: 0; + transform: translate(var(--nr-animation-transform-x), var(--nr-animation-transform-y)) scale(var(--nr-animation-transform-scale)) + } + + to { + opacity: 1; + transform: translate(0, 0) scale(1) + } +} + +html.js .tile.large-load .image { + opacity: 0; + transform: translateY(20px); +} + +html.js .tile.large-loaded .image { + opacity: 1; + transform: none; + transition: transform 400ms cubic-bezier(0.4, 0, 0.25, 1) 0ms, opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms +} + +@media only screen and (max-width: 1068px) { + html.js .tile.medium-load .image { + opacity: 0; + transition: none; + transform: translateY(20px); + } + + html.js .tile.medium-loaded .image { + opacity: 1; + transform: none; + transition: transform 400ms cubic-bezier(0.4, 0, 0.25, 1) 0ms, opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms + } +} + +@media only screen and (max-width: 734px) { + html.js .tile.small-load .image { + opacity: 0; + transform: translateY(20px); + transition: none + } + + html.js .tile.small-loaded .image { + opacity: 1; + transform: none; + transition: transform 400ms cubic-bezier(0.4, 0, 0.25, 1) 0ms, opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms + } +} + +.image { + z-index: 0 +} + +@media only screen and (inverted-colors) { + .image { + filter: invert(1) + } +} + +.media--video { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 1 +} + +.video-ready .image { + display: none +} + +.everydayfeed { + padding-bottom: 80px; + overflow: hidden; + background-color: #f5f5f7; + margin-top: 0 +} + +@media only screen and (max-width: 1068px) { + .everydayfeed { + padding-bottom: 64px + } +} + +@media only screen and (max-width: 734px) { + .everydayfeed { + padding-bottom: 40px + } +} + +.everydayfeed .desktop-notification { + padding-top: 16px; + padding-bottom: 24px +} + +@media only screen and (max-width: 734px) { + .everydayfeed .desktop-notification { + padding-top: 12px; + padding-bottom: 12px + } +} + + +.section-content { + margin-left: auto; + margin-right: auto; + width: 980px; +} + +@media only screen and (min-width: 1441px) { + .section-content { + margin-left: auto; + margin-right: auto; + width: 980px; + } +} + +@media only screen and (max-width: 1068px) { + .section-content { + margin-left: auto; + margin-right: auto; + width: 692px; + } +} + +@media only screen and (max-width: 734px) { + .section-content { + margin-left: auto; + margin-right: auto; + width: 87.5%; + } +} + +@media only screen and (max-width: 734px) { + .section-content { + max-width: 366px; + } +} + +.section-head { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: 0.004em; + margin-top: 24px; + margin-bottom: 24px; +} + +@media only screen and (max-width: 1068px) { + .section-head { + font-size: 28px; + line-height: 1.14286; + font-weight: 700; + letter-spacing: 0.007em; + margin-bottom: 16px; + } +} + +.more-from-newsroom { + padding-top: 10px; + padding-bottom: 80px; + background-color: #fff; + overflow: hidden +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom { + padding-top: 14px; + padding-bottom: 64px + } +} + +@media only screen and (max-width: 734px) { + .more-from-newsroom { + padding-top: 10px; + padding-bottom: 52px + } +} + +.more-from-newsroom .section-head { + margin-bottom: 40px +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom .section-head { + margin-bottom: 28px + } +} + +@media only screen and (max-width: 734px) { + .more-from-newsroom .section-head { + margin-bottom: 24px + } +} + +.more-from-newsroom .section-tiles { + margin-right: -64px; + margin-top: 0; + justify-content: flex-start +} + +.more-from-newsroom .section-tiles::before { + margin-bottom: 32px +} + +.more-from-newsroom .section-tiles::after { + margin-top: 32px +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom .section-tiles { + margin-right: 0 + } + + .more-from-newsroom .section-tiles::before, + .more-from-newsroom .section-tiles::after { + width: 100% + } + + .more-from-newsroom .section-tiles::before { + margin-bottom: 24px + } + + .more-from-newsroom .section-tiles::after { + margin-top: 24px + } +} + +.more-from-newsroom .tile-item { + display: flex; + flex-direction: column; + width: 457px; + margin-bottom: 32px; + margin-right: 64px; + flex-grow: 1 +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom .tile-item { + margin-right: 0; + width: 100%; + margin-bottom: 24px + } +} + +.more-from-newsroom .tile-item::after { + content: ''; + flex: 0 0 auto; + height: 1px; + display: block; + background-color: #d0d0d0; + margin-top: 32px +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom .tile-item::after { + margin-top: 24px + } +} + +.more-from-newsroom .tile-item:nth-child(odd)::after { + width: calc(100% + (32px * 2)) +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom .tile-item:nth-child(odd)::after { + width: 100% + } +} + +.more-from-newsroom .tile-item:nth-last-of-type(1) { + margin-bottom: 0 +} + +.more-from-newsroom .tile-item:nth-last-of-type(1)::after { + display: none +} + +@media only screen and (min-width: 1069px) { + .more-from-newsroom .tile-item:nth-last-of-type(2):nth-of-type(odd) { + margin-bottom: 0 + } + + .more-from-newsroom .tile-item:nth-last-of-type(2):nth-of-type(odd)::after { + display: none + } +} + +.more-from-newsroom .view-archive-wrapper { + margin-top: 40px +} + +@media only screen and (max-width: 1068px) { + .more-from-newsroom .view-archive-wrapper { + margin-top: 28px + } +} + +@media only screen and (max-width: 734px) { + .more-from-newsroom .view-archive-wrapper { + margin-top: 24px + } +} + +.section-tiles { + align-items: stretch; + display: flex; + flex-flow: row wrap; + justify-content: space-between; + margin: 0 +} + +.section-tiles::after { + content: ''; + flex: 0 0 303px +} + + + +.section-tiles { + align-items: stretch; + display: flex; + flex-flow: row wrap; + justify-content: space-between; + margin: 0 +} + +.section-tiles::after { + content: ''; + flex: 0 0 303px +} + +@media only screen and (min-width: 1441px) { + .feature-stories .section-tiles::after { + content: none + } +} + + +.featured-header.with-keyline::after { + content: ''; + display: block; + border-top: 1px solid #d2d2d7; + width: 653px; + margin-left: auto; + margin-right: auto; + margin-top: 44px +} + +@media only screen and (max-width: 1068px) { + .featured-header.with-keyline::after { + width: 576px + } +} + +@media only screen and (max-width: 734px) { + .featured-header.with-keyline::after { + width: 87.5% + } +} + +@media only screen and (max-width: 1068px) { + .featured-header.with-keyline::after { + margin-top: 36px + } +} + +@media only screen and (max-width: 734px) { + .featured-header.with-keyline::after { + margin-top: 32px + } +} + +.featured-header .category-eyebrow { + display: flex; + justify-content: center; + margin-top: 16px +} + +@media only screen and (max-width: 734px) { + .featured-header .category-eyebrow { + margin-top: 20px + } +} + +.featured-header .category-eyebrow__category, +.featured-header .category-eyebrow__date { + color: #6e6e73; + margin: 4px 0 +} + +.featured-header .category-eyebrow__category { + display: flex; + align-items: center +} + +.featured-header .category-eyebrow__category::after { + color: #6e6e73; + content: '\2022'; + margin: 0 8px +} + +.featured-header .pagetitle .component-content { + width: 83.33333% +} + +@media only screen and (max-width: 1068px) { + .featured-header .pagetitle .component-content { + width: 100% + } +} + +@media only screen and (max-width: 734px) { + .featured-header .pagetitle .component-content { + margin-left: auto; + margin-right: auto; + width: 87.5% + } +} + +.featured-header .pagetitle .hero-headline { + font-size: 56px; + line-height: 1.07143; + font-weight: 700; + letter-spacing: -.005em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + text-align: center +} + +.featured-header .pagetitle .hero-headline:lang(ar) { + line-height: 1.21429; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(ja) { + line-height: 1.125; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(ko) { + line-height: 1.17865; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(zh) { + letter-spacing: 0em +} + +.featured-header .pagetitle .hero-headline:lang(th) { + line-height: 1.33929; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .pagetitle .hero-headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .featured-header .pagetitle .hero-headline { + font-size: 48px; + line-height: 1.08349; + font-weight: 700; + letter-spacing: -.003em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(ar) { + line-height: 1.25; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(ja) { + line-height: 1.14599; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(ko) { + line-height: 1.1875; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh) { + letter-spacing: 0em + } + + .featured-header .pagetitle .hero-headline:lang(th) { + line-height: 1.33349; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .featured-header .pagetitle .hero-headline { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: .004em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(ar) { + line-height: 1.34375; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(ja) { + line-height: 1.21875; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(ko) { + line-height: 1.21875; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .pagetitle .hero-headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.featured-header .featured-subhead { + font-size: 24px; + line-height: 1.16667; + font-weight: 500; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + text-align: center; + margin-top: 20px; + margin-bottom: 0 +} + +.featured-header .featured-subhead:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.featured-header .featured-subhead:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .featured-header .featured-subhead { + font-size: 21px; + line-height: 1.19048; + font-weight: 500; + letter-spacing: .011em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(ja) { + line-height: 1.2381; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(ko) { + line-height: 1.2858; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(th) { + line-height: 1.381; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(ar) { + line-height: 1.4286; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .featured-header .featured-subhead:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .featured-header .featured-subhead { + margin-top: 16px + } +} + +.featured-header .sharesheet { + text-align: center; + margin-top: 24px; + margin-bottom: 0 +} + +@media only screen and (max-width: 734px) { + .featured-header .sharesheet { + margin-top: 20px + } +} + +.theme-dark .featured-header .category-eyebrow__category, +.theme-dark .featured-header .category-eyebrow__date { + color: #86868b +} + +.tile-item { + position: relative; + list-style: none +} + +.tile-item:first-child.item-1up~.tile-item, +.tile-item:first-child.item-hero~.tile-item, +.tile-item:first-child.item-hero-secondary~.tile-item, +.tile-item:first-child.item-hero-highlight~.tile-item, +.tile-item:first-child.item-hero-highlight-secondary~.tile-item, +.tile-item:first-child.item-super-hero~.tile-item, +.tile-item:first-child.item-super-hero-secondary~.tile-item, +.tile-item:first-child.item-portrait~.tile-item, +.tile-item:first-child.item-portrait-secondary~.tile-item, +.tile-item:first-child.item-hero-reversed~.tile-item { + margin-top: 36px +} + +@media only screen and (max-width: 1068px) { + + .tile-item:first-child.item-1up~.tile-item, + .tile-item:first-child.item-hero~.tile-item, + .tile-item:first-child.item-hero-secondary~.tile-item, + .tile-item:first-child.item-hero-highlight~.tile-item, + .tile-item:first-child.item-hero-highlight-secondary~.tile-item, + .tile-item:first-child.item-super-hero~.tile-item, + .tile-item:first-child.item-super-hero-secondary~.tile-item, + .tile-item:first-child.item-portrait~.tile-item, + .tile-item:first-child.item-portrait-secondary~.tile-item, + .tile-item:first-child.item-hero-reversed~.tile-item { + margin-top: 24px + } +} + +@media only screen and (max-width: 1068px) { + + .tile-item:first-child.item-hero-secondary~ :nth-child(2), + .tile-item:first-child.item-hero-highlight-secondary~ :nth-child(2), + .tile-item:first-child.item-super-hero-secondary~ :nth-child(2), + .tile-item:first-child.item-portrait-secondary~ :nth-child(2) { + margin-top: 0 + } +} + +@media only screen and (max-width: 734px) { + + .tile-item:first-child.item-hero-secondary~ :nth-child(2), + .tile-item:first-child.item-hero-highlight-secondary~ :nth-child(2), + .tile-item:first-child.item-super-hero-secondary~ :nth-child(2), + .tile-item:first-child.item-portrait-secondary~ :nth-child(2) { + margin-top: 24px + } +} + +.tile-item:first-child.item-2up~ :nth-child(2)~.tile-item, +.tile-item:first-child.item-2up-feature~ :nth-child(2)~.tile-item { + margin-top: 36px +} + +@media only screen and (max-width: 1068px) { + + .tile-item:first-child.item-2up~ :nth-child(2)~.tile-item, + .tile-item:first-child.item-2up-feature~ :nth-child(2)~.tile-item { + margin-top: 24px + } +} + +@media only screen and (max-width: 734px) { + + .tile-item:first-child.item-2up~ :nth-child(2), + .tile-item:first-child.item-2up-feature~ :nth-child(2) { + margin-top: 24px + } +} + +.tile-item:first-child.item-3up~ :nth-child(3)~.tile-item { + margin-top: 36px +} + +@media only screen and (max-width: 1068px) { + .tile-item:first-child.item-3up~ :nth-child(3)~.tile-item { + margin-top: 24px + } +} + +@media only screen and (max-width: 1068px) { + .tile-item:first-child.item-3up~ :nth-child(3) { + margin-top: 24px + } +} + +@media only screen and (max-width: 734px) { + .tile-item:first-child.item-3up~ :nth-child(2) { + margin-top: 24px + } +} + + +.item-1up, +.item-hero, +.item-hero-reversed, +.item-hero-secondary, +.item-hero-highlight, +.item-hero-highlight-secondary, +.item-portrait, +.item-portrait-secondary, +.item-super-hero, +.item-super-hero-secondary { + flex-basis: 100% +} + +@media only screen and (max-width: 1068px) { + .item-2up-tertiary { + flex-basis: 100% + } + + .item-1up-secondary, + .item-hero-secondary, + .item-hero-highlight-secondary, + .item-portrait-secondary, + .item-super-hero-secondary { + flex-basis: auto + } +} + +@media only screen and (max-width: 734px) { + + .item-1up, + .item-1up-secondary, + .item-2up, + .item-2up-secondary, + .item-2up-tertiary, + .item-3up, + .item-3up-secondary, + .item-hero, + .item-hero-highlight-secondary, + .item-hero-secondary, + .item-hero-reversed, + .item-portrait-secondary, + .item-super-hero-secondary { + flex-basis: 100% + } +} + +.chiclet { + margin-left: auto; + margin-right: auto; + width: 150px; + height: 150px; + border-radius: 32px; + overflow: hidden +} + +@media only screen and (max-width: 1068px) { + .chiclet { + width: 110px; + height: 110px; + border-radius: 24px + } +} + +@media only screen and (max-width: 734px) { + .chiclet { + width: 104px; + height: 104px; + border-radius: 24px + } +} + +.chiclet img { + width: 100% +} + +.tile.tile { + height: 100% +} + +.tile.tile-1up { + width: 100% +} + +.tile.tile-2up { + flex-direction: column; + width: 472px +} + +.tile.tile-2up .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-2up .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-2up .tile__description { + padding: 32px; + justify-content: space-between; + flex-basis: auto +} + +.tile.tile-2up .tile__media { + flex-shrink: 0 +} + +.tile.tile-2up .image { + background-size: cover +} + +.tile.tile-2up .tile__media, +.tile.tile-2up .tile__image-container { + width: 100%; + height: 266px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-2up .tile__category { + margin-bottom: 8px +} + +.tile.tile-2up .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up { + flex-direction: column; + width: 333px + } + + .tile.tile-2up .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-2up .tile__media { + flex-shrink: 0 + } + + .tile.tile-2up .image { + background-size: cover + } + + .tile.tile-2up .tile__media, + .tile.tile-2up .tile__image-container { + width: 100%; + height: 187px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-2up .tile__category { + margin-bottom: 4px + } + + .tile.tile-2up .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up { + flex-direction: column; + width: 100% + } + + .tile.tile-2up .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-2up .tile__media { + flex-shrink: 0 + } + + .tile.tile-2up .image { + background-size: cover + } + + .tile.tile-2up .tile__media, + .tile.tile-2up .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-2up .tile__media .viewport-image, + .tile.tile-2up .tile__media .image, + .tile.tile-2up .tile__image-container .viewport-image, + .tile.tile-2up .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-2up .tile__category { + margin-bottom: 8px + } + + .tile.tile-2up .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-2up-secondary { + flex-direction: column; + width: 472px +} + +.tile.tile-2up-secondary .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-2up-secondary .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-secondary .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up-secondary .tile__headline { + font-size: 17px; + line-height: 1.23536; + font-weight: 700; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(ar) { + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(ko) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh) { + letter-spacing: 0em + } + + .tile.tile-2up-secondary .tile__headline:lang(th) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-2up-secondary .tile__description { + padding: 32px; + justify-content: space-between; + flex-basis: auto +} + +.tile.tile-2up-secondary .tile__media { + flex-shrink: 0 +} + +.tile.tile-2up-secondary .image { + background-size: cover +} + +.tile.tile-2up-secondary .tile__media, +.tile.tile-2up-secondary .tile__image-container { + width: 100%; + height: 266px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-2up-secondary .tile__category { + margin-bottom: 8px +} + +.tile.tile-2up-secondary .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-secondary { + flex-direction: column; + width: 333px + } + + .tile.tile-2up-secondary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-2up-secondary .tile__media { + flex-shrink: 0 + } + + .tile.tile-2up-secondary .image { + background-size: cover + } + + .tile.tile-2up-secondary .tile__media, + .tile.tile-2up-secondary .tile__image-container { + width: 100%; + height: 187px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-2up-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-2up-secondary .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up-secondary { + border-radius: revert; + overflow: revert; + z-index: revert; + position: revert; + background-color: transparent; + flex-direction: row; + width: 100% + } + + .tile.tile-2up-secondary .tile__media { + border-radius: 12px; + overflow: hidden; + z-index: 0; + position: relative + } + + .tile.tile-2up-secondary .tile__description { + padding: 0 0 0 16px; + justify-content: center; + flex-basis: 0 + } + + .tile.tile-2up-secondary .tile__media { + flex-shrink: 1 + } + + .tile.tile-2up-secondary .image { + background-size: contain + } + + .tile.tile-2up-secondary .tile__media, + .tile.tile-2up-secondary .tile__image-container { + width: 105px; + height: 105px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-2up-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-2up-secondary .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-2up-tertiary { + flex-direction: column; + width: 472px +} + +.tile.tile-2up-tertiary .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-2up-tertiary .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-tertiary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-tertiary .tile__headline { + font-size: 21px; + line-height: 1.19048; + font-weight: 700; + letter-spacing: .011em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(ja) { + line-height: 1.2381; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(ko) { + line-height: 1.2858; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(th) { + line-height: 1.381; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(ar) { + line-height: 1.4286; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up-tertiary .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-tertiary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-2up-tertiary .tile__description { + padding: 32px; + justify-content: space-between; + flex-basis: auto +} + +.tile.tile-2up-tertiary .tile__media { + flex-shrink: 0 +} + +.tile.tile-2up-tertiary .image { + background-size: cover +} + +.tile.tile-2up-tertiary .tile__media, +.tile.tile-2up-tertiary .tile__image-container { + width: 100%; + height: 266px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-2up-tertiary .tile__category { + margin-bottom: 8px +} + +.tile.tile-2up-tertiary .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-tertiary { + flex-direction: row; + width: 100% + } + + .tile.tile-2up-tertiary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: 0 + } + + .tile.tile-2up-tertiary .tile__media { + flex-shrink: 1 + } + + .tile.tile-2up-tertiary .image { + background-size: contain + } + + .tile.tile-2up-tertiary .tile__media, + .tile.tile-2up-tertiary .tile__image-container { + width: 100%; + height: auto; + min-height: 255px; + flex-basis: 453px; + flex-shrink: 1 + } + + .tile.tile-2up-tertiary .tile__category { + margin-bottom: 8px + } + + .tile.tile-2up-tertiary .tile__timestamp { + margin-top: 12px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up-tertiary { + flex-direction: column; + width: 100% + } + + .tile.tile-2up-tertiary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-2up-tertiary .tile__media { + flex-shrink: 0 + } + + .tile.tile-2up-tertiary .image { + background-size: cover + } + + .tile.tile-2up-tertiary .tile__media, + .tile.tile-2up-tertiary .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-2up-tertiary .tile__media .viewport-image, + .tile.tile-2up-tertiary .tile__media .image, + .tile.tile-2up-tertiary .tile__image-container .viewport-image, + .tile.tile-2up-tertiary .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-2up-tertiary .tile__category { + margin-bottom: 8px + } + + .tile.tile-2up-tertiary .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-2up-feature { + display: block; + position: relative; + flex-direction: column; + width: 472px +} + +.tile.tile-2up-feature .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-2up-feature .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-2up-feature .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-feature .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-2up-feature .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-2up-feature .tile__gradient { + position: absolute; + bottom: 0; + width: 100%; + z-index: 0 +} + +.tile.tile-2up-feature .tile__gradient::before { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 250%; + z-index: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.77311) 12.83%, rgba(0, 0, 0, 0.72685) 24%, rgba(0, 0, 0, 0.66487) 33.77%, rgba(0, 0, 0, 0.59081) 42.37%, rgba(0, 0, 0, 0.50831) 50.07%, rgba(0, 0, 0, 0.421) 57.13%, rgba(0, 0, 0, 0.33252) 63.78%, rgba(0, 0, 0, 0.24652) 70.3%, rgba(0, 0, 0, 0.16663) 76.92%, rgba(0, 0, 0, 0.09648) 83.91%, rgba(0, 0, 0, 0.03973) 91.52%, rgba(0, 0, 0, 0)); + background-size: 100.1% 100.1% +} + +.tile.tile-2up-feature .tile__gradient.autoplay-controls-wrapper { + z-index: 3 +} + +.tile.tile-2up-feature .tile__description { + width: 100%; + box-sizing: border-box; + position: relative; + z-index: 2 +} + +.tile.tile-2up-feature .tile__description-has-controls { + display: flex; + flex-direction: row +} + +.tile.tile-2up-feature .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 44px); + box-sizing: border-box; + padding-right: 16px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-feature .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 36px) + } +} + +.tile.tile-2up-feature .tile__description-has-controls .autoplay-controls-container { + flex: 1 44px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-feature .tile__description-has-controls .autoplay-controls-container { + flex: 1 36px + } +} + +.tile.tile-2up-feature .tile__description-content { + display: flex; + flex-direction: column +} + +.tile.tile-2up-feature .tile__headline, +.tile.tile-2up-feature .tile__category, +.tile.tile-2up-feature .tile__timestamp { + color: #fff +} + +.tile.tile-2up-feature .tile__category { + margin-bottom: 12px +} + +.tile.tile-2up-feature .tile__timestamp { + margin-top: 12px +} + +.tile.tile-2up-feature .tile__description { + padding: 0 36px 36px +} + +.tile.tile-2up-feature .tile__media { + width: 980px; + height: 551px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-feature .tile__category { + margin-bottom: 8px + } + + .tile.tile-2up-feature .tile__timestamp { + margin-top: 8px + } + + .tile.tile-2up-feature .tile__description { + padding: 0 24px 24px + } + + .tile.tile-2up-feature .tile__media { + width: 692px; + height: 389px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up-feature .tile__category { + margin-bottom: 4px + } + + .tile.tile-2up-feature .tile__timestamp { + margin-top: 8px + } + + .tile.tile-2up-feature .tile__description { + padding: 0 24px 24px + } + + .tile.tile-2up-feature .tile__media { + width: 100%; + padding-top: 125%; + height: 0; + position: relative + } + + .tile.tile-2up-feature .tile__media .viewport-image, + .tile.tile-2up-feature .tile__media .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } +} + +.tile.tile-2up-feature .tile__description { + padding: 36px; + justify-content: space-between; + flex-basis: auto +} + +.tile.tile-2up-feature .tile__media { + flex-shrink: 0 +} + +.tile.tile-2up-feature .image { + background-size: cover +} + +.tile.tile-2up-feature .tile__media, +.tile.tile-2up-feature .tile__image-container { + width: 100%; + height: 472px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-2up-feature .tile__category { + margin-bottom: 4px +} + +.tile.tile-2up-feature .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-2up-feature { + flex-direction: column; + width: 334px + } + + .tile.tile-2up-feature .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-2up-feature .tile__media { + flex-shrink: 0 + } + + .tile.tile-2up-feature .image { + background-size: cover + } + + .tile.tile-2up-feature .tile__media, + .tile.tile-2up-feature .tile__image-container { + width: 100%; + height: 334px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-2up-feature .tile__category { + margin-bottom: 4px + } + + .tile.tile-2up-feature .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-2up-feature { + flex-direction: column; + width: 100% + } + + .tile.tile-2up-feature .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-2up-feature .tile__media { + flex-shrink: 0 + } + + .tile.tile-2up-feature .image { + background-size: cover + } + + .tile.tile-2up-feature .tile__media, + .tile.tile-2up-feature .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-2up-feature .tile__media .viewport-image, + .tile.tile-2up-feature .tile__media .image, + .tile.tile-2up-feature .tile__image-container .viewport-image, + .tile.tile-2up-feature .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-2up-feature .tile__category { + margin-bottom: 8px + } + + .tile.tile-2up-feature .tile__timestamp { + margin-top: 8px + } + + .tile.tile-2up-feature .tile__gradient { + position: relative + } + + .tile.tile-2up-feature .tile__gradient::before { + content: none + } + + .tile.tile-2up-feature .viewport-image { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 + } +} + +.tile.tile-3up { + flex-direction: column; + width: 303px +} + +.tile.tile-3up .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-3up .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto +} + +.tile.tile-3up .tile__media { + flex-shrink: 0 +} + +.tile.tile-3up .image { + background-size: cover +} + +.tile.tile-3up .tile__media, +.tile.tile-3up .tile__image-container { + width: 100%; + height: 170px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-3up .tile__category { + margin-bottom: 4px +} + +.tile.tile-3up .tile__timestamp { + margin-top: 8px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-3up { + flex-direction: column; + width: 333px + } + + .tile.tile-3up .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-3up .tile__media { + flex-shrink: 0 + } + + .tile.tile-3up .image { + background-size: cover + } + + .tile.tile-3up .tile__media, + .tile.tile-3up .tile__image-container { + width: 100%; + height: 187px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-3up .tile__category { + margin-bottom: 4px + } + + .tile.tile-3up .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-3up { + flex-direction: column; + width: 100% + } + + .tile.tile-3up .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-3up .tile__media { + flex-shrink: 0 + } + + .tile.tile-3up .image { + background-size: cover + } + + .tile.tile-3up .tile__media, + .tile.tile-3up .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-3up .tile__media .viewport-image, + .tile.tile-3up .tile__media .image, + .tile.tile-3up .tile__image-container .viewport-image, + .tile.tile-3up .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-3up .tile__category { + margin-bottom: 8px + } + + .tile.tile-3up .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-3up-secondary { + flex-direction: column; + width: 303px +} + +.tile.tile-3up-secondary .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-3up-secondary .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-3up-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 734px) { + .tile.tile-3up-secondary .tile__headline { + font-size: 17px; + line-height: 1.23536; + font-weight: 700; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(ar) { + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(ko) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(zh) { + letter-spacing: 0em + } + + .tile.tile-3up-secondary .tile__headline:lang(th) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-3up-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-3up-secondary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto +} + +.tile.tile-3up-secondary .tile__media { + flex-shrink: 0 +} + +.tile.tile-3up-secondary .image { + background-size: cover +} + +.tile.tile-3up-secondary .tile__media, +.tile.tile-3up-secondary .tile__image-container { + width: 100%; + height: 170px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-3up-secondary .tile__category { + margin-bottom: 4px +} + +.tile.tile-3up-secondary .tile__timestamp { + margin-top: 8px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-3up-secondary { + flex-direction: column; + width: 333px + } + + .tile.tile-3up-secondary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-3up-secondary .tile__media { + flex-shrink: 0 + } + + .tile.tile-3up-secondary .image { + background-size: cover + } + + .tile.tile-3up-secondary .tile__media, + .tile.tile-3up-secondary .tile__image-container { + width: 100%; + height: 187px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-3up-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-3up-secondary .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-3up-secondary { + border-radius: revert; + overflow: revert; + z-index: revert; + position: revert; + background-color: transparent; + flex-direction: row; + width: 100% + } + + .tile.tile-3up-secondary .tile__media { + border-radius: 12px; + overflow: hidden; + z-index: 0; + position: relative + } + + .tile.tile-3up-secondary .tile__description { + padding: 0 0 0 16px; + justify-content: center; + flex-basis: 0 + } + + .tile.tile-3up-secondary .tile__media { + flex-shrink: 1 + } + + .tile.tile-3up-secondary .image { + background-size: contain + } + + .tile.tile-3up-secondary .tile__media, + .tile.tile-3up-secondary .tile__image-container { + width: 105px; + height: 105px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-3up-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-3up-secondary .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-hero { + flex-direction: row; + width: 100% +} + +.tile.tile-hero .tile__headline { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: .004em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-hero .tile__headline:lang(ar) { + line-height: 1.34375; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(ja) { + line-height: 1.21875; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(ko) { + line-height: 1.21875; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero .tile__headline { + font-size: 21px; + line-height: 1.19048; + font-weight: 700; + letter-spacing: .011em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(ja) { + line-height: 1.2381; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(ko) { + line-height: 1.2858; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(th) { + line-height: 1.381; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(ar) { + line-height: 1.4286; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-hero .tile__description { + padding: 32px; + justify-content: space-between; + flex-basis: 0 +} + +.tile.tile-hero .tile__media { + flex-shrink: 1 +} + +.tile.tile-hero .image { + background-size: contain +} + +.tile.tile-hero .tile__media, +.tile.tile-hero .tile__image-container { + width: 100%; + height: auto; + min-height: 362px; + flex-basis: 643px; + flex-shrink: 1 +} + +.tile.tile-hero .tile__category { + margin-bottom: 8px +} + +.tile.tile-hero .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero { + flex-direction: row; + width: 100% + } + + .tile.tile-hero .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: 0 + } + + .tile.tile-hero .tile__media { + flex-shrink: 1 + } + + .tile.tile-hero .image { + background-size: contain + } + + .tile.tile-hero .tile__media, + .tile.tile-hero .tile__image-container { + width: 100%; + height: auto; + min-height: 255px; + flex-basis: 453px; + flex-shrink: 1 + } + + .tile.tile-hero .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero .tile__timestamp { + margin-top: 12px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero { + flex-direction: column; + width: 100% + } + + .tile.tile-hero .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-hero .tile__media { + flex-shrink: 0 + } + + .tile.tile-hero .image { + background-size: cover + } + + .tile.tile-hero .tile__media, + .tile.tile-hero .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-hero .tile__media .viewport-image, + .tile.tile-hero .tile__media .image, + .tile.tile-hero .tile__image-container .viewport-image, + .tile.tile-hero .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-hero .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-hero .tile__headline:lang(ar) { + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero .tile__headline:lang(ar) { + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden + } +} + +.tile.tile-hero:lang(ar) .image { + background-size: cover +} + +.tile.tile-hero-reversed { + flex-direction: row-reverse; + width: 100% +} + +.tile.tile-hero-reversed .tile__headline { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: .004em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-hero-reversed .tile__headline:lang(ar) { + line-height: 1.34375; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(ja) { + line-height: 1.21875; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(ko) { + line-height: 1.21875; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-reversed .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-reversed .tile__headline { + font-size: 21px; + line-height: 1.19048; + font-weight: 700; + letter-spacing: .011em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(ja) { + line-height: 1.2381; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(ko) { + line-height: 1.2858; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(th) { + line-height: 1.381; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(ar) { + line-height: 1.4286; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-reversed .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-reversed .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-hero-reversed .tile__description { + padding: 32px; + justify-content: space-between; + flex-basis: 0 +} + +.tile.tile-hero-reversed .tile__media { + flex-shrink: 1 +} + +.tile.tile-hero-reversed .image { + background-size: contain +} + +.tile.tile-hero-reversed .tile__media, +.tile.tile-hero-reversed .tile__image-container { + width: 100%; + height: auto; + min-height: 362px; + flex-basis: 643px; + flex-shrink: 1 +} + +.tile.tile-hero-reversed .tile__category { + margin-bottom: 8px +} + +.tile.tile-hero-reversed .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-reversed { + flex-direction: row-reverse; + width: 100% + } + + .tile.tile-hero-reversed .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: 0 + } + + .tile.tile-hero-reversed .tile__media { + flex-shrink: 1 + } + + .tile.tile-hero-reversed .image { + background-size: contain + } + + .tile.tile-hero-reversed .tile__media, + .tile.tile-hero-reversed .tile__image-container { + width: 100%; + height: auto; + min-height: 255px; + flex-basis: 453px; + flex-shrink: 1 + } + + .tile.tile-hero-reversed .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-reversed .tile__timestamp { + margin-top: 12px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-reversed { + flex-direction: column; + width: 100% + } + + .tile.tile-hero-reversed .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-hero-reversed .tile__media { + flex-shrink: 0 + } + + .tile.tile-hero-reversed .image { + background-size: cover + } + + .tile.tile-hero-reversed .tile__media, + .tile.tile-hero-reversed .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-hero-reversed .tile__media .viewport-image, + .tile.tile-hero-reversed .tile__media .image, + .tile.tile-hero-reversed .tile__image-container .viewport-image, + .tile.tile-hero-reversed .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-hero-reversed .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-reversed .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-hero-reversed:lang(ar) .image { + background-size: cover +} + +.tile.tile-hero-highlight .tile__headline, +.tile.tile-hero-highlight-secondary .tile__headline { + font-size: 40px; + line-height: 1.1; + font-weight: 700; + letter-spacing: 0em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-hero-highlight .tile__headline:lang(ar), +.tile.tile-hero-highlight-secondary .tile__headline:lang(ar) { + line-height: 1.3; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(ja), +.tile.tile-hero-highlight-secondary .tile__headline:lang(ja) { + line-height: 1.175; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(ko), +.tile.tile-hero-highlight-secondary .tile__headline:lang(ko) { + line-height: 1.2; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(th), +.tile.tile-hero-highlight-secondary .tile__headline:lang(th) { + line-height: 1.35; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(zh-CN), +.tile.tile-hero-highlight-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(zh-HK), +.tile.tile-hero-highlight-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(zh-MO), +.tile.tile-hero-highlight-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight .tile__headline:lang(zh-TW), +.tile.tile-hero-highlight-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + + .tile.tile-hero-highlight .tile__headline, + .tile.tile-hero-highlight-secondary .tile__headline { + font-size: 28px; + line-height: 1.14286; + font-weight: 700; + letter-spacing: .007em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(ko), + .tile.tile-hero-highlight-secondary .tile__headline:lang(ko) { + line-height: 1.25; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(th), + .tile.tile-hero-highlight-secondary .tile__headline:lang(th) { + line-height: 1.39286; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(ar), + .tile.tile-hero-highlight-secondary .tile__headline:lang(ar) { + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(ja), + .tile.tile-hero-highlight-secondary .tile__headline:lang(ja) { + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-CN), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-HK), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-MO), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-TW), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + + .tile.tile-hero-highlight .tile__headline, + .tile.tile-hero-highlight-secondary .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(ar), + .tile.tile-hero-highlight-secondary .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(ja), + .tile.tile-hero-highlight-secondary .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(ko), + .tile.tile-hero-highlight-secondary .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(th), + .tile.tile-hero-highlight-secondary .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-CN), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-HK), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-MO), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight .tile__headline:lang(zh-TW), + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + + + +html.js .tile.tile-hero-highlight[data-progressive-load], +html.js .tile.tile-hero-highlight-secondary[data-progressive-load] { + opacity: 0 +} + +html.js .tile.tile-hero-highlight.large-load, +html.js .tile.tile-hero-highlight-secondary.large-load { + opacity: 0; + transition: none +} + +html.js .tile.tile-hero-highlight.large-loaded, +html.js .tile.tile-hero-highlight-secondary.large-loaded { + opacity: 1; + transition: opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms +} + +@media only screen and (max-width: 1068px) { + + html.js .tile.tile-hero-highlight.medium-load, + html.js .tile.tile-hero-highlight-secondary.medium-load { + opacity: 0; + transition: none + } + + html.js .tile.tile-hero-highlight.medium-loaded, + html.js .tile.tile-hero-highlight-secondary.medium-loaded { + opacity: 1; + transition: opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms + } +} + +@media only screen and (max-width: 734px) { + + html.js .tile.tile-hero-highlight.small-load, + html.js .tile.tile-hero-highlight-secondary.small-load { + opacity: 0; + transition: none + } + + html.js .tile.tile-hero-highlight.small-loaded, + html.js .tile.tile-hero-highlight-secondary.small-loaded { + opacity: 1; + transition: opacity 1s cubic-bezier(0.4, 0, 0.25, 1) 0ms + } +} + +.tile.tile-hero-highlight { + display: block; + position: relative +} + +.tile.tile-hero-highlight .tile__gradient { + position: absolute; + bottom: 0; + width: 100%; + z-index: 0 +} + +.tile.tile-hero-highlight .tile__gradient::before { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 250%; + z-index: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.77311) 12.83%, rgba(0, 0, 0, 0.72685) 24%, rgba(0, 0, 0, 0.66487) 33.77%, rgba(0, 0, 0, 0.59081) 42.37%, rgba(0, 0, 0, 0.50831) 50.07%, rgba(0, 0, 0, 0.421) 57.13%, rgba(0, 0, 0, 0.33252) 63.78%, rgba(0, 0, 0, 0.24652) 70.3%, rgba(0, 0, 0, 0.16663) 76.92%, rgba(0, 0, 0, 0.09648) 83.91%, rgba(0, 0, 0, 0.03973) 91.52%, rgba(0, 0, 0, 0)); + background-size: 100.1% 100.1% +} + +.tile.tile-hero-highlight .tile__gradient.autoplay-controls-wrapper { + z-index: 3 +} + +.tile.tile-hero-highlight .tile__description { + width: 100%; + box-sizing: border-box; + position: relative; + z-index: 2 +} + +.tile.tile-hero-highlight .tile__description-has-controls { + display: flex; + flex-direction: row +} + +.tile.tile-hero-highlight .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 44px); + box-sizing: border-box; + padding-right: 16px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 36px) + } +} + +.tile.tile-hero-highlight .tile__description-has-controls .autoplay-controls-container { + flex: 1 44px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight .tile__description-has-controls .autoplay-controls-container { + flex: 1 36px + } +} + +.tile.tile-hero-highlight .tile__description-content { + display: flex; + flex-direction: column +} + +.tile.tile-hero-highlight .tile__headline, +.tile.tile-hero-highlight .tile__category, +.tile.tile-hero-highlight .tile__timestamp { + color: #fff +} + +.tile.tile-hero-highlight .tile__category { + margin-bottom: 12px +} + +.tile.tile-hero-highlight .tile__timestamp { + margin-top: 12px +} + +.tile.tile-hero-highlight .tile__description { + padding: 0 36px 36px +} + +.tile.tile-hero-highlight .tile__media { + width: 980px; + height: 551px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-highlight .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight .tile__media { + width: 692px; + height: 389px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-highlight .tile__category { + margin-bottom: 4px + } + + .tile.tile-hero-highlight .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight .tile__media { + width: 100%; + padding-top: 125%; + height: 0; + position: relative + } + + .tile.tile-hero-highlight .tile__media .viewport-image, + .tile.tile-hero-highlight .tile__media .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } +} + +@media only screen and (min-width: 1069px) { + .tile.tile-hero-highlight-secondary { + display: block; + position: relative + } + + .tile.tile-hero-highlight-secondary .tile__gradient { + position: absolute; + bottom: 0; + width: 100%; + z-index: 0 + } + + .tile.tile-hero-highlight-secondary .tile__gradient::before { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 250%; + z-index: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.77311) 12.83%, rgba(0, 0, 0, 0.72685) 24%, rgba(0, 0, 0, 0.66487) 33.77%, rgba(0, 0, 0, 0.59081) 42.37%, rgba(0, 0, 0, 0.50831) 50.07%, rgba(0, 0, 0, 0.421) 57.13%, rgba(0, 0, 0, 0.33252) 63.78%, rgba(0, 0, 0, 0.24652) 70.3%, rgba(0, 0, 0, 0.16663) 76.92%, rgba(0, 0, 0, 0.09648) 83.91%, rgba(0, 0, 0, 0.03973) 91.52%, rgba(0, 0, 0, 0)); + background-size: 100.1% 100.1% + } + + .tile.tile-hero-highlight-secondary .tile__gradient.autoplay-controls-wrapper { + z-index: 3 + } + + .tile.tile-hero-highlight-secondary .tile__description { + width: 100%; + box-sizing: border-box; + position: relative; + z-index: 2 + } + + .tile.tile-hero-highlight-secondary .tile__description-has-controls { + display: flex; + flex-direction: row + } + + .tile.tile-hero-highlight-secondary .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 44px); + box-sizing: border-box; + padding-right: 16px + } +} + +@media only screen and (min-width: 1069px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 36px) + } +} + +@media only screen and (min-width: 1069px) { + .tile.tile-hero-highlight-secondary .tile__description-has-controls .autoplay-controls-container { + flex: 1 44px + } +} + +@media only screen and (min-width: 1069px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__description-has-controls .autoplay-controls-container { + flex: 1 36px + } +} + +@media only screen and (min-width: 1069px) { + .tile.tile-hero-highlight-secondary .tile__description-content { + display: flex; + flex-direction: column + } + + .tile.tile-hero-highlight-secondary .tile__headline, + .tile.tile-hero-highlight-secondary .tile__category, + .tile.tile-hero-highlight-secondary .tile__timestamp { + color: #fff + } + + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 12px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 12px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 0 36px 36px + } + + .tile.tile-hero-highlight-secondary .tile__media { + width: 980px; + height: 551px + } +} + +@media only screen and (min-width: 1069px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight-secondary .tile__media { + width: 692px; + height: 389px + } +} + +@media only screen and (min-width: 1069px) and (max-width: 734px) { + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight-secondary .tile__media { + width: 100%; + padding-top: 125%; + height: 0; + position: relative + } + + .tile.tile-hero-highlight-secondary .tile__media .viewport-image, + .tile.tile-hero-highlight-secondary .tile__media .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary { + flex-direction: column; + width: 333px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-hero-highlight-secondary .tile__media { + flex-shrink: 0 + } + + .tile.tile-hero-highlight-secondary .image { + background-size: cover + } + + .tile.tile-hero-highlight-secondary .tile__media, + .tile.tile-hero-highlight-secondary .tile__image-container { + width: 100%; + height: 187px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-secondary .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 1068px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .autoplay-controls-container { + position: absolute; + top: calc(187px - (36px + 16px)) + } + + .tile.tile-hero-highlight-secondary .tile__gradient { + flex: 1 + } + + .tile.tile-hero-highlight-secondary .tile__description { + box-sizing: border-box; + height: 100% + } + + .tile.tile-hero-highlight-secondary .tile__description-content { + display: flex; + flex-direction: column; + height: 100%; + justify-content: space-between + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-highlight-secondary { + display: block; + position: relative; + width: 100% + } + + .tile.tile-hero-highlight-secondary .tile__gradient { + position: absolute; + bottom: 0; + width: 100%; + z-index: 0 + } + + .tile.tile-hero-highlight-secondary .tile__gradient::before { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 250%; + z-index: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.77311) 12.83%, rgba(0, 0, 0, 0.72685) 24%, rgba(0, 0, 0, 0.66487) 33.77%, rgba(0, 0, 0, 0.59081) 42.37%, rgba(0, 0, 0, 0.50831) 50.07%, rgba(0, 0, 0, 0.421) 57.13%, rgba(0, 0, 0, 0.33252) 63.78%, rgba(0, 0, 0, 0.24652) 70.3%, rgba(0, 0, 0, 0.16663) 76.92%, rgba(0, 0, 0, 0.09648) 83.91%, rgba(0, 0, 0, 0.03973) 91.52%, rgba(0, 0, 0, 0)); + background-size: 100.1% 100.1% + } + + .tile.tile-hero-highlight-secondary .tile__gradient.autoplay-controls-wrapper { + z-index: 3 + } + + .tile.tile-hero-highlight-secondary .tile__description { + width: 100%; + box-sizing: border-box; + position: relative; + z-index: 2 + } + + .tile.tile-hero-highlight-secondary .tile__description-has-controls { + display: flex; + flex-direction: row + } + + .tile.tile-hero-highlight-secondary .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 44px); + box-sizing: border-box; + padding-right: 16px + } +} + +@media only screen and (max-width: 734px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 36px) + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-highlight-secondary .tile__description-has-controls .autoplay-controls-container { + flex: 1 44px + } +} + +@media only screen and (max-width: 734px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__description-has-controls .autoplay-controls-container { + flex: 1 36px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-highlight-secondary .tile__description-content { + display: flex; + flex-direction: column + } + + .tile.tile-hero-highlight-secondary .tile__headline, + .tile.tile-hero-highlight-secondary .tile__category, + .tile.tile-hero-highlight-secondary .tile__timestamp { + color: #fff + } + + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 12px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 12px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 0 36px 36px + } + + .tile.tile-hero-highlight-secondary .tile__media { + width: 980px; + height: 551px + } +} + +@media only screen and (max-width: 734px) and (max-width: 1068px) { + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight-secondary .tile__media { + width: 692px; + height: 389px + } +} + +@media only screen and (max-width: 734px) and (max-width: 734px) { + .tile.tile-hero-highlight-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-hero-highlight-secondary .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-secondary .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight-secondary .tile__media { + width: 100%; + padding-top: 125%; + height: 0; + position: relative + } + + .tile.tile-hero-highlight-secondary .tile__media .viewport-image, + .tile.tile-hero-highlight-secondary .tile__media .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } +} + +.tile.tile-hero-highlight-feature { + display: block; + position: relative; + display: flex +} + +.tile.tile-hero-highlight-feature .tile__headline { + font-size: 40px; + line-height: 1.1; + font-weight: 700; + letter-spacing: 0em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(ar) { + line-height: 1.3; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(ja) { + line-height: 1.175; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(ko) { + line-height: 1.2; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(th) { + line-height: 1.35; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-highlight-feature .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight-feature .tile__headline { + font-size: 28px; + line-height: 1.14286; + font-weight: 700; + letter-spacing: .007em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(ko) { + line-height: 1.25; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(th) { + line-height: 1.39286; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(ar) { + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(ja) { + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-highlight-feature .tile__headline { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-highlight-feature .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-hero-highlight-feature .tile__gradient { + position: absolute; + bottom: 0; + width: 100%; + z-index: 0 +} + +.tile.tile-hero-highlight-feature .tile__gradient::before { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 250%; + z-index: 0; + background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.77311) 12.83%, rgba(0, 0, 0, 0.72685) 24%, rgba(0, 0, 0, 0.66487) 33.77%, rgba(0, 0, 0, 0.59081) 42.37%, rgba(0, 0, 0, 0.50831) 50.07%, rgba(0, 0, 0, 0.421) 57.13%, rgba(0, 0, 0, 0.33252) 63.78%, rgba(0, 0, 0, 0.24652) 70.3%, rgba(0, 0, 0, 0.16663) 76.92%, rgba(0, 0, 0, 0.09648) 83.91%, rgba(0, 0, 0, 0.03973) 91.52%, rgba(0, 0, 0, 0)); + background-size: 100.1% 100.1% +} + +.tile.tile-hero-highlight-feature .tile__gradient.autoplay-controls-wrapper { + z-index: 3 +} + +.tile.tile-hero-highlight-feature .tile__description { + width: 100%; + box-sizing: border-box; + position: relative; + z-index: 2 +} + +.tile.tile-hero-highlight-feature .tile__description-has-controls { + display: flex; + flex-direction: row +} + +.tile.tile-hero-highlight-feature .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 44px); + box-sizing: border-box; + padding-right: 16px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight-feature .tile__description-has-controls .tile__description-content { + flex: 1 calc(100% - 36px) + } +} + +.tile.tile-hero-highlight-feature .tile__description-has-controls .autoplay-controls-container { + flex: 1 44px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight-feature .tile__description-has-controls .autoplay-controls-container { + flex: 1 36px + } +} + +.tile.tile-hero-highlight-feature .tile__description-content { + display: flex; + flex-direction: column +} + +.tile.tile-hero-highlight-feature .tile__headline, +.tile.tile-hero-highlight-feature .tile__category, +.tile.tile-hero-highlight-feature .tile__timestamp { + color: #fff +} + +.tile.tile-hero-highlight-feature .tile__category { + margin-bottom: 12px +} + +.tile.tile-hero-highlight-feature .tile__timestamp { + margin-top: 12px +} + +.tile.tile-hero-highlight-feature .tile__description { + padding: 0 36px 36px +} + +.tile.tile-hero-highlight-feature .tile__media { + width: 980px; + height: 551px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-highlight-feature .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-highlight-feature .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-feature .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight-feature .tile__media { + width: 692px; + height: 389px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-highlight-feature .tile__category { + margin-bottom: 4px + } + + .tile.tile-hero-highlight-feature .tile__timestamp { + margin-top: 8px + } + + .tile.tile-hero-highlight-feature .tile__description { + padding: 0 24px 24px + } + + .tile.tile-hero-highlight-feature .tile__media { + width: 100%; + padding-top: 125%; + height: 0; + position: relative + } + + .tile.tile-hero-highlight-feature .tile__media .viewport-image, + .tile.tile-hero-highlight-feature .tile__media .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } +} + +.tile.tile-hero-secondary { + flex-direction: row; + width: 100% +} + +.tile.tile-hero-secondary .tile__headline { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: .004em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-hero-secondary .tile__headline:lang(ar) { + line-height: 1.34375; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(ja) { + line-height: 1.21875; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(ko) { + line-height: 1.21875; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-hero-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-secondary .tile__headline { + font-size: 19px; + line-height: 1.21053; + font-weight: 700; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(ar) { + line-height: 1.36844; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(ja) { + line-height: 1.26316; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(ko) { + line-height: 1.31579; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .tile.tile-hero-secondary .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.tile.tile-hero-secondary .tile__description { + padding: 32px; + justify-content: space-between; + flex-basis: 0 +} + +.tile.tile-hero-secondary .tile__media { + flex-shrink: 1 +} + +.tile.tile-hero-secondary .image { + background-size: contain +} + +.tile.tile-hero-secondary .tile__media, +.tile.tile-hero-secondary .tile__image-container { + width: 100%; + height: auto; + min-height: 362px; + flex-basis: 643px; + flex-shrink: 1 +} + +.tile.tile-hero-secondary .tile__category { + margin-bottom: 8px +} + +.tile.tile-hero-secondary .tile__timestamp { + margin-top: 12px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-hero-secondary { + flex-direction: column; + width: 333px + } + + .tile.tile-hero-secondary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-hero-secondary .tile__media { + flex-shrink: 0 + } + + .tile.tile-hero-secondary .image { + background-size: cover + } + + .tile.tile-hero-secondary .tile__media, + .tile.tile-hero-secondary .tile__image-container { + width: 100%; + height: 187px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-hero-secondary .tile__category { + margin-bottom: 4px + } + + .tile.tile-hero-secondary .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-hero-secondary { + flex-direction: column; + width: 100% + } + + .tile.tile-hero-secondary .tile__description { + padding: 24px; + justify-content: space-between; + flex-basis: auto + } + + .tile.tile-hero-secondary .tile__media { + flex-shrink: 0 + } + + .tile.tile-hero-secondary .image { + background-size: cover + } + + .tile.tile-hero-secondary .tile__media, + .tile.tile-hero-secondary .tile__image-container { + width: 100%; + height: auto; + min-height: auto; + flex-basis: auto; + flex-shrink: 1; + padding-top: 56.25%; + height: 0; + position: relative + } + + .tile.tile-hero-secondary .tile__media .viewport-image, + .tile.tile-hero-secondary .tile__media .image, + .tile.tile-hero-secondary .tile__image-container .viewport-image, + .tile.tile-hero-secondary .tile__image-container .image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + + .tile.tile-hero-secondary .tile__category { + margin-bottom: 8px + } + + .tile.tile-hero-secondary .tile__timestamp { + margin-top: 8px + } +} + +.tile.tile-hero-secondary:lang(ar) .image { + background-size: cover +} + + +@media (hover: hover) { + + html.no-touch.no-reduced-motion .tile.tile-list:hover .image, + html.no-touch.no-reduced-motion .tile.tile-list:hover .media--video { + transform: scale(1.05) + } +} + +@media only screen and (hover: hover) and (max-width: 734px) { + + html.no-touch .tile.tile-list:hover .image, + html.no-touch .tile.tile-list:hover .media--video { + transform: none + } +} + +html.no-touch.no-reduced-motion .tile.tile-list[data-focus-method=key] .image, +html.no-touch.no-reduced-motion .tile.tile-list[data-focus-method=key] .media--video { + transform: scale(1.05) +} + +@media only screen and (max-width: 734px) { + + html.no-touch .tile.tile-list[data-focus-method=key] .image, + html.no-touch .tile.tile-list[data-focus-method=key] .media--video { + transform: none + } +} + + +.cover { + height: 100%; + width: 100%; + object-fit: cover; +} + + +.view-archive-wrapper { + margin-top: 32px; + font-size: 17px; + line-height: 1.23536; + font-weight: 500; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + text-align: center; +} + +@media only screen and (max-width: 1068px) { + .view-archive-wrapper { + margin-top: 28px + } +} + +@media only screen and (max-width: 734px) { + .view-archive-wrapper { + margin-top: 24px + } +} + +.cta-primary-light { + letter-spacing: 0em; + border-radius: 30px; + display: inline-block; + transition: background-color 300ms cubic-bezier(0.4, 0, 0.25, 1) 0ms, border-color 300ms cubic-bezier(0.4, 0, 0.25, 1) 0ms, color 300ms cubic-bezier(0.4, 0, 0.25, 1) 0ms; + font-size: 17px; + line-height: 1.23536; + font-weight: 600; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + border: 2px solid; + padding: 10px 24px 9px; + border-color: #1d1d1f; + color: #161617; +} + +.cta-primary-light:visited { + text-decoration: none; +} + +.cta-primary-light:hover { + background: #1d1d1f; + border-color: #1d1d1f; + color: #f5f5f7; + text-decoration: none; +} + + +.tile.tile-list { + border-radius: revert; + overflow: revert; + z-index: revert; + position: revert; + background-color: transparent; + flex-direction: row; + width: 457px +} + +.tile.tile-list .tile__headline { + font-size: 17px; + line-height: 1.23536; + font-weight: 700; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden +} + +.tile.tile-list .tile__headline:lang(ar) { + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(ko) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(zh) { + letter-spacing: 0em +} + +.tile.tile-list .tile__headline:lang(th) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.tile.tile-list .tile__media { + border-radius: 16px; + overflow: hidden; + z-index: 0; + position: relative +} + +.tile.tile-list .tile__description { + padding: 0 0 0 24px; + justify-content: center; + flex-basis: 0 +} + +.tile.tile-list .tile__media { + flex-shrink: 1 +} + +.tile.tile-list .image { + background-size: contain +} + +.tile.tile-list .tile__media, +.tile.tile-list .tile__image-container { + width: 132px; + height: 132px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 +} + +.tile.tile-list .tile__category { + margin-bottom: 4px +} + +.tile.tile-list .tile__timestamp { + margin-top: 8px +} + +@media only screen and (max-width: 1068px) { + .tile.tile-list { + flex-direction: row; + width: 631px + } + + .tile.tile-list .tile__description { + padding: 0 0 0 24px; + justify-content: center; + flex-basis: 0 + } + + .tile.tile-list .tile__media { + flex-shrink: 1 + } + + .tile.tile-list .image { + background-size: contain + } + + .tile.tile-list .tile__media, + .tile.tile-list .tile__image-container { + width: 132px; + height: 132px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-list .tile__category { + margin-bottom: 4px + } + + .tile.tile-list .tile__timestamp { + margin-top: 8px + } +} + +@media only screen and (max-width: 734px) { + .tile.tile-list { + flex-direction: row; + width: 100% + } + + .tile.tile-list .tile__description { + padding: 0 0 0 16px; + justify-content: center; + flex-basis: 0 + } + + .tile.tile-list .tile__media { + flex-shrink: 1 + } + + .tile.tile-list .image { + background-size: contain + } + + .tile.tile-list .tile__media, + .tile.tile-list .tile__image-container { + width: 105px; + height: 105px; + min-height: auto; + flex-basis: auto; + flex-shrink: 1 + } + + .tile.tile-list .tile__category { + margin-bottom: 4px + } + + .tile.tile-list .tile__timestamp { + margin-top: 8px + } + + .tile.tile-list .tile__media { + border-radius: 12px + } +} + +@media (hover: hover) { + + html.no-touch.no-reduced-motion .tile.tile-list:hover .image, + html.no-touch.no-reduced-motion .tile.tile-list:hover .media--video { + transform: scale(1.05) + } +} + +@media only screen and (hover: hover) and (max-width: 734px) { + + html.no-touch .tile.tile-list:hover .image, + html.no-touch .tile.tile-list:hover .media--video { + transform: none + } +} + +html.no-touch.no-reduced-motion .tile.tile-list[data-focus-method=key] .image, +html.no-touch.no-reduced-motion .tile.tile-list[data-focus-method=key] .media--video { + transform: scale(1.05) +} + +@media only screen and (max-width: 734px) { + + html.no-touch .tile.tile-list[data-focus-method=key] .image, + html.no-touch .tile.tile-list[data-focus-method=key] .media--video { + transform: none + } +} + + +.pagetitle.component { + margin-top: 0; + margin-bottom: 0 +} + +.pagetitle .hero-headline { + font-size: 48px; + line-height: 1.08349; + font-weight: 700; + letter-spacing: -.003em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(ar) { + line-height: 1.25; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(ja) { + line-height: 1.14599; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(ko) { + line-height: 1.1875; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(zh) { + letter-spacing: 0em +} + +.pagetitle .hero-headline:lang(th) { + line-height: 1.33349; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagetitle .hero-headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .pagetitle .hero-headline { + font-size: 40px; + line-height: 1.1; + font-weight: 700; + letter-spacing: 0em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(ar) { + line-height: 1.3; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(ja) { + line-height: 1.175; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(ko) { + line-height: 1.2; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(th) { + line-height: 1.35; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .pagetitle .hero-headline { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: .004em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(ar) { + line-height: 1.34375; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(ja) { + line-height: 1.21875; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(ko) { + line-height: 1.21875; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagetitle .hero-headline:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + + +.category.component { + margin-top: 0; + margin-bottom: 20px +} + + +.component { + margin-left: auto; + margin-right: auto; + width: 980px +} + +.component::before, +.component::after { + content: ' '; + display: table +} + +.component::after { + clear: both +} + +@media only screen and (min-width: 1441px) { + .component { + margin-left: auto; + margin-right: auto; + width: 980px + } +} + +@media only screen and (max-width: 1068px) { + .component { + margin-left: auto; + margin-right: auto; + width: 692px + } +} + +@media only screen and (max-width: 734px) { + .component { + margin-left: auto; + margin-right: auto; + width: 87.5% + } +} + +.component { + margin-top: 44px; + margin-bottom: 44px +} + +@media only screen and (max-width: 1068px) { + .component { + margin-top: 36px; + margin-bottom: 36px + } +} + +@media only screen and (max-width: 734px) { + .component { + margin-top: 32px; + margin-bottom: 32px + } +} + +@media only screen and (max-width: 734px) { + .component { + max-width: 414px; + width: 100%; + margin-left: auto; + margin-right: auto + } +} + + + +.pagebody { + font-size: 17px; + line-height: 1.4211; + font-weight: 400; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(ar) { + line-height: 1.57895; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(ja) { + line-height: 1.47376; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(ko) { + line-height: 1.52632; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .pagebody { + font-size: 17px; + line-height: 1.47059; + font-weight: 400; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(ar) { + line-height: 1.58824; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(ko) { + line-height: 1.58824; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(zh) { + letter-spacing: 0em + } + + .pagebody:lang(th) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.pagebody-media { + margin-top: 0; + margin-bottom: 15px; + width: 291px +} + +@media only screen and (max-width: 1068px) { + .pagebody-media { + width: 206px + } +} + +@media only screen and (max-width: 734px) { + .pagebody-media { + width: 100% + } +} + +.pagebody-media.left { + float: left; + margin-left: -12.5%; + margin-right: 36px +} + +@media only screen and (max-width: 1068px) { + .pagebody-media.left { + margin-left: -10%; + margin-right: 24px + } +} + +@media only screen and (max-width: 734px) { + .pagebody-media.left { + margin-right: 0 + } +} + +.pagebody-media.right { + float: right; + margin-right: -12.5%; + margin-left: 36px +} + +@media only screen and (max-width: 1068px) { + .pagebody-media.right { + margin-right: -10%; + margin-left: 24px + } +} + +@media only screen and (max-width: 734px) { + .pagebody-media.right { + margin-left: 0 + } +} + +.pagebody-media .image-sharesheet { + display: block +} + +.pagebody-media .image-description, +.pagebody-media .video-description { + margin-left: 0; + margin-right: 0; + margin-bottom: 0 +} + +@media only screen and (max-width: 734px) { + + .pagebody-media.left, + .pagebody-media.right { + float: none; + margin: 28px auto + } + + .pagebody-media:first-child { + margin-top: 0 + } +} + +.pagebody-copy { + margin-bottom: 1.4211em +} + +.pagebody-copy:lang(ar) { + margin-bottom: 1.57895em +} + +.pagebody-copy:lang(ja) { + margin-bottom: 1.47376em +} + +.pagebody-copy:lang(th) { + margin-bottom: 1.36844em +} + +.pagebody-copy:lang(ko) { + margin-bottom: 1.52632em +} + +.pagebody-copy:first-child { + margin-top: 0 +} + +.pagebody-copy:last-child { + margin-bottom: 0 +} + + + + + +.component-content { + margin-left: auto; + margin-right: auto; + width: 653px +} + +@media only screen and (max-width: 1068px) { + .component-content { + width: 576px + } +} + +@media only screen and (max-width: 734px) { + .component-content { + width: 87.5% + } +} + +.image-big .component-content { + width: 980px +} + +@media only screen and (max-width: 1068px) { + .image-big .component-content { + width: 692px + } +} + +@media only screen and (max-width: 734px) { + .image-big .component-content { + width: 100% + } +} + +.image-inline .component-content { + width: 653px +} + +@media only screen and (max-width: 1068px) { + .image-inline .component-content { + width: 576px + } +} + +@media only screen and (max-width: 734px) { + .image-inline .component-content { + width: 87.5% + } +} + +@media only screen and (max-width: 734px) { + + .gallery, + .image, + .video { + width: 100% + } + + .gallery:not(.body-copy-wide) .component-content, + .image:not(.image-fullbleed) .component-content { + width: 320px + } +} + + + +.image-sharesheet { + display: table; + border-radius: 10px; + overflow: hidden; + z-index: 0; + position: relative +} + +@media only screen and (max-width: 734px) { + .image-sharesheet { + display: block + } +} + +@media only screen and (max-width: 734px) { + .image.image-fullbleed .image-sharesheet { + border-radius: 0 + } +} + +@media only screen and (min-width: 416px) and (max-width: 734px) { + .image.image-fullbleed .image-sharesheet { + border-radius: 10px + } +} + +@media only screen and (max-width: 415px) { + .image .image-sharesheet { + border-radius: 0 + } +} + +.component.not-rounded .image-sharesheet { + border-radius: 0 !important +} + + + +.image-description { + position: relative; + display: flex; + align-items: flex-start; + justify-content: space-between; + color: #6e6e73; + margin: 16px 16px 0; + font-size: 12px; + line-height: 1.33337; + font-weight: 600; + letter-spacing: -.01em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.theme-dark .image-description { + color: #86868b +} + +.image-description:lang(ar) { + line-height: 1.66667; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(ja) { + line-height: 1.41667; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(ko) { + line-height: 1.41667; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(zh) { + letter-spacing: 0em +} + +.image-description:lang(th) { + line-height: 1.33337; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .image-description { + margin-top: 12px + } +} + +.image-description:empty { + margin-bottom: 0 +} + +.image-description .icon { + font-size: 19px; + line-height: 1.4211; + font-weight: 400; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(ar) { + line-height: 1.57895; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(ja) { + line-height: 1.47376; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(ko) { + line-height: 1.52632; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.image-description .icon:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .image-description .icon { + font-size: 17px; + line-height: 1.47059; + font-weight: 400; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(ar) { + line-height: 1.58824; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(ko) { + line-height: 1.58824; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(zh) { + letter-spacing: 0em + } + + .image-description .icon:lang(th) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .image-description .icon:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.image-description .icon::before, +.image-description .icon::after { + line-height: inherit +} + +.body-copy-wide .image-description { + margin-left: 0; + margin-right: 0 +} + +.image-description .image-caption { + flex-grow: 1 +} + +.body-copy-wide .image-description { + margin-right: 0; + margin-left: 0 +} + +.image-keyline .image-asset, +.image-keyline .picture-image { + box-sizing: border-box; + border: 1px solid #d2d2d7 +} + +.image.image-big { + min-width: 320px +} + +.image.image-fullbleed .image-sharesheet, +.image.image-inline.body-copy-wide .image-sharesheet, +.image.image-grid.body-copy-wide .image-sharesheet { + display: block +} + +.image.body-copy-wide.image-fullbleed .image-description { + width: 653px; + margin-left: auto; + margin-right: auto +} + +@media only screen and (max-width: 1068px) { + .image.body-copy-wide.image-fullbleed .image-description { + width: 576px + } +} + +@media only screen and (max-width: 734px) { + .image.body-copy-wide.image-fullbleed .image-description { + width: 87.5% + } +} + +@media only screen and (max-width: 734px) { + .image.body-copy-wide.image-inline .component-content { + width: 100% + } +} + +.no-touch .image:hover { + position: relative; + z-index: 1 +} + +@media only screen and (max-width: 734px) { + .image-inline .image-description { + margin-left: auto; + margin-right: auto; + width: 87.5% + } +} + +.image.image-wide { + width: 100% +} + +.image.image-wide .component-content { + width: 100%; + max-width: 2560px +} + +.image.image-wide .image-asset { + width: 100%; + height: 100% +} + +.image.image-wide .image-sharesheet, +.image.image-wide .pullquote-cover { + width: 100%; + border-radius: 0 +} + +@media only screen and (min-width: 1441px) { + + .image.image-wide .image-sharesheet, + .image.image-wide .pullquote-cover { + max-width: 1920px; + margin: 0 auto + } +} + +@media only screen and (min-width: 1922px) { + + .image.image-wide .image-sharesheet, + .image.image-wide .pullquote-cover { + border-radius: 10px; + overflow: hidden; + z-index: 0; + position: relative + } +} + +@media only screen and (min-width: 1441px) { + .image.image-wide .picture-image { + position: relative; + top: 50%; + left: 50%; + transform: translate(-50%, -50%) scale(1.01) + } +} + +.image-grid { + position: relative; + z-index: 1 +} + +.image-grid::before, +.image-grid::after { + content: ' '; + display: table +} + +.image-grid::after { + clear: both +} + +.image-grid-item { + box-sizing: border-box; + flex: 0 0 283px; + margin-bottom: 44px +} + +@media only screen and (max-width: 1068px) { + .image-grid-item { + margin-bottom: 36px + } +} + +@media only screen and (max-width: 734px) { + .image-grid-item { + flex: 0 0 100%; + margin-bottom: 32px + } +} + +.image-grid-item:nth-child(odd) { + margin-right: 5px +} + +@media only screen and (max-width: 734px) { + .image-grid-item:nth-child(odd) { + margin-right: 0 + } +} + +@media only screen and (max-width: 734px) { + .image-grid .row:last-of-type .image-grid-item:not(:last-of-type) { + margin-bottom: 32px + } +} + +.image-grid .row:last-of-type .image-grid-item { + margin-bottom: 0 +} + +.image-grid .row { + width: 100%; + position: relative; + display: flex; + flex-direction: row +} + +@media only screen and (max-width: 734px) { + .image-grid .row { + display: block + } +} + +.touch .image-grid.body-copy-wide .component-content { + width: component-content-width +} + +@media only screen and (max-width: 734px) { + .touch .image-grid.body-copy-wide .component-content { + width: 87.5% + } +} + +@media only screen and (max-width: 734px) { + .no-touch .image-grid.body-copy-wide .component-content { + width: component-content-width + } +} + +@media only screen and (max-width: 734px) and (max-width: 734px) { + .no-touch .image-grid.body-copy-wide .component-content { + width: 87.5% + } +} + +.datelocation { + position: relative; + z-index: 1 +} + +.datelocation::before, +.datelocation::after { + content: ' '; + display: table +} + +.datelocation::after { + clear: both +} + +.datelocation-copy { + font-size: 19px; + line-height: 1.4211; + font-weight: 400; + letter-spacing: .012em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + margin: 0 +} + +.datelocation-copy:lang(ar) { + line-height: 1.57895; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(ja) { + line-height: 1.47376; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(ko) { + line-height: 1.52632; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(th) { + line-height: 1.36844; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.datelocation-copy:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .datelocation-copy { + font-size: 17px; + line-height: 1.47059; + font-weight: 400; + letter-spacing: -.022em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(ar) { + line-height: 1.58824; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(ko) { + line-height: 1.58824; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(zh) { + letter-spacing: 0em + } + + .datelocation-copy:lang(th) { + line-height: 1.35296; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .datelocation-copy:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + + +.modal-gallery-trigger { + border: 0; + background: transparent; + cursor: pointer; + position: relative; + display: block; + width: 100% +} + +.modal-gallery-trigger::after { + content: ''; + opacity: 0; + position: absolute; + pointer-events: none; + top: 0; + left: 0; + right: 0; + bottom: 0; + border: 4px solid rgba(0, 125, 250, 0.6) +} + +.modal-gallery-trigger[data-focus-method=key]::after { + opacity: 1 +} + + +.picture-image { + display: inline-block; + width: 100%; + height: auto +} + +.picture { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0 +} + +.picture.no-dl { + pointer-events: none +} + +.icon.icon-arrowdown::before, +.icon.icon-arrowdown::after { + font-family: "social-media-font" !important; + content: "" +} + + + + +.theme-dark { + background-color: #000; + color: #f5f5f7; + --footer-background: #121214; + --footer-border-color: #424245; + --footer-text-color: #86868b; + --footer-link-color: #d2d2d7; + --footer-pipe-color: #6e6e73; + --footer-directory-title-color: #f5f5f7; + --footer-directory-title-color-hover: #fff; +} + +.theme-dark h1, +.theme-dark h2, +.theme-dark h3, +.theme-dark h4, +.theme-dark h5, +.theme-dark h6 { + color: #f5f5f7 +} + +.theme-dark a, +.theme-dark .link { + color: #f5f5f7; +} + +.theme-dark .footnote a { + color: inherit +} + +.theme-dark .footnote a:hover { + color: #2997ff +} + +.theme-dark a.block { + color: inherit +} + +.theme-dark a.block .block-link { + color: #2997ff +} + +.theme-dark .dotnav .dotnav-item { + background-color: rgba(134, 134, 139, 0.4) +} + +.theme-dark .dotnav .dotnav-item:hover { + background-color: rgba(134, 134, 139, 0.6) +} + +.theme-dark .dotnav .dotnav-item.current { + background-color: #86868b +} + +.theme-dark .paddlenav .paddlenav-arrow { + background-color: rgba(0, 0, 0, 0); + color: rgba(134, 134, 139, 0.8) +} + +.theme-dark .paddlenav .paddlenav-arrow:hover { + background-color: rgba(0, 0, 0, 0); + color: #86868b +} + +.theme-dark .paddlenav .paddlenav-arrow:active { + background-color: rgba(0, 0, 0, 0); + color: #86868b +} + +.theme-dark .paddlenav .paddlenav-arrow:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select):hover, +.theme-dark .paddlenav .paddlenav-arrow:focus[data-focus-method="touch"]:not(input):not(textarea):not(select):hover { + background-color: rgba(0, 0, 0, 0); + color: #86868b +} + +.theme-dark .paddlenav .paddlenav-arrow:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select):active, +.theme-dark .paddlenav .paddlenav-arrow:focus[data-focus-method="touch"]:not(input):not(textarea):not(select):active { + background-color: rgba(0, 0, 0, 0); + color: #86868b +} + +.theme-dark .paddlenav-framed .paddlenav-arrow { + background-color: rgba(210, 210, 215, 0.2); + color: rgba(134, 134, 139, 0.8) +} + +.theme-dark .paddlenav-framed .paddlenav-arrow:hover { + background-color: rgba(210, 210, 215, 0.28); + color: #86868b +} + +.theme-dark .paddlenav-framed .paddlenav-arrow:active { + background-color: rgba(210, 210, 215, 0.36); + color: #86868b +} + +.theme-dark .paddlenav-framed .paddlenav-arrow:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select):hover, +.theme-dark .paddlenav-framed .paddlenav-arrow:focus[data-focus-method="touch"]:not(input):not(textarea):not(select):hover { + background-color: rgba(210, 210, 215, 0.28); + color: #86868b +} + +.theme-dark .paddlenav-framed .paddlenav-arrow:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select):active, +.theme-dark .paddlenav-framed .paddlenav-arrow:focus[data-focus-method="touch"]:not(input):not(textarea):not(select):active { + background-color: rgba(210, 210, 215, 0.36); + color: #86868b +} + +.theme-dark .quote .quote-copy { + color: #f5f5f7 +} + +.theme-dark .quote .quote-credit, +.theme-dark .quote .quote-subcredit { + color: #f5f5f7 +} + +.theme-dark .sosumi { + color: #6e6e73 +} + +.theme-dark .sosumi a { + color: #a1a1a6 +} + +.theme-dark .violator { + background: rgba(0, 0, 0, 0); + border-color: #f56300; + color: #f56300 +} + +.theme-dark .violator-frameless { + background: rgba(0, 0, 0, 0); + border-color: #f56300; + color: #f56300 +} + +.theme-dark .violator-secondary { + background: rgba(0, 0, 0, 0); + border-color: #86868b; + color: #86868b +} + + +.tertiarynav { + margin: 36px auto 50px +} + +.tertiarynav .component-content { + border-top: 1px solid #d2d2d7 +} + +.theme-dark .tertiarynav .component-content { + border-top-color: #424245 +} + +.theme-dark header { + background-color: rgba(29, 29, 31, 0.7); +} + +.pagebody-header { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + margin-bottom: 16px; + margin-top: 52px +} + +.pagebody-header:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .pagebody-header { + font-size: 21px; + line-height: 1.19048; + font-weight: 700; + letter-spacing: .011em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(ja) { + line-height: 1.2381; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(ko) { + line-height: 1.2858; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(th) { + line-height: 1.381; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(ar) { + line-height: 1.4286; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 1068px) { + .pagebody-header { + margin-top: 48px + } +} + +@media only screen and (max-width: 734px) { + .pagebody-header { + margin-top: 44px + } +} + +.pagebody-header--secondary { + font-size: 40px; + line-height: 1.1; + font-weight: 700; + letter-spacing: 0em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + margin-top: 52px; + margin-bottom: 24px +} + +.pagebody-header--secondary:lang(ar) { + line-height: 1.3; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(ja) { + line-height: 1.175; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(ko) { + line-height: 1.2; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(th) { + line-height: 1.35; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.pagebody-header--secondary:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .pagebody-header--secondary { + font-size: 32px; + line-height: 1.125; + font-weight: 700; + letter-spacing: .004em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(ar) { + line-height: 1.34375; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(ja) { + line-height: 1.21875; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(ko) { + line-height: 1.21875; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 734px) { + .pagebody-header--secondary { + font-size: 28px; + line-height: 1.14286; + font-weight: 700; + letter-spacing: .007em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(ko) { + line-height: 1.25; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(th) { + line-height: 1.39286; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(ar) { + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(ja) { + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .pagebody-header--secondary:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 1068px) { + .pagebody-header--secondary { + margin-top: 48px; + margin-bottom: 20px + } +} + +@media only screen and (max-width: 734px) { + .pagebody-header--secondary { + margin-top: 44px + } +} + +.pagebody-header:first-child { + margin-top: 8px +} + +@media only screen and (max-width: 1068px) { + .pagebody-header:first-child { + margin-top: 12px + } +} + +@media only screen and (max-width: 734px) { + .pagebody-header:first-child { + margin-top: 12px + } +} + +.pagebody-header:last-child { + margin-bottom: 0 +} + + +.category-eyebrow { + font-size: 12px; + line-height: 1.33337; + font-weight: 700; + letter-spacing: -.01em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(ar) { + line-height: 1.66667; + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(ja) { + line-height: 1.41667; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(ko) { + line-height: 1.41667; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(zh) { + letter-spacing: 0em +} + +.category-eyebrow:lang(th) { + line-height: 1.33337; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__category, +.category-eyebrow__date { + display: block +} + +@media only screen and (max-width: 1068px) { + + .category-eyebrow__category, + .category-eyebrow__date { + margin-right: -7px + } +} + +@media only screen and (max-width: 734px) { + + .category-eyebrow__category, + .category-eyebrow__date { + margin-right: 0 + } +} + +.category-eyebrow__category::after, +.category-eyebrow__category::before, +.category-eyebrow__date::after, +.category-eyebrow__date::before { + alt: '' +} + +.category-eyebrow__category { + text-transform: uppercase; + color: #6e6e73; + border-color: #6e6e73 +} + +.theme-dark .category-eyebrow__category { + color: #86868b; + border-color: #86868b +} + +@media only screen and (max-width: 1068px) { + .landingtile-featured .category-eyebrow__category { + font-size: 12px; + line-height: 1.33337; + font-weight: 400; + letter-spacing: -.01em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + border-radius: 12px; + padding-left: 11px; + padding-right: 11px; + padding-top: 3px; + padding-bottom: 3px + } + + .landingtile-featured .category-eyebrow__category:lang(ar) { + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(ja) { + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(ko) { + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(zh) { + letter-spacing: 0em + } + + .landingtile-featured .category-eyebrow__category:lang(th) { + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .landingtile-featured .category-eyebrow__category:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +.category-eyebrow__date { + font-size: 14px; + line-height: 1.28577; + font-weight: 600; + letter-spacing: -.016em; + font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(ar) { + letter-spacing: 0em; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(ja) { + line-height: 1.35718; + letter-spacing: 0em; + font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(ko) { + line-height: 1.42859; + letter-spacing: 0em; + font-family: "SF Pro KR", "SF Pro Text", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(zh) { + letter-spacing: 0em +} + +.category-eyebrow__date:lang(th) { + line-height: 1.35718; + letter-spacing: 0em; + font-family: "SF Pro TH", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.category-eyebrow__date:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Text", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.page-article .category-eyebrow__date { + margin-top: 4px +} + +.category.component { + margin-top: 0; + margin-bottom: 20px +} + + +.article-subhead { + font-size: 24px; + line-height: 1.16667; + font-weight: 500; + letter-spacing: .009em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif; + margin-top: 20px; + margin-bottom: 0 +} + +.article-subhead:lang(ar) { + line-height: 1.33341; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(ja) { + line-height: 1.25; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(ko) { + line-height: 1.29167; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(th) { + line-height: 1.375; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +.article-subhead:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif +} + +@media only screen and (max-width: 1068px) { + .article-subhead { + font-size: 21px; + line-height: 1.19048; + font-weight: 500; + letter-spacing: .011em; + font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(ja) { + line-height: 1.2381; + font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(ko) { + line-height: 1.2858; + font-family: "SF Pro KR", "SF Pro Display", "SF Pro Icons", "Apple Gothic", "HY Gulim", "MalgunGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(th) { + line-height: 1.381; + font-family: "SF Pro TH", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(ar) { + line-height: 1.4286; + font-family: "SF Pro AR", "SF Pro Gulf", "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(zh-CN) { + font-family: "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(zh-HK) { + font-family: "SF Pro HK", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(zh-MO) { + font-family: "SF Pro HK", "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang HK", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } + + .article-subhead:lang(zh-TW) { + font-family: "SF Pro TC", "SF Pro Display", "SF Pro Icons", "PingFang TC", "Helvetica Neue", "Helvetica", "Arial", sans-serif + } +} + +@media only screen and (max-width: 1068px) { + .article-subhead { + margin-top: 16px + } +} + +.article-subhead+.sharesheet { + margin-top: 24px +} + +@media only screen and (max-width: 1068px) { + .article-subhead+.sharesheet { + margin-top: 20px + } +} + +.article-subhead+.tagssheet { + margin-top: 24px; + margin-bottom: 3px; +} + +@media only screen and (max-width: 1068px) { + .article-subhead+.tagssheet { + margin-top: 20px; + margin-bottom: 3px; + } +} + +.article-header, +.featured-header { + padding: 16px 0px 0px 0px; +} + + +.footer-main { + margin: 0 auto; + width: 100%; + border-top: 1px solid rgb(224 226 217 / 1); +} + +.footer-wraper { + padding: 20px; + margin: 0 auto; +} + +.footer-box { + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; +} + +.footer-main .foot-nav { + color: var(--gray-text); + width: 100%; +} + +.footer-main .item .logo { + font-size: 16px; + font-weight: 600; + color: var(--black); +} + +.footer-main .foot-nav-items { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; +} + +@media screen and (min-width: 320px) { + .footer-main .foot-nav-items { + flex-direction: column; + } +} + +@media screen and (min-width: 768px) { + .footer-main .foot-nav-items { + flex-direction: row; + } +} + +@media screen and (min-width: 955px) { + .footer-main .foot-nav-items { + flex-direction: row; + } +} + + +.footer-main { + margin: 0 auto; + width: 100%; + background-color: var(--footer-background); + border: none; +} + +.theme-dark .footer-main { + background-color: var(--footer-background); +} + +.footer-wraper { + padding: 20px; + margin: 0 auto; +} + +.footer-box { + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; +} + +.footer-main .foot-nav { + color: var(--footer-text-color); + width: 100%; +} + +.footer-main .item .logo { + font-size: 16px; + font-weight: 600; + color: var(--footer-directory-title-color); +} + +.footer-main .foot-nav-items { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; +} + +@media screen and (min-width: 320px) { + .footer-main .foot-nav-items { + flex-direction: column; + } +} + +@media screen and (min-width: 768px) { + .footer-main .foot-nav-items { + flex-direction: row; + } +} + +@media screen and (min-width: 955px) { + .footer-main .foot-nav-items { + flex-direction: row; + } +} + + + +.foot-nav-items .item { + display: flex; + flex-direction: column; +} + +.footer-main .item div, +.footer-main .item a { + padding: 8px 5px; + font-size: 14px; + color: var(--footer-pipe-color); +} + +.footer-main .item a:hover { + color: var(--footer-directory-title-color-hover); +} + +.footer-main .foot-nav-items .item-title { + color: var(--footer-directory-title-color); + font-size: 14px; + font-weight: 600; +} + +.footer-main .copyright { + color: var(--footer-pipe-color); + padding-top: 20px; + margin-top: 20px; + font-size: 14px; +} + + +.page-article table { + overflow: auto; + display: block; + border-spacing: 0; + border-collapse: collapse; + margin-top: 1rem; + margin-bottom: 1rem +} + +.page-article table tr th, +.page-article table tr td { + padding: .5rem 1rem; + border: 1px solid #e9ecef; +} + +.page-article table tr:nth-child(2n) { + background: #f8f9fa; +} + +.code pre { + overflow-x: auto; + border-radius: 8px; +} + + +.theme-dark table th, +.theme-dark table td { + color: #eee !important; +} + +.theme-dark table th { + background: #000000 !important; +} + +.theme-dark table tr:nth-child(2n) { + background: #000000; +} + +.tag { + cursor: pointer; + display: inline-block; + text-align: center; + white-space: nowrap; + font-size: 12px; + line-height: 1.33337; + font-weight: 400; + letter-spacing: -.01em; + min-width: 23px; + padding-left: 11px; + padding-right: 11px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 12px; + background: #0071e3; + color: #fff; + margin-right: 12px; +} + +.tag:hover { + text-decoration: none; + background: #0077ED; +} + +.article-copyright { + background-color: #f5f5f7; + border-radius: 10px; + display: flex; + flex-direction: column; + margin: 0; + padding: 10px 0px; + font-size: 14px; +} + +.theme-dark .article-copyright { + background-color: #1d1d1f; +} + +.article-copyright .content { + margin: 0 32px; + padding-bottom: 8px; + padding-top: 8px; +} + +@media only screen and (max-width: 734px) { + .article-copyright .contentm { + margin: 0 16px; + } +} + + +@media only screen and (max-width: 1068px) { + .article-copyright .content { + margin: 0 16px; + } +} + +section.archive { + min-height: 78vh; + background-color: #f2f2f2; + margin-top: 0; +} + +.section-tag { + padding: 24px 0px; +} + +.tag-header { + font-size: 24px; + line-height: 1.16667; + font-weight: 700; + letter-spacing: .009em; + ; +} + +.archive-tag { + background: white; + padding: 1em 1em; + border-radius: 8px; + margin: 10px 0px; +} + +a.tag_post-content { + color: #1d1d1f; + letter-spacing: 0.011em; + font-size: 17px; +} + + +.tag-post-list li { + padding: 0.3em 0; + margin: 0px 1em; +} + +span.tag-date { + margin-right: 5px; +} + +@media only screen and (max-width: 1068px) { + .tag-header { + font-size: 21px; + } + + a.tag_post-content { + font-size: 14px; + } +} + +@media only screen and (max-width: 734px) { + .tag-header { + font-size: 18px; + } + + .tag-post-list li { + margin: 0px 0em; + } +} + +ul>li, ol>li { + margin: 1em 0px; +} + +code { + margin: 0px 0.25em; +} + +blockquote { + background: #fafafa; + border-left: 0.3em solid #ccc; + padding: 0.5em 0.5em; + border-radius: 4px; + margin-bottom: 1.4211em; + color: #6e6e73; + font-size: 16px; +} + +.theme-dark blockquote { + background: #1d1d1f; + border-left: 0.3em solid #ccc; + color: #6e6e73; +} + +.theme-dark blockquote { + background: #1d1d1f; + border-left: 0.39em solid #8c7f7f; + color: #9999a5; +} + +blockquote p { + display: inline; +} diff --git a/themes/itheme/static/css/search.css b/themes/itheme/static/css/search.css new file mode 100644 index 0000000..40d4811 --- /dev/null +++ b/themes/itheme/static/css/search.css @@ -0,0 +1,21 @@ +#modal-wrapper{ + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(25,25,25,0.3); + z-index: 999; + backdrop-filter: blur(5px); +} + +.modal-body{ + width: 50%; + transform: translateX(50%); + margin-top: 10vh; +} + +.aa-Panel{ + position: fixed !important; + z-index: 999; +}
\ No newline at end of file diff --git a/themes/itheme/static/js/algoliasearch.umd.js b/themes/itheme/static/js/algoliasearch.umd.js new file mode 100644 index 0000000..d48ce17 --- /dev/null +++ b/themes/itheme/static/js/algoliasearch.umd.js @@ -0,0 +1,2316 @@ +/*! algoliasearch.umd.js | 4.17.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ +!(function (t, e) { + "object" == typeof exports && "undefined" != typeof module + ? (module.exports = e()) + : "function" == typeof define && define.amd + ? define(e) + : ((t = t || self).algoliasearch = e()); +})(this, function () { + "use strict"; + function t(t, e, r) { + return ( + e in t + ? Object.defineProperty(t, e, { + value: r, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (t[e] = r), + t + ); + } + function e(t, e) { + var r = Object.keys(t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(t); + e && + (n = n.filter(function (e) { + return Object.getOwnPropertyDescriptor(t, e).enumerable; + })), + r.push.apply(r, n); + } + return r; + } + function r(r) { + for (var n = 1; n < arguments.length; n++) { + var a = null != arguments[n] ? arguments[n] : {}; + n % 2 + ? e(Object(a), !0).forEach(function (e) { + t(r, e, a[e]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(a)) + : e(Object(a)).forEach(function (t) { + Object.defineProperty( + r, + t, + Object.getOwnPropertyDescriptor(a, t), + ); + }); + } + return r; + } + function n(t, e) { + if (null == t) return {}; + var r, + n, + a = (function (t, e) { + if (null == t) return {}; + var r, + n, + a = {}, + o = Object.keys(t); + for (n = 0; n < o.length; n++) + (r = o[n]), e.indexOf(r) >= 0 || (a[r] = t[r]); + return a; + })(t, e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(t); + for (n = 0; n < o.length; n++) + (r = o[n]), + e.indexOf(r) >= 0 || + (Object.prototype.propertyIsEnumerable.call(t, r) && (a[r] = t[r])); + } + return a; + } + function a(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (function (t, e) { + if ( + !( + Symbol.iterator in Object(t) || + "[object Arguments]" === Object.prototype.toString.call(t) + ) + ) + return; + var r = [], + n = !0, + a = !1, + o = void 0; + try { + for ( + var i, u = t[Symbol.iterator](); + !(n = (i = u.next()).done) && + (r.push(i.value), !e || r.length !== e); + n = !0 + ); + } catch (t) { + (a = !0), (o = t); + } finally { + try { + n || null == u.return || u.return(); + } finally { + if (a) throw o; + } + } + return r; + })(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance", + ); + })() + ); + } + function o(t) { + return ( + (function (t) { + if (Array.isArray(t)) { + for (var e = 0, r = new Array(t.length); e < t.length; e++) + r[e] = t[e]; + return r; + } + })(t) || + (function (t) { + if ( + Symbol.iterator in Object(t) || + "[object Arguments]" === Object.prototype.toString.call(t) + ) + return Array.from(t); + })(t) || + (function () { + throw new TypeError("Invalid attempt to spread non-iterable instance"); + })() + ); + } + function i(t) { + var e, + r = "algoliasearch-client-js-".concat(t.key), + n = function () { + return void 0 === e && (e = t.localStorage || window.localStorage), e; + }, + o = function () { + return JSON.parse(n().getItem(r) || "{}"); + }; + return { + get: function (t, e) { + var r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }; + return Promise.resolve() + .then(function () { + var r = JSON.stringify(t), + n = o()[r]; + return Promise.all([n || e(), void 0 !== n]); + }) + .then(function (t) { + var e = a(t, 2), + n = e[0], + o = e[1]; + return Promise.all([n, o || r.miss(n)]); + }) + .then(function (t) { + return a(t, 1)[0]; + }); + }, + set: function (t, e) { + return Promise.resolve().then(function () { + var a = o(); + return ( + (a[JSON.stringify(t)] = e), n().setItem(r, JSON.stringify(a)), e + ); + }); + }, + delete: function (t) { + return Promise.resolve().then(function () { + var e = o(); + delete e[JSON.stringify(t)], n().setItem(r, JSON.stringify(e)); + }); + }, + clear: function () { + return Promise.resolve().then(function () { + n().removeItem(r); + }); + }, + }; + } + function u(t) { + var e = o(t.caches), + r = e.shift(); + return void 0 === r + ? { + get: function (t, e) { + var r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }, + n = e(); + return n + .then(function (t) { + return Promise.all([t, r.miss(t)]); + }) + .then(function (t) { + return a(t, 1)[0]; + }); + }, + set: function (t, e) { + return Promise.resolve(e); + }, + delete: function (t) { + return Promise.resolve(); + }, + clear: function () { + return Promise.resolve(); + }, + } + : { + get: function (t, n) { + var a = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }; + return r.get(t, n, a).catch(function () { + return u({ caches: e }).get(t, n, a); + }); + }, + set: function (t, n) { + return r.set(t, n).catch(function () { + return u({ caches: e }).set(t, n); + }); + }, + delete: function (t) { + return r.delete(t).catch(function () { + return u({ caches: e }).delete(t); + }); + }, + clear: function () { + return r.clear().catch(function () { + return u({ caches: e }).clear(); + }); + }, + }; + } + function s() { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : { serializable: !0 }, + e = {}; + return { + get: function (r, n) { + var a = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : { + miss: function () { + return Promise.resolve(); + }, + }, + o = JSON.stringify(r); + if (o in e) + return Promise.resolve(t.serializable ? JSON.parse(e[o]) : e[o]); + var i = n(), + u = + (a && a.miss) || + function () { + return Promise.resolve(); + }; + return i + .then(function (t) { + return u(t); + }) + .then(function () { + return i; + }); + }, + set: function (r, n) { + return ( + (e[JSON.stringify(r)] = t.serializable ? JSON.stringify(n) : n), + Promise.resolve(n) + ); + }, + delete: function (t) { + return delete e[JSON.stringify(t)], Promise.resolve(); + }, + clear: function () { + return (e = {}), Promise.resolve(); + }, + }; + } + function c(t, e, r) { + var n = { "x-algolia-api-key": r, "x-algolia-application-id": e }; + return { + headers: function () { + return t === m.WithinHeaders ? n : {}; + }, + queryParameters: function () { + return t === m.WithinQueryParameters ? n : {}; + }, + }; + } + function f(t) { + var e = 0; + return t(function r() { + return ( + e++, + new Promise(function (n) { + setTimeout( + function () { + n(t(r)); + }, + Math.min(100 * e, 1e3), + ); + }) + ); + }); + } + function d(t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : function (t, e) { + return Promise.resolve(); + }; + return Object.assign(t, { + wait: function (r) { + return d( + t + .then(function (t) { + return Promise.all([e(t, r), t]); + }) + .then(function (t) { + return t[1]; + }), + ); + }, + }); + } + function l(t) { + for (var e = t.length - 1; e > 0; e--) { + var r = Math.floor(Math.random() * (e + 1)), + n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + return t; + } + function p(t, e) { + return e + ? (Object.keys(e).forEach(function (r) { + t[r] = e[r](t); + }), + t) + : t; + } + function h(t) { + for ( + var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), n = 1; + n < e; + n++ + ) + r[n - 1] = arguments[n]; + var a = 0; + return t.replace(/%s/g, function () { + return encodeURIComponent(r[a++]); + }); + } + var m = { WithinQueryParameters: 0, WithinHeaders: 1 }; + function y(t, e) { + var r = t || {}, + n = r.data || {}; + return ( + Object.keys(r).forEach(function (t) { + -1 === + [ + "timeout", + "headers", + "queryParameters", + "data", + "cacheable", + ].indexOf(t) && (n[t] = r[t]); + }), + { + data: Object.entries(n).length > 0 ? n : void 0, + timeout: r.timeout || e, + headers: r.headers || {}, + queryParameters: r.queryParameters || {}, + cacheable: r.cacheable, + } + ); + } + var g = { Read: 1, Write: 2, Any: 3 }, + v = 1, + b = 2, + P = 3; + function w(t) { + var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : v; + return r(r({}, t), {}, { status: e, lastUpdate: Date.now() }); + } + function O(t) { + return "string" == typeof t + ? { protocol: "https", url: t, accept: g.Any } + : { + protocol: t.protocol || "https", + url: t.url, + accept: t.accept || g.Any, + }; + } + var I = "DELETE", + x = "GET", + j = "POST", + D = "PUT"; + function q(t, e) { + return Promise.all( + e.map(function (e) { + return t.get(e, function () { + return Promise.resolve(w(e)); + }); + }), + ).then(function (t) { + var r = t.filter(function (t) { + return (function (t) { + return t.status === v || Date.now() - t.lastUpdate > 12e4; + })(t); + }), + n = t.filter(function (t) { + return (function (t) { + return t.status === P && Date.now() - t.lastUpdate <= 12e4; + })(t); + }), + a = [].concat(o(r), o(n)); + return { + getTimeout: function (t, e) { + return (0 === n.length && 0 === t ? 1 : n.length + 3 + t) * e; + }, + statelessHosts: + a.length > 0 + ? a.map(function (t) { + return O(t); + }) + : e, + }; + }); + } + function S(t, e, n, a) { + var i = [], + u = (function (t, e) { + if (t.method === x || (void 0 === t.data && void 0 === e.data)) return; + var n = Array.isArray(t.data) ? t.data : r(r({}, t.data), e.data); + return JSON.stringify(n); + })(n, a), + s = (function (t, e) { + var n = r(r({}, t.headers), e.headers), + a = {}; + return ( + Object.keys(n).forEach(function (t) { + var e = n[t]; + a[t.toLowerCase()] = e; + }), + a + ); + })(t, a), + c = n.method, + f = n.method !== x ? {} : r(r({}, n.data), a.data), + d = r( + r(r({ "x-algolia-agent": t.userAgent.value }, t.queryParameters), f), + a.queryParameters, + ), + l = 0, + p = function e(r, o) { + var f = r.pop(); + if (void 0 === f) + throw { + name: "RetryError", + message: + "Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.", + transporterStackTrace: R(i), + }; + var p = { + data: u, + headers: s, + method: c, + url: N(f, n.path, d), + connectTimeout: o(l, t.timeouts.connect), + responseTimeout: o(l, a.timeout), + }, + h = function (t) { + var e = { request: p, response: t, host: f, triesLeft: r.length }; + return i.push(e), e; + }, + m = { + onSuccess: function (t) { + return (function (t) { + try { + return JSON.parse(t.content); + } catch (e) { + throw (function (t, e) { + return { + name: "DeserializationError", + message: t, + response: e, + }; + })(e.message, t); + } + })(t); + }, + onRetry: function (n) { + var a = h(n); + return ( + n.isTimedOut && l++, + Promise.all([ + t.logger.info("Retryable failure", A(a)), + t.hostsCache.set(f, w(f, n.isTimedOut ? P : b)), + ]).then(function () { + return e(r, o); + }) + ); + }, + onFail: function (t) { + throw ( + (h(t), + (function (t, e) { + var r = t.content, + n = t.status, + a = r; + try { + a = JSON.parse(r).message; + } catch (t) {} + return (function (t, e, r) { + return { + name: "ApiError", + message: t, + status: e, + transporterStackTrace: r, + }; + })(a, n, e); + })(t, R(i))) + ); + }, + }; + return t.requester.send(p).then(function (t) { + return (function (t, e) { + return (function (t) { + var e = t.status; + return ( + t.isTimedOut || + (function (t) { + var e = t.isTimedOut, + r = t.status; + return !e && 0 == ~~r; + })(t) || + (2 != ~~(e / 100) && 4 != ~~(e / 100)) + ); + })(t) + ? e.onRetry(t) + : 2 == ~~(t.status / 100) + ? e.onSuccess(t) + : e.onFail(t); + })(t, m); + }); + }; + return q(t.hostsCache, e).then(function (t) { + return p(o(t.statelessHosts).reverse(), t.getTimeout); + }); + } + function k(t) { + var e = t.hostsCache, + r = t.logger, + n = t.requester, + o = t.requestsCache, + i = t.responsesCache, + u = t.timeouts, + s = t.userAgent, + c = t.hosts, + f = t.queryParameters, + d = { + hostsCache: e, + logger: r, + requester: n, + requestsCache: o, + responsesCache: i, + timeouts: u, + userAgent: s, + headers: t.headers, + queryParameters: f, + hosts: c.map(function (t) { + return O(t); + }), + read: function (t, e) { + var r = y(e, d.timeouts.read), + n = function () { + return S( + d, + d.hosts.filter(function (t) { + return 0 != (t.accept & g.Read); + }), + t, + r, + ); + }; + if (!0 !== (void 0 !== r.cacheable ? r.cacheable : t.cacheable)) + return n(); + var o = { + request: t, + mappedRequestOptions: r, + transporter: { + queryParameters: d.queryParameters, + headers: d.headers, + }, + }; + return d.responsesCache.get( + o, + function () { + return d.requestsCache.get(o, function () { + return d.requestsCache + .set(o, n()) + .then( + function (t) { + return Promise.all([d.requestsCache.delete(o), t]); + }, + function (t) { + return Promise.all([ + d.requestsCache.delete(o), + Promise.reject(t), + ]); + }, + ) + .then(function (t) { + var e = a(t, 2); + e[0]; + return e[1]; + }); + }); + }, + { + miss: function (t) { + return d.responsesCache.set(o, t); + }, + }, + ); + }, + write: function (t, e) { + return S( + d, + d.hosts.filter(function (t) { + return 0 != (t.accept & g.Write); + }), + t, + y(e, d.timeouts.write), + ); + }, + }; + return d; + } + function T(t) { + var e = { + value: "Algolia for JavaScript (".concat(t, ")"), + add: function (t) { + var r = "; " + .concat(t.segment) + .concat(void 0 !== t.version ? " (".concat(t.version, ")") : ""); + return ( + -1 === e.value.indexOf(r) && (e.value = "".concat(e.value).concat(r)), + e + ); + }, + }; + return e; + } + function N(t, e, r) { + var n = E(r), + a = "" + .concat(t.protocol, "://") + .concat(t.url, "/") + .concat("/" === e.charAt(0) ? e.substr(1) : e); + return n.length && (a += "?".concat(n)), a; + } + function E(t) { + return Object.keys(t) + .map(function (e) { + return h( + "%s=%s", + e, + ((r = t[e]), + "[object Object]" === Object.prototype.toString.call(r) || + "[object Array]" === Object.prototype.toString.call(r) + ? JSON.stringify(t[e]) + : t[e]), + ); + var r; + }) + .join("&"); + } + function R(t) { + return t.map(function (t) { + return A(t); + }); + } + function A(t) { + var e = t.request.headers["x-algolia-api-key"] + ? { "x-algolia-api-key": "*****" } + : {}; + return r( + r({}, t), + {}, + { + request: r( + r({}, t.request), + {}, + { headers: r(r({}, t.request.headers), e) }, + ), + }, + ); + } + var C = function (t) { + return function (e, r) { + return t.transporter.write( + { method: j, path: "2/abtests", data: e }, + r, + ); + }; + }, + U = function (t) { + return function (e, r) { + return t.transporter.write( + { method: I, path: h("2/abtests/%s", e) }, + r, + ); + }; + }, + z = function (t) { + return function (e, r) { + return t.transporter.read({ method: x, path: h("2/abtests/%s", e) }, r); + }; + }, + J = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "2/abtests" }, e); + }; + }, + F = function (t) { + return function (e, r) { + return t.transporter.write( + { method: j, path: h("2/abtests/%s/stop", e) }, + r, + ); + }; + }, + H = function (t) { + return function (e) { + return t.transporter.read( + { method: x, path: "1/strategies/personalization" }, + e, + ); + }; + }, + M = function (t) { + return function (e, r) { + return t.transporter.write( + { method: j, path: "1/strategies/personalization", data: e }, + r, + ); + }; + }; + function K(t) { + return (function e(r) { + return t.request(r).then(function (n) { + if ((void 0 !== t.batch && t.batch(n.hits), !t.shouldStop(n))) + return n.cursor + ? e({ cursor: n.cursor }) + : e({ page: (r.page || 0) + 1 }); + }); + })({}); + } + var W = function (t) { + return function (e, a) { + var o = a || {}, + i = o.queryParameters, + u = n(o, ["queryParameters"]), + s = r({ acl: e }, void 0 !== i ? { queryParameters: i } : {}); + return d( + t.transporter.write({ method: j, path: "1/keys", data: s }, u), + function (e, r) { + return f(function (n) { + return tt(t)(e.key, r).catch(function (t) { + if (404 !== t.status) throw t; + return n(); + }); + }); + }, + ); + }; + }, + B = function (t) { + return function (e, r, n) { + var a = y(n); + return ( + (a.queryParameters["X-Algolia-User-ID"] = e), + t.transporter.write( + { method: j, path: "1/clusters/mapping", data: { cluster: r } }, + a, + ) + ); + }; + }, + Q = function (t) { + return function (e, r, n) { + return t.transporter.write( + { + method: j, + path: "1/clusters/mapping/batch", + data: { users: e, cluster: r }, + }, + n, + ); + }; + }, + G = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { + clearExistingDictionaryEntries: !0, + requests: { action: "addEntry", body: [] }, + }, + }, + r, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + L = function (t) { + return function (e, r, n) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/operation", e), + data: { operation: "copy", destination: r }, + }, + n, + ), + function (r, n) { + return ut(t)(e, { methods: { waitTask: de } }).waitTask( + r.taskID, + n, + ); + }, + ); + }; + }, + V = function (t) { + return function (e, n, a) { + return L(t)(e, n, r(r({}, a), {}, { scope: [pe.Rules] })); + }; + }, + _ = function (t) { + return function (e, n, a) { + return L(t)(e, n, r(r({}, a), {}, { scope: [pe.Settings] })); + }; + }, + X = function (t) { + return function (e, n, a) { + return L(t)(e, n, r(r({}, a), {}, { scope: [pe.Synonyms] })); + }; + }, + Y = function (t) { + return function (e, r) { + return e.method === x + ? t.transporter.read(e, r) + : t.transporter.write(e, r); + }; + }, + Z = function (t) { + return function (e, r) { + return d( + t.transporter.write({ method: I, path: h("1/keys/%s", e) }, r), + function (r, n) { + return f(function (r) { + return tt(t)(e, n) + .then(r) + .catch(function (t) { + if (404 !== t.status) throw t; + }); + }); + }, + ); + }; + }, + $ = function (t) { + return function (e, r, n) { + var a = r.map(function (t) { + return { action: "deleteEntry", body: { objectID: t } }; + }); + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { clearExistingDictionaryEntries: !1, requests: a }, + }, + n, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + tt = function (t) { + return function (e, r) { + return t.transporter.read({ method: x, path: h("1/keys/%s", e) }, r); + }; + }, + et = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/task/%s", e.toString()) }, + r, + ); + }; + }, + rt = function (t) { + return function (e) { + return t.transporter.read( + { method: x, path: "/1/dictionaries/*/settings" }, + e, + ); + }; + }, + nt = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/logs" }, e); + }; + }, + at = function (t) { + return function (e) { + return t.transporter.read( + { method: x, path: "1/clusters/mapping/top" }, + e, + ); + }; + }, + ot = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/clusters/mapping/%s", e) }, + r, + ); + }; + }, + it = function (t) { + return function (e) { + var r = e || {}, + a = r.retrieveMappings, + o = n(r, ["retrieveMappings"]); + return ( + !0 === a && (o.getClusters = !0), + t.transporter.read( + { method: x, path: "1/clusters/mapping/pending" }, + o, + ) + ); + }; + }, + ut = function (t) { + return function (e) { + var r = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = { transporter: t.transporter, appId: t.appId, indexName: e }; + return p(n, r.methods); + }; + }, + st = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/keys" }, e); + }; + }, + ct = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/clusters" }, e); + }; + }, + ft = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/indexes" }, e); + }; + }, + dt = function (t) { + return function (e) { + return t.transporter.read({ method: x, path: "1/clusters/mapping" }, e); + }; + }, + lt = function (t) { + return function (e, r, n) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/operation", e), + data: { operation: "move", destination: r }, + }, + n, + ), + function (r, n) { + return ut(t)(e, { methods: { waitTask: de } }).waitTask( + r.taskID, + n, + ); + }, + ); + }; + }, + pt = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { method: j, path: "1/indexes/*/batch", data: { requests: e } }, + r, + ), + function (e, r) { + return Promise.all( + Object.keys(e.taskID).map(function (n) { + return ut(t)(n, { methods: { waitTask: de } }).waitTask( + e.taskID[n], + r, + ); + }), + ); + }, + ); + }; + }, + ht = function (t) { + return function (e, r) { + return t.transporter.read( + { method: j, path: "1/indexes/*/objects", data: { requests: e } }, + r, + ); + }; + }, + mt = function (t) { + return function (e, n) { + var a = e.map(function (t) { + return r(r({}, t), {}, { params: E(t.params || {}) }); + }); + return t.transporter.read( + { + method: j, + path: "1/indexes/*/queries", + data: { requests: a }, + cacheable: !0, + }, + n, + ); + }; + }, + yt = function (t) { + return function (e, a) { + return Promise.all( + e.map(function (e) { + var o = e.params, + i = o.facetName, + u = o.facetQuery, + s = n(o, ["facetName", "facetQuery"]); + return ut(t)(e.indexName, { + methods: { searchForFacetValues: ue }, + }).searchForFacetValues(i, u, r(r({}, a), s)); + }), + ); + }; + }, + gt = function (t) { + return function (e, r) { + var n = y(r); + return ( + (n.queryParameters["X-Algolia-User-ID"] = e), + t.transporter.write({ method: I, path: "1/clusters/mapping" }, n) + ); + }; + }, + vt = function (t) { + return function (e, r, n) { + var a = r.map(function (t) { + return { action: "addEntry", body: t }; + }); + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { clearExistingDictionaryEntries: !0, requests: a }, + }, + n, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + bt = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { method: j, path: h("1/keys/%s/restore", e) }, + r, + ), + function (r, n) { + return f(function (r) { + return tt(t)(e, n).catch(function (t) { + if (404 !== t.status) throw t; + return r(); + }); + }); + }, + ); + }; + }, + Pt = function (t) { + return function (e, r, n) { + var a = r.map(function (t) { + return { action: "addEntry", body: t }; + }); + return d( + t.transporter.write( + { + method: j, + path: h("/1/dictionaries/%s/batch", e), + data: { clearExistingDictionaryEntries: !1, requests: a }, + }, + n, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + wt = function (t) { + return function (e, r, n) { + return t.transporter.read( + { + method: j, + path: h("/1/dictionaries/%s/search", e), + data: { query: r }, + cacheable: !0, + }, + n, + ); + }; + }, + Ot = function (t) { + return function (e, r) { + return t.transporter.read( + { method: j, path: "1/clusters/mapping/search", data: { query: e } }, + r, + ); + }; + }, + It = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { method: D, path: "/1/dictionaries/*/settings", data: e }, + r, + ), + function (e, r) { + return jt(t)(e.taskID, r); + }, + ); + }; + }, + xt = function (t) { + return function (e, r) { + var a = Object.assign({}, r), + o = r || {}, + i = o.queryParameters, + u = n(o, ["queryParameters"]), + s = i ? { queryParameters: i } : {}, + c = [ + "acl", + "indexes", + "referers", + "restrictSources", + "queryParameters", + "description", + "maxQueriesPerIPPerHour", + "maxHitsPerQuery", + ]; + return d( + t.transporter.write( + { method: D, path: h("1/keys/%s", e), data: s }, + u, + ), + function (r, n) { + return f(function (r) { + return tt(t)(e, n).then(function (t) { + return (function (t) { + return Object.keys(a) + .filter(function (t) { + return -1 !== c.indexOf(t); + }) + .every(function (e) { + return t[e] === a[e]; + }); + })(t) + ? Promise.resolve() + : r(); + }); + }); + }, + ); + }; + }, + jt = function (t) { + return function (e, r) { + return f(function (n) { + return et(t)(e, r).then(function (t) { + return "published" !== t.status ? n() : void 0; + }); + }); + }; + }, + Dt = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/batch", t.indexName), + data: { requests: e }, + }, + r, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + qt = function (t) { + return function (e) { + return K( + r( + r( + { + shouldStop: function (t) { + return void 0 === t.cursor; + }, + }, + e, + ), + {}, + { + request: function (r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/browse", t.indexName), + data: r, + }, + e, + ); + }, + }, + ), + ); + }; + }, + St = function (t) { + return function (e) { + var n = r({ hitsPerPage: 1e3 }, e); + return K( + r( + r( + { + shouldStop: function (t) { + return t.hits.length < n.hitsPerPage; + }, + }, + n, + ), + {}, + { + request: function (e) { + return se(t)("", r(r({}, n), e)).then(function (t) { + return r( + r({}, t), + {}, + { + hits: t.hits.map(function (t) { + return delete t._highlightResult, t; + }), + }, + ); + }); + }, + }, + ), + ); + }; + }, + kt = function (t) { + return function (e) { + var n = r({ hitsPerPage: 1e3 }, e); + return K( + r( + r( + { + shouldStop: function (t) { + return t.hits.length < n.hitsPerPage; + }, + }, + n, + ), + {}, + { + request: function (e) { + return ce(t)("", r(r({}, n), e)).then(function (t) { + return r( + r({}, t), + {}, + { + hits: t.hits.map(function (t) { + return delete t._highlightResult, t; + }), + }, + ); + }); + }, + }, + ), + ); + }; + }, + Tt = function (t) { + return function (e, r, a) { + var o = a || {}, + i = o.batchSize, + u = n(o, ["batchSize"]), + s = { taskIDs: [], objectIDs: [] }; + return d( + (function n() { + var a, + o = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : 0, + c = []; + for ( + a = o; + a < e.length && (c.push(e[a]), c.length !== (i || 1e3)); + a++ + ); + return 0 === c.length + ? Promise.resolve(s) + : Dt(t)( + c.map(function (t) { + return { action: r, body: t }; + }), + u, + ).then(function (t) { + return ( + (s.objectIDs = s.objectIDs.concat(t.objectIDs)), + s.taskIDs.push(t.taskID), + a++, + n(a) + ); + }); + })(), + function (e, r) { + return Promise.all( + e.taskIDs.map(function (e) { + return de(t)(e, r); + }), + ); + }, + ); + }; + }, + Nt = function (t) { + return function (e) { + return d( + t.transporter.write( + { method: j, path: h("1/indexes/%s/clear", t.indexName) }, + e, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Et = function (t) { + return function (e) { + var r = e || {}, + a = r.forwardToReplicas, + o = y(n(r, ["forwardToReplicas"])); + return ( + a && (o.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { method: j, path: h("1/indexes/%s/rules/clear", t.indexName) }, + o, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + Rt = function (t) { + return function (e) { + var r = e || {}, + a = r.forwardToReplicas, + o = y(n(r, ["forwardToReplicas"])); + return ( + a && (o.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/synonyms/clear", t.indexName), + }, + o, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + At = function (t) { + return function (e, r) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/deleteByQuery", t.indexName), + data: e, + }, + r, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Ct = function (t) { + return function (e) { + return d( + t.transporter.write( + { method: I, path: h("1/indexes/%s", t.indexName) }, + e, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Ut = function (t) { + return function (e, r) { + return d( + zt(t)([e], r).then(function (t) { + return { taskID: t.taskIDs[0] }; + }), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + zt = function (t) { + return function (e, r) { + var n = e.map(function (t) { + return { objectID: t }; + }); + return Tt(t)(n, le.DeleteObject, r); + }; + }, + Jt = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = y(n(a, ["forwardToReplicas"])); + return ( + o && (i.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { method: I, path: h("1/indexes/%s/rules/%s", t.indexName, e) }, + i, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + Ft = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = y(n(a, ["forwardToReplicas"])); + return ( + o && (i.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { + method: I, + path: h("1/indexes/%s/synonyms/%s", t.indexName, e), + }, + i, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + Ht = function (t) { + return function (e) { + return Lt(t)(e) + .then(function () { + return !0; + }) + .catch(function (t) { + if (404 !== t.status) throw t; + return !1; + }); + }; + }, + Mt = function (t) { + return function (e, r, n) { + return t.transporter.read( + { + method: j, + path: h("1/answers/%s/prediction", t.indexName), + data: { query: e, queryLanguages: r }, + cacheable: !0, + }, + n, + ); + }; + }, + Kt = function (t) { + return function (e, o) { + var i = o || {}, + u = i.query, + s = i.paginate, + c = n(i, ["query", "paginate"]), + f = 0; + return (function n() { + return ie(t)(u || "", r(r({}, c), {}, { page: f })).then( + function (t) { + for (var r = 0, o = Object.entries(t.hits); r < o.length; r++) { + var i = a(o[r], 2), + u = i[0], + c = i[1]; + if (e(c)) + return { object: c, position: parseInt(u, 10), page: f }; + } + if ((f++, !1 === s || f >= t.nbPages)) + throw { + name: "ObjectNotFoundError", + message: "Object not found.", + }; + return n(); + }, + ); + })(); + }; + }, + Wt = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/indexes/%s/%s", t.indexName, e) }, + r, + ); + }; + }, + Bt = function () { + return function (t, e) { + for (var r = 0, n = Object.entries(t.hits); r < n.length; r++) { + var o = a(n[r], 2), + i = o[0]; + if (o[1].objectID === e) return parseInt(i, 10); + } + return -1; + }; + }, + Qt = function (t) { + return function (e, a) { + var o = a || {}, + i = o.attributesToRetrieve, + u = n(o, ["attributesToRetrieve"]), + s = e.map(function (e) { + return r( + { indexName: t.indexName, objectID: e }, + i ? { attributesToRetrieve: i } : {}, + ); + }); + return t.transporter.read( + { method: j, path: "1/indexes/*/objects", data: { requests: s } }, + u, + ); + }; + }, + Gt = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/indexes/%s/rules/%s", t.indexName, e) }, + r, + ); + }; + }, + Lt = function (t) { + return function (e) { + return t.transporter.read( + { + method: x, + path: h("1/indexes/%s/settings", t.indexName), + data: { getVersion: 2 }, + }, + e, + ); + }; + }, + Vt = function (t) { + return function (e, r) { + return t.transporter.read( + { method: x, path: h("1/indexes/%s/synonyms/%s", t.indexName, e) }, + r, + ); + }; + }, + _t = function (t) { + return function (e, r) { + return d( + Xt(t)([e], r).then(function (t) { + return { objectID: t.objectIDs[0], taskID: t.taskIDs[0] }; + }), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + Xt = function (t) { + return function (e, r) { + var a = r || {}, + o = a.createIfNotExists, + i = n(a, ["createIfNotExists"]), + u = o ? le.PartialUpdateObject : le.PartialUpdateObjectNoCreate; + return Tt(t)(e, u, i); + }; + }, + Yt = function (t) { + return function (e, i) { + var u = i || {}, + s = u.safe, + c = u.autoGenerateObjectIDIfNotExist, + f = u.batchSize, + l = n(u, ["safe", "autoGenerateObjectIDIfNotExist", "batchSize"]), + p = function (e, r, n, a) { + return d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/operation", e), + data: { operation: n, destination: r }, + }, + a, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }, + m = Math.random().toString(36).substring(7), + y = "".concat(t.indexName, "_tmp_").concat(m), + g = ee({ appId: t.appId, transporter: t.transporter, indexName: y }), + v = [], + b = p( + t.indexName, + y, + "copy", + r(r({}, l), {}, { scope: ["settings", "synonyms", "rules"] }), + ); + return ( + v.push(b), + d( + (s ? b.wait(l) : b) + .then(function () { + var t = g( + e, + r( + r({}, l), + {}, + { autoGenerateObjectIDIfNotExist: c, batchSize: f }, + ), + ); + return v.push(t), s ? t.wait(l) : t; + }) + .then(function () { + var e = p(y, t.indexName, "move", l); + return v.push(e), s ? e.wait(l) : e; + }) + .then(function () { + return Promise.all(v); + }) + .then(function (t) { + var e = a(t, 3), + r = e[0], + n = e[1], + i = e[2]; + return { + objectIDs: n.objectIDs, + taskIDs: [r.taskID].concat(o(n.taskIDs), [i.taskID]), + }; + }), + function (t, e) { + return Promise.all( + v.map(function (t) { + return t.wait(e); + }), + ); + }, + ) + ); + }; + }, + Zt = function (t) { + return function (e, n) { + return ne(t)(e, r(r({}, n), {}, { clearExistingRules: !0 })); + }; + }, + $t = function (t) { + return function (e, n) { + return oe(t)(e, r(r({}, n), {}, { clearExistingSynonyms: !0 })); + }; + }, + te = function (t) { + return function (e, r) { + return d( + ee(t)([e], r).then(function (t) { + return { objectID: t.objectIDs[0], taskID: t.taskIDs[0] }; + }), + function (e, r) { + return de(t)(e.taskID, r); + }, + ); + }; + }, + ee = function (t) { + return function (e, r) { + var a = r || {}, + o = a.autoGenerateObjectIDIfNotExist, + i = n(a, ["autoGenerateObjectIDIfNotExist"]), + u = o ? le.AddObject : le.UpdateObject; + if (u === le.UpdateObject) { + var s = !0, + c = !1, + f = void 0; + try { + for ( + var l, p = e[Symbol.iterator](); + !(s = (l = p.next()).done); + s = !0 + ) { + if (void 0 === l.value.objectID) + return d( + Promise.reject({ + name: "MissingObjectIDError", + message: + "All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.", + }), + ); + } + } catch (t) { + (c = !0), (f = t); + } finally { + try { + s || null == p.return || p.return(); + } finally { + if (c) throw f; + } + } + } + return Tt(t)(e, u, i); + }; + }, + re = function (t) { + return function (e, r) { + return ne(t)([e], r); + }; + }, + ne = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = a.clearExistingRules, + u = y(n(a, ["forwardToReplicas", "clearExistingRules"])); + return ( + o && (u.queryParameters.forwardToReplicas = 1), + i && (u.queryParameters.clearExistingRules = 1), + d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/rules/batch", t.indexName), + data: e, + }, + u, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + ae = function (t) { + return function (e, r) { + return oe(t)([e], r); + }; + }, + oe = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = a.clearExistingSynonyms, + u = a.replaceExistingSynonyms, + s = y( + n(a, [ + "forwardToReplicas", + "clearExistingSynonyms", + "replaceExistingSynonyms", + ]), + ); + return ( + o && (s.queryParameters.forwardToReplicas = 1), + (u || i) && (s.queryParameters.replaceExistingSynonyms = 1), + d( + t.transporter.write( + { + method: j, + path: h("1/indexes/%s/synonyms/batch", t.indexName), + data: e, + }, + s, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + ie = function (t) { + return function (e, r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/query", t.indexName), + data: { query: e }, + cacheable: !0, + }, + r, + ); + }; + }, + ue = function (t) { + return function (e, r, n) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/facets/%s/query", t.indexName, e), + data: { facetQuery: r }, + cacheable: !0, + }, + n, + ); + }; + }, + se = function (t) { + return function (e, r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/rules/search", t.indexName), + data: { query: e }, + }, + r, + ); + }; + }, + ce = function (t) { + return function (e, r) { + return t.transporter.read( + { + method: j, + path: h("1/indexes/%s/synonyms/search", t.indexName), + data: { query: e }, + }, + r, + ); + }; + }, + fe = function (t) { + return function (e, r) { + var a = r || {}, + o = a.forwardToReplicas, + i = y(n(a, ["forwardToReplicas"])); + return ( + o && (i.queryParameters.forwardToReplicas = 1), + d( + t.transporter.write( + { + method: D, + path: h("1/indexes/%s/settings", t.indexName), + data: e, + }, + i, + ), + function (e, r) { + return de(t)(e.taskID, r); + }, + ) + ); + }; + }, + de = function (t) { + return function (e, r) { + return f(function (n) { + return (function (t) { + return function (e, r) { + return t.transporter.read( + { + method: x, + path: h("1/indexes/%s/task/%s", t.indexName, e.toString()), + }, + r, + ); + }; + })(t)(e, r).then(function (t) { + return "published" !== t.status ? n() : void 0; + }); + }); + }; + }, + le = { + AddObject: "addObject", + UpdateObject: "updateObject", + PartialUpdateObject: "partialUpdateObject", + PartialUpdateObjectNoCreate: "partialUpdateObjectNoCreate", + DeleteObject: "deleteObject", + DeleteIndex: "delete", + ClearIndex: "clear", + }, + pe = { Settings: "settings", Synonyms: "synonyms", Rules: "rules" }, + he = 1, + me = 2, + ye = 3; + function ge(t, e, n) { + var a, + o = { + appId: t, + apiKey: e, + timeouts: { connect: 1, read: 2, write: 30 }, + requester: { + send: function (t) { + return new Promise(function (e) { + var r = new XMLHttpRequest(); + r.open(t.method, t.url, !0), + Object.keys(t.headers).forEach(function (e) { + return r.setRequestHeader(e, t.headers[e]); + }); + var n, + a = function (t, n) { + return setTimeout(function () { + r.abort(), e({ status: 0, content: n, isTimedOut: !0 }); + }, 1e3 * t); + }, + o = a(t.connectTimeout, "Connection timeout"); + (r.onreadystatechange = function () { + r.readyState > r.OPENED && + void 0 === n && + (clearTimeout(o), + (n = a(t.responseTimeout, "Socket timeout"))); + }), + (r.onerror = function () { + 0 === r.status && + (clearTimeout(o), + clearTimeout(n), + e({ + content: r.responseText || "Network request failed", + status: r.status, + isTimedOut: !1, + })); + }), + (r.onload = function () { + clearTimeout(o), + clearTimeout(n), + e({ + content: r.responseText, + status: r.status, + isTimedOut: !1, + }); + }), + r.send(t.data); + }); + }, + }, + logger: + ((a = ye), + { + debug: function (t, e) { + return he >= a && console.debug(t, e), Promise.resolve(); + }, + info: function (t, e) { + return me >= a && console.info(t, e), Promise.resolve(); + }, + error: function (t, e) { + return console.error(t, e), Promise.resolve(); + }, + }), + responsesCache: s(), + requestsCache: s({ serializable: !1 }), + hostsCache: u({ + caches: [i({ key: "".concat("4.17.0", "-").concat(t) }), s()], + }), + userAgent: T("4.17.0").add({ segment: "Browser" }), + }, + f = r(r({}, o), n), + d = function () { + return function (t) { + return (function (t) { + var e = t.region || "us", + n = c(m.WithinHeaders, t.appId, t.apiKey), + a = k( + r( + r( + { + hosts: [ + { url: "personalization.".concat(e, ".algolia.com") }, + ], + }, + t, + ), + {}, + { + headers: r( + r(r({}, n.headers()), { + "content-type": "application/json", + }), + t.headers, + ), + queryParameters: r( + r({}, n.queryParameters()), + t.queryParameters, + ), + }, + ), + ); + return p({ appId: t.appId, transporter: a }, t.methods); + })( + r( + r(r({}, o), t), + {}, + { + methods: { + getPersonalizationStrategy: H, + setPersonalizationStrategy: M, + }, + }, + ), + ); + }; + }; + return (function (t) { + var e = t.appId, + n = c( + void 0 !== t.authMode ? t.authMode : m.WithinHeaders, + e, + t.apiKey, + ), + a = k( + r( + r( + { + hosts: [ + { url: "".concat(e, "-dsn.algolia.net"), accept: g.Read }, + { url: "".concat(e, ".algolia.net"), accept: g.Write }, + ].concat( + l([ + { url: "".concat(e, "-1.algolianet.com") }, + { url: "".concat(e, "-2.algolianet.com") }, + { url: "".concat(e, "-3.algolianet.com") }, + ]), + ), + }, + t, + ), + {}, + { + headers: r( + r(r({}, n.headers()), { + "content-type": "application/x-www-form-urlencoded", + }), + t.headers, + ), + queryParameters: r(r({}, n.queryParameters()), t.queryParameters), + }, + ), + ); + return p( + { + transporter: a, + appId: e, + addAlgoliaAgent: function (t, e) { + a.userAgent.add({ segment: t, version: e }); + }, + clearCache: function () { + return Promise.all([ + a.requestsCache.clear(), + a.responsesCache.clear(), + ]).then(function () {}); + }, + }, + t.methods, + ); + })( + r( + r({}, f), + {}, + { + methods: { + search: mt, + searchForFacetValues: yt, + multipleBatch: pt, + multipleGetObjects: ht, + multipleQueries: mt, + copyIndex: L, + copySettings: _, + copySynonyms: X, + copyRules: V, + moveIndex: lt, + listIndices: ft, + getLogs: nt, + listClusters: ct, + multipleSearchForFacetValues: yt, + getApiKey: tt, + addApiKey: W, + listApiKeys: st, + updateApiKey: xt, + deleteApiKey: Z, + restoreApiKey: bt, + assignUserID: B, + assignUserIDs: Q, + getUserID: ot, + searchUserIDs: Ot, + listUserIDs: dt, + getTopUserIDs: at, + removeUserID: gt, + hasPendingMappings: it, + clearDictionaryEntries: G, + deleteDictionaryEntries: $, + getDictionarySettings: rt, + getAppTask: et, + replaceDictionaryEntries: vt, + saveDictionaryEntries: Pt, + searchDictionaryEntries: wt, + setDictionarySettings: It, + waitAppTask: jt, + customRequest: Y, + initIndex: function (t) { + return function (e) { + return ut(t)(e, { + methods: { + batch: Dt, + delete: Ct, + findAnswers: Mt, + getObject: Wt, + getObjects: Qt, + saveObject: te, + saveObjects: ee, + search: ie, + searchForFacetValues: ue, + waitTask: de, + setSettings: fe, + getSettings: Lt, + partialUpdateObject: _t, + partialUpdateObjects: Xt, + deleteObject: Ut, + deleteObjects: zt, + deleteBy: At, + clearObjects: Nt, + browseObjects: qt, + getObjectPosition: Bt, + findObject: Kt, + exists: Ht, + saveSynonym: ae, + saveSynonyms: oe, + getSynonym: Vt, + searchSynonyms: ce, + browseSynonyms: kt, + deleteSynonym: Ft, + clearSynonyms: Rt, + replaceAllObjects: Yt, + replaceAllSynonyms: $t, + searchRules: se, + getRule: Gt, + deleteRule: Jt, + saveRule: re, + saveRules: ne, + replaceAllRules: Zt, + browseRules: St, + clearRules: Et, + }, + }); + }; + }, + initAnalytics: function () { + return function (t) { + return (function (t) { + var e = t.region || "us", + n = c(m.WithinHeaders, t.appId, t.apiKey), + a = k( + r( + r( + { + hosts: [ + { url: "analytics.".concat(e, ".algolia.com") }, + ], + }, + t, + ), + {}, + { + headers: r( + r(r({}, n.headers()), { + "content-type": "application/json", + }), + t.headers, + ), + queryParameters: r( + r({}, n.queryParameters()), + t.queryParameters, + ), + }, + ), + ); + return p({ appId: t.appId, transporter: a }, t.methods); + })( + r( + r(r({}, o), t), + {}, + { + methods: { + addABTest: C, + getABTest: z, + getABTests: J, + stopABTest: F, + deleteABTest: U, + }, + }, + ), + ); + }; + }, + initPersonalization: d, + initRecommendation: function () { + return function (t) { + return ( + f.logger.info( + "The `initRecommendation` method is deprecated. Use `initPersonalization` instead.", + ), + d()(t) + ); + }; + }, + }, + }, + ), + ); + } + return (ge.version = "4.17.0"), ge; +}); diff --git a/themes/itheme/static/js/animation.js b/themes/itheme/static/js/animation.js new file mode 100644 index 0000000..f7bceb5 --- /dev/null +++ b/themes/itheme/static/js/animation.js @@ -0,0 +1,88 @@ +var animationElements = []; +var imageElements = []; +var animationElementName = ".small-load"; + + +// Hookable function +var loadAnimation = function (item) { + let img = new Image(); + img.src = item.children[0].children[0].dataset.src; + img.onload = function () { + item.classList.remove("small-load", "medium-load", "large-load"); + item.classList.add("small-loaded", "medium-loaded", "large-loaded"); + } +} + +// Hookable function +var loadImage = function (index) { + if (index >= imageElements.length) return; + let item = imageElements[index]; + let image = new Image(); + item.src = item.dataset.src; + image.src = item.src; + + // if the image is loaded, load the next image + image.onload = function () { + loadImage(index + 1); + } + // if the image is not loaded, load the next image + image.onerror = function () { + loadImage(index + 1); + } +} + + +function initImage() { + // get all the images with data-src attribute + imageElements = document.querySelectorAll('img[data-src]') + // load the images one by one + loadImage(0); + + + animationElements = document.querySelectorAll(animationElementName); + // load the images which are in the viewport + viewPortLoad(0); + const debouncedHandleScroll = debounce(lazyAnimation, 10); + // add the event listener + window.addEventListener('scroll', debouncedHandleScroll); +} + + +function viewPortLoad(index) { + if (index >= animationElements.length) return; + let item = animationElements[index]; + if (!isElementInView(item)) { + viewPortLoad(index + 1) + return; + }; + + loadAnimation(item) + viewPortLoad(index + 1); +} + + +function lazyAnimation() { + images = document.querySelectorAll(animationElementName); + viewPortLoad(0); +} + + +// check if the element is in the viewport +function isElementInView(element) { + const rect = element.getBoundingClientRect(); + const elementTop = rect.top; + const elementBottom = rect.bottom; + return (elementTop >= 0 && elementBottom - 200 <= window.innerHeight); +} + +function debounce(fn, delay) { + let timer = null; + return function () { + let context = this; + let args = arguments; + clearTimeout(timer); + timer = setTimeout(function () { + fn.apply(context, args); + }, delay); + }; +} diff --git a/themes/itheme/static/js/autocomplete-js.js b/themes/itheme/static/js/autocomplete-js.js new file mode 100644 index 0000000..f6cdbb2 --- /dev/null +++ b/themes/itheme/static/js/autocomplete-js.js @@ -0,0 +1,9 @@ +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/@algolia/autocomplete-js@1.8.3/dist/umd/index.production.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +/*! @algolia/autocomplete-js 1.8.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-js"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,a=[],i=!0,u=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(u)throw o}}return a}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(e){return{current:e}}function f(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function d(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var v=0;function m(){return"autocomplete-".concat(v++)}function h(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}function g(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var y=function(){},b="1.8.3",O=[{segment:"autocomplete-core",version:b}];function _(e,t){var n=t;return{then:function(t,r){return _(e.then(j(t,n,e),j(r,n,e)),n)},catch:function(t){return _(e.catch(j(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),_(e.finally(j(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function P(e){return _(e,{isCanceled:!1,onCancelList:[]})}function j(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function S(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,a=0;!1===r;){var i=t.collections[o];if(i===n){r=!0;break}a+=i.items.length,o++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}var C=/((gt|sm)-|galaxy nexus)|samsung[- ]/i;function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function N(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function R(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q(Object(n),!0).forEach((function(t){N(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:a}),n({state:o,prevState:i})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach((function(t){V(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return H(H({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,environment:r,shouldPanelOpen:function(e){return g(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:m(),plugins:o,initialState:H({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(F(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:y,onResolve:y};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=I(I({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return d(e)})).then((function(e){return e.map((function(e){return H(H({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:H({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(n),!0).forEach((function(t){z(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){J(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Z(e){return Boolean(e.execute)}function ee(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(Y(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return K(K({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?K(K({},n),{},{params:K(K({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function te(e){var t=e.reduce((function(e,t){if(!Z(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,a=t.requests,i=e.find((function(e){return Z(t)&&Z(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(i){var u;(u=i.items).push.apply(u,Y(a))}else{var c={execute:r,requesterId:o,items:a,searchClient:n};e.push(c)}return e}),[]).map((function(e){if(!Z(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return d(e)}))}function ne(e,t,n){return t.map((function(t){var r=e.filter((function(e){return e.sourceId===t.sourceId})),o=r.map((function(e){return e.items})),a=r[0].transformResponse,i=a?a(function(e){var t=e.map((function(e){var t;return k(k({},e),{},{hits:null===(t=e.hits)||void 0===t?void 0:t.map((function(t){return k(k({},t),{},{__autocomplete_indexName:e.index,__autocomplete_queryID:e.queryID})}))})}));return{results:t,hits:t.map((function(e){return e.hits})).filter(Boolean),facetHits:t.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}}(o)):o;return t.onResolve({source:t,results:o,items:i,state:n.getState()}),i.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:i}}))}var re=["event","nextState","props","query","refresh","store"];function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ue(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ce,le,se,pe=null,fe=(ce=-1,le=-1,se=void 0,function(e){var t=++ce;return Promise.resolve(e).then((function(e){return se&&t<le?se:(le=t,se=e,e)}))});function de(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,a=e.query,i=e.refresh,u=e.store,c=ue(e,re);pe&&o.environment.clearTimeout(pe);var l=c.setCollections,s=c.setIsOpen,p=c.setQuery,f=c.setActiveItemId,v=c.setStatus;if(p(a),f(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var m,h=u.getState().collections.map((function(e){return ae(ae({},e),{},{items:[]})}));v("idle"),l(h),s(null!==(m=r.isOpen)&&void 0!==m?m:o.shouldPanelOpen({state:u.getState()}));var g=P(fe(h).then((function(){return Promise.resolve()})));return u.pendingRequests.add(g)}v("loading"),pe=o.environment.setTimeout((function(){v("stalled")}),o.stallThreshold);var y=P(fe(o.getSources(ae({query:a,refresh:i,state:u.getState()},c)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(ae({query:a,refresh:i,state:u.getState()},c))).then((function(t){return ee(t,e.sourceId,u.getState())}))}))).then(te).then((function(t){return ne(t,e,u)})).then((function(e){return function(e){var t=e.collections,n=e.props,r=e.state,o=t.reduce((function(e,t){return $($({},e),{},z({},t.source.sourceId,$($({},t.source),{},{getItems:function(){return d(t.items)}})))}),{}),a=n.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:r}).sourcesBySourceId;return d(n.reshape({sourcesBySourceId:a,sources:Object.values(a),state:r})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:u.getState()})}))})))).then((function(e){var n;v("idle"),l(e);var p=o.shouldPanelOpen({state:u.getState()});s(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&p||p);var f=A(u.getState());if(null!==u.getState().activeItemId&&f){var d=f.item,m=f.itemInputValue,h=f.itemUrl,g=f.source;g.onActive(ae({event:t,item:d,itemInputValue:m,itemUrl:h,refresh:i,source:g,state:u.getState()},c))}})).finally((function(){v("idle"),pe&&o.environment.clearTimeout(pe)}));return u.pendingRequests.add(y)}var ve=["event","props","refresh","store"];function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach((function(t){ge(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ge(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var be=["props","refresh","store"],Oe=["inputElement","formElement","panelElement"],_e=["inputElement"],Pe=["inputElement","maxLength"],je=["sourceIndex"],Se=["sourceIndex"],we=["item","source","sourceIndex"];function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(n),!0).forEach((function(t){Ae(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ce(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function De(e){var t=e.props,n=e.refresh,r=e.store,o=Ce(e,be),a=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return Ee({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},Ce(e,Oe))},getRootProps:function(e){return Ee({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){return e.inputElement,Ee({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(Ee({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(Ee({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},Ce(e,_e))},getLabelProps:function(e){var n=e||{},r=n.sourceIndex,o=Ce(n,je);return Ee({htmlFor:"".concat(a(t.id,r),"-input"),id:"".concat(a(t.id,r),"-label")},o)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&de(Ee({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var u=e||{};u.inputElement;var c=u.maxLength,l=void 0===c?512:c,s=Ce(u,Pe),p=A(r.getState()),f=function(e){return Boolean(e&&e.match(C))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),d=null!=p&&p.itemUrl&&!f?"go":"search";return Ee({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?"".concat(t.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:d,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:l,type:"search",onChange:function(e){de(Ee({event:e,props:t,query:e.currentTarget.value.slice(0,l),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=ye(e,ve);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=n.environment.document.getElementById("".concat(n.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},u=function(){var e=A(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,u=e.itemUrl,c=e.source;c.onActive(he({event:t,item:n,itemInputValue:i,itemUrl:u,refresh:r,source:c,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?de(he({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),u(),setTimeout(i,0)})):(o.dispatch(t.key,{}),u(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var c=A(o.getState()),l=c.item,s=c.itemInputValue,p=c.itemUrl,f=c.source;if(t.metaKey||t.ctrlKey)void 0!==p&&(f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:p,item:l,state:o.getState()}));else if(t.shiftKey)void 0!==p&&(f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:p,item:l,state:o.getState()}));else if(t.altKey);else{if(void 0!==p)return f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:p,item:l,state:o.getState()});de(he({event:t,nextState:{isOpen:!1},props:n,query:s,refresh:r,store:o},a)).then((function(){f.onSelect(he({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},a))}))}}}(Ee({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:y,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},s)},getPanelProps:function(e){return Ee({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.sourceIndex,o=Ce(n,Se);return Ee({role:"listbox","aria-labelledby":"".concat(a(t.id,r),"-label"),id:"".concat(a(t.id,r),"-list")},o)},getItemProps:function(e){var i=e.item,u=e.source,c=e.sourceIndex,l=Ce(e,we);return Ee({id:"".concat(a(t.id,c),"-item-").concat(i.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=A(r.getState());if(null!==r.getState().activeItemId&&t){var a=t.item,u=t.itemInputValue,c=t.itemUrl,l=t.source;l.onActive(Ee({event:e,item:a,itemInputValue:u,itemUrl:c,refresh:n,source:l,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var a=u.getItemInputValue({item:i,state:r.getState()}),c=u.getItemUrl({item:i,state:r.getState()});(c?Promise.resolve():de(Ee({event:e,nextState:{isOpen:!1},props:t,query:a,refresh:n,store:r},o))).then((function(){u.onSelect(Ee({event:e,item:i,itemInputValue:a,itemUrl:c,refresh:n,source:u,state:r.getState()},o))}))}},l)}}}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e){var t,n,r,o,a=e.plugins,i=e.options,u=null===(t=((null===(n=i.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,c=u?qe({},u,Object.keys((null===(r=i.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:xe({"autocomplete-core":Object.keys(i)},c),ua:O.concat((null===(o=i.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function Re(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=A(n))||void 0===t?void 0:t.itemInputValue)||null}function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Te(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(n),!0).forEach((function(t){Le(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Le(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fe=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Te(Te({},e),{},{activeItemId:t.payload});case"setQuery":return Te(Te({},e),{},{query:t.payload,completion:null});case"setCollections":return Te(Te({},e),{},{collections:t.payload});case"setIsOpen":return Te(Te({},e),{},{isOpen:t.payload});case"setStatus":return Te(Te({},e),{},{status:t.payload});case"setContext":return Te(Te({},e),{},{context:Te(Te({},e.context),t.payload)});case"ArrowDown":var n=Te(Te({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:S(1,e.activeItemId,g(e),t.props.defaultActiveItemId)});return Te(Te({},n),{},{completion:Re({state:n})});case"ArrowUp":var r=Te(Te({},e),{},{activeItemId:S(-1,e.activeItemId,g(e),t.props.defaultActiveItemId)});return Te(Te({},r),{},{completion:Re({state:r})});case"Escape":return e.isOpen?Te(Te({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Te(Te({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Te(Te({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Te(Te({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return Te(Te({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Te(Te({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Te(Te({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ue(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function He(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ve(e){var t=[],n=W(e,t),r=R(Fe,n,(function(e){var t=e.prevState,r=e.state;n.onStateChange(Ue({prevState:t,state:r,refresh:i,navigator:n.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return T(T({},e),{},{items:d(e.items).map((function(e){return T(T({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=De(Ue({props:n,refresh:i,store:r,navigator:n.navigator},o));function i(){return de(Ue({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:i,store:r},o))}return n.plugins.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Ue(Ue({},o),{},{navigator:n.navigator,refresh:i,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var a=o.document.createElement("meta"),i=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(r),i.appendChild(a)}),0)}}({metadata:Ne({plugins:n.plugins,options:e}),environment:n.environment}),Ue(Ue({refresh:i,navigator:n.navigator},a),o)}var We=function(e,t,n,r){var o;t[0]=0;for(var a=1;a<t.length;a++){var i=t[a++],u=t[a]?(t[0]|=i?1:2,n[t[a++]]):t[++a];3===i?r[0]=u:4===i?r[1]=Object.assign(r[1]||{},u):5===i?(r[1]=r[1]||{})[t[++a]]=u:6===i?r[1][t[++a]]+=u+"":i?(o=e.apply(u,We(e,u,n,["",null])),r.push(o),u[0]?t[0]|=2:(t[a-2]=0,t[a]=o)):r.push(u)}return r},Qe=new Map;function $e(e){var t=Qe.get(this);return t||(t=new Map,Qe.set(this,t)),(t=We(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,o="",a="",i=[0],u=function(e){1===r&&(e||(o=o.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?i.push(0,e,o):3===r&&(e||o)?(i.push(3,e,o),r=2):2===r&&"..."===o&&e?i.push(4,e,0):2===r&&o&&!e?i.push(5,0,!0,o):r>=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},c=0;c<e.length;c++){c&&(1===r&&u(),u(c));for(var l=0;l<e[c].length;l++)t=e[c][l],1===r?"<"===t?(u(),i=[i],r=3):o+=t:4===r?"--"===o&&">"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(u(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[c][l+1])?(u(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(u(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return u(),i}(e)),t),arguments,[])).length>1?t:t[0]}var ze=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n};function Ge(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function Ke(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];r!==o&&(e[n]=[r,o].filter(Boolean).join(" "))})),e}),{})}var Je=function(e){return e&&"object"===r(e)&&"[object Object]"===Object.prototype.toString.call(e)};function Ye(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];Array.isArray(r)&&Array.isArray(o)?e[n]=r.concat.apply(r,c(o)):Je(r)&&Je(o)?e[n]=Ye(r,o):e[n]=o})),e}),{})}function Xe(e,t){return Object.entries(e).reduce((function(e,r){var a=u(r,2),i=a[0],c=a[1];return t({key:i,value:c})?n(n({},e),{},o({},i,c)):e}),{})}var Ze=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function et(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function tt(e){this._listeners[e.type](e)}function nt(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||et(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||Ze.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,tt,r):e.removeEventListener(t,tt,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function rt(e){return"onChange"===e?"onInput":e}function ot(e,t){for(var n in t)nt(e,rt(n),t[n])}function at(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||nt(e,rt(n),t[n])}var it=["children"];function ut(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=i(n,it),u=e.document.createElement(t);return ot(u,a),u.append.apply(u,c(o)),u}}var ct=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"],lt=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='<circle\n cx="50"\n cy="50"\n fill="none"\n r="35"\n stroke="currentColor"\n stroke-dasharray="164.93361431346415 56.97787143782138"\n stroke-width="6"\n>\n <animateTransform\n attributeName="transform"\n type="rotate"\n repeatCount="indefinite"\n dur="1s"\n values="0 50 50;90 50 50;180 50 50;360 50 50"\n keyTimes="0;0.40;0.65;1"\n />\n</circle>',t},st=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n};function pt(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.classNames,a=e.environment,u=e.isDetached,c=e.placeholder,l=void 0===c?"Search":c,s=e.propGetters,p=e.setIsModalOpen,f=e.state,d=e.translations,v=ut(a),m=s.getRootProps(n({state:f,props:t.getRootProps({})},r)),h=v("div",n({class:o.root},m)),g=v("div",{class:o.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),y=v("div",{class:o.detachedOverlay,children:[g],onMouseDown:function(){p(!1),t.setIsOpen(!1)}}),b=s.getLabelProps(n({state:f,props:t.getLabelProps({})},r)),O=v("button",{class:o.submitButton,type:"submit",title:d.submitButtonTitle,children:[st({environment:a})]}),_=v("label",n({class:o.label,children:[O]},b)),P=v("button",{class:o.clearButton,type:"reset",title:d.clearButtonTitle,children:[ze({environment:a})]}),j=v("div",{class:o.loadingIndicator,children:[lt({environment:a})]}),S=function(e){var t=e.autocompleteScopeApi,r=e.environment;e.classNames;var o=e.getInputProps,a=e.getInputPropsCore,u=e.isDetached,c=e.state,l=i(e,ct),s=ut(r)("input",l),p=o(n({state:c,props:a({inputElement:s}),inputElement:s},t));return ot(s,n(n({},p),{},{onKeyDown:function(e){u&&"Tab"===e.key||p.onKeyDown(e)}})),s}({class:o.input,environment:a,state:f,getInputProps:s.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:r,isDetached:u}),w=v("div",{class:o.inputWrapperPrefix,children:[_,j]}),I=v("div",{class:o.inputWrapperSuffix,children:[P]}),E=v("div",{class:o.inputWrapper,children:[S]}),A=s.getFormProps(n({state:f,props:t.getFormProps({inputElement:S})},r)),C=v("form",n({class:o.form,children:[w,E,I]},A)),D=s.getPanelProps(n({state:f,props:t.getPanelProps({})},r)),k=v("div",n({class:o.panel},D)),x=v("div",{class:o.detachedSearchButtonQuery,textContent:f.query}),q=v("div",{class:o.detachedSearchButtonPlaceholder,hidden:Boolean(f.query),textContent:l});if(u){var N=v("div",{class:o.detachedSearchButtonIcon,children:[st({environment:a})]}),R=v("button",{type:"button",class:o.detachedSearchButton,onClick:function(){p(!0)},children:[N,q,x]}),B=v("button",{type:"button",class:o.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),p(!1)}}),T=v("div",{class:o.detachedFormContainer,children:[C,B]});g.appendChild(T),h.appendChild(R)}else h.appendChild(C);return{detachedContainer:g,detachedOverlay:y,detachedSearchButtonQuery:x,detachedSearchButtonPlaceholder:q,inputWrapper:E,input:S,root:h,form:C,label:_,submitButton:O,clearButton:P,loadingIndicator:j,panel:k}}var ft,dt,vt,mt,ht,gt,yt={},bt=[],Ot=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function _t(e,t){for(var n in t)e[n]=t[n];return e}function Pt(e){var t=e.parentNode;t&&t.removeChild(e)}function jt(e,t,n){var r,o,a,i={};for(a in t)"key"==a?r=t[a]:"ref"==a?o=t[a]:i[a]=t[a];if(arguments.length>2&&(i.children=arguments.length>3?ft.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return St(e,i,r,o,null)}function St(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++vt:o};return null==o&&null!=dt.vnode&&dt.vnode(a),a}function wt(e){return e.children}function It(e,t){this.props=e,this.context=t}function Et(e,t){if(null==t)return e.__?Et(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?Et(e):null}function At(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return At(e)}}function Ct(e){(!e.__d&&(e.__d=!0)&&mt.push(e)&&!Dt.__r++||gt!==dt.debounceRendering)&&((gt=dt.debounceRendering)||ht)(Dt)}function Dt(){for(var e;Dt.__r=mt.length;)e=mt.sort((function(e,t){return e.__v.__b-t.__v.__b})),mt=[],e.some((function(e){var t,n,r,o,a,i;e.__d&&(a=(o=(t=e).__v).__e,(i=t.__P)&&(n=[],(r=_t({},o)).__v=o.__v+1,Lt(i,o,r,t.__n,void 0!==i.ownerSVGElement,null!=o.__h?[a]:null,n,null==a?Et(o):a,o.__h),Ft(n,o),o.__e!=a&&At(o)))}))}function kt(e,t,n,r,o,a,i,u,c,l){var s,p,f,d,v,m,h,g=r&&r.__k||bt,y=g.length;for(n.__k=[],s=0;s<t.length;s++)if(null!=(d=n.__k[s]=null==(d=t[s])||"boolean"==typeof d?null:"string"==typeof d||"number"==typeof d||"bigint"==typeof d?St(null,d,null,null,d):Array.isArray(d)?St(wt,{children:d},null,null,null):d.__b>0?St(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(f=g[s])||f&&d.key==f.key&&d.type===f.type)g[s]=void 0;else for(p=0;p<y;p++){if((f=g[p])&&d.key==f.key&&d.type===f.type){g[p]=void 0;break}f=null}Lt(e,d,f=f||yt,o,a,i,u,c,l),v=d.__e,(p=d.ref)&&f.ref!=p&&(h||(h=[]),f.ref&&h.push(f.ref,null,d),h.push(p,d.__c||v,d)),null!=v?(null==m&&(m=v),"function"==typeof d.type&&d.__k===f.__k?d.__d=c=xt(d,c,e):c=qt(e,d,f,g,v,c),"function"==typeof n.type&&(n.__d=c)):c&&f.__e==c&&c.parentNode!=e&&(c=Et(f))}for(n.__e=m,s=y;s--;)null!=g[s]&&("function"==typeof n.type&&null!=g[s].__e&&g[s].__e==n.__d&&(n.__d=Et(r,s+1)),Ht(g[s],g[s]));if(h)for(s=0;s<h.length;s++)Ut(h[s],h[++s],h[++s])}function xt(e,t,n){for(var r,o=e.__k,a=0;o&&a<o.length;a++)(r=o[a])&&(r.__=e,t="function"==typeof r.type?xt(r,t,n):qt(n,r,r,o,r.__e,t));return t}function qt(e,t,n,r,o,a){var i,u,c;if(void 0!==t.__d)i=t.__d,t.__d=void 0;else if(null==n||o!=a||null==o.parentNode)e:if(null==a||a.parentNode!==e)e.appendChild(o),i=null;else{for(u=a,c=0;(u=u.nextSibling)&&c<r.length;c+=2)if(u==o)break e;e.insertBefore(o,a),i=a}return void 0!==i?i:o.nextSibling}function Nt(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||Ot.test(t)?n:n+"px"}function Rt(e,t,n,r,o){var a;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Nt(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Nt(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])a=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r||e.addEventListener(t,a?Tt:Bt,a):e.removeEventListener(t,a?Tt:Bt,a);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function Bt(e){this.l[e.type+!1](dt.event?dt.event(e):e)}function Tt(e){this.l[e.type+!0](dt.event?dt.event(e):e)}function Lt(e,t,n,r,o,a,i,u,c){var l,s,p,f,d,v,m,h,g,y,b,O=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,u=t.__e=n.__e,t.__h=null,a=[u]),(l=dt.__b)&&l(t);try{e:if("function"==typeof O){if(h=t.props,g=(l=O.contextType)&&r[l.__c],y=l?g?g.props.value:l.__:r,n.__c?m=(s=t.__c=n.__c).__=s.__E:("prototype"in O&&O.prototype.render?t.__c=s=new O(h,y):(t.__c=s=new It(h,y),s.constructor=O,s.render=Vt),g&&g.sub(s),s.props=h,s.state||(s.state={}),s.context=y,s.__n=r,p=s.__d=!0,s.__h=[]),null==s.__s&&(s.__s=s.state),null!=O.getDerivedStateFromProps&&(s.__s==s.state&&(s.__s=_t({},s.__s)),_t(s.__s,O.getDerivedStateFromProps(h,s.__s))),f=s.props,d=s.state,p)null==O.getDerivedStateFromProps&&null!=s.componentWillMount&&s.componentWillMount(),null!=s.componentDidMount&&s.__h.push(s.componentDidMount);else{if(null==O.getDerivedStateFromProps&&h!==f&&null!=s.componentWillReceiveProps&&s.componentWillReceiveProps(h,y),!s.__e&&null!=s.shouldComponentUpdate&&!1===s.shouldComponentUpdate(h,s.__s,y)||t.__v===n.__v){s.props=h,s.state=s.__s,t.__v!==n.__v&&(s.__d=!1),s.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),s.__h.length&&i.push(s);break e}null!=s.componentWillUpdate&&s.componentWillUpdate(h,s.__s,y),null!=s.componentDidUpdate&&s.__h.push((function(){s.componentDidUpdate(f,d,v)}))}s.context=y,s.props=h,s.state=s.__s,(l=dt.__r)&&l(t),s.__d=!1,s.__v=t,s.__P=e,l=s.render(s.props,s.state,s.context),s.state=s.__s,null!=s.getChildContext&&(r=_t(_t({},r),s.getChildContext())),p||null==s.getSnapshotBeforeUpdate||(v=s.getSnapshotBeforeUpdate(f,d)),b=null!=l&&l.type===wt&&null==l.key?l.props.children:l,kt(e,Array.isArray(b)?b:[b],t,n,r,o,a,i,u,c),s.base=t.__e,t.__h=null,s.__h.length&&i.push(s),m&&(s.__E=s.__=null),s.__e=!1}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Mt(n.__e,t,n,r,o,a,i,c);(l=dt.diffed)&&l(t)}catch(e){t.__v=null,(c||null!=a)&&(t.__e=u,t.__h=!!c,a[a.indexOf(u)]=null),dt.__e(e,t,n)}}function Ft(e,t){dt.__c&&dt.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){dt.__e(e,t.__v)}}))}function Mt(e,t,n,r,o,a,i,u){var c,l,s,p=n.props,f=t.props,d=t.type,v=0;if("svg"===d&&(o=!0),null!=a)for(;v<a.length;v++)if((c=a[v])&&"setAttribute"in c==!!d&&(d?c.localName===d:3===c.nodeType)){e=c,a[v]=null;break}if(null==e){if(null===d)return document.createTextNode(f);e=o?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,f.is&&f),a=null,u=!1}if(null===d)p===f||u&&e.data===f||(e.data=f);else{if(a=a&&ft.call(e.childNodes),l=(p=n.props||yt).dangerouslySetInnerHTML,s=f.dangerouslySetInnerHTML,!u){if(null!=a)for(p={},v=0;v<e.attributes.length;v++)p[e.attributes[v].name]=e.attributes[v].value;(s||l)&&(s&&(l&&s.__html==l.__html||s.__html===e.innerHTML)||(e.innerHTML=s&&s.__html||""))}if(function(e,t,n,r,o){var a;for(a in n)"children"===a||"key"===a||a in t||Rt(e,a,null,n[a],r);for(a in t)o&&"function"!=typeof t[a]||"children"===a||"key"===a||"value"===a||"checked"===a||n[a]===t[a]||Rt(e,a,t[a],n[a],r)}(e,f,p,o,u),s)t.__k=[];else if(v=t.props.children,kt(e,Array.isArray(v)?v:[v],t,n,r,o&&"foreignObject"!==d,a,i,a?a[0]:n.__k&&Et(n,0),u),null!=a)for(v=a.length;v--;)null!=a[v]&&Pt(a[v]);u||("value"in f&&void 0!==(v=f.value)&&(v!==p.value||v!==e.value||"progress"===d&&!v)&&Rt(e,"value",v,p.value,!1),"checked"in f&&void 0!==(v=f.checked)&&v!==e.checked&&Rt(e,"checked",v,p.checked,!1))}return e}function Ut(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){dt.__e(e,n)}}function Ht(e,t,n){var r,o;if(dt.unmount&&dt.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Ut(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){dt.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&Ht(r[o],t,"function"!=typeof e.type);n||null==e.__e||Pt(e.__e),e.__e=e.__d=void 0}function Vt(e,t,n){return this.constructor(e,n)}ft=bt.slice,dt={__e:function(e,t){for(var n,r,o;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),o=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),o=n.__d),o)return n.__E=n}catch(t){e=t}throw e}},vt=0,It.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=_t({},this.state),"function"==typeof e&&(e=e(_t({},n),this.props)),e&&_t(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),Ct(this))},It.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ct(this))},It.prototype.render=wt,mt=[],ht="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Dt.__r=0;var Wt="__aa-highlight__",Qt="__/aa-highlight__";function $t(e){var t=e.highlightedValue.split(Wt),n=t.shift(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Qt);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function zt(e){return function(e){if(Array.isArray(e))return Gt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Kt(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=h(t,["_highlightResult"].concat(zt(r),["value"]));return"string"!=typeof o&&(o=h(t,r)||""),$t({highlightedValue:o})}var Jt={"&":"&","<":"<",">":">",""":'"',"'":"'"},Yt=new RegExp(/\w/i),Xt=/&(amp|quot|lt|gt|#39);/g,Zt=RegExp(Xt.source);function en(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,u=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return Yt.test((o=a.value)&&Zt.test(o)?o.replace(Xt,(function(e){return Jt[e]})):o)||u!==i?a.isHighlighted:u}function tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tn(Object(n),!0).forEach((function(t){rn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function on(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return nn(nn({},t),{},{isHighlighted:!en(e,n)})})):e.map((function(e){return nn(nn({},e),{},{isHighlighted:!1})}))}function an(e){return function(e){if(Array.isArray(e))return un(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return un(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return un(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function cn(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=h(t,["_snippetResult"].concat(an(r),["value"]));return"string"!=typeof o&&(o=h(t,r)||""),$t({highlightedValue:o})}function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(n),!0).forEach((function(t){pn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fn=["params"];function dn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dn(Object(n),!0).forEach((function(t){mn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function gn(e){return function(e){if(Array.isArray(e))return yn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return yn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function bn(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},Kt({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Highlight",r}function On(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,u=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},on(Kt(r))).map((function(e,n){return e.isHighlighted?t(u,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseHighlight",r}function _n(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,u=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},on(cn(r))).map((function(e,n){return e.isHighlighted?t(u,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseSnippet",r}function Pn(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},cn({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Snippet",r}var jn=["classNames","container","getEnvironmentProps","getFormProps","getInputProps","getItemProps","getLabelProps","getListProps","getPanelProps","getRootProps","panelContainer","panelPlacement","render","renderNoResults","renderer","detachedMediaQuery","components","translations"],Sn={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},wn=function(e,t){var n=e.children;(0,e.render)(n,t)},In={createElement:jt,Fragment:wt,render:function(e,t,n){var r,o,a;dt.__&&dt.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,a=[],Lt(t,e=(!r&&n||t).__k=jt(wt,null,[e]),o||yt,yt,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?ft.call(t.childNodes):null,a,!r&&n?n:o?o.__e:t.firstChild,r),Ft(a,e)}};function En(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var u=r.getBoundingClientRect();return{top:i,left:u.left,right:o.document.documentElement.clientWidth-(u.left+u.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}var An=[{segment:"autocomplete-js",version:b}],Cn=["components"];var Dn=function(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map((function(e){return e.query}))}).then((function(e){return e.map((function(e,n){var r=t.requests[n];return{items:e,sourceId:r.sourceId,transformResponse:r.transformResponse}}))}))}return function(e){return function(r){return sn(sn({requesterId:t,execute:n},e),r)}}}((function(e){return function(e){var t=e.searchClient,n=e.queries,r=e.userAgents,o=void 0===r?[]:r;return"function"==typeof t.addAlgoliaAgent&&[].concat(gn(O),gn(o)).forEach((function(e){var n=e.segment,r=e.version;t.addAlgoliaAgent(n,r)})),t.search(n.map((function(e){var t=e.params;return vn(vn({},hn(e,fn)),{},{params:vn({hitsPerPage:5,highlightPreTag:Wt,highlightPostTag:Qt},t)})}))).then((function(e){return e.results}))}(n(n({},e),{},{userAgents:An}))}),"algolia");var kn=Dn({transformResponse:function(e){return e.hits}});e.autocomplete=function(e){var t,r=function(){var e=[],t=[];function n(n){e.push(n);var r=n();t.push(r)}return{runEffect:n,cleanupEffects:function(){var e=t;t=[],e.forEach((function(e){e()}))},runEffects:function(){var t=e;e=[],t.forEach((function(e){n(e)}))}}}(),u=r.runEffect,c=r.cleanupEffects,l=r.runEffects,s=(t=[],{reactive:function(e){var n=e(),r={_fn:e,_ref:{current:n},get value(){return this._ref.current},set value(e){this._ref.current=e}};return t.push(r),r},runReactives:function(){t.forEach((function(e){e._ref.current=e._fn()}))}}),d=s.reactive,v=s.runReactives,h=p(!1),y=p(e),b=p(void 0),O=d((function(){return function(e){var t,r=e.classNames,o=e.container,a=e.getEnvironmentProps,u=e.getFormProps,c=e.getInputProps,l=e.getItemProps,s=e.getLabelProps,p=e.getListProps,f=e.getPanelProps,d=e.getRootProps,v=e.panelContainer,h=e.panelPlacement,g=e.render,y=e.renderNoResults,b=e.renderer,O=e.detachedMediaQuery,_=e.components,P=e.translations,j=i(e,jn),S="undefined"!=typeof window?window:{},w=Ge(S,o);w.tagName;var I=n(n({},In),b),E={Highlight:bn(I),ReverseHighlight:On(I),ReverseSnippet:_n(I),Snippet:Pn(I)};return{renderer:{classNames:Ke(Sn,null!=r?r:{}),container:w,getEnvironmentProps:null!=a?a:function(e){return e.props},getFormProps:null!=u?u:function(e){return e.props},getInputProps:null!=c?c:function(e){return e.props},getItemProps:null!=l?l:function(e){return e.props},getLabelProps:null!=s?s:function(e){return e.props},getListProps:null!=p?p:function(e){return e.props},getPanelProps:null!=f?f:function(e){return e.props},getRootProps:null!=d?d:function(e){return e.props},panelContainer:v?Ge(S,v):S.document.body,panelPlacement:null!=h?h:"input-wrapper-width",render:null!=g?g:wn,renderNoResults:y,renderer:I,detachedMediaQuery:null!=O?O:getComputedStyle(S.document.documentElement).getPropertyValue("--aa-detached-media-query"),components:n(n({},E),_),translations:n(n({},{clearButtonTitle:"Clear",detachedCancelButtonText:"Cancel",submitButtonTitle:"Submit"}),P)},core:n(n({},j),{},{id:null!==(t=j.id)&&void 0!==t?t:m(),environment:S})}}(y.current)})),_=d((function(){return O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches})),P=d((function(){return Ve(n(n({},O.value.core),{},{onStateChange:function(e){var t,n,r;h.current=e.state.collections.some((function(e){return e.source.templates.noResults})),null===(t=b.current)||void 0===t||t.call(b,e),null===(n=(r=O.value.core).onStateChange)||void 0===n||n.call(r,e)},shouldPanelOpen:y.current.shouldPanelOpen||function(e){var t=e.state;if(_.value)return!0;var n=g(t)>0;if(!O.value.core.openOnFocus&&!t.query)return n;var r=Boolean(h.current||O.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:An,options:e}}))})),j=p(n({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},O.value.core.initialState)),S={getEnvironmentProps:O.value.renderer.getEnvironmentProps,getFormProps:O.value.renderer.getFormProps,getInputProps:O.value.renderer.getInputProps,getItemProps:O.value.renderer.getItemProps,getLabelProps:O.value.renderer.getLabelProps,getListProps:O.value.renderer.getListProps,getPanelProps:O.value.renderer.getPanelProps,getRootProps:O.value.renderer.getRootProps},w={setActiveItemId:P.value.setActiveItemId,setQuery:P.value.setQuery,setCollections:P.value.setCollections,setIsOpen:P.value.setIsOpen,setStatus:P.value.setStatus,setContext:P.value.setContext,refresh:P.value.refresh,navigator:P.value.navigator},I=d((function(){return $e.bind(O.value.renderer.renderer.createElement)})),E=d((function(){return pt({autocomplete:P.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,environment:O.value.core.environment,isDetached:_.value,placeholder:O.value.core.placeholder,propGetters:S,setIsModalOpen:k,state:j.current,translations:O.value.renderer.translations})}));function A(){ot(E.value.panel,{style:_.value?{}:En({panelPlacement:O.value.renderer.panelPlacement,container:E.value.root,form:E.value.form,environment:O.value.core.environment})})}function C(e){j.current=e;var t={autocomplete:P.value,autocompleteScopeApi:w,classNames:O.value.renderer.classNames,components:O.value.renderer.components,container:O.value.renderer.container,html:I.value,dom:E.value,panelContainer:_.value?E.value.detachedContainer:O.value.renderer.panelContainer,propGetters:S,state:j.current,renderer:O.value.renderer.renderer},r=!g(e)&&!h.current&&O.value.renderer.renderNoResults||O.value.renderer.render;!function(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.dom,a=e.propGetters,i=e.state;at(o.root,a.getRootProps(n({state:i,props:t.getRootProps({})},r))),at(o.input,a.getInputProps(n({state:i,props:t.getInputProps({inputElement:o.input}),inputElement:o.input},r))),ot(o.label,{hidden:"stalled"===i.status}),ot(o.loadingIndicator,{hidden:"stalled"!==i.status}),ot(o.clearButton,{hidden:!i.query}),ot(o.detachedSearchButtonQuery,{textContent:i.query}),ot(o.detachedSearchButtonPlaceholder,{hidden:Boolean(i.query)})}(t),function(e,t){var r=t.autocomplete,o=t.autocompleteScopeApi,i=t.classNames,u=t.html,c=t.dom,l=t.panelContainer,s=t.propGetters,p=t.state,f=t.components,d=t.renderer;if(p.isOpen){l.contains(c.panel)||"loading"===p.status||l.appendChild(c.panel),c.panel.classList.toggle("aa-Panel--stalled","stalled"===p.status);var v=p.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var c=e.source,l=e.items;return d.createElement("section",{key:t,className:i.source,"data-autocomplete-source-id":c.sourceId},c.templates.header&&d.createElement("div",{className:i.sourceHeader},c.templates.header({components:f,createElement:d.createElement,Fragment:d.Fragment,items:l,source:c,state:p,html:u})),c.templates.noResults&&0===l.length?d.createElement("div",{className:i.sourceNoResults},c.templates.noResults({components:f,createElement:d.createElement,Fragment:d.Fragment,source:c,state:p,html:u})):d.createElement("ul",a({className:i.list},s.getListProps(n({state:p,props:r.getListProps({sourceIndex:t})},o))),l.map((function(e){var l=r.getItemProps({item:e,source:c,sourceIndex:t});return d.createElement("li",a({key:l.id,className:i.item},s.getItemProps(n({state:p,props:l},o))),c.templates.item({components:f,createElement:d.createElement,Fragment:d.Fragment,item:e,state:p,html:u}))}))),c.templates.footer&&d.createElement("div",{className:i.sourceFooter},c.templates.footer({components:f,createElement:d.createElement,Fragment:d.Fragment,items:l,source:c,state:p,html:u})))})),m=d.createElement(d.Fragment,null,d.createElement("div",{className:i.panelLayout},v),d.createElement("div",{className:"aa-GradientBottom"})),h=v.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(n(n({children:m,state:p,sections:v,elements:h},d),{},{components:f,html:u},o),c.panel)}else l.contains(c.panel)&&l.removeChild(c.panel)}(r,t)}function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c();var t=O.value.renderer,n=t.components,r=i(t,Cn);y.current=Ye(r,O.value.core,{components:Xe(n,(function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")})),initialState:j.current},e),v(),l(),P.value.refresh().then((function(){C(j.current)}))}function k(e){requestAnimationFrame((function(){var t=O.value.core.environment.document.body.contains(E.value.detachedOverlay);e!==t&&(e?(O.value.core.environment.document.body.appendChild(E.value.detachedOverlay),O.value.core.environment.document.body.classList.add("aa-Detached"),E.value.input.focus()):(O.value.core.environment.document.body.removeChild(E.value.detachedOverlay),O.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return u((function(){var e=P.value.getEnvironmentProps({formElement:E.value.form,panelElement:E.value.panel,inputElement:E.value.input});return ot(O.value.core.environment,e),function(){ot(O.value.core.environment,Object.keys(e).reduce((function(e,t){return n(n({},e),{},o({},t,void 0))}),{}))}})),u((function(){var e=_.value?O.value.core.environment.document.body:O.value.renderer.panelContainer,t=_.value?E.value.detachedOverlay:E.value.panel;return _.value&&j.current.isOpen&&k(!0),C(j.current),function(){e.contains(t)&&e.removeChild(t)}})),u((function(){var e=O.value.renderer.container;return e.appendChild(E.value.root),function(){e.removeChild(E.value.root)}})),u((function(){var e=f((function(e){C(e.state)}),0);return b.current=function(t){var n=t.state,r=t.prevState;(_.value&&r.isOpen!==n.isOpen&&k(n.isOpen),_.value||!n.isOpen||r.isOpen||A(),n.query!==r.query)&&O.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){b.current=void 0}})),u((function(){var e=f((function(){var e=_.value;_.value=O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches,e!==_.value?D({}):requestAnimationFrame(A)}),20);return O.value.core.environment.addEventListener("resize",e),function(){O.value.core.environment.removeEventListener("resize",e)}})),u((function(){if(!_.value)return function(){};function e(e){E.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=O.value.core.environment.matchMedia(getComputedStyle(O.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),u((function(){return requestAnimationFrame(A),function(){}})),n(n({},w),{},{update:D,destroy:function(){c()}})},e.getAlgoliaFacets=function(e){var t=Dn({transformResponse:function(e){return e.facetHits}}),r=e.queries.map((function(e){return n(n({},e),{},{type:"facet"})}));return t(n(n({},e),{},{queries:r}))},e.getAlgoliaResults=kn,Object.defineProperty(e,"__esModule",{value:!0})})); +//# sourceMappingURL=index.production.js.map diff --git a/themes/itheme/static/js/md5.js b/themes/itheme/static/js/md5.js new file mode 100644 index 0000000..6876bc3 --- /dev/null +++ b/themes/itheme/static/js/md5.js @@ -0,0 +1,184 @@ +function md5cycle(x, k) { +var a = x[0], b = x[1], c = x[2], d = x[3]; + +a = ff(a, b, c, d, k[0], 7, -680876936); +d = ff(d, a, b, c, k[1], 12, -389564586); +c = ff(c, d, a, b, k[2], 17, 606105819); +b = ff(b, c, d, a, k[3], 22, -1044525330); +a = ff(a, b, c, d, k[4], 7, -176418897); +d = ff(d, a, b, c, k[5], 12, 1200080426); +c = ff(c, d, a, b, k[6], 17, -1473231341); +b = ff(b, c, d, a, k[7], 22, -45705983); +a = ff(a, b, c, d, k[8], 7, 1770035416); +d = ff(d, a, b, c, k[9], 12, -1958414417); +c = ff(c, d, a, b, k[10], 17, -42063); +b = ff(b, c, d, a, k[11], 22, -1990404162); +a = ff(a, b, c, d, k[12], 7, 1804603682); +d = ff(d, a, b, c, k[13], 12, -40341101); +c = ff(c, d, a, b, k[14], 17, -1502002290); +b = ff(b, c, d, a, k[15], 22, 1236535329); + +a = gg(a, b, c, d, k[1], 5, -165796510); +d = gg(d, a, b, c, k[6], 9, -1069501632); +c = gg(c, d, a, b, k[11], 14, 643717713); +b = gg(b, c, d, a, k[0], 20, -373897302); +a = gg(a, b, c, d, k[5], 5, -701558691); +d = gg(d, a, b, c, k[10], 9, 38016083); +c = gg(c, d, a, b, k[15], 14, -660478335); +b = gg(b, c, d, a, k[4], 20, -405537848); +a = gg(a, b, c, d, k[9], 5, 568446438); +d = gg(d, a, b, c, k[14], 9, -1019803690); +c = gg(c, d, a, b, k[3], 14, -187363961); +b = gg(b, c, d, a, k[8], 20, 1163531501); +a = gg(a, b, c, d, k[13], 5, -1444681467); +d = gg(d, a, b, c, k[2], 9, -51403784); +c = gg(c, d, a, b, k[7], 14, 1735328473); +b = gg(b, c, d, a, k[12], 20, -1926607734); + +a = hh(a, b, c, d, k[5], 4, -378558); +d = hh(d, a, b, c, k[8], 11, -2022574463); +c = hh(c, d, a, b, k[11], 16, 1839030562); +b = hh(b, c, d, a, k[14], 23, -35309556); +a = hh(a, b, c, d, k[1], 4, -1530992060); +d = hh(d, a, b, c, k[4], 11, 1272893353); +c = hh(c, d, a, b, k[7], 16, -155497632); +b = hh(b, c, d, a, k[10], 23, -1094730640); +a = hh(a, b, c, d, k[13], 4, 681279174); +d = hh(d, a, b, c, k[0], 11, -358537222); +c = hh(c, d, a, b, k[3], 16, -722521979); +b = hh(b, c, d, a, k[6], 23, 76029189); +a = hh(a, b, c, d, k[9], 4, -640364487); +d = hh(d, a, b, c, k[12], 11, -421815835); +c = hh(c, d, a, b, k[15], 16, 530742520); +b = hh(b, c, d, a, k[2], 23, -995338651); + +a = ii(a, b, c, d, k[0], 6, -198630844); +d = ii(d, a, b, c, k[7], 10, 1126891415); +c = ii(c, d, a, b, k[14], 15, -1416354905); +b = ii(b, c, d, a, k[5], 21, -57434055); +a = ii(a, b, c, d, k[12], 6, 1700485571); +d = ii(d, a, b, c, k[3], 10, -1894986606); +c = ii(c, d, a, b, k[10], 15, -1051523); +b = ii(b, c, d, a, k[1], 21, -2054922799); +a = ii(a, b, c, d, k[8], 6, 1873313359); +d = ii(d, a, b, c, k[15], 10, -30611744); +c = ii(c, d, a, b, k[6], 15, -1560198380); +b = ii(b, c, d, a, k[13], 21, 1309151649); +a = ii(a, b, c, d, k[4], 6, -145523070); +d = ii(d, a, b, c, k[11], 10, -1120210379); +c = ii(c, d, a, b, k[2], 15, 718787259); +b = ii(b, c, d, a, k[9], 21, -343485551); + +x[0] = add32(a, x[0]); +x[1] = add32(b, x[1]); +x[2] = add32(c, x[2]); +x[3] = add32(d, x[3]); + +} + +function cmn(q, a, b, x, s, t) { +a = add32(add32(a, q), add32(x, t)); +return add32((a << s) | (a >>> (32 - s)), b); +} + +function ff(a, b, c, d, x, s, t) { +return cmn((b & c) | ((~b) & d), a, b, x, s, t); +} + +function gg(a, b, c, d, x, s, t) { +return cmn((b & d) | (c & (~d)), a, b, x, s, t); +} + +function hh(a, b, c, d, x, s, t) { +return cmn(b ^ c ^ d, a, b, x, s, t); +} + +function ii(a, b, c, d, x, s, t) { +return cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +function md51(s) { +txt = ''; +var n = s.length, +state = [1732584193, -271733879, -1732584194, 271733878], i; +for (i=64; i<=s.length; i+=64) { +md5cycle(state, md5blk(s.substring(i-64, i))); +} +s = s.substring(i-64); +var tail = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; +for (i=0; i<s.length; i++) +tail[i>>2] |= s.charCodeAt(i) << ((i%4) << 3); +tail[i>>2] |= 0x80 << ((i%4) << 3); +if (i > 55) { +md5cycle(state, tail); +for (i=0; i<16; i++) tail[i] = 0; +} +tail[14] = n*8; +md5cycle(state, tail); +return state; +} + +/* there needs to be support for Unicode here, + * unless we pretend that we can redefine the MD-5 + * algorithm for multi-byte characters (perhaps + * by adding every four 16-bit characters and + * shortening the sum to 32 bits). Otherwise + * I suggest performing MD-5 as if every character + * was two bytes--e.g., 0040 0025 = @%--but then + * how will an ordinary MD-5 sum be matched? + * There is no way to standardize text to something + * like UTF-8 before transformation; speed cost is + * utterly prohibitive. The JavaScript standard + * itself needs to look at this: it should start + * providing access to strings as preformed UTF-8 + * 8-bit unsigned value arrays. + */ +function md5blk(s) { /* I figured global was faster. */ +var md5blks = [], i; /* Andy King said do it this way. */ +for (i=0; i<64; i+=4) { +md5blks[i>>2] = s.charCodeAt(i) ++ (s.charCodeAt(i+1) << 8) ++ (s.charCodeAt(i+2) << 16) ++ (s.charCodeAt(i+3) << 24); +} +return md5blks; +} + +var hex_chr = '0123456789abcdef'.split(''); + +function rhex(n) +{ +var s='', j=0; +for(; j<4; j++) +s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] ++ hex_chr[(n >> (j * 8)) & 0x0F]; +return s; +} + +function hex(x) { +for (var i=0; i<x.length; i++) +x[i] = rhex(x[i]); +return x.join(''); +} + +function md5(s) { +return hex(md51(s)); +} + +/* this function is much faster, +so if possible we use it. Some IEs +are the only ones I know of that +need the idiotic second function, +generated by an if clause. */ + +function add32(a, b) { +return (a + b) & 0xFFFFFFFF; +} + +if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') { +function add32(x, y) { +var lsw = (x & 0xFFFF) + (y & 0xFFFF), +msw = (x >> 16) + (y >> 16) + (lsw >> 16); +return (msw << 16) | (lsw & 0xFFFF); +} +} diff --git a/themes/itheme/theme.toml b/themes/itheme/theme.toml new file mode 100644 index 0000000..323d2f3 --- /dev/null +++ b/themes/itheme/theme.toml @@ -0,0 +1,18 @@ +name = "iTheme" +license = "GPL-3.0" +licenselink = "https://github.com/floyd-li/hugo-theme-itheme/blob/master/LICENSE" +description = "An Apple's Style Theme" +homepage = "https://github.com/floyd-li/hugo-theme-itheme" +demosite = "https://hugo-theme-itheme.netlify.app" +tags = ["apple","blog", "newsroom", "light", "dark"] +features = ["blog", "apple", "newsroom"] +[author] + name = "Floyd Li" + homepage = "https://github.com/floyd-li" +[original] + name = "austin2035" + homepage = "https://astro.yufengbiji.com/" + repo = "https://github.com/austin2035/astro-air-blog" +[module] + [module.hugoVersion] + min = "0.93.0" diff --git a/themes/pehtheme/LICENSE b/themes/pehtheme/LICENSE new file mode 100644 index 0000000..8aa2645 --- /dev/null +++ b/themes/pehtheme/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) [year] [fullname] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/themes/pehtheme/README.md b/themes/pehtheme/README.md new file mode 100644 index 0000000..a02ed97 --- /dev/null +++ b/themes/pehtheme/README.md @@ -0,0 +1,121 @@ +# Pehtheme Hugo + +Pehtheme Hugo is an open-source Hugo theme inspired by [Material Design v3](https://m3.material.io/), lovingly crafted using Tailwind CSS. + + + +## Live Demo + +Check out the live demo: [Pehtheme Hugo Live Demo](https://pehtheme-hugo.netlify.app/) + +## Performance Testing + +To assess the performance of your website using Pehtheme Hugo, utilize the PageSpeed Insights tool. Click the button below to run a PageSpeed Insights test: + +[PageSpeed Insights Test](https://pagespeed.web.dev/analysis/https-pehtheme-hugo-netlify-app/7gv9zedw83?form_factor=mobile) + +## Features + +- Built with Tailwind CSS +- Featured posts displayed on the homepage (To showcase featured posts on the homepage, the Hugo theme uses `feature` tags data) +- Horizontal menus, content tags list +- No JavaScript dependencies +- Vanilla JS toggle button +- Two-column blog layout +- Sidebar with a list of recent posts +- Semantic HTML +- Sidebar Ads box + +## Installation + +To get started with Pehtheme Hugo, follow these steps: + +1. Install Hugo and create a new site. For detailed instructions, refer to [Hugo's Quick Start Guide](https://gohugo.io/getting-started/quick-start/). + +2. Add Pehtheme Hugo to your project: + + ```bash + $ git clone https://github.com/fauzanmy/pehtheme-hugo.git + ``` + +3. Simply copy the following 2 folders and 1 content from the `exampleSite` directory to the root of your project: + + ```bash + exampleSite/ + ├── assets/ + ├── content/ + └── hugo.toml + ``` + +4. Start Hugo: + + ```bash + hugo server + ``` + +## Configuration + +You can configure the following settings in your Hugo project: + +- `paginate` = '6' (Set the desired number of home posts per page) +- `summaryLength` = '20' (Approximately 160 characters for 20 words) +- `googleAnalytics` = '' (Your GA-4 analytics code) +- `disqusShortname` = '' (Your Disqus shortname) + +## Custom Theme + +1. Ensure you have NodeJS installed on your desktop. + +2. Copy the Node.js configuration files from the `exampleSite` directory to the root of your Hugo project: + + ```bash + exampleSite/ + ├── package.json + ├── postcss.config.js + └── tailwind.config.js + ``` + +3. Additionally, copy the `exampleSite/input.css` file to the `assets/input.css` directory of your Hugo project. + +4. Run the following command to install necessary dependencies: + + ```bash + npm install + ``` + +5. Customize the theme with Tailwind CSS using the following command: + + ```bash + npm run dev + ``` + +6. To build the website, execute the command: + + ```bash + npm run build + ``` + +## License + +Pehtheme Hugo is MIT Licensed. For more details, see the [LICENSE](https://github.com/fauzanmy/pehtheme-hugo/blob/main/LICENSE) file. + +## Logo Icon + +Egg fried icon source: [Bootstrap Icons - Egg Fried](https://icons.getbootstrap.com/icons/egg-fried/) + +## Photo Credits + +Image credits used in the live preview: + + ``` + Images resource: + - https://unsplash.com/photos/Smeer5L0tXM + - https://unsplash.com/photos/2q6C5zDJOsg + - https://unsplash.com/photos/UNd3lRKhwSw + - https://unsplash.com/photos/Ed2AELHKYBw + - https://unsplash.com/photos/rTZW4f02zY8 + - https://unsplash.com/photos/OtXJhYjbKeg + - https://unsplash.com/photos/ZPP-zP8HYG0 + - https://unsplash.com/photos/ydGRmobx5jA + - https://pixabay.com/vectors/email-newsletter-email-marketing-3249062/ + ```
\ No newline at end of file diff --git a/themes/pehtheme/archetypes/default.md b/themes/pehtheme/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/themes/pehtheme/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/themes/pehtheme/assets/css/main.css b/themes/pehtheme/assets/css/main.css new file mode 100644 index 0000000..7884079 --- /dev/null +++ b/themes/pehtheme/assets/css/main.css @@ -0,0 +1,2136 @@ +/* +! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +*/ + +html { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +.prose { + color: var(--tw-prose-body); + max-width: 65ch; +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-lead); + font-size: 1.25em; + line-height: 1.6; + margin-top: 1.2em; + margin-bottom: 1.2em; +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-links); + text-decoration: underline; + font-weight: 500; +} + +.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-bold); + font-weight: 600; +} + +.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-left: 1.625em; +} + +.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; +} + +.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; +} + +.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; +} + +.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; +} + +.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; +} + +.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: disc; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-left: 1.625em; +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight: 400; + color: var(--tw-prose-counters); +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + color: var(--tw-prose-bullets); +} + +.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.25em; +} + +.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-color: var(--tw-prose-hr); + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; +} + +.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-style: italic; + color: var(--tw-prose-quotes); + border-left-width: 0.25rem; + border-left-color: var(--tw-prose-quote-borders); + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-left: 1em; +} + +.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: open-quote; +} + +.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: close-quote; +} + +.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} + +.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 900; + color: inherit; +} + +.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; +} + +.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 800; + color: inherit; +} + +.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; +} + +.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; +} + +.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display: block; + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-family: inherit; + color: var(--tw-prose-kbd); + box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%); + font-size: 0.875em; + border-radius: 0.3125rem; + padding-top: 0.1875em; + padding-right: 0.375em; + padding-bottom: 0.1875em; + padding-left: 0.375em; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-code); + font-weight: 600; + font-size: 0.875em; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: "`"; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: "`"; +} + +.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.875em; +} + +.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.9em; +} + +.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-pre-code); + background-color: var(--tw-prose-pre-bg); + overflow-x: auto; + font-weight: 400; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-right: 1.1428571em; + padding-bottom: 0.8571429em; + padding-left: 1.1428571em; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: inherit; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: none; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: none; +} + +.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width: 100%; + table-layout: auto; + text-align: left; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} + +.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-th-borders); +} + +.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + vertical-align: bottom; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} + +.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-td-borders); +} + +.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 0; +} + +.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: baseline; +} + +.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width: 1px; + border-top-color: var(--tw-prose-th-borders); +} + +.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: top; +} + +.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-captions); + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} + +.prose { + --tw-prose-body: #374151; + --tw-prose-headings: #111827; + --tw-prose-lead: #4b5563; + --tw-prose-links: #111827; + --tw-prose-bold: #111827; + --tw-prose-counters: #6b7280; + --tw-prose-bullets: #d1d5db; + --tw-prose-hr: #e5e7eb; + --tw-prose-quotes: #111827; + --tw-prose-quote-borders: #e5e7eb; + --tw-prose-captions: #6b7280; + --tw-prose-kbd: #111827; + --tw-prose-kbd-shadows: 17 24 39; + --tw-prose-code: #111827; + --tw-prose-pre-code: #e5e7eb; + --tw-prose-pre-bg: #1f2937; + --tw-prose-th-borders: #d1d5db; + --tw-prose-td-borders: #e5e7eb; + --tw-prose-invert-body: #d1d5db; + --tw-prose-invert-headings: #fff; + --tw-prose-invert-lead: #9ca3af; + --tw-prose-invert-links: #fff; + --tw-prose-invert-bold: #fff; + --tw-prose-invert-counters: #9ca3af; + --tw-prose-invert-bullets: #4b5563; + --tw-prose-invert-hr: #374151; + --tw-prose-invert-quotes: #f3f4f6; + --tw-prose-invert-quote-borders: #374151; + --tw-prose-invert-captions: #9ca3af; + --tw-prose-invert-kbd: #fff; + --tw-prose-invert-kbd-shadows: 255 255 255; + --tw-prose-invert-code: #fff; + --tw-prose-invert-pre-code: #d1d5db; + --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); + --tw-prose-invert-th-borders: #4b5563; + --tw-prose-invert-td-borders: #374151; + font-size: 1rem; + line-height: 1.75; +} + +.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0.375em; +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0.375em; +} + +.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} + +.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} + +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + padding-left: 1.625em; +} + +.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0; +} + +.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0; +} + +.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.5714286em; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} + +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0; +} + +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0; +} + +.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; +} + +.insert-link::before { + pointer-events: auto; + position: absolute; + top: 0px; + right: 0px; + left: 0px; + bottom: 0px; + z-index: 10; + --tw-content: ''; + content: var(--tw-content); +} + +.collapse { + visibility: collapse; +} + +.static { + position: static; +} + +.relative { + position: relative; +} + +.mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-14 { + margin-top: 3.5rem; + margin-bottom: 3.5rem; +} + +.my-16 { + margin-top: 4rem; + margin-bottom: 4rem; +} + +.my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +.my-8 { + margin-top: 2rem; + margin-bottom: 2rem; +} + +.mb-10 { + margin-bottom: 2.5rem; +} + +.mb-14 { + margin-bottom: 3.5rem; +} + +.mb-16 { + margin-bottom: 4rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.mb-8 { + margin-bottom: 2rem; +} + +.ml-2 { + margin-left: 0.5rem; +} + +.ml-4 { + margin-left: 1rem; +} + +.ml-auto { + margin-left: auto; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mr-auto { + margin-right: auto; +} + +.mt-10 { + margin-top: 2.5rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mt-3 { + margin-top: 0.75rem; +} + +.line-clamp-2 { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} + +.block { + display: block; +} + +.flex { + display: flex; +} + +.grid { + display: grid; +} + +.hidden { + display: none; +} + +.aspect-square { + aspect-ratio: 1 / 1; +} + +.aspect-video { + aspect-ratio: 16 / 9; +} + +.h-12 { + height: 3rem; +} + +.h-20 { + height: 5rem; +} + +.w-12 { + width: 3rem; +} + +.w-20 { + width: 5rem; +} + +.w-full { + width: 100%; +} + +.max-w-7xl { + max-width: 80rem; +} + +.basis-1\/2 { + flex-basis: 50%; +} + +.basis-1\/3 { + flex-basis: 33.333333%; +} + +.basis-2\/3 { + flex-basis: 66.666667%; +} + +.cursor-pointer { + cursor: pointer; +} + +.resize { + resize: both; +} + +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} + +.flex-row { + flex-direction: row; +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.flex-nowrap { + flex-wrap: nowrap; +} + +.items-center { + align-items: center; +} + +.items-stretch { + align-items: stretch; +} + +.justify-center { + justify-content: center; +} + +.gap-10 { + gap: 2.5rem; +} + +.gap-6 { + gap: 1.5rem; +} + +.gap-8 { + gap: 2rem; +} + +.gap-x-4 { + -moz-column-gap: 1rem; + column-gap: 1rem; +} + +.gap-x-6 { + -moz-column-gap: 1.5rem; + column-gap: 1.5rem; +} + +.gap-y-10 { + row-gap: 2.5rem; +} + +.space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-y-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1rem * var(--tw-space-y-reverse)); +} + +.space-y-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); +} + +.self-center { + align-self: center; +} + +.overflow-hidden { + overflow: hidden; +} + +.overflow-x-auto { + overflow-x: auto; +} + +.whitespace-nowrap { + white-space: nowrap; +} + +.rounded { + border-radius: 0.25rem; +} + +.rounded-2xl { + border-radius: 1rem; +} + +.rounded-3xl { + border-radius: 1.5rem; +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-lg { + border-radius: 0.5rem; +} + +.rounded-xl { + border-radius: 0.75rem; +} + +.rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; +} + +.rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; +} + +.border { + border-width: 1px; +} + +.border-b { + border-bottom-width: 1px; +} + +.border-t { + border-top-width: 1px; +} + +.border-zinc-200 { + --tw-border-opacity: 1; + border-color: rgb(228 228 231 / var(--tw-border-opacity)); +} + +.border-zinc-400 { + --tw-border-opacity: 1; + border-color: rgb(161 161 170 / var(--tw-border-opacity)); +} + +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)); +} + +.bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-zinc-100 { + --tw-bg-opacity: 1; + background-color: rgb(244 244 245 / var(--tw-bg-opacity)); +} + +.fill-white { + fill: #fff; +} + +.object-cover { + -o-object-fit: cover; + object-fit: cover; +} + +.p-1 { + padding: 0.25rem; +} + +.p-1\.5 { + padding: 0.375rem; +} + +.p-2 { + padding: 0.5rem; +} + +.p-3 { + padding: 0.75rem; +} + +.p-4 { + padding: 1rem; +} + +.p-6 { + padding: 1.5rem; +} + +.p-8 { + padding: 2rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.px-7 { + padding-left: 1.75rem; + padding-right: 1.75rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} + +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} + +.py-14 { + padding-top: 3.5rem; + padding-bottom: 3.5rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-2\.5 { + padding-top: 0.625rem; + padding-bottom: 0.625rem; +} + +.py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} + +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} + +.pl-3 { + padding-left: 0.75rem; +} + +.pr-\[5px\] { + padding-right: 5px; +} + +.pt-4 { + padding-top: 1rem; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.font-bold { + font-weight: 700; +} + +.font-semibold { + font-weight: 600; +} + +.uppercase { + text-transform: uppercase; +} + +.italic { + font-style: italic; +} + +.leading-none { + line-height: 1; +} + +.leading-normal { + line-height: 1.5; +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.text-zinc-500 { + --tw-text-opacity: 1; + color: rgb(113 113 122 / var(--tw-text-opacity)); +} + +.decoration-auto { + text-decoration-thickness: auto; +} + +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-all { + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.duration-500 { + transition-duration: 500ms; +} + +.ease-linear { + transition-timing-function: linear; +} + +.close { + display: none; +} + +.open { + display: block; +} + +@media (min-width: 1024px) { + .lg\:prose-lg { + font-size: 1.125rem; + line-height: 1.7777778; + } + + .lg\:prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.2222222em; + line-height: 1.4545455; + margin-top: 1.0909091em; + margin-bottom: 1.0909091em; + } + + .lg\:prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.6666667em; + margin-bottom: 1.6666667em; + padding-left: 1em; + } + + .lg\:prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 2.6666667em; + margin-top: 0; + margin-bottom: 0.8333333em; + line-height: 1; + } + + .lg\:prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.6666667em; + margin-top: 1.8666667em; + margin-bottom: 1.0666667em; + line-height: 1.3333333; + } + + .lg\:prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.3333333em; + margin-top: 1.6666667em; + margin-bottom: 0.6666667em; + line-height: 1.5; + } + + .lg\:prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 0.4444444em; + line-height: 1.5555556; + } + + .lg\:prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; + } + + .lg\:prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + border-radius: 0.3125rem; + padding-top: 0.2222222em; + padding-right: 0.4444444em; + padding-bottom: 0.2222222em; + padding-left: 0.4444444em; + } + + .lg\:prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + } + + .lg\:prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8666667em; + } + + .lg\:prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.875em; + } + + .lg\:prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.75; + margin-top: 2em; + margin-bottom: 2em; + border-radius: 0.375rem; + padding-top: 1em; + padding-right: 1.5em; + padding-bottom: 1em; + padding-left: 1.5em; + } + + .lg\:prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-left: 1.5555556em; + } + + .lg\:prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-left: 1.5555556em; + } + + .lg\:prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.6666667em; + margin-bottom: 0.6666667em; + } + + .lg\:prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0.4444444em; + } + + .lg\:prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0.4444444em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; + } + + .lg\:prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + } + + .lg\:prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.6666667em; + padding-left: 1.5555556em; + } + + .lg\:prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 3.1111111em; + margin-bottom: 3.1111111em; + } + + .lg\:prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.5; + } + + .lg\:prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0.75em; + padding-bottom: 0.75em; + padding-left: 0.75em; + } + + .lg\:prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0; + } + + .lg\:prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0; + } + + .lg\:prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.75em; + padding-right: 0.75em; + padding-bottom: 0.75em; + padding-left: 0.75em; + } + + .lg\:prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0; + } + + .lg\:prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0; + } + + .lg\:prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; + } + + .lg\:prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.5; + margin-top: 1em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(.lg\:prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; + } +} + +.before\:pointer-events-auto::before { + content: var(--tw-content); + pointer-events: auto; +} + +.before\:absolute::before { + content: var(--tw-content); + position: absolute; +} + +.before\:bottom-0::before { + content: var(--tw-content); + bottom: 0px; +} + +.before\:left-0::before { + content: var(--tw-content); + left: 0px; +} + +.before\:right-0::before { + content: var(--tw-content); + right: 0px; +} + +.before\:top-0::before { + content: var(--tw-content); + top: 0px; +} + +.before\:z-10::before { + content: var(--tw-content); + z-index: 10; +} + +.before\:mr-2::before { + content: var(--tw-content); + margin-right: 0.5rem; +} + +.before\:opacity-50::before { + content: var(--tw-content); + opacity: 0.5; +} + +.before\:content-\[\'\'\]::before { + --tw-content: ''; + content: var(--tw-content); +} + +.before\:content-\[\'\2022\'\]::before { + --tw-content: '•'; + content: var(--tw-content); +} + +.after\:ml-4::after { + content: var(--tw-content); + margin-left: 1rem; +} + +.after\:opacity-30::after { + content: var(--tw-content); + opacity: 0.3; +} + +.after\:content-\[\'\276F\'\]::after { + --tw-content: '❯'; + content: var(--tw-content); +} + +.last\:after\:content-none:last-child::after { + --tw-content: none; + content: var(--tw-content); +} + +.hover\:bg-blue-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(219 234 254 / var(--tw-bg-opacity)); +} + +.hover\:bg-zinc-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(244 244 245 / var(--tw-bg-opacity)); +} + +.hover\:bg-zinc-200:hover { + --tw-bg-opacity: 1; + background-color: rgb(228 228 231 / var(--tw-bg-opacity)); +} + +.hover\:underline:hover { + text-decoration-line: underline; +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.active\:bg-zinc-300:active { + --tw-bg-opacity: 1; + background-color: rgb(212 212 216 / var(--tw-bg-opacity)); +} + +.group:hover .group-hover\:scale-105 { + --tw-scale-x: 1.05; + --tw-scale-y: 1.05; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +@keyframes pulse { + 50% { + opacity: .5; + } +} + +.group:hover .group-hover\:animate-pulse { + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; +} + +@keyframes spin { + to { + transform: rotate(360deg); + } +} + +.group:hover .group-hover\:animate-spin { + animation: spin 1s linear infinite; +} + +.group:hover .group-hover\:underline { + text-decoration-line: underline; +} + +@media (min-width: 768px) { + .md\:col-span-1 { + grid-column: span 1 / span 1; + } + + .md\:col-span-2 { + grid-column: span 2 / span 2; + } + + .md\:my-14 { + margin-top: 3.5rem; + margin-bottom: 3.5rem; + } + + .md\:mb-8 { + margin-bottom: 2rem; + } + + .md\:flex { + display: flex; + } + + .md\:w-2\/5 { + width: 40%; + } + + .md\:w-3\/5 { + width: 60%; + } + + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .md\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .md\:space-x-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1.5rem * var(--tw-space-x-reverse)); + margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); + } + + .md\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .md\:py-14 { + padding-top: 3.5rem; + padding-bottom: 3.5rem; + } + + .md\:pr-8 { + padding-right: 2rem; + } + + .md\:text-2xl { + font-size: 1.5rem; + line-height: 2rem; + } + + .md\:text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; + } + + .md\:text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; + } +} + +@media (min-width: 1024px) { + .lg\:sticky { + position: sticky; + } + + .lg\:top-8 { + top: 2rem; + } + + .lg\:flex { + display: flex; + } + + .lg\:w-2\/5 { + width: 40%; + } + + .lg\:w-3\/5 { + width: 60%; + } + + .lg\:space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); + } + + .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); + } + + .lg\:p-10 { + padding: 2.5rem; + } + + .lg\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + + .lg\:pr-10 { + padding-right: 2.5rem; + } + + .lg\:text-5xl { + font-size: 3rem; + line-height: 1; + } +}
\ No newline at end of file diff --git a/themes/pehtheme/assets/js/insertoggle.js b/themes/pehtheme/assets/js/insertoggle.js new file mode 100644 index 0000000..7cbaf4b --- /dev/null +++ b/themes/pehtheme/assets/js/insertoggle.js @@ -0,0 +1,51 @@ +// TOGGLE BUTTON +(function () { + // Get all elements with the "toggle-button" class + const toggleButtons = document.querySelectorAll(".toggle-button"); + + // Function to hide all elements except the target + function hideAllExcept(targetElement) { + document.querySelectorAll(".hidden").forEach((element) => { + if (element !== targetElement) { + element.classList.add("close"); // Hide the element + element.classList.remove("open"); // Close previously open elements + } + }); + } + + // Function to toggle the state of an element (open/close) + function toggleElement(targetElement) { + const isHidden = targetElement.classList.contains("close"); + hideAllExcept(targetElement); + targetElement.classList.toggle("close", !isHidden); + targetElement.classList.toggle("open", isHidden); + } + + toggleButtons.forEach((button) => { + button.addEventListener("click", function () { + const targetIds = this.getAttribute("data-target").split(" "); + targetIds.forEach((targetId) => { + const targetElement = document.getElementById(targetId); + if (targetElement) { + toggleElement(targetElement); + } + }); + }); + }); + + // Add event listener to the document to close elements when a click occurs outside of open elements + document.addEventListener("click", function (event) { + const targetElements = Array.from(document.querySelectorAll(".open")); + const clickedOutsideAllTargets = targetElements.every((element) => { + return !element.contains(event.target) && !event.target.closest(".toggle-button"); + }); + + if (clickedOutsideAllTargets) { + targetElements.forEach((element) => { + element.classList.remove("open"); // Close open elements + element.classList.add("close"); // Hide elements + }); + } + }); + +})(); diff --git a/themes/pehtheme/exampleSite/assets/images/brent-cox-ydGRmobx5jA-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/brent-cox-ydGRmobx5jA-unsplash.jpg Binary files differnew file mode 100644 index 0000000..10792de --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/brent-cox-ydGRmobx5jA-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg Binary files differnew file mode 100644 index 0000000..400218f --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/daniele-colucci-Smeer5L0tXM-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/daniele-colucci-Smeer5L0tXM-unsplash.jpg Binary files differnew file mode 100644 index 0000000..cfcc7f0 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/daniele-colucci-Smeer5L0tXM-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/default-placeholder.png b/themes/pehtheme/exampleSite/assets/images/default-placeholder.png Binary files differnew file mode 100644 index 0000000..bc336c6 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/default-placeholder.png diff --git a/themes/pehtheme/exampleSite/assets/images/javardh-2q6C5zDJOsg-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/javardh-2q6C5zDJOsg-unsplash.jpg Binary files differnew file mode 100644 index 0000000..94adf21 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/javardh-2q6C5zDJOsg-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg Binary files differnew file mode 100644 index 0000000..ad0e40a --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg Binary files differnew file mode 100644 index 0000000..d941189 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/nasa-Ed2AELHKYBw-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/nasa-Ed2AELHKYBw-unsplash.jpg Binary files differnew file mode 100644 index 0000000..3781fc8 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/nasa-Ed2AELHKYBw-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/nasa-astronaut-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/nasa-astronaut-unsplash.jpg Binary files differnew file mode 100644 index 0000000..3ac0782 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/nasa-astronaut-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/assets/images/nasa-rTZW4f02zY8-unsplash.jpg b/themes/pehtheme/exampleSite/assets/images/nasa-rTZW4f02zY8-unsplash.jpg Binary files differnew file mode 100644 index 0000000..338a0d1 --- /dev/null +++ b/themes/pehtheme/exampleSite/assets/images/nasa-rTZW4f02zY8-unsplash.jpg diff --git a/themes/pehtheme/exampleSite/content/about.md b/themes/pehtheme/exampleSite/content/about.md new file mode 100644 index 0000000..9a3c8f6 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/about.md @@ -0,0 +1,42 @@ +--- +title: "About" +date: 2023-10-06T20:37:29+07:00 +image: images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg +draft: false +--- + +**Pehtheme Hugo** is your gateway to the mysteries and wonders of the universe. We are a passionate community of space enthusiasts, scientists, and stargazers dedicated to sharing the awe-inspiring beauty and profound knowledge of the cosmos. + +At **Pehtheme Hugo**, we believe that space exploration is not just a scientific endeavor; it's a human adventure. It's about the curiosity that drives us to look up at the night sky and wonder about the galaxies, stars, and planets that fill our universe. + +## Our Mission + +Our mission is to inspire, educate, and spark curiosity about space and astronomy. We aim to make the wonders of the cosmos accessible to everyone, from seasoned astronomers to those taking their first steps into the world of stargazing. + +Through a diverse range of articles, videos, images, and interactive tools, we strive to: + +- **Educate**: We provide well-researched, informative content that explains complex astronomical concepts in an accessible way. + +- **Inspire**: We share the breathtaking beauty of the universe through stunning images and stories of space exploration. + +- **Connect**: We foster a vibrant community where space enthusiasts can share their passion, ask questions, and learn from each other. + +## What You'll Find Here + +- **Astronomy Insights**: Dive deep into the universe with articles and guides that cover everything from the basics of stargazing to the latest discoveries in astrophysics. + +- **Stunning Visuals**: Explore our gallery of celestial images captured by professional astronomers and space agencies, as well as astrophotography from our community members. + +- **Space Exploration Updates**: Stay informed about upcoming space missions, rocket launches, and groundbreaking discoveries in our ever-expanding cosmos. + +- **Interactive Tools**: Use our interactive sky maps and tools to plan your stargazing sessions and track celestial events. + +## Our Team + +We are a dedicated team of space enthusiasts, writers, astronomers, and scientists who are passionate about sharing the wonders of the universe. Our combined expertise in space science, astrophotography, and science communication allows us to bring you the best of the cosmos. + +## Join Our Cosmic Community + +We invite you to join us on this cosmic journey. Explore the depths of space with us, ask questions, share your own astronomical experiences, and become part of a community that looks to the stars with wonder and curiosity. + +Let's embark on this celestial adventure together. Welcome to **My Space Theme**—where the universe unfolds before your eyes. diff --git a/themes/pehtheme/exampleSite/content/posts/2022/10-27__Exoplanets-hunting-for-earths-cosmic-cousins.md b/themes/pehtheme/exampleSite/content/posts/2022/10-27__Exoplanets-hunting-for-earths-cosmic-cousins.md new file mode 100644 index 0000000..0ae265d --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2022/10-27__Exoplanets-hunting-for-earths-cosmic-cousins.md @@ -0,0 +1,61 @@ +--- +title: "Exoplanets: Hunting for Earth's Cosmic Cousins" +date: 2023-07-27T13:03:07+07:00 +slug: /exoplanets-hunting/ +description: Discover the fascinating quest to find exoplanets, distant worlds that may resemble Earth. +image: images/nasa-Ed2AELHKYBw-unsplash.jpg +caption: Photo by Nasa on Unsplash +categories: + - astronomy +tags: + - exoplanets + - Space + - exploration + - astronomy + - feature +draft: false +--- + +In the vast tapestry of the cosmos, one of the most intriguing quests of modern astronomy is the search for exoplanets, distant celestial bodies that might bear a resemblance to our own Earth. This endeavor is driven by the tantalizing question: Could there be other habitable worlds out there? In this article, we embark on a journey to explore the captivating hunt for Earth's cosmic cousins. + +## The Exoplanet Revolution + +Keyword: Exoplanet Revolution + +Long-term Keyword: Advancements in Exoplanet Discovery + +The hunt for exoplanets has seen remarkable advancements in recent years. Thanks to innovative space telescopes and advanced ground-based observatories, astronomers have identified thousands of exoplanets orbiting distant stars. This revolution has broadened our understanding of planetary systems and fueled our curiosity about potential life beyond our solar system. + +## The Methods of Detection + +Keyword: Methods of Detection + +Long-term Keyword: Techniques for Identifying Exoplanets + +Astronomers employ various methods to detect exoplanets. These include the transit method, which observes a planet passing in front of its host star, causing a temporary dip in brightness. Another technique is the radial velocity method, which detects subtle wobbles in a star's motion caused by an orbiting planet's gravitational pull. Each method provides unique insights into exoplanet properties. + +## The Search for Habitable Worlds + +Keyword: Search for Habitable Worlds + +Long-term Keyword: Exploring Exoplanets for Signs of Life + +One of the most captivating aspects of exoplanet research is the quest for habitable worlds. Astronomers focus on identifying exoplanets located in the "Goldilocks zone" of their stars, where conditions may be just right for liquid water—a key ingredient for life as we know it. These discoveries offer hope in the search for extraterrestrial life. + +## Technological Marvels and Future Missions + +Keyword: Technological Marvels + +Long-term Keyword: Upcoming Space Missions for Exoplanet Discovery + +The future of exoplanet research is incredibly promising. Technologies like NASA's James Webb Space Telescope and ESA's PLATO mission are poised to revolutionize our understanding of exoplanets. These missions will allow us to characterize exoplanet atmospheres and study their potential habitability in unprecedented detail. + +## Conclusion: Exploring the Cosmos + +Keyword: Exploring the Cosmos + +Long-term Keyword: Expanding Horizons in Space Exploration + +The quest for exoplanets is a testament to humanity's insatiable curiosity about the cosmos. With each discovery, we inch closer to answering the profound question of whether Earth's cosmic cousins exist. The search for exoplanets continues to inspire scientists and stargazers alike, as we explore the possibilities of life beyond our home planet. + +Whether you're an astronomy enthusiast or simply intrigued by the mysteries of the universe, the journey to find Earth's cosmic cousins is an awe-inspiring endeavor. It reminds us that the cosmos is a vast playground of exploration, where the next great discovery may be just a telescope's gaze away. diff --git a/themes/pehtheme/exampleSite/content/posts/2022/11-30__The-hubble-space-telescope-30-years-of-stunning-discoveries.md b/themes/pehtheme/exampleSite/content/posts/2022/11-30__The-hubble-space-telescope-30-years-of-stunning-discoveries.md new file mode 100644 index 0000000..1c6b926 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2022/11-30__The-hubble-space-telescope-30-years-of-stunning-discoveries.md @@ -0,0 +1,60 @@ +--- +title: "The Hubble Space Telescope: 30 Years of Stunning Discoveries" +date: 2023-07-30T09:30:32+07:00 +slug: /the-hubble-space-telescope/ +description: Explore the incredible journey of the Hubble Space Telescope and its three decades of groundbreaking contributions to astronomy. +image: images/daniele-colucci-Smeer5L0tXM-unsplash.jpg +caption: Photo by Daniele Colucci on Unsplash +categories: + - space +tags: + - telescope + - space + - exploration + - astronomy +draft: false +--- + +For three remarkable decades, the Hubble Space Telescope has been our eye on the universe, delivering breathtaking images and transformative scientific insights. Since its launch in 1990, the Hubble has reshaped our understanding of the cosmos and provided us with unparalleled views of distant galaxies, nebulae, and other celestial wonders. In this article, we celebrate the Hubble Space Telescope's 30 years of stunning discoveries. + +## The Visionary Hubble Telescope + +Keyword: Hubble Space Telescope + +Long-term Keyword: Transformative Contributions of Hubble Telescope + +Named after the renowned astronomer Edwin Hubble, this space telescope was conceived with a vision to observe the universe from above Earth's atmosphere, which distorts and blocks some wavelengths of light. The Hubble has exceeded all expectations, capturing stunning images and making groundbreaking observations. + +## A Gallery of Cosmic Wonders + +Keyword: Gallery of Cosmic Wonders + +Long-term Keyword: Breathtaking Images from Hubble Telescope + +The Hubble Space Telescope has treated us to a visual feast of cosmic wonders. Its stunning images have unveiled the intricate details of distant galaxies, colorful nebulae, and the birth and death of stars. These images not only inspire awe but also advance our understanding of the universe's beauty and complexity. + +## Key Scientific Contributions + +Keyword: Scientific Contributions + +Long-term Keyword: Hubble Telescope's Impact on Astronomy + +Beyond its captivating images, the Hubble has made significant scientific contributions. It helped refine the estimate of the universe's age, observed distant supernovae to discover the acceleration of cosmic expansion, and probed the atmospheres of exoplanets. These findings have reshaped our understanding of fundamental cosmic processes. + +## The Hubble's Journey Continues + +Keyword: Hubble's Journey + +Long-term Keyword: Future of Hubble Space Telescope + +While the Hubble Telescope has already achieved remarkable milestones, its journey is far from over. With regular servicing missions and upgrades, Hubble continues to operate at the forefront of astronomy. Its successor, the James Webb Space Telescope, is poised to join the quest for deeper cosmic insights. + +## Conclusion: Unveiling the Universe + +Keyword: Unveiling the Universe + +Long-term Keyword: Hubble Telescope's Legacy + +The Hubble Space Telescope's legacy is etched in the stars and in our understanding of the cosmos. Its remarkable images and scientific contributions have enriched humanity's knowledge of the universe's vastness and complexity. As we celebrate its 30 years of discoveries, we look forward to the ongoing revelations and awe-inspiring images it will continue to provide. + +Whether you're an astronomy enthusiast, a scientist, or simply someone who marvels at the beauty of the cosmos, the Hubble Space Telescope stands as a testament to human curiosity and our ability to explore the wonders of the universe. It reminds us that the cosmos is a treasure trove of mysteries waiting to be unveiled. diff --git a/themes/pehtheme/exampleSite/content/posts/2022/12-07__Cosmic-time-travel-peering-into-the-universes-past-with-telescopes.md b/themes/pehtheme/exampleSite/content/posts/2022/12-07__Cosmic-time-travel-peering-into-the-universes-past-with-telescopes.md new file mode 100644 index 0000000..1f1c3b8 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2022/12-07__Cosmic-time-travel-peering-into-the-universes-past-with-telescopes.md @@ -0,0 +1,60 @@ +--- +title: "Cosmic Time Travel: Peering into the Universe's Past with Telescopes" +date: 2023-08-07T09:30:32+07:00 +slug: /cosmic-time-travel/ +description: Explore how telescopes enable us to journey back in time by observing distant celestial objects. +image: images/javardh-2q6C5zDJOsg-unsplash.jpg +caption: Photo by Javardh Unsplash. +categories: + - astronomy +tags: + - telescopes + - Space + - cosmic + - exploration +draft: false +--- + +In the realm of astronomy, telescopes are our time machines, allowing us to peer into the distant past of the universe. These remarkable instruments have the power to capture light that has traveled across the cosmos for millions or even billions of years. In this article, we embark on a journey of cosmic time travel, exploring how telescopes enable us to witness the universe's history. + +## The Time-Traveling Telescopes + +Keyword: Time-Traveling Telescopes + +Long-term Keyword: Observing Cosmic History with Telescopes + +Telescopes are more than just tools for stargazing; they are portals to the past. When we gaze through the eyepiece or study images captured by telescopes, we are looking at objects as they appeared when the light we observe first began its journey toward Earth. + +## The Speed of Light and Cosmic Distances + +Keyword: Speed of Light and Cosmic Distances + +Long-term Keyword: Light's Journey Across Vast Cosmic Distances + +Light travels at an astonishing speed of approximately 299,792 kilometers per second (186,282 miles per second). In the vast expanse of the universe, this speed allows us to witness events that occurred billions of years ago. Telescopes make it possible to capture this ancient light and reveal the universe's deep history. + +## Observing Distant Galaxies + +Keyword: Observing Distant Galaxies + +Long-term Keyword: Peering into the Early Universe with Telescopes + +Telescopes have enabled astronomers to observe galaxies that are billions of light-years away. When we look at these distant galaxies, we see them not as they are today but as they were when the light we see left them. This provides valuable insights into the early stages of galaxy formation and the evolution of the cosmos. + +## Probing Ancient Starlight + +Keyword: Probing Ancient Starlight + +Long-term Keyword: Studying Stellar History through Telescopes + +Telescopes allow us to study individual stars, some of which are so far away that their light has traveled through space for eons. By analyzing this ancient starlight, astronomers can learn about the life cycles of stars, their compositions, and the conditions that existed in the universe when the light was emitted. + +## Conclusion: A Glimpse into Eternity + +Keyword: A Glimpse into Eternity + +Long-term Keyword: Telescopes as Cosmic Time Machines + +Telescopes are our windows to the universe's past. They offer us a glimpse into the cosmos as it existed billions of years ago, providing a unique perspective on the history and evolution of the universe. As we continue to develop more advanced telescopes and explore the depths of space, our journey through cosmic time will only become richer and more enlightening. + +Whether you're an amateur astronomer with a backyard telescope or a scientist working with cutting-edge observatories, the act of observing celestial objects through a telescope is an act of time travel. It connects us to the universe's deep history and reminds us of the timeless beauty and wonder that await our exploration in the cosmos. diff --git a/themes/pehtheme/exampleSite/content/posts/2023/08-12__The-great-beyond-exploring-the-expanding-universe.md b/themes/pehtheme/exampleSite/content/posts/2023/08-12__The-great-beyond-exploring-the-expanding-universe.md new file mode 100644 index 0000000..c849ff6 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2023/08-12__The-great-beyond-exploring-the-expanding-universe.md @@ -0,0 +1,67 @@ +--- +title: "The Great Beyond: Exploring the Expanding Universe" +date: 2023-08-12T14:15:05+07:00 +slug: /the-great-beyond/ +description: Delve into the awe-inspiring journey of exploring the universe's expansion and the mysteries it unveils. +image: images/brent-cox-ydGRmobx5jA-unsplash.jpg +caption: Photo by Brentcox on Unsplash +categories: + - astronomy +tags: + - exploration + - cosmos + - space +draft: false +--- + +The universe, with its vastness and complexity, has intrigued humanity for centuries. In recent decades, our understanding of the cosmos has deepened, thanks to groundbreaking discoveries about the expansion of the universe. In this article, we embark on a journey to explore the great beyond, delving into the universe's expansion and the mysteries it unveils. + +## The Expanding Universe: A Cosmic Revelation + +Keyword: Expanding Universe + +Long-term Keyword: Insights into Universe's Expansion + +The concept of an expanding universe is one of the most profound discoveries in cosmology. Astronomers have found that galaxies are moving away from each other, implying that the universe is not static but continually stretching. This revelation has transformed our understanding of the cosmos. + +## Cosmic Expansion and the Big Bang + +Keyword: Cosmic Expansion and the Big Bang + +Long-term Keyword: The Birth of the Universe + +The idea of cosmic expansion is closely linked to the Big Bang theory. According to this theory, the universe originated from an incredibly dense and hot state nearly 13.8 billion years ago. As the universe expanded, it cooled, leading to the formation of galaxies, stars, and all the structures we see today. + +## Measuring the Universe's Growth + +Keyword: Measuring the Universe's Growth + +Long-term Keyword: Tools for Measuring Cosmic Expansion + +Astronomers employ various methods to measure the rate of the universe's expansion. One key tool is the Hubble constant, named after Edwin Hubble. This constant quantifies the rate at which galaxies are receding from us and provides crucial insights into the universe's age and future. + +## Dark Energy: The Cosmic Mystery + +Keyword: Dark Energy + +Long-term Keyword: Unraveling the Enigma of Dark Energy + +Dark energy is an enigmatic force that appears to be responsible for the universe's accelerated expansion. While it remains mysterious, its presence challenges our understanding of the cosmos. Researchers are actively investigating dark energy's properties and its role in shaping the fate of the universe. + +## Cosmic Fate: Expanding Forever? + +Keyword: Cosmic Fate + +Long-term Keyword: The Future of an Expanding Universe + +The ultimate fate of the expanding universe is a subject of great intrigue. Depending on the balance of cosmic forces, it may continue to expand indefinitely or eventually slow down and contract. Understanding this fate has profound implications for the destiny of the cosmos. + +## Conclusion: Journey into the Unknown + +Keyword: Journey into the Unknown + +Long-term Keyword: The Quest for Cosmic Understanding + +Exploring the expanding universe is a journey into the unknown, where each discovery reveals new layers of cosmic complexity. As we continue to study the universe's expansion, we gain insights into its birth, evolution, and ultimate destiny. The mysteries of the great beyond continue to beckon humanity, inspiring scientific exploration and philosophical contemplation. + +Whether you're a cosmologist probing the fundamental nature of the cosmos or simply someone gazing at the night sky with wonder, the expanding universe invites us to be part of a grand cosmic adventure. It reminds us that the great beyond is a realm of endless discovery, where the universe's secrets are waiting to be unveiled. diff --git a/themes/pehtheme/exampleSite/content/posts/2023/08-15__Space-explorations-next-frontier-the-race-to-reach-mars.md b/themes/pehtheme/exampleSite/content/posts/2023/08-15__Space-explorations-next-frontier-the-race-to-reach-mars.md new file mode 100644 index 0000000..ce41998 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2023/08-15__Space-explorations-next-frontier-the-race-to-reach-mars.md @@ -0,0 +1,46 @@ +--- +title: "Space Exploration's Next Frontier: The Race to Reach Mars" +date: 2023-08-15T13:45:49+07:00 +slug: /space-explorations-next-frontier/ +description: Explore the exciting endeavors and challenges of reaching Mars in the new era of space exploration. +image: images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg +caption: Photo by Daniele Colucci on Unsplash +categories: + - space +tags: + - mars + - space + - exploration + - feature +draft: false +--- + +The dream of reaching Mars has captured the imagination of scientists, engineers, and space enthusiasts for decades. In recent years, this dream has transformed into a tangible goal, with various space agencies and private companies embarking on missions to make it a reality. In this article, we delve into space exploration's next frontier—the race to reach Mars. + +## The Martian Challenge + +Mars, often referred to as the "Red Planet," has long been a subject of fascination. Its potential as a second home for humanity and its scientific allure have driven the ambition to land on its surface. The challenges posed by Mars, including its harsh environment and vast distances, make it a formidable target. + +## Mars Missions: A New Era + +The new era of Mars exploration is marked by a flurry of missions from space agencies and private enterprises. Notable missions include NASA's Perseverance rover, which is exploring the Martian surface, and SpaceX's plans for crewed missions to the planet. These endeavors signify humanity's determination to make Mars a viable destination. + +## The Quest for Life on Mars + +One of the most compelling aspects of Mars exploration is the search for signs of past or present life. The discovery of even microbial life on Mars would have profound implications for our understanding of life's potential beyond Earth. Rovers and future missions are equipped with instruments designed to detect such evidence. + +## Challenges of Mars Colonization + + +Colonizing Mars presents a host of challenges, from life support systems to radiation protection. Overcoming these hurdles is essential for establishing a sustainable human presence on the planet. Researchers and engineers are working diligently to find solutions to make Mars colonization a reality. + +## The Global Space Race + +Mars has become the focal point of a global space race, with countries and organizations worldwide vying to be the first to reach the planet. International cooperation and competition are driving advancements in space exploration technology and opening new frontiers in human spaceflight. + +## Conclusion: Humanity's Martian Odyssey + + +The race to reach Mars is more than a technological challenge; it is a testament to human ingenuity and our unrelenting spirit of exploration. The journey to Mars promises to be humanity's odyssey into the unknown, with each mission bringing us closer to realizing the dream of becoming an interplanetary species. + +Whether you're an avid follower of space exploration or simply curious about the future of space travel, the race to reach Mars is a captivating chapter in our quest to unlock the mysteries of the cosmos. It reminds us that the cosmos is our next great frontier, waiting to be explored by future generations. diff --git a/themes/pehtheme/exampleSite/content/posts/2023/09-23__Stellar-spectacles-the-wonders-of-supernova-explosions.md b/themes/pehtheme/exampleSite/content/posts/2023/09-23__Stellar-spectacles-the-wonders-of-supernova-explosions.md new file mode 100644 index 0000000..6e964fb --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2023/09-23__Stellar-spectacles-the-wonders-of-supernova-explosions.md @@ -0,0 +1,59 @@ +--- +title: "Stellar Spectacles: The Wonders of Supernova Explosions" +date: 2023-09-23T22:45:37+07:00 +slug: /stellar-spectacles/ +description: Explore the breathtaking phenomena of supernova explosions, the cosmic fireworks of the universe. +image: images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg +caption: Photo Lionel HESRY on Unsplash +categories: + - astronomy +tags: + - supernova + - cosmic + - space +draft: false +--- + +In the vast expanse of the cosmos, few events match the spectacle and scientific importance of supernova explosions. These awe-inspiring cosmic fireworks mark the dramatic end of a star's life and offer profound insights into the universe's workings. In this article, we embark on a journey to explore the wonders of supernova explosions, shedding light on their significance and the mysteries they unveil. + +## Supernova Explosions: Cosmic Fireworks + +Keyword: Supernova Explosions + +Long-term Keyword: Cosmic Fireworks of the Universe + +Supernova explosions are cataclysmic events that occur when a massive star reaches the end of its life cycle. The gravitational forces in its core become overpowering, leading to a rapid collapse, followed by a spectacular explosion. These events release an extraordinary amount of energy, briefly outshining entire galaxies and creating elements that are crucial for life as we know it. + +## The Significance of Supernovae + +Keyword: Significance of Supernovae + +Long-term Keyword: Role of Supernovae in Cosmic Evolution + +Supernovae play a vital role in the life cycle of the universe. They are responsible for dispersing heavy elements, such as iron and gold, into space. These elements are the building blocks of planets, and even life itself. Without supernovae, the universe as we know it would lack the diversity of elements necessary for the formation of celestial bodies and living organisms. + +## Types of Supernovae + +Keyword: Types of Supernovae + +Long-term Keyword: Classification of Supernova Events + +Supernovae are classified into two primary types: Type I and Type II. Type I supernovae result from the explosion of a white dwarf, while Type II supernovae occur when a massive star runs out of nuclear fuel. Each type provides unique insights into the processes occurring within stars, helping astronomers piece together the puzzle of stellar evolution. + +## Observing Supernova Explosions + +Keyword: Observing Supernova Explosions + +Long-term Keyword: Astronomical Observations of Supernovae + +Astronomers actively search for and monitor supernovae in distant galaxies. These observations help refine our understanding of the universe's expansion rate and provide clues about the nature of dark energy. Cutting-edge telescopes and space missions are dedicated to detecting and studying these celestial events. + +## Conclusion: Cosmic Phenomena Unveiled + +Keyword: Cosmic Phenomena Unveiled + +Long-term Keyword: Revelations from Supernova Explosions + +The wonders of supernova explosions are a testament to the grandeur and complexity of the cosmos. These extraordinary events, far from Earth but central to our understanding of the universe, continue to captivate scientists and stargazers alike. As we explore the significance of supernovae, we gain a deeper appreciation for the role they play in shaping the cosmos and enriching our understanding of the universe's story. + +Whether you're a seasoned astronomer or someone with a passion for the mysteries of the cosmos, supernova explosions offer a window into the breathtaking beauty and scientific significance of the universe. Witnessing these cosmic fireworks is a reminder of the awe-inspiring wonders that await our exploration in the boundless expanse of space. diff --git a/themes/pehtheme/exampleSite/content/posts/2023/09-24__Galactic-marvels-the-most-spectacular-nebulas-in-the-cosmos.md b/themes/pehtheme/exampleSite/content/posts/2023/09-24__Galactic-marvels-the-most-spectacular-nebulas-in-the-cosmos.md new file mode 100644 index 0000000..d159453 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2023/09-24__Galactic-marvels-the-most-spectacular-nebulas-in-the-cosmos.md @@ -0,0 +1,55 @@ +--- +title: "Galactic Marvels: The Most Spectacular Nebulas in the Cosmos" +date: 2023-09-24T11:15:17+07:00 +slug: /galactic-marvels/ +description: galactic marvels the most spectacular nebulas in the cosmos +image: images/nasa-rTZW4f02zY8-unsplash.jpg +caption: Photo by Nasa on Unsplash +categories: + - space +tags: + - nebula + - cosmic + - space +draft: false +--- + +In the vast expanse of the cosmos, one cannot help but be captivated by the breathtaking beauty of nebulae. These celestial marvels are often hidden in the depths of space, waiting to be discovered and admired by astronomers and space enthusiasts alike. In this article, we will embark on a cosmic journey to explore some of the most spectacular nebulas in the cosmos, shedding light on their unique features and the mysteries they hold. + +## 1. The Eagle Nebula: A Stellar Nursery + + +The Eagle Nebula, also known as Messier 16, is a striking star-forming region in the Serpens constellation. This celestial nursery is famous for the Pillars of Creation, towering columns of gas and dust where new stars are born. The Eagle Nebula's intricate interplay of light and shadow is a testament to the cosmos' artistic prowess. + +## 2. The Orion Nebula: Jewel of Orion's Sword + + +Located in the "sword" of the Orion constellation, the Orion Nebula, or Messier 42, is one of the most studied nebulae in the night sky. Its vibrant colors and intricate details make it a favorite among amateur astronomers. This stellar nursery is home to a myriad of young stars, hidden within its glowing gas and dust clouds. + +## 3. The Lagoon Nebula: A Cosmic Lagoon of Gas and Stars + + +Situated in the Sagittarius constellation, the Lagoon Nebula, or Messier 8, is a stellar paradise. Its distinctive name arises from the dark lanes of dust that resemble the shores of a tranquil lagoon. This nebula is a hub of star formation, where massive, hot stars illuminate the surrounding gas clouds. + +## 4. The Helix Nebula: The Eye of the Cosmos + + +The Helix Nebula, also known as the Eye of God, is a planetary nebula in the Aquarius constellation. Its iconic shape resembles a colossal eye gazing out from the depths of space. The Helix Nebula is the remnants of a dying star, shedding its outer layers into the cosmos. + +## 5. The Carina Nebula: A Stellar Canvas of Color + + +The Carina Nebula, located in the Carina constellation, is a celestial masterpiece known for its vivid colors and chaotic star-forming regions. This sprawling nebula hosts the enigmatic Eta Carinae, one of the most massive binary star systems in our galaxy. + +## 6. The Crab Nebula: A Cosmic Relic + + +The Crab Nebula, a remnant of a supernova explosion in 1054 AD, is a historical gem in the Taurus constellation. This pulsar-powered nebula is a testament to the violent forces that shape the cosmos. Its intricate filaments and expanding shockwaves continue to be a source of scientific fascination. + +## Conclusion: Cosmic Wonders Unveiled + +Exploring the most spectacular nebulas in the cosmos reveals the astonishing beauty and complexity of our universe. These celestial marvels, often hidden in the night sky, provide astronomers with invaluable insights into the life cycles of stars and the forces that shape our galaxy. + +As we gaze at the stars and wonder about the mysteries of the cosmos, let us not forget the breathtaking nebulae that grace our skies, reminding us of the boundless wonders of the universe. + +Whether you're an amateur astronomer with a telescope or simply a stargazer, these spectacular cosmic nebulas are waiting for you to discover and appreciate their awe-inspiring splendor. So, grab your telescope or binoculars, and embark on a celestial journey to witness these galactic marvels for yourself.
\ No newline at end of file diff --git a/themes/pehtheme/exampleSite/content/posts/2023/10-24__Unveiling-the-secrets-of-black-holes-a-journey-into-the-heart-of-darkness.md b/themes/pehtheme/exampleSite/content/posts/2023/10-24__Unveiling-the-secrets-of-black-holes-a-journey-into-the-heart-of-darkness.md new file mode 100644 index 0000000..a0ec2f6 --- /dev/null +++ b/themes/pehtheme/exampleSite/content/posts/2023/10-24__Unveiling-the-secrets-of-black-holes-a-journey-into-the-heart-of-darkness.md @@ -0,0 +1,83 @@ +--- +title: "Unveiling the Secrets of Black Holes: A Journey into the Heart of Darkness" +date: 2023-10-04T22:11:36+07:00 +slug: /unveiling-the-secrets-of-black-holes/ +description: Exploring the mysteries of black holes, the enigmatic cosmic phenomena. +image: images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg +caption: Photo by Nadine Shaabana on Unsplash. +categories: + - astronomy +tags: + - black hole + - space + - relativity +draft: false +--- + +In the vast expanse of the cosmos, `there` are few objects as mysterious and awe-inspiring as black holes. These enigmatic cosmic phenomena, once thought of as nothing more than theoretical curiosities, have now become a central focus of astronomical research. In this article, we embark on a journey deep into the heart of darkness, unraveling some of the secrets that lie within. + +## Black Holes: What and Why? + +Before delving deeper, let's understand what a black hole actually is. Black holes are the remnants of massive stars that have undergone a supernova explosion. When these stars collapse under their own gravity, they become incredibly dense, with gravity so strong that not even light can escape their grasp. + +## The Beauty of Darkness + +We often imagine black holes as menacing objects that mercilessly devour anything that comes near them. However, in reality, black holes possess their own kind of beauty. They warp the fabric of spacetime around them, creating astonishing phenomena such as gravitational lensing and relativistic effects. + +## Navigating Black Holes with General Relativity + +One of the keys to understanding black holes is Albert Einstein's Theory of General Relativity. This theory revolutionized our understanding of gravity and opened the door to comprehending extreme physical phenomena like black holes. With its equations, scientists can calculate the behavior of black holes and predict what might happen in their vicinity. + +## Recent Discoveries and Future Missions + +The field of black hole astronomy is continually evolving. In recent years, discoveries such as the first image of a black hole and the detection of gravitational waves from black hole collisions have rocked the scientific world. Future missions to observe black holes, such as the James Webb Space Telescope, promise to unlock even more secrets. + +## Conclusion: Unveiling the Darkness + +Unveiling the secrets of black holes is an ongoing journey. The deeper we delve, the more mysteries are revealed, and the further we peer into the cosmic heart of darkness. In this quest, scientists and astronomers serve as galactic explorers, guiding us all toward a deeper understanding of this mysterious and wondrous universe. + +Whether you're a researcher, an astronomy enthusiast, or simply curious about the secrets of the cosmos, one thing is certain: black holes will continue to be a focal point of research and a marvel of the universe that never ceases to astound us all. + +```html +{{ define "main" }} + +{{- partial "hero.html" . -}} + +<main class="max-w-7xl mx-auto py-8"> + + <section class="mb-10"> + + <div class="flex items-center px-4 sm:px-8 lg:px-8"> + + <h2 class=" text-2xl font-bold">Latest News</h2> + + <button class="ml-auto border rounded-full px-4 py-1 dark:border-zinc-700 hover:bg-zinc-100 dark:hover:bg-zinc-800"> + View all + </button> + + </div> + + {{- partial "card-list-horizontal.html" . -}} + + </section> + + <section class="mb-10"> + + <div class="flex items-center px-4 sm:px-8 lg:px-8"> + + <h2 class=" text-2xl font-bold">Cetegories News</h2> + + <button class="ml-auto border rounded-full px-4 py-1 dark:border-zinc-700 hover:bg-zinc-100 dark:hover:bg-zinc-800"> + View all + </button> + + </div> + + {{- partial "card-list-horizontal.html" . -}} + + </section> + +</main> + +{{ end }} +``` diff --git a/themes/pehtheme/exampleSite/hugo.toml b/themes/pehtheme/exampleSite/hugo.toml new file mode 100644 index 0000000..4fecd04 --- /dev/null +++ b/themes/pehtheme/exampleSite/hugo.toml @@ -0,0 +1,46 @@ +baseURL = 'https://pehtheme-hugo.netlify.app/' +languageCode = 'en-us' +title = 'Pehtheme' +theme = 'pehtheme-hugo' + +paginate = '6' # <- Set the desired number of posts per page +summaryLength = '20' # <- 20 words are approximately 160 characters +googleAnalytics = 'G-MEASUREMENT_ID' # <- Your GA-4 +disqusShortname = 'your-disqus-shortname' # <- Get form here : https://disqus.com + +[params] + # Meta description, not exceeding 160 characters, used for the meta description within the HTML head + description = 'Pehtheme Hugo Lite: A minimalist Hugo theme, built with TailwindCSS, for efficient performance and minimalism.' + mainSections = 'posts' + +[author] + name = 'Anthony Arphan' + bio = 'Debitis assumenda esse dignissimos aperiam delectus maxime tenetur repudiandae dolore' + avatar = '/images/nasa-astronaut-unsplash.jpg' + twitter = 'https://twitter.com/insertapps' + +[menu] # Menu management + [[menu.main]] + name = 'Home' + pageRef = '/' + weight = 10 + [[menu.main]] + name = 'About' + pageRef = '/about' + weight = 15 + [[menu.main]] + name = 'Tags' + pageRef = '/tags' + weight = 20 + [[menu.main]] + name = 'Taxonomy' + pageRef = '/tags/space/' + weight = 25 + +[module] + [module.hugoVersion] + extended = false + min = "0.116.0" + [module.mounts] # Directing the static folder to assets. + source = 'assets' + target = 'static'
\ No newline at end of file diff --git a/themes/pehtheme/exampleSite/input.css b/themes/pehtheme/exampleSite/input.css new file mode 100644 index 0000000..b2fb33a --- /dev/null +++ b/themes/pehtheme/exampleSite/input.css @@ -0,0 +1,22 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + + .insert-link { + @apply before:absolute before:content-[''] before:z-10 before:top-0 before:right-0 before:left-0 before:bottom-0 before:pointer-events-auto + } +} + +@layer utilities { + + .close { + display: none; + } + + .open { + display: block; + } + +}
\ No newline at end of file diff --git a/themes/pehtheme/exampleSite/package.json b/themes/pehtheme/exampleSite/package.json new file mode 100644 index 0000000..e45ee77 --- /dev/null +++ b/themes/pehtheme/exampleSite/package.json @@ -0,0 +1,25 @@ +{ + "name": "pehtheme", + "version": "1.0.0", + "description": "An open-source Hugo theme lovingly crafted using Tailwind CSS.", + "main": "index.js", + "scripts": { + "dev:generate": "npx tailwindcss -i ./assets/input.css -o ./themes/pehtheme-hugo/assets/css/main.css -w", + "dev:hugo": "hugo server", + "dev": "run-p dev:*", + "build:generate": "npx tailwindcss -i ./assets/input.css -o ./themes/pehtheme/static/assets/css/main.css", + "build:hugo": "hugo", + "build": "run-p build:*" + }, + "keywords": ["hugo", "tailwindcss"], + "author": "Fauzan My", + "license": "MIT", + "devDependencies": { + "@tailwindcss/typography": "^0.5.10", + "autoprefixer": "^10.4.16", + "npm-run-all": "^4.1.5", + "postcss": "^8.4.31", + "postcss-cli": "^10.1.0", + "tailwindcss": "^3.3.3" + } +}
\ No newline at end of file diff --git a/themes/pehtheme/exampleSite/postcss.config.js b/themes/pehtheme/exampleSite/postcss.config.js new file mode 100644 index 0000000..f22de2a --- /dev/null +++ b/themes/pehtheme/exampleSite/postcss.config.js @@ -0,0 +1,8 @@ +postcss.config.js + +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + } +}
\ No newline at end of file diff --git a/themes/pehtheme/exampleSite/tailwind.config.js b/themes/pehtheme/exampleSite/tailwind.config.js new file mode 100644 index 0000000..3fe0bfe --- /dev/null +++ b/themes/pehtheme/exampleSite/tailwind.config.js @@ -0,0 +1,13 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "content/**/*.md", + "./themes/pehtheme-hugo/**/*.{html,js}" + ], + theme: { + extend: {}, + }, + plugins: [ + require('@tailwindcss/typography') + ], +}
\ No newline at end of file diff --git a/themes/pehtheme/hugo.toml b/themes/pehtheme/hugo.toml new file mode 100644 index 0000000..890e58d --- /dev/null +++ b/themes/pehtheme/hugo.toml @@ -0,0 +1,23 @@ +baseURL = 'https://example.org/' +languageCode = 'en-us' +title = 'My New Hugo Site' + +[[menus.main]] +name = 'Home' +pageRef = '/' +weight = 10 + +[[menus.main]] +name = 'Posts' +pageRef = '/posts' +weight = 20 + +[[menus.main]] +name = 'Tags' +pageRef = '/tags' +weight = 30 + +[module] + [module.hugoVersion] + extended = false + min = "0.116.0" diff --git a/themes/pehtheme/images/screenshot.png b/themes/pehtheme/images/screenshot.png Binary files differnew file mode 100644 index 0000000..b591d96 --- /dev/null +++ b/themes/pehtheme/images/screenshot.png diff --git a/themes/pehtheme/images/tn.png b/themes/pehtheme/images/tn.png Binary files differnew file mode 100644 index 0000000..ab29c8a --- /dev/null +++ b/themes/pehtheme/images/tn.png diff --git a/themes/pehtheme/layouts/_default/baseof.html b/themes/pehtheme/layouts/_default/baseof.html new file mode 100644 index 0000000..b8a4c37 --- /dev/null +++ b/themes/pehtheme/layouts/_default/baseof.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html lang="{{ or site.Language.LanguageCode site.Language.Lang }}" dir="{{ or site.Language.LanguageDirection `ltr` }}"> +<head> + {{ partial "head.html" . }} +</head> +<body> + <header class="py-6 border-b"> + {{- partial "header.html" . -}} + </header> + <main class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8"> + {{- block "main" . }}{{ end -}} + </main> + <footer class="bg-zinc-100 py-10 md:py-14"> + {{- partial "footer.html" . -}} + </footer> + {{- partialCached "footer/js.html" . }} +</body> +</html>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/_default/home.html b/themes/pehtheme/layouts/_default/home.html new file mode 100644 index 0000000..8f249bb --- /dev/null +++ b/themes/pehtheme/layouts/_default/home.html @@ -0,0 +1,93 @@ +{{ define "main" }} + +<!-- Feature post by tag = "feature" --> + +{{- range where .Site.RegularPages "Params.tags" "intersect" (slice "feature" ) | first 1 -}} +<section class="block md:flex relative group p-6 lg:p-10 space-y-6 md:space-x-6 my-14 bg-zinc-100 rounded-3xl hover:bg-blue-100"> + <figure class="basis-1/2 w-full aspect-video overflow-hidden rounded-2xl border"> + + {{- with $imgfeature := resources.Get .Params.image }} + {{ $imgfeature := $imgfeature.Resize "720x Q85" -}} + + <img class="object-cover group-hover:scale-105 transition duration-500 cursor-pointer" src="{{ $imgfeature.Permalink }}" alt="{{ $.Name }}" width="{{ $imgfeature.Width}}" height="{{ $imgfeature.Height }}"> + + {{- end }} + </figure> + <div class="basis-1/2 self-center"> + <h2 class="text-2xl md:text-3xl lg:text-5xl font-bold mb-4"><a class="before:content-[''] before:z-10 before:top-0 before:right-0 before:left-0 before:bottom-0 before:absolute before:pointer-events-auto" href="{{ .Permalink }}">{{ .Title}}</a></h2> + <time datetime="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"><span class="font-bold">{{ .Date.Format "Jan 02, 2006" }}</span></time> + </div> +</section> + +{{ end -}} + +<!-- / End feature post --> + +<!-- Category Post --> + +<section class="mb-16"> + + {{ $cat := "astronomy" }} + + <div class="flex items-center mb-6"> + + <h2 class="text-3xl md:text-4xl font-bold mr-auto">{{ $cat | humanize }}</h2> + + <a class="border rounded-full py-2 px-4 md:px-6 hover:bg-blue-100" href="{{ printf "/categories/%s" $cat | absURL }}">View All</a> + </div> + + <div class="grid grid-cols-1 md:grid-cols-3 gap-x-6 gap-y-10"> + + {{ range where .Site.RegularPages "Params.categories" "intersect" (slice $cat ) | first 3 }} + + {{- partial "content/card" . -}} + + {{ end }} + + </div> + + </section> + +<!-- / End category post --> +<hr class="my-8"> +<!-- Start recent post --> + + <section class="mb-16"> + + <div class="flex items-center mb-6"> + + <h2 class="text-3xl md:text-4xl font-bold mr-auto">Recent Post</h2> + + </div> + + <div class="grid grid-cols-1 md:grid-cols-3 gap-x-6 gap-y-10"> + + {{ $paginator := .Paginate ( where site.RegularPages "Type" "in" site.Params.mainSections) }} + + {{ range $paginator.Pages }} + + {{- partial "content/card" . -}} + + {{ end }} + + </div> + + <!-- Paginate here --> + + <div class="flex items-center mt-10"> + {{- if $paginator.HasPrev -}} + <a class="border rounded-full px-6 py-2 hover:bg-zinc-200 mr-auto" href="{{ $paginator.Prev.URL }}">← Previous</a> + {{- end -}} + + {{- if $paginator.HasNext -}} + <a class="border rounded-full px-6 py-2 hover:bg-zinc-200" href="{{ $paginator.Next.URL }}">Next →</a> + {{- end -}} + </div> + + </section> + +<!-- / End recent post --> + + {{- partial "content/newsletter.html" . -}} + +{{ end }} diff --git a/themes/pehtheme/layouts/_default/list.html b/themes/pehtheme/layouts/_default/list.html new file mode 100644 index 0000000..94383ba --- /dev/null +++ b/themes/pehtheme/layouts/_default/list.html @@ -0,0 +1,43 @@ +{{ define "main" }} + +{{- partial "content/breadcrumb.html" . -}} + + <div class="grid grid-cols-1 md:grid-cols-3 gap-8 mb-14"> + + <section class="md:col-span-2"> + + <h2 class="text-3xl font-bold mb-10">{{ .Title | humanize }}</h2> + + <div class="grid grid-cols-1 md:grid-cols-2 gap-y-10 gap-x-4"> + + {{ range ( .Paginator 6 ).Pages }} + + {{- partial "content/card.html" . -}} + + {{ end }} + + </div> + + <!-- Paginate here --> + + <div class="flex items-center mt-10"> + {{- if .Paginator.HasPrev -}} + <a class="border rounded-full px-6 py-2 hover:bg-zinc-200 mr-auto" href="{{ .Paginator.Prev.URL }}">← Previous</a> + {{- end -}} + + {{- if .Paginator.HasNext -}} + <a class="border rounded-full px-6 py-2 hover:bg-zinc-200" href="{{ .Paginator.Next.URL }}">Next →</a> + {{- end -}} + </div> + + </section> + + <aside class="md:col-span-1"> + + {{- partial "content/aside.html" . -}} + + </aside> + + </div> + +{{ end }} diff --git a/themes/pehtheme/layouts/_default/single.html b/themes/pehtheme/layouts/_default/single.html new file mode 100644 index 0000000..827420f --- /dev/null +++ b/themes/pehtheme/layouts/_default/single.html @@ -0,0 +1,162 @@ +{{ define "main" }} +{{- partial "content/breadcrumb.html" . -}} + +<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-14"> + + <article class="md:col-span-2 prose lg:prose-lg"> + + <header class="not-prose"> + + <h1 id="title" class="text-4xl font-bold leading-normal">{{ .Title }}</h1> + + <div id="lead" class="my-6"> + + <p class="font-bold">{{ .Params.description }} </p> + + </div> + + <div id="writer" class="flex items-center space-x-4"> + + {{- $name := .Site.Author.name -}} + + {{- with $avatar := resources.Get .Site.Author.avatar }} + + <img class="w-12 h-12 bg-black rounded-full" src="{{ $avatar.Permalink }}" alt="{{ $name }} avatar" width="{{ $avatar.Width }}" height="{{ $avatar.Height }}"> + + {{ end -}} + + <ul class="flex items-center space-x-4 flex-nowrap whitespace-nowrap overflow-x-auto"> + + <li class="font-semibold my-2">{{ .Site.Author.name }}</li> + + <li class="before:content-['•'] before:mr-2 before:opacity-50 my-2"> + {{- $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" -}} + {{- $dateHuman := .Date | time.Format ":date_long" -}} + <time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time> + </li> + + <li class="before:content-['•'] before:mr-2 before:opacity-50 my-2"> + {{ .ReadingTime }} min read + </li> + + </ul> + + </div> + + </header> + + <figure id="featureimage" class="rounded-xl aspect-video"> + + {{- with $image := resources.Get ( .Params.image ) }} + + {{- $image := $image.Resize "750x" }} + + <img class="rounded-lg" src="{{ $image.Permalink }}" alt="{{ .Params.title }}" width="{{ $image.Width }}" height="{{ $image.Height }}"> + + {{- end }} + + {{- if ( isset .Params "caption" ) }} + + <figcaption class="text-center italic text-xs">{{ .Params.caption }}</figcaption> + + {{- end }} + + </figure> + + <div id="content" class="mb-14"> + <!-- Content --> + + {{- .Content -}} + + <!-- Tags list --> + + {{- partial "terms.html" (dict "taxonomy" "tags" "page" .) -}} + + </div> + + <footer id="content-footer" class="not-prose"> + + <div id="comment" class="border p-8 bg-zinc-100 rounded-2xl"> + + <h2 class="text-xl font-semibold">Comment</h2> + + <p>Disqus comment here</p> + + {{- /* template "_internal/disqus.html" . */ -}} + + </div> + + <div id="author-box" class="my-8 md:my-14 border p-8 bg-zinc-100 rounded-2xl"> + + <img class="w-20 h-20 rounded-full" src="{{ .Site.Author.avatar }}" alt="{{ .Site.Author.name }}"> + + <h2 class="text-xl font-bold my-4">Writter by : {{ .Site.Author.name }}</h2> + + <p class="mb-4">{{ .Site.Author.bio }}</p> + + <ul class="flex flex-wrap space-x-4"> + <li> + <a class="flex items-center decoration-auto hover:underline" href="https://facebook.com/#" target="_blank" rel="noopener"> + <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16"> + <path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"/> + </svg> + <span class="ml-2">Facebook</span> + </a> + </li> + <li> + <a class="flex items-center decoration-auto hover:underline" href="https://facebook.com/#" target="_blank" rel="noopener"> + <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16"> + <path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z"/> + </svg> + <span class="ml-2">Twitter</span> + </a> + </li> + <li> + <a class="flex items-center decoration-auto hover:underline" href="https://facebook.com/#" target="_blank" rel="noopener"> + <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16"> + <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"/> + + </svg> + <span class="ml-2">Instagram</span> + </a> + </li> + + </ul> + + </div> + + <div id="related-post" class=""> + + <h2 class="text-xl md:text-2xl font-bold mb-6 md:mb-8">Recommended for You</h2> + + {{- $related := .Site.RegularPages.Related . | first 2 -}} + + {{- with $related -}} + + <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> + + {{- range . }} + + {{- partial "content/card.html" . -}} + + {{- end }} + + </div> + + {{- end }} + </div> + + </footer> + + </article> + + <!-- Aside --> + <aside class="md:col-span-1"> + + {{- partial "content/aside.html" . -}} + + </aside> + +</div> + +{{ end }} diff --git a/themes/pehtheme/layouts/_default/terms.html b/themes/pehtheme/layouts/_default/terms.html new file mode 100644 index 0000000..c5a6baf --- /dev/null +++ b/themes/pehtheme/layouts/_default/terms.html @@ -0,0 +1,38 @@ +{{ define "main" }} + +{{- partial "content/breadcrumb.html" . -}} + + <div class="grid grid-cols-1 md:grid-cols-3 gap-8 mb-14"> + + <section class="md:col-span-2"> + + <h2 class="text-3xl font-bold mb-10">{{ .Title | humanize }}</h2> + + <ul class="grid grid-cols-1 md:grid-cols-2 gap-10 text-2xl"> + + {{- range .Pages -}} + + <li class="relative hover:bg-zinc-200 border py-6 px-8 rounded-2xl group"> + <a class="insert-link flex items-center space-x-4" href="{{ .RelPermalink }}"> + <svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" fill="currentColor" class="group-hover:animate-spin" viewBox="0 0 16 16"> + <path d="M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/> + <path d="M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z"/> + </svg> + <span>{{ .LinkTitle | humanize }}</span></a> + </li> + + {{ end }} + + </ul> + + </section> + + <aside class="md:col-span-1"> + + {{- partial "content/aside.html" . -}} + + </aside> + + </div> + +{{ end }}
\ No newline at end of file diff --git a/themes/pehtheme/layouts/page/single.html b/themes/pehtheme/layouts/page/single.html new file mode 100644 index 0000000..993c057 --- /dev/null +++ b/themes/pehtheme/layouts/page/single.html @@ -0,0 +1,40 @@ +{{ define "main" }} + +<div class="py-14"> + + <div class="mb-14"> + + <img class="rounded-3xl" src="{{ .Params.image | absURL }}" alt="{{ .Title }}"> + + </div> + + + <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> + + <article class="md:col-span-2 prose lg:prose-lg"> + + <header class="not-prose mb-14"> + + <h1 class="text-4xl font-bold">{{ .Title }}</h1> + + </header> + + <div id="content" class="prose lg:prose-lg"> + + {{- .Content -}} + + </div> + + </article> + + <aside class="md:col-span-1"> + + {{- partial "content/aside.html" . -}} + + </aside> + + </div> + +</div> + +{{ end }}
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/content/aside-banner.html b/themes/pehtheme/layouts/partials/content/aside-banner.html new file mode 100644 index 0000000..cbf9e1b --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/aside-banner.html @@ -0,0 +1,7 @@ +<div class="rounded-2xl p-4 bg-zinc-100 mb-10"> + + <img class="aspect-video rounded" src="/images/email-3249062_1280_by-Muhammad-Ribkhan-Pixabay.jpg" alt="Banner Email Marketing"> + + <p class="text-right text-xs mt-2 leading-none text-zinc-500">Adversitiment</p> + +</div>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/content/aside.html b/themes/pehtheme/layouts/partials/content/aside.html new file mode 100644 index 0000000..9df3c85 --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/aside.html @@ -0,0 +1,17 @@ +<div class="lg:sticky lg:top-8"> + + {{- partial "content/aside-banner.html" -}} + + <div class="space-y-6"> + + <h2 class="font-bold text-xl mb-8">Recent Post</h2> + + {{ range where .Site.RegularPages "Type" "posts" | first 5}} + + {{- partial "content/list-post.html" . -}} + + {{ end }} + + </div> + +</div> diff --git a/themes/pehtheme/layouts/partials/content/breadcrumb.html b/themes/pehtheme/layouts/partials/content/breadcrumb.html new file mode 100644 index 0000000..21de102 --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/breadcrumb.html @@ -0,0 +1,9 @@ +<div id="breadcrumb" class="max-w-7xl mx-auto py-8"> + <ul class="flex space-x-4 text-sm text-zinc-500"> + {{- range .Ancestors.Reverse }} + <li class="after:content-['❯'] after:ml-4 after:opacity-30 last:after:content-none uppercase"> + <a href="{{ .Permalink }}">{{ .LinkTitle }}</a> + </li> + {{- end }} + </ul> +</div>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/content/card.html b/themes/pehtheme/layouts/partials/content/card.html new file mode 100644 index 0000000..11dbe5a --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/card.html @@ -0,0 +1,26 @@ +<article class="relative group bg-zinc-100 hover:bg-blue-100 rounded-3xl"> + + <a class="insert-link" href="{{ .Permalink }}"></a> + + <figure class="w-full aspect-video overflow-hidden rounded-3xl"> + + {{- with $imgcard := resources.Get .Params.image -}} + + {{- $imgcard := $imgcard.Process "resize 750x" -}} + + <img class="object-cover group-hover:scale-105 transition duration-500 cursor-pointer" src="{{ ($imgcard ).Permalink }}" alt="{{ $.Name }}" width="{{ $imgcard.Width }}" height="{{ $imgcard.Height }}"> + + {{- end }} + + </figure> + + <div class="p-6"> + + <time datetime="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">{{ .Date.Format "Jan 02, 2006" }}</time> + + <h3 class="my-4 text-2xl font-bold">{{ .LinkTitle }}</h3> + + <p class="text-normal leading-normal text-zinc-500 line-clamp-2">{{ .Params.description }}</p> + + </div> +</article>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/content/list-post.html b/themes/pehtheme/layouts/partials/content/list-post.html new file mode 100644 index 0000000..c881e03 --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/list-post.html @@ -0,0 +1,13 @@ +<article class="relative group flex flex-row"> + <a class="insert-link" href="{{ .Permalink }}"></a> + <figure class="basis-1/3 aspect-square overflow-hidden rounded-2xl aspect-square bg-zinc-100"> + {{- with $imglist := resources.Get .Params.image -}} + {{- $imglist := $imglist.Crop "250x250 Center" -}} + <img class="object-cover group-hover:scale-105 transition duration-500 cursor-pointer" src="{{ $imglist.Permalink }}" alt="{{ $.Name }}" width="{{ $imglist.Width }}" height="{{ $imglist.Height }}"> + + {{ end }} + </figure> + <div class="basis-2/3 self-center ml-4"> + <h3 class="font-bold group-hover:underline decoration-auto">{{ .LinkTitle }}</h3> + </div> +</article>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/content/newsletter.html b/themes/pehtheme/layouts/partials/content/newsletter.html new file mode 100644 index 0000000..693ff7f --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/newsletter.html @@ -0,0 +1,28 @@ +<div class="max-w-7xl mx-auto my-16 rounded-3xl bg-blue-500"> + + <div class="flex flex-wrap p-6 lg:p-10 space-y-6 lg:space-y-0"> + + <div class="w-full md:w-3/5 lg:pr-10 text-white"> + + <h3 class="text-2xl font-semibold mb-4">Stay In The Loop! Subscribe to Our Newsletter.</h3> + + <p>Join our community of enthusiasts and stay informed. Just enter your email below, and we'll make sure you're always in the know!</p> + + </div> + + + + <div class="self-center flex flex-col w-full md:w-2/5"> + + <form class="block lg:flex space-y-6 lg:space-y-0 lg:space-x-4"> + + <input class="w-full lg:w-3/5 px-6 py-2 rounded-full" type="text" placeholder="Email..."> + + <button class="w-full lg:w-2/5 px-6 py-2 rounded-full bg-white">Subscribe</button> + + </form> + </div> + + </div> + +</div>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/content/social-media.html b/themes/pehtheme/layouts/partials/content/social-media.html new file mode 100644 index 0000000..84a742e --- /dev/null +++ b/themes/pehtheme/layouts/partials/content/social-media.html @@ -0,0 +1,30 @@ +<ul id="social-media" class="flex items-center space-x-4"> + <li> + <a class="w-12 h-12 rounded-full bg-white hover:bg-zinc-200 flex items-center justify-center p-2" href="https://www.facebook.com/#" target="_blank" rel="noopener noreferrer"> + <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16"> + <path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"/> + </svg> + </a> + </li> + <li> + <a class="w-12 h-12 rounded-full bg-white hover:bg-zinc-200 flex items-center justify-center p-2" href="https://www.twitter.com/#" target="_blank" rel="noopener noreferrer"> + <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="currentColor" viewBox="0 0 16 16"> + <path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z"/> + </svg> + </a> + </li> + <li> + <a class="w-12 h-12 rounded-full bg-white hover:bg-zinc-200 flex items-center justify-center p-2" href="https://www.github.com/#" target="_blank" rel="noopener noreferrer"> + <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="currentColor" viewBox="0 0 16 16"> + <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"/> + </svg> + </a> + </li> + <li> + <a class="w-12 h-12 rounded-full bg-white hover:bg-zinc-200 flex items-center justify-center p-2" href="https://www.instagram.com/#" target="_blank" rel="noopener noreferrer"> + <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="currentColor" viewBox="0 0 16 16"> + <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"></path> + </svg> + </a> + </li> +</ul>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/footer.html b/themes/pehtheme/layouts/partials/footer.html new file mode 100644 index 0000000..1d4101d --- /dev/null +++ b/themes/pehtheme/layouts/partials/footer.html @@ -0,0 +1,46 @@ +<div class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8"> + + <div class="flex flex-wrap space-y-6 mb-4"> + + <div class="w-full md:w-3/5 flex flex-col space-y-4 md:pr-8 lg:pr-10"> + + <a class="flex items-center group" href="{{ .Site.BaseURL }}"> + <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="mr-2 group-hover:animate-spin" viewBox="0 0 16 16"> + <path d="M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/> + <path d="M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z"/> + </svg> + + <span class="text-2xl font-semibold uppercase">{{ .Site.Title }}</span> + </a> + + <p class="font-semibold"> + Write with love. Minimalism design.<br>Clean code and built in Rembele, Gayo Highland. + </p> + + <p>Lorem ipsum dolor sit amet consectetur adipisicing, elit. At nulla, dolorum cumque ad. Officia voluptas excepturi distinctio maiores reiciendis minima aliquid aspernatur. Ullam tenetur saepe debitis, libero, in rerum vero?</p> + + </div> + + <div class="self-center flex flex-col w-full md:w-2/5"> + +{{ partial "content/social-media.html" . }} + + </div> + + </div> + + <div class="my-8"> + <ul class="flex items-center space-x-4"> + {{ range .Site.Menus.main }} + <li><a class="decoration-auto hover:underline font-semibold" href="{{ .URL }}">{{ .Name }}</a></li> + {{ end }} + </ul> + </div> + + <div class="border-t pt-4"> + + <p class="text-sm">Copyright © {{ now.Year }}. All rights reserved. <a href="https://insertapps.com/en/" target="_blank" rel="noopener">Insertapps.com</a></p> + + </div> + +</div> diff --git a/themes/pehtheme/layouts/partials/footer/js.html b/themes/pehtheme/layouts/partials/footer/js.html new file mode 100644 index 0000000..88b81de --- /dev/null +++ b/themes/pehtheme/layouts/partials/footer/js.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/insertoggle.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + <script src="{{ .RelPermalink }}"></script> + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + <script defer src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script> + {{- end }} + {{- end }} +{{- end }}
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/head.html b/themes/pehtheme/layouts/partials/head.html new file mode 100644 index 0000000..dbe2730 --- /dev/null +++ b/themes/pehtheme/layouts/partials/head.html @@ -0,0 +1,9 @@ +<meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<!-- Dynamic title for SEO --> +<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title> +<!-- Dynamic description for SEO --> +<meta name="description" content="{{ if .IsHome }}{{ .Site.Params.description }}{{ else }}{{ .Params.description }}{{ end }}"> +{{- partialCached "head/css.html" . -}} +{{- partialCached "head/favicon.html" . -}} +{{- /* template "_internal/google_analytics.html" . */ -}}
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/head/css.html b/themes/pehtheme/layouts/partials/head/css.html new file mode 100644 index 0000000..91b928d --- /dev/null +++ b/themes/pehtheme/layouts/partials/head/css.html @@ -0,0 +1,9 @@ +{{- with resources.Get "css/main.css" }} + {{- if eq hugo.Environment "development" }} + <link rel="stylesheet" href="{{ .RelPermalink }}"> + {{- else }} + {{- with . | minify | fingerprint }} + <link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/pehtheme/layouts/partials/head/favicon.html b/themes/pehtheme/layouts/partials/head/favicon.html new file mode 100644 index 0000000..ab6db37 --- /dev/null +++ b/themes/pehtheme/layouts/partials/head/favicon.html @@ -0,0 +1,6 @@ +<!-- Favicon resources --> +<link rel="icon" type="image/svg+xml" href="{{ "favicon.svg" | absURL }}"> <!-- SVG format --> +<link rel="icon" type="image/x-icon" href="{{ "favicon.ico" | absURL }}"> <!-- ICO format --> +<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon.png" | absURL }}"> <!-- 16x16 PNG format --> +<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32.png" | absURL }}"> <!-- 32x32 PNG format --> +<link rel="icon" type="image/png" sizes="64x64" href="{{ "favicon-64.png" | absURL }}"> <!-- 64x64 PNG format --> diff --git a/themes/pehtheme/layouts/partials/header.html b/themes/pehtheme/layouts/partials/header.html new file mode 100644 index 0000000..18ac942 --- /dev/null +++ b/themes/pehtheme/layouts/partials/header.html @@ -0,0 +1,31 @@ +<div class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8 flex flex-col"> + <div class="flex items-center"> + <div class="flex items-center"> + <button class="flex items-center space-x-2 rounded-full border py-1 pr-[5px] pl-3 group bg-zinc-100 hover:bg-zinc-200 toggle-button" data-target="menu-bar"> + <svg width="22" height="22" fill="currentColor" viewBox="0 0 16 16"> + <path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"></path> + </svg> + <span class="bg-blue-500 fill-white rounded-full p-1.5"> + <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="group-hover:animate-spin bi bi-egg-fried fill-white" viewBox="0 0 16 16"> + <path d="M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"></path> + <path d="M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z"></path> + </svg> + </span> + </button> + <div class="relative rounded-full py-1.5 px-6 bg-zinc-100 hover:bg-zinc-200 text-xl font-bold uppercase mx-2"> + {{ if .IsHome}}<h1><a class="before:content-[''] before:z-10 before:top-0 before:right-0 before:left-0 before:bottom-0 before:absolute before:pointer-events-auto" href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a></h1> + {{ else }}<h2><a class="before:content-[''] before:z-10 before:top-0 before:right-0 before:left-0 before:bottom-0 before:absolute before:pointer-events-auto" href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a></h2>{{ end }} + </div> + </div> + <div class="flex items-center ml-auto"> + <button class="flex items-center rounded-full p-3 bg-zinc-100 hover:bg-zinc-200 toggle-button" data-target="search-bar"> + <svg width="18" height="18" fill="currentColor" viewBox="0 0 16 16"> + <path id="path1" class="transition-all ease-linear" d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"></path> + <path id="path2" class="transition-all ease-linear hidden" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"></path> + </svg> + </button> + </div> + </div> + {{- partial "menu.html" (dict "menuID" "main" "page" .) -}} + {{- partial "search.html" . -}} +</div>
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/menu.html b/themes/pehtheme/layouts/partials/menu.html new file mode 100644 index 0000000..e013cb8 --- /dev/null +++ b/themes/pehtheme/layouts/partials/menu.html @@ -0,0 +1,54 @@ +{{- /* +Renders a menu for the given menu ID. + +@context {page} page The current page. +@context {string} menuID The menu ID. + +@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $menuID := .menuID }} + +{{- with index site.Menus $menuID }} + <nav id="menu-bar" class="block mt-3 close"> + <ul class="flex items-center flex flex-nowrap whitespace-nowrap overflow-x-auto space-x-4"> + {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }} + </ul> + </nav> +{{- end }} + +{{- define "partials/inline/menu/walk.html" }} + {{- $page := .page }} + {{- range .menuEntries }} + {{- $attrs := dict "href" .URL }} + {{- /* Add the "rounded-full border px-6 py-2 bg-zinc-100 hover:bg-zinc-200" class to all links */}} + {{- $attrs = merge $attrs (dict "class" "rounded-full border px-6 py-2 bg-zinc-100 hover:bg-zinc-200") }} + + {{- if $page.IsMenuCurrent .Menu . }} + {{- /* Add the "active:bg-zinc-300" class if the link is the current page */}} + {{- $attrs = merge $attrs (dict "class" (printf "%s %s" $attrs.class "border-zinc-400")) }} + {{- /* Add the "aria-current" attribute */}} + {{- $attrs = merge $attrs (dict "aria-current" "page") }} + {{- else if $page.HasMenuCurrent .Menu .}} + {{- /* Add the "ancestor" class if the link is an ancestor of the current page */}} + {{- $attrs = merge $attrs (dict "class" "ancestor") }} + {{- /* Add the "aria-current" attribute */}} + {{- $attrs = merge $attrs (dict "aria-current" "true") }} + {{- end }} + <li class="my-2"> + <a + {{- range $k, $v := $attrs }} + {{- with $v }} + {{- printf " %s=%q" $k $v | safeHTMLAttr }} + {{- end }} + {{- end -}} + >{{ or (T .Identifier) .Name | safeHTML }}</a> + {{- with .Children }} + <ul> + {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }} + </ul> + {{- end }} + </li> + {{- end }} +{{- end }} diff --git a/themes/pehtheme/layouts/partials/script.html b/themes/pehtheme/layouts/partials/script.html new file mode 100644 index 0000000..6a9e739 --- /dev/null +++ b/themes/pehtheme/layouts/partials/script.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/insertoggle.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + <script src="{{ .RelPermalink }}"></script> + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + <script src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script> + {{- end }} + {{- end }} +{{- end }}
\ No newline at end of file diff --git a/themes/pehtheme/layouts/partials/search.html b/themes/pehtheme/layouts/partials/search.html new file mode 100644 index 0000000..41a8137 --- /dev/null +++ b/themes/pehtheme/layouts/partials/search.html @@ -0,0 +1,10 @@ +<div id="search-bar" class="block mt-3 close"> + <form id="search" class="flex items-stretch"> + <input class="w-full block px-6 py-2 rounded-l-full focus:outline-none border border-zinc-200" type="text" placeholder="Search..."> + <button class="flex items-center px-7 py-2.5 rounded-r-full border border-zinc-200 "> + <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="group-hover:animate-pulse" viewBox="0 0 16 16"> + <path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"></path> + </svg> + </button> + </form> +</div> diff --git a/themes/pehtheme/layouts/partials/terms.html b/themes/pehtheme/layouts/partials/terms.html new file mode 100644 index 0000000..5b14e53 --- /dev/null +++ b/themes/pehtheme/layouts/partials/terms.html @@ -0,0 +1,24 @@ +{{- /* +For a given taxonomy, renders a list of terms assigned to the page. + +@context {page} page The current page. +@context {string} taxonomy The taxonony. + +@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $taxonomy := .taxonomy }} + +{{- with $page.GetTerms $taxonomy }} + {{- $label := (index . 0).Parent.LinkTitle }} + + <ul id="taxonomy" class="not-prose flex items-center space-x-4 flex-nowrap whitespace-nowrap overflow-x-auto"> + + <li class="font-semibold my-4">{{ $label }}:</li> + {{- range . }} + <li ><a class="py-2 px-6 border rounded-full hover:bg-zinc-100 active:bg-zinc-300" href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li> + {{- end }} + </ul> + +{{- end }} diff --git a/themes/pehtheme/static/favicon-32.png b/themes/pehtheme/static/favicon-32.png Binary files differnew file mode 100644 index 0000000..8a00f0e --- /dev/null +++ b/themes/pehtheme/static/favicon-32.png diff --git a/themes/pehtheme/static/favicon-64.png b/themes/pehtheme/static/favicon-64.png Binary files differnew file mode 100644 index 0000000..3baa6ca --- /dev/null +++ b/themes/pehtheme/static/favicon-64.png diff --git a/themes/pehtheme/static/favicon.ico b/themes/pehtheme/static/favicon.ico Binary files differnew file mode 100644 index 0000000..7b9aeb4 --- /dev/null +++ b/themes/pehtheme/static/favicon.ico diff --git a/themes/pehtheme/static/favicon.png b/themes/pehtheme/static/favicon.png Binary files differnew file mode 100644 index 0000000..8a00f0e --- /dev/null +++ b/themes/pehtheme/static/favicon.png diff --git a/themes/pehtheme/static/favicon.svg b/themes/pehtheme/static/favicon.svg new file mode 100644 index 0000000..8c68a06 --- /dev/null +++ b/themes/pehtheme/static/favicon.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="animate-spin bi bi-egg-fried" viewBox="0 0 16 16"> + <style>.animate-spin { animation: spin 1s linear infinite; } @keyframes spin {to { transform: rotate(360deg);} } +</style> + <path d="M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/> + <path d="M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z"/> +</svg>
\ No newline at end of file diff --git a/themes/pehtheme/theme.toml b/themes/pehtheme/theme.toml new file mode 100644 index 0000000..25f40eb --- /dev/null +++ b/themes/pehtheme/theme.toml @@ -0,0 +1,20 @@ +name = 'Pehtheme Hugo' +license = 'MIT' +licenselink = 'https://github.com/fauzanmy/pehtheme-hugo/blob/main/LICENSE' +description = 'Pehtheme Hugo : A minimalist Hugo theme built with TailwindCSS, for efficient performance and minimalism' + +# The home page of the theme, where the source can be found +homepage = 'https://github.com/fauzanmy/pehtheme-hugo' + +# If you have a running demo of the theme +demosite = 'https://pehtheme-hugo.netlify.app/' + +# Taxonomy terms +tags = ['blog', 'responsive', 'light', 'tailwindcss'] +features = ['tailwindcss', 'two-column', 'sidebar', 'horizontal-menu'] + +# If the theme has multiple authors + +[author] + name = 'Fauzan My' + homepage = 'https://fzn.my.id/'
\ No newline at end of file diff --git a/themes/spectral/LICENSE.md b/themes/spectral/LICENSE.md new file mode 100644 index 0000000..5b38920 --- /dev/null +++ b/themes/spectral/LICENSE.md @@ -0,0 +1,275 @@ +Creative Commons Attribution 3.0 Unported +http://creativecommons.org/licenses/by/3.0/ + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE +BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE +CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE +IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other + pre-existing works, such as a translation, adaptation, derivative work, + arrangement of music or other alterations of a literary or artistic work, + or phonogram or performance and includes cinematographic adaptations or + any other form in which the Work may be recast, transformed, or adapted + including in any form recognizably derived from the original, except that + a work that constitutes a Collection will not be considered an Adaptation + for the purpose of this License. For the avoidance of doubt, where the + Work is a musical work, performance or phonogram, the synchronization of + the Work in timed-relation with a moving image ("synching") will be + considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or broadcasts, + or other works or subject matter other than works listed in Section 1(f) + below, which, by reason of the selection and arrangement of their + contents, constitute intellectual creations, in which the Work is + included in its entirety in unmodified form along with one or more other + contributions, each constituting separate and independent works in + themselves, which together are assembled into a collective whole. A work + that constitutes a Collection will not be considered an Adaptation (as + defined above) for the purposes of this License. + 3. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or other + transfer of ownership. + 4. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + 5. "Original Author" means, in the case of a literary or artistic work, the + individual, individuals, entity or entities who created the Work or if no + individual or entity can be identified, the publisher; and in addition + (i) in the case of a performance the actors, singers, musicians, dancers, + and other persons who act, sing, deliver, declaim, play in, interpret or + otherwise perform literary or artistic works or expressions of folklore; + (ii) in the case of a phonogram the producer being the person or legal + entity who first fixes the sounds of a performance or other sounds; and, + (iii) in the case of broadcasts, the organization that transmits the + broadcast. + 6. "Work" means the literary and/or artistic work offered under the terms of + this License including without limitation any production in the literary, + scientific and artistic domain, whatever may be the mode or form of its + expression including digital form, such as a book, pamphlet and other + writing; a lecture, address, sermon or other work of the same nature; a + dramatic or dramatico-musical work; a choreographic work or entertainment + in dumb show; a musical composition with or without words; a + cinematographic work to which are assimilated works expressed by a + process analogous to cinematography; a work of drawing, painting, + architecture, sculpture, engraving or lithography; a photographic work to + which are assimilated works expressed by a process analogous to + photography; a work of applied art; an illustration, map, plan, sketch or + three-dimensional work relative to geography, topography, architecture or + science; a performance; a broadcast; a phonogram; a compilation of data + to the extent it is protected as a copyrightable work; or a work + performed by a variety or circus performer to the extent it is not + otherwise considered a literary or artistic work. + 7. "You" means an individual or entity exercising rights under this License + who has not previously violated the terms of this License with respect to + the Work, or who has received express permission from the Licensor to + exercise rights under this License despite a previous violation. + 8. "Publicly Perform" means to perform public recitations of the Work and to + communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a place + individually chosen by them; to perform the Work to the public by any + means or process and the communication to the public of the performances + of the Work, including by public digital performance; to broadcast and + rebroadcast the Work by any means including signs, sounds or images. + 9. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, + or restrict any uses free from copyright or rights arising from limitations + or exceptions that are provided for in connection with the copyright + protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor + hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for + the duration of the applicable copyright) license to exercise the rights in + the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + 2. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made to + the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a modification + could indicate "The original work has been modified."; + 3. to Distribute and Publicly Perform the Work including as incorporated in + Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + + For the avoidance of doubt: + + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor reserves + the exclusive right to collect such royalties for any exercise by + You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to collect + royalties, whether individually or, in the event that the Licensor + is a member of a collecting society that administers voluntary + licensing schemes, via that society, from any exercise by You of + the rights granted under this License. + +The above rights may be exercised in all media and formats whether now known or +hereafter devised. The above rights include the right to make such +modifications as are technically necessary to exercise the rights in other +media and formats. Subject to Section 8(f), all rights not expressly granted by +Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made + subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of + this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms on + the Work that restrict the terms of this License or the ability of the + recipient of the Work to exercise the rights granted to that recipient + under the terms of the License. You may not sublicense the Work. You must + keep intact all notices that refer to this License and to the disclaimer + of warranties with every copy of the Work You Distribute or Publicly + Perform. When You Distribute or Publicly Perform the Work, You may not + impose any effective technological measures on the Work that restrict the + ability of a recipient of the Work from You to exercise the rights + granted to that recipient under the terms of the License. This Section + 4(a) applies to the Work as incorporated in a Collection, but this does + not require the Collection apart from the Work itself to be made subject + to the terms of this License. If You create a Collection, upon notice + from any Licensor You must, to the extent practicable, remove from the + Collection any credit as required by Section 4(b), as requested. If You + create an Adaptation, upon notice from any Licensor You must, to the + extent practicable, remove from the Adaptation any credit as required by + Section 4(b), as requested. + 2. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to Section + 4(a), keep intact all copyright notices for the Work and provide, + reasonable to the medium or means You are utilizing: (i) the name of the + Original Author (or pseudonym, if applicable) if supplied, and/or if the + Original Author and/or Licensor designate another party or parties (e.g., + a sponsor institute, publishing entity, journal) for attribution + ("Attribution Parties") in Licensor's copyright notice, terms of service + or by other reasonable means, the name of such party or parties; (ii) the + title of the Work if supplied; (iii) to the extent reasonably + practicable, the URI, if any, that Licensor specifies to be associated + with the Work, unless such URI does not refer to the copyright notice or + licensing information for the Work; and (iv) , consistent with Section + 3(b), in the case of an Adaptation, a credit identifying the use of the + Work in the Adaptation (e.g., "French translation of the Work by Original + Author," or "Screenplay based on original Work by Original Author"). The + credit required by this Section 4 (b) may be implemented in any + reasonable manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of doubt, + You may only use the credit required by this Section for the purpose of + attribution in the manner set out above and, by exercising Your rights + under this License, You may not implicitly or explicitly assert or imply + any connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your use + of the Work, without the separate, express prior written permission of + the Original Author, Licensor and/or Attribution Parties. + 3. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any Adaptations + or Collections, You must not distort, mutilate, modify or take other + derogatory action in relation to the Work which would be prejudicial to + the Original Author's honor or reputation. Licensor agrees that in those + jurisdictions (e.g. Japan), in which any exercise of the right granted in + Section 3(b) of this License (the right to make Adaptations) would be + deemed to be a distortion, mutilation, modification or other derogatory + action prejudicial to the Original Author's honor and reputation, the + Licensor will waive or not assert, as appropriate, this Section, to the + fullest extent permitted by the applicable national law, to enable You to + reasonably exercise Your right under Section 3(b) of this License (right + to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS +THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND +CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, +WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A +PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, +ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. +SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH +EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN + NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS + LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections from + You under this License, however, will not have their licenses terminated + provided such individuals or entities remain in full compliance with + those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any + termination of this License. + 2. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is required + to be, granted under the terms of this License), and this License will + continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same terms + and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of the + remainder of the terms of this License, and without further action by the + parties to this agreement, such provision shall be reformed to the + minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no breach + consented to unless such waiver or consent shall be in writing and signed + by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that may + appear in any communication from You. This License may not be modified + without the mutual written agreement of the Licensor and You. + 6. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and + the Universal Copyright Convention (as revised on July 24, 1971). These + rights and subject matter take effect in the relevant jurisdiction in + which the License terms are sought to be enforced according to the + corresponding provisions of the implementation of those treaty provisions + in the applicable national law. If the standard suite of rights granted + under applicable copyright law includes additional rights not granted + under this License, such additional rights are deemed to be included in + the License; this License is not intended to restrict the license of any + rights under applicable law. diff --git a/themes/spectral/README.md b/themes/spectral/README.md new file mode 100644 index 0000000..4156582 --- /dev/null +++ b/themes/spectral/README.md @@ -0,0 +1,31 @@ +# Spectral + +Based on html5up’s [Spectral](https://html5up.net/spectral) theme. + +Specially made for my customer +[kegelschiene.net](https://kegelschiene.net/en/), so some functions are +missing. If you need one, that is not implemented yet, please open an issue! + +## Installation + +If this is your first hugo page, please read the [Basic Usage of +Hugo](https://gohugo.io/getting-started/usage/) article. + +Clone this repo or download the zip, place it inside of the `themes` directory +of your hugo site and use the `config.toml` file located in exampleSite as a +starting point. + +## Examples + +If you want to have a look at a real life installation, feel free to explore +the [repo of +kegelschiene.net](https://git.sbruder.de/kegelschiene/site). It also includes +the configuration for a multilingual site. + +For a minimial setup, check out the [exampleSite](exampleSite) directory. Its latest live build can be seen at <https://sbruder.github.io/spectral/>. + +## License + +This theme is licensed under the terms of the Creative Commons Attribution 3.0 +Unported (like html5up’s original theme). See the LICENSE.md file for more +information on this. diff --git a/themes/spectral/archetypes/default.md b/themes/spectral/archetypes/default.md new file mode 100644 index 0000000..f5a9e45 --- /dev/null +++ b/themes/spectral/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .TranslationBaseName "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/themes/spectral/assets/css/main.css b/themes/spectral/assets/css/main.css new file mode 100644 index 0000000..9030608 --- /dev/null +++ b/themes/spectral/assets/css/main.css @@ -0,0 +1,4059 @@ +@import url(fontawesome-all.min.css); + +/* https://google-webfonts-helper.herokuapp.com/fonts/open-sans */ +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('../fonts/open-sans-v16-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/open-sans-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* open-sans-italic - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('../fonts/open-sans-v16-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/open-sans-v16-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* open-sans-600 - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('../fonts/open-sans-v16-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/open-sans-v16-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* open-sans-600italic - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('../fonts/open-sans-v16-latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/open-sans-v16-latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* open-sans-800 - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('../fonts/open-sans-v16-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/open-sans-v16-latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* open-sans-800italic - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('../fonts/open-sans-v16-latin-800italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('../fonts/open-sans-v16-latin-800italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +/* + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +html, body, div, span, applet, object, +iframe, h1, h2, h3, h4, h5, h6, p, blockquote, +pre, a, abbr, acronym, address, big, cite, +code, del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, b, +u, i, center, dl, dt, dd, ol, ul, li, fieldset, +form, label, legend, table, caption, tbody, +tfoot, thead, tr, th, td, article, aside, +canvas, details, embed, figure, figcaption, +footer, header, hgroup, menu, nav, output, ruby, +section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline;} + +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block;} + +body { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + + blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } + +table { + border-collapse: collapse; + border-spacing: 0; +} + +body { + -webkit-text-size-adjust: none; +} + +mark { + background-color: transparent; + color: inherit; +} + +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input, select, textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; +} + +/* Basic */ + + @-ms-viewport { + width: device-width; + } + + html { + box-sizing: border-box; + } + + *, *:before, *:after { + box-sizing: inherit; + } + + body { + background: #2e3842; + } + + body.is-preload *, body.is-preload *:before, body.is-preload *:after { + -moz-animation: none !important; + -webkit-animation: none !important; + -ms-animation: none !important; + animation: none !important; + -moz-transition: none !important; + -webkit-transition: none !important; + -ms-transition: none !important; + transition: none !important; + } + + body, input, select, textarea { + color: #fff; + font-family: "Open Sans", Helvetica, sans-serif; + font-size: 15pt; + font-weight: 400; + letter-spacing: 0.075em; + line-height: 1.65em; + } + + @media screen and (max-width: 1680px) { + + body, input, select, textarea { + font-size: 13pt; + } + + } + + @media screen and (max-width: 1280px) { + + body, input, select, textarea { + font-size: 12pt; + } + + } + + @media screen and (max-width: 736px) { + + body, input, select, textarea { + font-size: 11pt; + letter-spacing: 0.0375em; + } + + } + + a { + -moz-transition: color 0.2s ease, border-bottom-color 0.2s ease; + -webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease; + -ms-transition: color 0.2s ease, border-bottom-color 0.2s ease; + transition: color 0.2s ease, border-bottom-color 0.2s ease; + border-bottom: dotted 1px; + color: inherit; + text-decoration: none; + } + + a:hover { + border-bottom-color: transparent; + } + + strong, b { + color: #fff; + font-weight: 600; + } + + em, i { + font-style: italic; + } + + p { + margin: 0 0 2em 0; + } + + h1, h2, h3, h4, h5, h6 { + color: #fff; + font-weight: 800; + letter-spacing: 0.225em; + line-height: 1em; + margin: 0 0 1em 0; + text-transform: uppercase; + } + + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: inherit; + text-decoration: none; + } + + h2 { + font-size: 1.35em; + line-height: 1.75em; + } + + @media screen and (max-width: 736px) { + + h2 { + font-size: 1.1em; + line-height: 1.65em; + } + + } + + h3 { + font-size: 1.15em; + line-height: 1.75em; + } + + @media screen and (max-width: 736px) { + + h3 { + font-size: 1em; + line-height: 1.65em; + } + + } + + h4 { + font-size: 1em; + line-height: 1.5em; + } + + h5 { + font-size: 0.8em; + line-height: 1.5em; + } + + h6 { + font-size: 0.7em; + line-height: 1.5em; + } + + sub { + font-size: 0.8em; + position: relative; + top: 0.5em; + } + + sup { + font-size: 0.8em; + position: relative; + top: -0.5em; + } + + hr { + border: 0; + border-bottom: solid 2px #fff; + margin: 3em 0; + } + + hr.major { + margin: 4.5em 0; + } + + blockquote { + border-left: solid 4px #fff; + font-style: italic; + margin: 0 0 2em 0; + padding: 0.5em 0 0.5em 2em; + } + + code { + background: rgba(144, 144, 144, 0.25); + border-radius: 3px; + font-family: "Courier New", monospace; + font-size: 0.9em; + letter-spacing: 0; + margin: 0 0.25em; + padding: 0.25em 0.65em; + } + + pre { + -webkit-overflow-scrolling: touch; + font-family: "Courier New", monospace; + font-size: 0.9em; + margin: 0 0 2em 0; + } + + pre code { + display: block; + line-height: 1.75em; + padding: 1em 1.5em; + overflow-x: auto; + } + + .align-left { + text-align: left; + } + + .align-center { + text-align: center; + } + + .align-right { + text-align: right; + } + +/* Row */ + + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp { + order: -1; + } + + .row > .col-1 { + width: 8.3333333333%; + } + + .row > .off-1 { + margin-left: 8.3333333333%; + } + + .row > .col-2 { + width: 16.6666666667%; + } + + .row > .off-2 { + margin-left: 16.6666666667%; + } + + .row > .col-3 { + width: 25%; + } + + .row > .off-3 { + margin-left: 25%; + } + + .row > .col-4 { + width: 33.3333333333%; + } + + .row > .off-4 { + margin-left: 33.3333333333%; + } + + .row > .col-5 { + width: 41.6666666667%; + } + + .row > .off-5 { + margin-left: 41.6666666667%; + } + + .row > .col-6 { + width: 50%; + } + + .row > .off-6 { + margin-left: 50%; + } + + .row > .col-7 { + width: 58.3333333333%; + } + + .row > .off-7 { + margin-left: 58.3333333333%; + } + + .row > .col-8 { + width: 66.6666666667%; + } + + .row > .off-8 { + margin-left: 66.6666666667%; + } + + .row > .col-9 { + width: 75%; + } + + .row > .off-9 { + margin-left: 75%; + } + + .row > .col-10 { + width: 83.3333333333%; + } + + .row > .off-10 { + margin-left: 83.3333333333%; + } + + .row > .col-11 { + width: 91.6666666667%; + } + + .row > .off-11 { + margin-left: 91.6666666667%; + } + + .row > .col-12 { + width: 100%; + } + + .row > .off-12 { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0em; + } + + .row.gtr-0 > * { + padding: 0 0 0 0em; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0em; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0em; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.375em; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.375em; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.375em; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.375em; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -0.75em; + } + + .row.gtr-50 > * { + padding: 0 0 0 0.75em; + } + + .row.gtr-50.gtr-uniform { + margin-top: -0.75em; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 0.75em; + } + + .row { + margin-top: 0; + margin-left: -1.5em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row.gtr-uniform { + margin-top: -1.5em; + } + + .row.gtr-uniform > * { + padding-top: 1.5em; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -2.25em; + } + + .row.gtr-150 > * { + padding: 0 0 0 2.25em; + } + + .row.gtr-150.gtr-uniform { + margin-top: -2.25em; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 2.25em; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -3em; + } + + .row.gtr-200 > * { + padding: 0 0 0 3em; + } + + .row.gtr-200.gtr-uniform { + margin-top: -3em; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 3em; + } + + @media screen and (max-width: 1680px) { + + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-xlarge { + order: -1; + } + + .row > .col-1-xlarge { + width: 8.3333333333%; + } + + .row > .off-1-xlarge { + margin-left: 8.3333333333%; + } + + .row > .col-2-xlarge { + width: 16.6666666667%; + } + + .row > .off-2-xlarge { + margin-left: 16.6666666667%; + } + + .row > .col-3-xlarge { + width: 25%; + } + + .row > .off-3-xlarge { + margin-left: 25%; + } + + .row > .col-4-xlarge { + width: 33.3333333333%; + } + + .row > .off-4-xlarge { + margin-left: 33.3333333333%; + } + + .row > .col-5-xlarge { + width: 41.6666666667%; + } + + .row > .off-5-xlarge { + margin-left: 41.6666666667%; + } + + .row > .col-6-xlarge { + width: 50%; + } + + .row > .off-6-xlarge { + margin-left: 50%; + } + + .row > .col-7-xlarge { + width: 58.3333333333%; + } + + .row > .off-7-xlarge { + margin-left: 58.3333333333%; + } + + .row > .col-8-xlarge { + width: 66.6666666667%; + } + + .row > .off-8-xlarge { + margin-left: 66.6666666667%; + } + + .row > .col-9-xlarge { + width: 75%; + } + + .row > .off-9-xlarge { + margin-left: 75%; + } + + .row > .col-10-xlarge { + width: 83.3333333333%; + } + + .row > .off-10-xlarge { + margin-left: 83.3333333333%; + } + + .row > .col-11-xlarge { + width: 91.6666666667%; + } + + .row > .off-11-xlarge { + margin-left: 91.6666666667%; + } + + .row > .col-12-xlarge { + width: 100%; + } + + .row > .off-12-xlarge { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0em; + } + + .row.gtr-0 > * { + padding: 0 0 0 0em; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0em; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0em; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.375em; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.375em; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.375em; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.375em; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -0.75em; + } + + .row.gtr-50 > * { + padding: 0 0 0 0.75em; + } + + .row.gtr-50.gtr-uniform { + margin-top: -0.75em; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 0.75em; + } + + .row { + margin-top: 0; + margin-left: -1.5em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row.gtr-uniform { + margin-top: -1.5em; + } + + .row.gtr-uniform > * { + padding-top: 1.5em; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -2.25em; + } + + .row.gtr-150 > * { + padding: 0 0 0 2.25em; + } + + .row.gtr-150.gtr-uniform { + margin-top: -2.25em; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 2.25em; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -3em; + } + + .row.gtr-200 > * { + padding: 0 0 0 3em; + } + + .row.gtr-200.gtr-uniform { + margin-top: -3em; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 3em; + } + + } + + @media screen and (max-width: 1280px) { + + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-large { + order: -1; + } + + .row > .col-1-large { + width: 8.3333333333%; + } + + .row > .off-1-large { + margin-left: 8.3333333333%; + } + + .row > .col-2-large { + width: 16.6666666667%; + } + + .row > .off-2-large { + margin-left: 16.6666666667%; + } + + .row > .col-3-large { + width: 25%; + } + + .row > .off-3-large { + margin-left: 25%; + } + + .row > .col-4-large { + width: 33.3333333333%; + } + + .row > .off-4-large { + margin-left: 33.3333333333%; + } + + .row > .col-5-large { + width: 41.6666666667%; + } + + .row > .off-5-large { + margin-left: 41.6666666667%; + } + + .row > .col-6-large { + width: 50%; + } + + .row > .off-6-large { + margin-left: 50%; + } + + .row > .col-7-large { + width: 58.3333333333%; + } + + .row > .off-7-large { + margin-left: 58.3333333333%; + } + + .row > .col-8-large { + width: 66.6666666667%; + } + + .row > .off-8-large { + margin-left: 66.6666666667%; + } + + .row > .col-9-large { + width: 75%; + } + + .row > .off-9-large { + margin-left: 75%; + } + + .row > .col-10-large { + width: 83.3333333333%; + } + + .row > .off-10-large { + margin-left: 83.3333333333%; + } + + .row > .col-11-large { + width: 91.6666666667%; + } + + .row > .off-11-large { + margin-left: 91.6666666667%; + } + + .row > .col-12-large { + width: 100%; + } + + .row > .off-12-large { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0em; + } + + .row.gtr-0 > * { + padding: 0 0 0 0em; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0em; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0em; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.375em; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.375em; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.375em; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.375em; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -0.75em; + } + + .row.gtr-50 > * { + padding: 0 0 0 0.75em; + } + + .row.gtr-50.gtr-uniform { + margin-top: -0.75em; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 0.75em; + } + + .row { + margin-top: 0; + margin-left: -1.5em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row.gtr-uniform { + margin-top: -1.5em; + } + + .row.gtr-uniform > * { + padding-top: 1.5em; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -2.25em; + } + + .row.gtr-150 > * { + padding: 0 0 0 2.25em; + } + + .row.gtr-150.gtr-uniform { + margin-top: -2.25em; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 2.25em; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -3em; + } + + .row.gtr-200 > * { + padding: 0 0 0 3em; + } + + .row.gtr-200.gtr-uniform { + margin-top: -3em; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 3em; + } + + } + + @media screen and (max-width: 980px) { + + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-medium { + order: -1; + } + + .row > .col-1-medium { + width: 8.3333333333%; + } + + .row > .off-1-medium { + margin-left: 8.3333333333%; + } + + .row > .col-2-medium { + width: 16.6666666667%; + } + + .row > .off-2-medium { + margin-left: 16.6666666667%; + } + + .row > .col-3-medium { + width: 25%; + } + + .row > .off-3-medium { + margin-left: 25%; + } + + .row > .col-4-medium { + width: 33.3333333333%; + } + + .row > .off-4-medium { + margin-left: 33.3333333333%; + } + + .row > .col-5-medium { + width: 41.6666666667%; + } + + .row > .off-5-medium { + margin-left: 41.6666666667%; + } + + .row > .col-6-medium { + width: 50%; + } + + .row > .off-6-medium { + margin-left: 50%; + } + + .row > .col-7-medium { + width: 58.3333333333%; + } + + .row > .off-7-medium { + margin-left: 58.3333333333%; + } + + .row > .col-8-medium { + width: 66.6666666667%; + } + + .row > .off-8-medium { + margin-left: 66.6666666667%; + } + + .row > .col-9-medium { + width: 75%; + } + + .row > .off-9-medium { + margin-left: 75%; + } + + .row > .col-10-medium { + width: 83.3333333333%; + } + + .row > .off-10-medium { + margin-left: 83.3333333333%; + } + + .row > .col-11-medium { + width: 91.6666666667%; + } + + .row > .off-11-medium { + margin-left: 91.6666666667%; + } + + .row > .col-12-medium { + width: 100%; + } + + .row > .off-12-medium { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0em; + } + + .row.gtr-0 > * { + padding: 0 0 0 0em; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0em; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0em; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.375em; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.375em; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.375em; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.375em; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -0.75em; + } + + .row.gtr-50 > * { + padding: 0 0 0 0.75em; + } + + .row.gtr-50.gtr-uniform { + margin-top: -0.75em; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 0.75em; + } + + .row { + margin-top: 0; + margin-left: -1.5em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row.gtr-uniform { + margin-top: -1.5em; + } + + .row.gtr-uniform > * { + padding-top: 1.5em; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -2.25em; + } + + .row.gtr-150 > * { + padding: 0 0 0 2.25em; + } + + .row.gtr-150.gtr-uniform { + margin-top: -2.25em; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 2.25em; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -3em; + } + + .row.gtr-200 > * { + padding: 0 0 0 3em; + } + + .row.gtr-200.gtr-uniform { + margin-top: -3em; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 3em; + } + + } + + @media screen and (max-width: 736px) { + + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-small { + order: -1; + } + + .row > .col-1-small { + width: 8.3333333333%; + } + + .row > .off-1-small { + margin-left: 8.3333333333%; + } + + .row > .col-2-small { + width: 16.6666666667%; + } + + .row > .off-2-small { + margin-left: 16.6666666667%; + } + + .row > .col-3-small { + width: 25%; + } + + .row > .off-3-small { + margin-left: 25%; + } + + .row > .col-4-small { + width: 33.3333333333%; + } + + .row > .off-4-small { + margin-left: 33.3333333333%; + } + + .row > .col-5-small { + width: 41.6666666667%; + } + + .row > .off-5-small { + margin-left: 41.6666666667%; + } + + .row > .col-6-small { + width: 50%; + } + + .row > .off-6-small { + margin-left: 50%; + } + + .row > .col-7-small { + width: 58.3333333333%; + } + + .row > .off-7-small { + margin-left: 58.3333333333%; + } + + .row > .col-8-small { + width: 66.6666666667%; + } + + .row > .off-8-small { + margin-left: 66.6666666667%; + } + + .row > .col-9-small { + width: 75%; + } + + .row > .off-9-small { + margin-left: 75%; + } + + .row > .col-10-small { + width: 83.3333333333%; + } + + .row > .off-10-small { + margin-left: 83.3333333333%; + } + + .row > .col-11-small { + width: 91.6666666667%; + } + + .row > .off-11-small { + margin-left: 91.6666666667%; + } + + .row > .col-12-small { + width: 100%; + } + + .row > .off-12-small { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0em; + } + + .row.gtr-0 > * { + padding: 0 0 0 0em; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0em; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0em; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.375em; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.375em; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.375em; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.375em; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -0.75em; + } + + .row.gtr-50 > * { + padding: 0 0 0 0.75em; + } + + .row.gtr-50.gtr-uniform { + margin-top: -0.75em; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 0.75em; + } + + .row { + margin-top: 0; + margin-left: -1.5em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row.gtr-uniform { + margin-top: -1.5em; + } + + .row.gtr-uniform > * { + padding-top: 1.5em; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -2.25em; + } + + .row.gtr-150 > * { + padding: 0 0 0 2.25em; + } + + .row.gtr-150.gtr-uniform { + margin-top: -2.25em; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 2.25em; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -3em; + } + + .row.gtr-200 > * { + padding: 0 0 0 3em; + } + + .row.gtr-200.gtr-uniform { + margin-top: -3em; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 3em; + } + + } + + @media screen and (max-width: 480px) { + + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-xsmall { + order: -1; + } + + .row > .col-1-xsmall { + width: 8.3333333333%; + } + + .row > .off-1-xsmall { + margin-left: 8.3333333333%; + } + + .row > .col-2-xsmall { + width: 16.6666666667%; + } + + .row > .off-2-xsmall { + margin-left: 16.6666666667%; + } + + .row > .col-3-xsmall { + width: 25%; + } + + .row > .off-3-xsmall { + margin-left: 25%; + } + + .row > .col-4-xsmall { + width: 33.3333333333%; + } + + .row > .off-4-xsmall { + margin-left: 33.3333333333%; + } + + .row > .col-5-xsmall { + width: 41.6666666667%; + } + + .row > .off-5-xsmall { + margin-left: 41.6666666667%; + } + + .row > .col-6-xsmall { + width: 50%; + } + + .row > .off-6-xsmall { + margin-left: 50%; + } + + .row > .col-7-xsmall { + width: 58.3333333333%; + } + + .row > .off-7-xsmall { + margin-left: 58.3333333333%; + } + + .row > .col-8-xsmall { + width: 66.6666666667%; + } + + .row > .off-8-xsmall { + margin-left: 66.6666666667%; + } + + .row > .col-9-xsmall { + width: 75%; + } + + .row > .off-9-xsmall { + margin-left: 75%; + } + + .row > .col-10-xsmall { + width: 83.3333333333%; + } + + .row > .off-10-xsmall { + margin-left: 83.3333333333%; + } + + .row > .col-11-xsmall { + width: 91.6666666667%; + } + + .row > .off-11-xsmall { + margin-left: 91.6666666667%; + } + + .row > .col-12-xsmall { + width: 100%; + } + + .row > .off-12-xsmall { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0em; + } + + .row.gtr-0 > * { + padding: 0 0 0 0em; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0em; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0em; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.375em; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.375em; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.375em; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.375em; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -0.75em; + } + + .row.gtr-50 > * { + padding: 0 0 0 0.75em; + } + + .row.gtr-50.gtr-uniform { + margin-top: -0.75em; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 0.75em; + } + + .row { + margin-top: 0; + margin-left: -1.5em; + } + + .row > * { + padding: 0 0 0 1.5em; + } + + .row.gtr-uniform { + margin-top: -1.5em; + } + + .row.gtr-uniform > * { + padding-top: 1.5em; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -2.25em; + } + + .row.gtr-150 > * { + padding: 0 0 0 2.25em; + } + + .row.gtr-150.gtr-uniform { + margin-top: -2.25em; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 2.25em; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -3em; + } + + .row.gtr-200 > * { + padding: 0 0 0 3em; + } + + .row.gtr-200.gtr-uniform { + margin-top: -3em; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 3em; + } + + } + +/* Section/Article */ + + section.special, article.special { + text-align: center; + } + + header p { + color: rgba(255, 255, 255, 0.5); + position: relative; + top: -0.25em; + } + + header h3 + p { + font-size: 1.1em; + } + + header h4 + p, + header h5 + p, + header h6 + p { + font-size: 0.9em; + } + + header.major { + margin: 0 0 3.5em 0; + } + + header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 { + border-bottom: solid 2px #fff; + display: inline-block; + padding-bottom: 1em; + position: relative; + } + + header.major h2:after, header.major h3:after, header.major h4:after, header.major h5:after, header.major h6:after { + content: ''; + display: block; + height: 1px; + } + + header.major p { + color: #fff; + top: 0; + } + + @media screen and (max-width: 736px) { + + header.major { + margin: 0 0 2em 0; + } + + } + + @media screen and (max-width: 980px) { + + header br { + display: none; + } + + } + +/* Form */ + + form { + margin: 0 0 2em 0; + } + + label { + color: #fff; + display: block; + font-size: 0.9em; + font-weight: 600; + margin: 0 0 1em 0; + } + + input[type="text"], + input[type="password"], + input[type="email"], + select, + textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + background-color: rgba(144, 144, 144, 0.25); + border-radius: 3px; + border: none; + color: inherit; + display: block; + outline: 0; + padding: 0 1em; + text-decoration: none; + width: 100%; + } + + input[type="text"]:invalid, + input[type="password"]:invalid, + input[type="email"]:invalid, + select:invalid, + textarea:invalid { + box-shadow: none; + } + + input[type="text"]:focus, + input[type="password"]:focus, + input[type="email"]:focus, + select:focus, + textarea:focus { + box-shadow: 0 0 0 2px #21b2a6; + } + + select { + background-size: 1.25em; + background-repeat: no-repeat; + background-position: calc(100% - 1em) center; + height: 2.75em; + padding-right: 2.75em; + text-overflow: ellipsis; + } + + select:focus::-ms-value { + background-color: transparent; + } + + select::-ms-expand { + display: none; + } + + input[type="text"], + input[type="password"], + input[type="email"], + select { + height: 2.75em; + } + + textarea { + padding: 0.75em 1em; + } + + input[type="checkbox"], + input[type="radio"] { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + display: block; + float: left; + margin-right: -2em; + opacity: 0; + width: 1em; + z-index: -1; + } + + input[type="checkbox"] + label, + input[type="radio"] + label { + text-decoration: none; + color: #fff; + cursor: pointer; + display: inline-block; + font-size: 1em; + font-weight: 400; + padding-left: 2.4em; + padding-right: 0.75em; + position: relative; + } + + input[type="checkbox"] + label:before, + input[type="radio"] + label:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: 'Font Awesome 6 Free'; + font-weight: 900; + } + + input[type="checkbox"] + label:before, + input[type="radio"] + label:before { + background: rgba(144, 144, 144, 0.25); + border-radius: 3px; + content: ''; + display: inline-block; + font-size: 0.8em; + height: 2.0625em; + left: 0; + line-height: 2.0625em; + position: absolute; + text-align: center; + top: 0; + width: 2.0625em; + } + + input[type="checkbox"]:checked + label:before, + input[type="radio"]:checked + label:before { + background: #2e3842; + color: #fff; + content: '\f00c'; + } + + input[type="checkbox"]:focus + label:before, + input[type="radio"]:focus + label:before { + box-shadow: 0 0 0 2px #21b2a6; + } + + input[type="checkbox"] + label:before { + border-radius: 3px; + } + + input[type="radio"] + label:before { + border-radius: 100%; + } + + ::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + :-moz-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + ::-moz-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + :-ms-input-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + +/* Box */ + + .box { + border-radius: 3px; + border: solid 2px #fff; + margin-bottom: 2em; + padding: 1.5em; + } + + .box > :last-child, + .box > :last-child > :last-child, + .box > :last-child > :last-child > :last-child { + margin-bottom: 0; + } + + .box.alt { + border: 0; + border-radius: 0; + padding: 0; + } + +/* Icon */ + + .icon { + text-decoration: none; + border-bottom: none; + position: relative; + } + + .icon:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: 'Font Awesome 6 Free'; + font-weight: 400; + } + + .icon > .label { + display: none; + } + + .icon:before { + line-height: inherit; + } + + .icon.solid:before { + font-weight: 900; + } + + .icon.brands:before { + font-family: 'Font Awesome 6 Brands'; + } + + .icon.major { + -moz-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); + border-radius: 3px; + border: solid 2px #fff; + display: inline-block; + font-size: 1.35em; + height: calc(3em + 2px); + line-height: 3em; + text-align: center; + width: calc(3em + 2px); + } + + .icon.major:before { + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + display: inline-block; + font-size: 1.5em; + } + + @media screen and (max-width: 736px) { + + .icon.major { + font-size: 1em; + } + + } + + .icon.style1 { + color: #00ffcc; + } + + .icon.style2 { + color: #00f0ff; + } + + .icon.style3 { + color: #76ddff; + } + +/* Image */ + + .image { + border-radius: 3px; + border: 0; + display: inline-block; + position: relative; + } + + .image img { + border-radius: 3px; + display: block; + } + + .image.left { + float: left; + margin: 0 2em 2em 0; + top: 0.25em; + } + + .image.right { + float: right; + margin: 0 0 2em 2em; + top: 0.25em; + } + + .image.left, .image.right { + max-width: 40%; + } + + .image.left img, .image.right img { + width: 100%; + } + + .image.fit { + display: block; + margin: 0 0 2em 0; + width: 100%; + } + + .image.fit img { + width: 100%; + } + +/* List */ + + ol { + list-style: decimal; + margin: 0 0 2em 0; + padding-left: 1.25em; + } + + ol li { + padding-left: 0.25em; + } + + ul { + list-style: disc; + margin: 0 0 2em 0; + padding-left: 1em; + } + + ul li { + padding-left: 0.5em; + } + + ul.alt { + list-style: none; + padding-left: 0; + } + + ul.alt li { + border-top: solid 1px #fff; + padding: 0.5em 0; + } + + ul.alt li:first-child { + border-top: 0; + padding-top: 0; + } + + dl { + margin: 0 0 2em 0; + } + +/* Actions */ + + ul.actions { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + cursor: default; + list-style: none; + margin-left: -1em; + padding-left: 0; + } + + ul.actions li { + padding: 0 0 0 1em; + vertical-align: middle; + } + + ul.actions.special { + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + width: 100%; + margin-left: 0; + } + + ul.actions.special li:first-child { + padding-left: 0; + } + + ul.actions.stacked { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-left: 0; + } + + ul.actions.stacked li { + padding: 1em 0 0 0; + } + + ul.actions.stacked li:first-child { + padding-top: 0; + } + + ul.actions.fit { + width: calc(100% + 1em); + } + + ul.actions.fit li { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + width: 100%; + } + + ul.actions.fit li > * { + width: 100%; + } + + ul.actions.fit.stacked { + width: 100%; + } + + @media screen and (max-width: 480px) { + + ul.actions:not(.fixed) { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-left: 0; + width: 100% !important; + } + + ul.actions:not(.fixed) li { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + padding: 1em 0 0 0; + text-align: center; + width: 100%; + } + + ul.actions:not(.fixed) li > * { + width: 100%; + } + + ul.actions:not(.fixed) li:first-child { + padding-top: 0; + } + + ul.actions:not(.fixed) li input[type="submit"], + ul.actions:not(.fixed) li input[type="reset"], + ul.actions:not(.fixed) li input[type="button"], + ul.actions:not(.fixed) li button, + ul.actions:not(.fixed) li .button { + width: 100%; + } + + ul.actions:not(.fixed) li input[type="submit"].icon:before, + ul.actions:not(.fixed) li input[type="reset"].icon:before, + ul.actions:not(.fixed) li input[type="button"].icon:before, + ul.actions:not(.fixed) li button.icon:before, + ul.actions:not(.fixed) li .button.icon:before { + margin-left: -0.5em; + } + + } + +/* Icons */ + + ul.icons { + cursor: default; + list-style: none; + padding-left: 0; + } + + ul.icons li { + display: inline-block; + padding: 0 1em 0 0; + } + + ul.icons li:last-child { + padding-right: 0 !important; + } + + ul.icons.major { + padding: 1em 0; + } + + ul.icons.major li { + padding-right: 3.5em; + } + + @media screen and (max-width: 736px) { + + ul.icons.major li { + padding: 0 1em !important; + } + + } + +/* Table */ + + .table-wrapper { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + } + + table { + margin: 0 0 2em 0; + width: 100%; + } + + table tbody tr { + border: solid 1px #fff; + border-left: 0; + border-right: 0; + } + + table tbody tr:nth-child(2n + 1) { + background-color: rgba(144, 144, 144, 0.25); + } + + table td { + padding: 0.75em 0.75em; + } + + table th { + color: #fff; + font-size: 0.9em; + font-weight: 600; + padding: 0 0.75em 0.75em 0.75em; + text-align: left; + } + + table thead { + border-bottom: solid 2px #fff; + } + + table tfoot { + border-top: solid 2px #fff; + } + + table.alt { + border-collapse: separate; + } + + table.alt tbody tr td { + border: solid 1px #fff; + border-left-width: 0; + border-top-width: 0; + } + + table.alt tbody tr td:first-child { + border-left-width: 1px; + } + + table.alt tbody tr:first-child td { + border-top-width: 1px; + } + + table.alt thead { + border-bottom: 0; + } + + table.alt tfoot { + border-top: 0; + } + +/* Button */ + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + background-color: transparent; + border-radius: 3px; + border: 0; + box-shadow: inset 0 0 0 2px #fff; + color: #fff; + cursor: pointer; + display: inline-block; + font-size: 0.8em; + font-weight: 600; + height: 3.125em; + letter-spacing: 0.225em; + line-height: 3.125em; + max-width: 30em; + padding: 0 2.75em; + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + input[type="submit"]:hover, + input[type="reset"]:hover, + input[type="button"]:hover, + button:hover, + .button:hover { + background-color: rgba(144, 144, 144, 0.25); + } + + input[type="submit"]:active, + input[type="reset"]:active, + input[type="button"]:active, + button:active, + .button:active { + background-color: rgba(144, 144, 144, 0.5); + } + + input[type="submit"].icon:before, + input[type="reset"].icon:before, + input[type="button"].icon:before, + button.icon:before, + .button.icon:before { + margin-right: 0.5em; + } + + input[type="submit"].fit, + input[type="reset"].fit, + input[type="button"].fit, + button.fit, + .button.fit { + width: 100%; + } + + input[type="submit"].small, + input[type="reset"].small, + input[type="button"].small, + button.small, + .button.small { + font-size: 0.8em; + } + + input[type="submit"].large, + input[type="reset"].large, + input[type="button"].large, + button.large, + .button.large { + font-size: 1.35em; + } + + input[type="submit"].primary, + input[type="reset"].primary, + input[type="button"].primary, + button.primary, + .button.primary { + background-color: #ed4933; + box-shadow: none !important; + color: #ffffff !important; + } + + input[type="submit"].primary:hover, + input[type="reset"].primary:hover, + input[type="button"].primary:hover, + button.primary:hover, + .button.primary:hover { + background-color: #ef5e4a !important; + } + + input[type="submit"].primary:active, + input[type="reset"].primary:active, + input[type="button"].primary:active, + button.primary:active, + .button.primary:active { + background-color: #eb341c !important; + } + + input[type="submit"].disabled, input[type="submit"]:disabled, + input[type="reset"].disabled, + input[type="reset"]:disabled, + input[type="button"].disabled, + input[type="button"]:disabled, + button.disabled, + button:disabled, + .button.disabled, + .button:disabled { + pointer-events: none; + opacity: 0.25; + } + + @media screen and (max-width: 736px) { + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + height: 3.75em; + line-height: 3.75em; + } + + } + +/* Features */ + + .features { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + list-style: none; + padding: 0; + width: 100%; + } + + .features li { + padding: 4em 4em 2em 6em ; + display: block; + position: relative; + text-align: left; + width: 50%; + } + + .features li:nth-child(1) { + background-color: rgba(0, 0, 0, 0.035); + } + + .features li:nth-child(2) { + background-color: rgba(0, 0, 0, 0.07); + } + + .features li:nth-child(3) { + background-color: rgba(0, 0, 0, 0.105); + } + + .features li:nth-child(4) { + background-color: rgba(0, 0, 0, 0.14); + } + + .features li:nth-child(5) { + background-color: rgba(0, 0, 0, 0.175); + } + + .features li:nth-child(6) { + background-color: rgba(0, 0, 0, 0.21); + } + + .features li:nth-child(7) { + background-color: rgba(0, 0, 0, 0.245); + } + + .features li:nth-child(8) { + background-color: rgba(0, 0, 0, 0.28); + } + + .features li:nth-child(9) { + background-color: rgba(0, 0, 0, 0.315); + } + + .features li:nth-child(10) { + background-color: rgba(0, 0, 0, 0.35); + } + + .features li:before { + display: block; + color: #00ffcc; + position: absolute; + left: 1.75em; + top: 2.75em; + font-size: 1.5em; + } + + .features li:nth-child(1) { + border-top-left-radius: 3px; + } + + .features li:nth-child(2) { + border-top-right-radius: 3px; + } + + .features li:nth-last-child(1) { + border-bottom-right-radius: 3px; + } + + .features li:nth-last-child(2) { + border-bottom-left-radius: 3px; + } + + @media screen and (max-width: 980px) { + + .features li { + padding: 3em 2em 1em 2em ; + text-align: center; + } + + .features li:before { + left: 0; + margin: 0 0 1em 0; + position: relative; + top: 0; + } + + } + + @media screen and (max-width: 736px) { + + .features li { + padding: 3em 0 1em 0 ; + background-color: transparent !important; + border-top: solid 2px #fff; + width: 100%; + } + + .features li:first-child { + border-top: 0; + } + + } + +/* Spotlight */ + + .spotlight { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + } + + .spotlight .image { + -moz-order: 1; + -webkit-order: 1; + -ms-order: 1; + order: 1; + border-radius: 0; + width: 40%; + } + + .spotlight .image img { + border-radius: 0; + width: 100%; + } + + .spotlight .content { + padding: 2em 4em 0.1em 4em ; + -moz-order: 2; + -webkit-order: 2; + -ms-order: 2; + order: 2; + max-width: 48em; + width: 60%; + } + + .spotlight:nth-child(2n) { + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + + .spotlight:nth-child(1) { + background-color: rgba(0, 0, 0, 0.075); + } + + .spotlight:nth-child(2) { + background-color: rgba(0, 0, 0, 0.15); + } + + .spotlight:nth-child(3) { + background-color: rgba(0, 0, 0, 0.225); + } + + .spotlight:nth-child(4) { + background-color: rgba(0, 0, 0, 0.3); + } + + .spotlight:nth-child(5) { + background-color: rgba(0, 0, 0, 0.375); + } + + .spotlight:nth-child(6) { + background-color: rgba(0, 0, 0, 0.45); + } + + .spotlight:nth-child(7) { + background-color: rgba(0, 0, 0, 0.525); + } + + .spotlight:nth-child(8) { + background-color: rgba(0, 0, 0, 0.6); + } + + .spotlight:nth-child(9) { + background-color: rgba(0, 0, 0, 0.675); + } + + .spotlight:nth-child(10) { + background-color: rgba(0, 0, 0, 0.75); + } + + @media screen and (max-width: 1280px) { + + .spotlight .image { + width: 45%; + } + + .spotlight .content { + width: 55%; + } + + } + + @media screen and (max-width: 980px) { + + .spotlight { + display: block; + } + + .spotlight br { + display: none; + } + + .spotlight .image { + width: 100%; + } + + .spotlight .content { + padding: 4em 3em 2em 3em ; + max-width: none; + text-align: center; + width: 100%; + } + + } + + @media screen and (max-width: 736px) { + + .spotlight .content { + padding: 3em 2em 1em 2em ; + } + + } + +/* Wrapper */ + + .wrapper { + padding: 6em 0 4em 0 ; + } + + .wrapper > .inner { + width: 60em; + margin: 0 auto; + } + + @media screen and (max-width: 1280px) { + + .wrapper > .inner { + width: 90%; + } + + } + + @media screen and (max-width: 980px) { + + .wrapper > .inner { + width: 100%; + } + + } + + .wrapper.alt { + padding: 0; + } + + .wrapper.style1 { + background-color: #21b2a6; + color: #c8ece9; + } + + .wrapper.style1 strong, .wrapper.style1 b { + color: #ffffff; + } + + .wrapper.style1 h2, .wrapper.style1 h3, .wrapper.style1 h4, .wrapper.style1 h5, .wrapper.style1 h6 { + color: #ffffff; + } + + .wrapper.style1 hr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 blockquote { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 code { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 header p { + color: #a6e0db; + } + + .wrapper.style1 header.major h2, .wrapper.style1 header.major h3, .wrapper.style1 header.major h4, .wrapper.style1 header.major h5, .wrapper.style1 header.major h6 { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 header.major p { + color: #c8ece9; + } + + .wrapper.style1 label { + color: #ffffff; + } + + .wrapper.style1 input[type="text"], + .wrapper.style1 input[type="password"], + .wrapper.style1 input[type="email"], + .wrapper.style1 select, + .wrapper.style1 textarea { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 select { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(0, 0, 0, 0.125)' /%3E%3C/svg%3E"); + } + + .wrapper.style1 select option { + color: #ffffff; + background: #21b2a6; + } + + .wrapper.style1 input[type="checkbox"] + label, + .wrapper.style1 input[type="radio"] + label { + color: #c8ece9; + } + + .wrapper.style1 input[type="checkbox"] + label:before, + .wrapper.style1 input[type="radio"] + label:before { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 input[type="checkbox"]:checked + label:before, + .wrapper.style1 input[type="radio"]:checked + label:before { + background: #ffffff; + color: #21b2a6; + } + + .wrapper.style1 ::-webkit-input-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 :-moz-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 ::-moz-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 :-ms-input-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 .formerize-placeholder { + color: #a6e0db !important; + } + + .wrapper.style1 .icon.major { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 ul.alt li { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table tbody tr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table tbody tr:nth-child(2n + 1) { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 table th { + color: #ffffff; + } + + .wrapper.style1 table thead { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table tfoot { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 table.alt tbody tr td { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style1 input[type="submit"], + .wrapper.style1 input[type="reset"], + .wrapper.style1 input[type="button"], + .wrapper.style1 button, + .wrapper.style1 .button { + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.125); + color: #ffffff; + } + + .wrapper.style1 input[type="submit"]:hover, + .wrapper.style1 input[type="reset"]:hover, + .wrapper.style1 input[type="button"]:hover, + .wrapper.style1 button:hover, + .wrapper.style1 .button:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style1 input[type="submit"]:active, + .wrapper.style1 input[type="reset"]:active, + .wrapper.style1 input[type="button"]:active, + .wrapper.style1 button:active, + .wrapper.style1 .button:active { + background-color: rgba(255, 255, 255, 0.2); + } + + @media screen and (max-width: 736px) { + + .wrapper.style1 .features li { + border-top-color: rgba(0, 0, 0, 0.125); + } + + } + + .wrapper.style2 { + background-color: #2e3842; + } + + .wrapper.style3 { + background-color: #505393; + color: #d3d4e4; + } + + .wrapper.style3 strong, .wrapper.style3 b { + color: #ffffff; + } + + .wrapper.style3 h2, .wrapper.style3 h3, .wrapper.style3 h4, .wrapper.style3 h5, .wrapper.style3 h6 { + color: #ffffff; + } + + .wrapper.style3 hr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 blockquote { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 code { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 header p { + color: #b9bad4; + } + + .wrapper.style3 header.major h2, .wrapper.style3 header.major h3, .wrapper.style3 header.major h4, .wrapper.style3 header.major h5, .wrapper.style3 header.major h6 { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 header.major p { + color: #d3d4e4; + } + + .wrapper.style3 label { + color: #ffffff; + } + + .wrapper.style3 input[type="text"], + .wrapper.style3 input[type="password"], + .wrapper.style3 input[type="email"], + .wrapper.style3 select, + .wrapper.style3 textarea { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 select { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(0, 0, 0, 0.125)' /%3E%3C/svg%3E"); + } + + .wrapper.style3 select option { + color: #ffffff; + background: #505393; + } + + .wrapper.style3 input[type="checkbox"] + label, + .wrapper.style3 input[type="radio"] + label { + color: #d3d4e4; + } + + .wrapper.style3 input[type="checkbox"] + label:before, + .wrapper.style3 input[type="radio"] + label:before { + background: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 input[type="checkbox"]:checked + label:before, + .wrapper.style3 input[type="radio"]:checked + label:before { + background: #ffffff; + color: #505393; + } + + .wrapper.style3 ::-webkit-input-placeholder { + color: #b9bad4 !important; + } + + .wrapper.style3 :-moz-placeholder { + color: #b9bad4 !important; + } + + .wrapper.style3 ::-moz-placeholder { + color: #b9bad4 !important; + } + + .wrapper.style3 :-ms-input-placeholder { + color: #b9bad4 !important; + } + + .wrapper.style3 .formerize-placeholder { + color: #b9bad4 !important; + } + + .wrapper.style3 .icon.major { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 ul.alt li { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table tbody tr { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table tbody tr:nth-child(2n + 1) { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 table th { + color: #ffffff; + } + + .wrapper.style3 table thead { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table tfoot { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 table.alt tbody tr td { + border-color: rgba(0, 0, 0, 0.125); + } + + .wrapper.style3 input[type="submit"], + .wrapper.style3 input[type="reset"], + .wrapper.style3 input[type="button"], + .wrapper.style3 button, + .wrapper.style3 .button { + box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.125); + color: #ffffff; + } + + .wrapper.style3 input[type="submit"]:hover, + .wrapper.style3 input[type="reset"]:hover, + .wrapper.style3 input[type="button"]:hover, + .wrapper.style3 button:hover, + .wrapper.style3 .button:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + .wrapper.style3 input[type="submit"]:active, + .wrapper.style3 input[type="reset"]:active, + .wrapper.style3 input[type="button"]:active, + .wrapper.style3 button:active, + .wrapper.style3 .button:active { + background-color: rgba(255, 255, 255, 0.2); + } + + @media screen and (max-width: 736px) { + + .wrapper.style3 .features li { + border-top-color: rgba(0, 0, 0, 0.125); + } + + } + + .wrapper.style4 { + background-color: transparent; + } + + .wrapper.style5 { + background-color: #ffffff; + color: #4E4852; + } + + .wrapper.style5 strong, .wrapper.style5 b { + color: #2E3842; + } + + .wrapper.style5 h2, .wrapper.style5 h3, .wrapper.style5 h4, .wrapper.style5 h5, .wrapper.style5 h6 { + color: #2E3842; + } + + .wrapper.style5 hr { + border-color: #dfdfdf; + } + + .wrapper.style5 blockquote { + border-color: #dfdfdf; + } + + .wrapper.style5 code { + background: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 header p { + color: #8E8892; + } + + .wrapper.style5 header.major h2, .wrapper.style5 header.major h3, .wrapper.style5 header.major h4, .wrapper.style5 header.major h5, .wrapper.style5 header.major h6 { + border-color: #dfdfdf; + } + + .wrapper.style5 header.major p { + color: #4E4852; + } + + .wrapper.style5 label { + color: #2E3842; + } + + .wrapper.style5 input[type="text"], + .wrapper.style5 input[type="password"], + .wrapper.style5 input[type="email"], + .wrapper.style5 select, + .wrapper.style5 textarea { + background-color: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 select { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23dfdfdf' /%3E%3C/svg%3E"); + } + + .wrapper.style5 select option { + color: #2E3842; + background: #ffffff; + } + + .wrapper.style5 input[type="checkbox"] + label, + .wrapper.style5 input[type="radio"] + label { + color: #4E4852; + } + + .wrapper.style5 input[type="checkbox"] + label:before, + .wrapper.style5 input[type="radio"] + label:before { + background: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 input[type="checkbox"]:checked + label:before, + .wrapper.style5 input[type="radio"]:checked + label:before { + background: #2E3842; + color: #ffffff; + } + + .wrapper.style5 ::-webkit-input-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 :-moz-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 ::-moz-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 :-ms-input-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 .formerize-placeholder { + color: #8E8892 !important; + } + + .wrapper.style5 .icon.major { + border-color: #dfdfdf; + } + + .wrapper.style5 ul.alt li { + border-color: #dfdfdf; + } + + .wrapper.style5 table tbody tr { + border-color: #dfdfdf; + } + + .wrapper.style5 table tbody tr:nth-child(2n + 1) { + background-color: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 table th { + color: #2E3842; + } + + .wrapper.style5 table thead { + border-color: #dfdfdf; + } + + .wrapper.style5 table tfoot { + border-color: #dfdfdf; + } + + .wrapper.style5 table.alt tbody tr td { + border-color: #dfdfdf; + } + + .wrapper.style5 input[type="submit"], + .wrapper.style5 input[type="reset"], + .wrapper.style5 input[type="button"], + .wrapper.style5 button, + .wrapper.style5 .button { + box-shadow: inset 0 0 0 2px #dfdfdf; + color: #2E3842; + } + + .wrapper.style5 input[type="submit"]:hover, + .wrapper.style5 input[type="reset"]:hover, + .wrapper.style5 input[type="button"]:hover, + .wrapper.style5 button:hover, + .wrapper.style5 .button:hover { + background-color: rgba(0, 0, 0, 0.0375); + } + + .wrapper.style5 input[type="submit"]:active, + .wrapper.style5 input[type="reset"]:active, + .wrapper.style5 input[type="button"]:active, + .wrapper.style5 button:active, + .wrapper.style5 .button:active { + background-color: rgba(0, 0, 0, 0.1); + } + + @media screen and (max-width: 736px) { + + .wrapper.style5 .features li { + border-top-color: #dfdfdf; + } + + } + + @media screen and (max-width: 980px) { + + .wrapper { + padding: 4em 3em 2em 3em ; + } + + } + + @media screen and (max-width: 736px) { + + .wrapper { + padding: 3em 2em 1em 2em ; + } + + } + +/* Page Wrapper + Menu */ + + #page-wrapper { + -moz-transition: opacity 0.5s ease; + -webkit-transition: opacity 0.5s ease; + -ms-transition: opacity 0.5s ease; + transition: opacity 0.5s ease; + opacity: 1; + padding-top: 3em; + } + + #page-wrapper:before { + background: rgba(0, 0, 0, 0); + content: ''; + display: block; + display: none; + height: 100%; + left: 0; + position: fixed; + top: 0; + width: 100%; + z-index: 10001; + } + + #menu { + -moz-transform: translateX(20em); + -webkit-transform: translateX(20em); + -ms-transform: translateX(20em); + transform: translateX(20em); + -moz-transition: -moz-transform 0.5s ease; + -webkit-transition: -webkit-transform 0.5s ease; + -ms-transition: -ms-transform 0.5s ease; + transition: transform 0.5s ease; + -webkit-overflow-scrolling: touch; + background: #21b2a6; + color: #ffffff; + height: 100%; + max-width: 80%; + overflow-y: auto; + padding: 3em 2em; + position: fixed; + right: 0; + top: 0; + width: 20em; + z-index: 10002; + } + + #menu ul { + list-style: none; + padding: 0; + } + + #menu ul > li { + border-top: solid 1px rgba(0, 0, 0, 0.125); + margin: 0.5em 0 0 0; + padding: 0.5em 0 0 0; + } + + #menu ul > li:first-child { + border-top: 0 !important; + margin-top: 0 !important; + padding-top: 0 !important; + } + + #menu ul > li > a { + border: 0; + color: inherit; + display: block; + font-size: 0.8em; + letter-spacing: 0.225em; + outline: 0; + text-decoration: none; + text-transform: uppercase; + } + + @media screen and (max-width: 736px) { + + #menu ul > li > a { + line-height: 3em; + } + + } + + #menu .close { + background-image: url("images/close.svg"); + background-position: 4.85em 1em; + background-repeat: no-repeat; + border: 0; + cursor: pointer; + display: block; + height: 3em; + position: absolute; + right: 0; + top: 0; + vertical-align: middle; + width: 7em; + } + + @media screen and (max-width: 736px) { + + #menu { + padding: 3em 1.5em; + } + + } + + body.is-menu-visible #page-wrapper { + opacity: 0.35; + } + + body.is-menu-visible #page-wrapper:before { + display: block; + } + + body.is-menu-visible #menu { + -moz-transform: translateX(0); + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + +/* Header */ + + #header { + -moz-transition: background-color 0.2s ease; + -webkit-transition: background-color 0.2s ease; + -ms-transition: background-color 0.2s ease; + transition: background-color 0.2s ease; + background: #2e3842; + height: 3em; + left: 0; + line-height: 3em; + position: fixed; + top: 0; + width: 100%; + z-index: 10000; + } + + #header h1 { + -moz-transition: opacity 0.2s ease; + -webkit-transition: opacity 0.2s ease; + -ms-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; + height: inherit; + left: 1.25em; + line-height: inherit; + position: absolute; + top: 0; + } + + #header h1 a { + border: 0; + display: block; + height: inherit; + line-height: inherit; + } + + @media screen and (max-width: 736px) { + + #header h1 a { + font-size: 0.8em; + } + + } + + #header nav { + height: inherit; + line-height: inherit; + position: absolute; + right: 0; + top: 0; + } + + #header nav > ul { + list-style: none; + margin: 0; + padding: 0; + white-space: nowrap; + } + + #header nav > ul > li { + display: inline-block; + padding: 0; + } + + #header nav > ul > li > a { + border: 0; + color: #fff; + display: block; + font-size: 0.8em; + letter-spacing: 0.225em; + padding: 0 1.5em; + text-transform: uppercase; + } + + #header nav > ul > li > a.menuToggle { + outline: 0; + position: relative; + } + + #header nav > ul > li > a.menuToggle:after { + background-image: url("images/bars.svg"); + background-position: right center; + background-repeat: no-repeat; + content: ''; + display: inline-block; + height: 3.75em; + vertical-align: top; + width: 2em; + } + + @media screen and (max-width: 736px) { + + #header nav > ul > li > a.menuToggle { + padding: 0 1.5em; + } + + #header nav > ul > li > a.menuToggle span { + display: none; + } + + } + + @media screen and (max-width: 736px) { + + #header nav > ul > li > a { + padding: 0 0 0 1.5em; + } + + } + + #header nav > ul > li:first-child { + margin-left: 0; + } + + #header.alt { + background: transparent; + } + + #header.alt h1 { + pointer-events: none; + opacity: 0; + } + +/* Banner */ + + #banner { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + cursor: default; + height: 100vh; + min-height: 35em; + overflow: hidden; + position: relative; + text-align: center; + } + + #banner h2 { + -moz-transform: scale(1); + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + -moz-transition: -moz-transform 0.5s ease, opacity 0.5s ease; + -webkit-transition: -webkit-transform 0.5s ease, opacity 0.5s ease; + -ms-transition: -ms-transform 0.5s ease, opacity 0.5s ease; + transition: transform 0.5s ease, opacity 0.5s ease; + display: inline-block; + font-size: 1.75em; + opacity: 1; + padding: 0.35em 1em; + position: relative; + z-index: 1; + } + + #banner h2:before, #banner h2:after { + -moz-transition: width 0.85s ease; + -webkit-transition: width 0.85s ease; + -ms-transition: width 0.85s ease; + transition: width 0.85s ease; + -moz-transition-delay: 0.25s; + -webkit-transition-delay: 0.25s; + -ms-transition-delay: 0.25s; + transition-delay: 0.25s; + background: #fff; + content: ''; + display: block; + height: 2px; + position: absolute; + width: 100%; + } + + #banner h2:before { + top: 0; + left: 0; + } + + #banner h2:after { + bottom: 0; + right: 0; + } + + #banner p { + letter-spacing: 0.225em; + text-transform: uppercase; + } + + #banner p a { + color: inherit; + } + + #banner .more { + -moz-transition: -moz-transform 0.75s ease, opacity 0.75s ease; + -webkit-transition: -webkit-transform 0.75s ease, opacity 0.75s ease; + -ms-transition: -ms-transform 0.75s ease, opacity 0.75s ease; + transition: transform 0.75s ease, opacity 0.75s ease; + -moz-transition-delay: 3.5s; + -webkit-transition-delay: 3.5s; + -ms-transition-delay: 3.5s; + transition-delay: 3.5s; + -moz-transform: translateY(0); + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + border: none; + bottom: 0; + color: inherit; + font-size: 0.8em; + height: 8.5em; + left: 50%; + letter-spacing: 0.225em; + margin-left: -8.5em; + opacity: 1; + outline: 0; + padding-left: 0.225em; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 16em; + z-index: 1; + } + + #banner .more:after { + background-image: url("images/arrow.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; + bottom: 4em; + content: ''; + display: block; + height: 1.5em; + left: 50%; + margin: 0 0 0 -0.75em; + position: absolute; + width: 1.5em; + } + + #banner:after { + pointer-events: none; + -moz-transition: opacity 3s ease-in-out; + -webkit-transition: opacity 3s ease-in-out; + -ms-transition: opacity 3s ease-in-out; + transition: opacity 3s ease-in-out; + -moz-transition-delay: 1.25s; + -webkit-transition-delay: 1.25s; + -ms-transition-delay: 1.25s; + transition-delay: 1.25s; + content: ''; + background: #2e3842; + display: block; + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + opacity: 0; + } + + @media screen and (max-width: 736px) { + + #banner { + padding: 7em 3em 5em 3em ; + height: auto; + min-height: 0; + } + + #banner h2 { + font-size: 1.25em; + } + + #banner br { + display: none; + } + + #banner .more { + display: none; + } + + } + + body.is-preload #banner h2 { + -moz-transform: scale(0.95); + -webkit-transform: scale(0.95); + -ms-transform: scale(0.95); + transform: scale(0.95); + opacity: 0; + } + + body.is-preload #banner h2:before, body.is-preload #banner h2:after { + width: 0; + } + + body.is-preload #banner .more { + -moz-transform: translateY(8.5em); + -webkit-transform: translateY(8.5em); + -ms-transform: translateY(8.5em); + transform: translateY(8.5em); + opacity: 0; + } + + body.is-preload #banner:after { + opacity: 1; + } + +/* CTA */ + + #cta .inner { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + max-width: 45em; + } + + #cta .inner header { + -moz-order: 1; + -webkit-order: 1; + -ms-order: 1; + order: 1; + padding-right: 3em; + width: 70%; + } + + #cta .inner header p { + color: inherit; + } + + #cta .inner .actions { + -moz-order: 2; + -webkit-order: 2; + -ms-order: 2; + order: 2; + width: 30%; + } + + @media screen and (max-width: 980px) { + + #cta .inner { + display: block; + text-align: center; + } + + #cta .inner header { + padding-right: 0; + width: 100%; + } + + #cta .inner .actions { + margin-left: auto; + margin-right: auto; + max-width: 20em; + width: 100%; + } + + } + + @media screen and (max-width: 736px) { + + #cta .inner .actions { + max-width: none; + } + + } + +/* Main */ + + #main > header { + padding: 12em 0 10em 0 ; + background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-attachment: fixed; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + text-align: center; + } + + #main > header h2 { + font-size: 1.75em; + margin: 0 0 0.5em 0; + } + + #main > header p { + color: inherit; + letter-spacing: 0.225em; + text-transform: uppercase; + top: 0; + } + + #main > header p a { + color: inherit; + } + + @media screen and (max-width: 1680px) { + + #main > header { + padding: 10em 0 8em 0 ; + } + + } + + @media screen and (max-width: 1280px) { + + #main > header { + padding: 8em 3em 6em 3em ; + } + + } + + @media screen and (max-width: 980px) { + + #main > header { + padding: 10em 3em 8em 3em ; + } + + } + + @media screen and (max-width: 736px) { + + #main > header { + padding: 5em 3em 3em 3em ; + } + + #main > header h2 { + font-size: 1.25em; + margin: 0 0 1em 0; + } + + } + + body.is-mobile #main > header { + background-attachment: scroll; + } + +/* Footer */ + + #footer { + padding: 6em 0 4em 0 ; + background-color: #1d242a; + text-align: center; + } + + #footer .icons { + font-size: 1.25em; + } + + #footer .icons a { + color: rgba(255, 255, 255, 0.5); + } + + #footer .icons a:hover { + color: #fff; + } + + #footer .copyright { + color: rgba(255, 255, 255, 0.5); + font-size: 0.8em; + letter-spacing: 0.225em; + list-style: none; + padding: 0; + text-transform: uppercase; + } + + #footer .copyright li { + border-left: solid 1px rgba(255, 255, 255, 0.5); + display: inline-block; + line-height: 1em; + margin-left: 1em; + padding-left: 1em; + } + + #footer .copyright li:first-child { + border-left: 0; + margin-left: 0; + padding-left: 0; + } + + #footer .copyright li a { + color: inherit; + } + + #footer .copyright li a:hover { + color: #fff; + } + + @media screen and (max-width: 480px) { + + #footer .copyright li { + border: 0; + display: block; + line-height: 1.65em; + margin: 0; + padding: 0.5em 0; + } + + } + + @media screen and (max-width: 980px) { + + #footer { + padding: 4em 3em 2em 3em ; + } + + } + + @media screen and (max-width: 736px) { + + #footer { + padding: 3em 2em 1em 2em ; + } + + } + +/* Landing */ + + body.landing #page-wrapper { + background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-attachment: fixed; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + padding-top: 0; + } + + body.landing #footer { + background-color: rgba(29, 36, 42, 0.9); + } + + body.is-mobile.landing #page-wrapper { + background: none; + } + + body.is-mobile.landing #banner, + body.is-mobile.landing .wrapper.style4 { + background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-image: linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("../../images/banner.jpg"); + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + } + + body.is-mobile.landing #footer { + background-color: #1d242a; + } diff --git a/themes/spectral/assets/css/noscript.css b/themes/spectral/assets/css/noscript.css new file mode 100644 index 0000000..ce77819 --- /dev/null +++ b/themes/spectral/assets/css/noscript.css @@ -0,0 +1,31 @@ +/* + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* Banner */ + + body.is-preload #banner h2 { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + body.is-preload #banner h2:before, body.is-preload #banner h2:after { + width: 100%; + } + + body.is-preload #banner .more { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + body.is-preload #banner:after { + opacity: 0; + }
\ No newline at end of file diff --git a/themes/spectral/assets/js/breakpoints.min.js b/themes/spectral/assets/js/breakpoints.min.js new file mode 100644 index 0000000..e20ae89 --- /dev/null +++ b/themes/spectral/assets/js/breakpoints.min.js @@ -0,0 +1,2 @@ +/* breakpoints.js v1.0 | @ajlkn | MIT licensed */ +var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints}); diff --git a/themes/spectral/assets/js/browser.min.js b/themes/spectral/assets/js/browser.min.js new file mode 100644 index 0000000..f680156 --- /dev/null +++ b/themes/spectral/assets/js/browser.min.js @@ -0,0 +1,2 @@ +/* browser.js v1.0 | @ajlkn | MIT licensed */ +var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser}); diff --git a/themes/spectral/assets/js/jquery.min.js b/themes/spectral/assets/js/jquery.min.js new file mode 100644 index 0000000..e7e29d5 --- /dev/null +++ b/themes/spectral/assets/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.0",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i)return e.textContent;if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=ce.text(t);return n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",t="(?:\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",p="\\["+ge+"*("+t+")(?:"+ge+"*([*^$|!~]?=)"+ge+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+t+"))|)"+ge+"*\\]",g=":("+t+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+p+")*)|.*)\\)|)",v=new RegExp(ge+"+","g"),y=new RegExp("^"+ge+"*,"+ge+"*"),m=new RegExp("^"+ge+"*([>+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&z(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function X(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function z(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="<a id='"+S+"' href='' disabled='disabled'></a><select id='"+S+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,T,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=T&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=T&&V(e);var n=b.attrHandle[t.toLowerCase()],r=n&&ue.call(b.attrHandle,t.toLowerCase())?n(e,t,!C):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),de.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(b=ce.expr={cacheLength:50,createPseudo:F,match:D,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(v," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(d,e,t,h,g){var v="nth"!==d.slice(0,3),y="last"!==d.slice(-4),m="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?"nextSibling":"previousSibling",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,p=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u="only"===d&&!s&&"nextSibling"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){p=(a=(r=(i=l[S]||(l[S]={}))[d]||[])[0]===E&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if(1===o.nodeType&&++p&&o===e){i[d]=[E,a,p];break}}else if(f&&(p=a=(r=(i=e[S]||(e[S]={}))[d]||[])[0]===E&&r[1]),!1===p)while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++p&&(f&&((i=o[S]||(o[S]={}))[d]=[E,p]),o===e))break;return(p-=g)===h||p%h==0&&0<=p/h}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||I.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?F(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:F(function(e){var r=[],i=[],s=ne(e.replace(ve,"$1"));return s[S]?F(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:F(function(t){return function(e){return 0<I(t,e).length}}),contains:F(function(t){return t=t.replace(O,P),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:F(function(n){return A.test(n||"")||I.error("unsupported lang: "+n),n=n.replace(O,P).toLowerCase(),function(e){var t;do{if(t=C?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return T.activeElement}catch(e){}}()&&T.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:X(!1),disabled:X(!0),checked:function(e){return fe(e,"input")&&!!e.checked||fe(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return N.test(e.nodeName)},button:function(e){return fe(e,"input")&&"button"===e.type||fe(e,"button")},text:function(e){var t;return fe(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:U(function(){return[0]}),last:U(function(e,t){return[t-1]}),eq:U(function(e,t,n){return[n<0?n+t:n]}),even:U(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:U(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:U(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:U(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=B(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=_(e);function G(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve," ")}),a=a.slice(n.length)),b.filter)!(r=D[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function Q(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function J(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&"parentNode"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[E,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[S]||(e[S]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===E&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function K(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(d,h,g,v,y,e){return v&&!v[S]&&(v=ee(v)),y&&!y[S]&&(y=ee(y,e)),F(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),p=!d||!e&&h?f:Z(f,u,d,n,r);if(g?g(p,s=y||(e?d:c||v)?[]:t,n,r):s=p,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(p[l[o]]=a))}if(e){if(y||d){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(p[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):k.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=J(function(e){return e===i},a,!0),l=J(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[J(K(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return ee(1<s&&K(c),1<s&&Q(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ve,"$1"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&Q(e))}c.push(t)}return K(c)}function ne(e,t){var n,v,y,m,x,r,i=[],o=[],a=u[e+" "];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[S]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==T||(V(o),n=!C);while(s=v[a++])if(s(o,t||T,n)){k.call(r,o);break}i&&(E=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=pe.call(r));f=Z(f)}k.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(E=h,w=p),c},m?F(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&C&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(O,P),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=D.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(O,P),H.test(o[0].type)&&z(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&Q(o)))return k.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!C,n,!t||H.test(e)&&z(t.parentNode)||t),n}G.prototype=b.filters=b.pseudos,b.setFilters=new G,le.sortStable=S.split("").sort(l).join("")===S,V(),le.sortDetached=$(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce.find=I,ce.expr[":"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var d=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},b=ce.expr.match.needsContext,w=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&b.test(e)?ce(e):e||[],!1).length}});var k,S=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&ce(e);if(!b.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return d(e,"parentNode")},parentsUntil:function(e,t,n){return d(e,"parentNode",n)},next:function(e){return A(e,"nextSibling")},prev:function(e){return A(e,"previousSibling")},nextAll:function(e){return d(e,"nextSibling")},prevAll:function(e){return d(e,"previousSibling")},nextUntil:function(e,t,n){return d(e,"nextSibling",n)},prevUntil:function(e,t,n){return d(e,"previousSibling",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,"template")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(j[r]||ce.uniqueSort(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var D=/[^\x20\t\r\n\f]+/g;function N(e){return e}function q(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},ce.each(e.match(D)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[["notify","progress",ce.Callbacks("memory"),ce.Callbacks("memory"),2],["resolve","done",ce.Callbacks("once memory"),ce.Callbacks("once memory"),0,"resolved"],["reject","fail",ce.Callbacks("once memory"),ce.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,N,s),l(u,o,q,s)):(u++,t.call(e,l(u,o,N,s),l(u,o,q,s),l(u,o,N,o.notifyWith))):(a!==N&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==q&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:N,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:N)),o[2][3].add(l(0,e,v(n)?n:q))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(L(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)L(i[t],a(t),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&H.test(e.name)&&ie.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var O=ce.Deferred();function P(){C.removeEventListener("DOMContentLoaded",P),ie.removeEventListener("load",P),ce.ready()}ce.fn.ready=function(e){return O.then(e)["catch"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||O.resolveWith(C,[ce])}}),ce.ready.then=O.then,"complete"===C.readyState||"loading"!==C.readyState&&!C.documentElement.doScroll?ie.setTimeout(ce.ready):(C.addEventListener("DOMContentLoaded",P),ie.addEventListener("load",P));var R=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)R(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},M=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function F(e){return e.replace(M,"ms-").replace(I,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function B(){this.expando=ce.expando+B.uid++}B.uid=1,B.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[F(t)]=n;else for(r in t)i[F(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][F(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(F):(t=F(t))in r?[t]:t.match(D)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new B,X=new B,U=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,z=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:U.test(i)?JSON.parse(i):i)}catch(e){}X.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return X.hasData(e)||_.hasData(e)},data:function(e,t,n){return X.access(e,t,n)},removeData:function(e,t){X.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=X.get(o),1===o.nodeType&&!_.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=F(r.slice(5)),V(o,r,i[r]));_.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){X.set(this,n)}):R(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=X.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){X.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){X.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks("once memory").add(function(){_.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=_.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var G=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Y=new RegExp("^(?:([+-])=|)("+G+")([a-z%]*)$","i"),Q=["Top","Right","Bottom","Left"],J=C.documentElement,K=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};J.getRootNode&&(K=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&K(e)&&"none"===ce.css(e,"display")};function te(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,"")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?"":"px"),c=e.nodeType&&(ce.cssNumber[t]||"px"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ne={};function re(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=_.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ne[s])||(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ne[s]=u)))):"none"!==n&&(l[c]="none",_.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return re(this,!0)},hide:function(){return re(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var xe,be,we=/^(?:checkbox|radio)$/i,Te=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="<textarea>x</textarea>",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="<option></option>",le.option=!!xe.lastChild;var ke={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],"globalEval",!t||_.get(t[n],"globalEval"))}ke.tbody=ke.tfoot=ke.colgroup=ke.caption=ke.thead,ke.th=ke.td,le.option||(ke.optgroup=ke.option=[1,"<select multiple='multiple'>","</select>"]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))ce.merge(p,o.nodeType?[o]:o);else if(je.test(o)){a=a||f.appendChild(t.createElement("div")),s=(Te.exec(o)||["",""])[1].toLowerCase(),u=ke[s]||ke._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=K(o),a=Se(f.appendChild(o),"script"),l&&Ee(a),n){c=0;while(o=a[c++])Ce.test(o.type||"")&&n.push(o)}return f}var De=/^([^.]*)(?:\.(.+)|)/;function Ne(){return!0}function qe(){return!1}function Le(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Le(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=qe;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function He(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.get(t);if($(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(J,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(D)||[""]).length;while(l--)d=g=(s=De.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=ce.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ce.event.special[d]||{},c=ce.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),ce.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(D)||[""]).length;while(l--)if(d=g=(s=De.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=ce.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)ce.event.remove(e,d+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,"events")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click",!0),!1},trigger:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click"),!0},_default:function(e){var t=e.target;return we.test(t.type)&&t.click&&fe(t,"input")&&_.get(t,"click")||fe(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:qe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:qe,isPropagationStopped:qe,isImmediatePropagationStopped:qe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:"focusin",blur:"focusout"},function(r,i){function o(e){if(C.documentMode){var t=_.get(this,"handle"),n=ce.event.fix(e);n.type="focusin"===e.type?"focus":"blur",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(He(this,r,!0),!C.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return He(this,r),!0},teardown:function(){var e;if(!C.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i);n||(C.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(C.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return Le(this,e,t,n,r)},one:function(e,t,n,r){return Le(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=qe),this.each(function(){ce.event.remove(this,e,n,t)})}});var Oe=/<script|<style|<link/i,Pe=/checked\s*(?:[^=]|=\s*.checked.)/i,Re=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Me(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);X.hasData(e)&&(o=X.access(e),a=ce.extend({},o),X.set(t,a))}}function $e(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=v(d);if(h||1<f&&"string"==typeof d&&!le.checkClone&&Pe.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),$e(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Se(e,"script"),Ie)).length;c<f;c++)u=e,c!==p&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Se(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,We),c=0;c<s;c++)u=a[c],Ce.test(u.type||"")&&!_.access(u,"globalEval")&&ce.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):m(u.textContent.replace(Re,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Se(r)),r.parentNode&&(n&&K(r)&&Ee(Se(r,"script")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=K(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Se(c),r=0,i=(o=Se(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&we.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Se(e),a=a||Se(c),r=0,i=o.length;r<i;r++)Fe(o[r],a[r]);else Fe(e,c);return 0<(a=Se(c,"script")).length&&Ee(a,!f&&Se(e,"script")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return R(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return $e(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Me(this,e).appendChild(e)})},prepend:function(){return $e(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Me(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return R(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!ke[(Te.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Se(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return $e(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Se(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var _e=new RegExp("^("+G+")(?!px)[a-z%]+$","i"),Xe=/^--/,Ue=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},ze=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ve=new RegExp(Q.join("|"),"i");function Ge(e,t,n){var r,i,o,a,s=Xe.test(t),u=e.style;return(n=n||Ue(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,"$1")||void 0),""!==a||K(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&_e.test(a)&&Ve.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function Ye(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",J.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),J.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=C.createElement("div"),l=C.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",le.clearCloneStyle="content-box"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=C.createElement("table"),t=C.createElement("tr"),n=C.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",J.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,J.removeChild(e)),a}}))}();var Qe=["Webkit","Moz","ms"],Je=C.createElement("div").style,Ke={};function Ze(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Je?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Je)return e}(e)||e)}var et=/^(none|table(?!-c[ea]).+)/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function it(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=ce.css(e,n+Q[a],!0,i)),r?("content"===n&&(u-=ce.css(e,"padding"+Q[a],!0,i)),"margin"!==n&&(u-=ce.css(e,"border"+Q[a]+"Width",!0,i))):(u+=ce.css(e,"padding"+Q[a],!0,i),"padding"!==n?u+=ce.css(e,"border"+Q[a]+"Width",!0,i):s+=ce.css(e,"border"+Q[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function ot(e,t,n){var r=Ue(e),i=(!le.boxSizingReliable()||n)&&"border-box"===ce.css(e,"boxSizing",!1,r),o=i,a=Ge(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(_e.test(a)){if(!n)return a;a="auto"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===ce.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===ce.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+it(e,t,n||(i?"border":"content"),o,r,a)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ge(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=F(t),u=Xe.test(t),l=e.style;if(u||(t=Ze(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=te(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?"":"px")),le.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=F(t);return Xe.test(t)||(t=Ze(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ge(e,t,r)),"normal"===i&&t in nt&&(i=nt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each(["height","width"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!et.test(ce.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,u,n):ze(e,tt,function(){return ot(e,u,n)})},set:function(e,t,n){var r,i=Ue(e),o=!le.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ce.css(e,"boxSizing",!1,i),s=n?it(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-it(e,u,"border",!1,i)-.5)),s&&(r=Y.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=ce.css(e,u)),rt(0,t,s)}}}),ce.cssHooks.marginLeft=Ye(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ge(e,"marginLeft"))||e.getBoundingClientRect().left-ze(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ce.each({margin:"",padding:"",border:"Width"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+Q[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(ce.cssHooks[i+o].set=rt)}),ce.fn.extend({css:function(e,t){return R(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ue(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),((ce.Tween=at).prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ce.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}}).init.prototype=at.prototype,(at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||!ce.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ce.fx=at.prototype.init,ce.fx.step={};var st,ut,lt,ct,ft=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function dt(){ut&&(!1===C.hidden&&ie.requestAnimationFrame?ie.requestAnimationFrame(dt):ie.setTimeout(dt,ce.fx.interval),ce.fx.tick())}function ht(){return ie.setTimeout(function(){st=void 0}),st=Date.now()}function gt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=Q[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function vt(e,t,n){for(var r,i=(yt.tweeners[t]||[]).concat(yt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function yt(o,e,t){var n,a,r=0,i=yt.prefilters.length,s=ce.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=st||ht(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:ce.extend({},e),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},t),originalProperties:e,originalOptions:t,startTime:st||ht(),duration:t.duration,tweens:[],createTween:function(e,t){var n=ce.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=F(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=ce.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=yt.prefilters[r].call(l,o,c,l.opts))return v(n.stop)&&(ce._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return ce.map(c,vt,l),v(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),ce.fx.timer(ce.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}ce.Animation=ce.extend(yt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return te(n.elem,e,Y.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=["*"]):e=e.match(D);for(var n,r=0,i=e.length;r<i;r++)n=e[r],yt.tweeners[n]=yt.tweeners[n]||[],yt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ee(e),v=_.get(e,"fxshow");for(r in n.queue||(null==(a=ce._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,ce.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ft.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||ce.style(e,r)}if((u=!ce.isEmptyObject(t))||!ce.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=_.get(e,"display")),"none"===(c=ce.css(e,"display"))&&(l?c=l:(re([e],!0),l=e.style.display||l,c=ce.css(e,"display"),re([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===ce.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=_.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&re([e],!0),p.done(function(){for(r in g||re([e]),_.remove(e,"fxshow"),d)ce.style(e,r,d[r])})),u=vt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?yt.prefilters.unshift(e):yt.prefilters.push(e)}}),ce.speed=function(e,t,n){var r=e&&"object"==typeof e?ce.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return ce.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in ce.fx.speeds?r.duration=ce.fx.speeds[r.duration]:r.duration=ce.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&ce.dequeue(this,r.queue)},r},ce.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ee).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=ce.isEmptyObject(t),o=ce.speed(e,n,r),a=function(){var e=yt(this,ce.extend({},t),o);(i||_.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=ce.timers,r=_.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&pt.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||ce.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=_.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=ce.timers,o=n?n.length:0;for(t.finish=!0,ce.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ce.each(["toggle","show","hide"],function(e,r){var i=ce.fn[r];ce.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(gt(r,!0),e,t,n)}}),ce.each({slideDown:gt("show"),slideUp:gt("hide"),slideToggle:gt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){ce.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),st=void 0},ce.fx.timer=function(e){ce.timers.push(e),ce.fx.start()},ce.fx.interval=13,ce.fx.start=function(){ut||(ut=!0,dt())},ce.fx.stop=function(){ut=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},lt=C.createElement("input"),ct=C.createElement("select").appendChild(C.createElement("option")),lt.type="checkbox",le.checkOn=""!==lt.value,le.optSelected=ct.selected,(lt=C.createElement("input")).value="t",lt.type="radio",le.radioValue="t"===lt.value;var mt,xt=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return R(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&"radio"===t&&fe(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(D);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var a=xt[t]||ce.find.attr;xt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=xt[o],xt[o]=r,r=null!=a(e,t,n)?o:null,xt[o]=i),r}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;function Tt(e){return(e.match(D)||[]).join(" ")}function Ct(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(D)||[]}ce.fn.extend({prop:function(e,t){return R(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,Ct(this)))}):(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,Ct(this)))}):arguments.length?(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,Ct(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=kt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=Ct(this))&&_.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":_.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+Tt(Ct(n))+" ").indexOf(t))return!0;return!1}});var St=/\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?"":e+""})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(St,""):null==e?"":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,"value");return null!=t?t:Tt(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,"optgroup"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Et=ie.location,jt={guid:Date.now()},At=/\?/;ce.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||ce.error("Invalid XML: "+(n?ce.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Dt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||C],d=ue.call(e,"type")?e.type:e,h=ue.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||C,3!==n.nodeType&&8!==n.nodeType&&!Dt.test(d+ce.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[ce.expando]?e:new ce.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||d,Dt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||C)&&p.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(_.get(o,"events")||Object.create(null))[e.type]&&_.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&$(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!$(n)||u&&v(n[d])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Nt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Nt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var qt=/\[\]$/,Lt=/\r?\n/g,Ht=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function Pt(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||qt.test(n)?i(n,t):Pt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==x(e))i(n,e);else for(t in e)Pt(n+"["+t+"]",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Pt(n,e[n],t,i);return r.join("&")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&Ot.test(this.nodeName)&&!Ht.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Lt,"\r\n")}}):{name:t.name,value:n.replace(Lt,"\r\n")}}).get()}});var Rt=/%20/g,Mt=/#.*$/,It=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:GET|HEAD)$/,$t=/^\/\//,Bt={},_t={},Xt="*/".concat("*"),Ut=C.createElement("a");function zt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(D)||[];if(v(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Vt(t,i,o,a){var s={},u=t===_t;function l(e){var r;return s[e]=!0,ce.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Gt(e,t){var n,r,i=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ce.extend(!0,e,r),e}Ut.href=Et.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Xt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,ce.ajaxSettings),t):Gt(ce.ajaxSettings,e)},ajaxPrefilter:zt(Bt),ajaxTransport:zt(_t),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=ce.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?ce(y):ce.event,x=ce.Deferred(),b=ce.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Wt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace($t,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(D)||[""],null==v.crossDomain){r=C.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ut.protocol+"//"+Ut.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=ce.param(v.data,v.traditional)),Vt(Bt,v,t,T),h)return T;for(i in(g=ce.event&&v.global)&&0==ce.active++&&ce.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ft.test(v.type),f=v.url.replace(Mt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Rt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(At.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(It,"$1"),o=(At.test(f)?"&":"?")+"_="+jt.guid+++o),v.url=f+o),v.ifModified&&(ce.lastModified[f]&&T.setRequestHeader("If-Modified-Since",ce.lastModified[f]),ce.etag[f]&&T.setRequestHeader("If-None-Match",ce.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Xt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Vt(_t,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=ie.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&ie.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<ce.inArray("script",v.dataTypes)&&ce.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(ce.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(ce.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--ce.active||ce.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return ce.get(e,t,n,"json")},getScript:function(e,t){return ce.get(e,void 0,t,"script")}}),ce.each(["get","post"],function(e,i){ce[i]=function(e,t,n,r){return v(t)&&(r=r||n,n=t,t=void 0),ce.ajax(ce.extend({url:e,type:i,dataType:r,data:t,success:n},ce.isPlainObject(e)&&e))}}),ce.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),ce._evalUrl=function(e,t,n){return ce.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){ce.globalEval(e,t,n)}})},ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ce.ajaxSettings.xhr=function(){try{return new ie.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Qt=ce.ajaxSettings.xhr();le.cors=!!Qt&&"withCredentials"in Qt,le.ajax=Qt=!!Qt,ce.ajaxTransport(function(i){var o,a;if(le.cors||Qt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Yt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&ie.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=ce("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=Tt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&ce.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?ce("<div>").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var en=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=F,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?"":(e+"").replace(en,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return ce});var tn=ie.jQuery,nn=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=nn),e&&ie.jQuery===ce&&(ie.jQuery=tn),ce},"undefined"==typeof e&&(ie.jQuery=ie.$=ce),ce}); diff --git a/themes/spectral/assets/js/jquery.scrollex.min.js b/themes/spectral/assets/js/jquery.scrollex.min.js new file mode 100644 index 0000000..c511a5c --- /dev/null +++ b/themes/spectral/assets/js/jquery.scrollex.min.js @@ -0,0 +1,2 @@ +/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */ +!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
\ No newline at end of file diff --git a/themes/spectral/assets/js/jquery.scrolly.min.js b/themes/spectral/assets/js/jquery.scrolly.min.js new file mode 100644 index 0000000..5d08850 --- /dev/null +++ b/themes/spectral/assets/js/jquery.scrolly.min.js @@ -0,0 +1,2 @@ +/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */ +(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
\ No newline at end of file diff --git a/themes/spectral/assets/js/main.js b/themes/spectral/assets/js/main.js new file mode 100644 index 0000000..4159b66 --- /dev/null +++ b/themes/spectral/assets/js/main.js @@ -0,0 +1,89 @@ +/* + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +(function($) { + + var $window = $(window), + $body = $('body'), + $wrapper = $('#page-wrapper'), + $banner = $('#banner'), + $header = $('#header'); + + // Breakpoints. + breakpoints({ + xlarge: [ '1281px', '1680px' ], + large: [ '981px', '1280px' ], + medium: [ '737px', '980px' ], + small: [ '481px', '736px' ], + xsmall: [ null, '480px' ] + }); + + // Play initial animations on page load. + $window.on('load', function() { + window.setTimeout(function() { + $body.removeClass('is-preload'); + }, 100); + }); + + // Mobile? + if (browser.mobile) + $body.addClass('is-mobile'); + else { + + breakpoints.on('>medium', function() { + $body.removeClass('is-mobile'); + }); + + breakpoints.on('<=medium', function() { + $body.addClass('is-mobile'); + }); + + } + + // Scrolly. + $('.scrolly') + .scrolly({ + speed: 1500, + offset: $header.outerHeight() + }); + + // Menu. + $('#menu') + .append('<a href="#menu" class="close"></a>') + .appendTo($body) + .panel({ + delay: 500, + hideOnClick: true, + hideOnSwipe: true, + resetScroll: true, + resetForms: true, + side: 'right', + target: $body, + visibleClass: 'is-menu-visible' + }); + + // Header. + if ($banner.length > 0 + && $header.hasClass('alt')) { + + $window.on('resize', function() { $window.trigger('scroll'); }); + + $banner.scrollex({ + bottom: $header.outerHeight() + 1, + terminate: function() { $header.removeClass('alt'); }, + enter: function() { $header.addClass('alt'); }, + leave: function() { $header.removeClass('alt'); } + }); + + } +})(jQuery); + +// clear form to avoid it still being filled after submission +window.onbeforeunload = () => { + for(const form of document.getElementsByTagName('form')) { + form.reset(); + } +} diff --git a/themes/spectral/assets/js/util.js b/themes/spectral/assets/js/util.js new file mode 100644 index 0000000..ecf7b37 --- /dev/null +++ b/themes/spectral/assets/js/util.js @@ -0,0 +1,587 @@ +(function($) { + + /** + * Generate an indented list of links from a nav. Meant for use with panel(). + * @return {jQuery} jQuery object. + */ + $.fn.navList = function() { + + var $this = $(this); + $a = $this.find('a'), + b = []; + + $a.each(function() { + + var $this = $(this), + indent = Math.max(0, $this.parents('li').length - 1), + href = $this.attr('href'), + target = $this.attr('target'); + + b.push( + '<a ' + + 'class="link depth-' + indent + '"' + + ( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') + + ( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') + + '>' + + '<span class="indent-' + indent + '"></span>' + + $this.text() + + '</a>' + ); + + }); + + return b.join(''); + + }; + + /** + * Panel-ify an element. + * @param {object} userConfig User config. + * @return {jQuery} jQuery object. + */ + $.fn.panel = function(userConfig) { + + // No elements? + if (this.length == 0) + return $this; + + // Multiple elements? + if (this.length > 1) { + + for (var i=0; i < this.length; i++) + $(this[i]).panel(userConfig); + + return $this; + + } + + // Vars. + var $this = $(this), + $body = $('body'), + $window = $(window), + id = $this.attr('id'), + config; + + // Config. + config = $.extend({ + + // Delay. + delay: 0, + + // Hide panel on link click. + hideOnClick: false, + + // Hide panel on escape keypress. + hideOnEscape: false, + + // Hide panel on swipe. + hideOnSwipe: false, + + // Reset scroll position on hide. + resetScroll: false, + + // Reset forms on hide. + resetForms: false, + + // Side of viewport the panel will appear. + side: null, + + // Target element for "class". + target: $this, + + // Class to toggle. + visibleClass: 'visible' + + }, userConfig); + + // Expand "target" if it's not a jQuery object already. + if (typeof config.target != 'jQuery') + config.target = $(config.target); + + // Panel. + + // Methods. + $this._hide = function(event) { + + // Already hidden? Bail. + if (!config.target.hasClass(config.visibleClass)) + return; + + // If an event was provided, cancel it. + if (event) { + + event.preventDefault(); + event.stopPropagation(); + + } + + // Hide. + config.target.removeClass(config.visibleClass); + + // Post-hide stuff. + window.setTimeout(function() { + + // Reset scroll position. + if (config.resetScroll) + $this.scrollTop(0); + + // Reset forms. + if (config.resetForms) + $this.find('form').each(function() { + this.reset(); + }); + + }, config.delay); + + }; + + // Vendor fixes. + $this + .css('-ms-overflow-style', '-ms-autohiding-scrollbar') + .css('-webkit-overflow-scrolling', 'touch'); + + // Hide on click. + if (config.hideOnClick) { + + $this.find('a') + .css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); + + $this + .on('click', 'a', function(event) { + + var $a = $(this), + href = $a.attr('href'), + target = $a.attr('target'); + + if (!href || href == '#' || href == '' || href == '#' + id) + return; + + // Cancel original event. + event.preventDefault(); + event.stopPropagation(); + + // Hide panel. + $this._hide(); + + // Redirect to href. + window.setTimeout(function() { + + if (target == '_blank') + window.open(href); + else + window.location.href = href; + + }, config.delay + 10); + + }); + + } + + // Event: Touch stuff. + $this.on('touchstart', function(event) { + + $this.touchPosX = event.originalEvent.touches[0].pageX; + $this.touchPosY = event.originalEvent.touches[0].pageY; + + }) + + $this.on('touchmove', function(event) { + + if ($this.touchPosX === null + || $this.touchPosY === null) + return; + + var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX, + diffY = $this.touchPosY - event.originalEvent.touches[0].pageY, + th = $this.outerHeight(), + ts = ($this.get(0).scrollHeight - $this.scrollTop()); + + // Hide on swipe? + if (config.hideOnSwipe) { + + var result = false, + boundary = 20, + delta = 50; + + switch (config.side) { + + case 'left': + result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta); + break; + + case 'right': + result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta)); + break; + + case 'top': + result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta); + break; + + case 'bottom': + result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta)); + break; + + default: + break; + + } + + if (result) { + + $this.touchPosX = null; + $this.touchPosY = null; + $this._hide(); + + return false; + + } + + } + + // Prevent vertical scrolling past the top or bottom. + if (($this.scrollTop() < 0 && diffY < 0) + || (ts > (th - 2) && ts < (th + 2) && diffY > 0)) { + + event.preventDefault(); + event.stopPropagation(); + + } + + }); + + // Event: Prevent certain events inside the panel from bubbling. + $this.on('click touchend touchstart touchmove', function(event) { + event.stopPropagation(); + }); + + // Event: Hide panel if a child anchor tag pointing to its ID is clicked. + $this.on('click', 'a[href="#' + id + '"]', function(event) { + + event.preventDefault(); + event.stopPropagation(); + + config.target.removeClass(config.visibleClass); + + }); + + // Body. + + // Event: Hide panel on body click/tap. + $body.on('click touchend', function(event) { + $this._hide(event); + }); + + // Event: Toggle. + $body.on('click', 'a[href="#' + id + '"]', function(event) { + + event.preventDefault(); + event.stopPropagation(); + + config.target.toggleClass(config.visibleClass); + + }); + + // Window. + + // Event: Hide on ESC. + if (config.hideOnEscape) + $window.on('keydown', function(event) { + + if (event.keyCode == 27) + $this._hide(event); + + }); + + return $this; + + }; + + /** + * Apply "placeholder" attribute polyfill to one or more forms. + * @return {jQuery} jQuery object. + */ + $.fn.placeholder = function() { + + // Browser natively supports placeholders? Bail. + if (typeof (document.createElement('input')).placeholder != 'undefined') + return $(this); + + // No elements? + if (this.length == 0) + return $this; + + // Multiple elements? + if (this.length > 1) { + + for (var i=0; i < this.length; i++) + $(this[i]).placeholder(); + + return $this; + + } + + // Vars. + var $this = $(this); + + // Text, TextArea. + $this.find('input[type=text],textarea') + .each(function() { + + var i = $(this); + + if (i.val() == '' + || i.val() == i.attr('placeholder')) + i + .addClass('polyfill-placeholder') + .val(i.attr('placeholder')); + + }) + .on('blur', function() { + + var i = $(this); + + if (i.attr('name').match(/-polyfill-field$/)) + return; + + if (i.val() == '') + i + .addClass('polyfill-placeholder') + .val(i.attr('placeholder')); + + }) + .on('focus', function() { + + var i = $(this); + + if (i.attr('name').match(/-polyfill-field$/)) + return; + + if (i.val() == i.attr('placeholder')) + i + .removeClass('polyfill-placeholder') + .val(''); + + }); + + // Password. + $this.find('input[type=password]') + .each(function() { + + var i = $(this); + var x = $( + $('<div>') + .append(i.clone()) + .remove() + .html() + .replace(/type="password"/i, 'type="text"') + .replace(/type=password/i, 'type=text') + ); + + if (i.attr('id') != '') + x.attr('id', i.attr('id') + '-polyfill-field'); + + if (i.attr('name') != '') + x.attr('name', i.attr('name') + '-polyfill-field'); + + x.addClass('polyfill-placeholder') + .val(x.attr('placeholder')).insertAfter(i); + + if (i.val() == '') + i.hide(); + else + x.hide(); + + i + .on('blur', function(event) { + + event.preventDefault(); + + var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]'); + + if (i.val() == '') { + + i.hide(); + x.show(); + + } + + }); + + x + .on('focus', function(event) { + + event.preventDefault(); + + var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']'); + + x.hide(); + + i + .show() + .focus(); + + }) + .on('keypress', function(event) { + + event.preventDefault(); + x.val(''); + + }); + + }); + + // Events. + $this + .on('submit', function() { + + $this.find('input[type=text],input[type=password],textarea') + .each(function(event) { + + var i = $(this); + + if (i.attr('name').match(/-polyfill-field$/)) + i.attr('name', ''); + + if (i.val() == i.attr('placeholder')) { + + i.removeClass('polyfill-placeholder'); + i.val(''); + + } + + }); + + }) + .on('reset', function(event) { + + event.preventDefault(); + + $this.find('select') + .val($('option:first').val()); + + $this.find('input,textarea') + .each(function() { + + var i = $(this), + x; + + i.removeClass('polyfill-placeholder'); + + switch (this.type) { + + case 'submit': + case 'reset': + break; + + case 'password': + i.val(i.attr('defaultValue')); + + x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]'); + + if (i.val() == '') { + i.hide(); + x.show(); + } + else { + i.show(); + x.hide(); + } + + break; + + case 'checkbox': + case 'radio': + i.attr('checked', i.attr('defaultValue')); + break; + + case 'text': + case 'textarea': + i.val(i.attr('defaultValue')); + + if (i.val() == '') { + i.addClass('polyfill-placeholder'); + i.val(i.attr('placeholder')); + } + + break; + + default: + i.val(i.attr('defaultValue')); + break; + + } + }); + + }); + + return $this; + + }; + + /** + * Moves elements to/from the first positions of their respective parents. + * @param {jQuery} $elements Elements (or selector) to move. + * @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations. + */ + $.prioritize = function($elements, condition) { + + var key = '__prioritize'; + + // Expand $elements if it's not already a jQuery object. + if (typeof $elements != 'jQuery') + $elements = $($elements); + + // Step through elements. + $elements.each(function() { + + var $e = $(this), $p, + $parent = $e.parent(); + + // No parent? Bail. + if ($parent.length == 0) + return; + + // Not moved? Move it. + if (!$e.data(key)) { + + // Condition is false? Bail. + if (!condition) + return; + + // Get placeholder (which will serve as our point of reference for when this element needs to move back). + $p = $e.prev(); + + // Couldn't find anything? Means this element's already at the top, so bail. + if ($p.length == 0) + return; + + // Move element to top of parent. + $e.prependTo($parent); + + // Mark element as moved. + $e.data(key, $p); + + } + + // Moved already? + else { + + // Condition is true? Bail. + if (condition) + return; + + $p = $e.data(key); + + // Move element back to its original location (using our placeholder). + $e.insertAfter($p); + + // Unmark element as moved. + $e.removeData(key); + + } + + }); + + }; + +})(jQuery);
\ No newline at end of file diff --git a/themes/spectral/config.toml b/themes/spectral/config.toml new file mode 100644 index 0000000..389a285 --- /dev/null +++ b/themes/spectral/config.toml @@ -0,0 +1,4 @@ +[module] + [module.hugoVersion] + extended = false + min = "0.60.0" diff --git a/themes/spectral/exampleSite/archetypes/default.md b/themes/spectral/exampleSite/archetypes/default.md new file mode 100644 index 0000000..f5a9e45 --- /dev/null +++ b/themes/spectral/exampleSite/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .TranslationBaseName "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/themes/spectral/exampleSite/config.toml b/themes/spectral/exampleSite/config.toml new file mode 100644 index 0000000..3ec9bde --- /dev/null +++ b/themes/spectral/exampleSite/config.toml @@ -0,0 +1,159 @@ +baseURL = "/" +title = "Spectral" +languageCode = "en-us" +defaultContentLanguage = "en" +paginate = "7" +theme = "spectral" +#googleAnalytics = "G-XXXXXXXXXX" + +[params] +fancyTitle = "Spectral" # title for frontpage, may include image +copyright = "John Doe" +description = 'Another fine responsive<br />site template freebie<br />crafted by <a href="http://html5up.net">HTML5 UP</a>.<br />Ported to <a href="//gohugo.io">Hugo</a> by Simon Bruder.' +startbuttonText = "Activate" +startbuttonLink = "#" +body_is_markdown = true +#custom_css = "foo.css" +#custom_sass = "bar.scss" +#images = ["path_to_social_image_for_link_previews.jpg"] + +[[params.menu.main]] +url = '/' +title = "Home" + +[[params.menu.main]] +url = '/posts/' +title = "Posts" + +[taxonomies] + tag = "tags" + category = "categories" + series = "series" + +[params.one] +enable = true +title = 'Arcu aliquet vel lobortis ata nisl<br />eget augue amet aliquet nisl cep donec' +body = ''' +Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper. +''' + +[[params.one.icon]] +icon = "fa-gem" +style = "1" +label = "Lorem" + +[[params.one.icon]] +icon = "fa-heart" +style = "2" +label = "Ipsum" + +[[params.one.icon]] +icon = "solid fa-code" +style = "3" +label = "Dolor" + +[params.two] +enable = true + +[[params.two.section]] +img = "img/pic01.jpg" +img_alt = "blurry background: white/grey" +title = 'Magna primis lobortis<br />sed ullamcorper' +body = 'Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.' + +[[params.two.section]] +img = "img/pic02.jpg" +title = 'Tortor dolore feugiat<br />elementum magna' +body = 'Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.' + +[[params.two.section]] +img = "img/pic03.jpg" +title = 'Magna primis lobortis<br />sed ullamcorper' +body = 'Aliquam ut ex ut augue consectetur interdum. Donec hendrerit imperdiet. Mauris eleifend fringilla nullam aenean mi ligula.' + +[params.three] +enable = true +title = 'Accumsan mus tortor nunc aliquet' +body = ''' +Aliquam ut ex ut augue consectetur interdum. Donec amet imperdiet eleifend +fringilla tincidunt. Nullam dui leo Aenean mi ligula, rhoncus ullamcorper. +''' + +[[params.three.feature]] +icon = "fa-paper-plane" +title = "Arcu accumsan" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "solid fa-laptop" +title = "Ac Augue Eget" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "solid fa-code" +title = "Foo bar" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "solid fa-headphones-alt" +title = "Baz kram" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "fa-heart" +title = "Some latin text" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[[params.three.feature]] +icon = "fa-flag" +title = "Nothing important" +body = "Augue consectetur sed interdum imperdiet et ipsum. Mauris lorem tincidunt nullam amet leo Aenean ligula consequat consequat." + +[params.cta] +enable = true +title = "Arcue ut vel commodo" +body = "Aliquam ut ex ut augue consectetur interdum endrerit imperdiet amet eleifend fringilla." + +[[params.cta.link]] +href = "#" +text = "Activate" +special = true + +[[params.cta.link]] +href = "#" +text = "Learn More" +special = false + +[params.contact] +enable = true +title = "Contact" +body = "Leave us a message." +phone = "+49 (0) 030 000 000" +address = "1234 Somewhere Road<br />Some Place, Some State 0000<br />Some Country" +email = "nospam@example.com" +subject = "New Submission!" +formspree_form_id = "example_invalid" + +[params.social] +twitter = "" +mastodon = "" +github = "" +facebook = "" +youtube = "" +instagram = "" +dribble = "" + +# language specific options + +[languages.en] +weight = 0 +languageName = "English" + +[languages.de] +weight = 10 +languageName = "Deutsch" + +[languages.es] +weight = 10 +languageName = "Español" diff --git a/themes/spectral/exampleSite/content/.gitkeep b/themes/spectral/exampleSite/content/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/themes/spectral/exampleSite/content/.gitkeep diff --git a/themes/spectral/exampleSite/content/posts/_index.md b/themes/spectral/exampleSite/content/posts/_index.md new file mode 100644 index 0000000..8a084d9 --- /dev/null +++ b/themes/spectral/exampleSite/content/posts/_index.md @@ -0,0 +1,6 @@ ++++ +aliases = ["posts", "articles", "blog", "showcase", "docs"] +title = "Posts" +author = "Hugo Authors" +tags = ["index"] ++++ diff --git a/themes/spectral/exampleSite/content/posts/emoji-support.md b/themes/spectral/exampleSite/content/posts/emoji-support.md new file mode 100644 index 0000000..dc3589a --- /dev/null +++ b/themes/spectral/exampleSite/content/posts/emoji-support.md @@ -0,0 +1,46 @@ ++++ +author = "Hugo Authors" +title = "Emoji Support" +date = "2019-03-05" +description = "Guide to emoji usage in Hugo" +tags = [ + "emoji", +] ++++ + +Emoji can be enabled in a Hugo project in a number of ways. +<!--more--> +The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). + +To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. + +<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p> +<br> + +The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. + +*** + +**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. + +{{< highlight html >}} +.emoji { + font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; +} +{{< /highlight >}} + +{{< css.inline >}} +<style> +.emojify { + font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; + font-size: 2rem; + vertical-align: middle; +} +@media screen and (max-width:650px) { + .nowrap { + display: block; + margin: 25px 0; + } +} +</style> +{{< /css.inline >}} diff --git a/themes/spectral/exampleSite/content/posts/markdown-syntax.md b/themes/spectral/exampleSite/content/posts/markdown-syntax.md new file mode 100644 index 0000000..06990d7 --- /dev/null +++ b/themes/spectral/exampleSite/content/posts/markdown-syntax.md @@ -0,0 +1,148 @@ ++++ +author = "Hugo Authors" +title = "Markdown Syntax Guide" +date = "2019-03-11" +description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +tags = [ + "markdown", + "css", + "html", +] +categories = [ + "themes", + "syntax", +] +series = ["Themes Guide"] +aliases = ["migrate-from-jekyl"] ++++ + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. +<!--more--> + +## Headings + +The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +#### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use *Markdown syntax* within a blockquote. + +#### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.<br> +> — <cite>Rob Pike[^1]</cite> + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. + + Name | Age +--------|------ + Bob | 27 + Alice | 23 + +#### Inline Markdown within tables + +| Italics | Bold | Code | +| -------- | -------- | ------ | +| *italics* | **bold** | `code` | + +## Code Blocks + +#### Code block with backticks + +```html +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Example HTML5 Document</title> +</head> +<body> + <p>Test</p> +</body> +</html> +``` + +#### Code block indented with four spaces + + <!doctype html> + <html lang="en"> + <head> + <meta charset="utf-8"> + <title>Example HTML5 Document</title> + </head> + <body> + <p>Test</p> + </body> + </html> + +#### Code block with Hugo's internal highlight shortcode +{{< highlight html >}} +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Example HTML5 Document</title> +</head> +<body> + <p>Test</p> +</body> +</html> +{{< /highlight >}} + +## List Types + +#### Ordered List + +1. First item +2. Second item +3. Third item + +#### Unordered List + +* List item +* Another item +* And another item + +#### Nested list + +* Fruit + * Apple + * Orange + * Banana +* Dairy + * Milk + * Cheese + +## Other Elements — abbr, sub, sup, kbd, mark + +<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format. + +H<sub>2</sub>O + +X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup> + +Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session. + +Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/themes/spectral/exampleSite/content/posts/math-typesetting.md b/themes/spectral/exampleSite/content/posts/math-typesetting.md new file mode 100644 index 0000000..48fdc79 --- /dev/null +++ b/themes/spectral/exampleSite/content/posts/math-typesetting.md @@ -0,0 +1,49 @@ +--- +author: Hugo Authors +title: Math Typesetting +date: 2019-03-08 +description: A brief guide to setup KaTeX +math: true +--- + +Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. +<!--more--> + +In this example we will be using [KaTeX](https://katex.org/) + +- Create a partial under `/layouts/partials/math.html` +- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. +- Include the partial in your templates like so: + +```bash +{{ if or .Params.math .Site.Params.math }} +{{ partial "math.html" . }} +{{ end }} +``` + +- To enable KaTex globally set the parameter `math` to `true` in a project's configuration +- To enable KaTex on a per page basis include the parameter `math: true` in content files + +**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) + +{{< math.inline >}} +{{ if or .Page.Params.math .Site.Params.math }} +<!-- KaTeX --> +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous"> +<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script> +<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script> +{{ end }} +{{</ math.inline >}} + +### Examples + +{{< math.inline >}} +<p> +Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) +</p> +{{</ math.inline >}} + +Block math: +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/spectral/exampleSite/content/posts/placeholder-text.md b/themes/spectral/exampleSite/content/posts/placeholder-text.md new file mode 100644 index 0000000..9ed5f69 --- /dev/null +++ b/themes/spectral/exampleSite/content/posts/placeholder-text.md @@ -0,0 +1,45 @@ ++++ +author = "Hugo Authors" +title = "Placeholder Text" +date = "2019-03-09" +description = "Lorem Ipsum Dolor Si Amet" +tags = [ + "markdown", + "text", +] ++++ + +Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +# Vagus elidunt + +<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg> + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +## Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. + +{{< css.inline >}} +<style> +.canon { background: white; width: 100%; height: auto; } +</style> +{{< /css.inline >}} diff --git a/themes/spectral/exampleSite/content/posts/rich-content.md b/themes/spectral/exampleSite/content/posts/rich-content.md new file mode 100644 index 0000000..8614716 --- /dev/null +++ b/themes/spectral/exampleSite/content/posts/rich-content.md @@ -0,0 +1,26 @@ ++++ +author = "Hugo Authors" +title = "Rich Content" +date = "2019-03-10" +description = "A brief description of Hugo Shortcodes" +tags = [ + "shortcodes", + "privacy", +] ++++ + +Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. +<!--more--> +--- + +## YouTube Privacy Enhanced Shortcode + +{{< youtube ZJthWmvUzzc >}} + +<br> + +--- + +## Vimeo Simple Shortcode + +{{< vimeo_simple 48912912 >}} diff --git a/themes/spectral/i18n/de.toml b/themes/spectral/i18n/de.toml new file mode 100644 index 0000000..a5d1f3e --- /dev/null +++ b/themes/spectral/i18n/de.toml @@ -0,0 +1,32 @@ +[menu] +other = "Menü" + +[learnmore] +other = "Mehr Erfahren" + +[name] +other = "Name" + +[email] +other = "E-Mail" + +[phone] +other = "Telefon" + +[address] +other = "Adresse" + +[yourmessage] +other = "Ihre Nachricht" + +[send] +other = "senden" + +[reset] +other = "zurücksetzen" + +[allarticles] +other = "Alle Artikel" + +[readmore] +other = "Weiterlesen…" diff --git a/themes/spectral/i18n/en.toml b/themes/spectral/i18n/en.toml new file mode 100644 index 0000000..676d8a4 --- /dev/null +++ b/themes/spectral/i18n/en.toml @@ -0,0 +1,32 @@ +[menu] +other = "Menu" + +[learnmore] +other = "Learn More" + +[name] +other = "Name" + +[email] +other = "Email" + +[phone] +other = "Phone" + +[address] +other = "Address" + +[yourmessage] +other = "Your Message" + +[send] +other = "send" + +[reset] +other = "reset" + +[allarticles] +other = "all articles" + +[readmore] +other = "Read more…" diff --git a/themes/spectral/i18n/es.toml b/themes/spectral/i18n/es.toml new file mode 100644 index 0000000..bcbd6e1 --- /dev/null +++ b/themes/spectral/i18n/es.toml @@ -0,0 +1,32 @@ +[menu] +other = "Menú" + +[learnmore] +other = "Saber más" + +[name] +other = "Nombre" + +[email] +other = "Correo electrónico" + +[phone] +other = "Teléfono" + +[address] +other = "Dirección" + +[yourmessage] +other = "Su Mensaje" + +[send] +other = "enviar" + +[reset] +other = "limpiar" + +[allarticles] +other = "todos los artículos" + +[readmore] +other = "Leer más…" diff --git a/themes/spectral/images/screenshot.png b/themes/spectral/images/screenshot.png Binary files differnew file mode 100644 index 0000000..5fadb12 --- /dev/null +++ b/themes/spectral/images/screenshot.png diff --git a/themes/spectral/images/tn.png b/themes/spectral/images/tn.png Binary files differnew file mode 100644 index 0000000..8199476 --- /dev/null +++ b/themes/spectral/images/tn.png diff --git a/themes/spectral/layouts/_default/list.html b/themes/spectral/layouts/_default/list.html new file mode 100644 index 0000000..55049fb --- /dev/null +++ b/themes/spectral/layouts/_default/list.html @@ -0,0 +1,14 @@ +{{ partial "header.html" . }} +<article id="main"> + <header {{ with .Params.image }}style="background-image: url('{{ . }}')"{{ end }}> + <h2>{{ i18n "allarticles" }}</h2> + {{ with .Params.subtitle }} + <p>{{ . }}</p> + {{ end }} + </header> + {{ range .Paginator.Pages }} + {{ partial "summary.html" . }} + {{ end }} + {{ partial "pagination.html" . }} +</article> +{{ partial "footer.html" . }} diff --git a/themes/spectral/layouts/_default/single.html b/themes/spectral/layouts/_default/single.html new file mode 100644 index 0000000..dabce37 --- /dev/null +++ b/themes/spectral/layouts/_default/single.html @@ -0,0 +1,15 @@ +{{ partial "header.html" . }} +<article id="main"> + <header {{ with .Params.image }}style="background-image: url('{{ . }}')"{{ end }}> + <h2>{{ .Title }}</h2> + {{ with .Params.subtitle }} + <p>{{ . }}</p> + {{ end }} + </header> + <section class="wrapper style5"> + <div class="inner"> + {{ .Content }} + </div> + </section> +</article> +{{ partial "footer.html" . }} diff --git a/themes/spectral/layouts/index.html b/themes/spectral/layouts/index.html new file mode 100644 index 0000000..b8c14ac --- /dev/null +++ b/themes/spectral/layouts/index.html @@ -0,0 +1,15 @@ +{{ partial "header.html" . }} + +{{ partial "banner.html" . }} + +{{ partial "one.html" . }} + +{{ partial "two.html" . }} + +{{ partial "three.html" . }} + +{{ partial "cta.html" . }} + +{{ partial "contact.html" . }} + +{{ partial "footer.html" . }} diff --git a/themes/spectral/layouts/partials/banner.html b/themes/spectral/layouts/partials/banner.html new file mode 100644 index 0000000..d859f01 --- /dev/null +++ b/themes/spectral/layouts/partials/banner.html @@ -0,0 +1,12 @@ +<section id="banner"> + <div class="inner"> + <h2>{{ .Site.Params.fancytitle | safeHTML }}</h2> + <p>{{ .Site.Params.description | safeHTML }}</p> + {{ if and .Site.Params.startbuttonText .Site.Params.startbuttonLink }} + <ul class="actions special"> + <li><a href="{{ .Site.Params.StartbuttonLink }}" class="button primary">{{ .Site.Params.StartbuttonText }}</a></li> + </ul> + {{ end }} + </div> + <a href="#one" class="more scrolly">{{ i18n "learnmore" }}</a> +</section> diff --git a/themes/spectral/layouts/partials/body_text.html b/themes/spectral/layouts/partials/body_text.html new file mode 100644 index 0000000..6ede9ba --- /dev/null +++ b/themes/spectral/layouts/partials/body_text.html @@ -0,0 +1,10 @@ +{{ if .md }} + {{ $md_body := .context.body | markdownify }} + {{ if not (in $md_body "<p>") }} + {{ printf "<p>%s</p>" $md_body | safeHTML }} + {{ else }} + {{ $md_body }} + {{ end }} +{{ else }} +<p>{{ .context.body | safeHTML }}</p> +{{ end }} diff --git a/themes/spectral/layouts/partials/contact.html b/themes/spectral/layouts/partials/contact.html new file mode 100644 index 0000000..3cadd25 --- /dev/null +++ b/themes/spectral/layouts/partials/contact.html @@ -0,0 +1,34 @@ +{{ $md := .Site.Params.body_is_markdown | default false }} + +{{ with .Site.Params.contact }} +{{ if .enable }} +<section id="contact" class="wrapper style5"> + <div class="inner"> + <header class="major"> + <h2>{{ .title }}</h2> + {{ partial "body_text.html" (dict "context" . "md" $md) }} + </header> + <form method="post" action="https://formspree.io/f/{{ .formspree_form_id }}"> + <div class="row gtr-uniform"> + <input type="hidden" name="subject" value="{{ .subject }}" /> + <div class="col-6 col-12-xsmall"> + <input type="text" name="name" id="name" value="" placeholder="{{ i18n "name" }}" required /> + </div> + <div class="col-6 col-12-xsmall"> + <input type="email" name="email" id="email" value="" placeholder="{{ i18n "email" }}" required /> + </div> + <div class="col-12"> + <textarea name="message" id="message" placeholder="{{ i18n "yourmessage" }}" rows="6" required></textarea> + </div> + <div class="col-12"> + <ul class="actions"> + <li><input type="submit" value="{{ i18n "send" }}" class="primary" /></li> + <li><input type="reset" value="{{ i18n "reset" }}" /></li> + </ul> + </div> + </div> + </form> + </div> +</section> +{{ end }} +{{ end }} diff --git a/themes/spectral/layouts/partials/cta.html b/themes/spectral/layouts/partials/cta.html new file mode 100644 index 0000000..8012033 --- /dev/null +++ b/themes/spectral/layouts/partials/cta.html @@ -0,0 +1,19 @@ +{{ $md := .Site.Params.body_is_markdown | default false }} + +{{ with .Site.Params.cta }} +{{ if .enable }} +<section id="cta" class="wrapper style4"> + <div class="inner"> + <header> + <h2>{{ .title | safeHTML }}</h2> + {{ partial "body_text.html" (dict "context" . "md" $md) }} + </header> + <ul class="actions stacked"> + {{ range .link }} + <li><a href="{{ .href }}" class="button fit {{ if .special }}primary{{ end }}">{{ .text }}</a></li> + {{ end }} + </ul> + </div> +</section> +{{ end }} +{{ end }} diff --git a/themes/spectral/layouts/partials/footer.html b/themes/spectral/layouts/partials/footer.html new file mode 100644 index 0000000..f2f8c70 --- /dev/null +++ b/themes/spectral/layouts/partials/footer.html @@ -0,0 +1,43 @@ + <!-- Footer --> + <footer id="footer"> + <ul class="icons"> + {{ with .Site.Params.social.twitter }} + <li><a href="https://twitter.com/{{ . }}" class="icon brands fa-twitter"><span class="label">Twitter</span></a></li> + {{ end }} + {{ with .Site.Params.social.mastodon }} + <li><a href="https://mastodon.social/{{ . }}" class="icon brands fa-mastodon"><span class="label">Mastodon</span></a></li> + {{ end }} + {{ with .Site.Params.social.github }} + <li><a href="https://github.com/{{ . }}" class="icon brands fa-github"><span class="label">GitHub</span></a></li> + {{ end }} + {{ with .Site.Params.social.facebook }} + <li><a href="https://facebook.com/{{ . }}" class="icon brands fa-facebook"><span class="label">Facebook</span></a></li> + {{ end }} + {{ with .Site.Params.social.youtube }} + <li><a href="https://youtube.com/{{ . }}" class="icon brands fa-youtube"><span class="label">GitHub</span></a></li> + {{ end }} + {{ with .Site.Params.social.instagram }} + <li><a href="https://instagram.com/{{ . }}" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li> + {{ end }} + {{ with .Site.Params.social.dribble }} + <li><a href="https://dribble.com/{{ . }}" class="icon brands fa-dribbble"><span class="label">Dribbble</span></a></li> + {{ end }} + {{ with .Site.Params.contact.email }} + <li><a href="mailto:{{ . }}" class="icon solid fa-envelope"><span class="label">Email</span></a></li> + {{ end }} + {{ with .Site.Params.contact.phone }} + <li><a href="tel:{{ . }}" class="icon solid fa-phone"><span class="label">Phone</span></a></li> + {{ end }} + + </ul> + <ul class="copyright"> + <li>© {{ now.Year }} {{.Site.Params.copyright | safeHTML }}</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li> + </ul> + </footer> + + </div> + + {{ partial "scripts.html" . }} + + </body> +</html> diff --git a/themes/spectral/layouts/partials/header.html b/themes/spectral/layouts/partials/header.html new file mode 100644 index 0000000..b58b655 --- /dev/null +++ b/themes/spectral/layouts/partials/header.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML> +<!-- + Spectral by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +--> +<html lang="{{ .Site.Language.Lang | default "en-us" }}"> + <head> + <title>{{ .Title }}</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="referrer" content="origin"> + + {{ template "_internal/google_analytics.html" . }} + + {{ with .Site.Params.description }}<meta name="description" content="{{ . | plainify }}">{{ end }} + {{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }} + {{ range .AlternativeOutputFormats -}} + {{ printf `<link rel="%s" type="%s" href="%s" title="%s">` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} + {{ end -}} + {{ hugo.Generator }} + + {{ partial "stylesheets.html" . }} + {{ range .Translations }} + <link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}"> + {{ end }} + {{ template "_internal/twitter_cards.html" . }} + {{ template "_internal/opengraph.html" . }} + {{ partial "hooks/head-end.html" . }} + </head> + <body class="landing is-preload"> + + <!-- Page Wrapper --> + <div id="page-wrapper"> + + <!-- Header --> + <header id="header"{{ if .Page.IsHome }} class="alt"{{ end }}> + <h1><a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a></h1> + <nav id="nav"> + <ul> + <li class="special"> + <a href="#menu" class="menuToggle" aria-label='{{ i18n "menu" }}'><span>{{ i18n "menu" }}</span></a> + <div id="menu"> + <ul> + {{ range .Site.Params.menu.main }} + <li><a href="{{ .url | relURL }}">{{ .title }}</a></li> + {{ end }} + </ul> + </div> + </li> + </ul> + </nav> + </header> diff --git a/themes/spectral/layouts/partials/hooks/head-end.html b/themes/spectral/layouts/partials/hooks/head-end.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/themes/spectral/layouts/partials/hooks/head-end.html diff --git a/themes/spectral/layouts/partials/one.html b/themes/spectral/layouts/partials/one.html new file mode 100644 index 0000000..a8b166f --- /dev/null +++ b/themes/spectral/layouts/partials/one.html @@ -0,0 +1,20 @@ +{{ $md := .Site.Params.body_is_markdown | default false }} + +{{ with .Site.Params.one }} +{{ if .enable }} + <section id="one" class="wrapper style1 special"> + <div class="inner"> + <header class="major"> + <h2>{{ .title | safeHTML}}</h2> + + {{ partial "body_text.html" (dict "context" . "md" $md) }} + </header> + <ul class="icons major"> + {{ range .icon }} + <li><span class="icon {{ .icon }} major style{{ .style }}"><span class="label">{{ .label }}</span></span></li> + {{ end }} + </ul> + </div> + </section> +{{ end }} +{{ end }} diff --git a/themes/spectral/layouts/partials/pagination.html b/themes/spectral/layouts/partials/pagination.html new file mode 100644 index 0000000..04c3c94 --- /dev/null +++ b/themes/spectral/layouts/partials/pagination.html @@ -0,0 +1,13 @@ +<div class="wrapper style5"> + <div class="inner align-center"> +{{ if .Paginator.HasPrev }} + <a href="{{ .Paginator.First.URL }}">«</a> + <a href="{{ .Paginator.Prev.URL }}">‹</a> +{{ end }} +{{ .Paginator.PageNumber }} +{{ if .Paginator.HasNext }} + <a href="{{ .Paginator.Next.URL }}">›</a> + <a href="{{ .Paginator.Last.URL }}">»</a> +{{ end }} + </div> +</div> diff --git a/themes/spectral/layouts/partials/scripts.html b/themes/spectral/layouts/partials/scripts.html new file mode 100644 index 0000000..85c455c --- /dev/null +++ b/themes/spectral/layouts/partials/scripts.html @@ -0,0 +1,11 @@ +{{ $jquery := resources.Get "js/jquery.min.js" }} +{{ $jquery_scrollex := resources.Get "js/jquery.scrollex.min.js" }} +{{ $jquery_scrolly := resources.Get "js/jquery.scrolly.min.js" }} +{{ $browser := resources.Get "js/browser.min.js" }} +{{ $breakpoints := resources.Get "js/breakpoints.min.js" }} +{{ $util := resources.Get "js/util.js" }} +{{ $main := resources.Get "js/main.js" }} + +{{ $js := slice $jquery $jquery_scrollex $jquery_scrolly $browser $breakpoints $util $main | resources.Concat "js/bundle.js" | minify | fingerprint "sha512" }} + +<script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}"></script> diff --git a/themes/spectral/layouts/partials/stylesheets.html b/themes/spectral/layouts/partials/stylesheets.html new file mode 100644 index 0000000..911908a --- /dev/null +++ b/themes/spectral/layouts/partials/stylesheets.html @@ -0,0 +1,15 @@ +{{ $css := resources.Get "css/main.css" | minify | fingerprint "sha512" }} +<link rel="stylesheet" href="{{ $css.RelPermalink }}" integrity="{{ $css.Data.Integrity }}"> + +{{ $noscript_css := resources.Get "css/noscript.css" | minify | fingerprint "sha512" }} +<noscript><link rel="stylesheet" href="{{ $noscript_css.RelPermalink }}" integrity="{{ $noscript_css.Data.Integrity }}"></noscript> + +{{ with .Site.Params.custom_css }} +{{ $custom_css := resources.Get . | minify | fingerprint "sha512" }} +<link rel="stylesheet" href="{{ $custom_css.RelPermalink }}" integrity="{{ $custom_css.Data.Integrity }}"> +{{ end }} + +{{ with .Site.Params.custom_sass }} +{{ $custom_sass := resources.Get . | resources.ToCSS | minify | fingerprint "sha512" }} +<link rel="stylesheet" href="{{ $custom_sass.RelPermalink }}" integrity="{{ $custom_sass.Data.Integrity }}"> +{{ end }} diff --git a/themes/spectral/layouts/partials/summary.html b/themes/spectral/layouts/partials/summary.html new file mode 100644 index 0000000..907e829 --- /dev/null +++ b/themes/spectral/layouts/partials/summary.html @@ -0,0 +1,10 @@ +<section class="wrapper style5"> + <div class="inner"> + <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2> + <time class="icon fa-clock-o">{{ .Date.Format "02.01.2006 15:04" }}</time> + <p>{{ .Summary }}</p> + {{ if .Truncated }} + <a href="{{ .Permalink }}">{{ i18n "readmore" }}</a> + {{ end }} + </div> +</section> diff --git a/themes/spectral/layouts/partials/three.html b/themes/spectral/layouts/partials/three.html new file mode 100644 index 0000000..e1ed2b7 --- /dev/null +++ b/themes/spectral/layouts/partials/three.html @@ -0,0 +1,22 @@ +{{ $md := .Site.Params.body_is_markdown | default false }} + +{{ with .Site.Params.three }} +{{ if .enable }} +<section id="three" class="wrapper style3 special"> + <div class="inner"> + <header class="major"> + <h2>{{ .title | safeHTML }}</h2> + {{ partial "body_text.html" (dict "context" . "md" $md) }} + </header> + <ul class="features"> + {{ range .feature }} + <li class="icon {{ .icon }}"> + <h3>{{ .title | safeHTML }}</h3> + <p>{{ .body | safeHTML }}</p> + </li> + {{ end }} + </ul> + </div> +</section> +{{ end }} +{{ end }} diff --git a/themes/spectral/layouts/partials/two.html b/themes/spectral/layouts/partials/two.html new file mode 100644 index 0000000..fc1bdd0 --- /dev/null +++ b/themes/spectral/layouts/partials/two.html @@ -0,0 +1,21 @@ +{{ $md := .Site.Params.body_is_markdown | default false }} + +{{ with .Site.Params.two }} +{{ if .enable }} +<section id="two" class="wrapper alt style2"> + {{ range .section }} + <section class="spotlight"> + {{ if .img }} + <div class="image"> + <img src="{{ .img | relURL }}" {{ with .img_alt }}alt="{{ . }}"{{ end }} /> + </div> + {{ end }} + <div class="content"> + <h2>{{ .title | safeHTML }}</h2> + {{ partial "body_text.html" (dict "context" . "md" $md) }} + </div> + </section> + {{ end }} +</section> +{{ end }} +{{ end }} diff --git a/themes/spectral/static/css/fontawesome-all.min.css b/themes/spectral/static/css/fontawesome-all.min.css new file mode 100644 index 0000000..84dbeb8 --- /dev/null +++ b/themes/spectral/static/css/fontawesome-all.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
\ No newline at end of file diff --git a/themes/spectral/static/css/images/arrow.svg b/themes/spectral/static/css/images/arrow.svg new file mode 100644 index 0000000..7baae67 --- /dev/null +++ b/themes/spectral/static/css/images/arrow.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30px" height="30px" viewBox="0 0 30 30" zoomAndPan="disable" preserveAspectRatio="none"> + <style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 3; } ]]></style> + <line x1="0" y1="15" x2="15" y2="30" /> + <line x1="30" y1="15" x2="15" y2="30" /> + <line x1="15" y1="30" x2="15" y2="0" /> +</svg> diff --git a/themes/spectral/static/css/images/bars.svg b/themes/spectral/static/css/images/bars.svg new file mode 100644 index 0000000..467fb97 --- /dev/null +++ b/themes/spectral/static/css/images/bars.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" zoomAndPan="disable" preserveAspectRatio="none"> + <style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 2; } ]]></style> + <line x1="0" y1="1" x2="16" y2="1" /> + <line x1="0" y1="7" x2="16" y2="7" /> + <line x1="0" y1="13" x2="16" y2="13" /> +</svg>
\ No newline at end of file diff --git a/themes/spectral/static/css/images/close.svg b/themes/spectral/static/css/images/close.svg new file mode 100644 index 0000000..f80a2a3 --- /dev/null +++ b/themes/spectral/static/css/images/close.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" zoomAndPan="disable" preserveAspectRatio="none"> + <style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 2; } ]]></style> + <line x1="0" y1="0" x2="16" y2="16" /> + <line x1="16" y1="0" x2="0" y2="16" /> +</svg>
\ No newline at end of file diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-600.woff b/themes/spectral/static/fonts/open-sans-v16-latin-600.woff Binary files differnew file mode 100644 index 0000000..9d0eb42 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-600.woff diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-600.woff2 b/themes/spectral/static/fonts/open-sans-v16-latin-600.woff2 Binary files differnew file mode 100644 index 0000000..5c5d54e --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-600.woff2 diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-600italic.woff b/themes/spectral/static/fonts/open-sans-v16-latin-600italic.woff Binary files differnew file mode 100644 index 0000000..52f6adc --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-600italic.woff diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-600italic.woff2 b/themes/spectral/static/fonts/open-sans-v16-latin-600italic.woff2 Binary files differnew file mode 100644 index 0000000..c2450f3 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-600italic.woff2 diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-800.woff b/themes/spectral/static/fonts/open-sans-v16-latin-800.woff Binary files differnew file mode 100644 index 0000000..bdac80d --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-800.woff diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-800.woff2 b/themes/spectral/static/fonts/open-sans-v16-latin-800.woff2 Binary files differnew file mode 100644 index 0000000..86a8a87 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-800.woff2 diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-800italic.woff b/themes/spectral/static/fonts/open-sans-v16-latin-800italic.woff Binary files differnew file mode 100644 index 0000000..150e7d6 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-800italic.woff diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-800italic.woff2 b/themes/spectral/static/fonts/open-sans-v16-latin-800italic.woff2 Binary files differnew file mode 100644 index 0000000..82a1f00 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-800italic.woff2 diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-italic.woff b/themes/spectral/static/fonts/open-sans-v16-latin-italic.woff Binary files differnew file mode 100644 index 0000000..2bfa582 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-italic.woff diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-italic.woff2 b/themes/spectral/static/fonts/open-sans-v16-latin-italic.woff2 Binary files differnew file mode 100644 index 0000000..10031c0 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-italic.woff2 diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-regular.woff b/themes/spectral/static/fonts/open-sans-v16-latin-regular.woff Binary files differnew file mode 100644 index 0000000..39e88ed --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-regular.woff diff --git a/themes/spectral/static/fonts/open-sans-v16-latin-regular.woff2 b/themes/spectral/static/fonts/open-sans-v16-latin-regular.woff2 Binary files differnew file mode 100644 index 0000000..e9f58b7 --- /dev/null +++ b/themes/spectral/static/fonts/open-sans-v16-latin-regular.woff2 diff --git a/themes/spectral/static/img/banner.jpg b/themes/spectral/static/img/banner.jpg Binary files differnew file mode 100644 index 0000000..f61670a --- /dev/null +++ b/themes/spectral/static/img/banner.jpg diff --git a/themes/spectral/static/img/pic01.jpg b/themes/spectral/static/img/pic01.jpg Binary files differnew file mode 100644 index 0000000..1117ddc --- /dev/null +++ b/themes/spectral/static/img/pic01.jpg diff --git a/themes/spectral/static/img/pic02.jpg b/themes/spectral/static/img/pic02.jpg Binary files differnew file mode 100644 index 0000000..a43fa23 --- /dev/null +++ b/themes/spectral/static/img/pic02.jpg diff --git a/themes/spectral/static/img/pic03.jpg b/themes/spectral/static/img/pic03.jpg Binary files differnew file mode 100644 index 0000000..e216400 --- /dev/null +++ b/themes/spectral/static/img/pic03.jpg diff --git a/themes/spectral/static/img/pic04.jpg b/themes/spectral/static/img/pic04.jpg Binary files differnew file mode 100644 index 0000000..104cc9e --- /dev/null +++ b/themes/spectral/static/img/pic04.jpg diff --git a/themes/spectral/static/img/pic05.jpg b/themes/spectral/static/img/pic05.jpg Binary files differnew file mode 100644 index 0000000..f15edce --- /dev/null +++ b/themes/spectral/static/img/pic05.jpg diff --git a/themes/spectral/static/webfonts/fa-brands-400.ttf b/themes/spectral/static/webfonts/fa-brands-400.ttf Binary files differnew file mode 100644 index 0000000..cf6a98f --- /dev/null +++ b/themes/spectral/static/webfonts/fa-brands-400.ttf diff --git a/themes/spectral/static/webfonts/fa-brands-400.woff2 b/themes/spectral/static/webfonts/fa-brands-400.woff2 Binary files differnew file mode 100644 index 0000000..c740267 --- /dev/null +++ b/themes/spectral/static/webfonts/fa-brands-400.woff2 diff --git a/themes/spectral/static/webfonts/fa-regular-400.ttf b/themes/spectral/static/webfonts/fa-regular-400.ttf Binary files differnew file mode 100644 index 0000000..9ef8a37 --- /dev/null +++ b/themes/spectral/static/webfonts/fa-regular-400.ttf diff --git a/themes/spectral/static/webfonts/fa-regular-400.woff2 b/themes/spectral/static/webfonts/fa-regular-400.woff2 Binary files differnew file mode 100644 index 0000000..a865b2f --- /dev/null +++ b/themes/spectral/static/webfonts/fa-regular-400.woff2 diff --git a/themes/spectral/static/webfonts/fa-solid-900.ttf b/themes/spectral/static/webfonts/fa-solid-900.ttf Binary files differnew file mode 100644 index 0000000..2b96436 --- /dev/null +++ b/themes/spectral/static/webfonts/fa-solid-900.ttf diff --git a/themes/spectral/static/webfonts/fa-solid-900.woff2 b/themes/spectral/static/webfonts/fa-solid-900.woff2 Binary files differnew file mode 100644 index 0000000..021d33f --- /dev/null +++ b/themes/spectral/static/webfonts/fa-solid-900.woff2 diff --git a/themes/spectral/static/webfonts/fa-v4compatibility.ttf b/themes/spectral/static/webfonts/fa-v4compatibility.ttf Binary files differnew file mode 100644 index 0000000..f07e670 --- /dev/null +++ b/themes/spectral/static/webfonts/fa-v4compatibility.ttf diff --git a/themes/spectral/static/webfonts/fa-v4compatibility.woff2 b/themes/spectral/static/webfonts/fa-v4compatibility.woff2 Binary files differnew file mode 100644 index 0000000..6f96a11 --- /dev/null +++ b/themes/spectral/static/webfonts/fa-v4compatibility.woff2 diff --git a/themes/spectral/theme.toml b/themes/spectral/theme.toml new file mode 100644 index 0000000..42b6239 --- /dev/null +++ b/themes/spectral/theme.toml @@ -0,0 +1,16 @@ +name = "Spectral" +license = "CC-BY 3.0" +licenselink = "https://github.com/sbruder/spectral/blob/master/LICENSE.md" +description = "Port of the HTML5UP Spectral Theme (https://html5up.net/spectral)" +homepage = "https://github.com/sbruder/spectral" +tags = ["company", "portfolio", "blog"] +features = ["blog", "responsive", "multilingual"] + +demosite = "https://sbruder.github.io/spectral/" + +[author] + name = "Simon Bruder" + +[original] + name = "HTML5UP Spectral" + homepage = "https://html5up.net/spectral" |
