diff --git a/functions.php b/functions.php index e143591..b8512c1 100644 --- a/functions.php +++ b/functions.php @@ -2,9 +2,9 @@ /** * Theme functionality - * + * * @since 1.0.0 - * + * * @package Trestle */ @@ -18,6 +18,9 @@ require_once dirname( __FILE__ ) . '/includes/functions/theme-functions.php'; // Admin functionality require_once dirname( __FILE__ ) . '/includes/admin/admin.php'; +// Customizer controls +require_once dirname( __FILE__ ) . '/includes/admin/customizer.php'; + // Shortcodes require_once dirname( __FILE__ ) . '/includes/shortcodes/shortcodes.php'; @@ -60,5 +63,4 @@ function trestle_theme_setup() { // Add support for footer widgets if specified in Trestle settings $trestle_footer_widgets_number = esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) ); add_theme_support( 'genesis-footer-widgets', $trestle_footer_widgets_number ); - } diff --git a/includes/admin/admin.css b/includes/admin/admin.css deleted file mode 100644 index 8a9bf26..0000000 --- a/includes/admin/admin.css +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Trestle admin styles - * - * @since 1.0.0 - * - * @package Trestle - */ - -.trestle-layout img { - margin-right: 10px; - border: 4px solid transparent; - cursor: pointer; -} - -.trestle-layout img:hover { - border-color: #EEE; -} - -.trestle-layout img.checked { - border-color: #CCC; -} - -/* Columns ---------------------------------------------- */ -.five-sixths, -.four-sixths, -.one-fourth, -.one-half, -.one-sixth, -.one-third, -.three-fourths, -.three-sixths, -.two-fourths, -.two-sixths, -.two-thirds, -.footer-widgets .widget-area { - float: left; - margin: 0; - width: 100%; -} - - -/* Media Queries ---------------------------------------------- */ -@media (min-width: 768px) { - - /* Columns - --------------------------------------------- */ - - .five-sixths, - .four-sixths, - .one-fourth, - .one-half, - .one-sixth, - .one-third, - .three-fourths, - .three-sixths, - .two-fourths, - .two-sixths, - .two-thirds, - .footer-widgets .widget-area { - margin-left: 2.564102564102564%; - } - - .one-half, - .three-sixths, - .two-fourths, - .footer-widgets-number-2 .footer-widgets .widget-area { - width: 48.717948717948715%; - } - - .one-third, - .two-sixths, - .sidebar-primary, - .title-area, - .footer-widgets-number-3 .footer-widgets .widget-area { - width: 31.623931623931625%; - } - - .four-sixths, - .two-thirds, - .content { - width: 65.81196581196582%; - } - - .one-fourth, - .footer-widgets-number-4 .footer-widgets .widget-area { - width: 23.076923076923077%; - } - - .three-fourths { - width: 74.35897435897436%; - } - - .one-fifth, - .footer-widgets-number-5 .footer-widgets .widget-area { - width: 17.948717949%; - } - - .one-sixth, - .footer-widgets-number-6 .footer-widgets .widget-area { - width: 14.52991452991453%; - } - - .five-sixths { - width: 82.90598290598291%; - } - - .first, - .footer-widgets .footer-widgets-1 { - clear: both; - margin-left: 0; - } - - /* Lists inside columns (to remove bottom margin as needed at mobile sizes */ - .no-list-margin ul, - .no-list-margin ol { - margin-bottom: 26px; - margin-bottom: 2.6rem; - } - -} \ No newline at end of file diff --git a/includes/admin/admin.js b/includes/admin/admin.js deleted file mode 100644 index c580186..0000000 --- a/includes/admin/admin.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * jQuery that runs in the WordPress admin - * - * @since 1.0.0 - * - * @package Trestle - */ - -// Executes when the document is ready -jQuery(document).ready(function() { - - // Hide Trestle layout radio buttons - jQuery('.trestle-layout img').next('input[type="radio"]').hide(); - - // Add radio button functionality to layout icons - jQuery('.trestle-layout img').click(function() { - jQuery(this).next('input[type="radio"]').attr('checked', true); - jQuery('.trestle-layout img').removeClass('checked'); - jQuery(this).addClass('checked'); - }); - - // Add drop-down functionality for Post Info & Meta options - if( ! jQuery('#genesis-settings\\[trestle_manual_post_info_meta\\]').is(':checked') ) { - jQuery('.trestle-post-info-meta').hide(); - } - - jQuery('#genesis-settings\\[trestle_manual_post_info_meta\\]').change(function() { - jQuery('.trestle-post-info-meta').slideToggle(); - }); - - // Add drop-down functionality for equal height breakpoint - if( ! jQuery('#genesis-settings\\[trestle_equal_height_cols\\]').is(':checked') ) { - jQuery('.trestle-equal-columns-breakpoint').hide(); - } - - jQuery('#genesis-settings\\[trestle_equal_height_cols\\]').change(function() { - jQuery('.trestle-equal-columns-breakpoint').slideToggle(); - }); - -}); /* end of as page load scripts */ diff --git a/includes/admin/admin.php b/includes/admin/admin.php index 3628874..4fd5bc4 100644 --- a/includes/admin/admin.php +++ b/includes/admin/admin.php @@ -14,26 +14,22 @@ add_action( 'admin_enqueue_scripts', 'trestle_admin_actions' ); * @since 1.0.0 */ function trestle_admin_actions() { - // Add admin jQuery - wp_enqueue_script( 'trestle-admin-jquery', get_stylesheet_directory_uri() . '/includes/admin/admin.js', array( 'jquery' ), '1.0.0', true ); - // Add admin jQuery - wp_enqueue_style( 'trestle-admin', get_stylesheet_directory_uri() . '/includes/admin/admin.css' ); - - // Add admin CSS - add_editor_style( get_stylesheet_directory_uri() . '/includes/admin/editor-style.css' ); + // Include the main stylesheet in the editor + add_editor_style( get_stylesheet_uri() ); } add_filter( 'genesis_theme_settings_defaults', 'trestle_custom_defaults' ); /** * Sets up Trestle default settings. * - * @since 1.0.0 + * @since 1.0.0 * - * @param array $defaults Genesis default settings. - * @return array Genesis settings updated to include Trestle defaults. + * @param array $defaults Genesis default settings. + * @return array Genesis settings updated to include Trestle defaults. */ function trestle_custom_defaults( $defaults ) { + // Trestle default key/value pairs $trestle_defaults = array( 'trestle_layout' => 'solid', @@ -41,303 +37,35 @@ function trestle_custom_defaults( $defaults ) { 'trestle_logo_url_mobile' => '', 'trestle_favicon_url' => '', 'trestle_nav_primary_location' => 'full', - 'trestle_auto_nav' => 0, - 'trestle_auto_nav_depth' => 0, - 'trestle_include_home_link' => 0, - 'trestle_home_link_text' => __( 'Home', 'trestle' ), - 'trestle_nav_button_text' => '[icon name="icon-list-ul"] ' . __( 'Navigation', 'trestle' ), 'trestle_read_more_text' => __( 'Read More »', 'trestle' ), 'trestle_revisions_number' => 3, 'trestle_footer_widgets_number' => 3, - 'trestle_equal_height_cols' => 1, - 'trestle_equal_cols_breakpoint' => 768, - 'trestle_external_link_icons' => 1, - 'trestle_email_link_icons' => 1, - 'trestle_pdf_link_icons' => 1, - 'trestle_doc_link_icons' => 1, ); // Populate Trestle settings with default values if they don't yet exist $options = get_option( GENESIS_SETTINGS_FIELD ); foreach ( $trestle_defaults as $k => $v ) { + // Add defaults to Genesis default settings array $defaults[$k] = $v; // Update actual options if they don't yet exist - if ( $options && ! array_key_exists( $k, $options ) ) + if ( $options && ! array_key_exists( $k, $options ) ) $options[$k] = $v; } // Update options with defaults update_option( GENESIS_SETTINGS_FIELD, $options ); - + return $defaults; } -add_action( 'genesis_settings_sanitizer_init', 'trestle_register_social_sanitization_filters' ); -/** - * Adds sanitization for various Trestle admin settings. - * - * @since 1.0.0 - */ -function trestle_register_social_sanitization_filters() { - // 1 or 0 - genesis_add_option_filter( - 'one_zero', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_auto_nav', - 'trestle_include_home_link', - 'trestle_custom_nav_extras', - 'trestle_manual_post_info_meta', - 'trestle_equal_height_cols', - 'trestle_external_link_icons', - 'trestle_email_link_icons', - 'trestle_pdf_link_icons', - 'trestle_doc_link_icons', - ) - ); - - // Integer - genesis_add_option_filter( - 'absint', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_auto_nav_depth', - 'trestle_revisions_number', - 'trestle_footer_widgets_number', - 'trestle_equal_cols_breakpoint', - ) - ); - - // No HTML - genesis_add_option_filter( - 'no_html', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_layout', - 'trestle_nav_primary_location' - ) - ); - - // Safe HTML - genesis_add_option_filter( - 'safe_html', - GENESIS_SETTINGS_FIELD, - array( - 'trestle_logo_url', - 'trestle_logo_url_mobile', - 'trestle_favicon_url', - 'trestle_home_link_text', - 'trestle_nav_button_text', - 'trestle_custom_nav_extras_text', - 'trestle_read_more_text' - ) - ); -} - -add_action( 'genesis_theme_settings_metaboxes', 'trestle_register_settings_box' ); -/** - * Registers Trestle admin settings box. - * - * @since 1.0.0 - * - * @global array $_genesis_admin_settings Genesis admin settings. - * - * @param string $_genesis_theme_settings_pagehook Hook for main Genesis settings page in admin. - */ -function trestle_register_settings_box( $_genesis_theme_settings_pagehook ) { - global $_genesis_admin_settings; - - // Create Trestle settings metabox - $settings_box_title = __( 'Trestle Settings by', 'trestle' ) . ' MIGHTYminnow'; - add_meta_box( 'trestle-settings', $settings_box_title, 'trestle_settings_box', $_genesis_theme_settings_pagehook, 'main', 'high' ); -} - -/** - * Outputs contents of Trestle admin settings box on Genesis settings page. - * - * @since 1.0.0 - */ -function trestle_settings_box() { - // Set path for image radio inputs - $img_path = get_stylesheet_directory_uri() . '/images/admin/'; - - ?> -

-

- /> - /> - /> - /> -

- -

-

-
- -

-

-
- -

-

-
- - /wp-content/themes/trestle/images/favicon.ico if not specified.', 'trestle' ); ?> -

- -

-

-
- -

-

- /> -
- /> -

- -

-
- -

- -

-
- -

- -

-

- /> -

-

-
- -

- -

-

- : -

-

- - -

- -

-

- /> -

-
-
- - labels->name; - $slug = $post_type_object->name; - ?> -
- /> -
- - /> - - -

-
-
- - labels->name; - $slug = $post_type_object->name; - ?> -
- /> -
- - /> - - -

-
-
- -

-

- - -

- -

-

- /> -

-

- -

- -

-

- />
- />
- />
- /> -

- 'Better Font Awesome', + 'slug' => 'better-font-awesome', + 'required' => true, + ), + array( 'name' => 'Respond.js', 'slug' => 'respondjs', @@ -379,8 +114,8 @@ function trestle_register_required_plugins() { ), array( - 'name' => 'Easy Fancybox', - 'slug' => 'easy-fancybox', + 'name' => 'FancyBox for WordPress', + 'slug' => 'fancybox-for-wordpress', 'required' => false, ), diff --git a/includes/admin/customizer.js b/includes/admin/customizer.js new file mode 100644 index 0000000..7a44eb4 --- /dev/null +++ b/includes/admin/customizer.js @@ -0,0 +1,147 @@ +/** + * JavaScript for the Customizer Preview + * + * @since 1.0.0 + */ + +( function( $ ) { + + // Layout + wp.customize( 'genesis-settings[trestle_layout]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + switch ( value ) { + case 'solid': + $body.removeClass( 'bubble' ); + break; + case 'bubble': + $body.addClass( 'bubble' ); + break; + } + + }); + }); + + // Custom logo + wp.customize( 'genesis-settings[trestle_logo_url]', function( value ) { + value.bind( function( url ) { + + var $body = $( 'body' ); + + if ( 0 === $.trim( url ).length ) { + $body.removeClass( 'has-logo' ); + $( '.site-title a.image-link' ).remove(); + } else { + $body.addClass( 'has-logo' ); + $( '.site-title a.image-link' ).remove(); + $( '.site-title' ).append( '' ); + } + + }); + }); + + // Favicon + wp.customize( 'genesis-settings[trestle_favicon_url]', function( value ) { + value.bind( function( url ) { + + var $faviconElem = $( 'link[rel="Shortcut Icon"]' ); + $faviconElem.attr( 'href', url ); + + }); + }); + + // Primary Nav Location + wp.customize( 'genesis-settings[trestle_nav_primary_location]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + var $nav = $( '.nav-primary' ); + + switch ( value ) { + case 'full': + $body.removeClass( 'nav-primary-location-header' ) + .addClass( 'nav-primary-location-full' ); + $nav.remove().insertAfter( '.site-header' ); + break; + case 'header': + $body.removeClass( 'nav-primary-location-full' ) + .addClass( 'nav-primary-location-header' ); + $nav.remove().appendTo( '.site-header .wrap' ); + break; + } + + }); + }); + + // Custom Read More Link Text + wp.customize( 'genesis-settings[trestle_read_more_text]', function( value ) { + value.bind( function( value ) { + + $( 'a.more-link' ).html( value ); + + }); + }); + + // External Links + wp.customize( 'genesis-settings[trestle_external_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'external-link-icons' ); + } else { + $body.removeClass( 'external-link-icons' ); + } + + }); + }); + + // Email Links + wp.customize( 'genesis-settings[trestle_email_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'email-link-icons' ); + } else { + $body.removeClass( 'email-link-icons' ); + } + + }); + }); + + // PDF Links + wp.customize( 'genesis-settings[trestle_pdf_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'pdf-link-icons' ); + } else { + $body.removeClass( 'pdf-link-icons' ); + } + + }); + }); + + // Doc Links + wp.customize( 'genesis-settings[trestle_doc_link_icons]', function( value ) { + value.bind( function( value ) { + + var $body = $( 'body' ); + + if ( value ) { + $body.addClass( 'doc-link-icons' ); + } else { + $body.removeClass( 'doc-link-icons' ); + } + + }); + }); + +})( jQuery ); diff --git a/includes/admin/customizer.php b/includes/admin/customizer.php new file mode 100644 index 0000000..93df40a --- /dev/null +++ b/includes/admin/customizer.php @@ -0,0 +1,366 @@ +add_section( + 'trestle_settings_section', + array( + 'title' => __( 'Trestle Settings', 'trestle' ), + 'priority' => 160, + ) + ); + + // Layout + $wp_customize->add_setting( + 'genesis-settings[trestle_layout]', + array( + 'default' => '', + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_layout_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_layout]', + 'label' => __( 'Layout', 'trestle' ), + 'type' => 'radio', + 'choices' => array( + 'bubble' => __( 'Bubble', 'trestle' ), + 'solid' => __( 'Solid', 'trestle' ), + ) + ) + ); + + // Upload a logo + $wp_customize->add_setting( + 'genesis-settings[trestle_logo_url]', + array( + 'default' => genesis_get_option( 'trestle_logo_url' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_logo_control', + array( + 'label' => __( 'Upload a logo', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_logo_url]', + ) + ) + ); + + // Upload a mobile logo + $wp_customize->add_setting( + 'genesis-settings[trestle_logo_url_mobile]', + array( + 'default' => genesis_get_option( 'trestle_logo_url_mobile' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_mobile_logo_control', + array( + 'label' => __( 'Upload a mobile logo', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_logo_url_mobile]', + ) + ) + ); + + // Upload a mobile logo + $wp_customize->add_setting( + 'genesis-settings[trestle_favicon_url]', + array( + 'default' => genesis_get_option( 'trestle_favicon_url' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + new WP_Customize_Image_Control( + $wp_customize, + 'trestle_favicon_control', + array( + 'label' => __( 'Upload a favicon', 'trestle' ), + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_favicon_url]', + ) + ) + ); + + // Primary nav style + $wp_customize->add_setting( + 'genesis-settings[trestle_nav_primary_location]', + array( + 'default' => genesis_get_option( 'trestle_nav_primary_location' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_nav_primary_location_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_nav_primary_location]', + 'label' => __( 'Menu style', 'trestle' ), + 'type' => 'select', + 'choices' => array( + 'full' => __( 'Full Width', 'trestle' ), + 'header' => __( 'Header Right', 'trestle' ), + ) + ) + ); + + // Primary nav extras + $wp_customize->add_setting( + 'genesis-settings[trestle_custom_nav_extras_text]', + array( + 'default' => genesis_get_option( 'trestle_custom_nav_extras_text' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_custom_nav_extras_text_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_custom_nav_extras_text]', + 'label' => __( 'Add search to mobile navigation', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // Blog post custom read more link text + $wp_customize->add_setting( + 'genesis-settings[trestle_read_more_text]', + array( + 'default' => genesis_get_option( 'trestle_read_more_text' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + 'sanitize_callback' => 'wp_kses_post', + ) + ); + $wp_customize->add_control( + 'trestle_read_more_text_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_read_more_text]', + 'label' => __( 'Custom read more link text', 'trestle' ), + ) + ); + + // Post revisions number + $wp_customize->add_setting( + 'genesis-settings[trestle_revisions_number]', + array( + 'default' => genesis_get_option( 'trestle_revisions_number' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_revisions_number_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_revisions_number]', + 'label' => __( 'Number of post revisions', 'trestle' ), + 'type' => 'select', + 'choices' => array( + '-1' => __( 'Unlimited', 'trestle' ), + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + '7' => '7', + '8' => '8', + '9' => '9', + '10' => '10', + ) + ) + ); + + // Footer Widget Areas + $wp_customize->add_setting( + 'genesis-settings[trestle_footer_widgets_number]', + array( + 'default' => genesis_get_option( 'trestle_footer_widgets_number' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_footer_widgets_number_control', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_footer_widgets_number]', + 'label' => __( 'Number of footer widgets', 'trestle' ), + 'type' => 'select', + 'choices' => array( + '0' => '0', + '1' => '1', + '2' => '2', + '3' => '3', + '4' => '4', + '5' => '5', + '6' => '6', + ) + ) + ); + + // Add a label for the link icons + $wp_customize->add_setting( + 'genesis-settings[trestle_link_icons_title]', + array( + 'default' => '', + 'type' => 'option', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_link_icons_title', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_link_icons_title]', + 'label' => __( 'Icon links', 'trestle' ), + 'type' => 'hidden', + ) + ); + + // External Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_external_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_external_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_external_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_external_link_icons]', + 'label' => __( 'Add icons to external links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // E-mail Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_email_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_email_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_email_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_email_link_icons]', + 'label' => __( 'Add icons to email links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // PDF Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_pdf_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_pdf_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_pdf_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_pdf_link_icons]', + 'label' => __( 'Add icons to .pdf links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + + // Doc Link Icons + $wp_customize->add_setting( + 'genesis-settings[trestle_doc_link_icons]', + array( + 'default' => genesis_get_option( 'trestle_doc_link_icons' ), + 'type' => 'option', + 'transport' => 'postMessage', + 'capability' => 'edit_theme_options', + ) + ); + $wp_customize->add_control( + 'trestle_doc_link_icons', + array( + 'section' => 'trestle_settings_section', + 'settings' => 'genesis-settings[trestle_doc_link_icons]', + 'label' => __( 'Add icons to .doc links', 'trestle' ), + 'type' => 'checkbox', + ) + ); + +} diff --git a/includes/admin/editor-style.css b/includes/admin/editor-style.css deleted file mode 100644 index 4d17d21..0000000 --- a/includes/admin/editor-style.css +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Trestle editor styles - * - * @since 1.0.0 - * - * @package Trestle - */ - -@import url( '../../style.css' ); - -/* Overrides ---------------------------------------------- */ -body { - padding: 8px 16px; - background-color: #FFF; - background-image: none; -} - -.content { - width: 100%; - font-size: 1.6rem; -} - -.content a { - color: #f15123; -} - -.content a:hover { - color: #333; -} - -.content ul, -.content ol { - margin: 0 0 26px 40px; - margin: 0 0 2.6rem 4rem; -} \ No newline at end of file diff --git a/includes/functions/theme-functions.php b/includes/functions/theme-functions.php index cb0936f..0946233 100644 --- a/includes/functions/theme-functions.php +++ b/includes/functions/theme-functions.php @@ -14,13 +14,13 @@ ===========================================*/ add_action( 'init', 'trestle_load_bfa' ); -/** +/** * Initialize the Better Font Awesome Library. * * @since 2.0.0 */ function trestle_load_bfa() { - + // Set the library initialization args $args = array( 'version' => 'latest', @@ -48,7 +48,7 @@ add_action( 'wp_enqueue_scripts', 'trestle_header_actions' ); * @since 1.0.0 */ function trestle_header_actions() { - + // Google fonts wp_enqueue_style( 'theme-google-fonts', '//fonts.googleapis.com/css?family=Lato:300,400,700' ); @@ -64,18 +64,12 @@ function trestle_header_actions() { $custom_css_file = '/trestle/custom.css'; if ( is_readable( $upload_path . $custom_css_file ) ) wp_enqueue_style( 'trestle-custom-css', $upload_url . $custom_css_file ); - + // Custom jQuery (if it exists) $custom_js_file = '/trestle/custom.js'; if ( is_readable( $upload_path . $custom_js_file ) ) wp_enqueue_script( 'trestle-custom-jquery', $upload_url . $custom_js_file, array( 'jquery' ), CHILD_THEME_VERSION, true ); - // Pass PHP variables to theme jQuery - $php_vars = array ( - 'trestle_equal_cols_breakpoint' => genesis_get_option( 'trestle_equal_cols_breakpoint' ), - ); - wp_localize_script( 'theme-jquery', 'trestle_vars', $php_vars ); - } add_filter( 'genesis_pre_load_favicon', 'trestle_do_custom_favicon' ); @@ -106,7 +100,7 @@ add_filter( 'body_class', 'trestle_body_classes' ); * @return array Updated body classes. */ function trestle_body_classes( $classes ) { - + // Add 'no-jquery' class to be removed by jQuery if enabled $classes[] = 'no-jquery'; @@ -127,19 +121,15 @@ function trestle_body_classes( $classes ) { // Add menu style class if ( genesis_get_option( 'trestle_nav_primary_location' ) ) $classes[] = 'nav-primary-location-' . esc_attr( genesis_get_option( 'trestle_nav_primary_location' ) ); - + // Add footer widget number class if ( genesis_get_option( 'trestle_footer_widgets_number' ) ) $classes[] = 'footer-widgets-number-' . esc_attr( genesis_get_option( 'trestle_footer_widgets_number' ) ); - // Add class for equal height Genesis Extender columns - if ( 1 == genesis_get_option( 'trestle_equal_height_cols' ) ) - $classes[] = 'equal-height-genesis-extender-cols'; - // Add logo class if ( genesis_get_option( 'trestle_logo_url' ) || genesis_get_option( 'trestle_logo_url_mobile' ) ) $classes[] = 'has-logo'; - + return $classes; } @@ -156,6 +146,7 @@ add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 ); * @since 1.0.0 */ function trestle_do_logos( $title, $inside, $wrap ) { + $logo_url = genesis_get_option( 'trestle_logo_url' ); $logo_url_mobile = genesis_get_option( 'trestle_logo_url_mobile' ); $logo_html = ''; @@ -173,7 +164,7 @@ function trestle_do_logos( $title, $inside, $wrap ) { $logo_html .= sprintf( '', implode(' ', $classes), esc_attr( get_bloginfo( 'name' ) ), - $logo_url + $logo_url ); } @@ -190,8 +181,8 @@ function trestle_do_logos( $title, $inside, $wrap ) { $logo_html .= sprintf( '', implode(' ', $classes), esc_attr( get_bloginfo( 'name' ) ), - $logo_url_mobile - ); + $logo_url_mobile + ); } if ( $logo_html ) { @@ -202,11 +193,11 @@ function trestle_do_logos( $title, $inside, $wrap ) { ); } - //* Build the title + // Build the title $title = genesis_html5() ? sprintf( "<{$wrap} %s>", genesis_attr( 'site-title' ) ) : sprintf( '<%s id="title">%s', $wrap, $inside, $wrap ); $title .= genesis_html5() ? "{$inside}" : ''; - //* Echo (filtered) + // Echo (filtered) return $title; } @@ -215,41 +206,6 @@ function trestle_do_logos( $title, $inside, $wrap ) { * Navigation ===========================================*/ -add_action( 'init', 'trestle_nav_modifications' ); -/** - * Performs modifications to the primary navigation menu - * - * @since 1.0.0 - * - * @see trestle_add_mobile_nav() - * @see trestle_auto_nav_items() - * @see trestle_custom_nav_extras() - * @see trestle_nav_placeholder() - */ -function trestle_nav_modifications() { - global $trestle_nav_title; - - // Set title for Trestle placeholder navigation menu - $trestle_nav_title = __( 'Trestle Auto Nav Placeholder', 'trestle' ); - - // Auto-generate nav if Genesis theme setting is checked - if ( 1 == genesis_get_option( 'trestle_auto_nav' ) ) { - add_filter( 'wp_nav_menu_items', 'trestle_auto_nav_items', 9, 2 ); - } - - // Do custom nav extras - if ( 1 == genesis_get_option( 'trestle_custom_nav_extras' ) ) { - // Remove default nav extras - remove_filter( 'wp_nav_menu_items', 'genesis_nav_right' ); - - // Add custom nav extras - add_filter( 'wp_nav_menu_items', 'trestle_custom_nav_extras', 10, 2 ); - } - - // Create placeholder navigation menu object if needed - trestle_nav_placeholder(); -} - add_action( 'init', 'trestle_nav_primary_location' ); /** * Move primary navigation into the header if need be. @@ -265,91 +221,25 @@ function trestle_nav_primary_location() { } +add_filter( 'wp_nav_menu_items', 'trestle_custom_nav_extras', 10, 2 ); /** - * Auto-generates list of pages for use in the primary navigation menu. + * Add custom nav extras. * * @since 1.0.0 * - * @param string $nav_items
  • list of navigation menu items. - * @param stdClass $menu_args Arguments for the menu. - * @return string
  • list of (modified) navigation menu items. - */ -function trestle_auto_nav_items( $nav_items, stdClass $menu_args ) { - if ( 'primary' == $menu_args->theme_location ) { - $args = array( - 'depth' => genesis_get_option( 'trestle_auto_nav_depth' ) ? genesis_get_option( 'trestle_auto_nav_depth' ) : 0, - 'echo' => false, - 'show_home' => ( genesis_get_option( 'trestle_include_home_link' ) && genesis_get_option( 'trestle_home_link_text' ) ) ? do_shortcode( genesis_get_option( 'trestle_home_link_text' ) ): genesis_get_option( 'trestle_include_home_link' ), - 'menu_class' => 'auto-menu' - ); - - $ul_class = 'menu genesis-nav-menu menu-primary'; - - $menu_args = new stdClass(); - - $menu_args->theme_location = 'primary'; - - $nav_items = wp_page_menu( $args ); - - // Remove opening
    - $nav_items = preg_replace( '/<\/ul>\s*<\/div>/', '', $nav_items ); - } - - return $nav_items; -} - -/** - * Replaces standard Genesis navigation extras with custom input navigation extras. - * - * @since 1.0.0 - * - * @param string $nav_items
  • list of menu items. - * @param stdClass $menu_args Arguments for the menu. + * @param string $nav_items
  • list of menu items. + * @param stdClass $menu_args Arguments for the menu. * @return string
  • list of menu items with custom navigation extras
  • appended. */ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) { - if ( 'primary' == $menu_args->theme_location ) { - $custom_text = esc_attr( genesis_get_option( 'trestle_custom_nav_extras_text' ) ); - return $nav_items . '
  • ' . do_shortcode( genesis_get_option( 'trestle_custom_nav_extras_text' ) ) . '
  • '; + + if ( 'primary' == $menu_args->theme_location && genesis_get_option( 'trestle_custom_nav_extras_text' ) ) { + return $nav_items . '
  • ' . get_search_form( false ) . '
  • '; } return $nav_items; } -/** - * Generates a placeholder navigation menu object. - * - * When using Trestle's auto-generated navigation feature, - * it is necessary to ensure that some nav menu object is - * selected as primary otherwise no navigation will be generated. - * - * @since 1.0.0 - */ -function trestle_nav_placeholder() { - global $trestle_nav_title; - - // Create placeholder menu for 'primary' spot if auto-nav is selected - this ensures that nav extras can be used even when no custom menu is formally set to primary - if ( 1 == genesis_get_option( 'trestle_auto_nav' ) && ! wp_get_nav_menu_object( $trestle_nav_title ) ) { - wp_create_nav_menu( $trestle_nav_title ); - } - - // Assign placeholder menu to 'primary' if auto-nav is selected and there is no current primary menu - if ( 1 == genesis_get_option( 'trestle_auto_nav' ) && ! wp_get_nav_menu_object( $trestle_nav_title ) && ! has_nav_menu( 'primary' ) ) { - $menu_locations = get_theme_mod( 'nav_menu_locations' ); - $menu_locations['primary'] = wp_get_nav_menu_object( $trestle_nav_title )->term_id; - set_theme_mod( 'nav_menu_locations', $menu_locations ); - } - - // Remove placeholder menu if auto-nav is disabled - $menus = get_registered_nav_menus(); - - if ( 1 != genesis_get_option( 'trestle_auto_nav' ) && wp_get_nav_menu_object( $trestle_nav_title ) && $trestle_nav_title != $menus['primary'] ) - wp_delete_nav_menu( $trestle_nav_title ); -} - /*=========================================== * Posts & Pages @@ -357,7 +247,7 @@ function trestle_nav_placeholder() { add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 ); /** - * Sets the number of post revisions. + * Sets the number of post revisions. * * @since 1.0.0 * @@ -365,6 +255,7 @@ add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 ); * @return int Number of post revisions specified in Trestle admin panel. */ function trestle_update_revisions_number( $num ) { + $trestle_revisions_number = esc_attr( genesis_get_option( 'trestle_revisions_number' ) ); if ( isset( $trestle_revisions_number ) ) @@ -383,13 +274,14 @@ add_action( 'the_post', 'trestle_post_info_meta', 5 ); * @global object $post The current $post object. */ function trestle_post_info_meta() { + if ( ! is_admin() && in_the_loop() && genesis_get_option( 'trestle_manual_post_info_meta' ) ) { global $post; // Get post type $post_type = get_post_type( $post->ID ); - + // Remove all Post Info & Meta remove_action( 'genesis_entry_header', 'genesis_post_info', 12 ); remove_action( 'genesis_entry_footer', 'genesis_post_meta' ); @@ -398,7 +290,7 @@ function trestle_post_info_meta() { if ( is_singular() ) { $single_info_option = 'trestle_post_info_' . $post_type . '_single'; $single_meta_option = 'trestle_post_meta_' . $post_type . '_single'; - + // Post Info if ( genesis_get_option( $single_info_option ) ) add_action( 'genesis_entry_header', 'genesis_post_info', 12 ); @@ -412,7 +304,7 @@ function trestle_post_info_meta() { if ( ! is_singular() ) { $archive_info_option = 'trestle_post_info_' . $post_type . '_archive'; $archive_meta_option = 'trestle_post_meta_' . $post_type . '_archive'; - + // Post Info if ( genesis_get_option( $archive_info_option ) ) add_action( 'genesis_entry_header', 'genesis_post_info', 12 ); @@ -438,7 +330,9 @@ add_filter( 'genesis_get_image_default_args', 'trestle_featured_image_fallback' * @return array Updated image args */ function trestle_featured_image_fallback( $args ) { + $args['fallback'] = false; + return $args; } @@ -459,10 +353,11 @@ add_filter( 'the_content_more_link', 'trestle_read_more_link' ); * @return string (Updated) "read more" text. */ function trestle_read_more_link( $default_text ) { + // Get Trestle custom "read more" link text $custom_text = esc_attr( genesis_get_option( 'trestle_read_more_text' ) ); - if ( $custom_text ) { + if ( $custom_text ) { return '… ' . $custom_text . ''; } else { return $default_text; diff --git a/includes/js/theme-jquery.js b/includes/js/theme-jquery.js index 71ff524..f51aa81 100644 --- a/includes/js/theme-jquery.js +++ b/includes/js/theme-jquery.js @@ -7,75 +7,83 @@ */ // Executes when the document is ready -jQuery(document).ready(function( $ ) { +jQuery( document ).ready( function( $ ) { - // Get PHP vars passed via wp_localize_script() - trestleEqualColsBreakpoint = trestle_vars.trestle_equal_cols_breakpoint; - trestleEqualHeightCols = trestle_vars.trestle_equal_height_cols; + // Remove .no-jquery body class + $( 'body' ).removeClass( 'no-jquery' ); - // Remove .no-jquery body class - $('body').removeClass('no-jquery'); - - // External Links - var h = window.location.host.toLowerCase(); - $('[href^="http"]').not('[href*="' + h + '"]').addClass('external-link').attr("target", "_blank"); + // External Links + var h = window.location.host.toLowerCase(); + $( '[href^="http"]' ).not( '[href*="' + h + '"]' ).addClass( 'external-link' ).attr( "target", "_blank" ); - // Add classes to different types of links - $('a[href^="mailto:"]').addClass('email-link'); - $('a[href*=".pdf"]').attr({"target":"_blank"}).addClass('pdf-link'); - $('a[href*=".doc"]').attr({"target":"_blank"}).addClass('doc-link'); - $('a').has('img').addClass('image-link'); + // Add classes to different types of links + $( 'a[href^="mailto:"]' ).addClass( 'email-link' ); + $( 'a[href$=".pdf"]' ).attr({ "target":"_blank" }).addClass( 'pdf-link' ); + $( 'a[href$=".doc"]' ).attr({ "target":"_blank" }).addClass( 'doc-link' ); + $( 'a' ).has( 'img' ).addClass( 'image-link' ); - // Add classes to parts of lists - $('li:last-child').addClass('last'); - $('li:first-child').addClass('first'); - $('ul, ol').parent('li').addClass('parent'); + // Add classes to parts of lists + $( 'li:last-child' ).addClass( 'last' ); + $( 'li:first-child' ).addClass( 'first' ); + $( 'ul, ol' ).parent( 'li' ).addClass( 'parent' ); - // Mobile header toggle buttons - $('.site-header .title-area').after('
    '); - $('.site-header .widget-area, .nav-primary').each(function(i) { - var target = $(this); + // Create mobile header toggle buttons + $( '.site-header .title-area' ).after( '
    ' ); + $( '.site-header .widget-area, .nav-primary' ).each( function( i ) { - var buttonClass = 'toggle-button'; + // Store target + $target = $( this ); - // Add classes of target element - var targetClass = target.attr('class').split(/\s+/); - $.each(targetClass, function(index,value) { - buttonClass += ' targets-' + value; + // Scope variables + var $target, buttonClass, targetClass; + + // Setup classes + buttonClass = 'toggle-button'; + targetClass = $target.attr( 'class' ).split( /\s+/ ); + + // Add targets-[] class to buttonClass + $.each( targetClass, function( index, value ) { + buttonClass += ' targets-' + value; }); - - if ( $(this).is( 'nav' ) ) { - buttonClass += ' nav-toggle'; + + // Add nav-toggle class to buttonClass if the button is for the nav + if ( $target.is( 'nav' ) ) { + buttonClass += ' nav-toggle'; } // Add toggle buttons to header - $('.toggle-buttons').prepend('Toggle'); + $( '.toggle-buttons' ).prepend( 'Toggle' ); // Add target class to nav and widget areas - target.addClass('toggle-target-' + i ); + $target.addClass( 'toggle-target-' + i ); }); - - // Toggle widget areas and primary nav - $('.site-header .toggle-button').click( function( event ) { - + + // A widget areas and primary nav mobile toggle functionality + $( '.site-header .toggle-button' ).click( function( event ) { + // Prevent default behavior event.preventDefault(); + // Scope our variables + var $button, $target; + // Get toggle button that was clicked - var button = $(this); + $button = $( this ); - // Remove focus - button.blur(); - - var target = $( '.toggle-target-' + button.attr('id').match(/\d+/) ); + // Match the button to the right target + $target = $( '.toggle-target-' + $button.attr( 'id' ).match( /\d+/ ) ); + console.log( 'Target: ' + $target.attr('class')); // Toggle buttons - button.toggleClass('open'); - $('.site-header .toggle-button').not(button).removeClass('open'); + $button.toggleClass( 'open' ); + $( '.site-header .toggle-button' ).not( $button ).removeClass( 'open' ); // Toggle targets - target.toggleClass('open'); - $('[class*="toggle-target"]').not(target).removeClass('open'); + $target.toggleClass( 'open' ); + $( '[class*="toggle-target"]' ).not( $target ).removeClass( 'open' ); + + // Remove focus + $button.blur(); }); @@ -83,112 +91,52 @@ jQuery(document).ready(function( $ ) { var closedIcon = '+'; var openIcon = '-'; - $('.nav-primary').find('.genesis-nav-menu .parent:not(.current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a').after('' + closedIcon + ''); - $('.nav-primary').find('.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a').after('' + openIcon + ''); - + // Insert the icons into the nav where appropriate + $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '' + closedIcon + '' ); + $( '.nav-primary' ).find( '.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a' ).after( '' + openIcon + '' ); + // Mobile navigation expand/contract functionality - $('.sub-icon').click(function(event) { - + $( '.sub-icon' ).click( function( event ) { + // Prevent default behavior event.preventDefault(); - - // Get icon clicked - var icon = $(this); + + // Get icon click + var $icon = $( this ); // Remove focus - icon.blur(); + $icon.blur(); - icon.next('ul').slideToggle().toggleClass('open'); - if ( icon.text().indexOf( closedIcon ) !== -1 ) - icon.text(openIcon); - else if ( icon.text().indexOf( openIcon ) !== -1 ) - icon.text(closedIcon); + // Expand/contract + $icon.next( 'ul' ).slideToggle().toggleClass( 'open' ); + + // Change the icon to indicate open/closed + if ( $icon.text().indexOf( closedIcon ) !== -1 ) { + $icon.text( openIcon ); + } else if ( $icon.text().indexOf( openIcon ) !== -1 ) { + $icon.text( closedIcon ); + } }); - - $('.widget-area-toggle').click(function(event) { - + + // Header widget area expand/contract functionality + $( '.widget-area-toggle' ).click( function( event ) { + // Prevent default behavior event.preventDefault(); // Get button clicked - var button = $(this); + var $button = $( this ); // Remove focus - button.blur(); + $button.blur(); - button.toggleClass('open'); - button.next('.widget-area').slideToggle(); + // Expand/contract + $button.toggleClass( 'open' ).next( '.widget-area' ).slideToggle(); }); - // Equal height homepage cols - $('.equal-height-genesis-extender-cols .ez-home-container-area').each(function() { - $(this).children('.widget-area').equalHeights(null,null,trestleEqualColsBreakpoint); - }); + // Executes when complete page is fully loaded, including all frames, objects, and images + $( window ).on( 'load', function() { - -}); /* end of as page load scripts */ + }); - -// Executes when complete page is fully loaded, including all frames, objects, and images -jQuery(window).load(function( $ ) { - -}); - - -/** - * Equal Heights Plugin - * - * Equalize the heights of elements. Great for columns or any elements - * that need to be the same size (floats, etc). - * - * Based on Rob Glazebrook's (cssnewbie.com) script - * - * Additions - * - ability to include a break point (the minimum viewport width at which the script does anything) - * - binds the script to run on load, orientation change (for mobile), and when resizing the window - * - * Usage: jQuery(object).equalHeights([minHeight], [maxHeight], [breakPoint]); - * - * Example 1: jQuery(".cols").equalHeights(); Sets all columns to the same height. - * Example 2: jQuery(".cols").equalHeights(400); Sets all cols to at least 400px tall. - * Example 3: jQuery(".cols").equalHeights(100,300); Cols are at least 100 but no more - * than 300 pixels tall. Elements with too much content will gain a scrollbar. - * Example 4: jQuery(".cols").equalHeights(null, null,768); Only resize columns above 768px viewport - * - */ - (function( $ ) { - $.fn.equalHeights = function(minHeight, maxHeight, breakPoint) { - var items = this; - breakPoint = breakPoint || 0; - - // Bind functionality to appropriate events - $(window).on('load orientationchange resize equalheights', function() { - tallest = (minHeight) ? minHeight : 0; - items.each(function() { - $(this).height('auto'); - if($(this).outerHeight() > tallest) { - tallest = $(this).outerHeight(); - } - }); - - // Get viewport width (taking scrollbars into account) - var e = window; - a = 'inner'; - if (!('innerWidth' in window )) { - a = 'client'; - e = document.documentElement || document.body; - } - width = e[ a+'Width' ]; - - // Equalize column heights if above the specified breakpoint - if ( width >= breakPoint ) { - if((maxHeight) && tallest > maxHeight) tallest = maxHeight; - console.log(tallest); - return items.each(function() { - $(this).height(tallest); - }); - } - }); - } - - })(jQuery); +}); /* end of page load scripts */ \ No newline at end of file diff --git a/style.css b/style.css index 7e07657..8c5cdc8 100644 --- a/style.css +++ b/style.css @@ -151,6 +151,10 @@ body { line-height: 1.625; } +body.mce-content-body { + width: 100%; /* Used in the editor */ +} + body.bubble { background-color: #f5f5f5; } @@ -213,7 +217,9 @@ ul { } .site-inner ol, -.site-inner ul { +.site-inner ul, +.mce-content-body ol, /* Used in the editor */ +.mce-content-body ul { /* used in the editor */ margin-left: 40px; margin-left: 4rem; margin-bottom: 26px; @@ -296,12 +302,14 @@ a:hover { color: #333; } -.site-inner a { +.site-inner a, +.mce-content-body a { /* Used in the Editor */ border-bottom: 1px solid #ddd; color: #f15123; } -.site-inner a:hover { +.site-inner a:hover, +.mce-content-body a:hover { /* Used in the Editor */ color: #333; } @@ -467,8 +475,8 @@ textarea { } input[type="radio"], -input[type="radio"], -input[type="checkbox"] { +input[type="checkbox"], +input[type="image"] { width: auto; } @@ -1364,6 +1372,7 @@ Site Header background-color: #eee; border: 1px solid #ddd; border-width: 1px 0; + overflow: hidden; } .site-header .search-form { @@ -1401,23 +1410,21 @@ Site Header content: "\f0c9"; } - .nav-primary, -.site-header .nav-primary, .site-header .widget-area { position: absolute; + z-index: -999; top: 100%; left: 0; right: 0; - max-height: 0; opacity: 0; + filter: alpha(opacity=0); box-shadow: 0 4px 8px 1px rgba(0,0,0,0.4); - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -ms-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; + -webkit-transition: opacity 0.25s ease, z-index 0s 0.25s; + -moz-transition: opacity 0.25s ease, z-index 0s 0.25s; + -ms-transition: opacity 0.25s ease, z-index 0s 0.25s; + -o-transition: opacity 0.25s ease, z-index 0s 0.25s; + transition: opacity 0.25s ease, z-index 0s 0.25s; } .site-container > .nav-primary { @@ -1427,9 +1434,13 @@ Site Header .nav-primary.open, .widget-area.open { z-index: 50; - max-height: 9999px; opacity: 1; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + filter: alpha(opacity=100); + -webkit-transition: z-index 0s ease, opacity 0.25s 0s; + -moz-transition: z-index 0s ease, opacity 0.25s 0s; + -ms-transition: z-index 0s ease, opacity 0.25s 0s; + -o-transition: z-index 0s ease, opacity 0.25s 0s; + transition: z-index 0s ease, opacity 0.25s 0s; } @@ -1605,7 +1616,7 @@ Site Navigation .genesis-nav-menu > .right .search-form { display: inline-block; - padding: 0; + padding: 8px 0; } .genesis-nav-menu > .right input[type="submit"] { @@ -1664,12 +1675,6 @@ Site Navigation padding: 0; } -.site-header .nav-primary a:hover, -.site-header .nav-primary [class*="current-"] > a, -.site-header .nav-primary [class*="current_"] > a { - color: #333; -} - .site-header .right { padding-right: 0; } @@ -2463,7 +2468,7 @@ Media Queries --------------------------------------------- */ .genesis-nav-menu > .right { - display: inline-block; + display: none; float: right; border-top: none; } @@ -2473,10 +2478,6 @@ Media Queries margin: 0 0 0 2rem; } - .genesis-nav-menu > .search form { - padding-right: 0; - } - .genesis-nav-menu > .right input[type="submit"] { display: inline-block; } @@ -2552,6 +2553,16 @@ Media Queries padding: 0.6em 1.2em; } + .site-header .nav-primary .menu > li:last-of-type:not(.right) { + padding-right: 0; + } + + .site-header .nav-primary a:hover, + .site-header .nav-primary [class*="current-"] > a, + .site-header .nav-primary [class*="current_"] > a { + color: #333; + } + /* Plugins --------------------------------------------- */