initial import
8
.eslintrc
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": [
|
||||
"plugin:@wordpress/eslint-plugin/esnext"
|
||||
],
|
||||
"env": {
|
||||
"browser": true
|
||||
}
|
||||
}
|
||||
16
.stylelintrc.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"extends": [
|
||||
"@wordpress/stylelint-config/scss"
|
||||
],
|
||||
"ignoreFiles": [
|
||||
"sass/_normalize.scss"
|
||||
],
|
||||
"rules": {
|
||||
"font-family-no-missing-generic-family-keyword": null,
|
||||
"no-descending-specificity": null,
|
||||
"block-no-empty": null,
|
||||
"no-duplicate-selectors": null,
|
||||
"font-family-no-duplicate-names": null,
|
||||
"selector-class-pattern": null
|
||||
}
|
||||
}
|
||||
60
404.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* The template for displaying 404 pages (not found)
|
||||
*
|
||||
* @link https://codex.wordpress.org/Creating_an_Error_404_Page
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
|
||||
<section class="error-404 not-found">
|
||||
<header class="page-header">
|
||||
<h1 class="page-title"><?php esc_html_e( 'Oops! That page can’t be found.', 'cupo' ); ?></h1>
|
||||
</header><!-- .page-header -->
|
||||
|
||||
<div class="page-content">
|
||||
<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', 'cupo' ); ?></p>
|
||||
|
||||
<?php
|
||||
get_search_form();
|
||||
|
||||
the_widget( 'WP_Widget_Recent_Posts' );
|
||||
?>
|
||||
|
||||
<div class="widget widget_categories">
|
||||
<h2 class="widget-title"><?php esc_html_e( 'Most Used Categories', 'cupo' ); ?></h2>
|
||||
<ul>
|
||||
<?php
|
||||
wp_list_categories(
|
||||
array(
|
||||
'orderby' => 'count',
|
||||
'order' => 'DESC',
|
||||
'show_count' => 1,
|
||||
'title_li' => '',
|
||||
'number' => 10,
|
||||
)
|
||||
);
|
||||
?>
|
||||
</ul>
|
||||
</div><!-- .widget -->
|
||||
|
||||
<?php
|
||||
/* translators: %1$s: smiley */
|
||||
$cupo_archive_content = '<p>' . sprintf( esc_html__( 'Try looking in the monthly archives. %1$s', 'cupo' ), convert_smilies( ':)' ) ) . '</p>';
|
||||
the_widget( 'WP_Widget_Archives', 'dropdown=1', "after_title=</h2>$cupo_archive_content" );
|
||||
|
||||
the_widget( 'WP_Widget_Tag_Cloud' );
|
||||
?>
|
||||
|
||||
</div><!-- .page-content -->
|
||||
</section><!-- .error-404 -->
|
||||
|
||||
</main><!-- #main -->
|
||||
|
||||
<?php
|
||||
get_footer();
|
||||
339
LICENSE
Normal file
@@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
{description}
|
||||
Copyright (C) {year} {fullname}
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
{signature of Ty Coon}, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
70
README.md
Normal file
@@ -0,0 +1,70 @@
|
||||
[](https://travis-ci.org/Automattic/_s)
|
||||
|
||||
_s
|
||||
===
|
||||
|
||||
Hi. I'm a starter theme called `_s`, or `underscores`, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.
|
||||
|
||||
My ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:
|
||||
|
||||
* A modern workflow with a pre-made command-line interface to turn your project into a more pleasant experience.
|
||||
* A just right amount of lean, well-commented, modern, HTML5 templates.
|
||||
* A custom header implementation in `inc/custom-header.php`. Just add the code snippet found in the comments of `inc/custom-header.php` to your `header.php` template.
|
||||
* Custom template tags in `inc/template-tags.php` that keep your templates clean and neat and prevent code duplication.
|
||||
* Some small tweaks in `inc/template-functions.php` that can improve your theming experience.
|
||||
* A script at `js/navigation.js` that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in `functions.php`.
|
||||
* 2 sample layouts in `sass/layouts/` made using CSS Grid for a sidebar on either side of your content. Just uncomment the layout of your choice in `sass/style.scss`.
|
||||
Note: `.no-sidebar` styles are automatically loaded.
|
||||
* Smartly organized starter CSS in `style.css` that will help you to quickly get your design off the ground.
|
||||
* Full support for `WooCommerce plugin` integration with hooks in `inc/woocommerce.php`, styling override woocommerce.css with product gallery features (zoom, swipe, lightbox) enabled.
|
||||
* Licensed under GPLv2 or later. :) Use it to make something cool.
|
||||
|
||||
Installation
|
||||
---------------
|
||||
|
||||
### Requirements
|
||||
|
||||
`_s` requires the following dependencies:
|
||||
|
||||
- [Node.js](https://nodejs.org/)
|
||||
- [Composer](https://getcomposer.org/)
|
||||
|
||||
### Quick Start
|
||||
|
||||
Clone or download this repository, change its name to something else (like, say, `megatherium-is-awesome`), and then you'll need to do a six-step find and replace on the name in all the templates.
|
||||
|
||||
1. Search for `'_s'` (inside single quotations) to capture the text domain and replace with: `'megatherium-is-awesome'`.
|
||||
2. Search for `_s_` to capture all the functions names and replace with: `megatherium_is_awesome_`.
|
||||
3. Search for `Text Domain: _s` in `style.css` and replace with: `Text Domain: megatherium-is-awesome`.
|
||||
4. Search for <code> _s</code> (with a space before it) to capture DocBlocks and replace with: <code> Megatherium_is_Awesome</code>.
|
||||
5. Search for `_s-` to capture prefixed handles and replace with: `megatherium-is-awesome-`.
|
||||
6. Search for `_S_` (in uppercase) to capture constants and replace with: `MEGATHERIUM_IS_AWESOME_`.
|
||||
|
||||
Then, update the stylesheet header in `style.css`, the links in `footer.php` with your own information and rename `_s.pot` from `languages` folder to use the theme's slug. Next, update or delete this readme.
|
||||
|
||||
### Setup
|
||||
|
||||
To start using all the tools that come with `_s` you need to install the necessary Node.js and Composer dependencies :
|
||||
|
||||
```sh
|
||||
$ composer install
|
||||
$ npm install
|
||||
```
|
||||
|
||||
### Available CLI commands
|
||||
|
||||
`_s` comes packed with CLI commands tailored for WordPress theme development :
|
||||
|
||||
- `composer lint:wpcs` : checks all PHP files against [PHP Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/).
|
||||
- `composer lint:php` : checks all PHP files for syntax errors.
|
||||
- `composer make-pot` : generates a .pot file in the `languages/` directory.
|
||||
- `npm run compile:css` : compiles SASS files to css.
|
||||
- `npm run compile:rtl` : generates an RTL stylesheet.
|
||||
- `npm run watch` : watches all SASS files and recompiles them to css when they change.
|
||||
- `npm run lint:scss` : checks all SASS files against [CSS Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/css/).
|
||||
- `npm run lint:js` : checks all JavaScript files against [JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/).
|
||||
- `npm run bundle` : generates a .zip archive for distribution, excluding development and system files.
|
||||
|
||||
Now you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)
|
||||
|
||||
Good luck!
|
||||
51
archive.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* The template for displaying archive pages
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
|
||||
<?php if ( have_posts() ) : ?>
|
||||
|
||||
<header class="page-header">
|
||||
<?php
|
||||
the_archive_title( '<h1 class="page-title">', '</h1>' );
|
||||
the_archive_description( '<div class="archive-description">', '</div>' );
|
||||
?>
|
||||
</header><!-- .page-header -->
|
||||
|
||||
<?php
|
||||
/* Start the Loop */
|
||||
while ( have_posts() ) :
|
||||
the_post();
|
||||
|
||||
/*
|
||||
* Include the Post-Type-specific template for the content.
|
||||
* If you want to override this in a child theme, then include a file
|
||||
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
|
||||
*/
|
||||
get_template_part( 'template-parts/content', get_post_type() );
|
||||
|
||||
endwhile;
|
||||
|
||||
the_posts_navigation();
|
||||
|
||||
else :
|
||||
|
||||
get_template_part( 'template-parts/content', 'none' );
|
||||
|
||||
endif;
|
||||
?>
|
||||
|
||||
</main><!-- #main -->
|
||||
|
||||
<?php
|
||||
get_sidebar();
|
||||
get_footer();
|
||||
77
comments.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* The template for displaying comments
|
||||
*
|
||||
* This is the template that displays the area of the page that contains both the current comments
|
||||
* and the comment form.
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
/*
|
||||
* If the current post is protected by a password and
|
||||
* the visitor has not yet entered the password we will
|
||||
* return early without loading the comments.
|
||||
*/
|
||||
if ( post_password_required() ) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="comments" class="comments-area">
|
||||
|
||||
<?php
|
||||
// You can start editing here -- including this comment!
|
||||
if ( have_comments() ) :
|
||||
?>
|
||||
<h2 class="comments-title">
|
||||
<?php
|
||||
$cupo_comment_count = get_comments_number();
|
||||
if ( '1' === $cupo_comment_count ) {
|
||||
printf(
|
||||
/* translators: 1: title. */
|
||||
esc_html__( 'One thought on “%1$s”', 'cupo' ),
|
||||
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
|
||||
);
|
||||
} else {
|
||||
printf(
|
||||
/* translators: 1: comment count number, 2: title. */
|
||||
esc_html( _nx( '%1$s thought on “%2$s”', '%1$s thoughts on “%2$s”', $cupo_comment_count, 'comments title', 'cupo' ) ),
|
||||
number_format_i18n( $cupo_comment_count ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
|
||||
);
|
||||
}
|
||||
?>
|
||||
</h2><!-- .comments-title -->
|
||||
|
||||
<?php the_comments_navigation(); ?>
|
||||
|
||||
<ol class="comment-list">
|
||||
<?php
|
||||
wp_list_comments(
|
||||
array(
|
||||
'style' => 'ol',
|
||||
'short_ping' => true,
|
||||
)
|
||||
);
|
||||
?>
|
||||
</ol><!-- .comment-list -->
|
||||
|
||||
<?php
|
||||
the_comments_navigation();
|
||||
|
||||
// If comments are closed and there are comments, let's leave a little note, shall we?
|
||||
if ( ! comments_open() ) :
|
||||
?>
|
||||
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'cupo' ); ?></p>
|
||||
<?php
|
||||
endif;
|
||||
|
||||
endif; // Check for have_comments().
|
||||
|
||||
comment_form();
|
||||
?>
|
||||
|
||||
</div><!-- #comments -->
|
||||
35
composer.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "automattic/underscores",
|
||||
"type": "wordpress-theme",
|
||||
"description": "Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.",
|
||||
"keywords": [
|
||||
"WordPress",
|
||||
"Themes"
|
||||
],
|
||||
"homepage": "https://github.com/Automattic/_s",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Contributors",
|
||||
"homepage": "https://github.com/Automattic/_s/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.6"
|
||||
},
|
||||
"require-dev": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"wptrt/wpthemereview": "^0.2.1",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2.0",
|
||||
"wp-cli/i18n-command": "^2.2.5"
|
||||
},
|
||||
"scripts": {
|
||||
"lint:wpcs": "@php ./vendor/squizlabs/php_codesniffer/bin/phpcs",
|
||||
"lint:php": "@php ./vendor/bin/parallel-lint --exclude .git --exclude vendor .",
|
||||
"make-pot": "wp i18n make-pot . languages/_s.pot"
|
||||
},
|
||||
"support": {
|
||||
"issues": "https://github.com/Automattic/_s/issues",
|
||||
"source": "https://github.com/Automattic/_s"
|
||||
}
|
||||
}
|
||||
89
contact.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/*
|
||||
Template Name: Contact
|
||||
*/
|
||||
get_header(); ?>
|
||||
|
||||
<main class="page">
|
||||
<section class="contacus">
|
||||
<div class="contacus__container">
|
||||
<div class="contacus__head section-head">
|
||||
<h1 class="section-head__title">
|
||||
<?php if (get_field('head_title')) : ?>
|
||||
<?php echo get_field('head_title'); ?>
|
||||
<?php endif; ?>
|
||||
</h1>
|
||||
<p class="section-head__text">
|
||||
<?php if (get_field('head_text')) : ?>
|
||||
<?php echo get_field('head_text'); ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
</div>
|
||||
<div class="contacus__body">
|
||||
<a href="" class="contacus__link">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.56 20.82C12.3966 20.9366 12.2008 20.9993 12 20.9993C11.7992 20.9993 11.6035 20.9366 11.44 20.82C6.61102 17.378 1.48602 10.298 6.66702 5.182C8.08888 3.78212 10.0047 2.99826 12 3C14 3 15.919 3.785 17.333 5.181C22.514 10.297 17.389 17.376 12.56 20.82Z" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M12 12C12.5304 12 13.0391 11.7893 13.4142 11.4142C13.7893 11.0391 14 10.5304 14 10C14 9.46957 13.7893 8.96086 13.4142 8.58579C13.0391 8.21071 12.5304 8 12 8C11.4696 8 10.9609 8.21071 10.5858 8.58579C10.2107 8.96086 10 9.46957 10 10C10 10.5304 10.2107 11.0391 10.5858 11.4142C10.9609 11.7893 11.4696 12 12 12Z" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
<span>
|
||||
<?php if (get_field('address', 'options')) : ?>
|
||||
<?php echo get_field('address', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</a>
|
||||
<a href="mailto:<?php echo get_field('email', 'options'); ?>" class="contacus__link">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21 4.6875H3C2.85082 4.6875 2.70774 4.74676 2.60225 4.85225C2.49676 4.95774 2.4375 5.10082 2.4375 5.25V18C2.4375 18.3481 2.57578 18.6819 2.82192 18.9281C3.06806 19.1742 3.4019 19.3125 3.75 19.3125H20.25C20.5981 19.3125 20.9319 19.1742 21.1781 18.9281C21.4242 18.6819 21.5625 18.3481 21.5625 18V5.25C21.5625 5.10082 21.5032 4.95774 21.3977 4.85225C21.2923 4.74676 21.1492 4.6875 21 4.6875ZM12 12.7369L4.44562 5.8125H19.5544L12 12.7369ZM9.53156 12L3.5625 17.4713V6.52875L9.53156 12ZM10.3641 12.7631L11.625 13.9144C11.7287 14.0092 11.8641 14.0619 12.0047 14.0619C12.1452 14.0619 12.2807 14.0092 12.3844 13.9144L13.6406 12.7631L19.5544 18.1875H4.44656L10.3641 12.7631ZM14.4684 12L20.4375 6.52875V17.4713L14.4684 12Z" />
|
||||
</svg>
|
||||
<span>
|
||||
<?php if (get_field('email', 'options')) : ?>
|
||||
<?php echo get_field('email', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<?php if (have_rows('socials', 'options')) : ?>
|
||||
<div class="contacus__socials">
|
||||
<?php while (have_rows('socials', 'options')) : the_row(); ?>
|
||||
|
||||
<a href="<?php the_sub_field('link'); ?>" class="contacus__social">
|
||||
<?php if (get_sub_field('icon')) : ?>
|
||||
<img src="<?php the_sub_field('icon'); ?>" style="filter: invert(1);" />
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
|
||||
<?php endwhile; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
<div class="contacus__card promotion-card">
|
||||
<h3 class="promotion-card__title">
|
||||
<?php if ( get_field('support_title', 'options') ) : ?>
|
||||
<?php echo get_field('support_title', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</h3>
|
||||
<div class="promotion-card__content">
|
||||
<p class="promotion-card__text">
|
||||
<?php if ( get_field('support_text', 'options') ) : ?>
|
||||
<?php echo get_field('support_text', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
<a href="<?php echo get_field('support_link', 'options'); ?>" class="promotion-card__btn button">
|
||||
<?php if ( get_field('suport', 'options') ) : ?>
|
||||
<?php echo get_field('suport', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
.footer__top {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
7
debug.log
Normal file
@@ -0,0 +1,7 @@
|
||||
[2024-09-19 09:42:26] Скрипт начал выполнение
|
||||
[2024-09-19 09:42:26] Получен POST запрос
|
||||
[2024-09-19 09:42:26] Получены данные: {"full_name":"\u041f\u0430\u0432\u043b\u043e \u0422\u0435\u0441\u0442","email":"test@test.test","phone":"+1 231 231-23-12"}
|
||||
[2024-09-19 09:42:26] Ответ API Kommo: {"_links":{"self":{"href":"https://cupo.kommo.com/api/v4/leads"}},"_embedded":{"leads":[{"id":1634734,"request_id":"0","_links":{"self":{"href":"https://cupo.kommo.com/api/v4/leads/1634734"}}}]}}
|
||||
[2024-09-19 09:42:26] HTTP код: 200
|
||||
[2024-09-19 09:42:26] Успешное создание лида
|
||||
[2024-09-19 09:42:26] Перенаправление на: https://app.cupo.ai/register?first_name=%D0%9F%D0%B0%D0%B2%D0%BB%D0%BE&last_name=%D0%A2%D0%B5%D1%81%D1%82&email=test%40test.test
|
||||
66
faq.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/*
|
||||
Template Name: FAQ
|
||||
*/
|
||||
get_header(); ?>
|
||||
|
||||
<main class="page">
|
||||
<section class="faqs">
|
||||
<div class="faqs__container">
|
||||
<div class="faqs__head section-head">
|
||||
<h1 class="section-head__title">
|
||||
<?php if (get_field('head_title')) : ?>
|
||||
<?php echo get_field('head_title'); ?>
|
||||
<?php endif; ?>
|
||||
</h1>
|
||||
<p class="section-head__text">
|
||||
<?php if (get_field('head_text')) : ?>
|
||||
<?php echo get_field('head_text'); ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php if (have_rows('body_questions')) : ?>
|
||||
<div class="faqs__body">
|
||||
<?php while (have_rows('body_questions')) : the_row(); ?>
|
||||
<div class="faqs__item">
|
||||
<h5 class="faqs__item-title">
|
||||
<?php the_sub_field('question'); ?>
|
||||
</h5>
|
||||
<div class="faqs__item-text">
|
||||
<p>
|
||||
<?php the_sub_field('answer'); ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php endwhile; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="faqs__card promotion-card">
|
||||
<h3 class="promotion-card__title">
|
||||
Still <span>Have</span>
|
||||
<p>
|
||||
a <span>questions</span>?
|
||||
</p>
|
||||
</h3>
|
||||
<div class="promotion-card__content">
|
||||
<p class="promotion-card__text">
|
||||
Contact our support via Telegram
|
||||
</p>
|
||||
<a href="" class="promotion-card__btn button">
|
||||
Support in Telegram
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
.footer__top {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
BIN
fonts/Geologica-ExtraBold.woff2
Normal file
BIN
fonts/Manrope-Bold.woff2
Normal file
BIN
fonts/Manrope-ExtraBold.woff2
Normal file
BIN
fonts/Manrope-Medium.woff2
Normal file
BIN
fonts/Manrope-Regular.woff2
Normal file
BIN
fonts/Manrope-SemiBold.woff2
Normal file
243
footer.php
Normal file
@@ -0,0 +1,243 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* The template for displaying the footer
|
||||
*
|
||||
* Contains the closing of the #content div and all content after.
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
$current_language = apply_filters('wpml_current_language', null);
|
||||
?>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__container">
|
||||
<div class="footer__top">
|
||||
<div class="footer__card promotion-card">
|
||||
<h3 class="promotion-card__title">
|
||||
<?php if (get_field('promotion_title', 'options')) : ?>
|
||||
<?php echo get_field('promotion_title', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</h3>
|
||||
<div class="promotion-card__content">
|
||||
<p class="promotion-card__text">
|
||||
<?php if (get_field('promotion_text', 'options')) : ?>
|
||||
<?php echo get_field('promotion_text', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
<a href="#" target="_blank" class="promotion-card__btn button open-popup">
|
||||
<?php if (get_field('promotion', 'options')) : ?>
|
||||
<?php echo get_field('promotion', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer__card promotion-card promotion-card--2">
|
||||
<h3 class="promotion-card__title">
|
||||
<?php if (get_field('support_title', 'options')) : ?>
|
||||
<?php echo get_field('support_title', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</h3>
|
||||
<div class="promotion-card__content">
|
||||
<p class="promotion-card__text">
|
||||
<?php if (get_field('support_text', 'options')) : ?>
|
||||
<?php echo get_field('support_text', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
<a href="<?php echo get_field('support_link', 'options'); ?>" target="_blank" class="promotion-card__btn button">
|
||||
<?php if (get_field('suport', 'options')) : ?>
|
||||
<?php echo get_field('suport', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer__body">
|
||||
<div class="footer__content">
|
||||
<nav class="footer__nav">
|
||||
|
||||
<?php
|
||||
wp_nav_menu([
|
||||
'theme_location' => 'footer',
|
||||
'container' => 'ul',
|
||||
'echo' => true,
|
||||
'fallback_cb' => 'wp_page_menu',
|
||||
'items_wrap' => '<ul class="footer__nav-list">%3$s</ul>'
|
||||
]);
|
||||
?>
|
||||
|
||||
</nav>
|
||||
<div class="footer__copy">
|
||||
<?php echo get_field('copyright', 'options'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer__info">
|
||||
<div class="footer__links">
|
||||
<a href="" class="footer__link">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.56 20.82C12.3966 20.9366 12.2008 20.9993 12 20.9993C11.7992 20.9993 11.6035 20.9366 11.44 20.82C6.61102 17.378 1.48602 10.298 6.66702 5.182C8.08888 3.78212 10.0047 2.99826 12 3C14 3 15.919 3.785 17.333 5.181C22.514 10.297 17.389 17.376 12.56 20.82Z" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M12 12C12.5304 12 13.0391 11.7893 13.4142 11.4142C13.7893 11.0391 14 10.5304 14 10C14 9.46957 13.7893 8.96086 13.4142 8.58579C13.0391 8.21071 12.5304 8 12 8C11.4696 8 10.9609 8.21071 10.5858 8.58579C10.2107 8.96086 10 9.46957 10 10C10 10.5304 10.2107 11.0391 10.5858 11.4142C10.9609 11.7893 11.4696 12 12 12Z" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
<span>
|
||||
<?php if (get_field('address', 'options')) : ?>
|
||||
<?php echo get_field('address', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</a>
|
||||
<a href="mailto:
|
||||
<?php if (get_field('email', 'options')) : ?>
|
||||
<?php echo get_field('email', 'options'); ?>
|
||||
<?php endif; ?>" class="footer__link">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21 4.6875H3C2.85082 4.6875 2.70774 4.74676 2.60225 4.85225C2.49676 4.95774 2.4375 5.10082 2.4375 5.25V18C2.4375 18.3481 2.57578 18.6819 2.82192 18.9281C3.06806 19.1742 3.4019 19.3125 3.75 19.3125H20.25C20.5981 19.3125 20.9319 19.1742 21.1781 18.9281C21.4242 18.6819 21.5625 18.3481 21.5625 18V5.25C21.5625 5.10082 21.5032 4.95774 21.3977 4.85225C21.2923 4.74676 21.1492 4.6875 21 4.6875ZM12 12.7369L4.44562 5.8125H19.5544L12 12.7369ZM9.53156 12L3.5625 17.4713V6.52875L9.53156 12ZM10.3641 12.7631L11.625 13.9144C11.7287 14.0092 11.8641 14.0619 12.0047 14.0619C12.1452 14.0619 12.2807 14.0092 12.3844 13.9144L13.6406 12.7631L19.5544 18.1875H4.44656L10.3641 12.7631ZM14.4684 12L20.4375 6.52875V17.4713L14.4684 12Z" />
|
||||
</svg>
|
||||
<span>
|
||||
<?php if (get_field('email', 'options')) : ?>
|
||||
<?php echo get_field('email', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php if (have_rows('socials', 'options')) : ?>
|
||||
<div class="footer__socials">
|
||||
<?php while (have_rows('socials', 'options')) : the_row(); ?>
|
||||
<a href="<?php the_sub_field('link'); ?>" class="footer__social">
|
||||
<img src="<?php the_sub_field('icon'); ?>" />
|
||||
</a>
|
||||
<?php endwhile; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer__bottom-text">
|
||||
Automatic cryptocurrency trading
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="popupOverlay" class="popup-overlay">
|
||||
<div class="popup-content">
|
||||
<form id="registration-form" class="registration-form" action="<?php echo esc_url(get_permalink()); ?>" method="post">
|
||||
<input type="hidden" name="rfs_nonce" value="<?php echo wp_create_nonce('rfs_form_nonce'); ?>">
|
||||
<label for="first_name">
|
||||
<?php
|
||||
if ($current_language == 'en') {
|
||||
echo 'First Name:';
|
||||
} elseif ($current_language == 'zh-hans') {
|
||||
echo '名:';
|
||||
} elseif ($current_language == 'uk') {
|
||||
echo 'Ім\'я:';
|
||||
} elseif ($current_language == 'es') {
|
||||
echo 'Nombre:';
|
||||
} elseif ($current_language == 'ru') {
|
||||
echo 'Имя:';
|
||||
}
|
||||
?>*
|
||||
</label>
|
||||
<input type="text" id="first_name" name="first_name" required>
|
||||
|
||||
<label for="last_name">
|
||||
<?php
|
||||
if ($current_language == 'en') {
|
||||
echo 'Last Name:';
|
||||
} elseif ($current_language == 'zh-hans') {
|
||||
echo '姓:';
|
||||
} elseif ($current_language == 'uk') {
|
||||
echo 'Прізвище:';
|
||||
} elseif ($current_language == 'es') {
|
||||
echo 'Apellido:';
|
||||
} elseif ($current_language == 'ru') {
|
||||
echo 'Фамилия:';
|
||||
}
|
||||
?>*
|
||||
</label>
|
||||
<input type="text" id="last_name" name="last_name" required>
|
||||
|
||||
<label for="email">
|
||||
<?php
|
||||
if ($current_language == 'en') {
|
||||
echo 'Email:';
|
||||
} elseif ($current_language == 'zh-hans') {
|
||||
echo '电子邮件:';
|
||||
} elseif ($current_language == 'uk') {
|
||||
echo 'Email:';
|
||||
} elseif ($current_language == 'es') {
|
||||
echo 'Correo electrónico:';
|
||||
} elseif ($current_language == 'ru') {
|
||||
echo 'Email:';
|
||||
}
|
||||
?>*
|
||||
</label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
|
||||
|
||||
|
||||
<div class="registration__buttons">
|
||||
<button class="button button-cancel" type="button">
|
||||
<?php
|
||||
if ($current_language == 'en') {
|
||||
echo 'Cancel';
|
||||
} elseif ($current_language == 'zh-hans') {
|
||||
echo '取消';
|
||||
} elseif ($current_language == 'uk') {
|
||||
echo 'Скасувати';
|
||||
} elseif ($current_language == 'es') {
|
||||
echo 'Cancelar';
|
||||
} elseif ($current_language == 'ru') {
|
||||
echo 'Отмена';
|
||||
}
|
||||
?>
|
||||
</button>
|
||||
<button class="button button-submit" type="submit" name="submit_registration">
|
||||
<?php
|
||||
if ($current_language == 'en') {
|
||||
echo 'Continue';
|
||||
} elseif ($current_language == 'zh-hans') {
|
||||
echo '继续';
|
||||
} elseif ($current_language == 'uk') {
|
||||
echo 'Продовжити';
|
||||
} elseif ($current_language == 'es') {
|
||||
echo 'Continuar';
|
||||
} elseif ($current_language == 'ru') {
|
||||
echo 'Продолжить';
|
||||
}
|
||||
?>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
|
||||
<script>
|
||||
$('.video-slider').slick({
|
||||
// centerMode: true,
|
||||
// centerPadding: '60px',
|
||||
slidesToShow: 1,
|
||||
prevArrow: '<button type="button" class="slick-prev">❮</button>',
|
||||
nextArrow: '<button type="button" class="slick-next">❯</button>',
|
||||
// asNavFor: '.tests-slider',
|
||||
});
|
||||
$('.tests-slider').slick({
|
||||
slidesToShow: 4,
|
||||
asNavFor: '.video-slider',
|
||||
// centerMode: true,
|
||||
focusOnSelect: true,
|
||||
draggable: false,
|
||||
infinite: false,
|
||||
swipe: false,
|
||||
touchMove: false,
|
||||
});
|
||||
</script>
|
||||
<?php wp_footer(); ?>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
1122
front-page.php
Normal file
240
functions.php
Normal file
@@ -0,0 +1,240 @@
|
||||
<?php
|
||||
/**
|
||||
* cupo functions and definitions
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/theme-functions/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
if (!defined('_S_VERSION')) {
|
||||
// Replace the version number of the theme on each release.
|
||||
define('_S_VERSION', '1.0.0');
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up theme defaults and registers support for various WordPress features.
|
||||
*
|
||||
* Note that this function is hooked into the after_setup_theme hook, which
|
||||
* runs before the init hook. The init hook is too late for some features, such
|
||||
* as indicating support for post thumbnails.
|
||||
*/
|
||||
function cupo_setup()
|
||||
{
|
||||
/*
|
||||
* Make theme available for translation.
|
||||
* Translations can be filed in the /languages/ directory.
|
||||
* If you're building a theme based on cupo, use a find and replace
|
||||
* to change 'cupo' to the name of your theme in all the template files.
|
||||
*/
|
||||
load_theme_textdomain('cupo', get_template_directory() . '/languages');
|
||||
|
||||
// Add default posts and comments RSS feed links to head.
|
||||
add_theme_support('automatic-feed-links');
|
||||
|
||||
/*
|
||||
* Let WordPress manage the document title.
|
||||
* By adding theme support, we declare that this theme does not use a
|
||||
* hard-coded <title> tag in the document head, and expect WordPress to
|
||||
* provide it for us.
|
||||
*/
|
||||
add_theme_support('title-tag');
|
||||
|
||||
/*
|
||||
* Enable support for Post Thumbnails on posts and pages.
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
|
||||
*/
|
||||
add_theme_support('post-thumbnails');
|
||||
|
||||
// This theme uses wp_nav_menu() in one location.
|
||||
register_nav_menus(
|
||||
array(
|
||||
'header' => esc_html__('Header', 'cupo'),
|
||||
'footer' => esc_html__('Footer', 'cupo'),
|
||||
)
|
||||
);
|
||||
|
||||
/*
|
||||
* Switch default core markup for search form, comment form, and comments
|
||||
* to output valid HTML5.
|
||||
*/
|
||||
add_theme_support(
|
||||
'html5',
|
||||
array(
|
||||
'search-form',
|
||||
'comment-form',
|
||||
'comment-list',
|
||||
'gallery',
|
||||
'caption',
|
||||
'style',
|
||||
'script',
|
||||
)
|
||||
);
|
||||
|
||||
// Set up the WordPress core custom background feature.
|
||||
add_theme_support(
|
||||
'custom-background',
|
||||
apply_filters(
|
||||
'cupo_custom_background_args',
|
||||
array(
|
||||
'default-color' => 'ffffff',
|
||||
'default-image' => '',
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
// Add theme support for selective refresh for widgets.
|
||||
add_theme_support('customize-selective-refresh-widgets');
|
||||
|
||||
/**
|
||||
* Add support for core custom logo.
|
||||
*
|
||||
* @link https://codex.wordpress.org/Theme_Logo
|
||||
*/
|
||||
add_theme_support(
|
||||
'custom-logo',
|
||||
array(
|
||||
'height' => 250,
|
||||
'width' => 250,
|
||||
'flex-width' => true,
|
||||
'flex-height' => true,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
add_action('after_setup_theme', 'cupo_setup');
|
||||
|
||||
/**
|
||||
* Set the content width in pixels, based on the theme's design and stylesheet.
|
||||
*
|
||||
* Priority 0 to make it available to lower priority callbacks.
|
||||
*
|
||||
* @global int $content_width
|
||||
*/
|
||||
function cupo_content_width()
|
||||
{
|
||||
$GLOBALS['content_width'] = apply_filters('cupo_content_width', 640);
|
||||
}
|
||||
|
||||
add_action('after_setup_theme', 'cupo_content_width', 0);
|
||||
|
||||
/**
|
||||
* Register widget area.
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
|
||||
*/
|
||||
function cupo_widgets_init()
|
||||
{
|
||||
register_sidebar(
|
||||
array(
|
||||
'name' => esc_html__('Sidebar', 'cupo'),
|
||||
'id' => 'sidebar-1',
|
||||
'description' => esc_html__('Add widgets here.', 'cupo'),
|
||||
'before_widget' => '<section id="%1$s" class="widget %2$s">',
|
||||
'after_widget' => '</section>',
|
||||
'before_title' => '<h2 class="widget-title">',
|
||||
'after_title' => '</h2>',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
add_action('widgets_init', 'cupo_widgets_init');
|
||||
|
||||
/**
|
||||
* Enqueue scripts and styles.
|
||||
*/
|
||||
function cupo_scripts()
|
||||
{
|
||||
wp_enqueue_style('cupo-style', get_stylesheet_uri(), array(), _S_VERSION);
|
||||
wp_style_add_data('cupo-style', 'rtl', 'replace');
|
||||
|
||||
wp_enqueue_script('cupo-navigation', get_template_directory_uri() . '/js/navigation.js', array(), _S_VERSION, true);
|
||||
|
||||
wp_enqueue_script('app', get_template_directory_uri() . '/js/app.js', array(), _S_VERSION, true);
|
||||
|
||||
if (is_front_page()) {
|
||||
wp_enqueue_style('intl-tel-input', 'https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/css/intlTelInput.css');
|
||||
wp_enqueue_script('intl-tel-input', 'https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/js/intlTelInput.min.js', array(), null, true);
|
||||
}
|
||||
|
||||
if (is_singular() && comments_open() && get_option('thread_comments')) {
|
||||
wp_enqueue_script('comment-reply');
|
||||
}
|
||||
}
|
||||
|
||||
add_action('wp_enqueue_scripts', 'cupo_scripts');
|
||||
|
||||
/**
|
||||
* Custom menu classes
|
||||
*/
|
||||
require get_template_directory() . '/inc/menu.php';
|
||||
|
||||
/**
|
||||
* WPML Custom Switcher
|
||||
*/
|
||||
require get_template_directory() . '/inc/languages.php';
|
||||
|
||||
/**
|
||||
* ACF Custom Settings
|
||||
*/
|
||||
require get_template_directory() . '/inc/acf.php';
|
||||
|
||||
/**
|
||||
* Implement the Custom Header feature.
|
||||
*/
|
||||
require get_template_directory() . '/inc/custom-header.php';
|
||||
|
||||
/**
|
||||
* Custom template tags for this theme.
|
||||
*/
|
||||
require get_template_directory() . '/inc/template-tags.php';
|
||||
|
||||
/**
|
||||
* Functions which enhance the theme by hooking into WordPress.
|
||||
*/
|
||||
require get_template_directory() . '/inc/template-functions.php';
|
||||
|
||||
/**
|
||||
* Customizer additions.
|
||||
*/
|
||||
require get_template_directory() . '/inc/customizer.php';
|
||||
|
||||
/**
|
||||
* Load Jetpack compatibility file.
|
||||
*/
|
||||
if (defined('JETPACK__VERSION')) {
|
||||
require get_template_directory() . '/inc/jetpack.php';
|
||||
}
|
||||
|
||||
function display_cookies_shortcode()
|
||||
{
|
||||
// JavaScript код для отображения cookies
|
||||
ob_start(); // Начало буферизации вывода
|
||||
?>
|
||||
<p id="cookieDisplay" style="white-space: pre-wrap;"></p>
|
||||
|
||||
<script>
|
||||
// Получаем все cookie и разбиваем на строки по каждому cookie
|
||||
const cookies = document.cookie.split(';').map(cookie => cookie.trim()).join('\n');
|
||||
|
||||
// Выводим отформатированные cookie в div с переносами строк
|
||||
document.getElementById('cookieDisplay').textContent = cookies;
|
||||
</script>
|
||||
<?php
|
||||
return ob_get_clean(); // Возвращаем содержимое буфера
|
||||
}
|
||||
|
||||
add_shortcode('display_cookies', 'display_cookies_shortcode');
|
||||
|
||||
function add_subscriber_admin_styles() {
|
||||
$user = wp_get_current_user();
|
||||
if (in_array('subscriber', (array) $user->roles)) {
|
||||
$custom_css = "
|
||||
#menu-posts, #menu-comments, #menu-tools, #toplevel_page_site-settings {display:none}
|
||||
";
|
||||
|
||||
wp_add_inline_style('admin-menu', $custom_css);
|
||||
}
|
||||
}
|
||||
add_action('admin_enqueue_scripts', 'add_subscriber_admin_styles');
|
||||
63
header.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* The header for our theme
|
||||
*
|
||||
* This is the template that displays all of the <head> section and everything up until <div id="content">
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
?>
|
||||
<!doctype html>
|
||||
<html <?php language_attributes(); ?>>
|
||||
|
||||
<head>
|
||||
<meta charset="<?php bloginfo('charset'); ?>">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="profile" href="https://gmpg.org/xfn/11">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
|
||||
|
||||
<?php wp_head(); ?>
|
||||
</head>
|
||||
|
||||
<body <?php body_class(); ?>>
|
||||
<?php wp_body_open(); ?>
|
||||
|
||||
<div class="wrapper">
|
||||
<header class="header">
|
||||
<div class="header__container">
|
||||
<div class="header__body">
|
||||
<a href="<?= home_url(); ?>" class="header__logo">
|
||||
<img src="https://cupo.ai/wp-content/uploads/2024/08/logo_cupo-01.svg" alt="logo cupo">
|
||||
</a>
|
||||
<div class="header__menu menu">
|
||||
<button type="button" class="menu__icon icon-menu"><span></span></button>
|
||||
<nav class="menu__body">
|
||||
|
||||
<?php
|
||||
wp_nav_menu([
|
||||
'theme_location' => 'header',
|
||||
'container' => 'ul',
|
||||
'echo' => true,
|
||||
'fallback_cb' => 'wp_page_menu',
|
||||
'items_wrap' => '<ul class="menu__list">%3$s</ul>'
|
||||
]);
|
||||
?>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
<div class="header__actions">
|
||||
<?php custom_wpml_language_switcher(); ?>
|
||||
<a data-da=".menu__body, 549.98" href="#"
|
||||
class="header__started open-popup">
|
||||
<?php if (get_field('start_button', 'options')) : ?>
|
||||
<?php echo get_field('start_button', 'options'); ?>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
BIN
img/Component 2.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
10
img/arrow-features.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="205" height="296" viewBox="0 0 205 296" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 1C58.8333 20.6667 162.2 73.5 113 127.5C51.5 195 41.5 76 85 77C128.5 78 245.5 161 176 283" stroke="url(#paint0_linear_315_681)" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M181.803 251.16C179.77 257.133 178.661 263.264 177.24 269.399C175.783 275.687 173.84 281.874 172.219 288.112C172.038 288.808 173.406 287.561 173.508 287.478C176.205 285.295 178.84 283.036 181.536 280.851C187.415 276.085 193.572 272.35 200.722 269.921" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_315_681" x1="191.563" y1="11.7542" x2="-67.9191" y2="169.967" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFCF5A"/>
|
||||
<stop offset="0.615" stop-color="#E2A23E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 832 B |
10
img/arrow-hero.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="218" height="252" viewBox="0 0 218 252" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M142.611 251.248C148.921 251.248 155.082 250.321 161.348 249.69C167.77 249.042 174.253 248.887 180.681 248.411C181.397 248.358 179.776 247.466 179.665 247.396C176.729 245.546 173.742 243.779 170.804 241.932C164.397 237.903 158.878 233.278 154.274 227.293" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M217 20.5C101.5 -24.5 -48.4999 12.9 17.5001 80.5C100 165 116 84.4999 85.5 68.9999C35.1291 43.4016 -20 198.5 168 244" stroke="url(#paint0_linear_233_298)" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_233_298" x1="210.421" y1="10.111" x2="-33.3757" y2="199.259" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFCF5A"/>
|
||||
<stop offset="0.615" stop-color="#E2A23E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 859 B |
10
img/arrow-partners.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="314" height="274" viewBox="0 0 314 274" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M149.585 243.219C153.972 238.683 157.589 233.611 161.492 228.667C165.491 223.601 169.887 218.834 174.013 213.883C174.473 213.331 172.705 213.876 172.577 213.907C169.207 214.731 165.86 215.65 162.49 216.477C155.139 218.281 147.978 219.033 140.475 218.181" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M285.973 82.0107C300.408 105.228 169.587 82.4784 115.973 85.5107C71.7705 88.0107 43.3519 126.961 35.9213 146.4C27.8718 167.457 28.7108 190.683 40.0044 210.411C46.2345 221.294 60.2632 227.231 71.7705 230.651C115.274 243.581 147.182 226.12 157.795 222.039C159.909 221.227 169.911 218.348 169.672 215.774" stroke="url(#paint0_linear_315_727)" stroke-linecap="round"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_315_727" x1="169.721" y1="216.569" x2="7.70288" y2="9.96903" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.157385" stop-color="#FAB136"/>
|
||||
<stop offset="1" stop-color="#946920" stop-opacity="0.5"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
4
img/arrow-steps-1.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="68" height="25" viewBox="0 0 68 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0.690186 9.19636C9.48725 14.2714 19.4011 16.6134 29.5276 16.9652C38.0163 17.26 45.208 15.7129 52.4683 11.2982C55.6584 9.3584 58.6783 6.74019 62 5.09912" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M35.9818 7.12972C46.4156 7.12972 58.1896 6.64174 67.2558 0.813475C67.4623 0.680732 66.8953 1.14727 66.7266 1.3256C63.7733 4.44766 61.1807 7.99338 58.4984 11.3462C55.622 14.9417 52.3656 19.133 51.3457 23.7227" stroke="#FAB136" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 568 B |
4
img/arrow-steps-2.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="55" height="33" viewBox="0 0 55 33" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 32C1 28.9898 3.27341 26.3886 5.26357 24.4087C12.4453 17.2639 21.7617 15.631 31.5879 16.0648C39.2335 16.4023 44.3923 20.0052 49.5788 25.2594C50.113 25.8006 50.6763 26.3378 51 26.9936" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M32.0886 24.8045C36.1208 24.8045 40.0922 25.0073 44.0383 25.9483C47.2065 26.7038 49.9618 28.0012 52.5737 29.9258C52.6687 29.9957 53.7434 30.6293 53.7175 30.6086C53.3192 30.29 53.1492 29.6544 52.9664 29.2088C51.7828 26.3239 50.9638 23.2852 50.218 20.2636C48.6108 13.7529 47.9813 7.48972 48.6816 0.836914" stroke="#FAB136" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 695 B |
4
img/arrow-steps-3.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="63" height="31" viewBox="0 0 63 31" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 12.9751C8.66919 22.0131 20.7352 23.6691 32.1782 23.0302C41.0122 22.5369 54.6646 20.1095 57.976 10.4957" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M33.5759 15.666C37.0654 15.666 40.8277 16.1 44.2453 15.3075C49.9888 13.9757 55.9263 10.3915 59.8652 6.03799C59.9617 5.93135 61.64 4.27872 61.7771 4.50161C62.3858 5.49077 59.3141 10.864 59.0116 11.6202C56.6766 17.4577 54.9441 23.5555 54.1635 29.8007" stroke="#FAB136" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 562 B |
12
img/arrows-trust.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="944" height="239" viewBox="0 0 944 239" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M446 1C315.333 19.262 43.8 74.2288 3 148" stroke="#FAB136" stroke-dasharray="24 24"/>
|
||||
<path d="M496 1C626.667 19.262 898.2 74.2288 939 148" stroke="#FAB136" stroke-dasharray="24 24"/>
|
||||
<path d="M229 187C231.5 160.429 281.6 86.0286 462 1" stroke="#FAB136" stroke-dasharray="24 24"/>
|
||||
<path d="M713 187C710.5 160.429 660.4 86.0286 480 1" stroke="#FAB136" stroke-dasharray="24 24"/>
|
||||
<path d="M471 232V3" stroke="#FAB136" stroke-dasharray="24 24"/>
|
||||
<path d="M1.38741 123.295C1.38741 128.873 1.38741 134.452 1.38741 140.03C1.38741 144.119 2.08669 149.05 0.887676 153.046C0.832848 153.229 0.781403 152.662 0.829567 152.477C1.36817 150.412 3.54612 148.7 5.07152 147.433C11.896 141.768 20.0729 137.798 28.3732 134.8" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M226.897 166.642C226.897 174.812 226.897 182.982 226.897 191.152C226.897 191.375 227.025 189.218 227.234 188.723C228.332 186.114 230.897 183.859 232.754 181.832C235.516 178.816 238.356 175.926 241.331 173.127" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M459.937 216.892C460.134 217.584 460.712 218.247 461.099 218.821C462.466 220.85 463.813 222.89 465.12 224.958C467.799 229.195 470.295 233.564 472.43 238.102C472.463 238.172 472.566 238.382 472.535 238.311C472.357 237.906 472.343 237.9 472.151 237.393C471.567 235.842 471.226 234.274 471.593 232.616C473.015 226.199 477.914 220.782 481.484 215.428" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M699.671 177.102C700.741 177.102 701.933 177.906 702.809 178.426C704.734 179.57 706.478 181.282 707.946 182.959C709.992 185.297 711.7 187.918 713.478 190.443C713.964 191.135 713.482 189.368 713.478 189.351C712.8 186.88 712.999 184.091 713.152 181.564C713.562 174.785 714.222 168.061 712.432 161.412" stroke="#FAB136" stroke-linecap="round"/>
|
||||
<path d="M922.042 141.494C924.592 141.494 927.102 141.854 929.434 142.936C932.832 144.511 935.89 146.847 938.952 148.967C939.038 149.027 942.434 151.452 943.287 151.884C943.745 152.116 942.885 150.938 942.636 150.49C940.358 146.376 939.65 141.241 938.499 136.741C937.775 133.911 936.825 131.192 935.64 128.525" stroke="#FAB136" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
BIN
img/binance-us.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
img/binance.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
img/bitfinex.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
img/bitso.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
img/bybit.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
10
img/circle-check.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="68" height="67" viewBox="0 0 68 67" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M30.5656 42.6297L22.7672 34.8728C22.7222 34.8281 22.6865 34.7749 22.6622 34.7164C22.6378 34.6578 22.6253 34.595 22.6253 34.5316C22.6253 34.4681 22.6378 34.4053 22.6622 34.3468C22.6865 34.2882 22.7222 34.235 22.7672 34.1903L24.7359 32.2194C24.9241 32.0312 25.2281 32.0312 25.4162 32.2194L30.5503 37.3228C30.7384 37.5109 31.0447 37.5087 31.2328 37.3206L42.5772 25.8669C42.7653 25.6766 43.0716 25.6766 43.2619 25.8647L45.2328 27.8356C45.4209 28.0237 45.4209 28.3278 45.235 28.5159L32.8756 40.9869L32.8778 40.9891L31.2481 42.6275C31.06 42.8156 30.7537 42.8156 30.5656 42.6297Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M39.8169 3.50886C37.2477 -1.16962 30.526 -1.16962 27.9568 3.50886L27.6361 4.09291C26.0029 7.06693 22.4193 8.37123 19.2566 7.1428L18.6355 6.90156C13.66 4.9691 8.51094 9.28971 9.55007 14.5251L9.67979 15.1787C10.3403 18.5067 8.43359 21.8093 5.22115 22.9013L4.59028 23.1157C-0.463273 24.8335 -1.63048 31.4531 2.53079 34.7957L3.05027 35.2129C5.6955 37.3378 6.35771 41.0933 4.59874 43.9947L4.25331 44.5645C1.48623 49.1288 4.84707 54.9499 10.1834 54.8357L10.8495 54.8214C14.2417 54.7488 17.163 57.2001 17.6806 60.5534L17.7822 61.2119C18.5964 66.487 24.9127 68.7859 28.9271 65.2683L29.4282 64.8292C31.9801 62.5931 35.7936 62.5931 38.3455 64.8292L38.8467 65.2683C42.8611 68.7859 49.1774 66.487 49.9915 61.2119L50.0932 60.5534C50.6107 57.2001 53.532 54.7488 56.9242 54.8214L57.5904 54.8357C62.9267 54.9499 66.2875 49.1288 63.5204 44.5645L63.175 43.9947C61.416 41.0933 62.0782 37.3378 64.7235 35.2129L65.243 34.7957C69.4042 31.4531 68.237 24.8335 63.1835 23.1157L62.5526 22.9013C59.3401 21.8093 57.4334 18.5067 58.094 15.1787L58.2237 14.5251C59.2628 9.28971 54.1137 4.9691 49.1383 6.90156L48.5172 7.1428C45.3544 8.37122 41.7709 7.06693 40.1377 4.09291L39.8169 3.50886ZM33.4709 57.5949C46.105 57.5949 56.3469 47.353 56.3469 34.719C56.3469 22.0849 46.105 11.843 33.4709 11.843C20.8369 11.843 10.595 22.0849 10.595 34.719C10.595 47.353 20.8369 57.5949 33.4709 57.5949Z" fill="url(#paint0_linear_315_815)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_315_815" x1="65.7064" y1="2.55327" x2="-3.08548" y2="63.4681" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFCF5A"/>
|
||||
<stop offset="0.615" stop-color="#E2A23E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
32
img/circle-text.svg
Normal file
@@ -0,0 +1,32 @@
|
||||
<svg width="138" height="138" viewBox="0 0 138 138" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M66.1356 13L64.9449 13L68.389 3.62022L69.5615 3.62022L73.0056 13L71.8148 13L69.0119 5.10413L68.9386 5.10413L66.1356 13ZM66.5753 9.33602L71.3751 9.33602L71.3751 10.3436L66.5753 10.3436L66.5753 9.33602Z" fill="white"/>
|
||||
<path d="M82.0097 11.5581L82.821 7.47944L83.8811 7.69031L82.5087 14.59L81.4486 14.3791L81.6809 13.2112L81.6091 13.1969C81.3777 13.5151 81.0668 13.763 80.6766 13.9407C80.287 14.1154 79.8316 14.1509 79.3105 14.0472C78.8793 13.9614 78.5148 13.7909 78.2169 13.5355C77.9196 13.2771 77.7133 12.9372 77.5979 12.5158C77.483 12.0913 77.484 11.5856 77.6008 10.9987L78.4728 6.61453L79.5329 6.8254L78.6752 11.1377C78.5751 11.6408 78.636 12.0701 78.8579 12.4255C79.0829 12.7816 79.4154 13.0034 79.8556 13.0909C80.1192 13.1434 80.4006 13.1293 80.6999 13.0487C81.0022 12.9688 81.2739 12.808 81.515 12.5665C81.759 12.3255 81.924 11.9894 82.0097 11.5581Z" fill="white"/>
|
||||
<path d="M94.599 11.375L94.2485 12.2213L90.8803 10.8261L91.2308 9.97988L94.599 11.375ZM92.8575 8.82936L93.8561 9.24299L91.2902 15.4377C91.1733 15.7198 91.1266 15.9483 91.15 16.1232C91.1774 16.2965 91.246 16.434 91.3559 16.5357C91.4698 16.6357 91.6001 16.7161 91.7468 16.7769C91.8568 16.8225 91.9494 16.8542 92.0246 16.8721C92.1009 16.8872 92.162 16.8993 92.2078 16.9084L92.0394 17.8896C91.9612 17.8869 91.8561 17.8732 91.7243 17.8483C91.5913 17.8263 91.4318 17.7767 91.2456 17.6996C90.9635 17.5827 90.7122 17.4076 90.4916 17.1741C90.2739 16.9418 90.1276 16.6647 90.0527 16.3429C89.9806 16.0222 90.0228 15.6729 90.1794 15.2949L92.8575 8.82936Z" fill="white"/>
|
||||
<path d="M100.012 22.5473C99.484 22.1945 99.1047 21.7593 98.874 21.2416C98.6459 20.7256 98.5712 20.1671 98.6497 19.5659C98.7308 18.9664 98.9732 18.3646 99.3769 17.7604C99.784 17.1511 100.25 16.693 100.774 16.3861C101.301 16.081 101.847 15.935 102.411 15.9483C102.977 15.9633 103.525 16.1472 104.053 16.5001C104.581 16.8529 104.959 17.2873 105.187 17.8033C105.418 18.3209 105.492 18.8808 105.409 19.4828C105.329 20.0865 105.085 20.693 104.678 21.3023C104.274 21.9065 103.81 22.3599 103.284 22.6626C102.761 22.9669 102.217 23.1115 101.65 23.0965C101.086 23.0832 100.54 22.9002 100.012 22.5473ZM100.552 21.74C100.953 22.008 101.351 22.1258 101.748 22.0931C102.144 22.0605 102.516 21.9182 102.865 21.6662C103.213 21.4142 103.518 21.0928 103.779 20.7018C104.04 20.3108 104.222 19.905 104.323 19.4842C104.424 19.0634 104.415 18.6624 104.295 18.2812C104.175 17.9 103.914 17.5754 103.513 17.3074C103.112 17.0394 102.713 16.9229 102.315 16.9581C101.917 16.9932 101.542 17.1381 101.192 17.3926C100.842 17.6471 100.537 17.9699 100.276 18.3609C100.014 18.7518 99.834 19.1564 99.7345 19.5747C99.635 19.9929 99.646 20.3913 99.7675 20.77C99.8891 21.1487 100.15 21.472 100.552 21.74Z" fill="white"/>
|
||||
<path d="M105.285 26.0889L110.259 21.1145L110.998 21.8529L110.22 22.6301L110.285 22.6949C110.654 22.533 111.028 22.4941 111.406 22.5783C111.786 22.6603 112.138 22.8633 112.461 23.1871C112.79 23.5153 112.988 23.8629 113.057 24.23C113.131 24.597 113.096 24.9748 112.954 25.3634L113.006 25.4153C113.39 25.2857 113.785 25.2728 114.191 25.3764C114.599 25.4779 114.981 25.7067 115.337 26.063C115.782 26.5077 116.007 27.0108 116.011 27.5721C116.017 28.1313 115.728 28.7034 115.143 29.2885L111.814 32.6177L111.049 31.8535L114.379 28.5242C114.746 28.1572 114.908 27.7945 114.864 27.4361C114.821 27.0777 114.664 26.7625 114.392 26.4904C114.042 26.1407 113.665 25.9755 113.261 25.995C112.86 26.0122 112.498 26.1817 112.176 26.5034L108.938 29.7419L108.161 28.9647L111.568 25.5578C111.85 25.2749 111.986 24.9554 111.976 24.5991C111.967 24.2408 111.818 23.9169 111.529 23.6276C111.33 23.429 111.092 23.2962 110.813 23.2292C110.537 23.1645 110.252 23.1731 109.958 23.2552C109.669 23.3372 109.402 23.5002 109.158 23.7442L106.049 26.8532L105.285 26.0889Z" fill="white"/>
|
||||
<path d="M115.047 37.4136C114.799 37.043 114.644 36.6599 114.582 36.2645C114.522 35.8674 114.566 35.491 114.714 35.1351C114.864 34.7776 115.13 34.4716 115.511 34.2172C115.846 33.9933 116.162 33.8778 116.458 33.8707C116.757 33.8619 117.04 33.9281 117.307 34.0692C117.574 34.2104 117.825 34.3947 118.062 34.6223C118.303 34.8506 118.532 35.0888 118.749 35.3367C119.032 35.6616 119.259 35.9268 119.429 36.1324C119.604 36.3389 119.754 36.4734 119.88 36.5359C120.008 36.601 120.145 36.5852 120.289 36.4885L120.32 36.4681C120.696 36.2171 120.919 35.9192 120.99 35.5744C121.062 35.2322 120.96 34.8542 120.684 34.4404C120.397 34.0114 120.078 33.7377 119.728 33.6195C119.377 33.5014 119.062 33.464 118.782 33.5075L118.517 32.4509C118.974 32.3657 119.387 32.3839 119.754 32.5055C120.126 32.6279 120.452 32.8139 120.733 33.0634C121.018 33.3138 121.259 33.5862 121.455 33.8807C121.581 34.0685 121.702 34.2996 121.819 34.5739C121.941 34.849 122.009 35.1465 122.025 35.4666C122.042 35.7893 121.963 36.1192 121.788 36.4564C121.613 36.7936 121.294 37.1175 120.829 37.4279L116.975 40.0029L116.375 39.1042L117.167 38.575L117.136 38.5293C116.969 38.5531 116.765 38.5424 116.525 38.4969C116.286 38.4514 116.036 38.3445 115.777 38.1763C115.517 38.008 115.274 37.7538 115.047 37.4136ZM115.946 37.0113C116.183 37.3667 116.453 37.6196 116.756 37.77C117.06 37.923 117.364 37.9879 117.668 37.9647C117.974 37.9441 118.248 37.8523 118.492 37.6895L119.315 37.1399C119.243 37.1323 119.146 37.0765 119.021 36.9725C118.901 36.8693 118.77 36.7433 118.631 36.5944C118.495 36.4463 118.364 36.3004 118.239 36.1565C118.118 36.0135 118.018 35.8981 117.941 35.8101C117.755 35.5969 117.559 35.4116 117.355 35.2543C117.155 35.0979 116.946 35.0024 116.729 34.9679C116.515 34.9342 116.294 34.9937 116.066 35.1464C115.753 35.3551 115.595 35.6283 115.589 35.9662C115.588 36.305 115.707 36.6533 115.946 37.0113Z" fill="white"/>
|
||||
<path d="M127.848 46.3542L127.002 46.7047L125.607 43.3366L126.453 42.986L127.848 46.3542ZM128.417 43.3227L128.83 44.3213L122.636 46.8872C122.354 47.0041 122.159 47.1326 122.052 47.2728C121.949 47.4147 121.9 47.5605 121.906 47.7101C121.915 47.8614 121.951 48.0104 122.012 48.157C122.057 48.2671 122.1 48.355 122.141 48.4208C122.184 48.4855 122.219 48.5373 122.245 48.5761L121.432 49.1507C121.378 49.0936 121.314 49.0096 121.238 48.8988C121.16 48.7892 121.082 48.6413 121.005 48.4551C120.888 48.173 120.834 47.8714 120.843 47.5504C120.853 47.2322 120.946 46.9328 121.12 46.6522C121.296 46.3745 121.573 46.1574 121.951 46.0008L128.417 43.3227Z" fill="white"/>
|
||||
<path d="M123.815 57.5273L130.715 56.1549L130.926 57.215L124.026 58.5874L123.815 57.5273ZM131.972 56.4652C131.931 56.2585 131.966 56.0663 132.077 55.8886C132.188 55.7139 132.343 55.6069 132.541 55.5675C132.738 55.5282 132.922 55.5679 133.092 55.6867C133.262 55.8084 133.368 55.9726 133.409 56.1792C133.45 56.3859 133.415 56.5765 133.304 56.7513C133.193 56.929 133.038 57.0375 132.841 57.0768C132.643 57.1162 132.459 57.0749 132.289 56.9532C132.119 56.8345 132.013 56.6718 131.972 56.4652Z" fill="white"/>
|
||||
<path d="M124.853 69.236C124.853 68.5764 125.009 68.0085 125.321 67.5322C125.632 67.0559 126.061 66.6895 126.608 66.433C127.154 66.1765 127.779 66.0483 128.481 66.0483C129.195 66.0483 129.826 66.1796 130.372 66.4422C130.922 66.7078 131.351 67.0773 131.659 67.5505C131.971 68.0268 132.126 68.5825 132.126 69.2176C132.126 69.7123 132.035 70.1581 131.852 70.555C131.668 70.9519 131.412 71.2771 131.082 71.5305C130.752 71.7839 130.368 71.9412 129.928 72.0023L129.928 70.9214C130.249 70.8389 130.533 70.6557 130.78 70.3718C131.03 70.0909 131.155 69.7123 131.155 69.236C131.155 68.8146 131.046 68.4451 130.826 68.1276C130.609 67.8131 130.302 67.5673 129.905 67.3902C129.511 67.2162 129.049 67.1292 128.517 67.1292C127.974 67.1292 127.501 67.2147 127.098 67.3856C126.695 67.5597 126.382 67.8039 126.159 68.1184C125.936 68.436 125.824 68.8085 125.824 69.236C125.824 69.5169 125.873 69.7718 125.971 70.0008C126.069 70.2298 126.209 70.4237 126.392 70.5825C126.576 70.7412 126.795 70.8542 127.052 70.9214L127.052 72.0023C126.637 71.9412 126.263 71.7901 125.93 71.5488C125.6 71.3107 125.337 70.9947 125.142 70.6008C124.95 70.21 124.853 69.755 124.853 69.236Z" fill="white"/>
|
||||
<path d="M120.511 90.5922C120.764 89.9829 121.125 89.5178 121.595 89.1969C122.065 88.876 122.602 88.7017 123.205 88.6739C123.808 88.6461 124.434 88.7666 125.082 89.0353C125.743 89.3087 126.275 89.6713 126.679 90.123C127.085 90.5788 127.34 91.0843 127.444 91.6395C127.55 92.1988 127.481 92.7718 127.238 93.3585C127.048 93.8155 126.793 94.1923 126.472 94.4889C126.151 94.7855 125.79 94.9878 125.388 95.0957C124.986 95.2037 124.571 95.2017 124.141 95.0899L124.555 94.0913C124.882 94.1378 125.215 94.0772 125.552 93.9095C125.891 93.7458 126.151 93.4439 126.334 93.0039C126.495 92.6146 126.535 92.2312 126.453 91.8537C126.373 91.4802 126.184 91.1357 125.885 90.8202C125.588 90.5086 125.194 90.2512 124.703 90.0479C124.201 89.8399 123.731 89.7378 123.293 89.7415C122.854 89.7481 122.471 89.854 122.145 90.0593C121.818 90.2673 121.572 90.5688 121.408 90.9638C121.301 91.2233 121.248 91.4775 121.251 91.7265C121.254 91.9754 121.309 92.2083 121.418 92.4251C121.526 92.6419 121.686 92.8304 121.897 92.9906L121.484 93.9892C121.124 93.7739 120.836 93.4911 120.621 93.1409C120.407 92.7947 120.285 92.4022 120.256 91.9635C120.228 91.5289 120.313 91.0717 120.511 90.5922Z" fill="white"/>
|
||||
<path d="M116.374 98.897L122.223 102.805L121.643 103.674L120.76 103.083L120.719 103.144C120.937 103.444 121.043 103.794 121.037 104.194C121.03 104.593 120.91 104.968 120.676 105.319C120.632 105.385 120.575 105.466 120.507 105.564C120.438 105.661 120.384 105.733 120.345 105.781L119.431 105.17C119.459 105.145 119.517 105.083 119.606 104.984C119.695 104.889 119.779 104.782 119.859 104.663C120.049 104.378 120.159 104.084 120.189 103.781C120.219 103.482 120.174 103.199 120.052 102.93C119.931 102.666 119.739 102.445 119.475 102.269L115.773 99.7957L116.374 98.897Z" fill="white"/>
|
||||
<path d="M108.094 105.371C108.224 105.241 108.35 105.137 108.473 105.057C108.594 104.975 108.684 104.924 108.742 104.905L109.221 105.772C108.988 105.911 108.807 106.057 108.677 106.213C108.548 106.368 108.485 106.558 108.49 106.783C108.49 107.007 108.569 107.292 108.729 107.638L108.975 108.169L115.815 111.33L114.986 112.159L109.649 109.568L109.597 109.62L112.188 114.957L111.359 115.786L107.771 107.975C107.609 107.623 107.514 107.292 107.486 106.984C107.455 106.673 107.492 106.383 107.596 106.116C107.697 105.85 107.863 105.602 108.094 105.371Z" fill="white"/>
|
||||
<path d="M101.148 111.697L106.522 119.74L105.654 120.32L105.033 119.391L104.926 119.462C104.928 119.608 104.923 119.798 104.912 120.034C104.899 120.273 104.824 120.529 104.686 120.801C104.548 121.077 104.288 121.343 103.907 121.597C103.415 121.926 102.898 122.093 102.358 122.098C101.818 122.103 101.291 121.95 100.779 121.639C100.266 121.328 99.8044 120.865 99.3939 120.25C98.98 119.631 98.7266 119.024 98.6337 118.428C98.5425 117.836 98.6003 117.29 98.8073 116.792C99.0159 116.296 99.364 115.886 99.8514 115.56C100.227 115.309 100.57 115.17 100.879 115.144C101.189 115.12 101.459 115.147 101.688 115.225C101.918 115.306 102.102 115.378 102.239 115.441L102.316 115.39L100.249 112.298L101.148 111.697ZM103.684 117.406C103.389 116.964 103.064 116.617 102.709 116.366C102.356 116.118 101.991 115.981 101.615 115.957C101.241 115.936 100.873 116.045 100.513 116.286C100.137 116.537 99.8896 116.846 99.7706 117.212C99.6507 117.582 99.6401 117.978 99.7388 118.401C99.8366 118.827 100.025 119.249 100.303 119.665C100.578 120.076 100.889 120.405 101.236 120.65C101.583 120.899 101.948 121.036 102.33 121.059C102.712 121.087 103.094 120.973 103.474 120.719C103.84 120.474 104.085 120.176 104.21 119.825C104.337 119.476 104.353 119.094 104.26 118.679C104.168 118.267 103.976 117.842 103.684 117.406Z" fill="white"/>
|
||||
<path d="M91.6458 127.848L91.2953 127.002L94.6634 125.607L95.014 126.453L91.6458 127.848ZM94.6773 128.417L93.6787 128.83L91.1128 122.636C90.9959 122.354 90.8674 122.159 90.7271 122.052C90.5853 121.949 90.4395 121.9 90.2899 121.906C90.1386 121.916 89.9896 121.951 89.8429 122.012C89.7329 122.057 89.645 122.1 89.5791 122.141C89.5145 122.184 89.4627 122.219 89.4239 122.245L88.8492 121.432C88.9064 121.378 88.9904 121.314 89.1012 121.238C89.2108 121.16 89.3587 121.082 89.5449 121.005C89.827 120.888 90.1285 120.834 90.4496 120.843C90.7678 120.854 91.0672 120.946 91.3477 121.121C91.6255 121.296 91.8426 121.573 91.9992 121.951L94.6773 128.417Z" fill="white"/>
|
||||
<path d="M79.9181 123.776C80.5409 123.652 81.117 123.692 81.6461 123.895C82.1722 124.098 82.6201 124.44 82.9896 124.921C83.3562 125.402 83.6104 125.999 83.7521 126.712C83.8951 127.43 83.8896 128.084 83.7357 128.672C83.5788 129.26 83.2963 129.749 82.8881 130.138C82.4769 130.528 81.9598 130.785 81.3369 130.909C80.7141 131.033 80.1395 130.993 79.6134 130.79C79.0843 130.587 78.6361 130.243 78.269 129.759C77.8988 129.275 77.6423 128.674 77.4993 127.955C77.3575 127.243 77.3654 126.594 77.5229 126.008C77.6774 125.423 77.9602 124.936 78.3714 124.546C78.7796 124.156 79.2952 123.9 79.9181 123.776ZM80.1075 124.728C79.6343 124.822 79.2691 125.021 79.0119 125.324C78.7547 125.628 78.5921 125.992 78.524 126.416C78.4559 126.841 78.4677 127.283 78.5594 127.745C78.6511 128.206 78.81 128.621 79.036 128.99C79.2619 129.359 79.552 129.636 79.9063 129.821C80.2606 130.006 80.6744 130.051 81.1475 129.957C81.6207 129.863 81.9856 129.663 82.2422 129.356C82.4988 129.05 82.6608 128.683 82.7283 128.256C82.7959 127.828 82.7838 127.384 82.692 126.923C82.6003 126.461 82.4417 126.048 82.2164 125.682C81.991 125.316 81.7015 125.042 81.3478 124.86C80.9941 124.678 80.5806 124.634 80.1075 124.728Z" fill="white"/>
|
||||
<path d="M68.7641 124.853C69.4236 124.853 69.9915 125.009 70.4678 125.321C70.9441 125.632 71.3105 126.061 71.567 126.608C71.8235 127.154 71.9517 127.779 71.9517 128.481C71.9517 129.195 71.8205 129.826 71.5579 130.372C71.2922 130.922 70.9228 131.351 70.4495 131.659C69.9732 131.971 69.4175 132.126 68.7824 132.126C68.2878 132.126 67.842 132.035 67.4451 131.852C67.0481 131.668 66.7229 131.412 66.4695 131.082C66.2161 130.752 66.0588 130.368 65.9978 129.928L67.0787 129.928C67.1611 130.249 67.3443 130.533 67.6283 130.78C67.9092 131.03 68.2878 131.155 68.7641 131.155C69.1854 131.155 69.5549 131.046 69.8724 130.826C70.1869 130.609 70.4327 130.302 70.6098 129.905C70.7839 129.511 70.8709 129.049 70.8709 128.517C70.8709 127.974 70.7854 127.501 70.6144 127.098C70.4404 126.695 70.1961 126.382 69.8816 126.159C69.5641 125.936 69.1915 125.824 68.7641 125.824C68.4832 125.824 68.2282 125.873 67.9992 125.971C67.7702 126.069 67.5763 126.209 67.4176 126.392C67.2588 126.576 67.1458 126.795 67.0787 127.052L65.9978 127.052C66.0588 126.637 66.21 126.263 66.4512 125.93C66.6894 125.6 67.0054 125.337 67.3993 125.142C67.7901 124.95 68.245 124.853 68.7641 124.853Z" fill="white"/>
|
||||
<path d="M55.9901 126.442L55.1787 130.521L54.1186 130.31L55.4911 123.41L56.5512 123.621L56.3189 124.789L56.3907 124.803C56.6221 124.485 56.933 124.237 57.3232 124.059C57.7128 123.885 58.1682 123.849 58.6893 123.953C59.1205 124.039 59.485 124.209 59.7829 124.465C60.0802 124.723 60.2865 125.063 60.4019 125.484C60.5168 125.909 60.5158 126.414 60.399 127.001L59.527 131.385L58.4669 131.175L59.3246 126.862C59.4247 126.359 59.3638 125.93 59.1419 125.574C58.9169 125.218 58.5844 124.997 58.1441 124.909C57.8806 124.857 57.5992 124.871 57.2999 124.951C56.9976 125.031 56.7259 125.192 56.4848 125.434C56.2407 125.675 56.0758 126.011 55.9901 126.442Z" fill="white"/>
|
||||
<path d="M48.9199 121.296L46.2278 127.796L45.263 127.396L45.6696 126.414L45.6019 126.386C45.3502 126.659 45.0278 126.831 44.6345 126.903C44.2413 126.975 43.85 126.93 43.4607 126.769C43.3874 126.738 43.2963 126.699 43.1874 126.65C43.0786 126.602 42.9971 126.563 42.943 126.534L43.3637 125.519C43.394 125.541 43.4663 125.586 43.5806 125.653C43.6909 125.722 43.8124 125.784 43.9449 125.839C44.2609 125.97 44.5704 126.02 44.8736 125.991C45.1728 125.962 45.4422 125.863 45.6819 125.691C45.9175 125.521 46.0961 125.289 46.2177 124.996L47.9213 120.883L48.9199 121.296Z" fill="white"/>
|
||||
<path d="M39.1031 116.374L35.1948 122.223L34.3265 121.643L34.9169 120.76L34.8559 120.719C34.5559 120.937 34.2061 121.043 33.8064 121.037C33.4067 121.03 33.0316 120.91 32.6813 120.676C32.6153 120.632 32.5336 120.576 32.4363 120.507C32.339 120.438 32.2666 120.384 32.2193 120.345L32.8299 119.431C32.8553 119.459 32.9175 119.517 33.0165 119.606C33.1112 119.695 33.2183 119.779 33.3376 119.859C33.6219 120.049 33.9157 120.159 34.2188 120.189C34.5177 120.219 34.8014 120.174 35.07 120.052C35.3344 119.932 35.5547 119.739 35.7312 119.475L38.2044 115.774L39.1031 116.374Z" fill="white"/>
|
||||
<path d="M29.4566 108.445C29.9359 108.924 30.2436 109.444 30.3796 110.003C30.5113 110.562 30.48 111.127 30.2857 111.697C30.0871 112.267 29.733 112.806 29.2234 113.316C28.7139 113.825 28.172 114.182 27.5977 114.385C27.0191 114.588 26.4534 114.631 25.9007 114.514C25.3437 114.398 24.8406 114.115 24.3916 113.666C24.1325 113.407 23.9198 113.108 23.7536 112.769C23.5873 112.43 23.4977 112.059 23.4848 111.658C23.4697 111.258 23.5593 110.838 23.7536 110.398C23.9479 109.958 24.2771 109.505 24.7413 109.041L25.0652 108.717L28.8996 112.552L28.2389 113.212L25.1818 110.155C24.9011 110.436 24.7068 110.742 24.5988 111.075C24.4887 111.405 24.4725 111.737 24.5503 112.069C24.6258 112.399 24.8018 112.703 25.0781 112.979C25.3826 113.283 25.7215 113.471 26.095 113.543C26.4642 113.614 26.828 113.589 27.1864 113.468C27.5448 113.347 27.8611 113.15 28.1353 112.875L28.5757 112.435C28.9514 112.059 29.2051 111.676 29.3368 111.285C29.4642 110.895 29.4793 110.515 29.3821 110.145C29.2828 109.778 29.0788 109.44 28.7701 109.132C28.5693 108.931 28.3598 108.778 28.1418 108.672C27.9194 108.566 27.6916 108.511 27.4585 108.507C27.2231 108.504 26.9867 108.557 26.7492 108.665L26.2181 107.72C26.5463 107.547 26.8971 107.457 27.2706 107.451C27.642 107.447 28.0155 107.526 28.3911 107.691C28.7647 107.857 29.1198 108.108 29.4566 108.445Z" fill="white"/>
|
||||
<path d="M19.9186 103.959L23.4373 101.608L24.0378 102.506L18.1886 106.415L17.6084 105.547L18.5224 104.936L18.4715 104.86C18.0828 104.921 17.7051 104.872 17.3382 104.714C16.9689 104.556 16.6366 104.257 16.3414 103.815C16.0768 103.419 15.9265 103.018 15.8905 102.613C15.852 102.209 15.9413 101.815 16.1586 101.431C16.3733 101.049 16.7294 100.692 17.227 100.359L20.9437 97.8758L21.5442 98.7745L17.8884 101.217C17.4289 101.524 17.1507 101.883 17.0537 102.293C16.9542 102.704 17.0436 103.118 17.3218 103.535C17.5135 103.822 17.747 104.036 18.0224 104.179C18.296 104.32 18.5954 104.375 18.9206 104.345C19.2458 104.315 19.5784 104.186 19.9186 103.959Z" fill="white"/>
|
||||
<path d="M17.3077 90.1562C17.56 90.7655 17.6335 91.3498 17.5281 91.909C17.4226 92.4682 17.1665 92.9709 16.7597 93.417C16.3529 93.8631 15.8251 94.2206 15.1763 94.4893C14.5162 94.7627 13.8835 94.8827 13.278 94.8493C12.6686 94.8142 12.1309 94.637 11.6649 94.3178C11.1949 93.9969 10.8383 93.5431 10.5953 92.9564C10.406 92.4994 10.32 92.0525 10.3374 91.6156C10.3548 91.1788 10.4673 90.7802 10.6749 90.4199C10.8826 90.0596 11.1779 89.7671 11.5607 89.5424L11.9743 90.541C11.7097 90.7399 11.5175 91.0178 11.3976 91.3748C11.2738 91.7301 11.3031 92.1278 11.4853 92.5679C11.6466 92.9571 11.8895 93.2564 12.2141 93.4657C12.5348 93.6732 12.9123 93.7829 13.3468 93.7946C13.7773 93.8047 14.238 93.708 14.7288 93.5047C15.2309 93.2967 15.6355 93.0367 15.9424 92.7244C16.2481 92.4094 16.4438 92.064 16.5294 91.6881C16.6138 91.3095 16.5742 90.9227 16.4106 90.5277C16.3031 90.2682 16.1604 90.0514 15.9825 89.8772C15.8046 89.703 15.6007 89.5776 15.3706 89.5011C15.1406 89.4245 14.8943 89.4042 14.6316 89.4403L14.218 88.4417C14.625 88.3392 15.0284 88.3357 15.4282 88.4312C15.824 88.5251 16.1875 88.7165 16.5188 89.0057C16.8461 89.2931 17.109 89.6766 17.3077 90.1562Z" fill="white"/>
|
||||
<path d="M17.039 81.2992C17.0748 81.4789 17.0917 81.6421 17.0897 81.7888C17.0908 81.9349 17.0832 82.0376 17.067 82.0968L16.079 82.0132C16.0937 81.7425 16.0724 81.5102 16.0151 81.3161C15.9578 81.122 15.8346 80.9644 15.6455 80.8433C15.4588 80.7185 15.1775 80.6266 14.8015 80.5675L14.2231 80.4771L7.79504 84.4081L7.5663 83.2582L12.6856 80.2599L12.6713 80.188L6.79431 79.3771L6.56558 78.2272L15.054 79.5833C15.4366 79.6442 15.764 79.7488 16.0363 79.897C16.3116 80.0445 16.5318 80.2358 16.6968 80.4707C16.8612 80.7026 16.9753 80.9788 17.039 81.2992Z" fill="white"/>
|
||||
<path d="M7.48835 55.135L8.38674 55.3137L7.67551 58.8893L6.77711 58.7106L7.48835 55.135ZM5.33136 57.3397L5.54223 56.2796L12.1185 57.5876C12.4179 57.6472 12.6512 57.6485 12.8182 57.5914C12.9828 57.5308 13.1042 57.4366 13.1826 57.309C13.2585 57.1778 13.3119 57.0343 13.3429 56.8786C13.3661 56.7618 13.3792 56.6648 13.3821 56.5875C13.382 56.5097 13.382 56.4474 13.3819 56.4007L14.3771 56.3745C14.3897 56.4517 14.3967 56.5574 14.3981 56.6915C14.4024 56.8263 14.3849 56.9925 14.3456 57.1901C14.286 57.4896 14.1633 57.7702 13.9773 58.0321C13.792 58.291 13.5488 58.4886 13.2477 58.6248C12.9472 58.758 12.5964 58.7848 12.1951 58.7049L5.33136 57.3397Z" fill="white"/>
|
||||
<path d="M16.7036 48.9197L10.2043 46.2276L10.6039 45.2628L11.5855 45.6694L11.6136 45.6017C11.3411 45.3501 11.169 45.0276 11.0972 44.6343C11.0254 44.2411 11.0702 43.8498 11.2314 43.4605C11.2618 43.3872 11.3012 43.2961 11.3496 43.1872C11.398 43.0784 11.4367 42.9969 11.4657 42.9428L12.4812 43.3635C12.4587 43.3938 12.4139 43.4661 12.3467 43.5804C12.2779 43.6907 12.216 43.8122 12.1611 43.9448C12.0303 44.2607 11.9797 44.5702 12.0095 44.8734C12.0376 45.1726 12.1375 45.442 12.3092 45.6817C12.4793 45.9174 12.711 46.096 13.0044 46.2175L17.1172 47.9211L16.7036 48.9197Z" fill="white"/>
|
||||
<path d="M22.1967 38.5457C21.949 38.9163 21.6545 39.2061 21.313 39.4149C20.9689 39.622 20.6043 39.7254 20.2189 39.725C19.8311 39.7229 19.4468 39.5946 19.066 39.3401C18.7308 39.1162 18.5033 38.8687 18.3833 38.5976C18.2608 38.3248 18.2137 38.0381 18.242 37.7375C18.2702 37.4369 18.3442 37.1338 18.4639 36.8282C18.5828 36.5184 18.7152 36.2158 18.8612 35.9204C19.053 35.5344 19.2113 35.2234 19.336 34.9872C19.4599 34.7469 19.5266 34.5564 19.536 34.4158C19.5472 34.2727 19.4804 34.1528 19.3357 34.0561L19.3052 34.0358C18.9295 33.7847 18.5688 33.6925 18.2233 33.759C17.8794 33.823 17.5692 34.0619 17.2927 34.4757C17.006 34.9048 16.8752 35.3039 16.9002 35.6732C16.9252 36.0424 17.0113 36.3478 17.1584 36.5893L16.2838 37.2388C16.0301 36.8489 15.8891 36.4609 15.8607 36.0748C15.8315 35.6843 15.8784 35.3118 16.0016 34.9571C16.1239 34.5982 16.2835 34.2714 16.4802 33.9769C16.6058 33.7891 16.7728 33.5886 16.9814 33.3754C17.1891 33.1579 17.4378 32.9808 17.7276 32.8439C18.019 32.7045 18.354 32.6511 18.7325 32.6836C19.111 32.7162 19.5325 32.8877 19.9971 33.1981L23.8509 35.7732L23.2504 36.6719L22.4583 36.1426L22.4278 36.1883C22.514 36.3341 22.582 36.5264 22.6317 36.7652C22.6814 37.0041 22.6782 37.2755 22.622 37.5795C22.5658 37.8834 22.424 38.2055 22.1967 38.5457ZM21.481 37.8692C21.7185 37.5137 21.8488 37.1675 21.872 36.8305C21.897 36.4909 21.8405 36.1852 21.7028 35.9132C21.5667 35.6387 21.3768 35.42 21.1331 35.2572L20.3106 34.7075C20.3308 34.7762 20.3167 34.8879 20.2683 35.0428C20.219 35.1935 20.1524 35.362 20.0683 35.5482C19.9835 35.7302 19.8986 35.9067 19.8137 36.0776C19.728 36.2444 19.6593 36.3802 19.6075 36.4852C19.4819 36.7391 19.3856 36.9905 19.3184 37.2394C19.2504 37.4841 19.2421 37.7135 19.2935 37.9278C19.3441 38.1379 19.4837 38.3193 19.7122 38.472C20.0244 38.6806 20.3377 38.7228 20.652 38.5987C20.9655 38.4703 21.2418 38.2271 21.481 37.8692Z" fill="white"/>
|
||||
<path d="M29.1653 29.8461C28.7508 30.2606 28.2801 30.5219 27.7533 30.6298C27.2244 30.7356 26.6781 30.686 26.1146 30.4809C25.549 30.2736 25.0027 29.9066 24.4759 29.3798C23.9535 28.8573 23.5897 28.3143 23.3846 27.7508C23.1794 27.1873 23.1319 26.641 23.2421 26.1121C23.3522 25.5831 23.6166 25.1092 24.0355 24.6904C24.3593 24.3665 24.6692 24.1647 24.965 24.0848C25.2607 24.0006 25.5263 23.9768 25.7616 24.0135C25.997 24.0459 26.1859 24.0772 26.3284 24.1074L26.3931 24.0427L23.9448 21.5943L24.7091 20.83L31.3416 27.4625L30.6032 28.2009L29.8389 27.4366L29.7483 27.5273C29.7828 27.6741 29.8173 27.8684 29.8519 28.1103C29.8843 28.3499 29.8584 28.6198 29.7742 28.9199C29.6878 29.2178 29.4849 29.5266 29.1653 29.8461ZM28.5824 29.0559C28.889 28.7493 29.0682 28.4104 29.12 28.039C29.1696 27.6655 29.107 27.2812 28.9321 26.8861C28.7551 26.4888 28.4788 26.1024 28.1031 25.7267C27.7317 25.3553 27.3528 25.0844 26.9664 24.9138C26.5777 24.7411 26.1999 24.6828 25.8329 24.7389C25.4637 24.7929 25.1236 24.9754 24.8127 25.2863C24.4889 25.6101 24.3021 25.9631 24.2525 26.3453C24.2028 26.7231 24.2654 27.1074 24.4403 27.4982C24.6152 27.8846 24.8775 28.2528 25.2273 28.6025C25.5814 28.9566 25.957 29.2243 26.3543 29.4057C26.7515 29.5827 27.1423 29.6496 27.5266 29.6065C27.9109 29.559 28.2629 29.3754 28.5824 29.0559Z" fill="white"/>
|
||||
<path d="M37.4239 22.7479L33.5155 16.8987L34.4142 16.2982L38.3226 22.1474L37.4239 22.7479ZM33.3211 15.6185C33.1459 15.7355 32.955 15.7768 32.7483 15.7423C32.5442 15.7061 32.3862 15.6042 32.2742 15.4366C32.1623 15.2691 32.1286 15.0841 32.1733 14.8816C32.2205 14.6775 32.3317 14.5169 32.5069 14.3999C32.682 14.2828 32.8717 14.2424 33.0758 14.2786C33.2825 14.3131 33.4418 14.4141 33.5537 14.5817C33.6657 14.7492 33.6981 14.9351 33.6509 15.1392C33.6062 15.3417 33.4963 15.5014 33.3211 15.6185Z" fill="white"/>
|
||||
<path d="M44.2881 14.0414L45.9075 17.9512L44.9089 18.3648L42.2168 11.8655L43.1816 11.4658L43.6022 12.4814L43.6868 12.4463C43.7025 12.0532 43.8239 11.6922 44.0513 11.3634C44.2774 11.0318 44.6359 10.7643 45.1268 10.561C45.5668 10.3787 45.9893 10.3095 46.3941 10.3533C46.7978 10.3943 47.1666 10.5588 47.5007 10.8467C47.8337 11.1319 48.1146 11.5509 48.3436 12.1038L50.0542 16.2335L49.0557 16.6472L47.3731 12.5851C47.1616 12.0745 46.8643 11.7317 46.4811 11.5566C46.0967 11.3787 45.6732 11.3856 45.2106 11.5772C44.8919 11.7092 44.6356 11.8964 44.4418 12.1386C44.2508 12.3796 44.1383 12.6625 44.1042 12.9873C44.0702 13.312 44.1315 13.6634 44.2881 14.0414Z" fill="white"/>
|
||||
<path d="M58.4522 16.8402C57.9402 16.942 57.4868 16.9637 57.0923 16.9052C56.6983 16.8497 56.3574 16.7401 56.0696 16.5763C55.7853 16.4149 55.5475 16.2287 55.3561 16.0178L56.0826 15.2568C56.2035 15.3636 56.3534 15.4832 56.5323 15.6157C56.7118 15.7512 56.9407 15.8535 57.2191 15.9227C57.501 15.9943 57.8501 15.9886 58.2664 15.9058C58.8234 15.795 59.2563 15.5688 59.565 15.2272C59.8738 14.8857 59.9709 14.4274 59.8566 13.8524L59.5778 12.4509L59.488 12.4688C59.4351 12.61 59.3553 12.7878 59.2485 13.0021C59.1441 13.2127 58.9729 13.4164 58.735 13.6132C58.4994 13.8064 58.1571 13.9476 57.7079 14.037C57.1509 14.1478 56.6245 14.1155 56.1289 13.9401C55.6363 13.7641 55.2112 13.4502 54.8536 12.9984C54.4989 12.5459 54.2501 11.9603 54.1072 11.2416C53.9666 10.5348 53.9685 9.89473 54.1128 9.32122C54.2565 8.74472 54.5214 8.26865 54.9074 7.89301C55.2928 7.51437 55.776 7.26727 56.357 7.15171C56.8062 7.06236 57.1774 7.06634 57.4707 7.16365C57.7665 7.25737 58.0035 7.38457 58.1817 7.54523C58.3624 7.70231 58.5036 7.833 58.6053 7.93729L58.7131 7.91585L58.4951 6.81981L59.5192 6.61609L60.931 13.7134C61.0489 14.3063 61.0101 14.8153 60.8144 15.2402C60.6223 15.6676 60.3175 16.0131 59.8998 16.2767C59.4858 16.5427 59.0033 16.7306 58.4522 16.8402ZM57.6622 13.0561C58.0874 12.9715 58.4274 12.8027 58.6822 12.5497C58.9369 12.2966 59.1043 11.9723 59.1844 11.5765C59.2645 11.1808 59.2538 10.7284 59.1526 10.2193C59.0537 9.7222 58.8916 9.29838 58.6662 8.94784C58.4408 8.5973 58.1599 8.34342 57.8236 8.18618C57.4872 8.02894 57.1034 7.99321 56.6722 8.07899C56.223 8.16834 55.8713 8.35659 55.6171 8.64375C55.3659 8.93032 55.2036 9.28015 55.1301 9.69325C55.0596 10.1057 55.0708 10.5456 55.1637 11.0127C55.259 11.4919 55.4182 11.9007 55.6412 12.2393C55.8666 12.5743 56.1484 12.8171 56.4865 12.9677C56.8271 13.1148 57.219 13.1442 57.6622 13.0561Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 27 KiB |
BIN
img/coinbase.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
16
img/decore-center.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg width="1037" height="989" viewBox="0 0 1037 989" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g filter="url(#filter0_f_315_977)">
|
||||
<ellipse cx="518.5" cy="494.5" rx="218.5" ry="194.5" fill="url(#paint0_linear_315_977)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_f_315_977" x="0" y="0" width="1037" height="989" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="150" result="effect1_foregroundBlur_315_977"/>
|
||||
</filter>
|
||||
<linearGradient id="paint0_linear_315_977" x1="723.67" y1="314.835" x2="321.086" y2="710.457" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFCF5A"/>
|
||||
<stop offset="0.615" stop-color="#E2A23E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 835 B |
16
img/decore-hero-left.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg width="1182" height="1065" viewBox="0 0 1182 1065" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g opacity="0.5" filter="url(#filter0_f_233_149)">
|
||||
<ellipse cx="591" cy="532.5" rx="291" ry="232.5" fill="url(#paint0_linear_233_149)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_f_233_149" x="0" y="0" width="1182" height="1065" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="150" result="effect1_foregroundBlur_233_149"/>
|
||||
</filter>
|
||||
<linearGradient id="paint0_linear_233_149" x1="864.247" y1="317.733" x2="384.905" y2="842.548" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFCF5A"/>
|
||||
<stop offset="0.615" stop-color="#E2A23E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 849 B |
12
img/decore-hero-right.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="1182" height="1213" viewBox="0 0 1182 1213" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g opacity="0.5" filter="url(#filter0_f_315_835)">
|
||||
<ellipse cx="591" cy="606.5" rx="291" ry="306.5" fill="#FFCF5A"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_f_315_835" x="0" y="0" width="1182" height="1213" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="150" result="effect1_foregroundBlur_315_835"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 611 B |
BIN
img/features-bg.webp
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
img/gateio.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
img/htx.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
3
img/icons/arrow.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1 1L6 6L1 11" stroke="white" stroke-width="1.5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 161 B |
BIN
img/icons/image (1).png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
img/icons/image (2).png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
img/icons/image (3).png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
img/icons/image (4).png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
img/icons/image 27.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
img/icons/image 28.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
img/icons/image 29.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
img/icons/image 30 (1).png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
img/icons/image 31.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
img/icons/image.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
4
img/icons/result-check.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 29.3332C17.7512 29.3353 19.4857 28.9914 21.1036 28.3212C22.7216 27.651 24.1912 26.6677 25.428 25.4278C26.6679 24.1911 27.6512 22.7215 28.3214 21.1035C28.9916 19.4856 29.3355 17.7511 29.3333 15.9998C29.3355 14.2486 28.9916 12.5141 28.3214 10.8962C27.6512 9.27822 26.6679 7.80863 25.428 6.57185C24.1912 5.33195 22.7216 4.34866 21.1036 3.67846C19.4857 3.00826 17.7512 2.66435 16 2.66651C14.2487 2.66435 12.5143 3.00826 10.8963 3.67846C9.27834 4.34866 7.80875 5.33195 6.57197 6.57185C5.33208 7.80863 4.34878 9.27822 3.67858 10.8962C3.00838 12.5141 2.66448 14.2486 2.66664 15.9998C2.66448 17.7511 3.00838 19.4856 3.67858 21.1035C4.34878 22.7215 5.33208 24.1911 6.57197 25.4278C7.80875 26.6677 9.27834 27.651 10.8963 28.3212C12.5143 28.9914 14.2487 29.3353 16 29.3332Z" stroke="#FAB136" stroke-width="2.66667" stroke-linejoin="round"/>
|
||||
<path d="M10.6666 16L14.6666 20L22.6666 12" stroke="#FAB136" stroke-width="2.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
img/partners-bg.webp
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
img/video 1.jpg
Normal file
|
After Width: | Height: | Size: 374 KiB |
BIN
img/works-bg.webp
Normal file
|
After Width: | Height: | Size: 59 KiB |
11
inc/acf.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
if( function_exists('acf_add_options_page') ) {
|
||||
|
||||
acf_add_options_page(array(
|
||||
'page_title' => 'General Settings',
|
||||
'menu_title' => 'General Settings',
|
||||
'menu_slug' => 'site-settings',
|
||||
'capability' => 'edit_posts',
|
||||
'redirect' => false
|
||||
));
|
||||
}
|
||||
78
inc/custom-header.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
/**
|
||||
* Sample implementation of the Custom Header feature
|
||||
*
|
||||
* You can add an optional custom header image to header.php like so ...
|
||||
*
|
||||
<?php the_header_image_tag(); ?>
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/functionality/custom-headers/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
/**
|
||||
* Set up the WordPress core custom header feature.
|
||||
*
|
||||
* @uses cupo_header_style()
|
||||
*/
|
||||
function cupo_custom_header_setup() {
|
||||
add_theme_support(
|
||||
'custom-header',
|
||||
apply_filters(
|
||||
'cupo_custom_header_args',
|
||||
array(
|
||||
'default-image' => '',
|
||||
'default-text-color' => '000000',
|
||||
'width' => 1000,
|
||||
'height' => 250,
|
||||
'flex-height' => true,
|
||||
'wp-head-callback' => 'cupo_header_style',
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
add_action( 'after_setup_theme', 'cupo_custom_header_setup' );
|
||||
|
||||
if ( ! function_exists( 'cupo_header_style' ) ) :
|
||||
/**
|
||||
* Styles the header image and text displayed on the blog.
|
||||
*
|
||||
* @see cupo_custom_header_setup().
|
||||
*/
|
||||
function cupo_header_style() {
|
||||
$header_text_color = get_header_textcolor();
|
||||
|
||||
/*
|
||||
* If no custom options for text are set, let's bail.
|
||||
* get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ).
|
||||
*/
|
||||
if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we get this far, we have custom styles. Let's do this.
|
||||
?>
|
||||
<style type="text/css">
|
||||
<?php
|
||||
// Has the text been hidden?
|
||||
if ( ! display_header_text() ) :
|
||||
?>
|
||||
.site-title,
|
||||
.site-description {
|
||||
position: absolute;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
}
|
||||
<?php
|
||||
// If the user has set a custom color for the text use that.
|
||||
else :
|
||||
?>
|
||||
.site-title a,
|
||||
.site-description {
|
||||
color: #<?php echo esc_attr( $header_text_color ); ?>;
|
||||
}
|
||||
<?php endif; ?>
|
||||
</style>
|
||||
<?php
|
||||
}
|
||||
endif;
|
||||
61
inc/customizer.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* cupo Theme Customizer
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
/**
|
||||
* Add postMessage support for site title and description for the Theme Customizer.
|
||||
*
|
||||
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
|
||||
*/
|
||||
function cupo_customize_register( $wp_customize ) {
|
||||
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
|
||||
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
|
||||
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
|
||||
|
||||
if ( isset( $wp_customize->selective_refresh ) ) {
|
||||
$wp_customize->selective_refresh->add_partial(
|
||||
'blogname',
|
||||
array(
|
||||
'selector' => '.site-title a',
|
||||
'render_callback' => 'cupo_customize_partial_blogname',
|
||||
)
|
||||
);
|
||||
$wp_customize->selective_refresh->add_partial(
|
||||
'blogdescription',
|
||||
array(
|
||||
'selector' => '.site-description',
|
||||
'render_callback' => 'cupo_customize_partial_blogdescription',
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
add_action( 'customize_register', 'cupo_customize_register' );
|
||||
|
||||
/**
|
||||
* Render the site title for the selective refresh partial.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function cupo_customize_partial_blogname() {
|
||||
bloginfo( 'name' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the site tagline for the selective refresh partial.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function cupo_customize_partial_blogdescription() {
|
||||
bloginfo( 'description' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
|
||||
*/
|
||||
function cupo_customize_preview_js() {
|
||||
wp_enqueue_script( 'cupo-customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), _S_VERSION, true );
|
||||
}
|
||||
add_action( 'customize_preview_init', 'cupo_customize_preview_js' );
|
||||
67
inc/jetpack.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* Jetpack Compatibility File
|
||||
*
|
||||
* @link https://jetpack.com/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
/**
|
||||
* Jetpack setup function.
|
||||
*
|
||||
* See: https://jetpack.com/support/infinite-scroll/
|
||||
* See: https://jetpack.com/support/responsive-videos/
|
||||
* See: https://jetpack.com/support/content-options/
|
||||
*/
|
||||
function cupo_jetpack_setup() {
|
||||
// Add theme support for Infinite Scroll.
|
||||
add_theme_support(
|
||||
'infinite-scroll',
|
||||
array(
|
||||
'container' => 'main',
|
||||
'render' => 'cupo_infinite_scroll_render',
|
||||
'footer' => 'page',
|
||||
)
|
||||
);
|
||||
|
||||
// Add theme support for Responsive Videos.
|
||||
add_theme_support( 'jetpack-responsive-videos' );
|
||||
|
||||
// Add theme support for Content Options.
|
||||
add_theme_support(
|
||||
'jetpack-content-options',
|
||||
array(
|
||||
'post-details' => array(
|
||||
'stylesheet' => 'cupo-style',
|
||||
'date' => '.posted-on',
|
||||
'categories' => '.cat-links',
|
||||
'tags' => '.tags-links',
|
||||
'author' => '.byline',
|
||||
'comment' => '.comments-link',
|
||||
),
|
||||
'featured-images' => array(
|
||||
'archive' => true,
|
||||
'post' => true,
|
||||
'page' => true,
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
add_action( 'after_setup_theme', 'cupo_jetpack_setup' );
|
||||
|
||||
if ( ! function_exists( 'cupo_infinite_scroll_render' ) ) :
|
||||
/**
|
||||
* Custom render function for Infinite Scroll.
|
||||
*/
|
||||
function cupo_infinite_scroll_render() {
|
||||
while ( have_posts() ) {
|
||||
the_post();
|
||||
if ( is_search() ) :
|
||||
get_template_part( 'template-parts/content', 'search' );
|
||||
else :
|
||||
get_template_part( 'template-parts/content', get_post_type() );
|
||||
endif;
|
||||
}
|
||||
}
|
||||
endif;
|
||||
38
inc/languages.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
function custom_wpml_language_switcher() {
|
||||
// Получаем языки
|
||||
$languages = apply_filters('wpml_active_languages', NULL, array('skip_missing' => 0));
|
||||
|
||||
if (!empty($languages)) {
|
||||
// Определяем текущий язык
|
||||
$current_language = array_filter($languages, function($lang) {
|
||||
return $lang['active'];
|
||||
});
|
||||
$current_language = array_shift($current_language); // Текущий язык
|
||||
|
||||
// Начало блока переключателя языков
|
||||
echo '<div class="header__lang languages">';
|
||||
|
||||
// Кнопка текущего языка
|
||||
echo '<button type="button" class="languages__current">';
|
||||
echo '<span>' . esc_html($current_language['native_name']) . '</span>';
|
||||
echo '<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg">';
|
||||
echo '<path d="M1 1L5 5L9 1" stroke="#D3CBBC" />';
|
||||
echo '</svg>';
|
||||
echo '</button>';
|
||||
|
||||
// Список доступных языков без текущего языка
|
||||
echo '<ul class="languages__list">';
|
||||
foreach ($languages as $language) {
|
||||
if (!$language['active']) { // Исключаем текущий язык из списка
|
||||
echo '<li class="languages__item">';
|
||||
echo '<a href="' . esc_url($language['url']) . '" class="languages__link">';
|
||||
echo esc_html($language['native_name']);
|
||||
echo '</a>';
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
echo '</ul>';
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
57
inc/menu.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
function custom_menu_li_class($classes, $item, $args, $depth) {
|
||||
if ($args->theme_location === 'header') {
|
||||
$classes = array();
|
||||
|
||||
$classes[] = 'menu__item';
|
||||
}
|
||||
|
||||
return $classes;
|
||||
}
|
||||
add_filter('nav_menu_css_class', 'custom_menu_li_class', 10, 4);
|
||||
|
||||
function custom_menu_link_class($atts, $item, $args, $depth) {
|
||||
if ($args->theme_location === 'header') {
|
||||
// Получаем URL ссылки
|
||||
$url = isset($atts['href']) ? $atts['href'] : '';
|
||||
|
||||
// Всегда присваиваем класс 'menu__link'
|
||||
$atts['class'] = 'menu__link';
|
||||
|
||||
// Проверяем, начинается ли ссылка с '/#' (считаем её якорем)
|
||||
if (strpos($url, '/') !== 0) {
|
||||
// Если ссылка не якорная, добавляем класс 'active'
|
||||
if (in_array('current-menu-item', $item->classes)) {
|
||||
$atts['class'] .= ' active';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $atts;
|
||||
}
|
||||
add_filter('nav_menu_link_attributes', 'custom_menu_link_class', 10, 4);
|
||||
|
||||
function custom_footer_li_class($classes, $item, $args, $depth) {
|
||||
if ($args->theme_location === 'footer') {
|
||||
$classes = array();
|
||||
|
||||
$classes[] = 'footer__nav-item';
|
||||
}
|
||||
|
||||
return $classes;
|
||||
}
|
||||
add_filter('nav_menu_css_class', 'custom_footer_li_class', 10, 4);
|
||||
|
||||
function custom_footer_link_class($atts, $item, $args, $depth) {
|
||||
if ($args->theme_location === 'footer') {
|
||||
$atts['class'] = 'footer__nav-link';
|
||||
|
||||
if (in_array('current-menu-item', $item->classes)) {
|
||||
$atts['class'] .= ' active';
|
||||
}
|
||||
}
|
||||
|
||||
return $atts;
|
||||
}
|
||||
add_filter('nav_menu_link_attributes', 'custom_footer_link_class', 10, 4);
|
||||
37
inc/template-functions.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* Functions which enhance the theme by hooking into WordPress
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
/**
|
||||
* Adds custom classes to the array of body classes.
|
||||
*
|
||||
* @param array $classes Classes for the body element.
|
||||
* @return array
|
||||
*/
|
||||
function cupo_body_classes( $classes ) {
|
||||
// Adds a class of hfeed to non-singular pages.
|
||||
if ( ! is_singular() ) {
|
||||
$classes[] = 'hfeed';
|
||||
}
|
||||
|
||||
// Adds a class of no-sidebar when there is no sidebar present.
|
||||
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
|
||||
$classes[] = 'no-sidebar';
|
||||
}
|
||||
|
||||
return $classes;
|
||||
}
|
||||
add_filter( 'body_class', 'cupo_body_classes' );
|
||||
|
||||
/**
|
||||
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
|
||||
*/
|
||||
function cupo_pingback_header() {
|
||||
if ( is_singular() && pings_open() ) {
|
||||
printf( '<link rel="pingback" href="%s">', esc_url( get_bloginfo( 'pingback_url' ) ) );
|
||||
}
|
||||
}
|
||||
add_action( 'wp_head', 'cupo_pingback_header' );
|
||||
165
inc/template-tags.php
Normal file
@@ -0,0 +1,165 @@
|
||||
<?php
|
||||
/**
|
||||
* Custom template tags for this theme
|
||||
*
|
||||
* Eventually, some of the functionality here could be replaced by core features.
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
if ( ! function_exists( 'cupo_posted_on' ) ) :
|
||||
/**
|
||||
* Prints HTML with meta information for the current post-date/time.
|
||||
*/
|
||||
function cupo_posted_on() {
|
||||
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
||||
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
||||
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
|
||||
}
|
||||
|
||||
$time_string = sprintf(
|
||||
$time_string,
|
||||
esc_attr( get_the_date( DATE_W3C ) ),
|
||||
esc_html( get_the_date() ),
|
||||
esc_attr( get_the_modified_date( DATE_W3C ) ),
|
||||
esc_html( get_the_modified_date() )
|
||||
);
|
||||
|
||||
$posted_on = sprintf(
|
||||
/* translators: %s: post date. */
|
||||
esc_html_x( 'Posted on %s', 'post date', 'cupo' ),
|
||||
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
|
||||
);
|
||||
|
||||
echo '<span class="posted-on">' . $posted_on . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
if ( ! function_exists( 'cupo_posted_by' ) ) :
|
||||
/**
|
||||
* Prints HTML with meta information for the current author.
|
||||
*/
|
||||
function cupo_posted_by() {
|
||||
$byline = sprintf(
|
||||
/* translators: %s: post author. */
|
||||
esc_html_x( 'by %s', 'post author', 'cupo' ),
|
||||
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
|
||||
);
|
||||
|
||||
echo '<span class="byline"> ' . $byline . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
if ( ! function_exists( 'cupo_entry_footer' ) ) :
|
||||
/**
|
||||
* Prints HTML with meta information for the categories, tags and comments.
|
||||
*/
|
||||
function cupo_entry_footer() {
|
||||
// Hide category and tag text for pages.
|
||||
if ( 'post' === get_post_type() ) {
|
||||
/* translators: used between list items, there is a space after the comma */
|
||||
$categories_list = get_the_category_list( esc_html__( ', ', 'cupo' ) );
|
||||
if ( $categories_list ) {
|
||||
/* translators: 1: list of categories. */
|
||||
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'cupo' ) . '</span>', $categories_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
}
|
||||
|
||||
/* translators: used between list items, there is a space after the comma */
|
||||
$tags_list = get_the_tag_list( '', esc_html_x( ', ', 'list item separator', 'cupo' ) );
|
||||
if ( $tags_list ) {
|
||||
/* translators: 1: list of tags. */
|
||||
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'cupo' ) . '</span>', $tags_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
|
||||
echo '<span class="comments-link">';
|
||||
comments_popup_link(
|
||||
sprintf(
|
||||
wp_kses(
|
||||
/* translators: %s: post title */
|
||||
__( 'Leave a Comment<span class="screen-reader-text"> on %s</span>', 'cupo' ),
|
||||
array(
|
||||
'span' => array(
|
||||
'class' => array(),
|
||||
),
|
||||
)
|
||||
),
|
||||
wp_kses_post( get_the_title() )
|
||||
)
|
||||
);
|
||||
echo '</span>';
|
||||
}
|
||||
|
||||
edit_post_link(
|
||||
sprintf(
|
||||
wp_kses(
|
||||
/* translators: %s: Name of current post. Only visible to screen readers */
|
||||
__( 'Edit <span class="screen-reader-text">%s</span>', 'cupo' ),
|
||||
array(
|
||||
'span' => array(
|
||||
'class' => array(),
|
||||
),
|
||||
)
|
||||
),
|
||||
wp_kses_post( get_the_title() )
|
||||
),
|
||||
'<span class="edit-link">',
|
||||
'</span>'
|
||||
);
|
||||
}
|
||||
endif;
|
||||
|
||||
if ( ! function_exists( 'cupo_post_thumbnail' ) ) :
|
||||
/**
|
||||
* Displays an optional post thumbnail.
|
||||
*
|
||||
* Wraps the post thumbnail in an anchor element on index views, or a div
|
||||
* element when on single views.
|
||||
*/
|
||||
function cupo_post_thumbnail() {
|
||||
if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( is_singular() ) :
|
||||
?>
|
||||
|
||||
<div class="post-thumbnail">
|
||||
<?php the_post_thumbnail(); ?>
|
||||
</div><!-- .post-thumbnail -->
|
||||
|
||||
<?php else : ?>
|
||||
|
||||
<a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1">
|
||||
<?php
|
||||
the_post_thumbnail(
|
||||
'post-thumbnail',
|
||||
array(
|
||||
'alt' => the_title_attribute(
|
||||
array(
|
||||
'echo' => false,
|
||||
)
|
||||
),
|
||||
)
|
||||
);
|
||||
?>
|
||||
</a>
|
||||
|
||||
<?php
|
||||
endif; // End is_singular().
|
||||
}
|
||||
endif;
|
||||
|
||||
if ( ! function_exists( 'wp_body_open' ) ) :
|
||||
/**
|
||||
* Shim for sites older than 5.2.
|
||||
*
|
||||
* @link https://core.trac.wordpress.org/ticket/12563
|
||||
*/
|
||||
function wp_body_open() {
|
||||
do_action( 'wp_body_open' );
|
||||
}
|
||||
endif;
|
||||
57
index.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* The main template file
|
||||
*
|
||||
* This is the most generic template file in a WordPress theme
|
||||
* and one of the two required files for a theme (the other being style.css).
|
||||
* It is used to display a page when nothing more specific matches a query.
|
||||
* E.g., it puts together the home page when no home.php file exists.
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
|
||||
<?php
|
||||
if ( have_posts() ) :
|
||||
|
||||
if ( is_home() && ! is_front_page() ) :
|
||||
?>
|
||||
<header>
|
||||
<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
|
||||
</header>
|
||||
<?php
|
||||
endif;
|
||||
|
||||
/* Start the Loop */
|
||||
while ( have_posts() ) :
|
||||
the_post();
|
||||
|
||||
/*
|
||||
* Include the Post-Type-specific template for the content.
|
||||
* If you want to override this in a child theme, then include a file
|
||||
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
|
||||
*/
|
||||
get_template_part( 'template-parts/content', get_post_type() );
|
||||
|
||||
endwhile;
|
||||
|
||||
the_posts_navigation();
|
||||
|
||||
else :
|
||||
|
||||
get_template_part( 'template-parts/content', 'none' );
|
||||
|
||||
endif;
|
||||
?>
|
||||
|
||||
</main><!-- #main -->
|
||||
|
||||
<?php
|
||||
get_sidebar();
|
||||
get_footer();
|
||||
376
js/app.js
Normal file
@@ -0,0 +1,376 @@
|
||||
"use strict";
|
||||
let bodyLockStatus = true;
|
||||
let bodyLockToggle = (delay = 500) => {
|
||||
if (document.documentElement.classList.contains("lock")) bodyUnlock(delay);
|
||||
else bodyLock(delay);
|
||||
};
|
||||
let bodyUnlock = (delay = 500) => {
|
||||
if (bodyLockStatus) {
|
||||
const lockPaddingElements = document.querySelectorAll("[data-lp]");
|
||||
setTimeout(() => {
|
||||
lockPaddingElements.forEach((lockPaddingElement) => {
|
||||
lockPaddingElement.style.paddingRight = "";
|
||||
});
|
||||
document.body.style.paddingRight = "";
|
||||
document.documentElement.classList.remove("lock");
|
||||
}, delay);
|
||||
bodyLockStatus = false;
|
||||
setTimeout(function () {
|
||||
bodyLockStatus = true;
|
||||
}, delay);
|
||||
}
|
||||
};
|
||||
let bodyLock = (delay = 500) => {
|
||||
if (bodyLockStatus) {
|
||||
const lockPaddingElements = document.querySelectorAll("[data-lp]");
|
||||
const lockPaddingValue = window.innerWidth - document.body.offsetWidth + "px";
|
||||
lockPaddingElements.forEach((lockPaddingElement) => {
|
||||
lockPaddingElement.style.paddingRight = lockPaddingValue;
|
||||
});
|
||||
document.body.style.paddingRight = lockPaddingValue;
|
||||
document.documentElement.classList.add("lock");
|
||||
bodyLockStatus = false;
|
||||
setTimeout(function () {
|
||||
bodyLockStatus = true;
|
||||
}, delay);
|
||||
}
|
||||
};
|
||||
|
||||
function menuInit() {
|
||||
if (document.querySelector(".icon-menu"))
|
||||
document.addEventListener("click", function (e) {
|
||||
if (bodyLockStatus && e.target.closest(".icon-menu")) {
|
||||
bodyLockToggle();
|
||||
document.documentElement.classList.toggle("menu-open");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function removeClasses(array, className) {
|
||||
for (var i = 0; i < array.length; i++) array[i].classList.remove(className);
|
||||
}
|
||||
|
||||
function uniqArray(array) {
|
||||
return array.filter(function (item, index, self) {
|
||||
return self.indexOf(item) === index;
|
||||
});
|
||||
}
|
||||
|
||||
function dataMediaQueries(array, dataSetValue) {
|
||||
const media = Array.from(array).filter(function (item, index, self) {
|
||||
if (item.dataset[dataSetValue]) return item.dataset[dataSetValue].split(",")[0];
|
||||
});
|
||||
if (media.length) {
|
||||
const breakpointsArray = [];
|
||||
media.forEach((item) => {
|
||||
const params = item.dataset[dataSetValue];
|
||||
const breakpoint = {};
|
||||
const paramsArray = params.split(",");
|
||||
breakpoint.value = paramsArray[0];
|
||||
breakpoint.type = paramsArray[1] ? paramsArray[1].trim() : "max";
|
||||
breakpoint.item = item;
|
||||
breakpointsArray.push(breakpoint);
|
||||
});
|
||||
let mdQueries = breakpointsArray.map(function (item) {
|
||||
return "(" + item.type + "-width: " + item.value + "px)," + item.value + "," + item.type;
|
||||
});
|
||||
mdQueries = uniqArray(mdQueries);
|
||||
const mdQueriesArray = [];
|
||||
if (mdQueries.length) {
|
||||
mdQueries.forEach((breakpoint) => {
|
||||
const paramsArray = breakpoint.split(",");
|
||||
const mediaBreakpoint = paramsArray[1];
|
||||
const mediaType = paramsArray[2];
|
||||
const matchMedia = window.matchMedia(paramsArray[0]);
|
||||
const itemsArray = breakpointsArray.filter(function (item) {
|
||||
if (item.value === mediaBreakpoint && item.type === mediaType) return true;
|
||||
});
|
||||
mdQueriesArray.push({
|
||||
itemsArray,
|
||||
matchMedia,
|
||||
});
|
||||
});
|
||||
return mdQueriesArray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let addWindowScrollEvent = false;
|
||||
setTimeout(() => {
|
||||
if (addWindowScrollEvent) {
|
||||
let windowScroll = new Event("windowScroll");
|
||||
window.addEventListener("scroll", function (e) {
|
||||
document.dispatchEvent(windowScroll);
|
||||
});
|
||||
}
|
||||
}, 0);
|
||||
|
||||
class DynamicAdapt {
|
||||
constructor(type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
init() {
|
||||
this.оbjects = [];
|
||||
this.daClassname = "_dynamic_adapt_";
|
||||
this.nodes = [...document.querySelectorAll("[data-da]")];
|
||||
this.nodes.forEach((node) => {
|
||||
const data = node.dataset.da.trim();
|
||||
const dataArray = data.split(",");
|
||||
const оbject = {};
|
||||
оbject.element = node;
|
||||
оbject.parent = node.parentNode;
|
||||
оbject.destination = document.querySelector(`${dataArray[0].trim()}`);
|
||||
оbject.breakpoint = dataArray[1] ? dataArray[1].trim() : "767.98";
|
||||
оbject.place = dataArray[2] ? dataArray[2].trim() : "last";
|
||||
оbject.index = this.indexInParent(оbject.parent, оbject.element);
|
||||
this.оbjects.push(оbject);
|
||||
});
|
||||
this.arraySort(this.оbjects);
|
||||
this.mediaQueries = this.оbjects
|
||||
.map(({ breakpoint }) => `(${this.type}-width: ${breakpoint / 16}em),${breakpoint}`)
|
||||
.filter((item, index, self) => self.indexOf(item) === index);
|
||||
this.mediaQueries.forEach((media) => {
|
||||
const mediaSplit = media.split(",");
|
||||
const matchMedia = window.matchMedia(mediaSplit[0]);
|
||||
const mediaBreakpoint = mediaSplit[1];
|
||||
const оbjectsFilter = this.оbjects.filter(({ breakpoint }) => breakpoint === mediaBreakpoint);
|
||||
matchMedia.addEventListener("change", () => {
|
||||
this.mediaHandler(matchMedia, оbjectsFilter);
|
||||
});
|
||||
this.mediaHandler(matchMedia, оbjectsFilter);
|
||||
});
|
||||
}
|
||||
|
||||
mediaHandler(matchMedia, оbjects) {
|
||||
if (matchMedia.matches)
|
||||
оbjects.forEach((оbject) => {
|
||||
this.moveTo(оbject.place, оbject.element, оbject.destination);
|
||||
});
|
||||
else
|
||||
оbjects.forEach(({ parent, element, index }) => {
|
||||
if (element.classList.contains(this.daClassname)) this.moveBack(parent, element, index);
|
||||
});
|
||||
}
|
||||
|
||||
moveTo(place, element, destination) {
|
||||
element.classList.add(this.daClassname);
|
||||
if (place === "last" || place >= destination.children.length) {
|
||||
destination.append(element);
|
||||
return;
|
||||
}
|
||||
if (place === "first") {
|
||||
destination.prepend(element);
|
||||
return;
|
||||
}
|
||||
destination.children[place].before(element);
|
||||
}
|
||||
|
||||
moveBack(parent, element, index) {
|
||||
element.classList.remove(this.daClassname);
|
||||
if (parent.children[index] !== void 0) parent.children[index].before(element);
|
||||
else parent.append(element);
|
||||
}
|
||||
|
||||
indexInParent(parent, element) {
|
||||
return [...parent.children].indexOf(element);
|
||||
}
|
||||
|
||||
arraySort(arr) {
|
||||
if (this.type === "min")
|
||||
arr.sort((a, b) => {
|
||||
if (a.breakpoint === b.breakpoint) {
|
||||
if (a.place === b.place) return 0;
|
||||
if (a.place === "first" || b.place === "last") return -1;
|
||||
if (a.place === "last" || b.place === "first") return 1;
|
||||
return 0;
|
||||
}
|
||||
return a.breakpoint - b.breakpoint;
|
||||
});
|
||||
else {
|
||||
arr.sort((a, b) => {
|
||||
if (a.breakpoint === b.breakpoint) {
|
||||
if (a.place === b.place) return 0;
|
||||
if (a.place === "first" || b.place === "last") return 1;
|
||||
if (a.place === "last" || b.place === "first") return -1;
|
||||
return 0;
|
||||
}
|
||||
return b.breakpoint - a.breakpoint;
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const da = new DynamicAdapt("max");
|
||||
da.init();
|
||||
document.addEventListener("click", (e) => {
|
||||
const targetElement = e.target;
|
||||
if (targetElement.closest(".languages__current")) targetElement.closest(".languages").classList.toggle("open-lang");
|
||||
if (!targetElement.closest(".languages__current"))
|
||||
removeClasses(document.querySelectorAll(".languages.open-lang"), "open-lang");
|
||||
});
|
||||
menuInit();
|
||||
|
||||
function headerScroll() {
|
||||
addWindowScrollEvent = true;
|
||||
const header = document.querySelector('header.header');
|
||||
const headerShow = header.hasAttribute('data-scroll-show');
|
||||
const headerShowTimer = header.dataset.scrollShow ? header.dataset.scrollShow : 500;
|
||||
const startPoint = header.dataset.scroll ? header.dataset.scroll : 1;
|
||||
let scrollDirection = 0;
|
||||
let timer;
|
||||
document.addEventListener("windowScroll", function (e) {
|
||||
const scrollTop = window.scrollY;
|
||||
clearTimeout(timer);
|
||||
if (scrollTop >= startPoint) {
|
||||
!header.classList.contains('_header-scroll') ? header.classList.add('_header-scroll') : null;
|
||||
if (headerShow) {
|
||||
if (scrollTop > scrollDirection) {
|
||||
// downscroll code
|
||||
header.classList.contains('_header-show') ? header.classList.remove('_header-show') : null;
|
||||
} else {
|
||||
// upscroll code
|
||||
!header.classList.contains('_header-show') ? header.classList.add('_header-show') : null;
|
||||
}
|
||||
timer = setTimeout(() => {
|
||||
!header.classList.contains('_header-show') ? header.classList.add('_header-show') : null;
|
||||
}, headerShowTimer);
|
||||
}
|
||||
} else {
|
||||
header.classList.contains('_header-scroll') ? header.classList.remove('_header-scroll') : null;
|
||||
if (headerShow) {
|
||||
header.classList.contains('_header-show') ? header.classList.remove('_header-show') : null;
|
||||
}
|
||||
}
|
||||
scrollDirection = scrollTop <= 0 ? 0 : scrollTop;
|
||||
});
|
||||
};
|
||||
headerScroll();
|
||||
document.querySelectorAll('.spollers__title').forEach((header, index) => {
|
||||
header.addEventListener('click', () => {
|
||||
const content = document.getElementById(header.getAttribute('aria-controls'));
|
||||
const isExpanded = header.getAttribute('aria-expanded') === 'true';
|
||||
document.querySelectorAll('.spollers__title').forEach(otherHeader => {
|
||||
if (otherHeader !== header) {
|
||||
otherHeader.classList.remove('_spoller-active');
|
||||
otherHeader.setAttribute('aria-expanded', 'false');
|
||||
const otherContent = document.getElementById(otherHeader.getAttribute('aria-controls'));
|
||||
otherContent.setAttribute('aria-hidden', 'true');
|
||||
otherContent.style.display = 'none';
|
||||
}
|
||||
});
|
||||
if (!isExpanded) {
|
||||
header.classList.add('_spoller-active');
|
||||
header.setAttribute('aria-expanded', 'true');
|
||||
content.setAttribute('aria-hidden', 'false');
|
||||
content.style.display = 'block';
|
||||
}
|
||||
});
|
||||
if (index === 0) {
|
||||
header.classList.add('_spoller-active');
|
||||
header.setAttribute('aria-expanded', 'true');
|
||||
const content = document.getElementById(header.getAttribute('aria-controls'));
|
||||
content.setAttribute('aria-hidden', 'false');
|
||||
content.style.display = 'block';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
// Находим все элементы с классом 'open-popup'
|
||||
var popupTriggers = document.querySelectorAll('.open-popup');
|
||||
|
||||
// Добавляем обработчик события для каждого элемента
|
||||
popupTriggers.forEach(function (trigger) {
|
||||
trigger.addEventListener('click', function (e) {
|
||||
e.preventDefault(); // Предотвращаем действие по умолчанию для ссылок
|
||||
openPopup();
|
||||
});
|
||||
});
|
||||
|
||||
// Функция открытия попапа
|
||||
function openPopup() {
|
||||
document.body.classList.add('popup-open');
|
||||
document.getElementById('popupOverlay').classList.add('active');
|
||||
}
|
||||
|
||||
// Функция закрытия попапа
|
||||
function closePopup() {
|
||||
document.body.classList.remove('popup-open');
|
||||
document.getElementById('popupOverlay').classList.remove('active');
|
||||
}
|
||||
|
||||
// Обработчик для кнопки отмены
|
||||
document.querySelector('.button-cancel').addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
closePopup();
|
||||
});
|
||||
|
||||
// Закрытие попапа при клике вне формы
|
||||
document.getElementById('popupOverlay').addEventListener('click', function (e) {
|
||||
if (e.target === this) {
|
||||
closePopup();
|
||||
}
|
||||
});
|
||||
|
||||
// Предотвращаем закрытие попапа при клике на его содержимое
|
||||
document.querySelector('.popup-content').addEventListener('click', function (e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
});
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
var phoneInput = document.getElementById('phone');
|
||||
if (phoneInput) {
|
||||
var phoneMaskOptions = {
|
||||
mask: [
|
||||
{
|
||||
mask: '+0 (000) 000-00-00',
|
||||
startsWith: '7',
|
||||
lazy: false,
|
||||
country: 'Russia'
|
||||
},
|
||||
{
|
||||
mask: '+000 (00) 000-00-00',
|
||||
startsWith: '380',
|
||||
lazy: false,
|
||||
country: 'Ukraine'
|
||||
},
|
||||
{
|
||||
mask: '+0 000 000-00-00',
|
||||
startsWith: '1',
|
||||
lazy: false,
|
||||
country: 'USA'
|
||||
},
|
||||
{
|
||||
mask: '+00 000 000-00-00',
|
||||
startsWith: '86',
|
||||
lazy: false,
|
||||
country: 'China'
|
||||
},
|
||||
{
|
||||
mask: '+00 (000) 000-00-00',
|
||||
startsWith: '34',
|
||||
lazy: false,
|
||||
country: 'Spain'
|
||||
},
|
||||
{
|
||||
mask: '+000 00 000 00 00',
|
||||
startsWith: '',
|
||||
lazy: false,
|
||||
country: 'Other'
|
||||
}
|
||||
],
|
||||
dispatch: function (appended, dynamicMasked) {
|
||||
var number = (dynamicMasked.value + appended).replace(/\D/g, '');
|
||||
|
||||
return dynamicMasked.compiledMasks.find(function (m) {
|
||||
return number.indexOf(m.startsWith) === 0;
|
||||
}) || this.dynamicMasked.compiledMasks[this.dynamicMasked.compiledMasks.length - 1];
|
||||
}
|
||||
};
|
||||
|
||||
var phoneMask = IMask(phoneInput, phoneMaskOptions);
|
||||
}
|
||||
});
|
||||
42
js/customizer.js
Normal file
@@ -0,0 +1,42 @@
|
||||
/* global wp, jQuery */
|
||||
/**
|
||||
* File customizer.js.
|
||||
*
|
||||
* Theme Customizer enhancements for a better user experience.
|
||||
*
|
||||
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
|
||||
*/
|
||||
|
||||
( function( $ ) {
|
||||
// Site title and description.
|
||||
wp.customize( 'blogname', function( value ) {
|
||||
value.bind( function( to ) {
|
||||
$( '.site-title a' ).text( to );
|
||||
} );
|
||||
} );
|
||||
wp.customize( 'blogdescription', function( value ) {
|
||||
value.bind( function( to ) {
|
||||
$( '.site-description' ).text( to );
|
||||
} );
|
||||
} );
|
||||
|
||||
// Header text color.
|
||||
wp.customize( 'header_textcolor', function( value ) {
|
||||
value.bind( function( to ) {
|
||||
if ( 'blank' === to ) {
|
||||
$( '.site-title, .site-description' ).css( {
|
||||
clip: 'rect(1px, 1px, 1px, 1px)',
|
||||
position: 'absolute',
|
||||
} );
|
||||
} else {
|
||||
$( '.site-title, .site-description' ).css( {
|
||||
clip: 'auto',
|
||||
position: 'relative',
|
||||
} );
|
||||
$( '.site-title a, .site-description' ).css( {
|
||||
color: to,
|
||||
} );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
}( jQuery ) );
|
||||
3641
js/imask.js
Normal file
99
js/navigation.js
Normal file
@@ -0,0 +1,99 @@
|
||||
/**
|
||||
* File navigation.js.
|
||||
*
|
||||
* Handles toggling the navigation menu for small screens and enables TAB key
|
||||
* navigation support for dropdown menus.
|
||||
*/
|
||||
( function() {
|
||||
const siteNavigation = document.getElementById( 'site-navigation' );
|
||||
|
||||
// Return early if the navigation doesn't exist.
|
||||
if ( ! siteNavigation ) {
|
||||
return;
|
||||
}
|
||||
|
||||
const button = siteNavigation.getElementsByTagName( 'button' )[ 0 ];
|
||||
|
||||
// Return early if the button doesn't exist.
|
||||
if ( 'undefined' === typeof button ) {
|
||||
return;
|
||||
}
|
||||
|
||||
const menu = siteNavigation.getElementsByTagName( 'ul' )[ 0 ];
|
||||
|
||||
// Hide menu toggle button if menu is empty and return early.
|
||||
if ( 'undefined' === typeof menu ) {
|
||||
button.style.display = 'none';
|
||||
return;
|
||||
}
|
||||
|
||||
if ( ! menu.classList.contains( 'nav-menu' ) ) {
|
||||
menu.classList.add( 'nav-menu' );
|
||||
}
|
||||
|
||||
// Toggle the .toggled class and the aria-expanded value each time the button is clicked.
|
||||
button.addEventListener( 'click', function() {
|
||||
siteNavigation.classList.toggle( 'toggled' );
|
||||
|
||||
if ( button.getAttribute( 'aria-expanded' ) === 'true' ) {
|
||||
button.setAttribute( 'aria-expanded', 'false' );
|
||||
} else {
|
||||
button.setAttribute( 'aria-expanded', 'true' );
|
||||
}
|
||||
} );
|
||||
|
||||
// Remove the .toggled class and set aria-expanded to false when the user clicks outside the navigation.
|
||||
document.addEventListener( 'click', function( event ) {
|
||||
const isClickInside = siteNavigation.contains( event.target );
|
||||
|
||||
if ( ! isClickInside ) {
|
||||
siteNavigation.classList.remove( 'toggled' );
|
||||
button.setAttribute( 'aria-expanded', 'false' );
|
||||
}
|
||||
} );
|
||||
|
||||
// Get all the link elements within the menu.
|
||||
const links = menu.getElementsByTagName( 'a' );
|
||||
|
||||
// Get all the link elements with children within the menu.
|
||||
const linksWithChildren = menu.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
|
||||
|
||||
// Toggle focus each time a menu link is focused or blurred.
|
||||
for ( const link of links ) {
|
||||
link.addEventListener( 'focus', toggleFocus, true );
|
||||
link.addEventListener( 'blur', toggleFocus, true );
|
||||
}
|
||||
|
||||
// Toggle focus each time a menu link with children receive a touch event.
|
||||
for ( const link of linksWithChildren ) {
|
||||
link.addEventListener( 'touchstart', toggleFocus, false );
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or removes .focus class on an element.
|
||||
*/
|
||||
function toggleFocus() {
|
||||
if ( event.type === 'focus' || event.type === 'blur' ) {
|
||||
let self = this;
|
||||
// Move up through the ancestors of the current link until we hit .nav-menu.
|
||||
while ( ! self.classList.contains( 'nav-menu' ) ) {
|
||||
// On li elements toggle the class .focus.
|
||||
if ( 'li' === self.tagName.toLowerCase() ) {
|
||||
self.classList.toggle( 'focus' );
|
||||
}
|
||||
self = self.parentNode;
|
||||
}
|
||||
}
|
||||
|
||||
if ( event.type === 'touchstart' ) {
|
||||
const menuItem = this.parentNode;
|
||||
event.preventDefault();
|
||||
for ( const link of menuItem.parentNode.children ) {
|
||||
if ( menuItem !== link ) {
|
||||
link.classList.remove( 'focus' );
|
||||
}
|
||||
}
|
||||
menuItem.classList.toggle( 'focus' );
|
||||
}
|
||||
}
|
||||
}() );
|
||||
198
languages/cupo.pot
Normal file
@@ -0,0 +1,198 @@
|
||||
# Copyright (C) 2020 Automattic
|
||||
# This file is distributed under the GNU General Public License v2 or later.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: _s 1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/theme/_s\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"POT-Creation-Date: 2020-04-17T21:03:15+00:00\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"X-Generator: WP-CLI 2.4.0\n"
|
||||
"X-Domain: _s\n"
|
||||
|
||||
#. Theme Name of the theme
|
||||
msgid "_s"
|
||||
msgstr ""
|
||||
|
||||
#. Theme URI of the theme
|
||||
msgid "https://underscores.me/"
|
||||
msgstr ""
|
||||
|
||||
#. Description of the theme
|
||||
msgid "Hi. I'm a starter theme called <code>_s</code>, or <em>underscores</em>, if you like. I'm a theme meant for hacking so don't use me as a <em>Parent Theme</em>. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for."
|
||||
msgstr ""
|
||||
|
||||
#. Author of the theme
|
||||
msgid "Automattic"
|
||||
msgstr ""
|
||||
|
||||
#. Author URI of the theme
|
||||
msgid "https://automattic.com/"
|
||||
msgstr ""
|
||||
|
||||
#: 404.php:18
|
||||
msgid "Oops! That page can’t be found."
|
||||
msgstr ""
|
||||
|
||||
#: 404.php:22
|
||||
msgid "It looks like nothing was found at this location. Maybe try one of the links below or a search?"
|
||||
msgstr ""
|
||||
|
||||
#: 404.php:31
|
||||
msgid "Most Used Categories"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %1$s: smiley
|
||||
#: 404.php:49
|
||||
msgid "Try looking in the monthly archives. %1$s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: 1: title.
|
||||
#: comments.php:35
|
||||
msgid "One thought on “%1$s”"
|
||||
msgstr ""
|
||||
|
||||
#. translators: 1: comment count number, 2: title.
|
||||
#: comments.php:41
|
||||
msgctxt "comments title"
|
||||
msgid "%1$s thought on “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: comments.php:68
|
||||
msgid "Comments are closed."
|
||||
msgstr ""
|
||||
|
||||
#: footer.php:18
|
||||
msgid "https://wordpress.org/"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: CMS name, i.e. WordPress.
|
||||
#: footer.php:21
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: 1: Theme name, 2: Theme author.
|
||||
#: footer.php:27
|
||||
msgid "Theme: %1$s by %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: functions.php:53
|
||||
msgid "Primary"
|
||||
msgstr ""
|
||||
|
||||
#: functions.php:130
|
||||
msgid "Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: functions.php:132
|
||||
msgid "Add widgets here."
|
||||
msgstr ""
|
||||
|
||||
#: header.php:26
|
||||
msgid "Skip to content"
|
||||
msgstr ""
|
||||
|
||||
#: header.php:49
|
||||
msgid "Primary Menu"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: post date.
|
||||
#: inc/template-tags.php:30
|
||||
msgctxt "post date"
|
||||
msgid "Posted on %s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: post author.
|
||||
#: inc/template-tags.php:46
|
||||
msgctxt "post author"
|
||||
msgid "by %s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: used between list items, there is a space after the comma
|
||||
#: inc/template-tags.php:63
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#. translators: 1: list of categories.
|
||||
#: inc/template-tags.php:66
|
||||
msgid "Posted in %1$s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: used between list items, there is a space after the comma
|
||||
#: inc/template-tags.php:70
|
||||
msgctxt "list item separator"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#. translators: 1: list of tags.
|
||||
#: inc/template-tags.php:73
|
||||
msgid "Tagged %1$s"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: post title
|
||||
#: inc/template-tags.php:83
|
||||
msgid "Leave a Comment<span class=\"screen-reader-text\"> on %s</span>"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: Name of current post. Only visible to screen readers
|
||||
#: inc/template-tags.php:100
|
||||
#: template-parts/content-page.php:39
|
||||
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
|
||||
msgstr ""
|
||||
|
||||
#: inc/woocommerce.php:186
|
||||
msgid "View your shopping cart"
|
||||
msgstr ""
|
||||
|
||||
#. translators: number of items in the mini cart.
|
||||
#: inc/woocommerce.php:190
|
||||
msgid "%d item"
|
||||
msgid_plural "%d items"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#. translators: %s: search query.
|
||||
#: search.php:22
|
||||
msgid "Search Results for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: single.php:23
|
||||
msgid "Previous:"
|
||||
msgstr ""
|
||||
|
||||
#: single.php:24
|
||||
msgid "Next:"
|
||||
msgstr ""
|
||||
|
||||
#: template-parts/content-none.php:14
|
||||
msgid "Nothing Found"
|
||||
msgstr ""
|
||||
|
||||
#. translators: 1: link to WP admin new post page.
|
||||
#: template-parts/content-none.php:24
|
||||
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr ""
|
||||
|
||||
#: template-parts/content-none.php:37
|
||||
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
|
||||
msgstr ""
|
||||
|
||||
#: template-parts/content-none.php:44
|
||||
msgid "It seems we can’t find what you’re looking for. Perhaps searching can help."
|
||||
msgstr ""
|
||||
|
||||
#: template-parts/content-page.php:25
|
||||
#: template-parts/content.php:53
|
||||
msgid "Pages:"
|
||||
msgstr ""
|
||||
|
||||
#. translators: %s: Name of current post. Only visible to screen readers
|
||||
#: template-parts/content.php:40
|
||||
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
msgstr ""
|
||||
7
languages/readme.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Place your theme language files in this directory.
|
||||
|
||||
Please visit the following links to learn more about translating WordPress themes:
|
||||
|
||||
https://make.wordpress.org/polyglots/teams/
|
||||
https://developer.wordpress.org/themes/functionality/localization/
|
||||
https://developer.wordpress.org/reference/functions/load_theme_textdomain/
|
||||
46
package.json
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "underscores",
|
||||
"version": "1.0.0",
|
||||
"description": "Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.",
|
||||
"author": "Automattic Theme Team",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"keywords": [
|
||||
"WordPress",
|
||||
"Theme"
|
||||
],
|
||||
"homepage": "https://github.com/Automattic/_s#readme",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Automattic/_s.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/Automattic/_s/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@wordpress/scripts": "^19.2.2",
|
||||
"dir-archiver": "^1.1.1",
|
||||
"node-sass": "^7.0.1",
|
||||
"rtlcss": "^3.5.0"
|
||||
},
|
||||
"rtlcssConfig": {
|
||||
"options": {
|
||||
"autoRename": false,
|
||||
"autoRenameStrict": false,
|
||||
"blacklist": {},
|
||||
"clean": true,
|
||||
"greedy": false,
|
||||
"processUrls": false,
|
||||
"stringMap": []
|
||||
},
|
||||
"plugins": [],
|
||||
"map": false
|
||||
},
|
||||
"scripts": {
|
||||
"watch": "node-sass sass/ -o ./ --source-map true --output-style expanded --indent-type tab --indent-width 1 -w",
|
||||
"compile:css": "node-sass sass/ -o ./ && stylelint '*.css' --fix || true && stylelint '*.css' --fix",
|
||||
"compile:rtl": "rtlcss style.css style-rtl.css",
|
||||
"lint:scss": "wp-scripts lint-style 'sass/**/*.scss'",
|
||||
"lint:js": "wp-scripts lint-js 'js/*.js'",
|
||||
"bundle": "dir-archiver --src . --dest ../_s.zip --exclude .DS_Store .stylelintrc.json .eslintrc .git .gitattributes .github .gitignore README.md composer.json composer.lock node_modules vendor package-lock.json package.json .travis.yml phpcs.xml.dist sass style.css.map yarn.lock"
|
||||
}
|
||||
}
|
||||
38
page.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* The template for displaying all pages
|
||||
*
|
||||
* This is the template that displays all pages by default.
|
||||
* Please note that this is the WordPress construct of pages
|
||||
* and that other 'pages' on your WordPress site may use a
|
||||
* different template.
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
|
||||
<?php
|
||||
while ( have_posts() ) :
|
||||
the_post();
|
||||
|
||||
get_template_part( 'template-parts/content', 'page' );
|
||||
|
||||
// If comments are open or we have at least one comment, load up the comment template.
|
||||
if ( comments_open() || get_comments_number() ) :
|
||||
comments_template();
|
||||
endif;
|
||||
|
||||
endwhile; // End of the loop.
|
||||
?>
|
||||
|
||||
</main><!-- #main -->
|
||||
|
||||
<?php
|
||||
get_sidebar();
|
||||
get_footer();
|
||||
110
phpcs.xml.dist
Normal file
@@ -0,0 +1,110 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="WordPress Theme Coding Standards">
|
||||
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
|
||||
<!-- See https://github.com/WordPress/WordPress-Coding-Standards -->
|
||||
<!-- See https://github.com/WPTRT/WPThemeReview -->
|
||||
<!-- See https://github.com/PHPCompatibility/PHPCompatibilityWP -->
|
||||
|
||||
<!-- Set a description for this ruleset. -->
|
||||
<description>A custom set of code standard rules to check for WordPress themes.</description>
|
||||
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
COMMAND LINE ARGUMENTS
|
||||
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
|
||||
#############################################################################
|
||||
-->
|
||||
|
||||
<!-- Pass some flags to PHPCS:
|
||||
p flag: Show progress of the run.
|
||||
s flag: Show sniff codes in all reports.
|
||||
-->
|
||||
<arg value="ps"/>
|
||||
|
||||
<!-- Strip the filepaths down to the relevant bit. -->
|
||||
<arg name="basepath" value="./"/>
|
||||
|
||||
<!-- Check up to 8 files simultaneously. -->
|
||||
<arg name="parallel" value="8"/>
|
||||
|
||||
<!-- Check PHP files only. JavaScript and CSS files are checked separately using the @wordpress/scripts package. -->
|
||||
<arg name="extensions" value="php"/>
|
||||
|
||||
<!-- Check all files in this directory and the directories below it. -->
|
||||
<file>.</file>
|
||||
|
||||
<!-- Exclude patterns. -->
|
||||
<exclude-pattern>/vendor/*</exclude-pattern>
|
||||
<exclude-pattern>/node_modules/*</exclude-pattern>
|
||||
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
USE THE WordPress AND THE Theme Review RULESET
|
||||
#############################################################################
|
||||
-->
|
||||
|
||||
<rule ref="WordPress">
|
||||
<!-- This rule does not apply here since the _s prefix should be changed by the theme author. -->
|
||||
<exclude name="WordPress.NamingConventions.PrefixAllGlobals.ShortPrefixPassed"/>
|
||||
</rule>
|
||||
<rule ref="WPThemeReview"/>
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
SNIFF SPECIFIC CONFIGURATION
|
||||
#############################################################################
|
||||
-->
|
||||
|
||||
<!-- Verify that the text_domain is set to the desired text-domain.
|
||||
Multiple valid text domains can be provided as a comma-delimited list. -->
|
||||
<rule ref="WordPress.WP.I18n">
|
||||
<properties>
|
||||
<property name="text_domain" type="array" value="_s"/>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- Allow for theme specific exceptions to the file name rules based
|
||||
on the theme hierarchy. -->
|
||||
<rule ref="WordPress.Files.FileName">
|
||||
<properties>
|
||||
<property name="is_theme" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- Set the minimum supported WP version. This is used by several sniffs.
|
||||
The minimum version set here should be in line with the minimum WP version
|
||||
as set in the "Requires at least" tag in the readme.txt file. -->
|
||||
<config name="minimum_supported_wp_version" value="4.5"/>
|
||||
|
||||
<rule ref="WordPress.Arrays.MultipleStatementAlignment">
|
||||
<properties>
|
||||
<!-- No need to adjust alignment of large arrays when the item with the largest key is removed. -->
|
||||
<property name="exact" value="false"/>
|
||||
<!-- Don't align multi-line items if ALL items in the array are multi-line. -->
|
||||
<property name="alignMultilineItems" value="!=100"/>
|
||||
<!-- Array assignment operator should always be on the same line as the array key. -->
|
||||
<property name="ignoreNewlines" value="false"/>
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- Verify that everything in the global namespace is prefixed with a theme specific prefix.
|
||||
Multiple valid prefixes can be provided as a comma-delimited list. -->
|
||||
<rule ref="WordPress.NamingConventions.PrefixAllGlobals">
|
||||
<properties>
|
||||
<property name="prefixes" type="array" value="_s" />
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
|
||||
<!--
|
||||
#############################################################################
|
||||
USE THE PHPCompatibility RULESET
|
||||
#############################################################################
|
||||
-->
|
||||
|
||||
<config name="testVersion" value="5.6-"/>
|
||||
<rule ref="PHPCompatibilityWP"/>
|
||||
|
||||
</ruleset>
|
||||
50
privacy-policy.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/*
|
||||
Template Name: Policy
|
||||
*/
|
||||
get_header(); ?>
|
||||
|
||||
<main class="page">
|
||||
|
||||
<section class="blog-post">
|
||||
<div class="blog-post__container">
|
||||
<div class="blog-post__head section-head">
|
||||
<h1 class="section-head__title">
|
||||
<?php the_title(); ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="blog blog--section">
|
||||
<div class="blog__container">
|
||||
<?php the_content(); ?>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
.blog__container h2 {
|
||||
font-size: 38px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.blog__container p,
|
||||
.blog__container li,
|
||||
.blog__container ul {
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
margin-bottom: 24px;
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
.blog__container li {
|
||||
margin-bottom: unset;
|
||||
}
|
||||
|
||||
.blog__container li {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
39
readme.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
=== cupo ===
|
||||
|
||||
Contributors: automattic
|
||||
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
|
||||
|
||||
Requires at least: 4.5
|
||||
Tested up to: 5.4
|
||||
Requires PHP: 5.6
|
||||
Stable tag: 1.0.0
|
||||
License: GNU General Public License v2 or later
|
||||
License URI: LICENSE
|
||||
|
||||
A starter theme called cupo.
|
||||
|
||||
== Description ==
|
||||
|
||||
Description
|
||||
|
||||
== Installation ==
|
||||
|
||||
1. In your admin panel, go to Appearance > Themes and click the Add New button.
|
||||
2. Click Upload Theme and Choose File, then select the theme's .zip file. Click Install Now.
|
||||
3. Click Activate to use your new theme right away.
|
||||
|
||||
== Frequently Asked Questions ==
|
||||
|
||||
= Does this theme support any plugins? =
|
||||
|
||||
cupo includes support for WooCommerce and for Infinite Scroll in Jetpack.
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.0 - May 12 2015 =
|
||||
* Initial release
|
||||
|
||||
== Credits ==
|
||||
|
||||
* Based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
|
||||
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
|
||||
BIN
screenshot.png
Normal file
|
After Width: | Height: | Size: 264 B |
53
search.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
/**
|
||||
* The template for displaying search results pages
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#search-result
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
|
||||
<?php if ( have_posts() ) : ?>
|
||||
|
||||
<header class="page-header">
|
||||
<h1 class="page-title">
|
||||
<?php
|
||||
/* translators: %s: search query. */
|
||||
printf( esc_html__( 'Search Results for: %s', 'cupo' ), '<span>' . get_search_query() . '</span>' );
|
||||
?>
|
||||
</h1>
|
||||
</header><!-- .page-header -->
|
||||
|
||||
<?php
|
||||
/* Start the Loop */
|
||||
while ( have_posts() ) :
|
||||
the_post();
|
||||
|
||||
/**
|
||||
* Run the loop for the search to output the results.
|
||||
* If you want to overload this in a child theme then include a file
|
||||
* called content-search.php and that will be used instead.
|
||||
*/
|
||||
get_template_part( 'template-parts/content', 'search' );
|
||||
|
||||
endwhile;
|
||||
|
||||
the_posts_navigation();
|
||||
|
||||
else :
|
||||
|
||||
get_template_part( 'template-parts/content', 'none' );
|
||||
|
||||
endif;
|
||||
?>
|
||||
|
||||
</main><!-- #main -->
|
||||
|
||||
<?php
|
||||
get_sidebar();
|
||||
get_footer();
|
||||
17
sidebar.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* The sidebar containing the main widget area
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
<aside id="secondary" class="widget-area">
|
||||
<?php dynamic_sidebar( 'sidebar-1' ); ?>
|
||||
</aside><!-- #secondary -->
|
||||
40
single.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
* The template for displaying all single posts
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
|
||||
<?php
|
||||
while ( have_posts() ) :
|
||||
the_post();
|
||||
|
||||
get_template_part( 'template-parts/content', get_post_type() );
|
||||
|
||||
the_post_navigation(
|
||||
array(
|
||||
'prev_text' => '<span class="nav-subtitle">' . esc_html__( 'Previous:', 'cupo' ) . '</span> <span class="nav-title">%title</span>',
|
||||
'next_text' => '<span class="nav-subtitle">' . esc_html__( 'Next:', 'cupo' ) . '</span> <span class="nav-title">%title</span>',
|
||||
)
|
||||
);
|
||||
|
||||
// If comments are open or we have at least one comment, load up the comment template.
|
||||
if ( comments_open() || get_comments_number() ) :
|
||||
comments_template();
|
||||
endif;
|
||||
|
||||
endwhile; // End of the loop.
|
||||
?>
|
||||
|
||||
</main><!-- #main -->
|
||||
|
||||
<?php
|
||||
get_sidebar();
|
||||
get_footer();
|
||||
961
style-rtl.css
Normal file
@@ -0,0 +1,961 @@
|
||||
/*!
|
||||
Theme Name: cupo
|
||||
Theme URI: https://underscores.me/
|
||||
Author: Automattic
|
||||
Author URI: https://automattic.com/
|
||||
Description: Hi. I'm a starter theme called <code>cupo</code>, or <em>underscores</em>, if you like. I'm a theme meant for hacking so don't use me as a <em>Parent Theme</em>. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.
|
||||
Version: 1.0.0
|
||||
Tested up to: 5.4
|
||||
Requires PHP: 5.6
|
||||
License: GNU General Public License v2 or later
|
||||
License URI: LICENSE
|
||||
Text Domain: cupo
|
||||
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
|
||||
|
||||
This theme, like WordPress, is licensed under the GPL.
|
||||
Use it to make something cool, have fun, and share what you've learned.
|
||||
|
||||
cupo is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
|
||||
Underscores is distributed under the terms of the GNU GPL v2 or later.
|
||||
|
||||
Normalizing styles have been helped along thanks to the fine work of
|
||||
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
|
||||
*/
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
>>> TABLE OF CONTENTS:
|
||||
----------------------------------------------------------------
|
||||
# Generic
|
||||
- Normalize
|
||||
- Box sizing
|
||||
# Base
|
||||
- Typography
|
||||
- Elements
|
||||
- Links
|
||||
- Forms
|
||||
## Layouts
|
||||
# Components
|
||||
- Navigation
|
||||
- Posts and pages
|
||||
- Comments
|
||||
- Widgets
|
||||
- Media
|
||||
- Captions
|
||||
- Galleries
|
||||
# plugins
|
||||
- Jetpack infinite scroll
|
||||
# Utilities
|
||||
- Accessibility
|
||||
- Alignments
|
||||
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Generic
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/* Normalize
|
||||
--------------------------------------------- */
|
||||
|
||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||
*/
|
||||
html {
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
/* Sections
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers.
|
||||
*/
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the `main` element consistently in IE.
|
||||
*/
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Firefox, and Safari.
|
||||
*/
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge and IE.
|
||||
*/
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
pre {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background on active links in IE 10.
|
||||
*/
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the bottom border in Chrome 57-
|
||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
*/
|
||||
abbr[title] {
|
||||
border-bottom: none;
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the border on images inside links in IE 10.
|
||||
*/
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Change the font styles in all browsers.
|
||||
* 2. Remove the margin in Firefox and Safari.
|
||||
*/
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
line-height: 1.15;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in IE.
|
||||
* 1. Show the overflow in Edge.
|
||||
*/
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||
* 1. Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style clickable types in iOS and Safari.
|
||||
*/
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding in Firefox.
|
||||
*/
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus styles unset by the previous rule.
|
||||
*/
|
||||
button:-moz-focusring,
|
||||
[type="button"]:-moz-focusring,
|
||||
[type="reset"]:-moz-focusring,
|
||||
[type="submit"]:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
* 3. Remove the padding so developers are not caught out when they zero out
|
||||
* `fieldset` elements in all browsers.
|
||||
*/
|
||||
legend {
|
||||
box-sizing: border-box;
|
||||
color: inherit;
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the default vertical scrollbar in IE 10+.
|
||||
*/
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10.
|
||||
* 2. Remove the padding in IE 10.
|
||||
*/
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
*/
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-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;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome and Safari on macOS.
|
||||
*/
|
||||
[type="search"]::-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;
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Edge, IE 10+, and Firefox.
|
||||
*/
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Misc
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10+.
|
||||
*/
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10.
|
||||
*/
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Box sizing
|
||||
--------------------------------------------- */
|
||||
|
||||
/* Inherit box-sizing to more easily change it's value on a component level.
|
||||
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Base
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/* Typography
|
||||
--------------------------------------------- */
|
||||
body,
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
color: #404040;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
dfn,
|
||||
cite,
|
||||
em,
|
||||
i {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 1.5em;
|
||||
}
|
||||
|
||||
address {
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
|
||||
pre {
|
||||
background: #eee;
|
||||
font-family: "Courier 10 Pitch", courier, monospace;
|
||||
line-height: 1.6;
|
||||
margin-bottom: 1.6em;
|
||||
max-width: 100%;
|
||||
overflow: auto;
|
||||
padding: 1.6em;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
tt,
|
||||
var {
|
||||
font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
|
||||
}
|
||||
|
||||
abbr,
|
||||
acronym {
|
||||
border-bottom: 1px dotted #666;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
mark,
|
||||
ins {
|
||||
background: #fff9c0;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
big {
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
/* Elements
|
||||
--------------------------------------------- */
|
||||
body {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
hr {
|
||||
background-color: #ccc;
|
||||
border: 0;
|
||||
height: 1px;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
margin: 0 3em 1.5em 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: disc;
|
||||
}
|
||||
|
||||
ol {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
li > ul,
|
||||
li > ol {
|
||||
margin-bottom: 0;
|
||||
margin-right: 1.5em;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 1.5em 1.5em;
|
||||
}
|
||||
|
||||
/* Make sure embeds and iframes fit their containers. */
|
||||
embed,
|
||||
iframe,
|
||||
object {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
img {
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 0 0 1.5em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Links
|
||||
--------------------------------------------- */
|
||||
a {
|
||||
color: #4169e1;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #800080;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus,
|
||||
a:active {
|
||||
color: #191970;
|
||||
}
|
||||
|
||||
a:focus {
|
||||
outline: thin dotted;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:active {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
--------------------------------------------- */
|
||||
button,
|
||||
input[type="button"],
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
border: 1px solid;
|
||||
border-color: #ccc #ccc #bbb;
|
||||
border-radius: 3px;
|
||||
background: #e6e6e6;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
line-height: 1;
|
||||
padding: 0.6em 1em 0.4em;
|
||||
}
|
||||
|
||||
button:hover,
|
||||
input[type="button"]:hover,
|
||||
input[type="reset"]:hover,
|
||||
input[type="submit"]:hover {
|
||||
border-color: #ccc #bbb #aaa;
|
||||
}
|
||||
|
||||
button:active,
|
||||
button:focus,
|
||||
input[type="button"]:active,
|
||||
input[type="button"]:focus,
|
||||
input[type="reset"]:active,
|
||||
input[type="reset"]:focus,
|
||||
input[type="submit"]:active,
|
||||
input[type="submit"]:focus {
|
||||
border-color: #aaa #bbb #bbb;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="email"],
|
||||
input[type="url"],
|
||||
input[type="password"],
|
||||
input[type="search"],
|
||||
input[type="number"],
|
||||
input[type="tel"],
|
||||
input[type="range"],
|
||||
input[type="date"],
|
||||
input[type="month"],
|
||||
input[type="week"],
|
||||
input[type="time"],
|
||||
input[type="datetime"],
|
||||
input[type="datetime-local"],
|
||||
input[type="color"],
|
||||
textarea {
|
||||
color: #666;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
input[type="text"]:focus,
|
||||
input[type="email"]:focus,
|
||||
input[type="url"]:focus,
|
||||
input[type="password"]:focus,
|
||||
input[type="search"]:focus,
|
||||
input[type="number"]:focus,
|
||||
input[type="tel"]:focus,
|
||||
input[type="range"]:focus,
|
||||
input[type="date"]:focus,
|
||||
input[type="month"]:focus,
|
||||
input[type="week"]:focus,
|
||||
input[type="time"]:focus,
|
||||
input[type="datetime"]:focus,
|
||||
input[type="datetime-local"]:focus,
|
||||
input[type="color"]:focus,
|
||||
textarea:focus {
|
||||
color: #111;
|
||||
}
|
||||
|
||||
select {
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Layouts
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Components
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/* Navigation
|
||||
--------------------------------------------- */
|
||||
.main-navigation {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.main-navigation ul {
|
||||
display: none;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.main-navigation ul ul {
|
||||
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
|
||||
float: right;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
right: -999em;
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
.main-navigation ul ul ul {
|
||||
right: -999em;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.main-navigation ul ul li:hover > ul,
|
||||
.main-navigation ul ul li.focus > ul {
|
||||
display: block;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.main-navigation ul ul a {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.main-navigation ul li:hover > ul,
|
||||
.main-navigation ul li.focus > ul {
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.main-navigation li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.main-navigation a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Small menu. */
|
||||
.menu-toggle,
|
||||
.main-navigation.toggled ul {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 37.5em) {
|
||||
|
||||
.menu-toggle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-navigation ul {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
.site-main .comment-navigation,
|
||||
.site-main
|
||||
.posts-navigation,
|
||||
.site-main
|
||||
.post-navigation {
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
|
||||
.comment-navigation .nav-links,
|
||||
.posts-navigation .nav-links,
|
||||
.post-navigation .nav-links {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.comment-navigation .nav-previous,
|
||||
.posts-navigation .nav-previous,
|
||||
.post-navigation .nav-previous {
|
||||
flex: 1 0 50%;
|
||||
}
|
||||
|
||||
.comment-navigation .nav-next,
|
||||
.posts-navigation .nav-next,
|
||||
.post-navigation .nav-next {
|
||||
text-align: end;
|
||||
flex: 1 0 50%;
|
||||
}
|
||||
|
||||
/* Posts and pages
|
||||
--------------------------------------------- */
|
||||
.sticky {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post,
|
||||
.page {
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
|
||||
.updated:not(.published) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.page-content,
|
||||
.entry-content,
|
||||
.entry-summary {
|
||||
margin: 1.5em 0 0;
|
||||
}
|
||||
|
||||
.page-links {
|
||||
clear: both;
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
|
||||
/* Comments
|
||||
--------------------------------------------- */
|
||||
.comment-content a {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.bypostauthor {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Widgets
|
||||
--------------------------------------------- */
|
||||
.widget {
|
||||
margin: 0 0 1.5em;
|
||||
}
|
||||
|
||||
.widget select {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* Media
|
||||
--------------------------------------------- */
|
||||
.page-content .wp-smiley,
|
||||
.entry-content .wp-smiley,
|
||||
.comment-content .wp-smiley {
|
||||
border: none;
|
||||
margin-bottom: 0;
|
||||
margin-top: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Make sure logo link wraps around logo image. */
|
||||
.custom-logo-link {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Captions
|
||||
--------------------------------------------- */
|
||||
.wp-caption {
|
||||
margin-bottom: 1.5em;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.wp-caption img[class*="wp-image-"] {
|
||||
display: block;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.wp-caption .wp-caption-text {
|
||||
margin: 0.8075em 0;
|
||||
}
|
||||
|
||||
.wp-caption-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Galleries
|
||||
--------------------------------------------- */
|
||||
.gallery {
|
||||
margin-bottom: 1.5em;
|
||||
display: grid;
|
||||
grid-gap: 1.5em;
|
||||
}
|
||||
|
||||
.gallery-item {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.gallery-columns-2 {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-3 {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-4 {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-5 {
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-6 {
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-7 {
|
||||
grid-template-columns: repeat(7, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-8 {
|
||||
grid-template-columns: repeat(8, 1fr);
|
||||
}
|
||||
|
||||
.gallery-columns-9 {
|
||||
grid-template-columns: repeat(9, 1fr);
|
||||
}
|
||||
|
||||
.gallery-caption {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Plugins
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/* Jetpack infinite scroll
|
||||
--------------------------------------------- */
|
||||
|
||||
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
|
||||
.infinite-scroll .posts-navigation,
|
||||
.infinite-scroll.neverending .site-footer {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
|
||||
.infinity-end.neverending .site-footer {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Utilities
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/* Accessibility
|
||||
--------------------------------------------- */
|
||||
|
||||
/* Text meant only for screen readers. */
|
||||
.screen-reader-text {
|
||||
border: 0;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
clip-path: inset(50%);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute !important;
|
||||
width: 1px;
|
||||
word-wrap: normal !important;
|
||||
}
|
||||
|
||||
.screen-reader-text:focus {
|
||||
background-color: #f1f1f1;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
|
||||
clip: auto !important;
|
||||
clip-path: none;
|
||||
color: #21759b;
|
||||
display: block;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 700;
|
||||
height: auto;
|
||||
right: 5px;
|
||||
line-height: normal;
|
||||
padding: 15px 23px 14px;
|
||||
text-decoration: none;
|
||||
top: 5px;
|
||||
width: auto;
|
||||
z-index: 100000;
|
||||
}
|
||||
|
||||
/* Do not show the outline on the skip link target. */
|
||||
#primary[tabindex="-1"]:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Alignments
|
||||
--------------------------------------------- */
|
||||
.alignleft {
|
||||
float: left;
|
||||
margin-right: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
.alignright {
|
||||
float: right;
|
||||
margin-left: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
.aligncenter {
|
||||
clear: both;
|
||||
display: block;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
51
template-parts/content-none.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* Template part for displaying a message that posts cannot be found
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<section class="no-results not-found">
|
||||
<header class="page-header">
|
||||
<h1 class="page-title"><?php esc_html_e( 'Nothing Found', 'cupo' ); ?></h1>
|
||||
</header><!-- .page-header -->
|
||||
|
||||
<div class="page-content">
|
||||
<?php
|
||||
if ( is_home() && current_user_can( 'publish_posts' ) ) :
|
||||
|
||||
printf(
|
||||
'<p>' . wp_kses(
|
||||
/* translators: 1: link to WP admin new post page. */
|
||||
__( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'cupo' ),
|
||||
array(
|
||||
'a' => array(
|
||||
'href' => array(),
|
||||
),
|
||||
)
|
||||
) . '</p>',
|
||||
esc_url( admin_url( 'post-new.php' ) )
|
||||
);
|
||||
|
||||
elseif ( is_search() ) :
|
||||
?>
|
||||
|
||||
<p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'cupo' ); ?></p>
|
||||
<?php
|
||||
get_search_form();
|
||||
|
||||
else :
|
||||
?>
|
||||
|
||||
<p><?php esc_html_e( 'It seems we can’t find what you’re looking for. Perhaps searching can help.', 'cupo' ); ?></p>
|
||||
<?php
|
||||
get_search_form();
|
||||
|
||||
endif;
|
||||
?>
|
||||
</div><!-- .page-content -->
|
||||
</section><!-- .no-results -->
|
||||
54
template-parts/content-page.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* Template part for displaying page content in page.php
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
|
||||
<header class="entry-header">
|
||||
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
|
||||
</header><!-- .entry-header -->
|
||||
|
||||
<?php cupo_post_thumbnail(); ?>
|
||||
|
||||
<div class="entry-content">
|
||||
<?php
|
||||
the_content();
|
||||
|
||||
wp_link_pages(
|
||||
array(
|
||||
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'cupo' ),
|
||||
'after' => '</div>',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div><!-- .entry-content -->
|
||||
|
||||
<?php if ( get_edit_post_link() ) : ?>
|
||||
<footer class="entry-footer">
|
||||
<?php
|
||||
edit_post_link(
|
||||
sprintf(
|
||||
wp_kses(
|
||||
/* translators: %s: Name of current post. Only visible to screen readers */
|
||||
__( 'Edit <span class="screen-reader-text">%s</span>', 'cupo' ),
|
||||
array(
|
||||
'span' => array(
|
||||
'class' => array(),
|
||||
),
|
||||
)
|
||||
),
|
||||
wp_kses_post( get_the_title() )
|
||||
),
|
||||
'<span class="edit-link">',
|
||||
'</span>'
|
||||
);
|
||||
?>
|
||||
</footer><!-- .entry-footer -->
|
||||
<?php endif; ?>
|
||||
</article><!-- #post-<?php the_ID(); ?> -->
|
||||
35
template-parts/content-search.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Template part for displaying results in search pages
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
|
||||
<header class="entry-header">
|
||||
<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
|
||||
|
||||
<?php if ( 'post' === get_post_type() ) : ?>
|
||||
<div class="entry-meta">
|
||||
<?php
|
||||
cupo_posted_on();
|
||||
cupo_posted_by();
|
||||
?>
|
||||
</div><!-- .entry-meta -->
|
||||
<?php endif; ?>
|
||||
</header><!-- .entry-header -->
|
||||
|
||||
<?php cupo_post_thumbnail(); ?>
|
||||
|
||||
<div class="entry-summary">
|
||||
<?php the_excerpt(); ?>
|
||||
</div><!-- .entry-summary -->
|
||||
|
||||
<footer class="entry-footer">
|
||||
<?php cupo_entry_footer(); ?>
|
||||
</footer><!-- .entry-footer -->
|
||||
</article><!-- #post-<?php the_ID(); ?> -->
|
||||
63
template-parts/content.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* Template part for displaying posts
|
||||
*
|
||||
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
||||
*
|
||||
* @package cupo
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
|
||||
<header class="entry-header">
|
||||
<?php
|
||||
if ( is_singular() ) :
|
||||
the_title( '<h1 class="entry-title">', '</h1>' );
|
||||
else :
|
||||
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
|
||||
endif;
|
||||
|
||||
if ( 'post' === get_post_type() ) :
|
||||
?>
|
||||
<div class="entry-meta">
|
||||
<?php
|
||||
cupo_posted_on();
|
||||
cupo_posted_by();
|
||||
?>
|
||||
</div><!-- .entry-meta -->
|
||||
<?php endif; ?>
|
||||
</header><!-- .entry-header -->
|
||||
|
||||
<?php cupo_post_thumbnail(); ?>
|
||||
|
||||
<div class="entry-content">
|
||||
<?php
|
||||
the_content(
|
||||
sprintf(
|
||||
wp_kses(
|
||||
/* translators: %s: Name of current post. Only visible to screen readers */
|
||||
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'cupo' ),
|
||||
array(
|
||||
'span' => array(
|
||||
'class' => array(),
|
||||
),
|
||||
)
|
||||
),
|
||||
wp_kses_post( get_the_title() )
|
||||
)
|
||||
);
|
||||
|
||||
wp_link_pages(
|
||||
array(
|
||||
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'cupo' ),
|
||||
'after' => '</div>',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div><!-- .entry-content -->
|
||||
|
||||
<footer class="entry-footer">
|
||||
<?php cupo_entry_footer(); ?>
|
||||
</footer><!-- .entry-footer -->
|
||||
</article><!-- #post-<?php the_ID(); ?> -->
|
||||