This commit is contained in:
2026-07-02 15:54:39 -06:00
commit 9883323161
17470 changed files with 4470592 additions and 0 deletions
@@ -0,0 +1 @@
/* component styles go here */
@@ -0,0 +1 @@
// component JS goes here
@@ -0,0 +1,65 @@
<?php
/**
* The template for displaying the footer.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
</div>
</div>
<?php
/**
* generate_before_footer hook.
*
* @since 0.1
*/
do_action( 'generate_before_footer' );
?>
<div <?php generate_do_attr( 'footer' ); ?>>
<?php
/**
* generate_before_footer_content hook.
*
* @since 0.1
*/
do_action( 'generate_before_footer_content' );
/**
* generate_footer hook.
*
* @since 1.3.42
*
* @hooked generate_construct_footer_widgets - 5
* @hooked generate_construct_footer - 10
*/
do_action( 'generate_footer' );
/**
* generate_after_footer_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_footer_content' );
?>
</div>
<?php
/**
* generate_after_footer hook.
*
* @since 2.1
*/
do_action( 'generate_after_footer' );
wp_footer();
?>
</body>
</html>
@@ -0,0 +1,422 @@
<?php
/*
This file is part of a child theme called Hello GeneratePress.
Functions in this file will be loaded before the parent theme's functions.
For more information, please read
https://developer.wordpress.org/themes/advanced-topics/child-themes/
*/
// Loads the parent stylesheet — leave this in place unless you know what you're doing.
function your_theme_enqueue_styles() {
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style,
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get( 'Version' )
);
}
add_action( 'wp_enqueue_scripts', 'your_theme_enqueue_styles' );
// force meta boxes panel in gutenberg editor to be full natual height
add_action('admin_head', function() {
echo '<style>
.edit-post-meta-boxes-main,
.edit-post-layout__metaboxes{
overflow: visible !important;
}
</style>';
});
// 4. Remove the Comments link from the Admin Sidebar menu
add_action('admin_menu', 'disable_comment_admin_menu');
function disable_comment_admin_menu() {
remove_menu_page('edit-comments.php');
}
// Change gravity form error message from h2 to span
add_filter( 'gform_validation_message', 'change_message', 10, 2 );
function change_message( $message, $form ) {
return "<span>There was a problem with your submission. Please review the fields below.</span>";
}
// Change gravity form required legend text
add_filter( 'gform_required_legend', function( $legend, $form ) {
return 'An asterisk (*) indicates a required field.';
}, 10, 2 );
// force AJAX on all GForms
add_filter( 'gform_form_args', 'setup_form_args' );
function setup_form_args( $form_args ) {
$form_args['ajax'] = true;
return $form_args;
}
/**
* Gravity Forms Date Field Validation
*
* ACCESSIBILITY FEATURES:
* - Server-side validation with descriptive error messages.
* - Client-side real-time feedback with aria-live announcements.
* - Error messages clearly identify which field has the problem.
* - End date min attribute updates dynamically when start date changes.
*/
// ─────────────────────────────────────────────────────────────
// CONFIGURATION
// ─────────────────────────────────────────────────────────────
define( 'GF_DATE_FORM_ID', 5 ); // Form ID
define( 'GF_START_DATE_FIELD_ID', 8 ); // Start Date field ID
define( 'GF_END_DATE_FIELD_ID', 9 ); // End Date field ID
// ─────────────────────────────────────────────────────────────
/**
* Parse a yyyy-mm-dd or yyyy/mm/dd string into a DateTime object.
* Returns false if the string is empty or does not match either format.
*
* @param string $raw
* @return DateTime|false
*/
function gf_parse_ymd( $raw ) {
if ( empty( $raw ) ) {
return false;
}
// Normalise: replace slash separator with dash so one format string handles both.
$normalised = str_replace( '/', '-', trim( $raw ) );
// Reject anything that is not exactly yyyy-mm-dd after normalisation.
if ( ! preg_match( '/^\d{4}-\d{2}-\d{2}$/', $normalised ) ) {
return false;
}
$date = DateTime::createFromFormat( 'Y-m-d', $normalised );
// createFromFormat can return a date even when the values overflow
// (e.g. month 13). Verify the parsed values match the input.
if ( ! $date ) {
return false;
}
$date->setTime( 0, 0, 0 );
// Guard against overflow dates (e.g. 2026-13-01 parsing as 2027-01-01).
if ( $date->format( 'Y-m-d' ) !== $normalised ) {
return false;
}
return $date;
}
/**
* SERVER-SIDE VALIDATION
* Runs on form submission. Catches bad dates even if JS is bypassed.
*/
add_filter( 'gform_validation', 'gf_validate_date_range' );
function gf_validate_date_range( $validation_result ) {
$form = $validation_result['form'];
if ( (int) $form['id'] !== GF_DATE_FORM_ID ) {
return $validation_result;
}
$start_raw = isset( $_POST[ 'input_' . GF_START_DATE_FIELD_ID ] )
? sanitize_text_field( $_POST[ 'input_' . GF_START_DATE_FIELD_ID ] )
: '';
$end_raw = isset( $_POST[ 'input_' . GF_END_DATE_FIELD_ID ] )
? sanitize_text_field( $_POST[ 'input_' . GF_END_DATE_FIELD_ID ] )
: '';
$start_date = gf_parse_ymd( $start_raw );
$end_date = gf_parse_ymd( $end_raw );
$today = new DateTime( 'today midnight' );
foreach ( $form['fields'] as &$field ) {
// ── Start Date ─────────────────────────────────────────────────────
if ( (int) $field->id === GF_START_DATE_FIELD_ID ) {
if ( ! $start_date ) {
$field->failed_validation = true;
$field->validation_message = 'Please enter a valid start date.';
$validation_result['is_valid'] = false;
} elseif ( $start_date < $today ) {
$field->failed_validation = true;
$field->validation_message = 'Start date must be today or a future date.';
$validation_result['is_valid'] = false;
}
}
// ── End Date ───────────────────────────────────────────────────────
if ( (int) $field->id === GF_END_DATE_FIELD_ID ) {
if ( ! $end_date ) {
$field->failed_validation = true;
$field->validation_message = 'Please enter a valid end date.';
$validation_result['is_valid'] = false;
} elseif ( $start_date && $end_date < $start_date ) {
$field->failed_validation = true;
$field->validation_message = 'End date must be on or after the start date (' . $start_date->format( 'Y-m-d' ) . ').';
$validation_result['is_valid'] = false;
} elseif ( ! $start_date && $end_date < $today ) {
$field->failed_validation = true;
$field->validation_message = 'End date must be today or a future date.';
$validation_result['is_valid'] = false;
}
}
}
$validation_result['form'] = $form;
return $validation_result;
}
/**
* CLIENT-SIDE VALIDATION
* - Locks start date min to today.
* - Updates end date min whenever start date changes.
* - Shows accessible inline errors on change and blur.
* - Handles both yyyy-mm-dd and yyyy/mm/dd field values.
*/
add_action( 'wp_footer', 'gf_date_range_scripts' );
function gf_date_range_scripts() {
if ( ! class_exists( 'GFForms' ) ) {
return;
}
?>
<script>
( function () {
var FORM_ID = <?php echo (int) GF_DATE_FORM_ID; ?>;
var START_FIELD_ID = <?php echo (int) GF_START_DATE_FIELD_ID; ?>;
var END_FIELD_ID = <?php echo (int) GF_END_DATE_FIELD_ID; ?>;
// ── Helpers ──────────────────────────────────────────────────────────
/** Format a Date as yyyy-mm-dd (for the min attribute and error messages). */
function toYMD( date ) {
var y = date.getFullYear();
var m = String( date.getMonth() + 1 ).padStart( 2, '0' );
var d = String( date.getDate() ).padStart( 2, '0' );
return y + '-' + m + '-' + d;
}
/**
* Parse a yyyy-mm-dd or yyyy/mm/dd string into a midnight Date.
* Returns null if the value is empty or does not match either format.
*
* Uses explicit part splitting rather than new Date(string) to avoid
* browser timezone inconsistencies (ISO strings are parsed as UTC,
* which shifts the date in negative-offset timezones).
*/
function parseYMD( val ) {
if ( ! val ) return null;
val = val.trim();
// Accept both separators.
if ( ! /^\d{4}[\/\-]\d{2}[\/\-]\d{2}$/.test( val ) ) return null;
var parts = val.split( /[\/\-]/ );
var yr = parseInt( parts[0], 10 );
var mo = parseInt( parts[1], 10 );
var dy = parseInt( parts[2], 10 );
// Basic range check before constructing the Date.
if ( mo < 1 || mo > 12 || dy < 1 || dy > 31 ) return null;
// new Date(y, m-1, d) is always local time — no UTC shift.
var d = new Date( yr, mo - 1, dy );
d.setHours( 0, 0, 0, 0 );
// Guard against overflow (e.g. Feb 30 rolling into March).
if ( d.getFullYear() !== yr || d.getMonth() !== mo - 1 || d.getDate() !== dy ) {
return null;
}
return d;
}
/** Get the input element for a GF date field. */
function getInput( fieldId ) {
return document.getElementById( 'input_' + FORM_ID + '_' + fieldId );
}
// ── Error display ─────────────────────────────────────────────────────
function setFieldError( fieldId, message ) {
var errorId = 'gf-date-error-' + fieldId;
var inputEl = getInput( fieldId );
if ( ! inputEl ) return;
var container = inputEl.closest( '.gfield' );
if ( ! container ) return;
var existing = document.getElementById( errorId );
if ( message ) {
inputEl.setAttribute( 'aria-invalid', 'true' );
inputEl.setAttribute( 'aria-describedby', errorId );
if ( ! existing ) {
var errorEl = document.createElement( 'span' );
errorEl.id = errorId;
errorEl.className = 'gf-date-inline-error';
// role="alert" + aria-live="assertive" announces immediately
// even if focus has already moved away from the field.
errorEl.setAttribute( 'role', 'alert' );
errorEl.setAttribute( 'aria-live', 'assertive' );
errorEl.setAttribute( 'aria-atomic', 'true' );
errorEl.style.cssText = [
'display:block',
'margin-top:4px',
'color:#d32f2f',
'font-size:0.875em',
'font-weight:600',
].join( ';' );
inputEl.parentNode.insertBefore( errorEl, inputEl.nextSibling );
existing = errorEl;
}
existing.textContent = message;
} else {
inputEl.removeAttribute( 'aria-invalid' );
inputEl.removeAttribute( 'aria-describedby' );
if ( existing ) existing.remove();
}
}
// ── Datepicker UTC fix ────────────────────────────────────────────────
//
// GF uses jQuery UI datepicker. When a user clicks a date, jQuery UI
// constructs a UTC midnight Date object for that day, then formats it
// into the input. In negative UTC offsets (e.g. Eastern = UTC-4), UTC
// midnight is the previous calendar day in local time, so the datepicker
// writes the day AFTER the one you clicked.
//
// Fix: hook into the datepicker's beforeShowDay / onSelect via jQuery UI's
// option API after GF initialises the picker, and rewrite the value using
// the raw dateText string (which is always the correct clicked date)
// rather than letting jQuery UI derive it from a UTC Date object.
function fixDatepickerUTC( inputEl ) {
if ( typeof jQuery === 'undefined' || ! jQuery( inputEl ).datepicker ) return;
try {
// Wrap the existing onSelect if there is one.
var existing = jQuery( inputEl ).datepicker( 'option', 'onSelect' ) || function() {};
jQuery( inputEl ).datepicker( 'option', 'onSelect', function( dateText, inst ) {
// dateText is the raw string the user clicked, e.g. "2026-06-29".
// Write it directly — bypasses the UTC Date conversion entirely.
inputEl.value = dateText;
// Fire the original onSelect GF attached (updates field state, etc.).
existing.call( this, dateText, inst );
// Now validate with the corrected value.
validateDates();
} );
} catch (e) {
// If datepicker isn't initialised yet, GF fires gform_post_render
// which re-inits pickers — we re-apply the fix there (see below).
}
}
// ── Core validation ───────────────────────────────────────────────────
function validateDates() {
var today = new Date();
today.setHours( 0, 0, 0, 0 );
var startInput = getInput( START_FIELD_ID );
var endInput = getInput( END_FIELD_ID );
var startDate = startInput ? parseYMD( startInput.value ) : null;
var endDate = endInput ? parseYMD( endInput.value ) : null;
// ── Start date ───────────────────────────────────────────────────
if ( startDate && startDate < today ) {
setFieldError( START_FIELD_ID, 'Start date must be today or a future date.' );
} else {
setFieldError( START_FIELD_ID, '' );
}
// ── Update end date minimum ───────────────────────────────────────
var minForEnd = ( startDate && startDate >= today ) ? startDate : today;
if ( endInput ) {
endInput.setAttribute( 'min', toYMD( minForEnd ) );
}
// ── End date ─────────────────────────────────────────────────────
if ( endDate ) {
if ( startDate && startDate >= today && endDate < startDate ) {
setFieldError(
END_FIELD_ID,
'End date must be on or after the start date (' + toYMD( startDate ) + ').'
);
} else if ( endDate < today ) {
setFieldError( END_FIELD_ID, 'End date must be today or a future date.' );
} else {
setFieldError( END_FIELD_ID, '' );
}
}
}
// ── Attach listeners ──────────────────────────────────────────────────
function attachListeners() {
var startInput = getInput( START_FIELD_ID );
var endInput = getInput( END_FIELD_ID );
if ( ! startInput || ! endInput ) return false;
var today = new Date();
startInput.setAttribute( 'min', toYMD( today ) );
endInput.setAttribute( 'min', toYMD( today ) );
// Apply the datepicker UTC fix to both fields.
// We defer slightly to ensure GF has finished initialising the picker.
setTimeout( function() {
fixDatepickerUTC( startInput );
fixDatepickerUTC( endInput );
}, 100 );
// Re-apply after GF re-renders (e.g. multi-page forms, AJAX).
if ( typeof jQuery !== 'undefined' ) {
jQuery( document ).on( 'gform_post_render', function( e, formId ) {
if ( formId === FORM_ID ) {
setTimeout( function() {
fixDatepickerUTC( getInput( START_FIELD_ID ) );
fixDatepickerUTC( getInput( END_FIELD_ID ) );
}, 100 );
}
} );
}
// Blur listener as a safety net for typed-in values (not datepicker).
startInput.addEventListener( 'blur', validateDates );
endInput.addEventListener( 'blur', validateDates );
return true;
}
if ( ! attachListeners() ) {
var observer = new MutationObserver( function () {
if ( attachListeners() ) observer.disconnect();
} );
observer.observe( document.body, { childList: true, subtree: true } );
}
} )();
</script>
<?php
}
@@ -0,0 +1,74 @@
<?php
/**
* The template for displaying the header.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?> <?php generate_do_microdata( 'body' ); ?>>
<?php
/**
* wp_body_open hook.
*
* @since 2.3
*/
do_action( 'wp_body_open' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- core WP hook.
/**
* generate_before_header hook.
*
* @since 0.1
*
* @hooked generate_do_skip_to_content_link - 2
* @hooked generate_top_bar - 5
* @hooked generate_add_navigation_before_header - 5
*/
do_action( 'generate_before_header' );
/**
* generate_header hook.
*
* @since 1.3.42
*
* @hooked generate_construct_header - 10
*/
do_action( 'generate_header' );
/**
* generate_after_header hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header - 10
*/
do_action( 'generate_after_header' );
?>
<div <?php generate_do_attr( 'page' ); ?>>
<?php
/**
* generate_inside_site_container hook.
*
* @since 2.4
*/
do_action( 'generate_inside_site_container' );
?>
<div <?php generate_do_attr( 'site-content' ); ?>>
<?php
/**
* generate_inside_container hook.
*
* @since 0.1
*/
do_action( 'generate_inside_container' );
Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

@@ -0,0 +1,54 @@
/*
Theme Name: GFenreatePress
Theme URI:
Description:
Author: Peter Chang
Author URI:
Template: generatepress
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
/* == Add your own styles below this line ==
--------------------------------------------*/
#gfield_instruction_5_7 {
display: none;
}
.page-hero {
max-width: 1312px;
margin: 0 auto;
padding: 56px 64px 140px 64px;
border-radius: 14px;
margin-top: 40px;
background: #0167BA;
color: #fff;
position: relative;
box-shadow: 2px 4px 10px 4px rgba(97, 97, 97, 0.15);
}
.page-hero:before {
content: "";
width: 100%;
height: 100%;
border-radius: 14px;
display: block;
background: radial-gradient(309.95% 42.55% at 83.04% 34.56%, rgba(1, 103, 186, 0.00) 0.07%, rgba(1, 103, 186, 0.27) 57.56%, #0167BA 100%);
position: absolute;
top: 0;
left: 0;
}
.page-hero:after {
content: "";
width: 100%;
height: 100%;
display: block;
background: url(/wp-content/uploads/decorative-dots.png) no-repeat center calc(100% - 40px);
position: absolute;
top: 0;
left: 0;
}
.page-hero_content {
z-index: 1;
position: relative;
}
@@ -0,0 +1 @@
<!-- closing CTA -->
@@ -0,0 +1 @@
<!-- FAQ -->
@@ -0,0 +1 @@
<!-- Hero -->
@@ -0,0 +1 @@
@charset "UTF-8";@font-face{font-family:slick;src:url(fonts/slick.eot);src:url(fonts/slick.eot?#iefix) format("embedded-opentype"),url(fonts/slick.woff) format("woff"),url(fonts/slick.ttf) format("truetype"),url(fonts/slick.svg#slick) format("svg");font-weight:400;font-style:normal}.slick-next,.slick-prev{position:absolute;top:50%;display:block;padding:0;height:20px;width:20px;line-height:0;font-size:0;cursor:pointer;background:0 0;color:transparent;border:none;transform:translate(0,-50%)}.slick-next:focus .slick-next-icon,.slick-next:focus .slick-prev-icon,.slick-next:hover .slick-next-icon,.slick-next:hover .slick-prev-icon,.slick-prev:focus .slick-next-icon,.slick-prev:focus .slick-prev-icon,.slick-prev:hover .slick-next-icon,.slick-prev:hover .slick-prev-icon{opacity:1}.slick-next:focus,.slick-prev:focus{top:calc(50% - 1px)}.slick-next:focus .slick-next-icon,.slick-next:focus .slick-prev-icon,.slick-prev:focus .slick-next-icon,.slick-prev:focus .slick-prev-icon{color:orange;font-size:28px;margin-left:-2px}.slick-next.slick-disabled,.slick-prev.slick-disabled{cursor:default}.slick-next.slick-disabled .slick-next-icon,.slick-next.slick-disabled .slick-prev-icon,.slick-prev.slick-disabled .slick-next-icon,.slick-prev.slick-disabled .slick-prev-icon{opacity:.25}.slick-next .slick-next-icon,.slick-next .slick-prev-icon,.slick-prev .slick-next-icon,.slick-prev .slick-prev-icon{display:block;color:#000;opacity:.75;font-family:slick;font-size:24px;line-height:1}.slick-prev{left:-25px}[dir=rtl] .slick-prev{left:auto;right:-25px}.slick-prev .slick-prev-icon:before{content:"←"}[dir=rtl] .slick-prev .slick-prev-icon:before{content:"→"}.slick-next{right:-25px}[dir=rtl] .slick-next{left:-25px;right:auto}.slick-next .slick-next-icon:before{content:"→"}[dir=rtl] .slick-next .slick-next-icon:before{content:"←"}.slick-slider{margin-bottom:30px}.slick-slider.slick-dotted{margin-bottom:60px}.slick-dots{position:absolute;bottom:-30px;display:block;padding:0;margin:0;width:100%;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;margin:0 5px;padding:0}.slick-dots li button{display:block;height:20px;width:20px;margin-top:-4px;margin-left:-4px;line-height:0;font-size:0;color:transparent;border:0;background:0 0;cursor:pointer}.slick-dots li button:focus .slick-dot-icon,.slick-dots li button:hover .slick-dot-icon{opacity:1}.slick-dots li button:focus .slick-dot-icon:before{color:orange}.slick-dots li button .slick-dot-icon{color:#000;opacity:.25}.slick-dots li button .slick-dot-icon:before{position:absolute;top:0;left:0;content:"•";font-family:slick;font-size:12px;line-height:1;text-align:center;transition:all .05s linear}.slick-dots li.slick-active button:focus .slick-dot-icon{color:orange;opacity:1}.slick-dots li.slick-active button .slick-dot-icon{color:#000;opacity:1}.slick-dots li.slick-active button .slick-dot-icon:before{margin-top:-3px;margin-left:-2px;font-size:18px}.slick-sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.slick-autoplay-toggle-button{position:absolute;left:5px;bottom:-32px;z-index:10;opacity:.75;background:0 0;border:0;cursor:pointer;color:#000}.slick-autoplay-toggle-button:focus,.slick-autoplay-toggle-button:hover{opacity:1}.slick-autoplay-toggle-button:focus{color:orange}.slick-autoplay-toggle-button .slick-pause-icon:before{content:"⏸";width:20px;height:20px;font-family:slick;font-size:18px;font-weight:400;line-height:20px;text-align:center}.slick-autoplay-toggle-button .slick-play-icon:before{content:"▶";width:20px;height:20px;font-family:slick;font-size:18px;font-weight:400;line-height:20px;text-align:center}
@@ -0,0 +1 @@
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
/*!
* imagesLoaded PACKAGED v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
!function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
/*!
* imagesLoaded v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,390 @@
jQuery(document).ready(function( $ ){
//Add landmark roles
$('.elementor-location-header').attr('role', 'banner');
$('.elementor-location-footer').attr('role', 'contentinfo');
$('div[data-elementor-type=wp-page], div[data-elementor-type=wp-post], div[data-elementor-type=archive], div[data-elementor-type=single-post], div[data-elementor-type=error-404], div.pass-protected').attr('role', 'main').attr('id', 'main-content').attr('tabindex','-1');
$("#skiplink").click(function() {
$('#main-content').focus();
});
// close mega menu when tabbing through a flyout and out onto the top level nav items
jQuery(function($) {
$('.mega-sub-menu').on('focusout', function(e) {
e.preventDefault();
if (!$(this).has(event.relatedTarget).length && !$(this).is(event.relatedTarget)) {
// Focus has moved outside the menu, so close it
$('.max-mega-menu').data('maxmegamenu').hideAllPanels();
}
});
});
// make svg invisible to SR
$('.elementor-icon-list-icon svg, svg.e-font-icon-svg').attr('role','presentation').attr('tabindex','-1');
// Add aria-labels to roles
$('.utility nav').attr('aria-label', 'Utility');
$('.mainNav nav').attr('aria-label', 'Global');
$('.footer nav').attr('aria-label', 'Footer');
// Add title text for Read More links for posts
$('.news .jet-listing-grid__item').each(function () {
var title = $('.title .elementor-heading-title a', this).html();
var viewDetails = $('.link a', this);
$(viewDetails).append('<span class="visuallyhidden"> about ' +title+ '</span>');
});
// Add title text for Read More links
$('.hidden-text .elementor-column').each(function () {
var title = $('.title .elementor-heading-title', this).html();
var viewDetails = $('.link a', this);
$(viewDetails).append('<span class="visuallyhidden"> for ' +title+ '</span>');
});
// Remove role Button
$('.elementor-button-link').removeAttr('role', 'button');
// Announcer
//Move Banner Top to below skip link in the DOM
var banner = $(".ancr-group.ancr-pos-top")
$(banner).insertAfter('.elementor-location-header #skiplink');
//Move bottom Banners to footer in the DOM
var bannerBottom = $(".ancr-group.ancr-pos-bottom")
$("div[data-elementor-type=footer]").prepend(bannerBottom);
//Move Banner close button in the DOM
$('.ancr-wrap').each(function() {
var $this = $(this),
$closeBtn = $this.find('.ancr-close-btn'),
$target = $this.find('.ancr-content');
$target.append($closeBtn);
});
// Accordion accessibility (New)
$('div.e-n-accordion').removeAttr('aria-label');
$('details div').removeAttr('role').removeAttr('aria-labelledby');
$('details summary').removeAttr('tabindex');
// Add id and for to News/Blog Search
$(".search .jet-filter-label").replaceWith(function(){
$(this).attr('for', 'search');
return this.outerHTML.replace("<div", "<label").replace("</div", "</label")
});
$('.search .jet-search-filter__input').attr('id', 'search');
// Add aria-label to Search button
$('.search .jet-search-filter__submit').attr('aria-label', 'Search')
// Click enter in input field to click button search for redirect jetsmartfilter
$( document ).ready(function() {
$('.jet-search-filter__input').keyup(function(event) {
if (event.which === 13) {
$(this).parents(".elementor-widget-jet-smart-filters-search").siblings().find(".apply-filters__button").click()
}
});
});
// Add keyboard access to pagination
$( document ).ready(function() {
$('.jet-filters-pagination__link').attr('tabindex', 0);
$('.jet-filters-pagination__item').removeAttr('tabindex');
$('.jet-filters-pagination__link').keyup(function(event) {
if (event.which === 13) {
$(this).click();
}
});
});
// Aria for Checkbox Filters
$( document ).ready(function() {
$('.filter.multi .jet-filters-group .jet-filter').each(function (i) {
var identifier = 0 + i;
var group = $(this);
var label = $('.jet-filter-label', this);
$(group).attr('role', 'group').attr('aria-labelledby', 'filter-heading' + identifier)
$(label).attr('id', 'filter-heading' + identifier)
});
$('.filter:not(.multi) .jet-filter').attr('role', 'group').attr('aria-labelledby', 'filter-heading');
$('.filter:not(.multi) .jet-filter-label').attr('id', 'filter-heading');
$('.filter .jet-checkboxes-list__input, .filter .jet-radio-list__input').attr('aria-checked', 'false');
$('.filter .jet-checkboxes-list__input, .filter .jet-radio-list__input').click(function() {
if ($(this).attr('aria-checked') == "false") {
$(this).attr("aria-checked","true");
}
else {
$(this).attr("aria-checked", "false");
}
});
$('.filter .jet-checkboxes-list__input, .filter .jet-radio-list__input').keyup(function(event) {
if (event.which === 13) {
$(this).click();
}
});
$('.filter .jet-filter-row').each(function (i) {
var identifier = 0 + i;
var label = $('.jet-checkboxes-list__item, .jet-radio-list__input', this);
var checkbox = $('.jet-checkboxes-list__input, .jet-radio-list__input', this);
$(label).attr('for', 'checkbox' + identifier)
$(checkbox).attr('id', 'checkbox' + identifier)
});
});
// Keyboard navigtion for Active filters
// Need to add a mutation observer to look for changes
// when filter is selected. .jet-active-filter is not
// in the DOM on page load only after filter selection
var targetNodes = $(".jet-active-filters");
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var myObserver = new MutationObserver(mutationHandler);
var obsConfig = {
childList: true,
characterData: true,
attributes: true,
subtree: true
};
//--- Add a target node to the observer. Can only add one node at a time.
targetNodes.each(function() {
myObserver.observe(this, obsConfig);
});
function mutationHandler(mutationRecords) {
mutationRecords.forEach(function(mutation) {
if (typeof mutation.removedNodes == "object") {
var jq = $(mutation.removedNodes);
}
});
}
setTimeout(function() {
$('.jet-active-filter').attr('tabindex', 0);
$('.jet-active-filter').keyup(function(event) {
if (event.which === 13) {
$(this).click();
}
});
},1000)
// End mutation observer
$(document).ready(function() {
$("#checkboxes, #radio").replaceWith(function(){
return this.outerHTML.replace("<span", "<fieldset").replace("</span", "</fieldset")
});
});
var selected = [];
$('input[type=checkbox], input[type=radio]').each(function() {
var value = $(this).val();
var name = $(this).attr('name').replace(/ /g,'').replace(/[^a-z0-9\s]/gi, '');
var id = value.replace(/ /g,'').replace(/[^a-z0-9\s]/gi, '');
$(this).attr({ id: $(this).attr("id") + ' ' +id });
var newId = $(this).attr('id');
$(this).siblings('label').attr('for', newId);
});
// Refreshes carousels inside tab widgets
var refreshSliders = function(){
jQuery( ".swiper-container" ).each(function( index ) {
swiperInstance = jQuery(this).data('swiper');
swiperInstance.params.observer = true;
swiperInstance.params.observeParents = true;
swiperInstance.update();
});
}
window.onload = function() {
jQuery(".elementor-tab-title").on("click", function(){
var $this = jQuery(this);
refreshSliders();
jQuery('html,body').animate({
scrollTop: $this.offset().top - 220
}, 500);
});
}
// Carousel refresh inside tab widgets
//Update Tabbing of Tabs
$(function($) {
$('.elementor-tabs .elementor-tab-title a').replaceWith(function(){
$(this).removeAttr('href');
return this.outerHTML.replace("<a", "<h3").replace("</a", "</h3")
});
});
$('.elementor-tabs .elementor-tab-title').attr('tabindex', 0);
$('.elementor-tabs .elementor-tab-content').attr('tabindex', -1);
if ($(window).width() < 500) {
// Close Tab widget on mobile on page load
const delay = 10;
setTimeout(function() {
$('.elementor-tab-title').removeClass('elementor-active');
$('.elementor-tab-content').css('display', 'none');
}, delay);
}
// Anchor scroll offset top
$('a[href*="#"]:not([href="#"])').click(function() {
var offset = -200; // <-- change the value here
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top + offset
}, 300);
return false;
}
}
});
// Hide and Show header search form
$('.openSearch').click(function(e) {
e.preventDefault();
$('.closeSearch, #searchForm').removeClass("hide");
$('.openSearch, .util-nav').addClass("hide");
setTimeout(function() {
$('#search-59bc91d').focus();
}, 100);
});
$('.closeSearch').click(function(e) {
e.preventDefault();
$('.closeSearch, #searchForm').addClass("hide");
$('.openSearch, .uti-nav').removeClass("hide");
setTimeout(function() {
$('.openSearch a').focus();
}, 100);
});
});
/* Code from https://element.how/elementor-tabs-closed-by-default/
* Copyright 2024 Element.How
* Automatically close the tabs on page load for mobile devices
*/
window.addEventListener('load', function () {
if (window.innerWidth > 767) return;
setTimeout(function () {
let tabsElems = document.querySelectorAll('.e-n-tabs')
tabsElems.forEach(e => {
let activeTitles = e.querySelectorAll('.e-n-tab-title[aria-selected="true"]');
let activeContent = e.querySelector('.e-con.e-active')
activeContent.style.display = 'none';
activeContent.classList.remove('e-active');
activeTitles.forEach(activeTitle => activeTitle.setAttribute('aria-selected', false));
activeTitles.forEach(activeTitle => activeTitle.setAttribute('tabindex', -1));
});
}, 300);
});
/* Code from https://element.how/elementor-tabs-closed-by-default/
* Copyright 2024 Element.How
* Make the Elementor tabs closable
*/
(function () {
if (window.innerWidth > 767) return;
let isOnPageLoad = true;
window.addEventListener('load', () => {
setTimeout(() => {
isOnPageLoad = false;
}, 600);
});
if (document.querySelector('.elementor-editor-active')) return;
document.querySelectorAll('.e-n-tab-title').forEach(tabTitle => {
tabTitle.addEventListener('click', function () {
if (isOnPageLoad) return;
if (this.getAttribute('aria-selected') === 'true') {
setTimeout(() => {
const tabId = this.getAttribute('aria-controls');
const tabContent = document.getElementById(tabId);
if (tabContent) {
tabContent.style.display = 'none';
tabContent.classList.remove('e-active');
}
this.setAttribute('aria-selected', 'false');
}, 30);
}
});
});
}());
/* Control the Elementor Tabs from the URL
* Code from https://element.how/elementor-open-specific-tab-toggle-accordion/
* Copyright 2023 Element.how
* Updated 2023/12/05
*/
window.addEventListener('load', () => {
setTimeout(function () {
let scrollOffset = 200; /* scroll offset from the top of title */
const tabsAccordionToggleTitles = document.querySelectorAll('.e-n-accordion-item-title, .e-n-tab-title, .elementor-tab-title');
const clickTitleWithAnchor = (anchor) => {
tabsAccordionToggleTitles.forEach(title => {
if (title.querySelector(`#${anchor}`) != null || title.id === anchor || (title.closest('details') && title.closest('details').id === anchor)) {
if (title.getAttribute('aria-expanded') !== 'true' && !title.classList.contains('elementor-active')) title.click();
let timing = 0;
let scrollTarget = title;
if (getComputedStyle(title.closest('.elementor-element')).getPropertyValue('--n-tabs-direction') == 'row') scrollTarget = title.closest('.elementor-element');
if (title.closest('.e-n-accordion, .elementor-accordion-item, .elementor-toggle-item')) {
timing = 400;
}
setTimeout(function () {
jQuery('html, body').animate({
scrollTop: jQuery(scrollTarget).offset().top - scrollOffset,
}, 'slow');
}, timing);
}
});
};
document.addEventListener('click', (event) => {
if (event.target.closest('a') && event.target.closest('a').href.includes('#')) {
const anchor = extractAnchor(event.target.closest('a').href);
if (anchor && isAnchorInTitles(anchor, tabsAccordionToggleTitles)) {
event.preventDefault();
clickTitleWithAnchor(anchor);
}
}
});
const currentAnchor = extractAnchor(window.location.href);
if (currentAnchor) {
clickTitleWithAnchor(currentAnchor);
}
function extractAnchor(url) {
const match = url.match(/#([^?]+)/);
return match ? match[1] : null;
};
function isAnchorInTitles(anchor, titles) {
return Array.from(titles).some(title => {
return title.querySelector(`#${anchor}`) !== null || title.id === anchor || (title.closest('details') && title.closest('details').id === anchor);
});
};
}, 300);
});
@@ -0,0 +1,22 @@
<?php
/**
* The template for displaying the footer.
*
* Contains the body & html closing tags.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if ( ! function_exists( 'elementor_theme_do_location' ) || ! elementor_theme_do_location( 'footer' ) ) {
get_template_part( 'template-parts/footer' );
}
?>
<?php wp_footer(); ?>
</body>
</html>
@@ -0,0 +1,225 @@
<?php
/*This file is part of HelloChildTheme*/
/*Load the parent stylesheet then child theme stylesheet*/
if ( ! function_exists( 'suffice_child_enqueue_child_styles' ) ) {
function HelloChildTheme_enqueue_child_styles() {
// loading parent style
// wp_register_style('parente2-style',get_template_directory_uri() . '/style.css', array(), rand(111,9999),'all');
// wp_enqueue_style( 'parente2-style' );
// loading child style
wp_register_style('childe2-style',get_stylesheet_directory_uri() . '/style.css', array(), rand(111,9999),'all');
wp_enqueue_style( 'childe2-style');
}
}
add_action( 'wp_enqueue_scripts', 'HelloChildTheme_enqueue_child_styles' );
// Add custom JS scripts
function myprefix_enqueue_scripts() {
wp_enqueue_script( 'scripts', get_stylesheet_directory_uri() . '/assets/js/scripts.js', array('jquery'), rand(111,9999), true );
}
add_action( 'wp_enqueue_scripts', 'myprefix_enqueue_scripts' );
// Change WP Login screen error message
add_filter( 'login_errors', function( $error ) {
global $errors;
$err_codes = $errors->get_error_codes();
// Invalid username.
// Default: '<strong>ERROR</strong>: Invalid username. <a href="%s">Lost your password</a>?'
if ( in_array( 'invalid_username', $err_codes ) ) {
$error = '<strong>ERROR</strong>: Wrong information.';
}
// Invalid email.
if ( in_array( 'invalid_email', $err_codes ) ) {
$error = '<strong>ERROR</strong>: Wrong information.';
}
// Incorrect password.
// Default: '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s">Lost your password</a>?'
if ( in_array( 'incorrect_password', $err_codes ) ) {
$error = '<strong>ERROR</strong>: Wrong information.';
}
return $error;
} );
add_action('admin_init', function () {
// Redirect any user trying to access comments page
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_safe_redirect(admin_url());
exit;
}
// Remove comments metabox from dashboard
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
// Disable support for comments and trackbacks in post types
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
});
// Close comments on the front-end
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
// Hide existing comments
add_filter('comments_array', '__return_empty_array', 10, 2);
// Remove comments page in menu
add_action('admin_menu', function () {
remove_menu_page('edit-comments.php');
});
// Remove comments links from admin bar
function my_admin_bar_render() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'my_admin_bar_render' );
// Move Yoast to Bottom of Edit Screen
add_filter( 'wpseo_metabox_prio', function() { return 'low'; } );
// Remove jQuery Migrate
// function remove_jquery_migrate($scripts)
// {
// if (!is_admin() && isset($scripts->registered['jquery'])) {
// $script = $scripts->registered['jquery'];
// if ($script->deps) { // Check whether the script has any dependencies
// $script->deps = array_diff($script->deps, array(
// 'jquery-migrate'
// ));
// }
// }
// }
// add_action('wp_default_scripts', 'remove_jquery_migrate');
/**
* Disable the emoji's
*/
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );
/**
* Filter function used to remove the tinymce emoji plugin.
*
* @param array $plugins
* @return array Difference betwen the two arrays
*/
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
/**
* Remove emoji CDN hostname from DNS prefetching hints.
*
* @param array $urls URLs to print for resource hints.
* @param string $relation_type The relation type the URLs are printed for.
* @return array Difference betwen the two arrays.
*/
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( 'dns-prefetch' == $relation_type ) {
/** This filter is documented in wp-includes/formatting.php */
$emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}
// Disable dashicon
// function remove_dashicons_wordpress() {
// if ( ! is_user_logged_in() ) {
// wp_dequeue_style('dashicons');
// wp_deregister_style( 'dashicons' );
// }
// }
// add_action( 'wp_enqueue_scripts', 'remove_dashicons_wordpress' );
// Deactivate Eicons in Elementor
add_action( 'wp_enqueue_scripts', 'js_remove_default_stylesheet', 20 );
function js_remove_default_stylesheet() {
// Don't remove it in the backend
if ( is_admin() || current_user_can( 'manage_options' ) ) {
return;
}
wp_deregister_style( 'elementor-icons' );
}
// Disable WP Embed
function remove_wp_embed(){
wp_dequeue_script( 'wp-embed' );
}
add_action( 'wp_footer', 'remove_wp_embed' );
// Change gravity form error message from h2 to span
add_filter( 'gform_validation_message', 'change_message', 10, 2 );
function change_message( $message, $form ) {
return "<span>There was a problem with your submission. Please review the fields below.</span>";
}
// Change gravity form required legend text
add_filter( 'gform_required_legend', function( $legend, $form ) {
return 'An asterisk (*) indicates a required field.';
}, 10, 2 );
// force AJAX on all GForms
add_filter( 'gform_form_args', 'setup_form_args' );
function setup_form_args( $form_args ) {
$form_args['ajax'] = true;
return $form_args;
}
// This code snippet will programmatically replace the URLs returned by get_permalink(),
// this updates the HTML to point to the external URL instead of relying only on a redirect.T
function pm_use_external_redirects_as_canonical_urls( $permalink, $post ) {
global $permalink_manager_external_redirects;
$post = ( is_integer( $post ) ) ? get_post( $post ) : $post;
if ( !empty( $permalink_manager_external_redirects[ $post->ID ] ) ) {
$permalink = $permalink_manager_external_redirects[ $post->ID ];
}
return $permalink;
}
add_filter( 'permalink_manager_filter_final_post_permalink', 'pm_use_external_redirects_as_canonical_urls', 10, 2 );
@@ -0,0 +1,35 @@
<?php
/**
* The template for displaying the header
*
* This is the template that displays all of the <head> section, opens the <body> tag and adds the site's header.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<?php $viewport_content = apply_filters( 'hello_elementor_viewport_content', 'width=device-width, initial-scale=1' ); ?>
<meta name="viewport" content="<?php echo esc_attr( $viewport_content ); ?>">
<link rel="profile" href="http://gmpg.org/xfn/11">
<meta name="format-detection" content="telephone=no">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php if ( function_exists( 'gtm4wp_the_gtm_tag' ) ) { gtm4wp_the_gtm_tag(); } ?>
<?php
hello_elementor_body_open();
if ( ! function_exists( 'elementor_theme_do_location' ) || ! elementor_theme_do_location( 'header' ) ) {
if ( did_action( 'elementor/loaded' ) && hello_header_footer_experiment_active() ) {
get_template_part( 'template-parts/dynamic-header' );
} else {
get_template_part( 'template-parts/header' );
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

@@ -0,0 +1,40 @@
/*
Theme Name: Hello Getfused
Description: Standard template for sites built by Getfused using Elementor.
Author: Getfused
Author URL: https://getfused.com
Template: hello-elementor
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: HelloGetfused
*/
[id] {
scroll-margin-top: 150px; /* Adjust this to your header's height */
}
.grecaptcha-badge {
visibility: hidden;
}
#wp-admin-bar-wpseo-menu,
#wp-admin-bar-gform-forms,
#wp-admin-bar-updates,
#wp-admin-bar-new-content,
#wp-admin-bar-wpengine_adminbar,
#wp-admin-bar-wp-mail-smtp-menu,
#wp-admin-bar-elementor_notes,
#wp-admin-bar-stats,
#wp-admin-bar-customize {
display: none!important;
}
/* Show wider Edit with Elementor flyout */
#wpadminbar .quicklinks #wp-admin-bar-elementor_edit_page.menupop.hover ul li .ab-item {
width: auto !important;
max-width: 280px;
}
#wpadminbar .quicklinks #wp-admin-bar-elementor_edit_page.menupop.hover ul li .ab-item .elementor-edit-link-title {
margin-right: 10px;
}
@@ -0,0 +1,22 @@
<?php
/**
* The template for displaying 404 pages (not found).
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<main class="site-main" role="main">
<?php if ( apply_filters( 'hello_elementor_page_title', true ) ) : ?>
<header class="page-header">
<h1 class="entry-title"><?php esc_html_e( 'The page can&rsquo;t be found.', 'hello-elementor' ); ?></h1>
</header>
<?php endif; ?>
<div class="page-content">
<p><?php esc_html_e( 'It looks like nothing was found at this location.', 'hello-elementor' ); ?></p>
</div>
</main>
@@ -0,0 +1,51 @@
<?php
/**
* The template for displaying archive pages.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<main class="site-main" role="main">
<?php if ( apply_filters( 'hello_elementor_page_title', true ) ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="entry-title">', '</h1>' );
the_archive_description( '<p class="archive-description">', '</p>' );
?>
</header>
<?php endif; ?>
<div class="page-content">
<?php
while ( have_posts() ) {
the_post();
$post_link = get_permalink();
?>
<article class="post">
<?php
printf( '<h2 class="%s"><a href="%s">%s</a></h2>', 'entry-title', esc_url( $post_link ), esc_html( get_the_title() ) );
printf( '<a href="%s">%s</a>', esc_url( $post_link ), get_the_post_thumbnail( $post, 'large' ) );
the_excerpt();
?>
</article>
<?php } ?>
</div>
<?php wp_link_pages(); ?>
<?php
global $wp_query;
if ( $wp_query->max_num_pages > 1 ) :
?>
<nav class="pagination" role="navigation">
<?php /* Translators: HTML arrow */ ?>
<div class="nav-previous"><?php next_posts_link( sprintf( __( '%s older', 'hello-elementor' ), '<span class="meta-nav">&larr;</span>' ) ); ?></div>
<?php /* Translators: HTML arrow */ ?>
<div class="nav-next"><?php previous_posts_link( sprintf( __( 'newer %s', 'hello-elementor' ), '<span class="meta-nav">&rarr;</span>' ) ); ?></div>
</nav>
<?php endif; ?>
</main>
@@ -0,0 +1,14 @@
<?php
/**
* The template for displaying footer.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<footer id="site-footer" class="site-footer" role="contentinfo">
<?php // footer. ?>
</footer>
@@ -0,0 +1,42 @@
<?php
/**
* The template for displaying header.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
$site_name = get_bloginfo( 'name' );
$tagline = get_bloginfo( 'description', 'display' );
?>
<header class="site-header" role="banner">
<div class="site-branding">
<?php
if ( has_custom_logo() ) {
the_custom_logo();
} elseif ( $site_name ) {
?>
<h1 class="site-title">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php esc_attr_e( 'Home', 'hello-elementor' ); ?>" rel="home">
<?php echo esc_html( $site_name ); ?>
</a>
</h1>
<p class="site-description">
<?php
if ( $tagline ) {
echo esc_html( $tagline );
}
?>
</p>
<?php } ?>
</div>
<?php if ( has_nav_menu( 'menu-1' ) ) : ?>
<nav class="site-navigation" role="navigation">
<?php wp_nav_menu( array( 'theme_location' => 'menu-1' ) ); ?>
</nav>
<?php endif; ?>
</header>
@@ -0,0 +1,49 @@
<?php
/**
* The template for displaying search results.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<main class="site-main" role="main">
<?php if ( apply_filters( 'hello_elementor_page_title', true ) ) : ?>
<header class="page-header">
<h1 class="entry-title">
<?php esc_html_e( 'Search results for: ', 'hello-elementor' ); ?>
<span><?php echo get_search_query(); ?></span>
</h1>
</header>
<?php endif; ?>
<div class="page-content">
<?php if ( have_posts() ) : ?>
<?php
while ( have_posts() ) :
the_post();
printf( '<h2><a href="%s">%s</a></h2>', esc_url( get_permalink() ), esc_html( get_the_title() ) );
the_post_thumbnail();
the_excerpt();
endwhile;
?>
<?php else : ?>
<p><?php esc_html_e( 'It seems we can\'t find what you\'re looking for.', 'hello-elementor' ); ?></p>
<?php endif; ?>
</div>
<?php wp_link_pages(); ?>
<?php
global $wp_query;
if ( $wp_query->max_num_pages > 1 ) :
?>
<nav class="pagination" role="navigation">
<?php /* Translators: HTML arrow */ ?>
<div class="nav-previous"><?php next_posts_link( sprintf( __( '%s older', 'hello-elementor' ), '<span class="meta-nav">&larr;</span>' ) ); ?></div>
<?php /* Translators: HTML arrow */ ?>
<div class="nav-next"><?php previous_posts_link( sprintf( __( 'newer %s', 'hello-elementor' ), '<span class="meta-nav">&rarr;</span>' ) ); ?></div>
</nav>
<?php endif; ?>
</main>
@@ -0,0 +1,34 @@
<?php
/**
* The template for displaying singular post-types: posts, pages and user-defined custom post types.
*
* @package HelloElementor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<?php
while ( have_posts() ) : the_post();
?>
<main <?php post_class( 'site-main' ); ?> role="main">
<?php if ( apply_filters( 'hello_elementor_page_title', true ) ) : ?>
<header class="page-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header>
<?php endif; ?>
<div class="page-content">
<?php the_content(); ?>
<div class="post-tags">
<?php the_tags( '<span class="tag-links">' . __( 'Tagged ', 'hello-elementor' ), null, '</span>' ); ?>
</div>
<?php wp_link_pages(); ?>
</div>
<?php comments_template(); ?>
</main>
<?php
endwhile;
+46
View File
@@ -0,0 +1,46 @@
<?php
/**
* The template for displaying 404 pages (Not Found).
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
get_header(); ?>
<div <?php generate_do_attr( 'content' ); ?>>
<main <?php generate_do_attr( 'main' ); ?>>
<?php
/**
* generate_before_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_before_main_content' );
generate_do_template_part( '404' );
/**
* generate_after_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_main_content' );
?>
</main>
</div>
<?php
/**
* generate_after_primary_content_area hook.
*
* @since 2.0
*/
do_action( 'generate_after_primary_content_area' );
generate_construct_sidebars();
get_footer();
@@ -0,0 +1,85 @@
<?php
/**
* The template for displaying Archive pages.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
get_header(); ?>
<div <?php generate_do_attr( 'content' ); ?>>
<main <?php generate_do_attr( 'main' ); ?>>
<?php
/**
* generate_before_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_before_main_content' );
if ( generate_has_default_loop() ) {
if ( have_posts() ) :
/**
* generate_archive_title hook.
*
* @since 0.1
*
* @hooked generate_archive_title - 10
*/
do_action( 'generate_archive_title' );
/**
* generate_before_loop hook.
*
* @since 3.1.0
*/
do_action( 'generate_before_loop', 'archive' );
while ( have_posts() ) :
the_post();
generate_do_template_part( 'archive' );
endwhile;
/**
* generate_after_loop hook.
*
* @since 2.3
*/
do_action( 'generate_after_loop', 'archive' );
else :
generate_do_template_part( 'none' );
endif;
}
/**
* generate_after_main_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_main_content' );
?>
</main>
</div>
<?php
/**
* generate_after_primary_content_area hook.
*
* @since 2.0
*/
do_action( 'generate_after_primary_content_area' );
generate_construct_sidebars();
get_footer();
@@ -0,0 +1,153 @@
.block-editor-block-list__layout pre {
background: rgba(0, 0, 0, 0.05);
font-family: inherit;
font-size: inherit;
line-height: normal;
margin-bottom: 1.5em;
padding: 20px;
overflow: auto;
color: inherit; /* editor only */
}
body .block-editor-block-list__block blockquote {
border-left: 5px solid rgba(0, 0, 0, 0.05);
padding: 20px;
font-size: 1.2em;
font-style:italic;
margin: 0 0 1.5em;
position: relative;
color: inherit; /* editor only */
}
body .wp-block-quote:not(.is-large):not(.is-style-large) {
border-left: 5px solid rgba(0, 0, 0, 0.05);
padding: 20px;
}
body .block-editor-block-list__block blockquote p:last-child {
margin: 0;
}
.block-editor-block-list__layout table,
.block-editor-block-list__layout th,
.block-editor-block-list__layout td {
border: 1px solid rgba(0, 0, 0, 0.1);
}
body .block-editor-block-list__block table {
border-collapse: separate;
border-spacing: 0;
border-width: 1px 0 0 1px;
margin: 0 0 1.5em;
width: 100%;
}
.block-editor-block-list__layout th,
.block-editor-block-list__layout td {
padding: 8px;
}
.block-editor-block-list__layout th {
border-width: 0 1px 1px 0;
}
.block-editor-block-list__layout td {
border-width: 0 1px 1px 0;
}
body .block-editor-block-list__block hr {
background-color: rgba(0, 0, 0, 0.1);
border: 0;
height: 1px;
margin-bottom: 40px;
margin-top: 40px;
width: auto;
}
body .block-editor-default-block-appender input[type=text].editor-default-block-appender__content,
body .block-editor-default-block-appender textarea.editor-default-block-appender__content {
font-family: inherit;
font-size: inherit;
}
/*--------------------------------------------------------------
## Gallery
--------------------------------------------------------------*/
.block-editor-block-list__layout .wp-block-gallery li figcaption {
background: rgba(255, 255, 255, 0.7);
color: #000;
padding: 10px;
box-sizing: border-box;
}
/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/
.block-editor-block-list__layout .wp-block-button .wp-block-button__link,
.block-editor-block-list__layout .button {
font-size: inherit;
padding: 10px 15px;
line-height: normal;
}
/*--------------------------------------------------------------
# Content Title
--------------------------------------------------------------*/
button.content-title-visibility {
position: absolute;
right: 0;
font-size: 30px;
line-height: 30px;
top: calc(50% - 15px);
opacity: 0.4;
background: none;
border: none;
cursor: pointer;
display: none;
}
button.show-content-title:before {
content: "\f530";
}
button.disable-content-title:before {
content: "\f177";
}
body:not(.content-title-hidden) .editor-post-title__block:hover button.disable-content-title,
.content-title-hidden .editor-post-title__block:hover button.show-content-title {
display: block;
}
button.content-title-visibility:before {
font-family: dashicons;
}
.content-title-hidden .editor-post-title textarea {
opacity: 0.4;
}
.edit-post-text-editor .editor-post-title__block .editor-post-title__input {
color: initial;
opacity: 1;
}
/*--------------------------------------------------------------
# Columns
--------------------------------------------------------------*/
.block-editor-block-list__block .wp-block-columns .wp-block-column {
margin-bottom: 0;
}
/*--------------------------------------------------------------
# Fix shortcode block label color
--------------------------------------------------------------*/
.wp-block-shortcode label,
.wp-block-shortcode .block-editor-plain-text {
color: initial;
}
@@ -0,0 +1,65 @@
img {
max-width: 100%;
height: auto;
}
pre {
background: rgba(0, 0, 0, 0.05);
font-family: inherit;
font-size: inherit;
line-height: normal;
margin-bottom: 1.5em;
padding: 20px;
overflow: auto;
max-width: 100%;
}
blockquote {
border-left: 5px solid rgba(0, 0, 0, 0.05);
padding: 20px;
font-size: 1.2em;
font-style:italic;
margin: 0 0 1.5em;
position: relative;
}
blockquote p:last-child {
margin: 0;
}
table, th, td {
border: 1px solid rgba(0, 0, 0, 0.1);
}
table {
border-collapse: separate;
border-spacing: 0;
border-width: 1px 0 0 1px;
margin: 0 0 1.5em;
table-layout: fixed;
width: 100%;
}
th,
td {
padding: 8px;
}
th {
border-width: 0 1px 1px 0;
}
td {
border-width: 0 1px 1px 0;
}
hr {
background-color: rgba(0, 0, 0, 0.1);
border: 0;
height: 1px;
margin-bottom: 40px;
margin-top: 40px;
}
/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
max-width: 100%;
}
@@ -0,0 +1,67 @@
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: normal;
text-transform: none;
font-size: 17px;
line-height: 1.5;
}
p {
line-height: inherit;
font-size: inherit;
margin-top: 0;
margin-bottom: 1.5em;
}
h1, h2, h3, h4, h5, h6 {
font-family: inherit;
font-size: 100%;
font-style: inherit;
font-weight: inherit;
}
h1 {
font-family: inherit;
font-size: 42px;
margin-bottom: 20px;
margin-top: 0;
line-height: 1.2em;
font-weight: normal;
text-transform: none;
}
h2 {
font-family: inherit;
font-size: 35px;
margin-bottom: 20px;
margin-top: 0;
line-height: 1.2em;
font-weight: normal;
text-transform: none;
}
h3 {
font-family: inherit;
font-size: 29px;
margin-bottom: 20px;
margin-top: 0;
line-height: 1.2em;
font-weight: normal;
text-transform: none;
}
h4 {
font-size: 24px;
}
h5 {
font-size: 20px;
}
h4,
h5,
h6 {
font-family: inherit;
margin-bottom: 20px;
margin-top: 0;
}
@@ -0,0 +1,98 @@
.generate-meta-box-content > div {
padding: 12px;
}
#generate_layout_options_meta_box .inside {
padding: 0;
margin:0;
}
#generate-meta-box-container .generate-meta-box-menu {
position: relative;
float: left;
list-style: none;
width: 180px;
line-height: 1em;
margin: 0 0 -1px 0;
padding: 0;
background-color: #fafafa;
border-right: 1px solid #eee;
box-sizing: border-box;
}
#generate-meta-box-container .generate-meta-box-menu li {
display: block;
position: relative;
margin: 0;
padding: 0;
line-height: 20px;
}
#generate-meta-box-container .generate-meta-box-menu li a {
display: block;
margin: 0;
padding: 10px;
line-height: 20px !important;
text-decoration: none;
border-bottom: 1px solid #eee;
box-shadow: none;
}
#generate-meta-box-container .generate-meta-box-content {
float: left;
width: calc( 100% - 180px );
margin-left: -1px;
border-left: 1px solid #eee;
background-color: #fff;
}
#generate-meta-box-container {
overflow: hidden;
background: #fff;
background: linear-gradient( 90deg, #fafafa 0%, #fafafa 180px, #fff 180px, #fff 100% );
}
#generate-meta-box-container .current {
position: relative;
font-weight: bold;
background-color: #e0e0e0;
}
#generate-meta-box-container .current a {
color: #555;
}
#generate-meta-box-container label {
font-weight: 400;
display: inline-block;
margin-bottom: 3px;
}
.generate-meta-box-menu li {
display: inline-block;
}
#side-sortables #generate-meta-box-container .generate-meta-box-menu,
#side-sortables #generate-meta-box-container .generate-meta-box-content {
float: none;
width: 100%;
margin: 0;
border: 0;
}
.edit-post-meta-boxes-area.is-side .generate-meta-box-content > div {
display: block !important;
}
.edit-post-meta-boxes-area.is-side .generate-meta-box-menu {
display: none;
}
#generate-meta-box-container label {
display: none;
}
.edit-post-meta-boxes-area.is-side #generate-meta-box-container label.generate-layout-metabox-section-title {
display: block;
font-weight: 500;
margin-bottom: 5px;
}
@@ -0,0 +1,232 @@
.js .generate-metabox.postbox .hndle {
cursor: inherit;
}
.generate-metabox .clear {
padding-top: 10px;
margin-bottom: 10px;
border-bottom: 1px solid #DDD;
}
.generate-metabox .clear:after {
content: "";
display: table;
clear: both;
}
.customize-button a.button,
.customize-button a.button:visited {
font-size: 25px;
padding: 10px 20px;
line-height: normal;
height: auto;
width: 100%;
text-align: center;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.customize-button {
margin-bottom: 40px;
}
.addon-container:before,
.addon-container:after {
content: ".";
display: block;
overflow: hidden;
visibility: hidden;
font-size: 0;
line-height: 0;
width: 0;
height: 0;
}
.addon-container:after {
clear: both;
}
.premium-addons .gp-clear {
margin: 0 !important;
border: 0;
padding: 0 !important;
}
.premium-addons .add-on.gp-clear {
padding: 15px !important;
margin: 0 !important;
-moz-box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) inset;
-webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) inset;
box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) inset;
}
.premium-addons .add-on:last-child {
border: 0 !important;
}
.addon-action {
float: right;
clear: right;
}
.addon-name {
float: left;
}
.addon-name a {
text-decoration: none;
font-weight: bold;
}
/* New admin */
.clearfix:after,
.clearfix:before {
content: ".";
display: block;
overflow: hidden;
visibility: hidden;
font-size: 0;
line-height: 0;
width: 0;
height: 0;
}
.clearfix:after {
clear: both;
}
.gp-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
box-sizing: border-box;
}
.gp-container a {
text-decoration: none;
}
.appearance_page_generate-options #wpcontent,
.appearance_page_generate-options #wpbody-content .metabox-holder {
padding: 0;
}
.appearance_page_generate-options .wrap {
margin-top: 0;
margin-left: 0;
margin-right: 0;
}
.gp-masthead {
background-color: #fff;
text-align: center;
box-shadow: 0 1px 0 rgba(200,215,225,0.5), 0 1px 2px #DDD;
margin-bottom: 40px;
padding: 20px;
}
.gp-container .postbox {
box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #DDD;
border: 0;
min-width: initial;
margin-bottom: 40px;
}
.gp-masthead .gp-title {
float: left;
}
.gp-masthead .gp-title a {
font-size: 20px;
color: #000;
font-weight: 500;
}
.gp-masthead .gp-masthead-links {
float: right;
}
.gp-masthead-links a {
display: inline-block;
margin: 0 10px;
}
.gp-masthead .gp-version {
display: inline-block;
background: #EFEFEF;
padding: 1px 3px;
border-radius: 2px;
font-size: 11px;
vertical-align: top;
margin-left: 5px;
}
.gp-options-footer {
text-align: center;
}
.popular-articles ul {
list-style-type: disc;
margin-left: 20px;
margin-bottom: 0;
}
.popular-articles .hndle a {
float:right;
font-size:13px;
}
#gen-delete p:last-child {
margin-bottom: 0;
}
.start-customizing li {
margin-bottom: 15px;
}
.start-customizing li span {
padding-right: 5px;
}
.start-customizing ul {
border-bottom: 1px solid #ddd;
}
.gp-container .postbox > h3.hndle {
padding-top: 12px;
padding-bottom: 12px;
}
@media (min-width: 768px) {
.hide-on-desktop {
display: none;
}
.grid-70 {
float: left;
width: 70%;
box-sizing: border-box;
padding-right: 20px;
}
.grid-30 {
float: left;
width: 30%;
box-sizing: border-box;
padding-left: 20px;
}
.grid-parent {
padding-left: 0;
padding-right: 0;
}
}
@media (max-width: 767px) {
.hide-on-mobile {
display: none;
}
.gp-masthead .gp-masthead-links,
.gp-masthead .gp-title {
float: none;
text-align: center;
}
.gp-masthead .gp-title {
margin-bottom: 20px;
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,129 @@
.comment-content a {
word-wrap: break-word;
}
.bypostauthor {
display: block;
}
.comment,
.comment-list {
list-style-type: none;
padding: 0;
margin: 0;
}
.comment-author-info {
display: inline-block;
vertical-align: middle;
}
.comment-meta .avatar {
float: left;
margin-right: 10px;
border-radius: 50%;
}
.comment-author cite {
font-style: normal;
font-weight: bold;
}
.entry-meta.comment-metadata {
margin-top: 0;
}
.comment-content {
margin-top: 1.5em;
}
.comment-respond {
margin-top: 0;
}
.comment-form > .form-submit {
margin-bottom: 0;
}
.comment-form input,
.comment-form-comment {
margin-bottom: 10px;
}
.comment-form-comment textarea {
resize: vertical;
}
.comment-form #author,
.comment-form #email,
.comment-form #url {
display: block;
}
.comment-metadata .edit-link:before {
display: none;
}
.comment-body {
padding: 30px 0;
}
.comment-content {
padding: 30px;
border: 1px solid rgba(0, 0, 0, 0.05);
}
.depth-1.parent > .children {
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.comment .children {
padding-left: 30px;
margin-top: -30px;
border-left: 1px solid rgba(0, 0, 0, 0.05);
}
.pingback .comment-body,
.trackback .comment-body {
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.pingback .edit-link {
font-size: 13px;
}
.comment-content p:last-child {
margin-bottom: 0;
}
.comment-list > .comment:first-child {
padding-top: 0;
margin-top: 0;
border-top: 0;
}
ol.comment-list {
margin-bottom: 1.5em;
}
.comment-form-cookies-consent {
display: flex;
align-items: center;
}
.comment-form-cookies-consent input {
margin-right: 0.5em;
margin-bottom: 0;
}
.one-container .comments-area {
margin-top: 1.5em;
}
.comment-content .reply {
font-size: 85%;
}
#cancel-comment-reply-link {
padding-left: 10px;
}
@@ -0,0 +1 @@
.comment-content a{word-wrap:break-word}.bypostauthor{display:block}.comment,.comment-list{list-style-type:none;padding:0;margin:0}.comment-author-info{display:inline-block;vertical-align:middle}.comment-meta .avatar{float:left;margin-right:10px;border-radius:50%}.comment-author cite{font-style:normal;font-weight:700}.entry-meta.comment-metadata{margin-top:0}.comment-content{margin-top:1.5em}.comment-respond{margin-top:0}.comment-form>.form-submit{margin-bottom:0}.comment-form input,.comment-form-comment{margin-bottom:10px}.comment-form-comment textarea{resize:vertical}.comment-form #author,.comment-form #email,.comment-form #url{display:block}.comment-metadata .edit-link:before{display:none}.comment-body{padding:30px 0}.comment-content{padding:30px;border:1px solid rgba(0,0,0,.05)}.depth-1.parent>.children{border-bottom:1px solid rgba(0,0,0,.05)}.comment .children{padding-left:30px;margin-top:-30px;border-left:1px solid rgba(0,0,0,.05)}.pingback .comment-body,.trackback .comment-body{border-bottom:1px solid rgba(0,0,0,.05)}.pingback .edit-link{font-size:13px}.comment-content p:last-child{margin-bottom:0}.comment-list>.comment:first-child{padding-top:0;margin-top:0;border-top:0}ol.comment-list{margin-bottom:1.5em}.comment-form-cookies-consent{display:flex;align-items:center}.comment-form-cookies-consent input{margin-right:.5em;margin-bottom:0}.one-container .comments-area{margin-top:1.5em}.comment-content .reply{font-size:85%}#cancel-comment-reply-link{padding-left:10px}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,174 @@
@font-face {
font-family: "GeneratePress";
src: url("../../fonts/generatepress.eot");
src: url("../../fonts/generatepress.eot#iefix") format("embedded-opentype"), url("../../fonts/generatepress.woff2") format("woff2"), url("../../fonts/generatepress.woff") format("woff"), url("../../fonts/generatepress.ttf") format("truetype"), url("../../fonts/generatepress.svg#GeneratePress") format("svg");
font-weight: normal;
font-style: normal;
}
.menu-toggle:before,
.search-item a:before,
.dropdown-menu-toggle:before,
.cat-links:before,
.tags-links:before,
.comments-link:before,
.nav-previous .prev:before,
.nav-next .next:before,
.generate-back-to-top:before,
.search-form .search-submit:before {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
}
.cat-links:before,
.tags-links:before,
.comments-link:before,
.nav-previous .prev:before,
.nav-next .next:before {
opacity: 0.7;
}
/*--------------------------------------------------------------
# Mobile Menu
--------------------------------------------------------------*/
.menu-toggle:before {
content: "\f0c9";
font-family: GeneratePress;
width: 1.28571429em;
text-align: center;
display: inline-block;
}
.toggled .menu-toggle:before {
content: "\f00d";
}
.main-navigation.toggled .sfHover > a .dropdown-menu-toggle:before {
content: "\f106";
}
/*--------------------------------------------------------------
# Navigation Search
--------------------------------------------------------------*/
.search-item a:before {
content: "\f002";
font-family: GeneratePress;
width: 1.28571429em;
text-align: center;
display: inline-block;
}
.search-item.close-search a:before {
content: "\f00d";
}
.widget .search-form button:before {
content: "\f002";
font-family: GeneratePress;
}
/*--------------------------------------------------------------
# Navigation Dropdowns
--------------------------------------------------------------*/
.dropdown-menu-toggle:before {
content: "\f107";
font-family: GeneratePress;
display: inline-block;
width: 0.8em;
text-align: left;
}
nav:not(.toggled) ul ul .dropdown-menu-toggle:before {
text-align: right;
}
.dropdown-hover .sub-menu-left:not(.toggled) ul ul .dropdown-menu-toggle:before {
transform: rotate(180deg);
}
.dropdown-click .menu-item-has-children.sfHover > a .dropdown-menu-toggle:before {
content: "\f106";
}
.dropdown-hover nav:not(.toggled) ul ul .dropdown-menu-toggle:before {
content: "\f105";
}
/*--------------------------------------------------------------
# Post Content
--------------------------------------------------------------*/
.entry-header .cat-links:before,
.entry-header .tags-links:before,
.entry-header .comments-link:before {
display: none;
}
.cat-links:before,
.tags-links:before,
.comments-link:before,
.nav-previous .prev:before,
.nav-next .next:before {
font-family: GeneratePress;
text-decoration: inherit;
position: relative;
margin-right: 0.6em;
width: 13px;
text-align: center;
display: inline-block;
}
.cat-links:before {
content: "\f07b";
}
.tags-links:before {
content: "\f02c";
}
.comments-link:before {
content: "\f086";
}
.nav-previous .prev:before {
content: "\f104";
}
.nav-next .next:before {
content: "\f105";
}
/*--------------------------------------------------------------
# Sidebar Navigation
--------------------------------------------------------------*/
.dropdown-hover.both-right .inside-left-sidebar .dropdown-menu-toggle:before,
.dropdown-hover .inside-right-sidebar .dropdown-menu-toggle:before {
content: "\f104";
}
.dropdown-hover.both-left .inside-right-sidebar .dropdown-menu-toggle:before,
.dropdown-hover .inside-left-sidebar .dropdown-menu-toggle:before {
content: "\f105";
}
/*--------------------------------------------------------------
# Back to Top Button
--------------------------------------------------------------*/
.generate-back-to-top:before {
content: "\f106";
font-family: GeneratePress;
}
/*--------------------------------------------------------------
# Search button
--------------------------------------------------------------*/
.search-form .search-submit:before {
content: "\f002";
font-family: GeneratePress;
width: 1.28571429em;
text-align: center;
display: inline-block;
}
@@ -0,0 +1 @@
@font-face{font-family:GeneratePress;src:url("../../fonts/generatepress.eot");src:url("../../fonts/generatepress.eot#iefix") format("embedded-opentype"),url("../../fonts/generatepress.woff2") format("woff2"),url("../../fonts/generatepress.woff") format("woff"),url("../../fonts/generatepress.ttf") format("truetype"),url("../../fonts/generatepress.svg#GeneratePress") format("svg");font-weight:400;font-style:normal}.cat-links:before,.comments-link:before,.dropdown-menu-toggle:before,.generate-back-to-top:before,.menu-toggle:before,.nav-next .next:before,.nav-previous .prev:before,.search-form .search-submit:before,.search-item a:before,.tags-links:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.cat-links:before,.comments-link:before,.nav-next .next:before,.nav-previous .prev:before,.tags-links:before{opacity:.7}.menu-toggle:before{content:"\f0c9";font-family:GeneratePress;width:1.28571429em;text-align:center;display:inline-block}.toggled .menu-toggle:before{content:"\f00d"}.main-navigation.toggled .sfHover>a .dropdown-menu-toggle:before{content:"\f106"}.search-item a:before{content:"\f002";font-family:GeneratePress;width:1.28571429em;text-align:center;display:inline-block}.search-item.close-search a:before{content:"\f00d"}.widget .search-form button:before{content:"\f002";font-family:GeneratePress}.dropdown-menu-toggle:before{content:"\f107";font-family:GeneratePress;display:inline-block;width:.8em;text-align:left}nav:not(.toggled) ul ul .dropdown-menu-toggle:before{text-align:right}.dropdown-hover .sub-menu-left:not(.toggled) ul ul .dropdown-menu-toggle:before{transform:rotate(180deg)}.dropdown-click .menu-item-has-children.sfHover>a .dropdown-menu-toggle:before{content:"\f106"}.dropdown-hover nav:not(.toggled) ul ul .dropdown-menu-toggle:before{content:"\f105"}.entry-header .cat-links:before,.entry-header .comments-link:before,.entry-header .tags-links:before{display:none}.cat-links:before,.comments-link:before,.nav-next .next:before,.nav-previous .prev:before,.tags-links:before{font-family:GeneratePress;text-decoration:inherit;position:relative;margin-right:.6em;width:13px;text-align:center;display:inline-block}.cat-links:before{content:"\f07b"}.tags-links:before{content:"\f02c"}.comments-link:before{content:"\f086"}.nav-previous .prev:before{content:"\f104"}.nav-next .next:before{content:"\f105"}.dropdown-hover .inside-right-sidebar .dropdown-menu-toggle:before,.dropdown-hover.both-right .inside-left-sidebar .dropdown-menu-toggle:before{content:"\f104"}.dropdown-hover .inside-left-sidebar .dropdown-menu-toggle:before,.dropdown-hover.both-left .inside-right-sidebar .dropdown-menu-toggle:before{content:"\f105"}.generate-back-to-top:before{content:"\f106";font-family:GeneratePress}.search-form .search-submit:before{content:"\f002";font-family:GeneratePress;width:1.28571429em;text-align:center;display:inline-block}
@@ -0,0 +1,256 @@
/*--------------------------------------------------------------
## Footer Widgets
--------------------------------------------------------------*/
.footer-widgets-container {
padding: 40px;
}
.inside-footer-widgets {
display: flex;
}
.inside-footer-widgets > div {
flex: 1 1 0;
}
.site-footer .footer-widgets-container .inner-padding {
padding: 0px 0px 0px 40px;
}
.site-footer .footer-widgets-container .inside-footer-widgets {
margin-left: -40px;
}
/*--------------------------------------------------------------
## Top Bar
--------------------------------------------------------------*/
.top-bar {
font-weight: normal;
text-transform: none;
font-size: 13px;
}
.top-bar .inside-top-bar {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.top-bar .inside-top-bar .widget {
padding: 0;
display: inline-block;
margin-bottom: 0;
}
.top-bar .inside-top-bar .textwidget p:last-child {
margin: 0;
}
.top-bar .widget-title {
display: none;
}
.top-bar .widget {
margin: 0 10px;
}
.top-bar .widget_nav_menu > div > ul {
display: flex;
align-items: center;
}
.top-bar .widget_nav_menu li {
margin: 0 10px;
padding: 0;
}
.top-bar .widget_nav_menu li:first-child {
margin-left: 0;
}
.top-bar .widget_nav_menu li:last-child {
margin-right: 0;
}
.top-bar .widget_nav_menu li ul {
display: none;
}
.inside-top-bar {
padding: 10px 40px;
}
div.top-bar .widget {
margin-bottom: 0;
}
.top-bar-align-right .widget {
margin-right: 0;
}
.top-bar-align-right .widget:first-child {
margin-left: auto;
}
.top-bar-align-right .widget:nth-child(even) {
order: -20;
}
.top-bar-align-right .widget:nth-child(2) {
margin-left: 0;
}
.top-bar-align-left .widget {
margin-left: 0;
}
.top-bar-align-left .widget:nth-child(odd) {
order: -20;
}
.top-bar-align-left .widget:nth-child(2) {
margin-left: auto;
}
.top-bar-align-left .widget:last-child {
margin-right: 0;
}
.top-bar-align-center .widget:first-child {
margin-left: auto;
}
.top-bar-align-center .widget:last-child {
margin-right: auto;
}
.top-bar-align-center .widget:not(:first-child):not(:last-child) {
margin: 0 5px;
}
/*--------------------------------------------------------------
## Footer Bar
--------------------------------------------------------------*/
.footer-bar-active .footer-bar .widget {
padding: 0;
}
.footer-bar .widget_nav_menu > div > ul {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.footer-bar .widget_nav_menu li {
margin: 0 10px;
padding: 0;
}
.footer-bar .widget_nav_menu li:first-child {
margin-left: 0;
}
.footer-bar .widget_nav_menu li:last-child {
margin-right: 0;
}
.footer-bar .widget_nav_menu li ul {
display: none;
}
.footer-bar .textwidget p:last-child {
margin: 0;
}
.footer-bar .widget-title {
display: none;
}
.footer-bar-align-right .copyright-bar {
order: -20;
margin-right: auto;
}
.footer-bar-align-left .copyright-bar {
margin-left: auto;
}
.footer-bar-align-center .inside-site-info {
flex-direction: column;
}
.footer-bar-align-center .footer-bar {
margin-bottom: 10px;
}
.site-footer:not(.footer-bar-active) .copyright-bar {
margin: 0 auto;
}
/*--------------------------------------------------------------
## Breakpoint (768px)
--------------------------------------------------------------*/
@media (max-width: 768px) {
/*--------------------------------------------------------------
## Top Bar
--------------------------------------------------------------*/
.top-bar .inside-top-bar {
justify-content: center;
}
.top-bar .inside-top-bar > .widget {
order: 1;
margin: 0 10px;
}
.top-bar .inside-top-bar:first-child {
margin-left: auto;
}
.top-bar .inside-top-bar:last-child {
margin-right: auto;
}
.top-bar .widget_nav_menu li {
padding: 5px 0;
}
.top-bar-align-center {
text-align: center;
}
/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/
.inside-footer-widgets {
flex-direction: column;
}
.inside-footer-widgets > div:not(:last-child) {
margin-bottom: 40px;
}
.site-footer .footer-widgets .footer-widgets-container .inside-footer-widgets {
margin: 0;
}
.site-footer .footer-widgets .footer-widgets-container .inner-padding {
padding: 0;
}
.footer-bar-active .inside-site-info {
flex-direction: column;
}
.footer-bar-active .footer-bar {
margin-bottom: 10px;
}
.footer-bar .widget_nav_menu > div > ul {
justify-content: center;
}
.footer-bar .widget_nav_menu li {
padding: 5px 0;
}
.footer-bar .widget_nav_menu li:first-child {
margin-left: 10px;
}
.footer-bar .widget_nav_menu li:last-child {
margin-right: 10px;
}
.footer-bar-align-left .copyright-bar {
margin-left: 0;
}
.footer-bar-align-right .copyright-bar {
order: unset;
margin-right: 0;
}
}
@@ -0,0 +1 @@
.footer-widgets-container{padding:40px}.inside-footer-widgets{display:flex}.inside-footer-widgets>div{flex:1 1 0}.site-footer .footer-widgets-container .inner-padding{padding:0 0 0 40px}.site-footer .footer-widgets-container .inside-footer-widgets{margin-left:-40px}.top-bar{font-weight:400;text-transform:none;font-size:13px}.top-bar .inside-top-bar{display:flex;align-items:center;flex-wrap:wrap}.top-bar .inside-top-bar .widget{padding:0;display:inline-block;margin-bottom:0}.top-bar .inside-top-bar .textwidget p:last-child{margin:0}.top-bar .widget-title{display:none}.top-bar .widget{margin:0 10px}.top-bar .widget_nav_menu>div>ul{display:flex;align-items:center}.top-bar .widget_nav_menu li{margin:0 10px;padding:0}.top-bar .widget_nav_menu li:first-child{margin-left:0}.top-bar .widget_nav_menu li:last-child{margin-right:0}.top-bar .widget_nav_menu li ul{display:none}.inside-top-bar{padding:10px 40px}div.top-bar .widget{margin-bottom:0}.top-bar-align-right .widget{margin-right:0}.top-bar-align-right .widget:first-child{margin-left:auto}.top-bar-align-right .widget:nth-child(2n){order:-20}.top-bar-align-right .widget:nth-child(2){margin-left:0}.top-bar-align-left .widget{margin-left:0}.top-bar-align-left .widget:nth-child(odd){order:-20}.top-bar-align-left .widget:nth-child(2){margin-left:auto}.top-bar-align-left .widget:last-child{margin-right:0}.top-bar-align-center .widget:first-child{margin-left:auto}.top-bar-align-center .widget:last-child{margin-right:auto}.top-bar-align-center .widget:not(:first-child):not(:last-child){margin:0 5px}.footer-bar-active .footer-bar .widget{padding:0}.footer-bar .widget_nav_menu>div>ul{display:flex;align-items:center;flex-wrap:wrap}.footer-bar .widget_nav_menu li{margin:0 10px;padding:0}.footer-bar .widget_nav_menu li:first-child{margin-left:0}.footer-bar .widget_nav_menu li:last-child{margin-right:0}.footer-bar .widget_nav_menu li ul{display:none}.footer-bar .textwidget p:last-child{margin:0}.footer-bar .widget-title{display:none}.footer-bar-align-right .copyright-bar{order:-20;margin-right:auto}.footer-bar-align-left .copyright-bar{margin-left:auto}.footer-bar-align-center .inside-site-info{flex-direction:column}.footer-bar-align-center .footer-bar{margin-bottom:10px}.site-footer:not(.footer-bar-active) .copyright-bar{margin:0 auto}@media (max-width:768px){.top-bar .inside-top-bar{justify-content:center}.top-bar .inside-top-bar>.widget{order:1;margin:0 10px}.top-bar .inside-top-bar:first-child{margin-left:auto}.top-bar .inside-top-bar:last-child{margin-right:auto}.top-bar .widget_nav_menu li{padding:5px 0}.top-bar-align-center{text-align:center}.inside-footer-widgets{flex-direction:column}.inside-footer-widgets>div:not(:last-child){margin-bottom:40px}.site-footer .footer-widgets .footer-widgets-container .inside-footer-widgets{margin:0}.site-footer .footer-widgets .footer-widgets-container .inner-padding{padding:0}.footer-bar-active .inside-site-info{flex-direction:column}.footer-bar-active .footer-bar{margin-bottom:10px}.footer-bar .widget_nav_menu>div>ul{justify-content:center}.footer-bar .widget_nav_menu li{padding:5px 0}.footer-bar .widget_nav_menu li:first-child{margin-left:10px}.footer-bar .widget_nav_menu li:last-child{margin-right:10px}.footer-bar-align-left .copyright-bar{margin-left:0}.footer-bar-align-right .copyright-bar{order:unset;margin-right:0}}
@@ -0,0 +1,195 @@
caption,
td,
th {
text-align: right;
}
.header-aligned-right:not([class*="nav-float-"]) .inside-header {
justify-content: flex-start;
}
.header-aligned-left:not([class*="nav-float-"]) .inside-header {
justify-content: flex-end;
}
.header-aligned-right:not([class*="nav-float-"]) .header-widget {
order: 10;
}
.header-aligned-left:not([class*="nav-float-"]) .header-widget {
order: -10;
}
.site-logo + .site-branding {
order: -1;
}
.nav-float-right #site-navigation {
order: -5;
}
.nav-float-right #site-navigation.toggled, .nav-float-right #site-navigation.has-active-search {
order: 10;
}
.nav-float-right .header-widget {
order: -10;
}
.nav-float-left #site-navigation {
order: 5;
}
.nav-float-left .header-widget,
.nav-float-left .mobile-menu-control-wrapper {
order: 10;
}
.mobile-menu-control-wrapper {
margin-right: auto;
margin-left: 0;
}
.nav-align-right .inside-navigation {
justify-content: flex-start;
}
.nav-align-left .inside-navigation {
justify-content: flex-end;
}
.menu-item-has-children .dropdown-menu-toggle {
float: left !important;
}
.main-navigation ul ul {
text-align: right;
}
.sidebar .menu-item-has-children .dropdown-menu-toggle,
nav ul ul .menu-item-has-children .dropdown-menu-toggle {
float: left;
}
.comment-meta .avatar {
float: right;
margin-left: 10px;
}
.page-header .avatar {
float: right;
margin-left: 1.5em;
}
.slideout-navigation .menu-item-has-children .dropdown-menu-toggle {
float: left;
}
.dropdown-click #generate-slideout-menu .slideout-menu .menu-item-has-children > a:first-child,
.slideout-desktop.dropdown-hover #generate-slideout-menu .slideout-menu .menu-item-has-children > a:first-child {
padding-left: 0;
}
.comment .children {
padding-right: 30px;
border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.main-navigation .main-nav ul li.menu-item-has-children > a,
.secondary-navigation .main-nav ul li.menu-item-has-children > a {
padding-left: 0;
}
nav:not(.toggled) ul ul .menu-item-has-children .dropdown-menu-toggle {
padding-left: 15px;
}
nav:not(.toggled) .menu-item-has-children .dropdown-menu-toggle {
padding-right: 10px;
}
.main-navigation {
padding-right: 0;
}
ol,
ul {
margin: 0 3em 1.5em 0;
}
li > ol,
li > ul {
margin-right: 1.5em;
}
.menu-toggle .mobile-menu {
margin-right: 5px;
margin-left: 0;
}
.widget_categories .children {
margin-right: 1.5em;
}
.widget_nav_menu ul ul,
.widget_pages ul ul {
margin-right: 1em;
}
.cat-links:before,
.comments-link:before,
.nav-next .next:before,
.nav-previous .prev:before,
.tags-links:before {
margin-left: 0.6em;
margin-right: 0;
}
.entry-meta .gp-icon {
margin-right: 0;
margin-left: 0.6em;
}
.menu-toggle,
.nav-search-enabled .main-navigation .menu-toggle {
text-align: right;
}
.rtl .navigation-search {
left: auto;
right: -99999px;
}
.rtl .navigation-search.nav-search-active {
right: 0;
}
.main-navigation.toggled .main-nav li {
text-align: right;
}
.left-sidebar .sidebar,
.both-left #left-sidebar,
.both-sidebars #left-sidebar {
order: 10;
}
.both-left #right-sidebar {
order: 5;
}
.both-right #left-sidebar {
order: -5;
}
.both-right #right-sidebar,
.both-sidebars #right-sidebar,
.right-sidebar #right-sidebar {
order: -10;
}
@media (max-width: 768px) {
.site-content .content-area {
order: -20;
}
}
@@ -0,0 +1 @@
caption,td,th{text-align:right}.header-aligned-right:not([class*=nav-float-]) .inside-header{justify-content:flex-start}.header-aligned-left:not([class*=nav-float-]) .inside-header{justify-content:flex-end}.header-aligned-right:not([class*=nav-float-]) .header-widget{order:10}.header-aligned-left:not([class*=nav-float-]) .header-widget{order:-10}.site-logo+.site-branding{order:-1}.nav-float-right #site-navigation{order:-5}.nav-float-right #site-navigation.has-active-search,.nav-float-right #site-navigation.toggled{order:10}.nav-float-right .header-widget{order:-10}.nav-float-left #site-navigation{order:5}.nav-float-left .header-widget,.nav-float-left .mobile-menu-control-wrapper{order:10}.mobile-menu-control-wrapper{margin-right:auto;margin-left:0}.nav-align-right .inside-navigation{justify-content:flex-start}.nav-align-left .inside-navigation{justify-content:flex-end}.menu-item-has-children .dropdown-menu-toggle{float:left!important}.main-navigation ul ul{text-align:right}.sidebar .menu-item-has-children .dropdown-menu-toggle,nav ul ul .menu-item-has-children .dropdown-menu-toggle{float:left}.comment-meta .avatar{float:right;margin-left:10px}.page-header .avatar{float:right;margin-left:1.5em}.slideout-navigation .menu-item-has-children .dropdown-menu-toggle{float:left}.dropdown-click #generate-slideout-menu .slideout-menu .menu-item-has-children>a:first-child,.slideout-desktop.dropdown-hover #generate-slideout-menu .slideout-menu .menu-item-has-children>a:first-child{padding-left:0}.comment .children{padding-right:30px;border-right:1px solid rgba(0,0,0,.05)}.main-navigation .main-nav ul li.menu-item-has-children>a,.secondary-navigation .main-nav ul li.menu-item-has-children>a{padding-left:0}nav:not(.toggled) ul ul .menu-item-has-children .dropdown-menu-toggle{padding-left:15px}nav:not(.toggled) .menu-item-has-children .dropdown-menu-toggle{padding-right:10px}.main-navigation{padding-right:0}ol,ul{margin:0 3em 1.5em 0}li>ol,li>ul{margin-right:1.5em}.menu-toggle .mobile-menu{margin-right:5px;margin-left:0}.widget_categories .children{margin-right:1.5em}.widget_nav_menu ul ul,.widget_pages ul ul{margin-right:1em}.cat-links:before,.comments-link:before,.nav-next .next:before,.nav-previous .prev:before,.tags-links:before{margin-left:.6em;margin-right:0}.entry-meta .gp-icon{margin-right:0;margin-left:.6em}.menu-toggle,.nav-search-enabled .main-navigation .menu-toggle{text-align:right}.rtl .navigation-search{left:auto;right:-99999px}.rtl .navigation-search.nav-search-active{right:0}.main-navigation.toggled .main-nav li{text-align:right}.both-left #left-sidebar,.both-sidebars #left-sidebar,.left-sidebar .sidebar{order:10}.both-left #right-sidebar{order:5}.both-right #left-sidebar{order:-5}.both-right #right-sidebar,.both-sidebars #right-sidebar,.right-sidebar #right-sidebar{order:-10}@media (max-width:768px){.site-content .content-area{order:-20}}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,258 @@
/*--------------------------------------------------------------
# Mobile Menu
--------------------------------------------------------------*/
.menu-toggle,
.mobile-bar-items,
.sidebar-nav-mobile {
display: none;
}
.menu-toggle {
padding: 0 20px;
line-height: 60px;
margin: 0;
font-weight: normal;
text-transform: none;
font-size: 15px;
cursor: pointer;
}
button.menu-toggle {
background-color: transparent;
width: 100%;
border: 0;
text-align: center;
}
button.menu-toggle:hover,
button.menu-toggle:active,
button.menu-toggle:focus {
background-color: transparent;
}
.menu-toggle .mobile-menu {
padding-left: 3px;
}
.menu-toggle .gp-icon + .mobile-menu {
padding-left: 9px;
}
.menu-toggle .mobile-menu:empty {
display: none;
}
.nav-search-enabled .main-navigation .menu-toggle {
text-align: left;
}
.mobile-bar-items {
display: none;
position: absolute;
right: 0;
top: 0;
z-index: 21;
list-style-type: none;
}
.mobile-bar-items a {
display: inline-block;
}
nav.toggled ul ul.sub-menu {
width: 100%;
}
.dropdown-hover .main-navigation.toggled ul li:hover > ul,
.dropdown-hover .main-navigation.toggled ul li.sfHover > ul {
transition-delay: 0s;
}
.toggled .menu-item-has-children .dropdown-menu-toggle {
padding-left: 20px;
}
.main-navigation.toggled ul ul {
transition: 0s;
visibility: hidden;
}
.main-navigation.toggled .main-nav > ul {
display: block;
}
.main-navigation.toggled .main-nav ul ul.toggled-on {
position: relative;
top: 0;
left: auto !important;
right: auto !important;
width: 100%;
pointer-events: auto;
height: auto;
opacity: 1;
display: block;
visibility: visible;
float: none;
}
.main-navigation.toggled .main-nav li {
float: none;
clear: both;
display: block;
text-align: left;
}
.main-navigation.toggled .main-nav li.hide-on-mobile {
display: none !important;
}
.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle {
float: right;
}
.main-navigation.toggled .menu li.search-item {
display: none !important;
}
.main-navigation.toggled .sf-menu > li.menu-item-float-right {
float: none;
display: inline-block;
}
/*--------------------------------------------------------------
# Breakpoint (768px)
--------------------------------------------------------------*/
@media (max-width: 768px) {
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a, body, button, input, select, textarea {
transition: all 0s ease-in-out;
}
/*--------------------------------------------------------------
## Top Bar
--------------------------------------------------------------*/
.top-bar.top-bar-align-left,
.top-bar.top-bar-align-right {
text-align: center;
}
.top-bar .widget {
float: none !important;
margin: 0 10px !important;
}
.top-bar .widget_nav_menu li {
float: none;
display: inline-block;
padding: 5px 0;
}
.footer-bar .widget_nav_menu li:first-child {
margin-left: 10px;
}
.footer-bar .widget_nav_menu li:last-child {
margin-right: 10px;
}
/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/
.inside-header > *:not(:last-child):not(.main-navigation) {
margin-bottom: 20px;
}
.site-header,
.header-aligned-right .site-header {
text-align: center;
}
.header-widget {
float: none;
max-width: 100%;
text-align: center;
}
/*--------------------------------------------------------------
## Content Area
--------------------------------------------------------------*/
.sidebar,
.content-area,
.inside-footer-widgets > div {
float: none;
width: 100%;
left: 0;
right: 0;
}
.site-main {
margin-left: 0 !important;
margin-right: 0 !important;
}
body:not(.no-sidebar) .site-main {
margin-bottom: 0 !important;
}
.one-container .sidebar {
margin-top: 40px;
}
.separate-containers #left-sidebar + #right-sidebar .inside-right-sidebar {
margin-top: 0;
}
.both-right.separate-containers .inside-left-sidebar,
.both-left.separate-containers .inside-left-sidebar,
.both-right.separate-containers .inside-right-sidebar,
.both-left.separate-containers .inside-right-sidebar {
margin-right: 0;
margin-left: 0;
}
.alignleft,
.alignright {
float: none;
display: block;
margin-left: auto;
margin-right: auto;
}
.post-image-aligned-left .post-image,
.post-image-aligned-right .post-image {
float: none;
margin: 2em 0;
text-align: center;
}
.comment .children {
padding-left: 10px;
margin-left: 0;
}
.edd_download {
display: block;
float: none !important;
margin-bottom: 1.5em;
width: 100% !important;
}
.entry-meta {
font-size: inherit;
}
.entry-meta a {
line-height: 1.8em;
}
/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/
.site-info {
text-align: center;
}
.copyright-bar {
float: none !important;
text-align: center !important;
}
.footer-bar {
float: none !important;
text-align: center !important;
margin-bottom: 20px;
}
.footer-bar .widget_nav_menu li {
float: none;
display: inline-block;
padding: 5px 0;
}
.inside-footer-widgets > div:not(:last-child) {
margin-bottom: 40px;
}
.site-footer .footer-widgets .footer-widgets-container .inside-footer-widgets {
margin: 0;
}
.site-footer .footer-widgets .footer-widgets-container .inner-padding {
padding: 0;
}
}
@@ -0,0 +1 @@
.menu-toggle,.mobile-bar-items,.sidebar-nav-mobile{display:none}.menu-toggle{padding:0 20px;line-height:60px;margin:0;font-weight:400;text-transform:none;font-size:15px;cursor:pointer}button.menu-toggle{background-color:transparent;width:100%;border:0;text-align:center}button.menu-toggle:active,button.menu-toggle:focus,button.menu-toggle:hover{background-color:transparent}.menu-toggle .mobile-menu{padding-left:3px}.menu-toggle .gp-icon+.mobile-menu{padding-left:9px}.menu-toggle .mobile-menu:empty{display:none}.nav-search-enabled .main-navigation .menu-toggle{text-align:left}.mobile-bar-items{display:none;position:absolute;right:0;top:0;z-index:21;list-style-type:none}.mobile-bar-items a{display:inline-block}nav.toggled ul ul.sub-menu{width:100%}.dropdown-hover .main-navigation.toggled ul li.sfHover>ul,.dropdown-hover .main-navigation.toggled ul li:hover>ul{transition-delay:0s}.toggled .menu-item-has-children .dropdown-menu-toggle{padding-left:20px}.main-navigation.toggled ul ul{transition:0s;visibility:hidden}.main-navigation.toggled .main-nav>ul{display:block}.main-navigation.toggled .main-nav ul ul.toggled-on{position:relative;top:0;left:auto!important;right:auto!important;width:100%;pointer-events:auto;height:auto;opacity:1;display:block;visibility:visible;float:none}.main-navigation.toggled .main-nav li{float:none;clear:both;display:block;text-align:left}.main-navigation.toggled .main-nav li.hide-on-mobile{display:none!important}.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle{float:right}.main-navigation.toggled .menu li.search-item{display:none!important}.main-navigation.toggled .sf-menu>li.menu-item-float-right{float:none;display:inline-block}@media (max-width:768px){a,body,button,input,select,textarea{transition:all 0s ease-in-out}.top-bar.top-bar-align-left,.top-bar.top-bar-align-right{text-align:center}.top-bar .widget{float:none!important;margin:0 10px!important}.top-bar .widget_nav_menu li{float:none;display:inline-block;padding:5px 0}.footer-bar .widget_nav_menu li:first-child{margin-left:10px}.footer-bar .widget_nav_menu li:last-child{margin-right:10px}.inside-header>:not(:last-child):not(.main-navigation){margin-bottom:20px}.header-aligned-right .site-header,.site-header{text-align:center}.header-widget{float:none;max-width:100%;text-align:center}.content-area,.inside-footer-widgets>div,.sidebar{float:none;width:100%;left:0;right:0}.site-main{margin-left:0!important;margin-right:0!important}body:not(.no-sidebar) .site-main{margin-bottom:0!important}.one-container .sidebar{margin-top:40px}.separate-containers #left-sidebar+#right-sidebar .inside-right-sidebar{margin-top:0}.both-left.separate-containers .inside-left-sidebar,.both-left.separate-containers .inside-right-sidebar,.both-right.separate-containers .inside-left-sidebar,.both-right.separate-containers .inside-right-sidebar{margin-right:0;margin-left:0}.alignleft,.alignright{float:none;display:block;margin-left:auto;margin-right:auto}.post-image-aligned-left .post-image,.post-image-aligned-right .post-image{float:none;margin:2em 0;text-align:center}.comment .children{padding-left:10px;margin-left:0}.edd_download{display:block;float:none!important;margin-bottom:1.5em;width:100%!important}.entry-meta{font-size:inherit}.entry-meta a{line-height:1.8em}.site-info{text-align:center}.copyright-bar{float:none!important;text-align:center!important}.footer-bar{float:none!important;text-align:center!important;margin-bottom:20px}.footer-bar .widget_nav_menu li{float:none;display:inline-block;padding:5px 0}.inside-footer-widgets>div:not(:last-child){margin-bottom:40px}.site-footer .footer-widgets .footer-widgets-container .inside-footer-widgets{margin:0}.site-footer .footer-widgets .footer-widgets-container .inner-padding{padding:0}}
@@ -0,0 +1,178 @@
caption,
td,
th {
text-align: right;
}
.menu-item-has-children .dropdown-menu-toggle {
float: left !important;
}
.main-navigation li {
float: right;
text-align: right;
}
.main-navigation li.search-item,
.nav-aligned-right.nav-below-header .main-navigation .menu > li.search-item {
float: left;
}
.nav-left-sidebar .main-navigation li.search-item.current-menu-item,
.nav-right-sidebar .main-navigation li.search-item.current-menu-item {
float: left;
}
.rtl.nav-aligned-left .main-navigation .menu > li {
float: none;
display: inline-block;
}
.rtl.nav-aligned-left .main-navigation ul {
letter-spacing: -0.31em;
font-size: 1em;
}
.rtl.nav-aligned-left .main-navigation ul li {
letter-spacing: normal;
}
.rtl.nav-aligned-left .main-navigation {
text-align: left;
}
.sidebar .menu-item-has-children .dropdown-menu-toggle,
nav ul ul .menu-item-has-children .dropdown-menu-toggle {
float: left;
}
.comment-meta .avatar {
float: right;
margin-left: 10px;
}
.page-header .avatar {
float: right;
margin-left: 1.5em;
}
.header-widget {
float: left;
}
.sf-menu > li.menu-item-float-right {
float: left !important;
}
.slideout-navigation .menu-item-has-children .dropdown-menu-toggle {
float: left;
}
.dropdown-click #generate-slideout-menu .slideout-menu .menu-item-has-children > a:first-child,
.slideout-desktop.dropdown-hover #generate-slideout-menu .slideout-menu .menu-item-has-children > a:first-child {
padding-left: 0;
}
.comment .children {
padding-right: 30px;
border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.main-navigation .main-nav ul li.menu-item-has-children > a,
.secondary-navigation .main-nav ul li.menu-item-has-children > a {
padding-left: 0;
}
nav:not(.toggled) ul ul .menu-item-has-children .dropdown-menu-toggle {
padding-left: 15px;
}
nav:not(.toggled) .menu-item-has-children .dropdown-menu-toggle {
padding-right: 10px;
}
.main-navigation ul,
.menu-toggle li.search-item {
padding-right: 0;
}
ol,
ul {
margin: 0 3em 1.5em 0;
}
li > ol,
li > ul {
margin-right: 1.5em;
}
.menu-toggle .mobile-menu {
margin-right: 5px;
margin-left: 0;
}
.widget_categories .children {
margin-right: 1.5em;
}
.widget_nav_menu ul ul,
.widget_pages ul ul {
margin-right: 1em;
}
.cat-links:before,
.comments-link:before,
.nav-next .next:before,
.nav-previous .prev:before,
.tags-links:before {
margin-left: 0.6em;
margin-right: 0;
}
.menu-toggle,
.nav-search-enabled .main-navigation .menu-toggle {
text-align: right;
}
.main-navigation .mobile-bar-items {
float: left;
left: 0;
right: auto;
}
.rtl .navigation-search {
left: auto;
right: -999999px;
}
.rtl .navigation-search.nav-search-active {
right: 0;
}
.rtl .footer-bar .widget_nav_menu li {
direction: rtl;
float: right;
}
.main-navigation.toggled .main-nav li {
text-align: right !important;
}
.entry-meta .gp-icon {
margin-right: 0;
margin-left: 0.6em;
}
@media (max-width: 768px) {
.rtl .mobile-bar-items {
position: absolute;
left: 0;
top: 0;
}
}
@media (min-width: 768px) {
.inside-footer-widgets > div {
float: right;
}
}
@@ -0,0 +1 @@
caption,td,th{text-align:right}.menu-item-has-children .dropdown-menu-toggle{float:left!important}.main-navigation li{float:right;text-align:right}.main-navigation li.search-item,.nav-aligned-right.nav-below-header .main-navigation .menu>li.search-item{float:left}.nav-left-sidebar .main-navigation li.search-item.current-menu-item,.nav-right-sidebar .main-navigation li.search-item.current-menu-item{float:left}.rtl.nav-aligned-left .main-navigation .menu>li{float:none;display:inline-block}.rtl.nav-aligned-left .main-navigation ul{letter-spacing:-.31em;font-size:1em}.rtl.nav-aligned-left .main-navigation ul li{letter-spacing:normal}.rtl.nav-aligned-left .main-navigation{text-align:left}.sidebar .menu-item-has-children .dropdown-menu-toggle,nav ul ul .menu-item-has-children .dropdown-menu-toggle{float:left}.comment-meta .avatar{float:right;margin-left:10px}.page-header .avatar{float:right;margin-left:1.5em}.header-widget{float:left}.sf-menu>li.menu-item-float-right{float:left!important}.slideout-navigation .menu-item-has-children .dropdown-menu-toggle{float:left}.dropdown-click #generate-slideout-menu .slideout-menu .menu-item-has-children>a:first-child,.slideout-desktop.dropdown-hover #generate-slideout-menu .slideout-menu .menu-item-has-children>a:first-child{padding-left:0}.comment .children{padding-right:30px;border-right:1px solid rgba(0,0,0,.05)}.main-navigation .main-nav ul li.menu-item-has-children>a,.secondary-navigation .main-nav ul li.menu-item-has-children>a{padding-left:0}nav:not(.toggled) ul ul .menu-item-has-children .dropdown-menu-toggle{padding-left:15px}nav:not(.toggled) .menu-item-has-children .dropdown-menu-toggle{padding-right:10px}.main-navigation ul,.menu-toggle li.search-item{padding-right:0}ol,ul{margin:0 3em 1.5em 0}li>ol,li>ul{margin-right:1.5em}.menu-toggle .mobile-menu{margin-right:5px;margin-left:0}.widget_categories .children{margin-right:1.5em}.widget_nav_menu ul ul,.widget_pages ul ul{margin-right:1em}.cat-links:before,.comments-link:before,.nav-next .next:before,.nav-previous .prev:before,.tags-links:before{margin-left:.6em;margin-right:0}.menu-toggle,.nav-search-enabled .main-navigation .menu-toggle{text-align:right}.main-navigation .mobile-bar-items{float:left;left:0;right:auto}.rtl .navigation-search{left:auto;right:-999999px}.rtl .navigation-search.nav-search-active{right:0}.rtl .footer-bar .widget_nav_menu li{direction:rtl;float:right}.main-navigation.toggled .main-nav li{text-align:right!important}.entry-meta .gp-icon{margin-right:0;margin-left:.6em}@media (max-width:768px){.rtl .mobile-bar-items{position:absolute;left:0;top:0}}@media (min-width:768px){.inside-footer-widgets>div{float:right}}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
<?php return array('dependencies' => array('wp-data', 'wp-dom-ready', 'wp-editor', 'wp-element', 'wp-plugins'), 'version' => '24bb9110ccf231b1e49f');
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => '79795830803e662a540e');
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => '4fb4e80889b2568d409a');
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
<?php return array('dependencies' => array(), 'version' => 'b9041bb3f75d06782df7');
+1
View File
@@ -0,0 +1 @@
!function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function t(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var n=function(e){var n=e.targetModal,r=(e.openTrigger,e.triggers),o=void 0===r?[]:r,a=document.getElementById(n);if(a){var i="data-gpmodal-close",l="gp-modal--open",s="";o.length>0&&function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.filter(Boolean).forEach((function(e){e.addEventListener("click",(function(e){e.preventDefault(),c()})),e.addEventListener("keydown",(function(e){" "!==e.key&&"Enter"!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),c())}))}))}.apply(void 0,t(o))}function c(){a.classList.add("gp-modal--transition"),s=document.activeElement,a.classList.add(l),u("disable"),a.addEventListener("touchstart",f),a.addEventListener("click",f),document.addEventListener("keydown",v),function(){var e=g();if(0!==e.length){var t=e.filter((function(e){return!e.hasAttribute(i)}));t.length>0&&t[0].focus(),0===t.length&&e[0].focus()}}(),setTimeout((function(){return a.classList.remove("gp-modal--transition")}),100)}function d(){a.classList.add("gp-modal--transition"),a.removeEventListener("touchstart",f),a.removeEventListener("click",f),document.removeEventListener("keydown",v),u("enable"),s&&s.focus&&s.focus(),a.classList.remove(l),setTimeout((function(){return a.classList.remove("gp-modal--transition")}),500)}function u(e){var t=document.querySelector("body");switch(e){case"enable":Object.assign(t.style,{overflow:""});break;case"disable":Object.assign(t.style,{overflow:"hidden"})}}function f(e){(e.target.hasAttribute(i)||e.target.parentNode.hasAttribute(i))&&(e.preventDefault(),e.stopPropagation(),d())}function v(e){27===e.keyCode&&d(),9===e.keyCode&&function(e){var t=g();if(0!==t.length){var n=(t=t.filter((function(e){return null!==e.offsetParent}))).indexOf(document.activeElement);e.shiftKey&&0===n&&(t[t.length-1].focus(),e.preventDefault()),!e.shiftKey&&t.length>0&&n===t.length-1&&(t[0].focus(),e.preventDefault())}}(e)}function g(){var e=a.querySelectorAll(["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])']);return Array.apply(void 0,t(e))}},r=Object.assign({},{openTrigger:"data-gpmodal-trigger"}),o=t(document.querySelectorAll("[".concat(r.openTrigger,"]"))).reduce((function(e,t){var n=t.attributes[r.openTrigger].value;return e[n]=e[n]||[],e[n].push(t),e}),[]);for(var a in o){var i=o[a];r.targetModal=a,r.triggers=t(i),new n(r)}}();
@@ -0,0 +1,9 @@
.components-base-control__help{margin-bottom:0;margin-top:2px}.components-base-control__label{display:block;margin-bottom:10px}.generate-customize-control-wrapper{display:flex}.generate-customize-control-wrapper[data-wrapper-type=color]>div:first-child{flex-grow:1}.generate-customize-control-wrapper[data-wrapper-type=color]>div:not(:first-child):not(:empty){margin-left:5px}.generate-customize-control-wrapper[data-wrapper-type=two-col]>div{flex-basis:calc(50% - 5px)}.generate-customize-control-wrapper[data-wrapper-type=two-col]>div:nth-child(odd){margin-right:5px}.generate-customize-control-wrapper[data-wrapper-type=two-col]>div:nth-child(2n){margin-left:5px}.generate-customize-control--popover>.components-popover__content{box-sizing:border-box;padding:15px;width:280px}.generate-customize-control--popover .components-base-control:not(:last-child){margin-bottom:15px}.customize-control[data-toggleid]{display:none}#customize-control-generate_settings-google_font_display{display:flex;flex-direction:column;margin-top:10px}#customize-control-generate_settings-google_font_display .description{margin-bottom:0;margin-top:5px;order:10}
.generate-component-color-picker{padding:5px 15px 5px 5px}
.generate-component-color-picker .components-color-picker{box-sizing:border-box}.generate-component-color-picker .components-color-picker__inputs-wrapper{display:none}.generate-component-color-picker .react-colorful{width:100%!important}.generate-component-color-picker .react-colorful .react-colorful__pointer{height:20px;width:20px}.generate-component-color-picker .react-colorful .react-colorful__saturation{height:150px}.generate-component-color-picker .generate-color-input-wrapper{display:flex;padding:0}.generate-component-color-picker .generate-color-input-wrapper .generate-color-input{flex-grow:1}.generate-component-color-picker .generate-color-input-wrapper .components-color-clear-color{margin-left:5px}.generate-component-color-picker .generate-color-input-wrapper input{margin-right:5px}.generate-component-color-picker .generate-color-input-wrapper .components-base-control__field,.generate-component-color-picker>.components-base-control:first-child{margin-bottom:0}.generate-component-color-picker .components-color-picker__inputs-wrapper{min-width:auto}.generate-component-color-picker .generate-component-color-picker-palette{padding:16px 0 0}.generate-component-color-picker .generate-component-color-picker-palette .components-circular-option-picker{display:flex;flex-wrap:wrap}.generate-component-color-picker .generate-component-color-picker-palette .components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:6px}.generate-component-color-picker .components-color-palette,.generate-component-color-picker .generate-component-color-picker-palette .components-circular-option-picker .components-circular-option-picker__swatches .components-circular-option-picker__option-wrapper{margin:0}.generate-component-color-picker .components-color-picker{padding:5px;width:100%}.generate-component-color-picker .components-color-picker__body{padding-bottom:0}.generate-component-color-picker .components-popover__content{box-sizing:border-box;padding:10px;width:295px}.generate-component-color-picker .components-color-clear-color{height:auto}.generate-component-color-picker .components-circular-option-picker__option.is-pressed+svg{fill:#fff;background:#000;transform:scale(.6)}@media screen and (max-width:1666px){.generate-component-color-picker .components-popover__content{width:265px}}.generate-customize-control-wrapper{display:flex}.generate-customize-control-wrapper.generate-customize-color-control-wrapper>div:first-child{flex-grow:1}.generate-customize-control-wrapper.generate-customize-color-control-wrapper>div:not(:last-child){margin-right:5px}.generate-component-color-picker-wrapper>.components-base-control__field{align-items:center;display:flex;justify-content:space-between;position:relative}.generate-component-color-picker-wrapper>.components-base-control__field .components-color-palette__item-wrapper{margin:0}.generate-color-picker-area button,.generate-component-color-picker-palette button{height:28px;position:relative;width:28px}.generate-color-picker-area button:hover,.generate-component-color-picker-palette button:hover{background-color:inherit}.generate-color-picker-area button:focus:after,.generate-component-color-picker-palette button:focus:after{border:0;box-shadow:inset 0 0 0 2px #757575;height:28px;left:0;top:0;transform:none;width:28px}.generate-customize-control--popover .components-color-picker{box-sizing:border-box}.generate-customize-control--popover .components-color-picker__inputs-wrapper{display:none}.generate-customize-control--popover>.components-base-control:first-child{margin-bottom:0}.generate-customize-control--popover .components-color-picker__inputs-wrapper{min-width:auto}.generate-customize-control--popover .components-color-picker{padding:5px}.generate-customize-control--popover .components-color-picker__body{padding-bottom:0}.generate-customize-control--popover .components-color-clear-color{height:auto}.generate-component-color-picker[data-x-axis=left] .components-popover__content{margin-right:-35px!important}.generate-color-input--icon{align-items:center;border:1px solid;border-bottom-left-radius:3px;border-right:0;border-top-left-radius:3px;display:flex;justify-content:center;padding:5px}.generate-color-input--icon svg{height:1em;transform:scale(1.3);width:1em}.generate-color-option-area{padding:16px 0 0}.generate-color-input--css-var-name-wrapper{position:relative}.generate-color-input--css-var-name-wrapper button{bottom:0;height:auto;min-height:30px;padding:0 8px;position:absolute;right:0}.generate-color-input--css-var-name-wrapper button svg{fill:none;height:1em;width:1em}
.generate-font-manager--item{margin-bottom:10px}.generate-font-manager--item .generate-font-manager--header{align-items:center;display:flex}.generate-font-manager--item .generate-font-manager--header .generate-font-manager--label{flex-grow:1;overflow:hidden;padding-left:0;text-overflow:ellipsis;white-space:nowrap}.generate-font-manager--item .generate-font-manager--header .components-button:not(.generate-font-manager--label){align-items:center;background:#fff;border:1px solid #777;border-radius:100%;display:flex;flex-shrink:0;height:30px;justify-content:center;margin-left:5px;min-width:30px;padding:0;width:30px}.generate-font-manager--item .generate-font-manager--header .components-button:not(.generate-font-manager--label) svg{height:1em;margin-right:0;width:1em}.generate-font-manager--item .generate-font-manager--header .components-button:not(.generate-font-manager--label).generate-font-manager--open svg{fill:none}.generate-font-manager--item .generate-font-manager--options{margin-top:15px}.generate-font-manager--item .generate-font-manager--footer{border-top:1px solid #ddd;margin-top:15px;padding-top:15px}.generate-font-manager--item .generate-font-manager-google-font--field{margin-top:10px}.generate-font-manager--item .generate-font-manager--google-font-options{display:flex;flex-wrap:wrap;margin-top:15px}.generate-font-manager--item .generate-font-manager--google-font-options>div{flex-basis:calc(50% - 10px);margin-bottom:0}.generate-font-manager--item .generate-font-manager--google-font-options>div:nth-child(2n){margin-left:5px}.generate-font-manager--item .generate-font-manager--google-font-options>div:nth-child(odd){margin-right:5px}.generate-font-manager--item .generate-font-manager--google-font-options .components-base-control__field{margin-bottom:0!important}.generate-font-manager--item .generate-font-manager--select-options{display:flex;flex-wrap:wrap}.generate-font-manager--item .generate-font-manager--select-options>div{flex-basis:calc(50% - 5px)}.generate-font-manager--item .generate-font-manager--select-options>div:nth-child(2n){margin-left:5px}.generate-font-manager--item .generate-font-manager--select-options>div:nth-child(odd){margin-right:5px}.generate-font-manager--item .components-select-control__input--generate-fontfamily{margin-bottom:3px}.generate-font-manager--item .generate-advanced-select__menu{position:relative!important}.generate-font-manager-group{margin-bottom:20px;margin-top:10px}.generate-font-manager-group__label{color:#000;font-size:11px;margin-bottom:10px;margin-top:0;text-transform:uppercase}.generate-font-manager-group .generate-font-manager--item:last-child{margin-bottom:0}.generate-customize-control--font-dropdown{background:#fff;margin-top:10px;padding:15px;position:relative}.generate-customize-control--font-dropdown:before{border-color:transparent transparent #fff;border-style:solid;border-width:0 10px 10px;content:"";height:0;left:11px;position:absolute;top:-10px;width:0;z-index:10}.generate-customize-control--font-dropdown>.components-base-control:not(:last-child){margin-bottom:15px}.generate-customize-control--font-dropdown>.components-base-control:last-child .components-base-control__field{margin-bottom:0}
.generate-advanced-select__control{margin-bottom:12px}.generate-advanced-select__value-container{padding:0 6px!important}.generate-advanced-select__value-container>div{margin:0;padding:0}.generate-advanced-select__input input[type=text]:focus{box-shadow:none}.generate-advanced-select__option--is-selected{color:hsla(0,0%,100%,.5)!important}
.components-generate-units-control-header__units{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.components-generate-control__units .components-generate-control-buttons__units button.components-button{background:#fff;border:0;border-radius:0!important;box-shadow:none!important;color:#929da7;font-size:10px;height:auto;line-height:20px;padding:0 5px;position:relative;text-align:center;text-shadow:none}.components-generate-control__units .components-generate-control-buttons__units button.components-button.is-primary{background:#fff!important;color:#000!important;cursor:default;font-weight:700;z-index:1}.generate-component-device-field[data-device=desktop],.generate-component-device-field[data-device=mobile],.generate-component-device-field[data-device=tablet]{display:none}.preview-desktop .generate-component-device-field[data-device=desktop]{display:block}.preview-desktop .components-generate-control__units button.components-generate-control-button__units--desktop{color:#000}.preview-tablet .generate-component-device-field[data-device=tablet]{display:block}.preview-tablet .components-generate-control__units button.components-generate-control-button__units--tablet{color:#000}.preview-mobile .generate-component-device-field[data-device=mobile]{display:block}.preview-mobile .components-generate-control__units button.components-generate-control-button__units--mobile{color:#000}
.gblocks-unit-control__disabled .gblocks-unit-control__input>.components-base-control{opacity:.5}.gblocks-unit-control__override-action{align-items:center;display:flex}.gblocks-unit-control__override-action button.components-button{height:20px;justify-content:center!important;min-width:20px;padding:0;width:20px}.gblocks-unit-control__override-action button.components-button.is-primary:focus:not(.disabled){box-shadow:0 0 0}.gblocks-unit-control__override-action button.components-button svg{margin:0!important;width:15px}.gblocks-unit-control__input{align-items:flex-start;display:flex;position:relative}.gblocks-unit-control__input .components-base-control:first-child{flex-grow:1}.gblocks-unit-control__input .components-base-control,.gblocks-unit-control__input .components-base-control__field{margin-bottom:0}.gblocks-unit-control__input--action{bottom:0;display:flex;gap:3px;position:absolute;right:5px;top:0}.gblocks-unit-control__input .gblocks-unit-control-units{align-items:center;display:flex;justify-content:center}.gblocks-unit-control__input .gblocks-unit-control-units button{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;font-size:10px;height:20px;justify-content:center;min-width:20px;padding:0 3px;width:auto}.gblocks-unit-control__input .gblocks-unit-control-units button:disabled{pointer-events:none}.gblocks-unit-control__input .gblocks-unit-control-units button.is-opened,.gblocks-unit-control__input .gblocks-unit-control-units button:hover{border-color:currentColor}.gblocks-unit-control__input .gblocks-unit-control-units button.is-opened{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#007cba));color:var(--wp-components-color-accent-inverted,#fff)}.gblocks-unit-control-popover .components-menu-group>div[role=group]{-ms-grid-columns:(1fr)[4];display:-ms-grid;display:grid;grid-template-columns:repeat(4,1fr)}.gblocks-unit-control-popover .components-menu-group>div[role=group] button{display:flex;justify-content:center;min-height:auto}.gblocks-unit-control-popover .components-menu-group>div[role=group] button .components-menu-item__item{font-size:11px;margin:0;min-width:auto}
.generate-color-manager-dnd-list{border:1px dashed #959595;display:flex;flex-wrap:wrap;padding:10px 5px 5px}.generate-color-manager-dnd-list .generate-color-manager-dnd-list-item{border-radius:50%;cursor:grab;display:inline-block;height:28px;margin:0 5px 5px 0;position:relative;vertical-align:top;width:28px}.generate-color-manager-dnd-list .generate-color-manager-dnd-list-item:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width=%2728%27 height=%2728%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z%27 fill=%27%23555D65%27/%3E%3Cpath fill-rule=%27evenodd%27 clip-rule=%27evenodd%27 d=%27M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z%27 fill=%27%23555D65%27/%3E%3Cpath d=%27M18 18v2h-2v-2h2z%27 fill=%27%23555D65%27/%3E%3Cpath fill-rule=%27evenodd%27 clip-rule=%27evenodd%27 d=%27M8 10V8H6v2H4v2h2v2H4v2h2v2H4v2h2v2H4v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2v2h-2V4h-2v2h-2V4h-2v2h-2V4h-2v2h2v2h-2v2H8zm0 2v-2H6v2h2zm2 0v-2h2v2h-2zm0 2v-2H8v2H6v2h2v2H6v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h-2v2h-2V6h-2v2h-2v2h2v2h-2v2h-2z%27 fill=%27%23555D65%27/%3E%3Cpath fill-rule=%27evenodd%27 clip-rule=%27evenodd%27 d=%27M4 0H2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v2H0v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2h-2V0h-2v2H8V0H6v2H4V0zm0 4V2H2v2h2zm2 0V2h2v2H6zm0 2V4H4v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2H2v2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h2v2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2v-2h-2v-2h2V8h-2V6h2V4h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2h-2V2h-2v2H8v2H6z%27 fill=%27%23555D65%27/%3E%3C/svg%3E");border-radius:50%;bottom:1px;content:"";left:1px;position:absolute;right:1px;top:1px;z-index:-1}.generate-color-manager-dnd-list .generate-color-manager-dnd-list-item span{border-radius:50%;display:block;height:28px;position:relative;width:28px}.generate-color-manager-dnd-list .generate-color-manager-dnd-list-item span:after{border:1px solid transparent;border-radius:50%;bottom:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);content:"";left:-1px;position:absolute;right:-1px;top:-1px}.generate-color-manager-wrapper{display:flex;flex-wrap:wrap}.generate-color-manager-wrapper .generate-color-manager--item{margin-bottom:5px;margin-right:5px;position:relative}.generate-color-manager-wrapper .generate-color-manager--item:last-child{margin-right:0}.generate-color-manager-wrapper .generate-color-manager--item .components-button.generate-color-manager--delete-color{background:rgba(0,0,0,.7);border-radius:100%;color:#fff;height:auto;min-width:0;opacity:0;padding:2px;pointer-events:none;position:absolute;right:-10px;top:-10px;transition:opacity .5s ease}.generate-color-manager-wrapper .generate-color-manager--item .components-button.generate-color-manager--delete-color svg{height:15px;margin-right:0!important;width:15px}.generate-color-manager-wrapper .generate-color-manager--item .components-button.generate-color-manager--delete-color:focus,.generate-color-manager-wrapper .generate-color-manager--item:hover .components-button.generate-color-manager--delete-color{opacity:1;pointer-events:auto}.generate-color-manager-wrapper .generate-color-manager--item .components-circular-option-picker__option-wrapper{margin:0}.generate-color-manager-wrapper .generate-color-manager--item .components-button.generate-color-manager--add-color{align-items:center;background:#fff;border:1px solid #777;border-radius:100%;display:flex;height:28px;justify-content:center;padding:0;width:28px}.generate-color-manager-wrapper .generate-color-manager--item .components-button.generate-color-manager--add-color svg{width:20px}
.generate-customize-control-title{display:flex;justify-content:space-between}.generate-customize-control-title button.generate-customize-control-title--label{font-size:14px;font-weight:500;height:auto;padding:0}.generate-customize-control-title button.generate-customize-control-title--toggle{align-items:center;background:#fff;border:1px solid #777;border-radius:100%;display:flex;height:28px;justify-content:center;padding:0;width:28px}.generate-customize-control-title button.generate-customize-control-title--toggle svg{fill:none;height:1em;width:1em}.generate-customize-control-title h3{font-size:14px!important;font-weight:500;margin-bottom:0}
@@ -0,0 +1,4 @@
.generate-dashboard-page .wrap{margin-right:0}.generate-dashboard-page #wpcontent{padding-left:0}.generate-dashboard-page .update-nag{margin-bottom:20px;margin-left:22px}.generate-dashboard-page.edit-php #wpbody-content .wrap{margin:0;padding:0 20px}.generatepress-dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #e2e4e7;display:flex;justify-content:space-between;padding:0 20px;text-align:center}.generatepress-dashboard-header h1{align-items:center;display:flex;font-size:17px;font-weight:600;padding-bottom:0}.generatepress-dashboard-header h1 svg{fill:#006eb7;height:1em;padding-right:10px;width:1em}.generatepress-dashboard-header__navigation{background:#fff;display:flex}.generatepress-dashboard-header__navigation a{align-items:center;color:inherit;display:flex;padding:1rem;text-decoration:none}.generatepress-dashboard-header__navigation a.active{box-shadow:inset 0 -3px #007cba;font-weight:600}.generatepress-dashboard{font-size:15px;margin:40px auto;max-width:1000px;padding:0 30px}.generatepress-dashboard h2{font-size:25px;line-height:1.2em;margin:0}.generatepress-dashboard__placeholder.components-placeholder{background:none;box-shadow:none;margin-bottom:50px;outline:none;padding:0}.generatepress-dashboard__section-title{align-items:center;display:flex;margin-bottom:15px}.generatepress-dashboard__section-title>h2:first-child:not(:last-child){margin-right:10px}.generatepress-dashboard__section-description{margin-bottom:20px;margin-top:-10px}.generatepress-dashboard__section-description p{font-size:15px;margin:0}.generatepress-dashboard__section{color:#555;margin-bottom:50px}.generatepress-dashboard__section-item{align-items:center;background:#fff;display:flex;justify-content:space-between;padding:20px}.generatepress-dashboard__section-item:not(:last-child){border-bottom:1px solid #ddd}.generatepress-dashboard__section-item-title{font-weight:600}.generatepress-dashboard__section-item-action{align-items:center;display:flex;padding-left:20px}.generatepress-dashboard__section-item-action>:not(:last-child){margin-right:10px}.generatepress-dashboard__section-item-action .is-primary .components-spinner{background:rgba(0,0,0,.1);border-radius:100%;margin-top:0}.generatepress-dashboard__section-item-description{color:#80879a;font-size:13px;margin-top:3px}.generatepress-dashboard__section-item-message{background:#fafafa;border-radius:3px;box-shadow:1px 1px 1px rgba(0,0,0,.05);color:#555;display:none;font-size:12px;padding:5px 10px}.generatepress-dashboard__section-item-message__show{color:green;display:inline}.generatepress-dashboard__section-item-message__error{color:red}.generatepress-dashboard__reset-button.is-primary{background-color:#e02a2a}.generatepress-dashboard__reset-button.is-primary:hover:not(:disabled){background-color:darkred}@media(max-width:768px){.generatepress-dashboard-header{flex-direction:column}.generatepress-dashboard{padding-left:20px;padding-right:20px}}
.generatepress-start-customizing{color:#555;display:flex;flex-wrap:wrap;margin-left:-30px}.generatepress-start-customizing__item{background:#fff;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;margin-bottom:30px;margin-left:30px;padding:30px;width:calc(50% - 30px)}.generatepress-start-customizing__icon{align-items:center;background:#1e72bd;border-radius:100%;color:#fff;display:flex;height:50px;justify-content:center;margin-bottom:25px;width:50px}.generatepress-start-customizing__title{font-weight:500;margin-bottom:1em}.generatepress-start-customizing__description{font-weight:300;line-height:1.5em;margin-bottom:1em}.generatepress-start-customizing__action{margin-top:auto}.generatepress-start-customizing__pro{background:#f0544f;border-radius:2px;color:#fff;display:inline-block;font-size:11px;margin-left:5px;padding:0 5px}
.generatepress-dashboard__premium{color:#555;display:flex;flex-wrap:wrap;margin-left:-30px}.generatepress-dashboard__premium-item{background:#fff;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;flex-grow:1;margin-bottom:30px;margin-left:30px;padding:30px;width:calc(50% - 30px)}.generatepress-dashboard__premium-item-icon{align-items:center;background:#1e72bd;border-radius:100%;color:#fff;display:flex;height:50px;justify-content:center;margin-bottom:25px;width:50px}.generatepress-dashboard__premium-item-icon svg{height:25px;width:25px}.generatepress-dashboard__premium-item-title{align-items:center;display:flex;font-size:17px;font-weight:500;margin-bottom:10px}.generatepress-dashboard__premium-item-description{font-weight:300;line-height:1.5em;margin-bottom:1em}.generatepress-dashboard__premium-item-action{margin-top:auto}.generatepress-dashboard__premium-item-pro{background:#f0544f;border-radius:2px;color:#fff;display:inline-block;font-size:11px;margin-left:5px;padding:0 5px}
.generatepress-dashboard__section-item-modules{margin-top:20px}
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

@@ -0,0 +1,20 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="GeneratePress" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="896" descent="-128" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xf002;" glyph-name="search" d="M416 800c-176.732 0-320-143.268-320-320s143.268-320 320-320c176.732 0 320 143.268 320 320s-143.268 320-320 320zM0 480c0 229.75 186.25 416 416 416s416-186.25 416-416c0-97.482-33.53-187.132-89.686-258.048l267.652-268.036c18.732-18.758 18.71-49.15-0.050-67.882-18.758-18.732-49.15-18.71-67.882 0.050l-267.558 267.942c-70.982-56.36-160.798-90.026-258.476-90.026-229.75 0-416 186.25-416 416z" />
<glyph unicode="&#xf00d;" glyph-name="times" d="M142.058 753.942c18.746 18.744 49.138 18.744 67.884 0l302.058-302.060 302.058 302.060c18.746 18.744 49.138 18.744 67.884 0 18.744-18.746 18.744-49.138 0-67.884l-302.060-302.058 302.060-302.058c18.744-18.746 18.744-49.138 0-67.884-18.746-18.744-49.138-18.744-67.884 0l-302.058 302.060-302.058-302.060c-18.746-18.744-49.138-18.744-67.884 0-18.744 18.746-18.744 49.138 0 67.884l302.060 302.058-302.060 302.058c-18.744 18.746-18.744 49.138 0 67.884z" />
<glyph unicode="&#xf02c;" glyph-name="tags" d="M40 817c-17.672 0-32-14.326-32-32v-352c0-8.486 3.372-16.626 9.374-22.628l448-448c12.496-12.496 32.756-12.496 45.252 0l352 352c12.488 12.488 12.5 32.728 0.026 45.23l-447 448c-6.002 6.016-14.152 9.398-22.652 9.398h-353zM152 625c0 26.51 21.49 48 48 48s48-21.49 48-48c0-26.51-21.49-48-48-48s-48 21.49-48 48zM519.030 809.97c9.372 9.374 24.568 9.374 33.94 0l456-456c9.372-9.372 9.372-24.568 0-33.94l-360-360c-9.372-9.374-24.568-9.374-33.94 0-9.372 9.372-9.372 24.568 0 33.94l343.028 343.030-439.028 439.030c-9.372 9.372-9.372 24.568 0 33.94z" />
<glyph unicode="&#xf07b;" glyph-name="folder" d="M0 672c0 53.020 42.98 96 96 96h220.028c37.462 0 71.502-21.792 87.184-55.814l24.698-53.582c5.228-11.34 16.574-18.604 29.062-18.604h471.028c53.020 0 96-42.98 96-96v-448c0-53.020-42.98-96-96-96h-832c-53.020 0-96 42.98-96 96v576z" />
<glyph unicode="&#xf086;" glyph-name="comments" d="M265.676 236.054c11.374 5.805 22.622 11.82 33.537 18.008 26.727 15.149 53.176 32.285 74.839 51.015 15.088-1.193 30.54-1.851 46.197-1.851 109.809 0 211.267 30.622 286.571 82.561 47.454 32.73 86.229 75.384 108.309 125.29 109.478-44.412 182.996-126.545 182.996-220.573 0-84.371-59.116-158.995-150.179-205.655 46.921-98.432 150.179-203.418 150.179-203.418s-231.674 76.701-308.848 156.918c-19.911-2.238-40.594-3.515-61.584-3.515-177.454 0-325.855 86.143-362.015 201.221zM766.742 630.996c0-141.206-165.922-255.575-370.433-255.575-20.991 0-41.674 1.278-61.584 3.515-77.174-80.187-308.848-156.859-308.848-156.859s103.258 104.944 150.179 203.341c-91.063 46.641-150.179 121.237-150.179 205.577 0 141.204 165.922 255.573 370.433 255.573s370.433-114.369 370.433-255.573z" />
<glyph unicode="&#xf0c9;" glyph-name="bars" d="M0 704c0 26.51 21.49 48 48 48h928c26.51 0 48-21.49 48-48s-21.49-48-48-48h-928c-26.51 0-48 21.49-48 48zM0 384c0 26.51 21.49 48 48 48h928c26.51 0 48-21.49 48-48s-21.49-48-48-48h-928c-26.51 0-48 21.49-48 48zM0 64c0 26.51 21.49 48 48 48h928c26.51 0 48-21.49 48-48s-21.49-48-48-48h-928c-26.51 0-48 21.49-48 48z" />
<glyph unicode="&#xf104;" glyph-name="angle-left" horiz-adv-x="384" d="M356.85 619.576c0-4.53-2.266-9.627-5.665-13.025l-222.633-222.554 222.633-222.554c3.399-3.398 5.665-8.494 5.665-13.025s-2.266-9.627-5.665-13.025l-28.325-28.315c-3.399-3.398-8.497-5.663-13.029-5.663s-9.63 2.265-13.029 5.663l-263.987 263.893c-3.399 3.398-5.665 8.494-5.665 13.025s2.266 9.627 5.665 13.025l263.987 263.893c3.399 3.398 8.497 5.663 13.029 5.663s9.63-2.265 13.029-5.663l28.325-28.315c3.399-3.398 5.665-7.928 5.665-13.025z" />
<glyph unicode="&#xf105;" glyph-name="angle-right" horiz-adv-x="384" d="M356.85 383.998c0-4.532-2.266-9.63-5.665-13.029l-263.987-263.987c-3.399-3.399-8.497-5.665-13.029-5.665s-9.63 2.266-13.029 5.665l-28.325 28.325c-3.399 3.399-5.665 7.931-5.665 13.029 0 4.532 2.266 9.63 5.665 13.029l222.633 222.633-222.633 222.633c-3.399 3.399-5.665 8.497-5.665 13.029s2.266 9.63 5.665 13.029l28.325 28.325c3.399 3.399 8.497 5.665 13.029 5.665s9.63-2.266 13.029-5.665l263.987-263.987c3.399-3.399 5.665-8.497 5.665-13.029z" />
<glyph unicode="&#xf106;" glyph-name="angle-up" horiz-adv-x="660" d="M611.725 266.169c0-4.532-2.265-9.63-5.663-13.029l-28.315-28.325c-3.398-3.399-7.928-5.665-13.025-5.665-4.53 0-9.627 2.266-13.025 5.665l-222.554 222.633-222.554-222.633c-3.398-3.399-8.494-5.665-13.025-5.665s-9.627 2.266-13.025 5.665l-28.315 28.325c-3.398 3.399-5.663 8.497-5.663 13.029s2.265 9.63 5.663 13.029l263.893 263.987c3.398 3.399 8.494 5.665 13.025 5.665s9.627-2.266 13.025-5.665l263.893-263.987c3.398-3.399 5.663-8.497 5.663-13.029z" />
<glyph unicode="&#xf107;" glyph-name="angle-down" horiz-adv-x="660" d="M611.825 501.831c0-4.532-2.266-9.63-5.665-13.029l-263.987-263.987c-3.399-3.399-8.497-5.665-13.029-5.665s-9.63 2.266-13.029 5.665l-263.987 263.987c-3.399 3.399-5.665 8.497-5.665 13.029s2.266 9.63 5.665 13.029l28.325 28.325c3.399 3.399 7.931 5.665 13.029 5.665 4.532 0 9.63-2.266 13.029-5.665l222.633-222.633 222.633 222.633c3.399 3.399 8.497 5.665 13.029 5.665s9.63-2.266 13.029-5.665l28.325-28.325c3.399-3.399 5.665-8.497 5.665-13.029z" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

@@ -0,0 +1,19 @@
( function() {
'use strict';
// Check if the browser supports querySelector and addEventListener
if ( 'querySelector' in document && 'addEventListener' in window ) {
// Get the body element
var body = document.body;
// Add event listener for pointer interactions with passive option
body.addEventListener( 'pointerdown', function() {
body.classList.add( 'using-mouse' );
}, { passive: true } );
// Add event listener for keyboard interactions
body.addEventListener( 'keydown', function() {
body.classList.remove( 'using-mouse' );
}, { passive: true } );
}
}() );
@@ -0,0 +1,65 @@
( function() {
'use strict';
// Feature Test
if ( 'querySelector' in document && 'addEventListener' in window ) {
var goTopBtn = document.querySelector( '.generate-back-to-top' );
var trackScroll = function() {
var scrolled = window.pageYOffset;
var coords = goTopBtn.getAttribute( 'data-start-scroll' );
if ( scrolled > coords ) {
goTopBtn.classList.add( 'generate-back-to-top__show' );
}
if ( scrolled < coords ) {
goTopBtn.classList.remove( 'generate-back-to-top__show' );
}
};
// Function to animate the scroll
var smoothScroll = function( anchor, duration ) {
// Calculate how far and how fast to scroll
var startLocation = window.pageYOffset;
var endLocation = document.body.offsetTop;
var distance = endLocation - startLocation;
var increments = distance / ( duration / 16 );
var stopAnimation;
// Scroll the page by an increment, and check if it's time to stop
var animateScroll = function() {
window.scrollBy( 0, increments );
stopAnimation();
};
// Stop animation when you reach the anchor OR the top of the page
stopAnimation = function() {
var travelled = window.pageYOffset;
if ( travelled <= ( endLocation || 0 ) ) {
clearInterval( runAnimation );
document.activeElement.blur();
}
};
// Loop the animation function
var runAnimation = setInterval( animateScroll, 16 );
};
if ( goTopBtn ) {
// Show the button when scrolling down.
window.addEventListener( 'scroll', trackScroll );
// Scroll back to top when clicked.
goTopBtn.addEventListener( 'click', function( e ) {
e.preventDefault();
if ( generatepressBackToTop.smooth ) {
smoothScroll( document.body, goTopBtn.getAttribute( 'data-scroll-speed' ) || 400 );
} else {
window.scrollTo( 0, 0 );
}
}, false );
}
}
}() );
@@ -0,0 +1 @@
(()=>{var c;"querySelector"in document&&"addEventListener"in window&&(c=document.querySelector(".generate-back-to-top"))&&(window.addEventListener("scroll",function(){var e=window.pageYOffset,t=c.getAttribute("data-start-scroll");t<e&&c.classList.add("generate-back-to-top__show"),e<t&&c.classList.remove("generate-back-to-top__show")}),c.addEventListener("click",function(e){var t,o,n,a,r;e.preventDefault(),generatepressBackToTop.smooth?(document.body,e=c.getAttribute("data-scroll-speed")||400,t=window.pageYOffset,o=document.body.offsetTop,n=(o-t)/(e/16),a=function(){window.pageYOffset<=(o||0)&&(clearInterval(r),document.activeElement.blur())},r=setInterval(function(){window.scrollBy(0,n),a()},16)):window.scrollTo(0,0)},!1))})();
@@ -0,0 +1,170 @@
( function() {
'use strict';
if ( 'querySelector' in document && 'addEventListener' in window ) {
var body = document.body,
i;
/**
* Dropdown click
*
* @param {Object} e The event.
* @param {Object} _this The clicked item.
*/
var dropdownClick = function( e, _this ) {
e.preventDefault();
e.stopPropagation();
if ( ! _this ) {
_this = this;
}
var closestLi = _this.closest( 'li' );
// Close other sub-menus
var openedSubMenus = _this.closest( 'nav' ).querySelectorAll( 'ul.toggled-on' );
if ( openedSubMenus && ! _this.closest( 'ul' ).classList.contains( 'toggled-on' ) && ! _this.closest( 'li' ).classList.contains( 'sfHover' ) ) {
for ( var o = 0; o < openedSubMenus.length; o++ ) {
openedSubMenus[ o ].classList.remove( 'toggled-on' );
openedSubMenus[ o ].closest( 'li' ).classList.remove( 'sfHover' );
}
}
// Add sfHover class to parent li
closestLi.classList.toggle( 'sfHover' );
if ( body.classList.contains( 'dropdown-click-arrow' ) ) {
// Set aria-expanded on arrow
var dropdownToggle = closestLi.querySelector( '.dropdown-menu-toggle' );
if ( 'false' === dropdownToggle.getAttribute( 'aria-expanded' ) || ! dropdownToggle.getAttribute( 'aria-expanded' ) ) {
dropdownToggle.setAttribute( 'aria-expanded', 'true' );
} else {
dropdownToggle.setAttribute( 'aria-expanded', 'false' );
}
}
if ( body.classList.contains( 'dropdown-click-menu-item' ) && _this.tagName && 'A' === _this.tagName.toUpperCase() ) {
if ( 'false' === _this.getAttribute( 'aria-expanded' ) || ! _this.getAttribute( 'aria-expanded' ) ) {
_this.setAttribute( 'aria-expanded', 'true' );
_this.setAttribute( 'aria-label', generatepressDropdownClick.closeSubMenuLabel );
} else {
_this.setAttribute( 'aria-expanded', 'false' );
_this.setAttribute( 'aria-label', generatepressDropdownClick.openSubMenuLabel );
}
}
var subMenuSelector = '.children';
if ( closestLi.querySelector( '.sub-menu' ) ) {
subMenuSelector = '.sub-menu';
}
// Open the sub-menu
if ( body.classList.contains( 'dropdown-click-menu-item' ) ) {
_this.parentNode.querySelector( subMenuSelector ).classList.toggle( 'toggled-on' );
} else if ( body.classList.contains( 'dropdown-click-arrow' ) ) {
closestLi.querySelector( subMenuSelector ).classList.toggle( 'toggled-on' );
}
};
// Do stuff if click dropdown if enabled
var parentElementLinks = document.querySelectorAll( '.main-nav .menu-item-has-children > a' );
// Open the sub-menu by clicking on the entire link element
if ( body.classList.contains( 'dropdown-click-menu-item' ) ) {
for ( i = 0; i < parentElementLinks.length; i++ ) {
parentElementLinks[ i ].addEventListener( 'click', dropdownClick, true );
parentElementLinks[ i ].addEventListener( 'keydown', function( e ) {
var _this = this;
if ( 'Enter' === e.key || ' ' === e.key ) {
e.preventDefault();
dropdownClick( e, _this );
}
}, false );
}
}
// Open the sub-menu by clicking on a dropdown arrow
if ( body.classList.contains( 'dropdown-click-arrow' ) ) {
// Add a class to sub-menu items that are set to #
for ( i = 0; i < parentElementLinks.length; i++ ) {
if ( '#' === parentElementLinks[ i ].getAttribute( 'href' ) ) {
parentElementLinks[ i ].classList.add( 'menu-item-dropdown-click' );
}
}
var dropdownToggleLinks = document.querySelectorAll( '.main-nav .menu-item-has-children > a .dropdown-menu-toggle' );
for ( i = 0; i < dropdownToggleLinks.length; i++ ) {
dropdownToggleLinks[ i ].addEventListener( 'click', dropdownClick, false );
dropdownToggleLinks[ i ].addEventListener( 'keydown', function( e ) {
var _this = this;
if ( 'Enter' === e.key || ' ' === e.key ) {
e.preventDefault();
dropdownClick( e, _this );
}
}, false );
}
const menuItemDropdownClick = document.querySelectorAll( '.main-nav .menu-item-has-children > a.menu-item-dropdown-click' );
for ( i = 0; i < menuItemDropdownClick.length; i++ ) {
menuItemDropdownClick[ i ].addEventListener( 'click', dropdownClick, false );
menuItemDropdownClick[ i ].addEventListener( 'keydown', function( e ) {
var _this = this;
if ( 'Enter' === e.key || ' ' === e.key ) {
e.preventDefault();
dropdownClick( e, _this );
}
}, false );
}
}
var closeSubMenus = function() {
if ( document.querySelector( 'nav ul .toggled-on' ) ) {
var activeSubMenus = document.querySelectorAll( 'nav ul .toggled-on' );
for ( i = 0; i < activeSubMenus.length; i++ ) {
activeSubMenus[ i ].classList.remove( 'toggled-on' );
activeSubMenus[ i ].closest( '.sfHover' ).classList.remove( 'sfHover' );
}
if ( body.classList.contains( 'dropdown-click-arrow' ) ) {
var activeDropdownToggles = document.querySelectorAll( 'nav .dropdown-menu-toggle' );
for ( i = 0; i < activeDropdownToggles.length; i++ ) {
activeDropdownToggles[ i ].setAttribute( 'aria-expanded', 'false' );
}
}
if ( body.classList.contains( 'dropdown-click-menu-item' ) ) {
var activeDropdownLinks = document.querySelectorAll( 'nav .menu-item-has-children > a' );
for ( i = 0; i < activeDropdownLinks.length; i++ ) {
activeDropdownLinks[ i ].setAttribute( 'aria-expanded', 'false' );
activeDropdownLinks[ i ].setAttribute( 'aria-label', generatepressDropdownClick.openSubMenuLabel );
}
}
}
};
// Close sub-menus when clicking elsewhere
document.addEventListener( 'click', function( event ) {
if ( ! event.target.closest( '.sfHover' ) ) {
closeSubMenus();
}
}, false );
// Close sub-menus on escape key
document.addEventListener( 'keydown', function( e ) {
if ( 'Escape' === e.key ) { // 27 is esc
closeSubMenus();
}
}, false );
}
}() );
@@ -0,0 +1 @@
(()=>{if("querySelector"in document&&"addEventListener"in window){var a=document.body,t=function(e,t){e.preventDefault(),e.stopPropagation();var e=(t=t||this).closest("li"),n=t.closest("nav").querySelectorAll("ul.toggled-on");if(n&&!t.closest("ul").classList.contains("toggled-on")&&!t.closest("li").classList.contains("sfHover"))for(var r=0;r<n.length;r++)n[r].classList.remove("toggled-on"),n[r].closest("li").classList.remove("sfHover");e.classList.toggle("sfHover"),a.classList.contains("dropdown-click-arrow")&&("false"!==(o=e.querySelector(".dropdown-menu-toggle")).getAttribute("aria-expanded")&&o.getAttribute("aria-expanded")?o.setAttribute("aria-expanded","false"):o.setAttribute("aria-expanded","true")),a.classList.contains("dropdown-click-menu-item")&&t.tagName&&"A"===t.tagName.toUpperCase()&&("false"!==t.getAttribute("aria-expanded")&&t.getAttribute("aria-expanded")?(t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label",generatepressDropdownClick.openSubMenuLabel)):(t.setAttribute("aria-expanded","true"),t.setAttribute("aria-label",generatepressDropdownClick.closeSubMenuLabel)));var o=".children";e.querySelector(".sub-menu")&&(o=".sub-menu"),a.classList.contains("dropdown-click-menu-item")?t.parentNode.querySelector(o).classList.toggle("toggled-on"):a.classList.contains("dropdown-click-arrow")&&e.querySelector(o).classList.toggle("toggled-on")},e=document.querySelectorAll(".main-nav .menu-item-has-children > a");if(a.classList.contains("dropdown-click-menu-item"))for(r=0;r<e.length;r++)e[r].addEventListener("click",t,!0),e[r].addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(e,this))},!1);if(a.classList.contains("dropdown-click-arrow")){for(r=0;r<e.length;r++)"#"===e[r].getAttribute("href")&&e[r].classList.add("menu-item-dropdown-click");for(var n=document.querySelectorAll(".main-nav .menu-item-has-children > a .dropdown-menu-toggle"),r=0;r<n.length;r++)n[r].addEventListener("click",t,!1),n[r].addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(e,this))},!1);var o=document.querySelectorAll(".main-nav .menu-item-has-children > a.menu-item-dropdown-click");for(r=0;r<o.length;r++)o[r].addEventListener("click",t,!1),o[r].addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(e,this))},!1)}var s=function(){if(document.querySelector("nav ul .toggled-on")){var e=document.querySelectorAll("nav ul .toggled-on");for(r=0;r<e.length;r++)e[r].classList.remove("toggled-on"),e[r].closest(".sfHover").classList.remove("sfHover");if(a.classList.contains("dropdown-click-arrow")){var t=document.querySelectorAll("nav .dropdown-menu-toggle");for(r=0;r<t.length;r++)t[r].setAttribute("aria-expanded","false")}if(a.classList.contains("dropdown-click-menu-item")){var n=document.querySelectorAll("nav .menu-item-has-children > a");for(r=0;r<n.length;r++)n[r].setAttribute("aria-expanded","false"),n[r].setAttribute("aria-label",generatepressDropdownClick.openSubMenuLabel)}}};document.addEventListener("click",function(e){e.target.closest(".sfHover")||s()},!1),document.addEventListener("keydown",function(e){"Escape"===e.key&&s()},!1)}})();
@@ -0,0 +1,449 @@
( function() {
'use strict';
var allSubMenus = document.querySelectorAll( '.main-nav .sub-menu, .main-nav .children' );
// Add missing aria roles and attributes for accessibility.
if ( allSubMenus ) {
allSubMenus.forEach( function( subMenu ) {
var parentLi = subMenu.closest( 'li' );
var button = parentLi.querySelector( '.dropdown-menu-toggle[role="button"]' );
if ( ! subMenu.id ) {
var itemId = parentLi.id
? parentLi.id
: 'menu-item-' + Math.floor( Math.random() * 100000 ); // Just in case our menu item has no ID.
subMenu.id = itemId + '-sub-menu';
}
// Bail if no button to update
if ( ! button ) {
button = parentLi.querySelector( 'a[role="button"]' );
if ( ! button ) {
return;
}
}
button.setAttribute( 'aria-controls', subMenu.id );
} );
}
if ( 'querySelector' in document && 'addEventListener' in window ) {
/**
* matches() pollyfil
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Browser_compatibility
*/
if ( ! Element.prototype.matches ) {
Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
}
/**
* closest() pollyfil
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Browser_compatibility
* @param {Object} s The element to check.
* @return {Object} The closest object.
*/
if ( ! Element.prototype.closest ) {
Element.prototype.closest = function( s ) {
var el = this;
var ancestor = this;
if ( ! document.documentElement.contains( el ) ) {
return null;
}
do {
if ( ancestor.matches( s ) ) {
return ancestor;
}
ancestor = ancestor.parentElement;
} while ( ancestor !== null );
return null;
};
}
var getSiblings = function( elem ) {
return Array.prototype.filter.call( elem.parentNode.children, function( sibling ) {
return sibling !== elem;
} );
};
var allNavToggles = document.querySelectorAll( '.menu-toggle' ),
dropdownToggles = document.querySelectorAll( 'nav .dropdown-menu-toggle' ),
navLinks = document.querySelectorAll( 'nav .main-nav ul a' ),
mobileMenuControls = document.querySelector( '.mobile-menu-control-wrapper' ),
body = document.body,
htmlEl = document.documentElement,
i;
var enableDropdownArrows = function( nav ) {
if ( nav && body.classList.contains( 'dropdown-hover' ) ) {
var dropdownItems = nav.querySelectorAll( 'li.menu-item-has-children' );
for ( i = 0; i < dropdownItems.length; i++ ) {
var toggle = dropdownItems[ i ].querySelector( '.dropdown-menu-toggle' );
var parentLi = toggle.closest( 'li' );
var subMenu = parentLi.querySelector( '.sub-menu, .children' );
toggle.setAttribute( 'tabindex', '0' );
toggle.setAttribute( 'role', 'button' );
toggle.setAttribute( 'aria-expanded', 'false' );
toggle.setAttribute( 'aria-controls', subMenu.id );
toggle.setAttribute( 'aria-label', generatepressMenu.openSubMenuLabel );
}
}
};
var disableDropdownArrows = function( nav ) {
if ( nav && body.classList.contains( 'dropdown-hover' ) ) {
var dropdownItems = nav.querySelectorAll( 'li.menu-item-has-children' );
for ( i = 0; i < dropdownItems.length; i++ ) {
dropdownItems[ i ].querySelector( '.dropdown-menu-toggle' ).removeAttribute( 'tabindex' );
dropdownItems[ i ].querySelector( '.dropdown-menu-toggle' ).setAttribute( 'role', 'presentation' );
dropdownItems[ i ].querySelector( '.dropdown-menu-toggle' ).removeAttribute( 'aria-expanded' );
dropdownItems[ i ].querySelector( '.dropdown-menu-toggle' ).removeAttribute( 'aria-controls' );
dropdownItems[ i ].querySelector( '.dropdown-menu-toggle' ).removeAttribute( 'aria-label' );
}
}
};
var setDropdownArrowAttributes = function( arrow ) {
if ( 'false' === arrow.getAttribute( 'aria-expanded' ) || ! arrow.getAttribute( 'aria-expanded' ) ) {
arrow.setAttribute( 'aria-expanded', 'true' );
arrow.setAttribute( 'aria-label', generatepressMenu.closeSubMenuLabel );
} else {
arrow.setAttribute( 'aria-expanded', 'false' );
arrow.setAttribute( 'aria-label', generatepressMenu.openSubMenuLabel );
}
};
/**
* Start mobile menu toggle.
*
* @param {Object} e The event.
* @param {Object} _this The clicked item.
*/
var toggleNav = function( e, _this ) {
if ( ! _this ) {
_this = this;
}
var parentContainer = '';
if ( _this.getAttribute( 'data-nav' ) ) {
parentContainer = document.getElementById( _this.getAttribute( 'data-nav' ) );
} else {
parentContainer = document.getElementById( _this.closest( 'nav' ).getAttribute( 'id' ) );
}
if ( ! parentContainer ) {
return;
}
var isExternalToggle = false;
if ( _this.closest( '.mobile-menu-control-wrapper' ) ) {
isExternalToggle = true;
}
var nav = parentContainer.getElementsByTagName( 'ul' )[ 0 ];
if ( parentContainer.classList.contains( 'toggled' ) ) {
parentContainer.classList.remove( 'toggled' );
htmlEl.classList.remove( 'mobile-menu-open' );
if ( nav ) {
nav.setAttribute( 'aria-hidden', 'true' );
}
_this.setAttribute( 'aria-expanded', 'false' );
if ( isExternalToggle ) {
mobileMenuControls.classList.remove( 'toggled' );
} else if ( mobileMenuControls && parentContainer.classList.contains( 'main-navigation' ) ) {
mobileMenuControls.classList.remove( 'toggled' );
}
disableDropdownArrows( nav );
} else {
parentContainer.classList.add( 'toggled' );
htmlEl.classList.add( 'mobile-menu-open' );
if ( nav ) {
nav.setAttribute( 'aria-hidden', 'false' );
}
_this.setAttribute( 'aria-expanded', 'true' );
if ( isExternalToggle ) {
mobileMenuControls.classList.add( 'toggled' );
if ( mobileMenuControls.querySelector( '.search-item' ) ) {
if ( mobileMenuControls.querySelector( '.search-item' ).classList.contains( 'active' ) ) {
mobileMenuControls.querySelector( '.search-item' ).click();
}
}
} else if ( mobileMenuControls && parentContainer.classList.contains( 'main-navigation' ) ) {
mobileMenuControls.classList.add( 'toggled' );
}
enableDropdownArrows( nav );
}
};
for ( i = 0; i < allNavToggles.length; i++ ) {
allNavToggles[ i ].addEventListener( 'click', toggleNav, false );
}
/**
* Open sub-menus
*
* @param {Object} e The event.
* @param {Object} _this The clicked item.
*/
var toggleSubNav = function( e, _this ) {
if ( ! _this ) {
_this = this;
}
if ( ( _this.closest( 'nav' ).classList.contains( 'toggled' ) || htmlEl.classList.contains( 'slide-opened' ) ) && ! body.classList.contains( 'dropdown-click' ) ) {
e.preventDefault();
var closestLi = _this.closest( 'li' );
setDropdownArrowAttributes( closestLi.querySelector( '.dropdown-menu-toggle' ) );
if ( closestLi.querySelector( '.sub-menu' ) ) {
var subMenu = closestLi.querySelector( '.sub-menu' );
} else {
subMenu = closestLi.querySelector( '.children' );
}
if ( generatepressMenu.toggleOpenedSubMenus ) {
var siblings = getSiblings( closestLi );
for ( i = 0; i < siblings.length; i++ ) {
if ( siblings[ i ].classList.contains( 'sfHover' ) ) {
siblings[ i ].classList.remove( 'sfHover' );
siblings[ i ].querySelector( '.toggled-on' ).classList.remove( 'toggled-on' );
setDropdownArrowAttributes( siblings[ i ].querySelector( '.dropdown-menu-toggle' ) );
}
}
}
closestLi.classList.toggle( 'sfHover' );
subMenu.classList.toggle( 'toggled-on' );
}
e.stopPropagation();
};
for ( i = 0; i < dropdownToggles.length; i++ ) {
dropdownToggles[ i ].addEventListener( 'click', toggleSubNav, false );
dropdownToggles[ i ].addEventListener( 'keypress', function( e ) {
if ( 'Enter' === e.key || ' ' === e.key ) {
toggleSubNav( e, this );
}
}, false );
}
/**
* Disable the mobile menu if our toggle isn't visible.
* Makes it possible to style mobile item with .toggled class.
*/
var checkMobile = function() {
var openedMobileMenus = document.querySelectorAll( '.toggled, .has-active-search' );
for ( i = 0; i < openedMobileMenus.length; i++ ) {
var menuToggle = openedMobileMenus[ i ].querySelector( '.menu-toggle' );
if ( mobileMenuControls && ! menuToggle.closest( 'nav' ).classList.contains( 'mobile-menu-control-wrapper' ) ) {
menuToggle = mobileMenuControls.querySelector( '.menu-toggle' );
}
if ( menuToggle && menuToggle.offsetParent === null ) {
if ( openedMobileMenus[ i ].classList.contains( 'toggled' ) ) {
var remoteNav = false;
if ( openedMobileMenus[ i ].classList.contains( 'mobile-menu-control-wrapper' ) ) {
remoteNav = true;
}
if ( ! remoteNav ) {
// Navigation is toggled, but .menu-toggle isn't visible on the page (display: none).
var closestNav = openedMobileMenus[ i ].getElementsByTagName( 'ul' )[ 0 ],
closestNavItems = closestNav ? closestNav.getElementsByTagName( 'li' ) : [],
closestSubMenus = closestNav ? closestNav.getElementsByTagName( 'ul' ) : [];
}
document.activeElement.blur();
openedMobileMenus[ i ].classList.remove( 'toggled' );
htmlEl.classList.remove( 'mobile-menu-open' );
menuToggle.setAttribute( 'aria-expanded', 'false' );
if ( ! remoteNav ) {
for ( var li = 0; li < closestNavItems.length; li++ ) {
closestNavItems[ li ].classList.remove( 'sfHover' );
}
for ( var sm = 0; sm < closestSubMenus.length; sm++ ) {
closestSubMenus[ sm ].classList.remove( 'toggled-on' );
}
if ( closestNav ) {
closestNav.removeAttribute( 'aria-hidden' );
}
}
disableDropdownArrows( openedMobileMenus[ i ] );
}
if ( mobileMenuControls.querySelector( '.search-item' ) ) {
if ( mobileMenuControls.querySelector( '.search-item' ).classList.contains( 'active' ) ) {
mobileMenuControls.querySelector( '.search-item' ).click();
}
}
}
}
};
window.addEventListener( 'resize', checkMobile, false );
window.addEventListener( 'orientationchange', checkMobile, false );
if ( body.classList.contains( 'dropdown-hover' ) ) {
/**
* Do some essential things when menu items are clicked.
*/
for ( i = 0; i < navLinks.length; i++ ) {
navLinks[ i ].addEventListener( 'click', function( e ) {
// Remove sfHover class if we're going to another site.
if ( this.hostname !== window.location.hostname ) {
document.activeElement.blur();
}
var closestNav = this.closest( 'nav' );
if ( closestNav.classList.contains( 'toggled' ) || htmlEl.classList.contains( 'slide-opened' ) ) {
var url = this.getAttribute( 'href' );
// Open the sub-menu if the link has no destination
if ( '#' === url || '' === url ) {
e.preventDefault();
var closestLi = this.closest( 'li' );
closestLi.classList.toggle( 'sfHover' );
var subMenu = closestLi.querySelector( '.sub-menu' );
if ( subMenu ) {
subMenu.classList.toggle( 'toggled-on' );
}
}
}
}, false );
}
}
if ( body.classList.contains( 'dropdown-hover' ) ) {
var menuBarItems = document.querySelectorAll( '.menu-bar-items .menu-bar-item > a' );
/**
* Make menu items tab accessible when using the hover dropdown type
*/
var toggleFocus = function() {
if ( this.closest( 'nav' ).classList.contains( 'toggled' ) || this.closest( 'nav' ).classList.contains( 'slideout-navigation' ) ) {
return;
}
var self = this;
while ( -1 === self.className.indexOf( 'main-nav' ) ) {
if ( 'li' === self.tagName.toLowerCase() ) {
self.classList.toggle( 'sfHover' );
}
self = self.parentElement;
}
};
/**
* Make our menu bar items tab accessible.
*/
var toggleMenuBarItemFocus = function() {
if ( this.closest( 'nav' ).classList.contains( 'toggled' ) || this.closest( 'nav' ).classList.contains( 'slideout-navigation' ) ) {
return;
}
var self = this;
while ( -1 === self.className.indexOf( 'menu-bar-items' ) ) {
if ( self.classList.contains( 'menu-bar-item' ) ) {
self.classList.toggle( 'sfHover' );
}
self = self.parentElement;
}
};
for ( i = 0; i < navLinks.length; i++ ) {
navLinks[ i ].addEventListener( 'focus', toggleFocus );
navLinks[ i ].addEventListener( 'blur', toggleFocus );
}
for ( i = 0; i < menuBarItems.length; i++ ) {
menuBarItems[ i ].addEventListener( 'focus', toggleMenuBarItemFocus );
menuBarItems[ i ].addEventListener( 'blur', toggleMenuBarItemFocus );
}
}
/**
* Make hover dropdown touch-friendly.
*/
if ( 'ontouchend' in document.documentElement && document.body.classList.contains( 'dropdown-hover' ) ) {
var parentElements = document.querySelectorAll( '.sf-menu .menu-item-has-children' );
for ( i = 0; i < parentElements.length; i++ ) {
parentElements[ i ].addEventListener( 'touchend', function( e ) {
// Bail on mobile
if ( this.closest( 'nav' ).classList.contains( 'toggled' ) ) {
return;
}
if ( e.touches.length === 1 || e.touches.length === 0 ) {
// Prevent touch events within dropdown bubbling down to document
e.stopPropagation();
// Toggle hover
if ( ! this.classList.contains( 'sfHover' ) ) {
// Prevent link on first touch
if ( e.target === this || e.target.parentNode === this || e.target.parentNode.parentNode ) {
e.preventDefault();
}
// Close other sub-menus.
var closestLi = this.closest( 'li' ),
siblings = getSiblings( closestLi );
for ( i = 0; i < siblings.length; i++ ) {
if ( siblings[ i ].classList.contains( 'sfHover' ) ) {
siblings[ i ].classList.remove( 'sfHover' );
}
}
this.classList.add( 'sfHover' );
// Hide dropdown on touch outside
var closeDropdown,
thisItem = this;
document.addEventListener( 'touchend', closeDropdown = function( event ) {
event.stopPropagation();
thisItem.classList.remove( 'sfHover' );
document.removeEventListener( 'touchend', closeDropdown );
} );
}
}
} );
}
}
}
}() );
File diff suppressed because one or more lines are too long
@@ -0,0 +1,126 @@
( function() {
'use strict';
if ( 'querySelector' in document && 'addEventListener' in window ) {
/**
* Navigation search.
*
* @param {Object} e The event.
* @param {Object} item The clicked item.
*/
var toggleSearch = function( e, item ) {
e.preventDefault();
if ( ! item ) {
item = this;
}
var forms = document.querySelectorAll( '.navigation-search' ),
toggles = document.querySelectorAll( '.search-item' ),
focusableEls = document.querySelectorAll( 'a[href], area[href], input:not([disabled]):not(.navigation-search), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]' ),
nav = '';
if ( item.closest( '.mobile-menu-control-wrapper' ) ) {
nav = document.getElementById( 'site-navigation' );
}
for ( var i = 0; i < forms.length; i++ ) {
if ( forms[ i ].classList.contains( 'nav-search-active' ) ) {
if ( forms[ i ].closest( '#sticky-placeholder' ) ) {
continue;
}
forms[ i ].classList.remove( 'nav-search-active' );
var activeSearch = document.querySelector( '.has-active-search' );
if ( activeSearch ) {
activeSearch.classList.remove( 'has-active-search' );
}
for ( var t = 0; t < toggles.length; t++ ) {
toggles[ t ].classList.remove( 'close-search' );
toggles[ t ].classList.remove( 'active' );
toggles[ t ].querySelector( 'a' ).setAttribute( 'aria-label', generatepressNavSearch.open );
// Allow tabindex on items again.
for ( var f = 0; f < focusableEls.length; f++ ) {
if ( ! focusableEls[ f ].closest( '.navigation-search' ) && ! focusableEls[ f ].closest( '.search-item' ) ) {
focusableEls[ f ].removeAttribute( 'tabindex' );
}
}
}
document.activeElement.blur();
} else {
if ( forms[ i ].closest( '#sticky-placeholder' ) ) {
continue;
}
var openedMobileMenu = forms[ i ].closest( '.toggled' );
if ( openedMobileMenu ) {
// Close the mobile menu.
openedMobileMenu.querySelector( 'button.menu-toggle' ).click();
}
if ( nav ) {
nav.classList.add( 'has-active-search' );
}
forms[ i ].classList.add( 'nav-search-active' );
var container = this.closest( 'nav' );
if ( container ) {
if ( container.classList.contains( 'mobile-menu-control-wrapper' ) ) {
container = nav;
}
var searchField = container.querySelector( '.search-field' );
if ( searchField ) {
searchField.focus();
}
}
for ( t = 0; t < toggles.length; t++ ) {
toggles[ t ].classList.add( 'active' );
toggles[ t ].querySelector( 'a' ).setAttribute( 'aria-label', generatepressNavSearch.close );
// Trap tabindex within the search element
for ( f = 0; f < focusableEls.length; f++ ) {
if ( ! focusableEls[ f ].closest( '.navigation-search' ) && ! focusableEls[ f ].closest( '.search-item' ) ) {
focusableEls[ f ].setAttribute( 'tabindex', '-1' );
}
}
toggles[ t ].classList.add( 'close-search' );
}
}
}
};
if ( document.body.classList.contains( 'nav-search-enabled' ) ) {
var searchItems = document.querySelectorAll( '.search-item' );
for ( var i = 0; i < searchItems.length; i++ ) {
searchItems[ i ].addEventListener( 'click', toggleSearch, false );
}
// Close navigation search on escape key
document.addEventListener( 'keydown', function( e ) {
if ( document.querySelector( '.navigation-search.nav-search-active' ) ) {
if ( 'Escape' === e.key ) {
var activeSearchItems = document.querySelectorAll( '.search-item.active' );
for ( var activeSearchItem = 0; activeSearchItem < activeSearchItems.length; activeSearchItem++ ) {
toggleSearch( e, activeSearchItems[ activeSearchItem ] );
break;
}
}
}
}, false );
}
}
}() );
@@ -0,0 +1 @@
(()=>{if("querySelector"in document&&"addEventListener"in window){var s=function(e,t){e.preventDefault(),t=t||this;var a=document.querySelectorAll(".navigation-search"),s=document.querySelectorAll(".search-item"),c=document.querySelectorAll('a[href], area[href], input:not([disabled]):not(.navigation-search), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),r="";t.closest(".mobile-menu-control-wrapper")&&(r=document.getElementById("site-navigation"));for(var o=0;o<a.length;o++)if(a[o].classList.contains("nav-search-active")){if(!a[o].closest("#sticky-placeholder")){a[o].classList.remove("nav-search-active");var i=document.querySelector(".has-active-search");i&&i.classList.remove("has-active-search");for(var l=0;l<s.length;l++){s[l].classList.remove("close-search"),s[l].classList.remove("active"),s[l].querySelector("a").setAttribute("aria-label",generatepressNavSearch.open);for(var n=0;n<c.length;n++)c[n].closest(".navigation-search")||c[n].closest(".search-item")||c[n].removeAttribute("tabindex")}document.activeElement.blur()}}else if(!a[o].closest("#sticky-placeholder")){var i=a[o].closest(".toggled"),d=(i&&i.querySelector("button.menu-toggle").click(),r&&r.classList.add("has-active-search"),a[o].classList.add("nav-search-active"),this.closest("nav"));for(d&&(d=(d=d.classList.contains("mobile-menu-control-wrapper")?r:d).querySelector(".search-field"))&&d.focus(),l=0;l<s.length;l++){for(s[l].classList.add("active"),s[l].querySelector("a").setAttribute("aria-label",generatepressNavSearch.close),n=0;n<c.length;n++)c[n].closest(".navigation-search")||c[n].closest(".search-item")||c[n].setAttribute("tabindex","-1");s[l].classList.add("close-search")}}};if(document.body.classList.contains("nav-search-enabled")){for(var e=document.querySelectorAll(".search-item"),t=0;t<e.length;t++)e[t].addEventListener("click",s,!1);document.addEventListener("keydown",function(e){if(document.querySelector(".navigation-search.nav-search-active")&&"Escape"===e.key)for(var t=document.querySelectorAll(".search-item.active"),a=0;a<t.length;a++){s(e,t[a]);break}},!1)}}})();
@@ -0,0 +1,130 @@
<?php
/**
* The template for displaying Comments.
*
* The area of the page that contains both current comments
* and the comment form. The actual display of comments is
* handled by a callback to generate_comment() which is
* located in the inc/template-tags.php file.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/*
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}
/**
* generate_before_comments hook.
*
* @since 0.1
*/
do_action( 'generate_before_comments' );
?>
<div id="comments">
<?php
/**
* generate_inside_comments hook.
*
* @since 1.3.47
*/
do_action( 'generate_inside_comments' );
if ( have_comments() ) :
$comments_number = get_comments_number();
$comments_title = apply_filters(
'generate_comment_form_title',
sprintf(
esc_html(
/* translators: 1: number of comments, 2: post title */
_nx(
'%1$s thought on &ldquo;%2$s&rdquo;',
'%1$s thoughts on &ldquo;%2$s&rdquo;',
$comments_number,
'comments title',
'generatepress'
)
),
number_format_i18n( $comments_number ),
get_the_title()
)
);
// phpcs:ignore -- Title escaped in output.
echo apply_filters(
'generate_comments_title_output',
sprintf(
'<h2 class="comments-title">%s</h2>',
esc_html( $comments_title )
),
$comments_title,
$comments_number
);
/**
* generate_below_comments_title hook.
*
* @since 0.1
*/
do_action( 'generate_below_comments_title' );
if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) :
?>
<nav id="comment-nav-above" class="comment-navigation" role="navigation">
<h2 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'generatepress' ); ?></h2>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'generatepress' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'generatepress' ) ); ?></div>
</nav><!-- #comment-nav-above -->
<?php endif; ?>
<ol class="comment-list">
<?php
/*
* Loop through and list the comments. Tell wp_list_comments()
* to use generate_comment() to format the comments.
* If you want to override this in a child theme, then you can
* define generate_comment() and that will be used instead.
* See generate_comment() in inc/template-tags.php for more.
*/
wp_list_comments(
array(
'callback' => 'generate_comment',
)
);
?>
</ol><!-- .comment-list -->
<?php
if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) :
?>
<nav id="comment-nav-below" class="comment-navigation" role="navigation">
<h2 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'generatepress' ); ?></h2>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'generatepress' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'generatepress' ) ); ?></div>
</nav><!-- #comment-nav-below -->
<?php
endif;
endif;
// phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
if ( ! comments_open() && '0' != get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) :
?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'generatepress' ); ?></p>
<?php
endif;
comment_form();
?>
</div><!-- #comments -->
@@ -0,0 +1,67 @@
<?php
/**
* The template for displaying 404 pages.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<div class="inside-article">
<?php
/**
* generate_before_content hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header_inside_single - 10
*/
do_action( 'generate_before_content' );
?>
<header <?php generate_do_attr( 'entry-header' ); ?>>
<?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- HTML is allowed in filter here. ?>
<h1 class="entry-title" itemprop="headline"><?php echo apply_filters( 'generate_404_title', __( 'Oops! That page can&rsquo;t be found.', 'generatepress' ) ); ?></h1>
</header>
<?php
/**
* generate_after_entry_header hook.
*
* @since 0.1
*
* @hooked generate_post_image - 10
*/
do_action( 'generate_after_entry_header' );
$itemprop = '';
if ( 'microdata' === generate_get_schema_type() ) {
$itemprop = ' itemprop="text"';
}
?>
<div class="entry-content"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php
printf(
'<p>%s</p>',
apply_filters( 'generate_404_text', __( 'It looks like nothing was found at this location. Maybe try searching?', 'generatepress' ) ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- HTML is allowed in filter here.
);
get_search_form();
?>
</div>
<?php
/**
* generate_after_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_content' );
?>
</div>
@@ -0,0 +1,111 @@
<?php
/**
* The template for displaying Link post formats.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> <?php generate_do_microdata( 'article' ); ?>>
<div class="inside-article">
<?php
/**
* generate_before_content hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header_inside_single - 10
*/
do_action( 'generate_before_content' );
if ( generate_show_entry_header() ) :
?>
<header <?php generate_do_attr( 'entry-header' ); ?>>
<?php
/**
* generate_before_entry_title hook.
*
* @since 0.1
*/
do_action( 'generate_before_entry_title' );
if ( generate_show_title() ) {
$params = generate_get_the_title_parameters();
the_title( $params['before'], $params['after'] );
}
/**
* generate_after_entry_title hook.
*
* @since 0.1
*
* @hooked generate_post_meta - 10
*/
do_action( 'generate_after_entry_title' );
?>
</header>
<?php
endif;
/**
* generate_after_entry_header hook.
*
* @since 0.1
*
* @hooked generate_post_image - 10
*/
do_action( 'generate_after_entry_header' );
$itemprop = '';
if ( 'microdata' === generate_get_schema_type() ) {
$itemprop = ' itemprop="text"';
}
if ( generate_show_excerpt() ) :
?>
<div class="entry-summary"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php the_excerpt(); ?>
</div>
<?php else : ?>
<div class="entry-content"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'generatepress' ),
'after' => '</div>',
)
);
?>
</div>
<?php
endif;
/**
* generate_after_entry_content hook.
*
* @since 0.1
*
* @hooked generate_footer_meta - 10
*/
do_action( 'generate_after_entry_content' );
/**
* generate_after_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_content' );
?>
</div>
</article>
@@ -0,0 +1,93 @@
<?php
/**
* The template used for displaying page content in page.php
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> <?php generate_do_microdata( 'article' ); ?>>
<div class="inside-article">
<?php
/**
* generate_before_content hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header_inside_single - 10
*/
do_action( 'generate_before_content' );
if ( generate_show_entry_header() ) :
?>
<header <?php generate_do_attr( 'entry-header' ); ?>>
<?php
/**
* generate_before_page_title hook.
*
* @since 2.4
*/
do_action( 'generate_before_page_title' );
if ( generate_show_title() ) {
$params = generate_get_the_title_parameters();
the_title( $params['before'], $params['after'] );
}
/**
* generate_after_page_title hook.
*
* @since 2.4
*/
do_action( 'generate_after_page_title' );
?>
</header>
<?php
endif;
/**
* generate_after_entry_header hook.
*
* @since 0.1
*
* @hooked generate_post_image - 10
*/
do_action( 'generate_after_entry_header' );
$itemprop = '';
if ( 'microdata' === generate_get_schema_type() ) {
$itemprop = ' itemprop="text"';
}
?>
<div class="entry-content"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'generatepress' ),
'after' => '</div>',
)
);
?>
</div>
<?php
/**
* generate_after_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_content' );
?>
</div>
</article>
@@ -0,0 +1,102 @@
<?php
/**
* The template for displaying single posts.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> <?php generate_do_microdata( 'article' ); ?>>
<div class="inside-article">
<?php
/**
* generate_before_content hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header_inside_single - 10
*/
do_action( 'generate_before_content' );
if ( generate_show_entry_header() ) :
?>
<header <?php generate_do_attr( 'entry-header' ); ?>>
<?php
/**
* generate_before_entry_title hook.
*
* @since 0.1
*/
do_action( 'generate_before_entry_title' );
if ( generate_show_title() ) {
$params = generate_get_the_title_parameters();
the_title( $params['before'], $params['after'] );
}
/**
* generate_after_entry_title hook.
*
* @since 0.1
*
* @hooked generate_post_meta - 10
*/
do_action( 'generate_after_entry_title' );
?>
</header>
<?php
endif;
/**
* generate_after_entry_header hook.
*
* @since 0.1
*
* @hooked generate_post_image - 10
*/
do_action( 'generate_after_entry_header' );
$itemprop = '';
if ( 'microdata' === generate_get_schema_type() ) {
$itemprop = ' itemprop="text"';
}
?>
<div class="entry-content"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'generatepress' ),
'after' => '</div>',
)
);
?>
</div>
<?php
/**
* generate_after_entry_content hook.
*
* @since 0.1
*
* @hooked generate_footer_meta - 10
*/
do_action( 'generate_after_entry_content' );
/**
* generate_after_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_content' );
?>
</div>
</article>
+111
View File
@@ -0,0 +1,111 @@
<?php
/**
* The template for displaying posts within the loop.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> <?php generate_do_microdata( 'article' ); ?>>
<div class="inside-article">
<?php
/**
* generate_before_content hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header_inside_single - 10
*/
do_action( 'generate_before_content' );
if ( generate_show_entry_header() ) :
?>
<header <?php generate_do_attr( 'entry-header' ); ?>>
<?php
/**
* generate_before_entry_title hook.
*
* @since 0.1
*/
do_action( 'generate_before_entry_title' );
if ( generate_show_title() ) {
$params = generate_get_the_title_parameters();
the_title( $params['before'], $params['after'] );
}
/**
* generate_after_entry_title hook.
*
* @since 0.1
*
* @hooked generate_post_meta - 10
*/
do_action( 'generate_after_entry_title' );
?>
</header>
<?php
endif;
/**
* generate_after_entry_header hook.
*
* @since 0.1
*
* @hooked generate_post_image - 10
*/
do_action( 'generate_after_entry_header' );
$itemprop = '';
if ( 'microdata' === generate_get_schema_type() ) {
$itemprop = ' itemprop="text"';
}
if ( generate_show_excerpt() ) :
?>
<div class="entry-summary"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php the_excerpt(); ?>
</div>
<?php else : ?>
<div class="entry-content"<?php echo $itemprop; // phpcs:ignore -- No escaping needed. ?>>
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . __( 'Pages:', 'generatepress' ),
'after' => '</div>',
)
);
?>
</div>
<?php
endif;
/**
* generate_after_entry_content hook.
*
* @since 0.1
*
* @hooked generate_footer_meta - 10
*/
do_action( 'generate_after_entry_content' );
/**
* generate_after_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_content' );
?>
</div>
</article>
@@ -0,0 +1,23 @@
<?php
/**
* The template for displaying the footer.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* generate_after_footer hook.
*
* @since 2.1
*/
do_action( 'generate_minimal_footer' );
wp_footer();
?>
</body>
</html>
@@ -0,0 +1,65 @@
<?php
/**
* The template for displaying the footer.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
</div>
</div>
<?php
/**
* generate_before_footer hook.
*
* @since 0.1
*/
do_action( 'generate_before_footer' );
?>
<div <?php generate_do_attr( 'footer' ); ?>>
<?php
/**
* generate_before_footer_content hook.
*
* @since 0.1
*/
do_action( 'generate_before_footer_content' );
/**
* generate_footer hook.
*
* @since 1.3.42
*
* @hooked generate_construct_footer_widgets - 5
* @hooked generate_construct_footer - 10
*/
do_action( 'generate_footer' );
/**
* generate_after_footer_content hook.
*
* @since 0.1
*/
do_action( 'generate_after_footer_content' );
?>
</div>
<?php
/**
* generate_after_footer hook.
*
* @since 2.1
*/
do_action( 'generate_after_footer' );
wp_footer();
?>
</body>
</html>
@@ -0,0 +1,123 @@
<?php
/**
* GeneratePress.
*
* Please do not make any edits to this file. All edits should be done in a child theme.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
// Set our theme version.
define( 'GENERATE_VERSION', '3.6.1' );
if ( ! function_exists( 'generate_setup' ) ) {
add_action( 'after_setup_theme', 'generate_setup' );
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since 0.1
*/
function generate_setup() {
// Make theme available for translation.
load_theme_textdomain( 'generatepress' );
// Add theme support for various features.
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link', 'status' ) );
add_theme_support( 'woocommerce' );
add_theme_support( 'title-tag' );
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'script', 'style' ) );
add_theme_support( 'customize-selective-refresh-widgets' );
add_theme_support( 'align-wide' );
add_theme_support( 'responsive-embeds' );
$color_palette = generate_get_editor_color_palette();
if ( ! empty( $color_palette ) ) {
add_theme_support( 'editor-color-palette', $color_palette );
}
add_theme_support(
'custom-logo',
array(
'height' => 70,
'width' => 350,
'flex-height' => true,
'flex-width' => true,
)
);
// Register primary menu.
register_nav_menus(
array(
'primary' => __( 'Primary Menu', 'generatepress' ),
)
);
/**
* Set the content width to something large
* We set a more accurate width in generate_smart_content_width()
*/
global $content_width;
if ( ! isset( $content_width ) ) {
$content_width = 1200; /* pixels */
}
// Add editor styles to the block editor.
add_theme_support( 'editor-styles' );
$editor_styles = apply_filters(
'generate_editor_styles',
array(
'assets/css/admin/block-editor.css',
)
);
add_editor_style( $editor_styles );
}
}
/**
* Get all necessary theme files
*/
$theme_dir = get_template_directory();
require $theme_dir . '/inc/theme-functions.php';
require $theme_dir . '/inc/defaults.php';
require $theme_dir . '/inc/class-css.php';
require $theme_dir . '/inc/css-output.php';
require $theme_dir . '/inc/general.php';
require $theme_dir . '/inc/customizer.php';
require $theme_dir . '/inc/markup.php';
require $theme_dir . '/inc/typography.php';
require $theme_dir . '/inc/plugin-compat.php';
require $theme_dir . '/inc/block-editor.php';
require $theme_dir . '/inc/class-typography.php';
require $theme_dir . '/inc/class-typography-migration.php';
require $theme_dir . '/inc/class-html-attributes.php';
require $theme_dir . '/inc/class-theme-update.php';
require $theme_dir . '/inc/class-rest.php';
require $theme_dir . '/inc/deprecated.php';
if ( is_admin() ) {
require $theme_dir . '/inc/meta-box.php';
require $theme_dir . '/inc/class-dashboard.php';
}
/**
* Load our theme structure
*/
require $theme_dir . '/inc/structure/archives.php';
require $theme_dir . '/inc/structure/comments.php';
require $theme_dir . '/inc/structure/featured-images.php';
require $theme_dir . '/inc/structure/footer.php';
require $theme_dir . '/inc/structure/header.php';
require $theme_dir . '/inc/structure/navigation.php';
require $theme_dir . '/inc/structure/post-meta.php';
require $theme_dir . '/inc/structure/sidebars.php';
require $theme_dir . '/inc/structure/search-modal.php';
@@ -0,0 +1,28 @@
<?php
/**
* The template for displaying the header.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php
/**
* wp_body_open hook.
*
* @since 2.3
*/
do_action( 'wp_body_open' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- core WP hook.
do_action( 'generate_minimal_header' );
@@ -0,0 +1,74 @@
<?php
/**
* The template for displaying the header.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?> <?php generate_do_microdata( 'body' ); ?>>
<?php
/**
* wp_body_open hook.
*
* @since 2.3
*/
do_action( 'wp_body_open' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- core WP hook.
/**
* generate_before_header hook.
*
* @since 0.1
*
* @hooked generate_do_skip_to_content_link - 2
* @hooked generate_top_bar - 5
* @hooked generate_add_navigation_before_header - 5
*/
do_action( 'generate_before_header' );
/**
* generate_header hook.
*
* @since 1.3.42
*
* @hooked generate_construct_header - 10
*/
do_action( 'generate_header' );
/**
* generate_after_header hook.
*
* @since 0.1
*
* @hooked generate_featured_page_header - 10
*/
do_action( 'generate_after_header' );
?>
<div <?php generate_do_attr( 'page' ); ?>>
<?php
/**
* generate_inside_site_container hook.
*
* @since 2.4
*/
do_action( 'generate_inside_site_container' );
?>
<div <?php generate_do_attr( 'site-content' ); ?>>
<?php
/**
* generate_inside_container hook.
*
* @since 0.1
*/
do_action( 'generate_inside_container' );
@@ -0,0 +1,521 @@
<?php
/**
* Integrate GeneratePress with the WordPress block editor.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Check what sidebar layout we're using.
* We need this function as the post meta in generate_get_layout() only runs
* on is_singular()
*
* @since 2.2
*
* @param bool $meta Check for post meta.
* @return string The saved sidebar layout.
*/
function generate_get_block_editor_sidebar_layout( $meta = true ) {
$layout = generate_get_option( 'layout_setting' );
if ( function_exists( 'get_current_screen' ) ) {
$screen = get_current_screen();
if ( is_object( $screen ) && 'post' === $screen->post_type ) {
$layout = generate_get_option( 'single_layout_setting' );
}
}
// Add in our default filter in case people have adjusted it.
$layout = apply_filters( 'generate_sidebar_layout', $layout );
if ( $meta ) {
$layout_meta = get_post_meta( get_the_ID(), '_generate-sidebar-layout-meta', true );
if ( $layout_meta ) {
$layout = $layout_meta;
}
}
return apply_filters( 'generate_block_editor_sidebar_layout', $layout );
}
/**
* Check whether we're disabling the content title or not.
* We need this function as the post meta in generate_show_title() only runs
* on is_singular()
*
* @since 2.2
*/
function generate_get_block_editor_show_content_title() {
$title = generate_show_title();
$disable_title = get_post_meta( get_the_ID(), '_generate-disable-headline', true );
if ( $disable_title ) {
$title = false;
}
return apply_filters( 'generate_block_editor_show_content_title', $title );
}
/**
* Get the content width for this post.
*
* @since 2.2
*/
function generate_get_block_editor_content_width() {
$container_width = generate_get_option( 'container_width' );
$content_width = $container_width;
$right_sidebar_width = apply_filters( 'generate_right_sidebar_width', '25' );
$left_sidebar_width = apply_filters( 'generate_left_sidebar_width', '25' );
$layout = generate_get_block_editor_sidebar_layout();
if ( 'left-sidebar' === $layout ) {
$content_width = $container_width * ( ( 100 - $left_sidebar_width ) / 100 );
} elseif ( 'right-sidebar' === $layout ) {
$content_width = $container_width * ( ( 100 - $right_sidebar_width ) / 100 );
} elseif ( 'no-sidebar' === $layout ) {
$content_width = $container_width;
} else {
$content_width = $container_width * ( ( 100 - ( $left_sidebar_width + $right_sidebar_width ) ) / 100 );
}
return apply_filters( 'generate_block_editor_content_width', $content_width );
}
add_filter( 'block_editor_settings_all', 'generate_add_inline_block_editor_styles' );
/**
* Add dynamic inline styles to the block editor content.
*
* @param array $editor_settings The existing editor settings.
*/
function generate_add_inline_block_editor_styles( $editor_settings ) {
$show_editor_styles = apply_filters( 'generate_show_block_editor_styles', true );
if ( $show_editor_styles ) {
if ( generate_is_using_dynamic_typography() ) {
$google_fonts_uri = GeneratePress_Typography::get_google_fonts_uri();
if ( $google_fonts_uri ) {
// Need to use @import for now until this is ready: https://github.com/WordPress/gutenberg/pull/35950.
$google_fonts_import = sprintf(
'@import "%s";',
$google_fonts_uri
);
$editor_settings['styles'][] = array( 'css' => $google_fonts_import );
}
}
$editor_settings['styles'][] = array( 'css' => wp_strip_all_tags( generate_do_inline_block_editor_css() ) );
if ( generate_is_using_dynamic_typography() ) {
$editor_settings['styles'][] = array( 'css' => wp_strip_all_tags( GeneratePress_Typography::get_css( 'core' ) ) );
}
}
return $editor_settings;
}
add_action( 'enqueue_block_editor_assets', 'generate_enqueue_google_fonts' );
add_action( 'enqueue_block_editor_assets', 'generate_enqueue_backend_block_editor_assets' );
/**
* Add CSS to the admin side of the block editor.
*
* @since 2.2
*/
function generate_enqueue_backend_block_editor_assets() {
wp_enqueue_script(
'generate-block-editor',
trailingslashit( get_template_directory_uri() ) . 'assets/dist/block-editor.js',
array( 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-plugins', 'wp-polyfill' ),
GENERATE_VERSION,
true
);
$color_settings = wp_parse_args(
get_option( 'generate_settings', array() ),
generate_get_color_defaults()
);
$spacing_settings = wp_parse_args(
get_option( 'generate_spacing_settings', array() ),
generate_spacing_get_defaults()
);
$text_color = generate_get_option( 'text_color' );
if ( $color_settings['content_text_color'] ) {
$text_color = $color_settings['content_text_color'];
}
$sidebar_layout = get_post_meta( get_the_ID(), '_generate_sidebar_layout', true );
$content_area_type = get_post_meta( get_the_ID(), '_generate-full-width-content', true );
wp_localize_script(
'generate-block-editor',
'generatepressBlockEditor',
array(
'sidebarLayout' => $sidebar_layout ? $sidebar_layout : generate_get_block_editor_sidebar_layout( false ),
'containerWidth' => generate_get_option( 'container_width' ),
'contentPaddingRight' => absint( $spacing_settings['content_right'] ) . 'px',
'contentPaddingLeft' => absint( $spacing_settings['content_left'] ) . 'px',
'rightSidebarWidth' => apply_filters( 'generate_right_sidebar_width', '25' ),
'leftSidebarWidth' => apply_filters( 'generate_left_sidebar_width', '25' ),
'text_color' => $text_color,
'show_editor_styles' => apply_filters( 'generate_show_block_editor_styles', true ),
'contentAreaType' => $content_area_type ? $content_area_type : apply_filters( 'generate_block_editor_content_area_type', '' ),
'customContentWidth' => apply_filters( 'generate_block_editor_container_width', '' ),
)
);
wp_register_style( 'generate-block-editor', false, array(), true, true );
wp_add_inline_style( 'generate-block-editor', generate_do_inline_block_editor_css( 'block-editor' ) );
wp_enqueue_style( 'generate-block-editor' );
}
/**
* Write our CSS for the block editor.
*
* @since 2.2
* @param string $for Define whether this CSS for the block content or the block editor.
*/
function generate_do_inline_block_editor_css( $for = 'block-content' ) {
$css = new GeneratePress_CSS();
$css->set_selector( ':root' );
$global_colors = generate_get_global_colors();
if ( ! empty( $global_colors ) ) {
foreach ( (array) $global_colors as $key => $data ) {
if ( ! empty( $data['slug'] ) && ! empty( $data['color'] ) ) {
$css->add_property( '--' . $data['slug'], $data['color'] );
}
}
foreach ( (array) $global_colors as $key => $data ) {
if ( ! empty( $data['slug'] ) && ! empty( $data['color'] ) ) {
$css->set_selector( '.has-' . $data['slug'] . '-color' );
$css->add_property( 'color', 'var(--' . $data['slug'] . ')' );
$css->set_selector( '.has-' . $data['slug'] . '-background-color' );
$css->add_property( 'background-color', 'var(--' . $data['slug'] . ')' );
}
}
}
// If this CSS is for the editor only (not the block content), we can return here.
if ( 'block-editor' === $for ) {
return $css->css_output();
}
$color_settings = wp_parse_args(
get_option( 'generate_settings', array() ),
generate_get_color_defaults()
);
$font_settings = wp_parse_args(
get_option( 'generate_settings', array() ),
generate_get_default_fonts()
);
$content_width = generate_get_block_editor_content_width();
$spacing_settings = wp_parse_args(
get_option( 'generate_spacing_settings', array() ),
generate_spacing_get_defaults()
);
$content_width_calc = sprintf(
'calc(%1$s - %2$s - %3$s)',
absint( $content_width ) . 'px',
absint( $spacing_settings['content_left'] ) . 'px',
absint( $spacing_settings['content_right'] ) . 'px'
);
$css->set_selector( 'body' );
$css->add_property(
'--content-width',
'true' === get_post_meta( get_the_ID(), '_generate-full-width-content', true )
? '100%'
: $content_width_calc
);
$css->set_selector( 'body .wp-block' );
$css->add_property( 'max-width', 'var(--content-width)' );
$css->set_selector( '.wp-block[data-align="full"]' );
$css->add_property( 'max-width', 'none' );
$css->set_selector( '.wp-block[data-align="wide"]' );
$css->add_property( 'max-width', absint( $content_width ), false, 'px' );
$underline_links = generate_get_option( 'underline_links' );
if ( 'never' !== $underline_links ) {
if ( 'always' === $underline_links ) {
$css->set_selector( ':where(.wp-block a)' );
$css->add_property( 'text-decoration', 'underline' );
}
if ( 'hover' === $underline_links ) {
$css->set_selector( ':where(.wp-block a)' );
$css->add_property( 'text-decoration', 'none' );
$css->set_selector( ':where(.wp-block a:hover), :where(.wp-block a:focus)' );
$css->add_property( 'text-decoration', 'underline' );
}
if ( 'not-hover' === $underline_links ) {
$css->set_selector( ':where(.wp-block a)' );
$css->add_property( 'text-decoration', 'underline' );
$css->set_selector( ':where(.wp-block a:hover), :where(.wp-block a:focus)' );
$css->add_property( 'text-decoration', 'none' );
}
$css->set_selector( 'a.button, .wp-block-button__link' );
$css->add_property( 'text-decoration', 'none' );
} else {
$css->set_selector( '.wp-block a' );
$css->add_property( 'text-decoration', 'none' );
}
if ( apply_filters( 'generate_do_group_inner_container_style', true ) ) {
$css->set_selector( '.wp-block-group__inner-container' );
$css->add_property( 'max-width', absint( $content_width ), false, 'px' );
$css->add_property( 'margin-left', 'auto' );
$css->add_property( 'margin-right', 'auto' );
$css->add_property( 'padding', generate_padding_css( $spacing_settings['content_top'], $spacing_settings['content_right'], $spacing_settings['content_bottom'], $spacing_settings['content_left'] ) );
}
$css->set_selector( 'a.button, a.button:visited, .wp-block-button__link:not(.has-background)' );
$css->add_property( 'color', $color_settings['form_button_text_color'] );
$css->add_property( 'background-color', $color_settings['form_button_background_color'] );
$css->add_property( 'padding', '10px 20px' );
$css->add_property( 'border', '0' );
$css->add_property( 'border-radius', '0' );
$css->set_selector( 'a.button:hover, a.button:active, a.button:focus, .wp-block-button__link:not(.has-background):active, .wp-block-button__link:not(.has-background):focus, .wp-block-button__link:not(.has-background):hover' );
$css->add_property( 'color', $color_settings['form_button_text_color_hover'] );
$css->add_property( 'background-color', $color_settings['form_button_background_color_hover'] );
if ( ! generate_is_using_dynamic_typography() ) {
$body_family = generate_get_font_family_css( 'font_body', 'generate_settings', generate_get_default_fonts() );
$h1_family = generate_get_font_family_css( 'font_heading_1', 'generate_settings', generate_get_default_fonts() );
$h2_family = generate_get_font_family_css( 'font_heading_2', 'generate_settings', generate_get_default_fonts() );
$h3_family = generate_get_font_family_css( 'font_heading_3', 'generate_settings', generate_get_default_fonts() );
$h4_family = generate_get_font_family_css( 'font_heading_4', 'generate_settings', generate_get_default_fonts() );
$h5_family = generate_get_font_family_css( 'font_heading_5', 'generate_settings', generate_get_default_fonts() );
$h6_family = generate_get_font_family_css( 'font_heading_6', 'generate_settings', generate_get_default_fonts() );
$buttons_family = generate_get_font_family_css( 'font_buttons', 'generate_settings', generate_get_default_fonts() );
}
$css->set_selector( 'body' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $body_family );
$css->add_property( 'font-size', absint( $font_settings['body_font_size'] ), false, 'px' );
}
if ( $color_settings['content_text_color'] ) {
$css->add_property( 'color', $color_settings['content_text_color'] );
} else {
$css->add_property( 'color', generate_get_option( 'text_color' ) );
}
$css->set_selector( '.content-title-visibility' );
if ( $color_settings['content_text_color'] ) {
$css->add_property( 'color', $color_settings['content_text_color'] );
} else {
$css->add_property( 'color', generate_get_option( 'text_color' ) );
}
if ( ! generate_is_using_dynamic_typography() ) {
$css->set_selector( 'body, p' );
$css->add_property( 'line-height', floatval( $font_settings['body_line_height'] ) );
$css->set_selector( 'p' );
$css->add_property( 'margin-top', '0px' );
$css->add_property( 'margin-bottom', $font_settings['paragraph_margin'], false, 'em' );
}
$css->set_selector( 'h1' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', 'inherit' === $h1_family || '' === $h1_family ? $body_family : $h1_family );
$css->add_property( 'font-weight', $font_settings['heading_1_weight'] );
$css->add_property( 'text-transform', $font_settings['heading_1_transform'] );
$css->add_property( 'font-size', absint( $font_settings['heading_1_font_size'] ), false, 'px' );
$css->add_property( 'line-height', floatval( $font_settings['heading_1_line_height'] ), false, 'em' );
$css->add_property( 'margin-bottom', floatval( $font_settings['heading_1_margin_bottom'] ), false, 'px' );
$css->add_property( 'margin-top', '0' );
}
$css->add_property( 'color', $color_settings['h1_color'] );
if ( $color_settings['content_title_color'] ) {
$css->set_selector( '.edit-post-visual-editor__post-title-wrapper h1' );
$css->add_property( 'color', $color_settings['content_title_color'] );
}
$css->set_selector( 'h2' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $h2_family );
$css->add_property( 'font-weight', $font_settings['heading_2_weight'] );
$css->add_property( 'text-transform', $font_settings['heading_2_transform'] );
$css->add_property( 'font-size', absint( $font_settings['heading_2_font_size'] ), false, 'px' );
$css->add_property( 'line-height', floatval( $font_settings['heading_2_line_height'] ), false, 'em' );
$css->add_property( 'margin-bottom', floatval( $font_settings['heading_2_margin_bottom'] ), false, 'px' );
$css->add_property( 'margin-top', '0' );
}
$css->add_property( 'color', $color_settings['h2_color'] );
$css->set_selector( 'h3' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $h3_family );
$css->add_property( 'font-weight', $font_settings['heading_3_weight'] );
$css->add_property( 'text-transform', $font_settings['heading_3_transform'] );
$css->add_property( 'font-size', absint( $font_settings['heading_3_font_size'] ), false, 'px' );
$css->add_property( 'line-height', floatval( $font_settings['heading_3_line_height'] ), false, 'em' );
$css->add_property( 'margin-bottom', floatval( $font_settings['heading_3_margin_bottom'] ), false, 'px' );
$css->add_property( 'margin-top', '0' );
}
$css->add_property( 'color', $color_settings['h3_color'] );
$css->set_selector( 'h4' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $h4_family );
$css->add_property( 'font-weight', $font_settings['heading_4_weight'] );
$css->add_property( 'text-transform', $font_settings['heading_4_transform'] );
$css->add_property( 'margin-bottom', '20px' );
$css->add_property( 'margin-top', '0' );
if ( '' !== $font_settings['heading_4_font_size'] ) {
$css->add_property( 'font-size', absint( $font_settings['heading_4_font_size'] ), false, 'px' );
} else {
$css->add_property( 'font-size', 'inherit' );
}
if ( '' !== $font_settings['heading_4_line_height'] ) {
$css->add_property( 'line-height', floatval( $font_settings['heading_4_line_height'] ), false, 'em' );
}
}
$css->add_property( 'color', $color_settings['h4_color'] );
$css->set_selector( 'h5' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $h5_family );
$css->add_property( 'font-weight', $font_settings['heading_5_weight'] );
$css->add_property( 'text-transform', $font_settings['heading_5_transform'] );
$css->add_property( 'margin-bottom', '20px' );
$css->add_property( 'margin-top', '0' );
if ( '' !== $font_settings['heading_5_font_size'] ) {
$css->add_property( 'font-size', absint( $font_settings['heading_5_font_size'] ), false, 'px' );
} else {
$css->add_property( 'font-size', 'inherit' );
}
if ( '' !== $font_settings['heading_5_line_height'] ) {
$css->add_property( 'line-height', floatval( $font_settings['heading_5_line_height'] ), false, 'em' );
}
}
$css->add_property( 'color', $color_settings['h5_color'] );
$css->set_selector( 'h6' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $h6_family );
$css->add_property( 'font-weight', $font_settings['heading_6_weight'] );
$css->add_property( 'text-transform', $font_settings['heading_6_transform'] );
$css->add_property( 'margin-bottom', '20px' );
$css->add_property( 'margin-top', '0' );
if ( '' !== $font_settings['heading_6_font_size'] ) {
$css->add_property( 'font-size', absint( $font_settings['heading_6_font_size'] ), false, 'px' );
} else {
$css->add_property( 'font-size', 'inherit' );
}
if ( '' !== $font_settings['heading_6_line_height'] ) {
$css->add_property( 'line-height', floatval( $font_settings['heading_6_line_height'] ), false, 'em' );
}
}
$css->add_property( 'color', $color_settings['h6_color'] );
$css->set_selector( 'a.button, .block-editor-block-list__layout .wp-block-button .wp-block-button__link' );
if ( ! generate_is_using_dynamic_typography() ) {
$css->add_property( 'font-family', $buttons_family );
$css->add_property( 'font-weight', $font_settings['buttons_font_weight'] );
$css->add_property( 'text-transform', $font_settings['buttons_font_transform'] );
if ( '' !== $font_settings['buttons_font_size'] ) {
$css->add_property( 'font-size', absint( $font_settings['buttons_font_size'] ), false, 'px' );
} else {
$css->add_property( 'font-size', 'inherit' );
}
}
if ( version_compare( $GLOBALS['wp_version'], '5.7-alpha.1', '>' ) ) {
$css->set_selector( '.block-editor__container .edit-post-visual-editor' );
$css->add_property( 'background-color', generate_get_option( 'background_color' ) );
$css->set_selector( 'body' );
if ( $color_settings['content_background_color'] ) {
$css->add_property( 'background-color', $color_settings['content_background_color'] );
} else {
$css->add_property( 'background-color', generate_get_option( 'background_color' ) );
}
} else {
$css->set_selector( 'body' );
$css->add_property( 'background-color', generate_get_option( 'background_color' ) );
if ( $color_settings['content_background_color'] ) {
$body_background = generate_get_option( 'background_color' );
$content_background = $color_settings['content_background_color'];
$css->add_property( 'background', 'linear-gradient(' . $content_background . ',' . $content_background . '), linear-gradient(' . $body_background . ',' . $body_background . ')' );
}
}
$css->set_selector( 'a' );
if ( $color_settings['content_link_color'] ) {
$css->add_property( 'color', $color_settings['content_link_color'] );
} else {
$css->add_property( 'color', generate_get_option( 'link_color' ) );
}
$css->set_selector( 'a:hover, a:focus, a:active' );
if ( $color_settings['content_link_hover_color'] ) {
$css->add_property( 'color', $color_settings['content_link_hover_color'] );
} else {
$css->add_property( 'color', generate_get_option( 'link_color_hover' ) );
}
return $css->css_output();
}
@@ -0,0 +1,217 @@
<?php
/**
* Builds our dynamic CSS.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if ( ! class_exists( 'GeneratePress_CSS' ) ) {
/**
* Creates minified css via PHP.
*
* @author Carlos Rios
* Modified by Tom Usborne for GeneratePress
*/
class GeneratePress_CSS {
/**
* The css selector that you're currently adding rules to
*
* @access protected
* @var string
*/
protected $_selector = ''; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
/**
* Stores the final css output with all of its rules for the current selector.
*
* @access protected
* @var string
*/
protected $_selector_output = ''; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
/**
* Stores all of the rules that will be added to the selector
*
* @access protected
* @var string
*/
protected $_css = ''; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
/**
* The string that holds all of the css to output
*
* @access protected
* @var string
*/
protected $_output = ''; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
/**
* Stores media queries
*
* @var null
*/
protected $_media_query = null; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
/**
* The string that holds all of the css to output inside of the media query
*
* @access protected
* @var string
*/
protected $_media_query_output = ''; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
/**
* Sets a selector to the object and changes the current selector to a new one
*
* @access public
* @since 1.0
*
* @param string $selector - the css identifier of the html that you wish to target.
* @return $this
*/
public function set_selector( $selector = '' ) {
// Render the css in the output string everytime the selector changes.
if ( '' !== $this->_selector ) {
$this->add_selector_rules_to_output();
}
$this->_selector = $selector;
return $this;
}
/**
* Adds a css property with value to the css output
*
* @access public
* @since 1.0
*
* @param string $property The css property.
* @param string $value The value to be placed with the property.
* @param string $og_default Check to see if the value matches the default.
* @param string $unit The unit for the value (px).
* @return $this
*/
public function add_property( $property, $value, $og_default = false, $unit = false ) {
// Setting font-size to 0 is rarely ever a good thing.
if ( 'font-size' === $property && 0 === $value ) {
return false;
}
// Add our unit to our value if it exists.
if ( $unit && '' !== $unit && is_numeric( $value ) ) {
$value = $value . $unit;
if ( '' !== $og_default ) {
$og_default = $og_default . $unit;
}
}
// If we don't have a value or our value is the same as our og default, bail.
if ( ( empty( $value ) && ! is_numeric( $value ) ) || $og_default === $value ) {
return false;
}
$this->_css .= $property . ':' . $value . ';';
return $this;
}
/**
* Sets a media query in the class
*
* @since 1.1
* @param string $value The media query.
* @return $this
*/
public function start_media_query( $value ) {
// Add the current rules to the output.
$this->add_selector_rules_to_output();
// Add any previous media queries to the output.
if ( ! empty( $this->_media_query ) ) {
$this->add_media_query_rules_to_output();
}
// Set the new media query.
$this->_media_query = $value;
return $this;
}
/**
* Stops using a media query.
*
* @see start_media_query()
*
* @since 1.1
* @return $this
*/
public function stop_media_query() {
return $this->start_media_query( null );
}
/**
* Adds the current media query's rules to the class' output variable
*
* @since 1.1
* @return $this
*/
private function add_media_query_rules_to_output() {
if ( ! empty( $this->_media_query_output ) ) {
$this->_output .= sprintf( '@media %1$s{%2$s}', $this->_media_query, $this->_media_query_output );
// Reset the media query output string.
$this->_media_query_output = '';
}
return $this;
}
/**
* Adds the current selector rules to the output variable
*
* @access private
* @since 1.0
*
* @return $this
*/
private function add_selector_rules_to_output() {
if ( ! empty( $this->_css ) ) {
$this->_selector_output = $this->_selector;
$selector_output = sprintf( '%1$s{%2$s}', $this->_selector_output, $this->_css );
// Add our CSS to the output.
if ( ! empty( $this->_media_query ) ) {
$this->_media_query_output .= $selector_output;
$this->_css = '';
} else {
$this->_output .= $selector_output;
}
// Reset the css.
$this->_css = '';
}
return $this;
}
/**
* Returns the minified css in the $_output variable
*
* @access public
* @since 1.0
*
* @return string
*/
public function css_output() {
// Add current selector's rules to output.
$this->add_selector_rules_to_output();
// Output minified css.
return $this->_output;
}
}
}
@@ -0,0 +1,267 @@
<?php
/**
* Build our admin dashboard.
*
* @package GeneratePress
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* This class adds HTML attributes to various theme elements.
*/
class GeneratePress_Dashboard {
/**
* Class instance.
*
* @access private
* @var $instance Class instance.
*/
private static $instance;
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Get started.
*/
public function __construct() {
// Load our old dashboard if we're using an old version of GP Premium.
if ( defined( 'GP_PREMIUM_VERSION' ) && version_compare( GP_PREMIUM_VERSION, '2.1.0-alpha.1', '<' ) ) {
require_once get_template_directory() . '/inc/dashboard.php';
return;
}
add_action( 'admin_menu', array( $this, 'add_menu_item' ) );
add_filter( 'admin_body_class', array( $this, 'set_admin_body_class' ) );
add_action( 'in_admin_header', array( $this, 'add_header' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
add_action( 'generate_admin_dashboard', array( $this, 'start_customizing' ) );
add_action( 'generate_admin_dashboard', array( $this, 'go_pro' ), 15 );
add_action( 'generate_admin_dashboard', array( $this, 'reset' ), 100 );
}
/**
* Add our dashboard menu item.
*/
public function add_menu_item() {
add_theme_page(
esc_html__( 'GeneratePress', 'generatepress' ),
esc_html__( 'GeneratePress', 'generatepress' ),
apply_filters( 'generate_dashboard_page_capability', 'edit_theme_options' ),
'generate-options',
array( $this, 'page' )
);
}
/**
* Get our dashboard pages so we can style them.
*/
public static function get_pages() {
return apply_filters(
'generate_dashboard_screens',
array(
'appearance_page_generate-options',
)
);
}
/**
* Add a body class on GP dashboard pages.
*
* @param string $classes The existing classes.
*/
public function set_admin_body_class( $classes ) {
$dashboard_pages = self::get_pages();
$current_screen = get_current_screen();
if ( in_array( $current_screen->id, $dashboard_pages ) ) {
$classes .= ' generate-dashboard-page';
}
return $classes;
}
/**
* Build our Dashboard header.
*/
public static function header() {
?>
<div class="generatepress-dashboard-header">
<div class="generatepress-dashboard-header__title">
<h1>
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><path d="M485.2 427.8l-99.1-46.2 15.8-34c5.6-11.9 8.8-24.3 10-36.7 3.3-33.7-9-67.3-33.2-91.1-8.9-8.7-19.3-16.1-31.3-21.7-11.9-5.6-24.3-8.8-36.7-10-33.7-3.3-67.4 9-91.1 33.2-8.7 8.9-16.1 19.3-21.7 31.3l-15.8 34-30.4 65.2c-.7 1.5-.1 3.3 1.5 4l65.2 30.4 34 15.8 34 15.8 68 31.7 74.7 34.8c-65 45.4-152.1 55.2-228.7 17.4C90.2 447.4 44.1 313.3 97.3 202.6c53.3-110.8 186-158.5 297.8-106.3 88.1 41.1 137.1 131.9 129.1 223.4-.1 1.3.6 2.4 1.7 3l65.6 30.6c1.8.8 3.9-.3 4.2-2.2 22.6-130.7-44-265.4-170.5-323.5-150.3-69-327-4.1-396.9 145.8-70 150.1-5.1 328.5 145.1 398.5 114.1 53.2 244.5 28.4 331.3-52.3 17.9-16.6 33.9-35.6 47.5-56.8 1-1.5.4-3.6-1.3-4.3l-65.7-30.7zm-235-109.6l15.8-34c8.8-18.8 31.1-26.9 49.8-18.1s26.9 31 18.1 49.8l-15.8 34-34-15.8-33.9-15.9z" fill="currentColor" /></svg>
<?php echo esc_html( get_admin_page_title() ); ?>
</h1>
</div>
<?php self::navigation(); ?>
</div>
<?php
}
/**
* Build our Dashboard menu.
*/
public static function navigation() {
$screen = get_current_screen();
$tabs = apply_filters(
'generate_dashboard_tabs',
array(
'dashboard' => array(
'name' => __( 'Dashboard', 'generatepress' ),
'url' => admin_url( 'themes.php?page=generate-options' ),
'class' => 'appearance_page_generate-options' === $screen->id ? 'active' : '',
),
)
);
if ( ! defined( 'GP_PREMIUM_VERSION' ) ) {
$tabs['premium'] = array(
'name' => __( 'Premium', 'generatepress' ),
'url' => 'https://generatepress.com/premium',
'class' => '',
'external' => true,
);
}
$tabs['support'] = array(
'name' => __( 'Support', 'generatepress' ),
'url' => 'https://generatepress.com/support',
'class' => '',
'external' => true,
);
$tabs['documentation'] = array(
'name' => __( 'Documentation', 'generatepress' ),
'url' => 'https://docs.generatepress.com',
'class' => '',
'external' => true,
);
?>
<div class="generatepress-dashboard-header__navigation">
<?php
foreach ( $tabs as $tab ) {
printf(
'<a href="%1$s" class="%2$s"%4$s%5$s>%3$s</a>',
esc_url( $tab['url'] ),
esc_attr( $tab['class'] ),
esc_html( $tab['name'] ),
! empty( $tab['external'] ) ? 'target="_blank" rel="noreferrer noopener"' : '',
esc_attr( ! empty( $tab['id'] ) ? 'id=' . $tab['id'] : '' )
);
}
?>
</div>
<?php
}
/**
* Add our Dashboard headers.
*/
public function add_header() {
$dashboard_pages = self::get_pages();
$current_screen = get_current_screen();
if ( in_array( $current_screen->id, $dashboard_pages ) ) {
self::header();
/**
* generate_dashboard_after_header hook.
*
* @since 2.0
*/
do_action( 'generate_dashboard_after_header' );
}
}
/**
* Add our scripts to the page.
*/
public function enqueue_scripts() {
$dashboard_pages = self::get_pages();
$current_screen = get_current_screen();
if ( in_array( $current_screen->id, $dashboard_pages ) ) {
wp_enqueue_style(
'generate-dashboard',
get_template_directory_uri() . '/assets/dist/style-dashboard.css',
array( 'wp-components' ),
GENERATE_VERSION
);
if ( 'appearance_page_generate-options' === $current_screen->id ) {
wp_enqueue_script(
'generate-dashboard',
get_template_directory_uri() . '/assets/dist/dashboard.js',
array( 'wp-api', 'wp-i18n', 'wp-components', 'wp-element', 'wp-api-fetch', 'wp-hooks', 'wp-polyfill' ),
GENERATE_VERSION,
true
);
wp_set_script_translations( 'generate-dashboard', 'generatepress' );
wp_localize_script(
'generate-dashboard',
'generateDashboard',
array(
'hasPremium' => defined( 'GP_PREMIUM_VERSION' ),
'customizeSectionUrls' => array(
'siteIdentitySection' => add_query_arg( rawurlencode( 'autofocus[section]' ), 'title_tagline', wp_customize_url() ),
'colorsSection' => add_query_arg( rawurlencode( 'autofocus[section]' ), 'generate_colors_section', wp_customize_url() ),
'typographySection' => add_query_arg( rawurlencode( 'autofocus[section]' ), 'generate_typography_section', wp_customize_url() ),
'layoutSection' => add_query_arg( rawurlencode( 'autofocus[panel]' ), 'generate_layout_panel', wp_customize_url() ),
),
)
);
}
}
}
/**
* Add the HTML for our page.
*/
public function page() {
?>
<div class="wrap">
<div class="generatepress-dashboard">
<?php do_action( 'generate_admin_dashboard' ); ?>
</div>
</div>
<?php
}
/**
* Add the container for our start customizing app.
*/
public function start_customizing() {
echo '<div id="generatepress-dashboard-app"></div>';
}
/**
* Add the container for our start customizing app.
*/
public function go_pro() {
echo '<div id="generatepress-dashboard-go-pro"></div>';
}
/**
* Add the container for our reset app.
*/
public function reset() {
echo '<div id="generatepress-reset"></div>';
}
}
GeneratePress_Dashboard::get_instance();

Some files were not shown because too many files have changed in this diff Show More