rdrew
8 months ago
commit
58a5a488fa
131 changed files with 28831 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||||||
|
*.swp |
||||||
|
*.swo |
||||||
|
node_modules |
||||||
|
do-not-upload |
||||||
|
.tmp.drivedownload |
||||||
|
.tmp.driveupload |
@ -0,0 +1,339 @@ |
|||||||
|
GNU GENERAL PUBLIC LICENSE |
||||||
|
Version 2, June 1991 |
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc., |
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
||||||
|
Everyone is permitted to copy and distribute verbatim copies |
||||||
|
of this license document, but changing it is not allowed. |
||||||
|
|
||||||
|
Preamble |
||||||
|
|
||||||
|
The licenses for most software are designed to take away your |
||||||
|
freedom to share and change it. By contrast, the GNU General Public |
||||||
|
License is intended to guarantee your freedom to share and change free |
||||||
|
software--to make sure the software is free for all its users. This |
||||||
|
General Public License applies to most of the Free Software |
||||||
|
Foundation's software and to any other program whose authors commit to |
||||||
|
using it. (Some other Free Software Foundation software is covered by |
||||||
|
the GNU Lesser General Public License instead.) You can apply it to |
||||||
|
your programs, too. |
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not |
||||||
|
price. Our General Public Licenses are designed to make sure that you |
||||||
|
have the freedom to distribute copies of free software (and charge for |
||||||
|
this service if you wish), that you receive source code or can get it |
||||||
|
if you want it, that you can change the software or use pieces of it |
||||||
|
in new free programs; and that you know you can do these things. |
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid |
||||||
|
anyone to deny you these rights or to ask you to surrender the rights. |
||||||
|
These restrictions translate to certain responsibilities for you if you |
||||||
|
distribute copies of the software, or if you modify it. |
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether |
||||||
|
gratis or for a fee, you must give the recipients all the rights that |
||||||
|
you have. You must make sure that they, too, receive or can get the |
||||||
|
source code. And you must show them these terms so they know their |
||||||
|
rights. |
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and |
||||||
|
(2) offer you this license which gives you legal permission to copy, |
||||||
|
distribute and/or modify the software. |
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain |
||||||
|
that everyone understands that there is no warranty for this free |
||||||
|
software. If the software is modified by someone else and passed on, we |
||||||
|
want its recipients to know that what they have is not the original, so |
||||||
|
that any problems introduced by others will not reflect on the original |
||||||
|
authors' reputations. |
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software |
||||||
|
patents. We wish to avoid the danger that redistributors of a free |
||||||
|
program will individually obtain patent licenses, in effect making the |
||||||
|
program proprietary. To prevent this, we have made it clear that any |
||||||
|
patent must be licensed for everyone's free use or not licensed at all. |
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and |
||||||
|
modification follow. |
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE |
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains |
||||||
|
a notice placed by the copyright holder saying it may be distributed |
||||||
|
under the terms of this General Public License. The "Program", below, |
||||||
|
refers to any such program or work, and a "work based on the Program" |
||||||
|
means either the Program or any derivative work under copyright law: |
||||||
|
that is to say, a work containing the Program or a portion of it, |
||||||
|
either verbatim or with modifications and/or translated into another |
||||||
|
language. (Hereinafter, translation is included without limitation in |
||||||
|
the term "modification".) Each licensee is addressed as "you". |
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not |
||||||
|
covered by this License; they are outside its scope. The act of |
||||||
|
running the Program is not restricted, and the output from the Program |
||||||
|
is covered only if its contents constitute a work based on the |
||||||
|
Program (independent of having been made by running the Program). |
||||||
|
Whether that is true depends on what the Program does. |
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's |
||||||
|
source code as you receive it, in any medium, provided that you |
||||||
|
conspicuously and appropriately publish on each copy an appropriate |
||||||
|
copyright notice and disclaimer of warranty; keep intact all the |
||||||
|
notices that refer to this License and to the absence of any warranty; |
||||||
|
and give any other recipients of the Program a copy of this License |
||||||
|
along with the Program. |
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and |
||||||
|
you may at your option offer warranty protection in exchange for a fee. |
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion |
||||||
|
of it, thus forming a work based on the Program, and copy and |
||||||
|
distribute such modifications or work under the terms of Section 1 |
||||||
|
above, provided that you also meet all of these conditions: |
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices |
||||||
|
stating that you changed the files and the date of any change. |
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in |
||||||
|
whole or in part contains or is derived from the Program or any |
||||||
|
part thereof, to be licensed as a whole at no charge to all third |
||||||
|
parties under the terms of this License. |
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively |
||||||
|
when run, you must cause it, when started running for such |
||||||
|
interactive use in the most ordinary way, to print or display an |
||||||
|
announcement including an appropriate copyright notice and a |
||||||
|
notice that there is no warranty (or else, saying that you provide |
||||||
|
a warranty) and that users may redistribute the program under |
||||||
|
these conditions, and telling the user how to view a copy of this |
||||||
|
License. (Exception: if the Program itself is interactive but |
||||||
|
does not normally print such an announcement, your work based on |
||||||
|
the Program is not required to print an announcement.) |
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If |
||||||
|
identifiable sections of that work are not derived from the Program, |
||||||
|
and can be reasonably considered independent and separate works in |
||||||
|
themselves, then this License, and its terms, do not apply to those |
||||||
|
sections when you distribute them as separate works. But when you |
||||||
|
distribute the same sections as part of a whole which is a work based |
||||||
|
on the Program, the distribution of the whole must be on the terms of |
||||||
|
this License, whose permissions for other licensees extend to the |
||||||
|
entire whole, and thus to each and every part regardless of who wrote it. |
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest |
||||||
|
your rights to work written entirely by you; rather, the intent is to |
||||||
|
exercise the right to control the distribution of derivative or |
||||||
|
collective works based on the Program. |
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program |
||||||
|
with the Program (or with a work based on the Program) on a volume of |
||||||
|
a storage or distribution medium does not bring the other work under |
||||||
|
the scope of this License. |
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it, |
||||||
|
under Section 2) in object code or executable form under the terms of |
||||||
|
Sections 1 and 2 above provided that you also do one of the following: |
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable |
||||||
|
source code, which must be distributed under the terms of Sections |
||||||
|
1 and 2 above on a medium customarily used for software interchange; or, |
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three |
||||||
|
years, to give any third party, for a charge no more than your |
||||||
|
cost of physically performing source distribution, a complete |
||||||
|
machine-readable copy of the corresponding source code, to be |
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium |
||||||
|
customarily used for software interchange; or, |
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer |
||||||
|
to distribute corresponding source code. (This alternative is |
||||||
|
allowed only for noncommercial distribution and only if you |
||||||
|
received the program in object code or executable form with such |
||||||
|
an offer, in accord with Subsection b above.) |
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for |
||||||
|
making modifications to it. For an executable work, complete source |
||||||
|
code means all the source code for all modules it contains, plus any |
||||||
|
associated interface definition files, plus the scripts used to |
||||||
|
control compilation and installation of the executable. However, as a |
||||||
|
special exception, the source code distributed need not include |
||||||
|
anything that is normally distributed (in either source or binary |
||||||
|
form) with the major components (compiler, kernel, and so on) of the |
||||||
|
operating system on which the executable runs, unless that component |
||||||
|
itself accompanies the executable. |
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering |
||||||
|
access to copy from a designated place, then offering equivalent |
||||||
|
access to copy the source code from the same place counts as |
||||||
|
distribution of the source code, even though third parties are not |
||||||
|
compelled to copy the source along with the object code. |
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program |
||||||
|
except as expressly provided under this License. Any attempt |
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is |
||||||
|
void, and will automatically terminate your rights under this License. |
||||||
|
However, parties who have received copies, or rights, from you under |
||||||
|
this License will not have their licenses terminated so long as such |
||||||
|
parties remain in full compliance. |
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not |
||||||
|
signed it. However, nothing else grants you permission to modify or |
||||||
|
distribute the Program or its derivative works. These actions are |
||||||
|
prohibited by law if you do not accept this License. Therefore, by |
||||||
|
modifying or distributing the Program (or any work based on the |
||||||
|
Program), you indicate your acceptance of this License to do so, and |
||||||
|
all its terms and conditions for copying, distributing or modifying |
||||||
|
the Program or works based on it. |
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the |
||||||
|
Program), the recipient automatically receives a license from the |
||||||
|
original licensor to copy, distribute or modify the Program subject to |
||||||
|
these terms and conditions. You may not impose any further |
||||||
|
restrictions on the recipients' exercise of the rights granted herein. |
||||||
|
You are not responsible for enforcing compliance by third parties to |
||||||
|
this License. |
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent |
||||||
|
infringement or for any other reason (not limited to patent issues), |
||||||
|
conditions are imposed on you (whether by court order, agreement or |
||||||
|
otherwise) that contradict the conditions of this License, they do not |
||||||
|
excuse you from the conditions of this License. If you cannot |
||||||
|
distribute so as to satisfy simultaneously your obligations under this |
||||||
|
License and any other pertinent obligations, then as a consequence you |
||||||
|
may not distribute the Program at all. For example, if a patent |
||||||
|
license would not permit royalty-free redistribution of the Program by |
||||||
|
all those who receive copies directly or indirectly through you, then |
||||||
|
the only way you could satisfy both it and this License would be to |
||||||
|
refrain entirely from distribution of the Program. |
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under |
||||||
|
any particular circumstance, the balance of the section is intended to |
||||||
|
apply and the section as a whole is intended to apply in other |
||||||
|
circumstances. |
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any |
||||||
|
patents or other property right claims or to contest validity of any |
||||||
|
such claims; this section has the sole purpose of protecting the |
||||||
|
integrity of the free software distribution system, which is |
||||||
|
implemented by public license practices. Many people have made |
||||||
|
generous contributions to the wide range of software distributed |
||||||
|
through that system in reliance on consistent application of that |
||||||
|
system; it is up to the author/donor to decide if he or she is willing |
||||||
|
to distribute software through any other system and a licensee cannot |
||||||
|
impose that choice. |
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to |
||||||
|
be a consequence of the rest of this License. |
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in |
||||||
|
certain countries either by patents or by copyrighted interfaces, the |
||||||
|
original copyright holder who places the Program under this License |
||||||
|
may add an explicit geographical distribution limitation excluding |
||||||
|
those countries, so that distribution is permitted only in or among |
||||||
|
countries not thus excluded. In such case, this License incorporates |
||||||
|
the limitation as if written in the body of this License. |
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions |
||||||
|
of the General Public License from time to time. Such new versions will |
||||||
|
be similar in spirit to the present version, but may differ in detail to |
||||||
|
address new problems or concerns. |
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program |
||||||
|
specifies a version number of this License which applies to it and "any |
||||||
|
later version", you have the option of following the terms and conditions |
||||||
|
either of that version or of any later version published by the Free |
||||||
|
Software Foundation. If the Program does not specify a version number of |
||||||
|
this License, you may choose any version ever published by the Free Software |
||||||
|
Foundation. |
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free |
||||||
|
programs whose distribution conditions are different, write to the author |
||||||
|
to ask for permission. For software which is copyrighted by the Free |
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes |
||||||
|
make exceptions for this. Our decision will be guided by the two goals |
||||||
|
of preserving the free status of all derivatives of our free software and |
||||||
|
of promoting the sharing and reuse of software generally. |
||||||
|
|
||||||
|
NO WARRANTY |
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED |
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS |
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE |
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, |
||||||
|
REPAIR OR CORRECTION. |
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR |
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, |
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING |
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED |
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY |
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER |
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE |
||||||
|
POSSIBILITY OF SUCH DAMAGES. |
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS |
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs |
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest |
||||||
|
possible use to the public, the best way to achieve this is to make it |
||||||
|
free software which everyone can redistribute and change under these terms. |
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest |
||||||
|
to attach them to the start of each source file to most effectively |
||||||
|
convey the exclusion of warranty; and each file should have at least |
||||||
|
the "copyright" line and a pointer to where the full notice is found. |
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.> |
||||||
|
Copyright (C) <year> <name of author> |
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify |
||||||
|
it under the terms of the GNU General Public License as published by |
||||||
|
the Free Software Foundation; either version 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. |
@ -0,0 +1,14 @@ |
|||||||
|
var browserSync = require('browser-sync'); |
||||||
|
|
||||||
|
browserSync({ |
||||||
|
proxy: 'https://islandlives2023.lndo.site', |
||||||
|
files: 'css/**/*.css', |
||||||
|
plugins: ['bs-rewrite-rules'], |
||||||
|
serveStatic: ['.'], |
||||||
|
rewriteRules: [ |
||||||
|
{ |
||||||
|
match: /\/themes\/custom\/robertsonlibrary_v1/g, |
||||||
|
replace: '' |
||||||
|
} |
||||||
|
] |
||||||
|
}); |
@ -0,0 +1,77 @@ |
|||||||
|
version 9.1.0 |
||||||
|
15 Dec 2021 |
||||||
|
+-----------------------------+ |
||||||
|
# Initial release of series 9.x.x |
||||||
|
|
||||||
|
|
||||||
|
version 9.1.1 |
||||||
|
15 Dec 2021 |
||||||
|
+-----------------------------+ |
||||||
|
# Minor improvements |
||||||
|
|
||||||
|
|
||||||
|
version 9.1.2 |
||||||
|
23 Dec 2021 |
||||||
|
+-----------------------------+ |
||||||
|
# Fixed minor known bugs. |
||||||
|
|
||||||
|
|
||||||
|
version 9.1.3 |
||||||
|
08 Feb 2022 |
||||||
|
+-----------------------------+ |
||||||
|
- Added two new css variables --color-text, --color-heading |
||||||
|
- Added new shortcode for light background "bg-light" |
||||||
|
- Changed scroll to top arrow icon path. |
||||||
|
|
||||||
|
|
||||||
|
version 9.2.0 |
||||||
|
29 August 2022 |
||||||
|
+-----------------------------+ |
||||||
|
- Theme now supports Drupal 10 |
||||||
|
- Added shortcode for text color - dark, light |
||||||
|
- Added shortcode section-small |
||||||
|
- Other minor changes and improvements. |
||||||
|
|
||||||
|
|
||||||
|
version 10.0.0 |
||||||
|
30 August 2023 |
||||||
|
+-----------------------------+ |
||||||
|
- Initial release of 10.x.x series |
||||||
|
- Minor improvements. |
||||||
|
|
||||||
|
|
||||||
|
version 10.0.1 |
||||||
|
30 August 2023 |
||||||
|
+-----------------------------+ |
||||||
|
- Add custom font icon library. https://drupar.com/node/2875/ |
||||||
|
- Updated Bootstrap Font Icons to version 1.10.5 |
||||||
|
- Updated FontAwesome 5 Font Icons to version 5.15.4 |
||||||
|
- Added styling for EU Cookie Compliance module. |
||||||
|
- Minor improvements. |
||||||
|
|
||||||
|
|
||||||
|
version 10.0.2 |
||||||
|
31 August 2023 |
||||||
|
+-----------------------------+ |
||||||
|
- Removed menu--main.html.twig template file. |
||||||
|
- Theme now uses menu.html.twig |
||||||
|
- New animated mobile menu icon. |
||||||
|
- Minor improvements. |
||||||
|
|
||||||
|
|
||||||
|
version 10.0.3 |
||||||
|
01 September 2023 |
||||||
|
+-----------------------------+ |
||||||
|
- New template file: header-primary-menu.html.twig |
||||||
|
- Minor improvements of main menu. |
||||||
|
|
||||||
|
|
||||||
|
version 10.0.4 |
||||||
|
05 September 2023 |
||||||
|
+-----------------------------+ |
||||||
|
- Removed padding from sidebar. |
||||||
|
- Removed margin-bottom from sidebar block. |
||||||
|
- Removed margin bottom from main. |
||||||
|
- Fixed display of contextual-links in header-top region. |
||||||
|
- Added a default background color for footer. |
||||||
|
- Added a default background color for sidebar blocks. |
@ -0,0 +1,24 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
config: |
||||||
|
- system.menu.account |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_account_menu |
||||||
|
theme: vre2024 |
||||||
|
region: hidden |
||||||
|
weight: -7 |
||||||
|
provider: null |
||||||
|
plugin: 'system_menu_block:account' |
||||||
|
settings: |
||||||
|
id: 'system_menu_block:account' |
||||||
|
label: 'User account menu' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
level: 1 |
||||||
|
depth: 1 |
||||||
|
expand_all_items: false |
||||||
|
visibility: { } |
@ -0,0 +1,22 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_branding |
||||||
|
theme: vre2024 |
||||||
|
region: header |
||||||
|
weight: 0 |
||||||
|
provider: null |
||||||
|
plugin: system_branding_block |
||||||
|
settings: |
||||||
|
id: system_branding_block |
||||||
|
label: 'Site branding' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
use_site_logo: true |
||||||
|
use_site_name: true |
||||||
|
use_site_slogan: true |
||||||
|
visibility: { } |
@ -0,0 +1,19 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_breadcrumbs |
||||||
|
theme: vre2024 |
||||||
|
region: page_header |
||||||
|
weight: -7 |
||||||
|
provider: null |
||||||
|
plugin: system_breadcrumb_block |
||||||
|
settings: |
||||||
|
id: system_breadcrumb_block |
||||||
|
label: Breadcrumbs |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,19 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_content |
||||||
|
theme: vre2024 |
||||||
|
region: content |
||||||
|
weight: 0 |
||||||
|
provider: null |
||||||
|
plugin: system_main_block |
||||||
|
settings: |
||||||
|
id: system_main_block |
||||||
|
label: 'Main page content' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,24 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
config: |
||||||
|
- system.menu.footer |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_footer |
||||||
|
theme: vre2024 |
||||||
|
region: footer_four |
||||||
|
weight: -11 |
||||||
|
provider: null |
||||||
|
plugin: 'system_menu_block:footer' |
||||||
|
settings: |
||||||
|
id: 'system_menu_block:footer' |
||||||
|
label: 'Footer menu' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
level: 1 |
||||||
|
depth: 0 |
||||||
|
expand_all_items: false |
||||||
|
visibility: { } |
@ -0,0 +1,19 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- help |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_help |
||||||
|
theme: vre2024 |
||||||
|
region: content |
||||||
|
weight: -30 |
||||||
|
provider: null |
||||||
|
plugin: help_block |
||||||
|
settings: |
||||||
|
id: help_block |
||||||
|
label: Help |
||||||
|
provider: help |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,17 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_local_actions |
||||||
|
theme: vre2024 |
||||||
|
region: content |
||||||
|
weight: -20 |
||||||
|
provider: null |
||||||
|
plugin: local_actions_block |
||||||
|
settings: |
||||||
|
id: local_actions_block |
||||||
|
label: 'Primary admin actions' |
||||||
|
provider: core |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,19 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_local_tasks |
||||||
|
theme: vre2024 |
||||||
|
region: content |
||||||
|
weight: -40 |
||||||
|
provider: null |
||||||
|
plugin: local_tasks_block |
||||||
|
settings: |
||||||
|
id: local_tasks_block |
||||||
|
label: Tabs |
||||||
|
provider: core |
||||||
|
label_display: '0' |
||||||
|
primary: true |
||||||
|
secondary: true |
||||||
|
visibility: { } |
@ -0,0 +1,24 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
config: |
||||||
|
- system.menu.main |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_main_menu |
||||||
|
theme: vre2024 |
||||||
|
region: hidden |
||||||
|
weight: -8 |
||||||
|
provider: null |
||||||
|
plugin: 'system_menu_block:main' |
||||||
|
settings: |
||||||
|
id: 'system_menu_block:main' |
||||||
|
label: 'Main navigation' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
level: 1 |
||||||
|
depth: 1 |
||||||
|
expand_all_items: false |
||||||
|
visibility: { } |
@ -0,0 +1,19 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_messages |
||||||
|
theme: vre2024 |
||||||
|
region: highlighted |
||||||
|
weight: 0 |
||||||
|
provider: null |
||||||
|
plugin: system_messages_block |
||||||
|
settings: |
||||||
|
id: system_messages_block |
||||||
|
label: 'Status messages' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,17 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_page_title |
||||||
|
theme: vre2024 |
||||||
|
region: page_header |
||||||
|
weight: -6 |
||||||
|
provider: null |
||||||
|
plugin: page_title_block |
||||||
|
settings: |
||||||
|
id: page_title_block |
||||||
|
label: 'Page title' |
||||||
|
provider: core |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,19 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_powered |
||||||
|
theme: vre2024 |
||||||
|
region: footer_bottom_left |
||||||
|
weight: -7 |
||||||
|
provider: null |
||||||
|
plugin: system_powered_by_block |
||||||
|
settings: |
||||||
|
id: system_powered_by_block |
||||||
|
label: 'Powered by Drupal' |
||||||
|
provider: system |
||||||
|
label_display: '0' |
||||||
|
visibility: { } |
@ -0,0 +1,20 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
module: |
||||||
|
- search |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_search |
||||||
|
theme: vre2024 |
||||||
|
region: search_box |
||||||
|
weight: -8 |
||||||
|
provider: null |
||||||
|
plugin: search_form_block |
||||||
|
settings: |
||||||
|
id: search_form_block |
||||||
|
label: Search |
||||||
|
provider: search |
||||||
|
label_display: visible |
||||||
|
page_id: node_search |
||||||
|
visibility: { } |
@ -0,0 +1,24 @@ |
|||||||
|
langcode: en |
||||||
|
status: true |
||||||
|
dependencies: |
||||||
|
config: |
||||||
|
- system.menu.tools |
||||||
|
module: |
||||||
|
- system |
||||||
|
theme: |
||||||
|
- vre2024 |
||||||
|
id: vre2024_tools |
||||||
|
theme: vre2024 |
||||||
|
region: hidden |
||||||
|
weight: -6 |
||||||
|
provider: null |
||||||
|
plugin: 'system_menu_block:tools' |
||||||
|
settings: |
||||||
|
id: 'system_menu_block:tools' |
||||||
|
label: Tools |
||||||
|
provider: system |
||||||
|
label_display: visible |
||||||
|
level: 1 |
||||||
|
depth: 0 |
||||||
|
expand_all_items: false |
||||||
|
visibility: { } |
@ -0,0 +1,5 @@ |
|||||||
|
# Schema for the configuration files of vre2024 theme. |
||||||
|
|
||||||
|
vre2024.settings: |
||||||
|
type: theme_settings |
||||||
|
label: 'vre2024 Settings' |
@ -0,0 +1,10 @@ |
|||||||
|
FontAwesome font icons |
||||||
|
+---------------------------+ |
||||||
|
https://fontawesome.com |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bootstrap Icons |
||||||
|
+---------------------------+ |
||||||
|
https://icons.getbootstrap.com/ |
@ -0,0 +1,546 @@ |
|||||||
|
/* Font info |
||||||
|
---------------------------------------- */ |
||||||
|
|
||||||
|
/* Variables |
||||||
|
---------------------------------------- */ |
||||||
|
:root { |
||||||
|
--upei-red: #8c2004; |
||||||
|
--upei-green: #5C8727; |
||||||
|
--upei-yellow: #fbb040; |
||||||
|
|
||||||
|
--primary: #365AB5; |
||||||
|
--secondary: #D05700; |
||||||
|
--dark: #232742; |
||||||
|
--light: #D5DCEE; |
||||||
|
--border: #99A4C1; |
||||||
|
|
||||||
|
--color-text: #444444; |
||||||
|
--color-heading: #111111; |
||||||
|
} |
||||||
|
/* Default box sizing. |
||||||
|
---------------------------------------- */ |
||||||
|
*, |
||||||
|
*::before, |
||||||
|
*::after { |
||||||
|
box-sizing: border-box; |
||||||
|
} |
||||||
|
|
||||||
|
/* Remove default margin */ |
||||||
|
body, |
||||||
|
h1, |
||||||
|
h2, |
||||||
|
h3, |
||||||
|
h4, |
||||||
|
h5, |
||||||
|
h6, |
||||||
|
figure, |
||||||
|
blockquote, |
||||||
|
dl, |
||||||
|
dd { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* HTML and Body |
||||||
|
---------------------------------------- */ |
||||||
|
html:focus-within { |
||||||
|
scroll-behavior: smooth; |
||||||
|
} |
||||||
|
html { |
||||||
|
font-size: 16px; |
||||||
|
scroll-behavior: smooth; |
||||||
|
} |
||||||
|
html, |
||||||
|
body { |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
body { |
||||||
|
color: var(--color-text); |
||||||
|
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; |
||||||
|
font-size: 1rem; |
||||||
|
font-weight: 400; |
||||||
|
min-height: 100vh; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
line-height: 1.6; |
||||||
|
text-rendering: optimizeSpeed; |
||||||
|
overflow-x: hidden; |
||||||
|
-webkit-font-smoothing: subpixel-antialiased; |
||||||
|
-webkit-text-size-adjust: 100%; |
||||||
|
-ms-text-size-adjust: 100%; |
||||||
|
} |
||||||
|
/* Regions |
||||||
|
---------------------------------------- */ |
||||||
|
article, |
||||||
|
aside, |
||||||
|
details, |
||||||
|
figcaption, |
||||||
|
figure, |
||||||
|
footer, |
||||||
|
header, |
||||||
|
hgroup, |
||||||
|
main, |
||||||
|
menu, |
||||||
|
nav, |
||||||
|
section { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
summary { |
||||||
|
display: list-item; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
details { |
||||||
|
padding: 1rem; |
||||||
|
margin-bottom: 1rem; |
||||||
|
border: 1px solid var(--border); |
||||||
|
} |
||||||
|
template, |
||||||
|
[hidden] { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
/* Typography |
||||||
|
---------------------------------------- */ |
||||||
|
h1, |
||||||
|
h2, |
||||||
|
h3, |
||||||
|
h4, |
||||||
|
h5, |
||||||
|
h6 { |
||||||
|
color: var(--color-heading); |
||||||
|
font-weight: 700; |
||||||
|
font-style: normal; |
||||||
|
line-height: 1.6; |
||||||
|
} |
||||||
|
h1 { |
||||||
|
font-size: 2.2rem; |
||||||
|
} |
||||||
|
h2 { |
||||||
|
font-size: 1.9rem; |
||||||
|
} |
||||||
|
h3 { |
||||||
|
font-size: 1.6rem; |
||||||
|
} |
||||||
|
h4 { |
||||||
|
font-size: 1.3rem; |
||||||
|
} |
||||||
|
h5 { |
||||||
|
font-size: 1.1rem; |
||||||
|
} |
||||||
|
h6 { |
||||||
|
font-size: 1.1rem; |
||||||
|
} |
||||||
|
p { |
||||||
|
margin: 0 0 1.2rem 0; |
||||||
|
} |
||||||
|
b, |
||||||
|
strong { |
||||||
|
font-weight: bolder; |
||||||
|
} |
||||||
|
dfn, |
||||||
|
cite { |
||||||
|
font-style: italic; |
||||||
|
} |
||||||
|
del { |
||||||
|
text-decoration: line-through; |
||||||
|
} |
||||||
|
small { |
||||||
|
font-size: 80%; |
||||||
|
} |
||||||
|
big { |
||||||
|
font-size: 125%; |
||||||
|
} |
||||||
|
em { |
||||||
|
font-style: normal; |
||||||
|
} |
||||||
|
a { |
||||||
|
background-color: transparent; |
||||||
|
text-decoration: none; |
||||||
|
color: var(--primary); |
||||||
|
} |
||||||
|
a:active, |
||||||
|
a:focus { |
||||||
|
text-decoration: none; |
||||||
|
border: 0; |
||||||
|
outline: 0; |
||||||
|
} |
||||||
|
a:hover { |
||||||
|
color: var(--secondary); |
||||||
|
} |
||||||
|
a:not([class]) { |
||||||
|
text-decoration-skip-ink: auto; |
||||||
|
} |
||||||
|
/* Typography-> code tags */ |
||||||
|
code, |
||||||
|
kbd, |
||||||
|
pre, |
||||||
|
samp { |
||||||
|
font-family: monospace, monospace; |
||||||
|
font-size: 1rem; |
||||||
|
} |
||||||
|
kbd, |
||||||
|
samp { |
||||||
|
display: inline-block; |
||||||
|
margin: 0; |
||||||
|
padding: 0 5px; |
||||||
|
} |
||||||
|
pre { |
||||||
|
overflow: auto; |
||||||
|
margin: 1rem 0; |
||||||
|
padding: 1rem; |
||||||
|
tab-size: 2; |
||||||
|
} |
||||||
|
sub, |
||||||
|
sup { |
||||||
|
position: relative; |
||||||
|
font-size: 75%; |
||||||
|
line-height: 0; |
||||||
|
vertical-align: baseline; |
||||||
|
} |
||||||
|
sub { |
||||||
|
bottom: -0.25em; |
||||||
|
} |
||||||
|
sup { |
||||||
|
top: -0.5em; |
||||||
|
} |
||||||
|
tt, |
||||||
|
var { |
||||||
|
font-family: monospace, monospace; |
||||||
|
font-style: italic; |
||||||
|
} |
||||||
|
mark { |
||||||
|
background: var(--primary); |
||||||
|
} |
||||||
|
acronym[title], abbr[title] { |
||||||
|
border-bottom: none; |
||||||
|
text-decoration: underline; |
||||||
|
-webkit-text-decoration: underline dotted; |
||||||
|
text-decoration: underline dotted; |
||||||
|
} |
||||||
|
abbr, |
||||||
|
acronym { |
||||||
|
cursor: help; |
||||||
|
} |
||||||
|
|
||||||
|
/* Media |
||||||
|
---------------------------------------- */ |
||||||
|
audio, |
||||||
|
canvas, |
||||||
|
progress, |
||||||
|
video { |
||||||
|
vertical-align: baseline; |
||||||
|
max-width:100%; |
||||||
|
} |
||||||
|
audio:not([controls]) { |
||||||
|
display: none; |
||||||
|
height: 0; |
||||||
|
} |
||||||
|
img, |
||||||
|
picture, |
||||||
|
svg { |
||||||
|
max-width: 100% !important; |
||||||
|
height: auto; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
border: 0; |
||||||
|
border-style: none; |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
svg:not(:root) { |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
figure { |
||||||
|
max-width: 100%; |
||||||
|
height: auto; |
||||||
|
margin: 1rem 0; |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
.align-left { |
||||||
|
margin: 0 1rem 0 0; |
||||||
|
} |
||||||
|
.align-right { |
||||||
|
margin: 0 0 0 1rem; |
||||||
|
} |
||||||
|
.align-center { |
||||||
|
margin-top: 1rem; |
||||||
|
margin-bottom: 1rem; |
||||||
|
} |
||||||
|
figcaption { |
||||||
|
padding: 4px; |
||||||
|
font-size: 0.8rem; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.image-field { |
||||||
|
margin: 0 0 1rem 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* Form |
||||||
|
---------------------------------------- */ |
||||||
|
form { |
||||||
|
margin-bottom: 1rem; |
||||||
|
} |
||||||
|
button, |
||||||
|
input, |
||||||
|
optgroup, |
||||||
|
select, |
||||||
|
textarea { |
||||||
|
font-family: inherit; |
||||||
|
font-size: 100%; |
||||||
|
line-height: 1.6; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
button, |
||||||
|
input { |
||||||
|
overflow: visible; |
||||||
|
} |
||||||
|
button, |
||||||
|
select { |
||||||
|
text-transform: none; |
||||||
|
} |
||||||
|
.button { |
||||||
|
display:inline-block; |
||||||
|
} |
||||||
|
.button, |
||||||
|
button, |
||||||
|
[type="button"], |
||||||
|
[type="reset"], |
||||||
|
[type="submit"] { |
||||||
|
position: relative; |
||||||
|
cursor: pointer; |
||||||
|
border: 0; |
||||||
|
padding: 8px 10px; |
||||||
|
line-height: 1.6; |
||||||
|
-webkit-appearance: button; |
||||||
|
} |
||||||
|
button::-moz-focus-inner, |
||||||
|
[type="button"]::-moz-focus-inner, |
||||||
|
[type="reset"]::-moz-focus-inner, |
||||||
|
[type="submit"]::-moz-focus-inner { |
||||||
|
border-style: none; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
button:-moz-focusring, |
||||||
|
[type="button"]:-moz-focusring, |
||||||
|
[type="reset"]:-moz-focusring, |
||||||
|
[type="submit"]:-moz-focusring { |
||||||
|
outline: 0; |
||||||
|
} |
||||||
|
button[disabled], |
||||||
|
html input[disabled] { |
||||||
|
cursor: not-allowed; |
||||||
|
opacity: 0.7; |
||||||
|
} |
||||||
|
::-webkit-file-upload-button { |
||||||
|
-webkit-appearance: button; |
||||||
|
font: inherit; |
||||||
|
} |
||||||
|
input, |
||||||
|
button, |
||||||
|
textarea, |
||||||
|
select { |
||||||
|
font: inherit; |
||||||
|
} |
||||||
|
input { |
||||||
|
line-height: normal; |
||||||
|
} |
||||||
|
input, |
||||||
|
textarea { |
||||||
|
max-width: 100%; |
||||||
|
} |
||||||
|
input[type="text"], |
||||||
|
input[type="email"], |
||||||
|
input[type="url"], |
||||||
|
input[type="password"], |
||||||
|
input[type="search"], |
||||||
|
textarea { |
||||||
|
padding: 10px; |
||||||
|
} |
||||||
|
input[type="text"]:focus, |
||||||
|
input[type="email"]:focus, |
||||||
|
input[type="url"]:focus, |
||||||
|
input[type="password"]:focus, |
||||||
|
input[type="search"]:focus, |
||||||
|
textarea:focus { |
||||||
|
outline: 0; |
||||||
|
} |
||||||
|
textarea { |
||||||
|
width: 100%; |
||||||
|
overflow: auto; |
||||||
|
} |
||||||
|
[type="checkbox"], |
||||||
|
[type="radio"] { |
||||||
|
padding: 0; |
||||||
|
cursor: pointer; |
||||||
|
-webkit-box-sizing: border-box; |
||||||
|
-moz-box-sizing: border-box; |
||||||
|
box-sizing: border-box; |
||||||
|
} |
||||||
|
[type="number"]::-webkit-inner-spin-button, |
||||||
|
[type="number"]::-webkit-outer-spin-button { |
||||||
|
height: auto; |
||||||
|
} |
||||||
|
[type="search"] { |
||||||
|
-webkit-appearance: textfield; |
||||||
|
outline-offset: -2px; |
||||||
|
-webkit-appearance: textfield; |
||||||
|
-moz-appearance: textfield; |
||||||
|
} |
||||||
|
[type="search"]::-webkit-search-decoration { |
||||||
|
-webkit-appearance: none; |
||||||
|
} |
||||||
|
[type="file"] { |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
fieldset { |
||||||
|
margin: 0 0 20px 0; |
||||||
|
padding: 1rem; |
||||||
|
} |
||||||
|
fieldset > :last-child { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
legend { |
||||||
|
box-sizing: border-box; |
||||||
|
color: inherit; |
||||||
|
display: table; |
||||||
|
max-width: 100%; |
||||||
|
padding: 0; |
||||||
|
white-space: normal; |
||||||
|
} |
||||||
|
optgroup { |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
select { |
||||||
|
padding: 6px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
label[for] { |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
/* Form */ |
||||||
|
.form-item { |
||||||
|
margin-bottom: 1rem; |
||||||
|
} |
||||||
|
.form-required:after { |
||||||
|
content: "*"; |
||||||
|
display: inline-block; |
||||||
|
padding-left: 4px; |
||||||
|
color: red; |
||||||
|
} |
||||||
|
.form-item label { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
label.option { |
||||||
|
display: inline; |
||||||
|
font-weight: normal; |
||||||
|
} |
||||||
|
::-webkit-input-placeholder { |
||||||
|
color: var(--border); |
||||||
|
} |
||||||
|
:-moz-placeholder { |
||||||
|
color: var(--border); |
||||||
|
} |
||||||
|
::-moz-placeholder { |
||||||
|
color: var(--border); |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
:-ms-input-placeholder { |
||||||
|
color: var(--border); |
||||||
|
} |
||||||
|
.field--name-body input[type="text"], |
||||||
|
.field--name-body input[type="email"], |
||||||
|
.field--name-body input[type="url"], |
||||||
|
.field--name-body input[type="password"], |
||||||
|
.field--name-body input[type="search"], |
||||||
|
.field--name-body textarea { |
||||||
|
display: block; |
||||||
|
margin-bottom: 0.8rem; |
||||||
|
} |
||||||
|
/* Common HTML Elements |
||||||
|
---------------------------------------- */ |
||||||
|
hr { |
||||||
|
background-color: var(--border); |
||||||
|
clear: both; |
||||||
|
width: 100%; |
||||||
|
max-width: 100%; |
||||||
|
height: 2px; |
||||||
|
border: 0; |
||||||
|
-webkit-box-sizing: content-box; |
||||||
|
box-sizing: content-box; |
||||||
|
overflow: visible; |
||||||
|
} |
||||||
|
address { |
||||||
|
margin: 0 0 1rem 0; |
||||||
|
font-style: italic; |
||||||
|
} |
||||||
|
/* Definition Lists */ |
||||||
|
dt { |
||||||
|
font-weight: 700; |
||||||
|
} |
||||||
|
dd { |
||||||
|
margin: 0 0 1.2rem 0; |
||||||
|
} |
||||||
|
blockquote { |
||||||
|
position: relative; |
||||||
|
background-color: var(--light); |
||||||
|
margin: 1rem 0; |
||||||
|
padding: 1rem; |
||||||
|
} |
||||||
|
blockquote > :last-child { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* List |
||||||
|
---------------------------------------- */ |
||||||
|
ul, |
||||||
|
ol { |
||||||
|
margin: 0; |
||||||
|
padding: 0 0 0.25rem 1rem; |
||||||
|
} |
||||||
|
[dir="rtl"] ul, |
||||||
|
[dir="rtl"] ol { |
||||||
|
padding: 0 1rem 0.25rem 0; |
||||||
|
} |
||||||
|
ol ol, |
||||||
|
ul ul { |
||||||
|
margin: 0; |
||||||
|
padding: 0 0 0.25rem 1rem; |
||||||
|
} |
||||||
|
[dir="rtl"] ol ol, |
||||||
|
[dir="rtl"] ul ul { |
||||||
|
padding: 0 1rem 0.25rem 0; |
||||||
|
} |
||||||
|
ul { |
||||||
|
list-style: disc; |
||||||
|
} |
||||||
|
li > ul, |
||||||
|
li > ol { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
[dir="rtl"] ul, |
||||||
|
[dir="rtl"] ol { |
||||||
|
padding: 0 1rem 0.25rem 0; |
||||||
|
} |
||||||
|
li { |
||||||
|
padding: 4px 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* Table |
||||||
|
---------------------------------------- */ |
||||||
|
table { |
||||||
|
width: 100%; |
||||||
|
margin-bottom: 1.2rem; |
||||||
|
border-spacing: 0; |
||||||
|
border-collapse: collapse; |
||||||
|
} |
||||||
|
th, |
||||||
|
tr, |
||||||
|
td { |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
th { |
||||||
|
margin: 0; |
||||||
|
padding: 5px; |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
td { |
||||||
|
padding: 5px; |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
/* Common for all blocks */ |
||||||
|
.block, |
||||||
|
.block-title, |
||||||
|
.block-content { |
||||||
|
position: relative; |
||||||
|
} |
File diff suppressed because one or more lines are too long
@ -0,0 +1,11 @@ |
|||||||
|
/* Clearing |
||||||
|
--------------------------------------*/ |
||||||
|
.clear { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.clear::before, |
||||||
|
.clear::after { |
||||||
|
content: ''; |
||||||
|
display: table; |
||||||
|
clear: both; |
||||||
|
} |
@ -0,0 +1,83 @@ |
|||||||
|
#comments { |
||||||
|
position: relative; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.comments-title i, |
||||||
|
.add-comment-title i { |
||||||
|
font-size: 1em; |
||||||
|
} |
||||||
|
/* Comment -> comment form */ |
||||||
|
.comment-form-wrap { |
||||||
|
position: relative; |
||||||
|
margin: 2rem 0 1rem 0; |
||||||
|
} |
||||||
|
.add-comment-title { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.comment-form label { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
/* Comments -> single comment */ |
||||||
|
.comment { |
||||||
|
position: relative; |
||||||
|
background-color: var(--light); |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
width: 100%; |
||||||
|
margin-bottom: 1rem; |
||||||
|
padding: 1rem; |
||||||
|
} |
||||||
|
.comment-header { |
||||||
|
position: relative; |
||||||
|
display: flex; |
||||||
|
width: 100%; |
||||||
|
border-bottom: 2px solid var(--border); |
||||||
|
padding: 1rem; |
||||||
|
margin-bottom: 1rem; |
||||||
|
} |
||||||
|
.comment-user-picture { |
||||||
|
position: relative; |
||||||
|
text-align: center; |
||||||
|
align-self: center; |
||||||
|
} |
||||||
|
.comment-user-picture img { |
||||||
|
max-width: 100px; |
||||||
|
height: auto; |
||||||
|
} |
||||||
|
.comment-user-picture .image-field { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.comment-meta { |
||||||
|
padding-left: 1rem; |
||||||
|
} |
||||||
|
h3.comment-title { |
||||||
|
font-size: 1.2rem; |
||||||
|
margin: 0.1rem 0; |
||||||
|
} |
||||||
|
.comment-meta p { |
||||||
|
margin: 0 |
||||||
|
} |
||||||
|
.comment-body { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
-webkit-box-flex: 1; |
||||||
|
-ms-flex: 1 1; |
||||||
|
flex: 1 1; |
||||||
|
} |
||||||
|
#comments .indented { |
||||||
|
margin-left: 3rem; |
||||||
|
} |
||||||
|
.comment-body .links { |
||||||
|
display: flex; |
||||||
|
gap: 1rem; |
||||||
|
} |
||||||
|
.comment-body .links a { |
||||||
|
padding: 4px 12px; |
||||||
|
border: 2px solid var(--border); |
||||||
|
border-radius: 4px; |
||||||
|
} |
||||||
|
.comment-body .links a:hover { |
||||||
|
background-color: #ffffff; |
||||||
|
} |
@ -0,0 +1,217 @@ |
|||||||
|
|
||||||
|
/* Admin Toolbar */ |
||||||
|
button.toolbar-item, |
||||||
|
button.toolbar-icon { |
||||||
|
background: none; |
||||||
|
} |
||||||
|
|
||||||
|
/* Drupal system message */ |
||||||
|
.message { |
||||||
|
position: relative; |
||||||
|
margin: 1rem 0; |
||||||
|
padding: 1rem 1rem 1rem 4rem; |
||||||
|
color: #ffffff; |
||||||
|
} |
||||||
|
.message a, |
||||||
|
.message a:visited { |
||||||
|
color: #ffffff; |
||||||
|
text-decoration: underline; |
||||||
|
} |
||||||
|
.message p:last-child { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.message em { |
||||||
|
font-style: italic; |
||||||
|
} |
||||||
|
.message-status { |
||||||
|
background: #89ad32; |
||||||
|
} |
||||||
|
.message-status::before { |
||||||
|
content: url(../images/icons/message/success.svg); |
||||||
|
background: #759625; |
||||||
|
} |
||||||
|
.message-error { |
||||||
|
background: #c94d1c; |
||||||
|
} |
||||||
|
.message-error::before { |
||||||
|
content: url(../images/icons/message/error.svg); |
||||||
|
background-color: #b3461b; |
||||||
|
} |
||||||
|
.message-warning { |
||||||
|
background: #cd5a0a; |
||||||
|
} |
||||||
|
.message-warning::before { |
||||||
|
content: url(../images/icons/message/warning.svg); |
||||||
|
background-color: #a44707; |
||||||
|
} |
||||||
|
.message::before { |
||||||
|
position: absolute; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
width: 3.6rem; |
||||||
|
height: 100%; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
line-height: 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* Main -> Admin Tabs */ |
||||||
|
ul.page-tabs { |
||||||
|
margin: 0 0 0.6rem 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
border-bottom: 2px solid var(--primary); |
||||||
|
} |
||||||
|
.page-tabs li { |
||||||
|
display: -webkit-inline-box; |
||||||
|
display: -ms-inline-flexbox; |
||||||
|
display: inline-flex; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.page-tabs li a { |
||||||
|
background-color: var(--dark); |
||||||
|
color: #ffffff; |
||||||
|
padding: 0.5rem 1rem; |
||||||
|
border-right: 2px solid var(--border); |
||||||
|
} |
||||||
|
.page-tabs li.active-page-tab a, |
||||||
|
.page-tabs li a:hover { |
||||||
|
color: var(--primary); |
||||||
|
} |
||||||
|
/* Node submitted details */ |
||||||
|
.node-submitted-details { |
||||||
|
position: relative; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
flex-wrap: wrap; |
||||||
|
} |
||||||
|
.node-submitted-details { |
||||||
|
-webkit-flex: 1 1 auto; |
||||||
|
-ms-flex: 1 1 auto; |
||||||
|
flex: 1 1 auto; |
||||||
|
} |
||||||
|
/* Entity reference */ |
||||||
|
.node-taxonomy-container, .node-links-container { |
||||||
|
position: relative; |
||||||
|
display: block; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 1rem 0; |
||||||
|
} |
||||||
|
h3.term-title { |
||||||
|
font-size: 1.2em; |
||||||
|
} |
||||||
|
ul.taxonomy-terms { |
||||||
|
margin: 10px 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
li.taxonomy-term { |
||||||
|
position: relative; |
||||||
|
display: inline-block; |
||||||
|
padding: 0; |
||||||
|
word-break: break-all; |
||||||
|
} |
||||||
|
li.taxonomy-term:not(:last-child) { |
||||||
|
margin-right: 1rem; |
||||||
|
} |
||||||
|
.taxonomy-term a { |
||||||
|
padding: 6px 14px; |
||||||
|
border: 2px solid var(--border); |
||||||
|
} |
||||||
|
/* Node Links */ |
||||||
|
.node-links-container ul.links { |
||||||
|
position: relative; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
.node-links-container .links { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
flex-wrap: wrap; |
||||||
|
} |
||||||
|
ul.inline, |
||||||
|
ul.links.inline { |
||||||
|
padding-left: 0; |
||||||
|
} |
||||||
|
ul.inline li { |
||||||
|
position: relative; |
||||||
|
display: inline-block; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
ul.inline li a { |
||||||
|
display: inline-block; |
||||||
|
} |
||||||
|
/* Pager */ |
||||||
|
.pager { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.pager ul.pager__items { |
||||||
|
position: relative; |
||||||
|
margin: 0; |
||||||
|
padding: 1rem 0; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
.pager__items { |
||||||
|
clear: both; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.pager__item { |
||||||
|
display: inline-block; |
||||||
|
padding: 12px 0; |
||||||
|
} |
||||||
|
.pager__item a { |
||||||
|
padding: 8px 14px; |
||||||
|
color: #fff; |
||||||
|
background: var(--dark); |
||||||
|
} |
||||||
|
.pager__item a:hover, |
||||||
|
.pager__item.is-active a { |
||||||
|
background: var(--primary); |
||||||
|
color: #fff; |
||||||
|
} |
||||||
|
/* vertical Tabs */ |
||||||
|
.vertical-tabs__panes { |
||||||
|
padding: 1rem; |
||||||
|
} |
||||||
|
/* components -> Scroll To Top. */ |
||||||
|
.scrolltop { |
||||||
|
position: fixed; |
||||||
|
display: none; |
||||||
|
bottom: 10px; |
||||||
|
right: 10px; |
||||||
|
width: 50px; |
||||||
|
height: 50px; |
||||||
|
border-radius: 50%; |
||||||
|
background: var(--primary); |
||||||
|
color: #ffffff; |
||||||
|
font-size: 20px; |
||||||
|
z-index: 20; |
||||||
|
cursor: pointer; |
||||||
|
text-align: center; |
||||||
|
padding: 4px; |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.scrolltop:hover { |
||||||
|
background: var(--secondary); |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
/** |
||||||
|
* Drupal core |
||||||
|
*/ |
||||||
|
/* Core -> contextual-links */ |
||||||
|
.header-top .contextual-links { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
/* Core -> Fields */ |
||||||
|
[dir] .field:not(:last-child){ |
||||||
|
margin-bottom:36px; |
||||||
|
} |
||||||
|
|
||||||
|
.field__label { |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
.field--label-inline .field__label, |
||||||
|
.field--label-inline .field__items { |
||||||
|
float: left; /* LTR */ |
||||||
|
} |
||||||
|
.field--label-inline .field__label, |
||||||
|
.field--label-inline > .field__item, |
||||||
|
.field--label-inline .field__items { |
||||||
|
padding-right: 0.5rem; |
||||||
|
} |
||||||
|
[dir="rtl"] .field--label-inline .field__label, |
||||||
|
[dir="rtl"] .field--label-inline .field__items { |
||||||
|
padding-right: 0; |
||||||
|
padding-left: 0.5rem; |
||||||
|
} |
||||||
|
.field--label-inline .field__label::after { |
||||||
|
content: ":"; |
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
/* EU Cookie Compliance module */ |
||||||
|
div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab { |
||||||
|
background-color: #ffffff; |
||||||
|
box-shadow: 0 0 6px 2px var(--border); |
||||||
|
left: 0; |
||||||
|
} |
||||||
|
#sliding-popup { |
||||||
|
padding: 2rem; |
||||||
|
max-width: 540px; |
||||||
|
} |
||||||
|
#sliding-popup .popup-content { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
gap: 1rem; |
||||||
|
} |
||||||
|
.eu-cookie-compliance-content { |
||||||
|
max-width: 100%; |
||||||
|
} |
||||||
|
.eu-cookie-compliance-message { |
||||||
|
float: none; |
||||||
|
margin: 0; |
||||||
|
max-width: 100%; |
||||||
|
} |
||||||
|
#sliding-popup div, |
||||||
|
#sliding-popup h2 { |
||||||
|
color: var( --color-heading); |
||||||
|
} |
||||||
|
#sliding-popup h2 { |
||||||
|
font-size: 1.2rem; |
||||||
|
} |
||||||
|
#sliding-popup p { |
||||||
|
display: block; |
||||||
|
color: var(--color-text); |
||||||
|
font-size: 1rem; |
||||||
|
font-weight: 400; |
||||||
|
} |
||||||
|
.eu-cookie-compliance-message button { |
||||||
|
background-color: transparent; |
||||||
|
color: var(--primary); |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
.eu-cookie-compliance-message button:hover { |
||||||
|
background-color: transparent; |
||||||
|
color: var( --color-heading); |
||||||
|
} |
||||||
|
.eu-cookie-compliance-buttons { |
||||||
|
display: flex; |
||||||
|
gap: 1rem; |
||||||
|
float: none; |
||||||
|
margin: 0; |
||||||
|
max-width: 100%; |
||||||
|
} |
||||||
|
.eu-cookie-compliance-buttons .button { |
||||||
|
background-color: transparent; |
||||||
|
background-image: none; |
||||||
|
color: var(--primary); |
||||||
|
font-weight: 400; |
||||||
|
margin: 0; |
||||||
|
padding: 8px 1rem; |
||||||
|
border: 2px solid var( --color-heading); |
||||||
|
text-shadow: none; |
||||||
|
box-shadow: none; |
||||||
|
border-radius: 0; |
||||||
|
} |
||||||
|
.eu-cookie-compliance-buttons .button:hover { |
||||||
|
background-color: var( --color-heading); |
||||||
|
color: #ffffff; |
||||||
|
} |
@ -0,0 +1,166 @@ |
|||||||
|
/*! |
||||||
|
* The-X icon font. Generated by Iconly: https://iconly.io/ |
||||||
|
*/ |
||||||
|
|
||||||
|
@font-face { |
||||||
|
font-display: auto; |
||||||
|
font-family: "vre2024"; |
||||||
|
font-style: normal; |
||||||
|
font-weight: 400; |
||||||
|
src: url("../fonts/vre2024.woff2") format("woff2"); |
||||||
|
} |
||||||
|
|
||||||
|
[class="icon"], [class^="icon-"], [class*=" icon-"] { |
||||||
|
display: inline-block; |
||||||
|
font-family: "vre2024" !important; |
||||||
|
font-weight: 400; |
||||||
|
font-style: normal; |
||||||
|
font-variant: normal; |
||||||
|
text-rendering: auto; |
||||||
|
line-height: 1; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
} |
||||||
|
.icon-close:before { |
||||||
|
content: "\e000"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-search:before { |
||||||
|
content: "\e001"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-user:before { |
||||||
|
content: "\e002"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-calendar:before { |
||||||
|
content: "\e003"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-twitter:before { |
||||||
|
content: "\e004"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-facebook:before { |
||||||
|
content: "\e005"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-github:before { |
||||||
|
content: "\e006"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-linkedin:before { |
||||||
|
content: "\e007"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-comments:before { |
||||||
|
content: "\e008"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-file:before { |
||||||
|
content: "\e009"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-youtube:before { |
||||||
|
content: "\e00a"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-instagram:before { |
||||||
|
content: "\e00b"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-vk:before { |
||||||
|
content: "\e00c"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-whatsapp:before { |
||||||
|
content: "\e00d"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-vimeo:before { |
||||||
|
content: "\e00e"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-hashtag:before { |
||||||
|
content: "\e00f"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-telegram:before { |
||||||
|
content: "\e010"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-share:before { |
||||||
|
content: "\e011"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-mail:before { |
||||||
|
content: "\e012"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-map:before { |
||||||
|
content: "\e013"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-phone:before { |
||||||
|
content: "\e014"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-arrow-up:before { |
||||||
|
content: "\e015"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-horn:before { |
||||||
|
content: "\e016"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-bell:before { |
||||||
|
content: "\e017"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-info:before { |
||||||
|
content: "\e018"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-comment:before { |
||||||
|
content: "\e019"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-angle-left:before { |
||||||
|
content: "\e01a"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-angle-right:before { |
||||||
|
content: "\e01b"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-arrow-right:before { |
||||||
|
content: "\e01c"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-arrow-left:before { |
||||||
|
content: "\e01d"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-quote:before { |
||||||
|
content: "\e01e"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-clock:before { |
||||||
|
content: "\e01f"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-alert-circle:before { |
||||||
|
content: "\e020"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-alert:before { |
||||||
|
content: "\e021"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-check:before { |
||||||
|
content: "\e022"; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-comment-add:before { |
||||||
|
content: "\e024"; |
||||||
|
} |
@ -0,0 +1,87 @@ |
|||||||
|
/** |
||||||
|
* footer |
||||||
|
*/ |
||||||
|
/* Footer */ |
||||||
|
.footer { |
||||||
|
position: relative; |
||||||
|
background-color: var(--light); |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.footer ul { |
||||||
|
list-style: none; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.footer .block p:last-of-type { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
/* Footer -> Footer Top */ |
||||||
|
.footer-top-container { |
||||||
|
position: relative; |
||||||
|
padding: 1rem 0; |
||||||
|
} |
||||||
|
.region-footer-top { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
gap: 1.5rem; |
||||||
|
} |
||||||
|
/* Footer -> 4 Column blocks */ |
||||||
|
.footer-blocks-container { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-ms-flex-wrap: wrap; |
||||||
|
flex-wrap: wrap; |
||||||
|
padding: 2rem 0; |
||||||
|
gap: 1.5rem; |
||||||
|
} |
||||||
|
.footer-block { |
||||||
|
-webkit-box-flex: 1; |
||||||
|
-ms-flex: 1 1 250px; |
||||||
|
flex: 1 1 250px; |
||||||
|
} |
||||||
|
.footer-block li { |
||||||
|
border-bottom: 1px solid var(--border); |
||||||
|
} |
||||||
|
/* Footer -> Footer Bottom */ |
||||||
|
.footer-bottom-blocks-container { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
padding: 1rem 0; |
||||||
|
gap: 2rem; |
||||||
|
} |
||||||
|
.footer-bottom-block { |
||||||
|
flex: 1; |
||||||
|
} |
||||||
|
.footer-bottom-container { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
padding: 1rem 0; |
||||||
|
gap: 2rem; |
||||||
|
} |
||||||
|
.footer-bottom-container p:last-child { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.footer-bottom-last-menu { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
} |
||||||
|
.footer-bottom-last-menu li { |
||||||
|
display: inline-block; |
||||||
|
padding-left: 1rem; |
||||||
|
} |
@ -0,0 +1,418 @@ |
|||||||
|
/* |
||||||
|
* Header main |
||||||
|
*/ |
||||||
|
/* Header -> Header top */ |
||||||
|
.header-top, |
||||||
|
.header { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 0.5rem 0; |
||||||
|
} |
||||||
|
.header-top-container { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
gap: 1rem; |
||||||
|
flex-wrap: wrap; |
||||||
|
} |
||||||
|
.region-header-top-left, |
||||||
|
.region-header-top-right { |
||||||
|
display: flex; |
||||||
|
gap: 1rem; |
||||||
|
flex-wrap: wrap; |
||||||
|
} |
||||||
|
.header-top-block p:last-of-type { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.header-top ul { |
||||||
|
display: flex; |
||||||
|
gap: 10px; |
||||||
|
flex-wrap: wrap; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
.header-top-block .block-title { |
||||||
|
font-size: 1.2rem; |
||||||
|
} |
||||||
|
/* Header -> Header main */ |
||||||
|
.header-main { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.header-container { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
gap: 1rem; |
||||||
|
} |
||||||
|
/* Header -> Site branding */ |
||||||
|
.site-branding { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
padding-right: 1rem; |
||||||
|
} |
||||||
|
.site-logo { |
||||||
|
padding-right: 5px; |
||||||
|
} |
||||||
|
.site-logo img { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
.site-name-slogan { |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
} |
||||||
|
.site-name, |
||||||
|
.site-slogan { |
||||||
|
line-height: 1.1; |
||||||
|
} |
||||||
|
|
||||||
|
/* Header -> header right */ |
||||||
|
.header-right { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
gap: 0.5rem; |
||||||
|
} |
||||||
|
.menu-wrap { |
||||||
|
position: fixed; |
||||||
|
background-color: var(--dark); |
||||||
|
color: #ffffff; |
||||||
|
top: 0; |
||||||
|
bottom: 0; |
||||||
|
left: 0; |
||||||
|
margin: 0; |
||||||
|
width: 100%; |
||||||
|
max-width: 320px; |
||||||
|
box-shadow: none; |
||||||
|
z-index: 25; |
||||||
|
-webkit-transform: translateX(-100%); |
||||||
|
-ms-transform: translateX(-100%); |
||||||
|
transform: translateX(-100%); |
||||||
|
-webkit-transition: all 0.4s linear; |
||||||
|
-o-transition: all 0.4s linear; |
||||||
|
transition: all 0.4s linear; |
||||||
|
} |
||||||
|
.menu-wrap .menu { |
||||||
|
position: relative; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
gap: 1rem; |
||||||
|
flex-wrap: wrap; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
font-size: 1rem; |
||||||
|
font-weight: 400; |
||||||
|
z-index: 30; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
.menu-wrap .menu li { |
||||||
|
position: relative; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.menu-wrap a { |
||||||
|
display: block; |
||||||
|
color: #ffffff; |
||||||
|
padding: 0.5rem 0; |
||||||
|
} |
||||||
|
.menu-wrap .menu > li a::after { |
||||||
|
content: none; |
||||||
|
} |
||||||
|
.menu-wrap .submenu { |
||||||
|
position: relative; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
font-weight: 400; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
z-index: 30; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
.menu-wrap .submenu li a, |
||||||
|
.menu-wrap .submenu li > span { |
||||||
|
display: flex; |
||||||
|
width: 100%; |
||||||
|
padding: 0.5rem; |
||||||
|
} |
||||||
|
.menu-wrap .menu-item a, |
||||||
|
.menu-wrap .menu-item > span { |
||||||
|
border-bottom: 1px solid var(--border); |
||||||
|
} |
||||||
|
.menu-wrap .submenu li > a, |
||||||
|
.menu-wrap .submenu li > span { |
||||||
|
padding-left: 1.5rem; |
||||||
|
} |
||||||
|
.menu-wrap .submenu .submenu .menu-item > a, |
||||||
|
.menu-wrap .submenu .submenu .menu-item > span { |
||||||
|
padding-left: 3rem; |
||||||
|
} |
||||||
|
/* Mobile Menu */ |
||||||
|
.mobile-menu { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: space-between; |
||||||
|
width: 36px; |
||||||
|
height: 28px; |
||||||
|
overflow: hidden; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
.mobile-menu span { |
||||||
|
width: 100%; |
||||||
|
height: 2px; |
||||||
|
background-color: var(--primary); |
||||||
|
transform-origin: left; |
||||||
|
transition: all 0.5s ease; |
||||||
|
} |
||||||
|
.mobile-menu span:nth-child(2) { |
||||||
|
background-color: var(--secondary); |
||||||
|
} |
||||||
|
.menu-icon-active span:first-child { |
||||||
|
transform: rotate(45deg); |
||||||
|
} |
||||||
|
.menu-icon-active span:last-child { |
||||||
|
transform: rotate(-45deg); |
||||||
|
} |
||||||
|
.menu-icon-active span:nth-child(2) { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
.close-mobile-menu { |
||||||
|
display: grid; |
||||||
|
place-content: center; |
||||||
|
position: absolute; |
||||||
|
top: 4px; |
||||||
|
right: 4px; |
||||||
|
width: 34px; |
||||||
|
height: 34px; |
||||||
|
color: #ffffff; |
||||||
|
border: 2px solid var(--primary); |
||||||
|
border-radius: 50%; |
||||||
|
z-index: 48; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
.active-menu .menu-wrap { |
||||||
|
overflow-y: scroll; |
||||||
|
-webkit-transform: translateX(0); |
||||||
|
-ms-transform: translateX(0); |
||||||
|
transform: translateX(0); |
||||||
|
-webkit-transition: all 0.4s linear; |
||||||
|
-o-transition: all 0.4s linear; |
||||||
|
transition: all 0.4s linear; |
||||||
|
padding: 1rem; |
||||||
|
box-shadow: 6px 0 1rem #111111; |
||||||
|
} |
||||||
|
.active-menu .menu { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
/*slide up */ |
||||||
|
@-webkit-keyframes slideUp { |
||||||
|
0% { |
||||||
|
-webkit-transform: translateY(20px); |
||||||
|
transform: translateY(20px); |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
100% { |
||||||
|
-webkit-transform: translateY(0px); |
||||||
|
transform: translateY(0px); |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
} |
||||||
|
@keyframes slideUp { |
||||||
|
0% { |
||||||
|
-webkit-transform: translateY(20px); |
||||||
|
transform: translateY(20px); |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
100% { |
||||||
|
-webkit-transform: translateY(0px); |
||||||
|
transform: translateY(0px); |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
} |
||||||
|
/* Header -> header search form */ |
||||||
|
.full-page-search { |
||||||
|
position: relative; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.search-icon { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
cursor: pointer; |
||||||
|
width: 34px; |
||||||
|
height: 34px; |
||||||
|
border-radius: 50%; |
||||||
|
} |
||||||
|
.search-icon i { |
||||||
|
font-size: 24px; |
||||||
|
} |
||||||
|
.search-box { |
||||||
|
position: fixed; |
||||||
|
background-color: var(--light); |
||||||
|
top: 0; |
||||||
|
right: 0; |
||||||
|
left: 0; |
||||||
|
width: 100%; |
||||||
|
z-index: 50; |
||||||
|
-webkit-transform: translate(0, -100%); |
||||||
|
-ms-transform: translate(0, -100%); |
||||||
|
transform: translate(0, -100%); |
||||||
|
-webkit-transition: -webkit-transform 0.5s; |
||||||
|
transition: -webkit-transform 0.5s; |
||||||
|
-o-transition: transform 0.5s; |
||||||
|
transition: transform 0.5s; |
||||||
|
transition: transform 0.5s, -webkit-transform 0.5s; |
||||||
|
} |
||||||
|
.search-box.open { |
||||||
|
-webkit-transform: translate(0, 0); |
||||||
|
-ms-transform: translate(0, 0); |
||||||
|
transform: translate(0, 0); |
||||||
|
} |
||||||
|
.search-box-content { |
||||||
|
position: relative; |
||||||
|
padding: 2rem 0; |
||||||
|
text-align: center; |
||||||
|
z-index: 60; |
||||||
|
} |
||||||
|
.search-box-content form { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.header-search-close { |
||||||
|
position: absolute; |
||||||
|
top: 1rem; |
||||||
|
right: 0; |
||||||
|
width: 34px; |
||||||
|
height: 34px; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
color: var(--dark); |
||||||
|
border: 3px solid var(--dark); |
||||||
|
border-radius: 50%; |
||||||
|
cursor: pointer; |
||||||
|
font-weight: 700; |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
.search-box-content .block { |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.search-box-content .block-title, |
||||||
|
.search-box-content form label { |
||||||
|
display: none; |
||||||
|
color: #000000; |
||||||
|
} |
||||||
|
.search-box-content input[type="search"] { |
||||||
|
width: 100%; |
||||||
|
margin: 2rem 0; |
||||||
|
padding: 0 2rem 4px 0; |
||||||
|
font-size: 1.4rem; |
||||||
|
background: url("../images/icons/search.svg") center right no-repeat; |
||||||
|
background-size: contain; |
||||||
|
border: 0; |
||||||
|
border-bottom: 2px solid var(--border); |
||||||
|
border-radius: 0; |
||||||
|
outline: 0; |
||||||
|
} |
||||||
|
.search-box-content input[type="submit"] { |
||||||
|
display: block; |
||||||
|
margin: 0 auto; |
||||||
|
padding: 0.5rem 1.5rem; |
||||||
|
border-radius: 50px; |
||||||
|
} |
||||||
|
/* Header -> Page Header */ |
||||||
|
.page-header { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 2rem 0 1rem 0; |
||||||
|
} |
||||||
|
.region-page-header { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
} |
||||||
|
/* Header -> Page Header-> breadcrumb */ |
||||||
|
.breadcrumb { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
.breadcrumb-items { |
||||||
|
display: flex; |
||||||
|
flex-wrap: wrap; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
} |
||||||
|
.breadcrumb-item { |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.breadcrumb-item span { |
||||||
|
font-size: 14px; |
||||||
|
margin: 0 5px; |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
/* Highlighted Block Region */ |
||||||
|
.highlighted { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.region-highlighted { |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
} |
||||||
|
.highlighted .block { |
||||||
|
position: relative; |
||||||
|
margin: 0; |
||||||
|
padding: 1em 0; |
||||||
|
} |
||||||
|
.highlighted p:last-child { |
||||||
|
margin: 0; |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
.region-content-home-top, |
||||||
|
.region-content-home-bottom { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
.region-content-home-top { |
||||||
|
margin-bottom: 2rem; |
||||||
|
} |
@ -0,0 +1,73 @@ |
|||||||
|
/* |
||||||
|
* Layout |
||||||
|
*/ |
||||||
|
/* Layout -> containers */ |
||||||
|
.container { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
max-width: 1170px; |
||||||
|
margin: 0 auto; |
||||||
|
padding: 0 10px; |
||||||
|
} |
||||||
|
/* Layout -> Main wrapper (Main + Sidebar) */ |
||||||
|
.main-wrapper { |
||||||
|
position: relative; |
||||||
|
display: block; |
||||||
|
padding: 2rem 0; |
||||||
|
} |
||||||
|
.main-container { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
gap: 1.5rem; |
||||||
|
} |
||||||
|
/* Main |
||||||
|
--------------------------------*/ |
||||||
|
#main { |
||||||
|
position: relative; |
||||||
|
-webkit-box-ordinal-group: 1; |
||||||
|
-ms-flex-order: 0; |
||||||
|
order: 0; |
||||||
|
} |
||||||
|
#sidebar-left { |
||||||
|
-webkit-box-ordinal-group: 2; |
||||||
|
-ms-flex-order: 1; |
||||||
|
order: 1; |
||||||
|
} |
||||||
|
#sidebar-right { |
||||||
|
-webkit-box-ordinal-group: 3; |
||||||
|
-ms-flex-order: 2; |
||||||
|
order: 2; |
||||||
|
} |
||||||
|
/* No sidebar + main */ |
||||||
|
.no-sidebar #main, |
||||||
|
.sidebar-left #main, |
||||||
|
.sidebar-right #main, |
||||||
|
.two-sidebar #main, |
||||||
|
#sidebar-left, |
||||||
|
#sidebar-right { |
||||||
|
-webkit-box-flex: 1; |
||||||
|
-ms-flex: 1 1 100%; |
||||||
|
flex: 1 1 100%; |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
#front-main { |
||||||
|
-webkit-box-flex: 1; |
||||||
|
-ms-flex: 1 1 100%; |
||||||
|
flex: 1 1 100%; |
||||||
|
width: 100%; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
|
||||||
|
/* Frontpage with Sidebar |
||||||
|
--------------------------------*/ |
||||||
|
.front-content-with-sidebar { |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
} |
@ -0,0 +1,41 @@ |
|||||||
|
#maintenance-page { |
||||||
|
position: relative; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
width: 100%; |
||||||
|
min-height: 100vh; |
||||||
|
background: #ffffff; |
||||||
|
color: #2d3436; |
||||||
|
} |
||||||
|
.maintenance-header { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
padding: 1rem 0; |
||||||
|
} |
||||||
|
.site-name h4 { |
||||||
|
color: #f0932b; |
||||||
|
line-height: 1; |
||||||
|
font-weight: 700; |
||||||
|
} |
||||||
|
#maintenance { |
||||||
|
position: relative; |
||||||
|
margin: 0 auto; |
||||||
|
padding: 1rem 0; |
||||||
|
} |
||||||
|
.maintenance { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.maintenance-title { |
||||||
|
color: #fff; |
||||||
|
} |
||||||
|
.maintenance-icon { |
||||||
|
padding: 2rem 0; |
||||||
|
} |
||||||
|
.maintenance-icon img { |
||||||
|
max-height: 50vh; |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
/* Nodes */ |
||||||
|
.node, |
||||||
|
.node-promoted, |
||||||
|
.node-sticky, |
||||||
|
.node-view-mode-full, |
||||||
|
.node-unpublished { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.node-view-mode-teaser { |
||||||
|
position: relative; |
||||||
|
margin-bottom: 4rem; |
||||||
|
border-bottom: 4px double var(--border); |
||||||
|
} |
||||||
|
.node-view-mode-teaser.node-sticky { |
||||||
|
border: 2px solid var(--border); |
||||||
|
padding: 1rem; |
||||||
|
} |
||||||
|
.node-view-mode-full .node-taxonomy-container { |
||||||
|
margin: 0; |
||||||
|
} |
@ -0,0 +1,272 @@ |
|||||||
|
@media (min-width: 576px) { |
||||||
|
.w10, |
||||||
|
.w20, |
||||||
|
.w30, |
||||||
|
.w40, |
||||||
|
.w50, |
||||||
|
.w60, |
||||||
|
.w70, |
||||||
|
.w80, |
||||||
|
.w90 { |
||||||
|
flex-basis: calc(50% - 5px); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@media (min-width: 768px) { |
||||||
|
html { |
||||||
|
font-size: 18px; |
||||||
|
} |
||||||
|
/* Header */ |
||||||
|
.header-top-container { |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
gap: 1rem; |
||||||
|
} |
||||||
|
/* Header -> Search form */ |
||||||
|
.header-search-close { |
||||||
|
top: 2rem; |
||||||
|
} |
||||||
|
.search-box-content .block-title { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
.breadcrumb-item span { |
||||||
|
margin: 0 10px; |
||||||
|
} |
||||||
|
/* Main */ |
||||||
|
.main-container { |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
} |
||||||
|
#main { |
||||||
|
-webkit-box-ordinal-group: 2; |
||||||
|
-ms-flex-order: 1; |
||||||
|
order: 1; |
||||||
|
} |
||||||
|
#sidebar-left { |
||||||
|
-webkit-box-ordinal-group: 1; |
||||||
|
-ms-flex-order: 0; |
||||||
|
order: 0; |
||||||
|
} |
||||||
|
#sidebar-right { |
||||||
|
-webkit-box-ordinal-group: 3; |
||||||
|
-ms-flex-order: 2; |
||||||
|
order: 2; |
||||||
|
} |
||||||
|
/* one sidebar + main */ |
||||||
|
.sidebar-left #main, |
||||||
|
.sidebar-right #main { |
||||||
|
-webkit-box-flex: 1; |
||||||
|
-ms-flex: 1 1 70%; |
||||||
|
flex: 1 1 70%; |
||||||
|
} |
||||||
|
/* Both sidebar + main */ |
||||||
|
.two-sidebar #main { |
||||||
|
-webkit-box-flex: 1; |
||||||
|
-ms-flex: 1 1 40%; |
||||||
|
flex: 1 1 40%; |
||||||
|
} |
||||||
|
/* Sidebar |
||||||
|
--------------------------------*/ |
||||||
|
#sidebar-left { |
||||||
|
-webkit-box-flex: 0; |
||||||
|
-ms-flex: 0 1 30%; |
||||||
|
flex: 0 1 30%; |
||||||
|
} |
||||||
|
#sidebar-right { |
||||||
|
-webkit-box-flex: 0; |
||||||
|
-ms-flex: 0 1 30%; |
||||||
|
flex: 0 1 30%; |
||||||
|
} |
||||||
|
/* Footer */ |
||||||
|
.footer-container { |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
} |
||||||
|
.footer-bottom-blocks-container { |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
} |
||||||
|
|
||||||
|
.footer-bottom-container { |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.footer-bottom-last { |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.copyright { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
/* shortcodes -> content width */ |
||||||
|
.width30 { |
||||||
|
width: 30%; |
||||||
|
} |
||||||
|
.width40 { |
||||||
|
width: 40%; |
||||||
|
} |
||||||
|
.width50 { |
||||||
|
width: 50%; |
||||||
|
} |
||||||
|
.width60 { |
||||||
|
width: 60%; |
||||||
|
} |
||||||
|
.width70 { |
||||||
|
width: 70%; |
||||||
|
} |
||||||
|
.width80 { |
||||||
|
width: 80%; |
||||||
|
} |
||||||
|
.width90 { |
||||||
|
width: 90%; |
||||||
|
} |
||||||
|
/* shortcodes -> responsive column */ |
||||||
|
.w10 { |
||||||
|
flex-basis: calc(10% - 10px); |
||||||
|
} |
||||||
|
.w20 { |
||||||
|
flex-basis: calc(20% - 10px); |
||||||
|
} |
||||||
|
.w30 { |
||||||
|
flex-basis: calc(30% - 10px); |
||||||
|
} |
||||||
|
.w40 { |
||||||
|
flex-basis: calc(40% - 10px); |
||||||
|
} |
||||||
|
.w50 { |
||||||
|
flex-basis: calc(50% - 10px); |
||||||
|
} |
||||||
|
.w60 { |
||||||
|
flex-basis: calc(60% - 10px); |
||||||
|
} |
||||||
|
.w70 { |
||||||
|
flex-basis: calc(70% - 10px); |
||||||
|
} |
||||||
|
.w80 { |
||||||
|
flex-basis: calc(80% - 10px); |
||||||
|
} |
||||||
|
.w90 { |
||||||
|
flex-basis: calc(90% - 10px); |
||||||
|
} |
||||||
|
/* Shortcodes -> responsive view */ |
||||||
|
.view-in-mobile { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
.view-in-desktop { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
} |
||||||
|
@media (min-width: 992px) { |
||||||
|
th { |
||||||
|
padding: 10px; |
||||||
|
} |
||||||
|
td { |
||||||
|
padding: 5px 10px; |
||||||
|
} |
||||||
|
/* Header */ |
||||||
|
.header-right { |
||||||
|
gap: 1rem; |
||||||
|
} |
||||||
|
.menu-wrap { |
||||||
|
position: relative; |
||||||
|
background-color: transparent; |
||||||
|
max-width: 100%; |
||||||
|
-webkit-transform: translateX(0); |
||||||
|
-ms-transform: translateX(0); |
||||||
|
transform: translateX(0); |
||||||
|
-webkit-transition: none; |
||||||
|
-o-transition: none; |
||||||
|
transition: none; |
||||||
|
} |
||||||
|
.menu-wrap .menu { |
||||||
|
flex-direction: row; |
||||||
|
} |
||||||
|
.menu-wrap .menu, |
||||||
|
.menu-wrap .menu a { |
||||||
|
color: var(--primary); |
||||||
|
} |
||||||
|
.menu-wrap .menu-item a, |
||||||
|
.menu-wrap .menu-item > span { |
||||||
|
border-bottom: 0; |
||||||
|
} |
||||||
|
.menu-wrap .menu > li, |
||||||
|
.menu-wrap .collapsed, |
||||||
|
.menu-wrap .expanded, |
||||||
|
.menu-wrap .menu-item-has-children { |
||||||
|
display: inline-flex; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.menu-wrap .collapsed:hover, |
||||||
|
.menu-wrap .expanded:hover, |
||||||
|
.menu-wrap .menu-item-has-children:hover { |
||||||
|
background-color: var(--light); |
||||||
|
} |
||||||
|
.menu-wrap .collapsed::after, |
||||||
|
.menu-wrap .expanded::after, |
||||||
|
.menu-wrap .menu-item-has-children::after { |
||||||
|
content: '+'; |
||||||
|
} |
||||||
|
.menu-wrap .submenu { |
||||||
|
position: absolute; |
||||||
|
display: none; |
||||||
|
background-color: var(--light); |
||||||
|
font-size: 0.9rem; |
||||||
|
top: 100%; |
||||||
|
min-width: 180px; |
||||||
|
max-width: 200px; |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
.collapsed:hover > .submenu, |
||||||
|
.expanded:hover > .submenu, |
||||||
|
.menu-item-has-children:hover > .submenu { |
||||||
|
display: flex; |
||||||
|
-webkit-animation: slideUp 0.5s forwards; |
||||||
|
animation: slideUp 0.5s forwards; |
||||||
|
} |
||||||
|
.menu-wrap .submenu li { |
||||||
|
border-bottom: 1px solid var(--border); |
||||||
|
} |
||||||
|
.menu-wrap .submenu .submenu { |
||||||
|
top: 0; |
||||||
|
left: 100%; |
||||||
|
} |
||||||
|
.menu-wrap .submenu li > a, |
||||||
|
.menu-wrap .submenu li > span { |
||||||
|
padding: 0.5rem; |
||||||
|
} |
||||||
|
.menu-wrap .submenu .submenu .menu-item > a, |
||||||
|
.menu-wrap .submenu .submenu .menu-item > span { |
||||||
|
padding: 0.5rem; |
||||||
|
} |
||||||
|
.mobile-menu, |
||||||
|
.close-mobile-menu { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,28 @@ |
|||||||
|
/* Search result page |
||||||
|
--------------------------------------*/ |
||||||
|
.page-content input[type="search"] { |
||||||
|
width: 80%; |
||||||
|
} |
||||||
|
ol.search-results { |
||||||
|
margin: 1em 0; |
||||||
|
padding: 0; |
||||||
|
list-style: none; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
ol.search-results li { |
||||||
|
margin: 0 0 1em 0; |
||||||
|
padding: 1rem; |
||||||
|
background: var(--light); |
||||||
|
} |
||||||
|
.search-advanced summary { |
||||||
|
margin: 10px 0; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
.search-advanced .form-details-wrapper { |
||||||
|
padding: 0.5em 1.4em; |
||||||
|
border: 1px solid var(--border); |
||||||
|
} |
||||||
|
.search-advanced .form-wrapper { |
||||||
|
padding: 0.5em 1.4em; |
||||||
|
border: 1px solid var(--border); |
||||||
|
} |
@ -0,0 +1,330 @@ |
|||||||
|
/* Mobile and desktop display |
||||||
|
================================= */ |
||||||
|
.view-in-mobile { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
.view-in-desktop { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
/* Color and background |
||||||
|
================================= */ |
||||||
|
.primary { |
||||||
|
color: var(--primary); |
||||||
|
} |
||||||
|
.secondary { |
||||||
|
color: var(--secondary); |
||||||
|
} |
||||||
|
.dark { |
||||||
|
color: var(--dark); |
||||||
|
} |
||||||
|
.light { |
||||||
|
color: var(--light); |
||||||
|
} |
||||||
|
.bg-light { |
||||||
|
background-color: var(--light); |
||||||
|
} |
||||||
|
/* Text Alignment |
||||||
|
================================= */ |
||||||
|
.text-left { |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
.text-right { |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
.text-center { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.text-justify { |
||||||
|
text-align: justify; |
||||||
|
} |
||||||
|
.center { |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
/* Inline content |
||||||
|
================================= */ |
||||||
|
.inline { |
||||||
|
display: inline-block; |
||||||
|
} |
||||||
|
.inline:not(:last-child) { |
||||||
|
padding-right: 1rem; |
||||||
|
} |
||||||
|
|
||||||
|
/* Direction |
||||||
|
================================= */ |
||||||
|
.rtl { |
||||||
|
direction: rtl; |
||||||
|
} |
||||||
|
.ltr { |
||||||
|
direction: ltr; |
||||||
|
} |
||||||
|
|
||||||
|
/* Font Size |
||||||
|
================================= */ |
||||||
|
.font-small { |
||||||
|
font-size: 0.75rem; |
||||||
|
} |
||||||
|
.font-medium { |
||||||
|
font-size: 1.25rem; |
||||||
|
} |
||||||
|
.font-large { |
||||||
|
font-size: 1.5rem; |
||||||
|
} |
||||||
|
.font-2x { |
||||||
|
font-size: 2rem; |
||||||
|
} |
||||||
|
.font-3x { |
||||||
|
font-size: 2.5rem; |
||||||
|
} |
||||||
|
.font-4x { |
||||||
|
font-size: 3rem; |
||||||
|
} |
||||||
|
.font-5x { |
||||||
|
font-size: 4rem; |
||||||
|
} |
||||||
|
.font-6x { |
||||||
|
font-size: 5rem; |
||||||
|
} |
||||||
|
.font-7x { |
||||||
|
font-size: 6rem; |
||||||
|
} |
||||||
|
.font-8x { |
||||||
|
font-size: 7rem; |
||||||
|
} |
||||||
|
|
||||||
|
/* Font Icon Size |
||||||
|
================================= */ |
||||||
|
.size-xs { |
||||||
|
font-size: 0.5em; |
||||||
|
} |
||||||
|
.size-small { |
||||||
|
font-size: 0.75em; |
||||||
|
} |
||||||
|
.size-medium { |
||||||
|
font-size: 1.25em; |
||||||
|
} |
||||||
|
.size-large { |
||||||
|
font-size: 1.5em; |
||||||
|
} |
||||||
|
.size-2x { |
||||||
|
font-size: 2em; |
||||||
|
} |
||||||
|
.size-3x { |
||||||
|
font-size: 3em; |
||||||
|
} |
||||||
|
.size-4x { |
||||||
|
font-size: 4em; |
||||||
|
} |
||||||
|
.size-5x { |
||||||
|
font-size: 5em; |
||||||
|
} |
||||||
|
.size-6x { |
||||||
|
font-size: 6em; |
||||||
|
} |
||||||
|
.size-7x { |
||||||
|
font-size: 7em; |
||||||
|
} |
||||||
|
.size-8x { |
||||||
|
font-size: 8em; |
||||||
|
} |
||||||
|
.size-9x { |
||||||
|
font-size: 9em; |
||||||
|
} |
||||||
|
.size-10x { |
||||||
|
font-size: 10em; |
||||||
|
} |
||||||
|
|
||||||
|
/* image icons size |
||||||
|
================================= */ |
||||||
|
.icon-s { |
||||||
|
max-height: 1rem; |
||||||
|
} |
||||||
|
.icon-m { |
||||||
|
max-height: 1.5rem; |
||||||
|
} |
||||||
|
.icon-l { |
||||||
|
max-height: 2rem; |
||||||
|
} |
||||||
|
.icon-xl { |
||||||
|
max-height: 3rem; |
||||||
|
} |
||||||
|
.icon-x2 { |
||||||
|
max-height: 4rem; |
||||||
|
} |
||||||
|
.icon-x3 { |
||||||
|
max-height: 5rem; |
||||||
|
} |
||||||
|
.icon-x4 { |
||||||
|
max-height: 6rem; |
||||||
|
} |
||||||
|
.icon-x5 { |
||||||
|
max-height: 7rem; |
||||||
|
} |
||||||
|
.icon-x6 { |
||||||
|
max-height: 8rem; |
||||||
|
} |
||||||
|
.icon-x7 { |
||||||
|
max-height: 9rem; |
||||||
|
} |
||||||
|
.icon-x8 { |
||||||
|
max-height: 10rem; |
||||||
|
} |
||||||
|
/* Content width |
||||||
|
================================= */ |
||||||
|
.width30, |
||||||
|
.width40, |
||||||
|
.width50, |
||||||
|
.width60, |
||||||
|
.width70, |
||||||
|
.width80, |
||||||
|
.width90 { |
||||||
|
width: 100%; |
||||||
|
clear: both; |
||||||
|
display: block; |
||||||
|
} |
||||||
|
/* Empty width and height |
||||||
|
================================= */ |
||||||
|
.w20px { |
||||||
|
display: inline-block; |
||||||
|
width: 20px; |
||||||
|
} |
||||||
|
.w30px { |
||||||
|
display: inline-block; |
||||||
|
width: 30px; |
||||||
|
} |
||||||
|
.w40px { |
||||||
|
display: inline-block; |
||||||
|
width: 40px; |
||||||
|
} |
||||||
|
.w50px { |
||||||
|
display: inline-block; |
||||||
|
width: 50px; |
||||||
|
} |
||||||
|
.w70px { |
||||||
|
display: inline-block; |
||||||
|
width: 70px; |
||||||
|
} |
||||||
|
.w100px { |
||||||
|
display: inline-block; |
||||||
|
width: 100px; |
||||||
|
} |
||||||
|
.empty, |
||||||
|
.spacer, |
||||||
|
.spacer-x2, |
||||||
|
.spacer-x3 { |
||||||
|
width: 100%; |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
} |
||||||
|
.empty, |
||||||
|
.spacer { |
||||||
|
padding: 1rem 0; |
||||||
|
} |
||||||
|
.spacer-x2 { |
||||||
|
padding: 2rem 0; |
||||||
|
} |
||||||
|
.spacer-x3 { |
||||||
|
padding: 3rem 0; |
||||||
|
} |
||||||
|
/* Responsive Columns |
||||||
|
================================= */ |
||||||
|
.section { |
||||||
|
position: relative; |
||||||
|
display: block; |
||||||
|
width: 100%; |
||||||
|
padding: 3rem 0; |
||||||
|
} |
||||||
|
.section-small { |
||||||
|
position: relative; |
||||||
|
display: block; |
||||||
|
width: 100%; |
||||||
|
padding: 1rem 0; |
||||||
|
} |
||||||
|
.items { |
||||||
|
display: grid; |
||||||
|
grid-template-columns: repeat(auto-fit, minmax(265px, 1fr)); |
||||||
|
grid-gap: 1rem; |
||||||
|
gap: 1rem; |
||||||
|
} |
||||||
|
.item img { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
.columns { |
||||||
|
display: -webkit-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
-ms-flex-wrap: wrap; |
||||||
|
flex-wrap: wrap; |
||||||
|
} |
||||||
|
/* Create Equal width columns with no gap */ |
||||||
|
.column { |
||||||
|
flex: 1 1 230px; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
/* flex-items width */ |
||||||
|
.w10, |
||||||
|
.w20, |
||||||
|
.w30, |
||||||
|
.w40, |
||||||
|
.w50, |
||||||
|
.w60, |
||||||
|
.w70, |
||||||
|
.w80, |
||||||
|
.w90 { |
||||||
|
flex-basis: 100%; |
||||||
|
} |
||||||
|
/* Flex - Common for all |
||||||
|
================================= */ |
||||||
|
.space-between { |
||||||
|
-webkit-box-pack: justify; |
||||||
|
-ms-flex-pack: justify; |
||||||
|
justify-content: space-between; |
||||||
|
} |
||||||
|
.v-center { |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.h-center { |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
} |
||||||
|
.vh-center { |
||||||
|
-webkit-box-pack: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
-webkit-box-align: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
|
||||||
|
/* Shortcodes -> box, icon box |
||||||
|
================================= */ |
||||||
|
.box, |
||||||
|
.icon-box { |
||||||
|
position: relative; |
||||||
|
display: block; |
||||||
|
padding: 1rem; |
||||||
|
margin-bottom: 1rem; |
||||||
|
} |
||||||
|
.box p:last-child, |
||||||
|
.icon-box p:last-child { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
/* Shortcodes -> grid column |
||||||
|
================================= */ |
||||||
|
.grid-row { |
||||||
|
display: grid; |
||||||
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); |
||||||
|
grid-gap: 1rem; |
||||||
|
gap: 1rem; |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
/* Sidebar |
||||||
|
--------------------------------*/ |
||||||
|
.sidebar { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
.region-sidebar-first, |
||||||
|
.region-sidebar-second { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
gap: 2rem; |
||||||
|
} |
||||||
|
.sidebar .block { |
||||||
|
background-color: var(--light); |
||||||
|
padding: 1rem; |
||||||
|
} |
||||||
|
.sidebar ul, |
||||||
|
.sidebar ol { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
list-style-position: inside; |
||||||
|
} |
||||||
|
.sidebar ul { |
||||||
|
list-style: none; |
||||||
|
} |
||||||
|
.sidebar li { |
||||||
|
padding: 6px 0; |
||||||
|
border-bottom: 1px solid var(--border); |
||||||
|
} |
||||||
|
.sidebar .block p:last-of-type { |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
/* Sidebr -> Form */ |
||||||
|
.sidebar input[type="text"], |
||||||
|
.sidebar input[type="email"], |
||||||
|
.sidebar input[type="url"], |
||||||
|
.sidebar input[type="password"], |
||||||
|
.sidebar input[type="search"], |
||||||
|
.sidebar textarea { |
||||||
|
width: 100%; |
||||||
|
max-width: 100%; |
||||||
|
border: 1px solid var(--border); |
||||||
|
} |
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,48 @@ |
|||||||
|
/* Load jQuery. |
||||||
|
--------------------------*/ |
||||||
|
jQuery(document).ready(function ($) { |
||||||
|
// Mobile menu.
|
||||||
|
$('.mobile-menu').click(function () { |
||||||
|
$(this).toggleClass('menu-icon-active'); |
||||||
|
$(this).next('.primary-menu-wrapper').toggleClass('active-menu'); |
||||||
|
}); |
||||||
|
$('.close-mobile-menu').click(function () { |
||||||
|
$(this).closest('.primary-menu-wrapper').toggleClass('active-menu'); |
||||||
|
$('.mobile-menu').removeClass('menu-icon-active'); |
||||||
|
}); |
||||||
|
// Header search form
|
||||||
|
$('.search-icon').on('click', function() { |
||||||
|
$('.search-box').toggleClass('open'); |
||||||
|
$('.search-box-content .form-search').focus(); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
$('.search-box-content input[type="search"]').attr("placeholder", "Type your search"); |
||||||
|
|
||||||
|
$('.header-search-close').on('click', function() { |
||||||
|
$('.search-box').removeClass('open'); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
$('.search-box').on( 'keydown', function(e) { |
||||||
|
if ( e.keyCode === 27 ) { |
||||||
|
$('.search-box.open').removeClass('open'); |
||||||
|
} |
||||||
|
}); |
||||||
|
$(document).on('click', function(event) { |
||||||
|
if(!$(event.target).closest(".search-box-content").length) { |
||||||
|
$('.search-box').removeClass('open'); |
||||||
|
} |
||||||
|
}) |
||||||
|
// Scroll To Top.
|
||||||
|
$(window).scroll(function () { |
||||||
|
if ($(this).scrollTop() > 80) { |
||||||
|
$('.scrolltop').css('display', 'flex'); |
||||||
|
} else { |
||||||
|
$('.scrolltop').fadeOut('slow'); |
||||||
|
} |
||||||
|
}); |
||||||
|
$('.scrolltop').click(function () { |
||||||
|
$('html, body').scrollTop(0); |
||||||
|
}); |
||||||
|
/* End document |
||||||
|
--------------------------*/ |
||||||
|
}); |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"name": "vre2024", |
||||||
|
"version": "1.0.0", |
||||||
|
"description": "vre2024 - Drupal 8 and 9 Base Theme.", |
||||||
|
"main": "bs.js", |
||||||
|
"scripts": { |
||||||
|
"test": "echo \"Error: no test specified\" && exit 1", |
||||||
|
"bs": "node bs.js" |
||||||
|
}, |
||||||
|
"author": "", |
||||||
|
"license": "ISC", |
||||||
|
"devDependencies": { |
||||||
|
"browser-sync": "^3.0.2", |
||||||
|
"bs-rewrite-rules": "^2.1.2" |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,38 @@ |
|||||||
|
{% extends "block.html.twig" %} |
||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a branding block. |
||||||
|
* |
||||||
|
* Each branding element variable (logo, name, slogan) is only available if |
||||||
|
* enabled in the block configuration. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - site_logo: Logo for site as defined in Appearance or theme settings. |
||||||
|
* - site_name: Name for site as defined in Site information settings. |
||||||
|
* - site_slogan: Slogan for site as defined in Site information settings. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% block content %} |
||||||
|
<div class="site-branding"> |
||||||
|
{% if site_logo %} |
||||||
|
<div class="site-logo"> |
||||||
|
<a href="{{ path('<front>') }}" rel="home"> |
||||||
|
<img src="{{ site_logo }}" alt="{{ 'Home'|t }}" /> |
||||||
|
</a> |
||||||
|
</div><!-- site-logo --> |
||||||
|
{% endif %} |
||||||
|
{% if site_name or site_slogan %} |
||||||
|
<div class="site-name-slogan"> |
||||||
|
{% if site_name %} |
||||||
|
<div class="site-name"> |
||||||
|
<a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_name }}</a> |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% if site_slogan %} |
||||||
|
<div class="site-slogan">{{ site_slogan }}</div> |
||||||
|
{% endif %} |
||||||
|
</div><!-- site-name-slogan --> |
||||||
|
{% endif %} |
||||||
|
</div><!-- site-branding --> |
||||||
|
{% endblock %} |
@ -0,0 +1,48 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a menu block. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - plugin_id: The ID of the block implementation. |
||||||
|
* - label: The configured label of the block if visible. |
||||||
|
* - configuration: A list of the block's configuration values. |
||||||
|
* - label: The configured label for the block. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* - provider: The module or other provider that provided this block plugin. |
||||||
|
* - Block plugin specific settings will also be stored here. |
||||||
|
* - content: The content of this block. |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* - id: A valid HTML ID and guaranteed unique. |
||||||
|
* - title_attributes: HTML attributes for the title element. |
||||||
|
* - content_attributes: HTML attributes for the content element. |
||||||
|
* - title_prefix: Additional output populated by modules, intended to be |
||||||
|
* displayed in front of the main title tag that appears in the template. |
||||||
|
* - title_suffix: Additional output populated by modules, intended to be |
||||||
|
* displayed after the main title tag that appears in the template. |
||||||
|
* |
||||||
|
* Headings should be used on navigation menus that consistently appear on |
||||||
|
* multiple pages. When this menu block's label is configured to not be |
||||||
|
* displayed, it is automatically made invisible using the 'visually-hidden' CSS |
||||||
|
* class, which still keeps it visible for screen-readers and assistive |
||||||
|
* technology. Headings allow screen-reader and keyboard only users to navigate |
||||||
|
* to or skip the links. |
||||||
|
* See http://juicystudio.com/article/screen-readers-display-none.php and |
||||||
|
* http://www.w3.org/TR/WCAG-TECHS/H42.html for more information. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% set heading_id = attributes.id ~ '-menu'|clean_id %} |
||||||
|
<nav role="navigation" aria-labelledby="{{ heading_id }}"{{ attributes.addClass('block block-menu')|without('role', 'aria-labelledby') }}> |
||||||
|
{# Label. If not displayed, we still provide it for screen readers. #} |
||||||
|
{% if not configuration.label_display %} |
||||||
|
{% set title_attributes = title_attributes.addClass('visually-hidden') %} |
||||||
|
{% endif %} |
||||||
|
{{ title_prefix }} |
||||||
|
<h2{{ title_attributes.addClass('block-title').setAttribute('id', heading_id) }}>{{ configuration.label }}</h2> |
||||||
|
{{ title_suffix }} |
||||||
|
|
||||||
|
{# Menu. #} |
||||||
|
{% block content %} |
||||||
|
{{ content }} |
||||||
|
{% endblock %} |
||||||
|
</nav> |
@ -0,0 +1,39 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override to display a block. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - plugin_id: The ID of the block implementation. |
||||||
|
* - label: The configured label of the block if visible. |
||||||
|
* - configuration: A list of the block's configuration values. |
||||||
|
* - label: The configured label for the block. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* - provider: The module or other provider that provided this block plugin. |
||||||
|
* - Block plugin specific settings will also be stored here. |
||||||
|
* - content: The content of this block. |
||||||
|
* - attributes: array of HTML attributes populated by modules, intended to |
||||||
|
* be added to the main container tag of this template. |
||||||
|
* - id: A valid HTML ID and guaranteed unique. |
||||||
|
* - title_attributes: Same as attributes, except applied to the main title |
||||||
|
* tag that appears in the template. |
||||||
|
* - title_prefix: Additional output populated by modules, intended to be |
||||||
|
* displayed in front of the main title tag that appears in the template. |
||||||
|
* - title_suffix: Additional output populated by modules, intended to be |
||||||
|
* displayed after the main title tag that appears in the template. |
||||||
|
* |
||||||
|
* @see template_preprocess_block() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<div{{ attributes.addClass('block') }}> |
||||||
|
{{ title_prefix }} |
||||||
|
{% if label %} |
||||||
|
<h2{{ title_attributes.addClass('block-title') }}>{{ label }}</h2> |
||||||
|
{% endif %} |
||||||
|
{{ title_suffix }} |
||||||
|
<div class="block-content"> |
||||||
|
{% block content %} |
||||||
|
{{ content }} |
||||||
|
{% endblock %} |
||||||
|
</div><!--/.block-content --> |
||||||
|
</div><!--/.block --> |
@ -0,0 +1,18 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a filter caption. |
||||||
|
* |
||||||
|
* Returns HTML for a captioned image, audio, video or other tag. |
||||||
|
* |
||||||
|
* Available variables |
||||||
|
* - string node: The complete HTML tag whose contents are being captioned. |
||||||
|
* - string tag: The name of the HTML tag whose contents are being captioned. |
||||||
|
* - string caption: The caption text. |
||||||
|
* - string classes: The classes of the captioned HTML tag. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<figure role="group" class="caption {%- if classes %} {{ classes }}{%- endif %}"> |
||||||
|
{{ node }} |
||||||
|
<figcaption>{{ caption }}</figcaption> |
||||||
|
</figure> |
@ -0,0 +1,99 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme implementation for comments. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - author: Comment author. Can be a link or plain text. |
||||||
|
* - content: The content-related items for the comment display. Use |
||||||
|
* {{ content }} to print them all, or print a subset such as |
||||||
|
* {{ content.field_example }}. Use the following code to temporarily suppress |
||||||
|
* the printing of a given child element: |
||||||
|
* @code |
||||||
|
* {{ content|without('field_example') }} |
||||||
|
* @endcode |
||||||
|
* - created: Formatted date and time for when the comment was created. |
||||||
|
* Preprocess functions can reformat it by calling format_date() with the |
||||||
|
* desired parameters on the 'comment.created' variable. |
||||||
|
* - changed: Formatted date and time for when the comment was last changed. |
||||||
|
* Preprocess functions can reformat it by calling format_date() with the |
||||||
|
* desired parameters on the 'comment.changed' variable. |
||||||
|
* - permalink: Comment permalink. |
||||||
|
* - submitted: Submission information created from author and created |
||||||
|
* during template_preprocess_comment(). |
||||||
|
* - user_picture: The comment author's profile picture. |
||||||
|
* - status: Comment status. Possible values are: |
||||||
|
* unpublished, published, or preview. |
||||||
|
* - title: Comment title, linked to the comment. |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* The attributes.class may contain one or more of the following classes: |
||||||
|
* - comment: The current template type; e.g., 'theming hook'. |
||||||
|
* - by-anonymous: Comment by an unregistered user. |
||||||
|
* - by-{entity-type}-author: Comment by the author of the parent entity, |
||||||
|
* eg. by-node-author. |
||||||
|
* - preview: When previewing a new or edited comment. |
||||||
|
* The following applies only to viewers who are registered users: |
||||||
|
* - unpublished: An unpublished comment visible only to administrators. |
||||||
|
* - title_prefix: Additional output populated by modules, intended to be |
||||||
|
* displayed in front of the main title tag that appears in the template. |
||||||
|
* - title_suffix: Additional output populated by modules, intended to be |
||||||
|
* displayed after the main title tag that appears in the template. |
||||||
|
* - content_attributes: List of classes for the styling of the comment content. |
||||||
|
* - title_attributes: Same as attributes, except applied to the main title |
||||||
|
* tag that appears in the template. |
||||||
|
* - threaded: A flag indicating whether the comments are threaded or not. |
||||||
|
* |
||||||
|
* These variables are provided to give context about the parent comment (if |
||||||
|
* any): |
||||||
|
* - comment_parent: Full parent comment entity (if any). |
||||||
|
* - parent_author: Equivalent to author for the parent comment. |
||||||
|
* - parent_created: Equivalent to created for the parent comment. |
||||||
|
* - parent_changed: Equivalent to changed for the parent comment. |
||||||
|
* - parent_title: Equivalent to title for the parent comment. |
||||||
|
* - parent_permalink: Equivalent to permalink for the parent comment. |
||||||
|
* - parent: A text string of parent comment submission information created from |
||||||
|
* 'parent_author' and 'parent_created' during template_preprocess_comment(). |
||||||
|
* This information is presented to help screen readers follow lengthy |
||||||
|
* discussion threads. You can hide this from sighted users using the class |
||||||
|
* visually-hidden. |
||||||
|
* |
||||||
|
* These two variables are provided for context: |
||||||
|
* - comment: Full comment object. |
||||||
|
* - entity: Entity the comments are attached to. |
||||||
|
* |
||||||
|
* @see template_preprocess_comment() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
status != 'published' ? status, |
||||||
|
comment.owner.anonymous ? 'comment-by-anonymous', |
||||||
|
author_id and author_id == commented_entity.getOwnerId() ? 'comment-by-author', |
||||||
|
] |
||||||
|
%} |
||||||
|
<article{{ attributes.addClass('js-comment comment', classes) }}> |
||||||
|
{# |
||||||
|
Hide the "new" indicator by default, let a piece of JavaScript ask the |
||||||
|
server which comments are new for the user. Rendering the final "new" |
||||||
|
indicator here would break the render cache. |
||||||
|
#} |
||||||
|
<header class="comment-header"> |
||||||
|
<div class="comment-user-picture"> |
||||||
|
{{ user_picture }} |
||||||
|
</div><!-- /comment-user-picture --> |
||||||
|
<div class="comment-meta"> |
||||||
|
{% if title %} |
||||||
|
{{ title_prefix }} |
||||||
|
<h3{{ title_attributes.addClass('comment-title') }}>{{ title }}</h3> |
||||||
|
{{ title_suffix }} |
||||||
|
{% endif %} |
||||||
|
<p>{{ author }} {{ created }} <mark class="hidden" data-comment-timestamp="{{ new_indicator_timestamp }}"></mark></p> |
||||||
|
{% if parent %} |
||||||
|
<p class="visually-hidden">{{ parent }}</p> |
||||||
|
{% endif %} |
||||||
|
</div><!-- /comment-meta --> |
||||||
|
</header> |
||||||
|
<div{{ content_attributes.addClass('comment-body') }}> |
||||||
|
{{ content }} |
||||||
|
</div> <!-- /.comment-body --> |
||||||
|
</article> |
@ -0,0 +1,103 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme implementation to display a node. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - node: The node entity with limited access to object properties and methods. |
||||||
|
* Only method names starting with "get", "has", or "is" and a few common |
||||||
|
* methods such as "id", "label", and "bundle" are available. For example: |
||||||
|
* - node.getCreatedTime() will return the node creation timestamp. |
||||||
|
* - node.hasField('field_example') returns TRUE if the node bundle includes |
||||||
|
* field_example. (This does not indicate the presence of a value in this |
||||||
|
* field.) |
||||||
|
* - node.isPublished() will return whether the node is published or not. |
||||||
|
* Calling other methods, such as node.delete(), will result in an exception. |
||||||
|
* See \Drupal\node\Entity\Node for a full list of public properties and |
||||||
|
* methods for the node object. |
||||||
|
* - label: The title of the node. |
||||||
|
* - content: All node items. Use {{ content }} to print them all, |
||||||
|
* or print a subset such as {{ content.field_example }}. Use |
||||||
|
* {{ content|without('field_example') }} to temporarily suppress the printing |
||||||
|
* of a given child element. |
||||||
|
* - author_picture: The node author user entity, rendered using the "compact" |
||||||
|
* view mode. |
||||||
|
* - metadata: Metadata for this node. |
||||||
|
* - date: Themed creation date field. |
||||||
|
* - author_name: Themed author name field. |
||||||
|
* - url: Direct URL of the current node. |
||||||
|
* - display_submitted: Whether submission information should be displayed. |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* The attributes.class element may contain one or more of the following |
||||||
|
* classes: |
||||||
|
* - node: The current template type (also known as a "theming hook"). |
||||||
|
* - node--type-[type]: The current node type. For example, if the node is an |
||||||
|
* "Article" it would result in "node--type-article". Note that the machine |
||||||
|
* name will often be in a short form of the human readable label. |
||||||
|
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a |
||||||
|
* teaser would result in: "node--view-mode-teaser", and |
||||||
|
* full: "node--view-mode-full". |
||||||
|
* The following are controlled through the node publishing options. |
||||||
|
* - node--promoted: Appears on nodes promoted to the front page. |
||||||
|
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in |
||||||
|
* teaser listings. |
||||||
|
* - node--unpublished: Appears on unpublished nodes visible only to site |
||||||
|
* admins. |
||||||
|
* - title_attributes: Same as attributes, except applied to the main title |
||||||
|
* tag that appears in the template. |
||||||
|
* - content_attributes: Same as attributes, except applied to the main |
||||||
|
* content tag that appears in the template. |
||||||
|
* - author_attributes: Same as attributes, except applied to the author of |
||||||
|
* the node tag that appears in the template. |
||||||
|
* - title_prefix: Additional output populated by modules, intended to be |
||||||
|
* displayed in front of the main title tag that appears in the template. |
||||||
|
* - title_suffix: Additional output populated by modules, intended to be |
||||||
|
* displayed after the main title tag that appears in the template. |
||||||
|
* - view_mode: View mode; for example, "teaser" or "full". |
||||||
|
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. |
||||||
|
* - page: Flag for the full page state. Will be true if view_mode is 'full'. |
||||||
|
* - readmore: Flag for more state. Will be true if the teaser content of the |
||||||
|
* node cannot hold the main body content. |
||||||
|
* - logged_in: Flag for authenticated user status. Will be true when the |
||||||
|
* current user is a logged-in member. |
||||||
|
* - is_admin: Flag for admin user status. Will be true when the current user |
||||||
|
* is an administrator. |
||||||
|
* |
||||||
|
* @see template_preprocess_node() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set node_classes = [ |
||||||
|
'node', |
||||||
|
'node-type-' ~ node.bundle|clean_class, |
||||||
|
node.isPromoted() ? 'node-promoted', |
||||||
|
node.isSticky() ? 'node-sticky', |
||||||
|
not node.isPublished() ? 'node-unpublished', |
||||||
|
view_mode ? 'node-view-mode-' ~ view_mode|clean_class, |
||||||
|
] |
||||||
|
%} |
||||||
|
<article{{ attributes.addClass(node_classes) }}> |
||||||
|
{{ title_prefix }} |
||||||
|
{% if not page %} |
||||||
|
<h2{{ title_attributes.addClass('node-title') }}> |
||||||
|
<a href="{{ url }}" rel="bookmark">{{ label }}</a> |
||||||
|
</h2> |
||||||
|
{% endif %} |
||||||
|
{{ title_suffix }} |
||||||
|
|
||||||
|
{% if display_submitted %} |
||||||
|
<header class="node-header clear"> |
||||||
|
{% if node_author_pic %} |
||||||
|
<div class="author-picture">{{ author_picture }}</div> |
||||||
|
{% endif %} |
||||||
|
<div{{ author_attributes.addClass('node-submitted-details') }}> |
||||||
|
{% set createdDate = node.getCreatedTime|date('j F Y') %} |
||||||
|
{% trans %}<span>{{ author_name }}</span> <span>{{ createdDate }}</span>{% endtrans %} |
||||||
|
{{ metadata }} |
||||||
|
</div> |
||||||
|
</header> |
||||||
|
{% endif %} |
||||||
|
<div{{ content_attributes.addClass('node-content clear') }}> |
||||||
|
{{ content }} |
||||||
|
</div> |
||||||
|
</article> |
@ -0,0 +1,21 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for page titles. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - title_attributes: HTML attributes for the page title element. |
||||||
|
* - title_prefix: Additional output populated by modules, intended to be |
||||||
|
* displayed in front of the main title tag that appears in the template. |
||||||
|
* - title: The page title, for use in the actual content. |
||||||
|
* - title_suffix: Additional output populated by modules, intended to be |
||||||
|
* displayed after the main title tag that appears in the template. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<div class="page-title-wrap"> |
||||||
|
{{ title_prefix }} |
||||||
|
{% if title %} |
||||||
|
<h1{{ title_attributes.addClass('page-title') }}>{{ title }}</h1> |
||||||
|
{% endif %} |
||||||
|
{{ title_suffix }} |
||||||
|
</div> <!--/.page-title-wrap --> |
@ -0,0 +1,29 @@ |
|||||||
|
{% extends "item-list.html.twig" %} |
||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for an item list of search results. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - items: A list of items. Each item contains: |
||||||
|
* - attributes: HTML attributes to be applied to each list item. |
||||||
|
* - value: The content of the list element. |
||||||
|
* - title: The title of the list. |
||||||
|
* - list_type: The tag for list element ("ul" or "ol"). |
||||||
|
* - attributes: HTML attributes to be applied to the list. |
||||||
|
* - empty: A message to display when there are no items. Allowed value is a |
||||||
|
* string or render array. |
||||||
|
* - context: An list of contextual data associated with the list. For search |
||||||
|
* results, the following data is set: |
||||||
|
* - plugin: The search plugin ID, for example "node_search". |
||||||
|
* |
||||||
|
* @see template_preprocess_item_list() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'search-results', |
||||||
|
context.plugin ~ '-results', |
||||||
|
] |
||||||
|
%} |
||||||
|
{% set attributes = attributes.addClass(classes) %} |
@ -0,0 +1,44 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for comment fields. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* - label_hidden: Whether to show the field label or not. |
||||||
|
* - title_attributes: HTML attributes for the title. |
||||||
|
* - label: The label for the field. |
||||||
|
* - title_prefix: Additional output populated by modules, intended to be |
||||||
|
* displayed in front of the main title tag that appears in the template. |
||||||
|
* - title_suffix: Additional title output populated by modules, intended to |
||||||
|
* be displayed after the main title tag that appears in the template. |
||||||
|
* - comments: List of comments rendered through comment.html.twig. |
||||||
|
* - content_attributes: HTML attributes for the form title. |
||||||
|
* - comment_form: The 'Add new comment' form. |
||||||
|
* - comment_display_mode: Is the comments are threaded. |
||||||
|
* - comment_type: The comment type bundle ID for the comment field. |
||||||
|
* - entity_type: The entity type to which the field belongs. |
||||||
|
* - field_name: The name of the field. |
||||||
|
* - field_type: The type of the field. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* |
||||||
|
* @see template_preprocess_field() |
||||||
|
* @see comment_preprocess_field() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<section{{ attributes }} id="comments"> |
||||||
|
{% if comments and not label_hidden %} |
||||||
|
{{ title_prefix }} |
||||||
|
<h2{{ title_attributes.addClass('comments-title') }}>{{ label }}</h2> |
||||||
|
{{ title_suffix }} |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
{{ comments }} |
||||||
|
|
||||||
|
{% if comment_form %} |
||||||
|
<div class="comment-form-wrap"> |
||||||
|
<h2{{ content_attributes.addClass('add-comment-title') }}>{{ 'Add new comment'|t }}</h2> |
||||||
|
{{ comment_form }} |
||||||
|
</div> <!--/.comment-form --> |
||||||
|
{% endif %} |
||||||
|
</section> |
@ -0,0 +1,32 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for term fields. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* - label_hidden: Whether to show the field label or not. |
||||||
|
* - title_attributes: HTML attributes for the label. |
||||||
|
* - label: The label for the field. |
||||||
|
* - content_attributes: HTML attributes for the content. |
||||||
|
* - items: List of all the field items. Each item contains: |
||||||
|
* - attributes: List of HTML attributes for each item. |
||||||
|
* - content: The field item's content. |
||||||
|
* - entity_type: The entity type to which the field belongs. |
||||||
|
* - field_name: The name of the field. |
||||||
|
* - field_type: The type of the field. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* |
||||||
|
* @see template_preprocess_field() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<div class="node-taxonomy-container"> |
||||||
|
{% if not label_hidden %} |
||||||
|
<h3{{ title_attributes.addClass('term-title') }}>{{ label }}</h3> |
||||||
|
{% endif %} |
||||||
|
<ul class="taxonomy-terms"> |
||||||
|
{% for item in items %} |
||||||
|
<li{{ item.attributes.addClass('taxonomy-term') }}>{{ item.content }}</li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
|
</div> <!--/.node-taxonomy-container --> |
@ -0,0 +1,80 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a field. |
||||||
|
* |
||||||
|
* To override output, copy the "field.html.twig" from the templates directory |
||||||
|
* to your theme's directory and customize it, just like customizing other |
||||||
|
* Drupal templates such as page.html.twig or node.html.twig. |
||||||
|
* |
||||||
|
* Instead of overriding the theming for all fields, you can also just override |
||||||
|
* theming for a subset of fields using |
||||||
|
* @link themeable Theme hook suggestions. @endlink For example, |
||||||
|
* here are some theme hook suggestions that can be used for a field_foo field |
||||||
|
* on an article node type: |
||||||
|
* - field--node--field-foo--article.html.twig |
||||||
|
* - field--node--field-foo.html.twig |
||||||
|
* - field--node--article.html.twig |
||||||
|
* - field--field-foo.html.twig |
||||||
|
* - field--text-with-summary.html.twig |
||||||
|
* - field.html.twig |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the containing element. |
||||||
|
* - label_hidden: Whether to show the field label or not. |
||||||
|
* - title_attributes: HTML attributes for the title. |
||||||
|
* - label: The label for the field. |
||||||
|
* - multiple: TRUE if a field can contain multiple items. |
||||||
|
* - items: List of all the field items. Each item contains: |
||||||
|
* - attributes: List of HTML attributes for each item. |
||||||
|
* - content: The field item's content. |
||||||
|
* - entity_type: The entity type to which the field belongs. |
||||||
|
* - field_name: The name of the field. |
||||||
|
* - field_type: The type of the field. |
||||||
|
* - label_display: The display settings for the label. |
||||||
|
* |
||||||
|
* |
||||||
|
* @see template_preprocess_field() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'field', |
||||||
|
'field--name-' ~ field_name|clean_class, |
||||||
|
'field--type-' ~ field_type|clean_class, |
||||||
|
'field--label-' ~ label_display, |
||||||
|
] |
||||||
|
%} |
||||||
|
{% |
||||||
|
set title_classes = [ |
||||||
|
'field__label', |
||||||
|
label_display == 'visually_hidden' ? 'visually-hidden', |
||||||
|
] |
||||||
|
%} |
||||||
|
|
||||||
|
{% if label_hidden %} |
||||||
|
{% if multiple %} |
||||||
|
<div{{ attributes }}> |
||||||
|
{% for item in items %} |
||||||
|
<div{{ item.attributes.addClass('field-item') }}>{{ item.content }}</div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
{% else %} |
||||||
|
{% for item in items %} |
||||||
|
<div{{ attributes.addClass(classes, 'field-item') }}>{{ item.content }}</div> |
||||||
|
{% endfor %} |
||||||
|
{% endif %} |
||||||
|
{% else %} |
||||||
|
<div{{ attributes.addClass(classes) }}> |
||||||
|
<div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div> |
||||||
|
{% if multiple %} |
||||||
|
<div class="field__items"> |
||||||
|
{% endif %} |
||||||
|
{% for item in items %} |
||||||
|
<div{{ item.attributes.addClass('field-item') }}>{{ item.content }}</div> |
||||||
|
{% endfor %} |
||||||
|
{% if multiple %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
{% endif %} |
@ -0,0 +1,13 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override of an image. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the img tag. |
||||||
|
* - style_name: (optional) The name of the image style applied. |
||||||
|
* |
||||||
|
* @see template_preprocess_image() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<img{{ attributes.addClass('image-field') }} /> |
@ -0,0 +1,43 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a details element. |
||||||
|
* |
||||||
|
* Available variables |
||||||
|
* - attributes: A list of HTML attributes for the details element. |
||||||
|
* - errors: (optional) Any errors for this details element, may not be set. |
||||||
|
* - title: (optional) The title of the element, may not be set. |
||||||
|
* - description: (optional) The description of the element, may not be set. |
||||||
|
* - children: (optional) The children of the element, may not be set. |
||||||
|
* - value: (optional) The value of the element, may not be set. |
||||||
|
* |
||||||
|
* @see template_preprocess_details() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<details{{ attributes }}> |
||||||
|
{%- if title -%} |
||||||
|
{% |
||||||
|
set summary_classes = [ |
||||||
|
required ? 'js-form-required', |
||||||
|
required ? 'form-required', |
||||||
|
] |
||||||
|
%} |
||||||
|
<summary{{ summary_attributes.addClass(summary_classes) }}>{{ title }}</summary> |
||||||
|
{%- endif -%} |
||||||
|
<div class="form-details-wrapper"> |
||||||
|
{% if errors %} |
||||||
|
<div class="form-item--error-message"> |
||||||
|
<strong>{{ errors }}</strong> |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{%- if description -%} |
||||||
|
<div class="details-description">{{ description }}</div> |
||||||
|
{%- endif -%} |
||||||
|
{%- if children -%} |
||||||
|
{{ children }} |
||||||
|
{%- endif -%} |
||||||
|
{%- if value -%} |
||||||
|
{{ value }} |
||||||
|
{%- endif -%} |
||||||
|
</div> |
||||||
|
</details> |
@ -0,0 +1,59 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for the basic structure of a single Drupal page. |
||||||
|
* |
||||||
|
* Variables: |
||||||
|
* - logged_in: A flag indicating if user is logged in. |
||||||
|
* - root_path: The root path of the current page (e.g., node, admin, user). |
||||||
|
* - node_type: The content type for the current node, if the page is a node. |
||||||
|
* - head_title: List of text elements that make up the head_title variable. |
||||||
|
* May contain one or more of the following: |
||||||
|
* - title: The title of the page. |
||||||
|
* - name: The name of the site. |
||||||
|
* - slogan: The slogan of the site. |
||||||
|
* - page_top: Initial rendered markup. This should be printed before 'page'. |
||||||
|
* - page: The rendered page markup. |
||||||
|
* - page_bottom: Closing rendered markup. This variable should be printed after |
||||||
|
* 'page'. |
||||||
|
* - db_offline: A flag indicating if the database is offline. |
||||||
|
* - placeholder_token: The token for generating head, css, js and js-bottom |
||||||
|
* placeholders. |
||||||
|
* |
||||||
|
* @see template_preprocess_html() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{# Add class to body #} |
||||||
|
{% |
||||||
|
set body_classes = [ |
||||||
|
not root_path ? 'homepage' : 'site-page', |
||||||
|
node_type ? 'page-type-' ~ node_type|clean_class, |
||||||
|
logged_in ? 'user-logged-in' : 'user-guest', |
||||||
|
not page.sidebar_first and not page.sidebar_second ? 'no-sidebar', |
||||||
|
page.sidebar_first and not page.sidebar_second ? 'one-sidebar sidebar-left', |
||||||
|
page.sidebar_second and not page.sidebar_first ? 'one-sidebar sidebar-right', |
||||||
|
page.sidebar_first and page.sidebar_second ? 'two-sidebar' |
||||||
|
] |
||||||
|
%} |
||||||
|
<!DOCTYPE html> |
||||||
|
<html{{ html_attributes }}> |
||||||
|
<head> |
||||||
|
<head-placeholder token="{{ placeholder_token }}"> |
||||||
|
<title>{{ head_title|safe_join(' | ') }}</title> |
||||||
|
<css-placeholder token="{{ placeholder_token }}"> |
||||||
|
<js-placeholder token="{{ placeholder_token }}"> |
||||||
|
</head> |
||||||
|
<body{{ attributes.addClass(body_classes) }}> |
||||||
|
{# |
||||||
|
Keyboard navigation/accessibility link to main content section in |
||||||
|
page.html.twig. |
||||||
|
#} |
||||||
|
<a href="#main-content" class="visually-hidden focusable"> |
||||||
|
{{ 'Skip to main content'|t }} |
||||||
|
</a> |
||||||
|
{{ page_top }} |
||||||
|
{{ page }} |
||||||
|
{{ page_bottom }} |
||||||
|
<js-bottom-placeholder token="{{ placeholder_token }}"> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,46 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme implementation to display a single Drupal page while offline. |
||||||
|
* |
||||||
|
* All available variables are mirrored in page.html.twig. |
||||||
|
* |
||||||
|
* @see template_preprocess_maintenance_page() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<div id="maintenance-page"> |
||||||
|
<header class="maintenance-header" role="banner"> |
||||||
|
<div class="container"> |
||||||
|
<div class="site-branding"> |
||||||
|
{% if site_name or site_slogan %} |
||||||
|
<div class="site-name-slogan"> |
||||||
|
{% if site_name %} |
||||||
|
<div class="site-name"> |
||||||
|
<a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home"><h4>{{ site_name }}</h4></a> |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% if site_slogan %} |
||||||
|
<div class="site-slogan">{{ site_slogan }}</div> |
||||||
|
{% endif %} |
||||||
|
</div> <!--/.site-name-slogan --> |
||||||
|
{% endif %} |
||||||
|
</div> <!-- /.site-branding --> |
||||||
|
</div> <!--/.container --> |
||||||
|
</header> |
||||||
|
<main id="maintenance"> |
||||||
|
<div class="container maintenance"> |
||||||
|
<a id="main-content" tabindex="-1"></a> |
||||||
|
{% if title %} |
||||||
|
<h1 class="maintenance-title">{{ title }}</h1> |
||||||
|
{% endif %} |
||||||
|
<div class="maintenance-icon"> |
||||||
|
{{ source('@vre2024/../images/maintenance.svg') }} |
||||||
|
</div> |
||||||
|
<div class="maintenance-message"> |
||||||
|
{{ page.content }} |
||||||
|
</div> |
||||||
|
</div> <!-- /.container --> |
||||||
|
</main> <!-- /#maintenance --> |
||||||
|
</div><!-- /#maintenance-page --> |
||||||
|
<!-- Zuvi has custom styling for the maintenance page. --> |
||||||
|
{{ attach_library('vre2024/maintenance') }} |
@ -0,0 +1,35 @@ |
|||||||
|
{% if page.header_top_left or page.header_top_right %} |
||||||
|
{% include '@vre2024/template-parts/header/header-top.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
{% include '@vre2024/template-parts/header/header.html.twig' %} |
||||||
|
{% if not is_front and page.page_header %} |
||||||
|
{% include '@vre2024/template-parts/header/header-page.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
{% if page.highlighted %} |
||||||
|
{% include '@vre2024/template-parts/highlighted.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
<div class="main-wrapper"> |
||||||
|
<div class="container"> |
||||||
|
<a id="main-content" tabindex="-1"></a> |
||||||
|
<div class="main-container"> |
||||||
|
<main id="main" class="main-content"> |
||||||
|
{% if page.content_top %} |
||||||
|
{% include '@vre2024/template-parts/content-parts/content_top.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
<div class="node-content"> |
||||||
|
{{ page.content }} |
||||||
|
</div> |
||||||
|
{% if page.content_bottom %} |
||||||
|
{% include '@vre2024/template-parts/content-parts/content_bottom.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
</main> |
||||||
|
{% if page.sidebar_first %} |
||||||
|
{% include '@vre2024/template-parts/sidebar/sidebar_left.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
{% if page.sidebar_second %} |
||||||
|
{% include '@vre2024/template-parts/sidebar/sidebar_right.html.twig' %} |
||||||
|
{% endif %} |
||||||
|
</div><!--/main-container --> |
||||||
|
</div><!--/container --> |
||||||
|
</div><!--/main-wrapper --> |
||||||
|
{% include '@vre2024/template-parts/footer/footer.html.twig' %} |
@ -0,0 +1,25 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override to display a region. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - content: The content for this region, typically blocks. |
||||||
|
* - attributes: HTML attributes for the region div. |
||||||
|
* - region: The name of the region variable as defined in the theme's |
||||||
|
* .info.yml file. |
||||||
|
* |
||||||
|
* @see template_preprocess_region() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'block-region', |
||||||
|
'region-' ~ region|clean_class, |
||||||
|
] |
||||||
|
%} |
||||||
|
{% if content %} |
||||||
|
<div{{ attributes.addClass(classes) }}> |
||||||
|
{{ content }} |
||||||
|
</div> |
||||||
|
{% endif %} |
@ -0,0 +1,53 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for status messages. |
||||||
|
* |
||||||
|
* Displays status, error, and warning messages, grouped by type. |
||||||
|
* |
||||||
|
* An invisible heading identifies the messages for assistive technology. |
||||||
|
* Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html |
||||||
|
* for info. |
||||||
|
* |
||||||
|
* Add an ARIA label to the contentinfo area so that assistive technology |
||||||
|
* user agents will better describe this landmark. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - message_list: List of messages to be displayed, grouped by type. |
||||||
|
* - status_headings: List of all status types. |
||||||
|
* - display: (optional) May have a value of 'status' or 'error' when only |
||||||
|
* displaying messages of that specific type. |
||||||
|
* - attributes: HTML attributes for the element, including: |
||||||
|
* - class: HTML classes. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<div data-drupal-messages class="messages-list"> |
||||||
|
{% for type, messages in message_list %} |
||||||
|
{% |
||||||
|
set classes = [ |
||||||
|
'message', |
||||||
|
'message-' ~ type, |
||||||
|
] |
||||||
|
%} |
||||||
|
<div role="contentinfo" aria-label="{{ status_headings[type] }}"{{ attributes.addClass(classes)|without('role', 'aria-label') }}> |
||||||
|
{% if type == 'error' %} |
||||||
|
<div role="alert" class="status-error"> |
||||||
|
{% endif %} |
||||||
|
{% if status_headings[type] %} |
||||||
|
<h2 class="visually-hidden">{{ status_headings[type] }}</h2> |
||||||
|
{% endif %} |
||||||
|
{% if messages|length > 1 %} |
||||||
|
<ul class="status-message-list"> |
||||||
|
{% for message in messages %} |
||||||
|
<li>{{ message }}</li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
|
{% else %} |
||||||
|
{{ messages|first }} |
||||||
|
{% endif %} |
||||||
|
{% if type == 'error' %} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
</div>{# messages-list #} |
@ -0,0 +1,56 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override to navigate books. |
||||||
|
* |
||||||
|
* Presented under nodes that are a part of book outlines. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - tree: The immediate children of the current node rendered as an unordered |
||||||
|
* list. |
||||||
|
* - current_depth: Depth of the current node within the book outline. Provided |
||||||
|
* for context. |
||||||
|
* - prev_url: URL to the previous node. |
||||||
|
* - prev_title: Title of the previous node. |
||||||
|
* - parent_url: URL to the parent node. |
||||||
|
* - parent_title: Title of the parent node. Not printed by default. Provided |
||||||
|
* as an option. |
||||||
|
* - next_url: URL to the next node. |
||||||
|
* - next_title: Title of the next node. |
||||||
|
* - has_links: Flags TRUE whenever the previous, parent or next data has a |
||||||
|
* value. |
||||||
|
* - book_id: The book ID of the current outline being viewed. Same as the node |
||||||
|
* ID containing the entire outline. Provided for context. |
||||||
|
* - book_url: The book/node URL of the current outline being viewed. Provided |
||||||
|
* as an option. Not used by default. |
||||||
|
* - book_title: The book/node title of the current outline being viewed. |
||||||
|
* |
||||||
|
* @see template_preprocess_book_navigation() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{{ attach_library('vre2024/book') }} |
||||||
|
{% if tree or has_links %} |
||||||
|
<nav class="book-navigation" role="navigation" aria-labelledby="book-label-{{ book_id }}"> |
||||||
|
{{ tree }} |
||||||
|
{% if has_links %} |
||||||
|
<h2 class="visually-hidden">{{ 'Book traversal links for'|t }} {{ book_title }}</h2> |
||||||
|
<ul class="book-pager"> |
||||||
|
{% if prev_url %} |
||||||
|
<li class="book-pager-item book-pager-item-previous"> |
||||||
|
<a href="{{ prev_url }}" rel="prev" title="{{ 'Go to previous page'|t }}"><span class="white-color">←</span> {{ prev_title }}</a> |
||||||
|
</li> |
||||||
|
{% endif %} |
||||||
|
{% if parent_url %} |
||||||
|
<li class="book-pager-item book-pager-item-center"> |
||||||
|
<a href="{{ parent_url }}" title="{{ 'Go to parent page'|t }}"><span class="white-color">⤊</span> {{ 'Up'|t }}</a> |
||||||
|
</li> |
||||||
|
{% endif %} |
||||||
|
{% if next_url %} |
||||||
|
<li class="book-pager-item book-pager-item-next"> |
||||||
|
<a href="{{ next_url }}" rel="next" title="{{ 'Go to next page'|t }}">{{ next_title }} <span class="white-color">→</span></a> |
||||||
|
</li> |
||||||
|
{% endif %} |
||||||
|
</ul> |
||||||
|
{% endif %} |
||||||
|
</nav> |
||||||
|
{% endif %} |
@ -0,0 +1,47 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override to display a book tree. |
||||||
|
* |
||||||
|
* Returns HTML for a wrapper for a book sub-tree. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - items: A nested list of book items. Each book item contains: |
||||||
|
* - attributes: HTML attributes for the book item. |
||||||
|
* - below: The book item child items. |
||||||
|
* - title: The book link title. |
||||||
|
* - url: The book link URL, instance of \Drupal\Core\Url. |
||||||
|
* - is_expanded: TRUE if the link has visible children within the current |
||||||
|
* book tree. |
||||||
|
* - is_collapsed: TRUE if the link has children within the current book tree |
||||||
|
* that are not currently visible. |
||||||
|
* - in_active_trail: TRUE if the link is in the active trail. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% import _self as book_tree %} |
||||||
|
|
||||||
|
{# |
||||||
|
We call a macro which calls itself to render the full tree. |
||||||
|
@see http://twig.sensiolabs.org/doc/tags/macro.html |
||||||
|
#} |
||||||
|
{{ book_tree.book_links(items, attributes, 0) }} |
||||||
|
|
||||||
|
{% macro book_links(items, attributes, menu_level) %} |
||||||
|
{% import _self as book_tree %} |
||||||
|
{% if items %} |
||||||
|
{% if menu_level == 0 %} |
||||||
|
<ul{{ attributes.addClass('menu') }}> |
||||||
|
{% else %} |
||||||
|
<ul class="menu"> |
||||||
|
{% endif %} |
||||||
|
{% for item in items %} |
||||||
|
<li{{ item.attributes.addClass('menu-book-item') }}> |
||||||
|
{{ link(item.title, item.url) }} |
||||||
|
{% if item.below %} |
||||||
|
{{ book_tree.book_links(item.below, attributes, menu_level + 1) }} |
||||||
|
{% endif %} |
||||||
|
</li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
|
{% endif %} |
||||||
|
{% endmacro %} |
@ -0,0 +1,24 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a breadcrumb trail. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - breadcrumb: Breadcrumb trail items. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% if breadcrumb %} |
||||||
|
<nav class="breadcrumb" role="navigation" aria-labelledby="system-breadcrumb"> |
||||||
|
<ol class="breadcrumb-items"> |
||||||
|
{% for item in breadcrumb %} |
||||||
|
<li class="breadcrumb-item"> |
||||||
|
{% if item.url %} |
||||||
|
<a href="{{ item.url }}">{{ item.text }}</a><span><i class="icon-angle-right"></i></span> |
||||||
|
{% else %} |
||||||
|
{{ item.text }} |
||||||
|
{% endif %} |
||||||
|
</li> |
||||||
|
{% endfor %} |
||||||
|
</ol> |
||||||
|
</nav> |
||||||
|
{% endif %} |
@ -0,0 +1,57 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a set of links. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: Attributes for the UL containing the list of links. |
||||||
|
* - links: Links to be output. |
||||||
|
* Each link will have the following elements: |
||||||
|
* - title: The link text. |
||||||
|
* - href: The link URL. If omitted, the 'title' is shown as a plain text |
||||||
|
* item in the links list. If 'href' is supplied, the entire link is passed |
||||||
|
* to l() as its $options parameter. |
||||||
|
* - attributes: (optional) HTML attributes for the anchor, or for the <span> |
||||||
|
* tag if no 'href' is supplied. |
||||||
|
* - heading: (optional) A heading to precede the links. |
||||||
|
* - text: The heading text. |
||||||
|
* - level: The heading level (e.g. 'h2', 'h3'). |
||||||
|
* - attributes: (optional) A keyed list of attributes for the heading. |
||||||
|
* If the heading is a string, it will be used as the text of the heading and |
||||||
|
* the level will default to 'h2'. |
||||||
|
* |
||||||
|
* Headings should be used on navigation menus and any list of links that |
||||||
|
* consistently appears on multiple pages. To make the heading invisible use |
||||||
|
* the 'visually-hidden' CSS class. Do not use 'display:none', which |
||||||
|
* removes it from screen readers and assistive technology. Headings allow |
||||||
|
* screen reader and keyboard only users to navigate to or skip the links. |
||||||
|
* See http://juicystudio.com/article/screen-readers-display-none.php and |
||||||
|
* http://www.w3.org/TR/WCAG-TECHS/H42.html for more information. |
||||||
|
* |
||||||
|
* @see template_preprocess_links() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% if links -%} |
||||||
|
<div class="node-links-container"> |
||||||
|
{%- if heading -%} |
||||||
|
{%- if heading.level -%} |
||||||
|
<{{ heading.level }}{{ heading.attributes }}>{{ heading.text }}</{{ heading.level }}> |
||||||
|
{%- else -%} |
||||||
|
<h2{{ heading.attributes }}>{{ heading.text }}</h2> |
||||||
|
{%- endif -%} |
||||||
|
{%- endif -%} |
||||||
|
<ul{{ attributes }}> |
||||||
|
{%- for item in links -%} |
||||||
|
<li{{ item.attributes }}> |
||||||
|
{%- if item.link -%} |
||||||
|
{{ item.link }} |
||||||
|
{%- elseif item.text_attributes -%} |
||||||
|
<span{{ item.text_attributes }}>{{ item.text }}</span> |
||||||
|
{%- else -%} |
||||||
|
{{ item.text }} |
||||||
|
{%- endif -%} |
||||||
|
</li> |
||||||
|
{%- endfor -%} |
||||||
|
</ul> |
||||||
|
</div> <!--/.node-links-container --> |
||||||
|
{%- endif %} |
@ -0,0 +1,17 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override for a local task link. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - attributes: HTML attributes for the wrapper element. |
||||||
|
* - is_active: Whether the task item is an active tab. |
||||||
|
* - link: A rendered link element. |
||||||
|
* |
||||||
|
* Note: This template renders the content for each task item in |
||||||
|
* menu-local-tasks.html.twig. |
||||||
|
* |
||||||
|
* @see template_preprocess_menu_local_task() |
||||||
|
*/ |
||||||
|
#} |
||||||
|
<li{{ attributes.addClass(is_active ? 'active-page-tab') }}>{{ link }}</li> |
@ -0,0 +1,21 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override to display primary and secondary local tasks. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - primary: HTML list items representing primary tasks. |
||||||
|
* - secondary: HTML list items representing primary tasks. |
||||||
|
* |
||||||
|
* Each item in these variables (primary and secondary) can be individually |
||||||
|
* themed in menu-local-task.html.twig. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% if primary %} |
||||||
|
<h2 class="visually-hidden">{{ 'Primary tabs'|t }}</h2> |
||||||
|
<ul class="page-tabs primary-tab">{{ primary }}</ul> |
||||||
|
{% endif %} |
||||||
|
{% if secondary %} |
||||||
|
<h2 class="visually-hidden">{{ 'Secondary tabs'|t }}</h2> |
||||||
|
<ul class="page-tabs secondary-tab">{{ secondary }}</ul> |
||||||
|
{% endif %} |
@ -0,0 +1,57 @@ |
|||||||
|
{# |
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Theme override to display main menu. |
||||||
|
* |
||||||
|
* Available variables: |
||||||
|
* - menu_name: The machine name of the menu. |
||||||
|
* - items: A nested list of menu items. Each menu item contains: |
||||||
|
* - attributes: HTML attributes for the menu item. |
||||||
|
* - below: The menu item child items. |
||||||
|
* - title: The menu link title. |
||||||
|
* - url: The menu link url, instance of \Drupal\Core\Url |
||||||
|
* - localized_options: Menu link localized options. |
||||||
|
* - is_expanded: TRUE if the link has visible children within the current |
||||||
|
* menu tree. |
||||||
|
* - is_collapsed: TRUE if the link has children within the current menu tree |
||||||
|
* that are not currently visible. |
||||||
|
* - in_active_trail: TRUE if the link is in the active trail. |
||||||
|
*/ |
||||||
|
#} |
||||||
|
{% import _self as menus %} |
||||||
|
|
||||||
|
{# |
||||||
|
We call a macro which calls itself to render the full tree. |
||||||
|
@see http://twig.sensiolabs.org/doc/tags/macro.html |
||||||
|
#} |
||||||
|
{{ menus.menu_links(items, attributes, 0) }} |
||||||
|
|
||||||
|
{% macro menu_links(items, attributes, menu_level) %} |
||||||
|
{% import _self as menus %} |
||||||
|
{% if items %} |
||||||
|
{% if menu_level == 0 %} |
||||||
|
<ul{{ attributes.addClass('menu') }}> |
||||||
|
{% else %} |
||||||
|
<ul class="submenu"> |
||||||
|
{% endif %} |
||||||
|
{% for item in items %} |
||||||
|
{% |
||||||
|
set item_classes = [ |
||||||
|
'menu-item', |
||||||
|
'menu-item-level-' ~ (menu_level + 1), |
||||||
|
item.is_expanded ? 'expanded', |
||||||
|
item.is_collapsed ? 'collapsed', |
||||||
|
item.below ? 'menu-item-has-children', |
||||||
|
item.in_active_trail ? 'active', |
||||||
|
] |
||||||
|
%} |
||||||
|
<li{{ item.attributes.addClass(item_classes) }}> |
||||||
|
{{ link(item.title, item.url) }} |
||||||
|
{% if item.below %} |
||||||
|
{{ menus.menu_links(item.below, attributes, menu_level + 1) }} |
||||||
|
{% endif %} |
||||||
|
</li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
|
{% endif %} |
||||||
|
{% endmacro %} |
@ -0,0 +1 @@ |
|||||||
|
<div class="scrolltop"><i class="icon-arrow-up"></i></div> |
@ -0,0 +1,3 @@ |
|||||||
|
<div class="content-bottom"> |
||||||
|
{{ page.content_bottom }} |
||||||
|
</div><!--/.content bottom --> |
@ -0,0 +1,3 @@ |
|||||||
|
<div class="homepage-content homepage-content-bottom"> |
||||||
|
{{ page.content_home_bottom }} |
||||||
|
</div><!--/.homepage-content --> |
@ -0,0 +1,3 @@ |
|||||||
|
<div class="homepage-content homepage-content-top"> |
||||||
|
{{ page.content_home_top }} |
||||||
|
</div><!--/.homepage-content --> |
@ -0,0 +1,3 @@ |
|||||||
|
<div class="content-top"> |
||||||
|
{{ page.content_top }} |
||||||
|
</div><!--/.content top --> |
@ -0,0 +1,26 @@ |
|||||||
|
<footer class="footer-blocks footer"> |
||||||
|
<div class="container"> |
||||||
|
<div class="footer-blocks-container"> |
||||||
|
{% if page.footer_one %} |
||||||
|
<div class="footer-block footer-one"> |
||||||
|
{{ page.footer_one }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% if page.footer_two %} |
||||||
|
<div class="footer-block footer-two"> |
||||||
|
{{ page.footer_two }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% if page.footer_three %} |
||||||
|
<div class="footer-block footer-three"> |
||||||
|
{{ page.footer_three }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% if page.footer_four %} |
||||||
|
<div class="footer-block footer-four"> |
||||||
|
{{ page.footer_four }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div><!-- /footer-top-container --> |
||||||
|
</div><!-- /container --> |
||||||
|
</footer><!-- /footer-top --> |
@ -0,0 +1,16 @@ |
|||||||
|
<footer class="footer-bottom-blocks footer"> |
||||||
|
<div class="container"> |
||||||
|
<div class="footer-bottom-blocks-container"> |
||||||
|
{% if page.footer_bottom_left %} |
||||||
|
<div class="footer-bottom-block footer-bottom-block-left"> |
||||||
|
{{ page.footer_bottom_left }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
{% if page.footer_bottom_right %} |
||||||
|
<div class="footer-bottom-block footer-bottom-block-right"> |
||||||
|
{{ page.footer_bottom_right }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
</div><!-- /footer-bottom-blocks-container --> |
||||||
|
</div><!-- /container --> |
||||||
|
</footer><!-- /footer-bottom-blocks --> |
@ -0,0 +1,5 @@ |
|||||||
|
{% if page.footer_bottom_last %} |
||||||
|
<div class="footer-bottom-last"> |
||||||
|
{{ page.footer_bottom_last }} |
||||||
|
</div><!-- /footer-bottom-last --> |
||||||
|
{% endif %} |
@ -0,0 +1,14 @@ |
|||||||
|
<footer class="footer-bottom footer"> |
||||||
|
<div class="container"> |
||||||
|
<div class="footer-bottom-container"> |
||||||
|
<div class="website-copyright"> |
||||||
|
© {{ "now"|date("Y") }} {{ site_name }}, All rights reserved. |
||||||
|
</div> |
||||||
|
{% if page.footer_bottom_last %} |
||||||
|
<div class="footer-bottom-last"> |
||||||
|
{{ page.footer_bottom_last }} |
||||||
|
</div><!-- /footer-bottom-last --> |
||||||
|
{% endif %} |
||||||
|
</div><!-- /footer-bottom-container --> |
||||||
|
</div><!-- /container --> |
||||||
|
</footer><!-- /footer-bottom --> |
@ -0,0 +1,3 @@ |
|||||||
|
<div class="website-copyright"> |
||||||
|
© {{ "now"|date("Y") }} {{ site_name }}, All rights reserved. |
||||||
|
</div> |
@ -0,0 +1,7 @@ |
|||||||
|
<footer class="footer-top footer"> |
||||||
|
<div class="container"> |
||||||
|
<div class="footer-top-container"> |
||||||
|
{{ page.footer_top }} |
||||||
|
</div><!-- /footer-top-container --> |
||||||
|
</div><!-- /container --> |
||||||
|
</footer><!-- /footer-top --> |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue