├── README.md ├── class-tgm-plugin-activation.php ├── classes └── class-fl-child-theme.php ├── css ├── presets.css ├── remove-mobile.css └── select2.min.css ├── functions.php ├── images └── editor-quote.svg ├── includes-child ├── acf.php ├── beaverbuilder.php ├── cache-buster.php ├── customizer-defaults.php ├── customizer-panels.php ├── dashboard.php ├── gravity.php ├── inline-css-style-login.php ├── inline-css-style.php ├── mobile-menu-removal.php └── woocommerce │ ├── customizer-woo.php │ ├── woo.css │ └── woocommerce.php ├── includes ├── archive-header.php ├── copyright.php ├── post-bottom-meta.php └── post-top-meta.php ├── index.php ├── js ├── global.js ├── remove-mobile.js └── select2.min.js ├── plugins.php ├── screenshot.png ├── style.css ├── templates ├── gravity-html.html └── junction.WordPress.2021-02-04.xml └── webfonts └── stylesheet.css /README.md: -------------------------------------------------------------------------------- 1 | # Beavertron 2 | Starter Child Theme for Beaver Builder Theme 1.7. 3 | 4 | (Previous Starter for 1.6 available [here](https://github.com/neilgee/beavertron/archive/v1.6.0.zip) ) 5 | 6 | This is a starter child theme that requires the parent Beaver Builder Theme. 7 | 8 | ### WordPress Head Clean Up 9 | Several WordPress unecessary scripts including emoji styles have been removed 10 | 11 | ### Child Theme Class - FLChildTheme 12 | - */classes/class-fl-child-theme.php* contains all CSS and Javascript files for enqueing, some are enqueued others are commented out, here is where you add all the styles and scripts. 13 | 14 | ### Folder Structure - includes-child 15 | At the top of _functions.php_ there a number of include files that you can comment/uncomment for adding functionality. The folder they are pulled from is *includes-child* as the *includes* folder is only used for parent theme overrides 16 | - */includes-child/beaverbuilder.php* BeaverBuilder plugin functionality: 17 | * includes a font system stack, there is one already in the theme - this is for the BB plugin., 18 | * a filter for global BB settings, change media break points to be 767px small, 1024px medium and 1200px large, 19 | * filter to remove lightbox. 20 | * filter to remove empty field connections, filters to disable inline-editing and BB notifications. 21 | * filter for adding colour presets to Customizer and BB plugin color pickers. 22 | 23 | 24 | - */includes-child/client-file.php* a miscellaneous area for things like: 25 | * client logo for login 26 | * removing Dashboard widgets including Gutenberg nags 27 | * add ACF Pro license 28 | 29 | - */includes-child/customizer.php* contains all the Customizer options. 30 | - */includes-child/gravity.php* Gravity forms functionality 31 | - */includes-child/mobile-menu-removal.php* remove default mobile menu 32 | - */includes-child/output.php* renders the Customizer options CSS 33 | - */includes-child/woocommerce/woocommerce.php* contains all the woocommerce functionality, commented out snippets included - only enabled if WooCommerce plugin is active 34 | - */includes-child/woocommerce/customize-woo.php* all the Woo customizer fields 35 | - */includes-child/woocommerce/woo.css* WooCommerce CSS 36 | 37 | 38 | ### Folder Structure - includes 39 | These are straight parent theme overrides 40 | - */includes/copyright.php* override copyright credit line 41 | - */includes/post-bottom-meta.php* removed comments from bottom meta, added span tags around cats and tags with CSS classes for more control over styling 42 | - */includes/post-top-meta.php* removed author data and comment fontawesome icon 43 | - *index.php* has been overridden and sits in the Child Theme root - difference being it has the numeric WordPress pagination in use - ref - https://wpbeaches.com/add-numeric-pagination-accessibility-beaver-builder-theme/ also the **archive_page_header** function has been moved to inside the main content block. 44 | - */includes/archive-header.php* will output category/tag description if it exists. 45 | 46 | 47 | ### Images 48 | - Added a 'blog-feature' image at 300x200 49 | - Re-added Medium 300x300 with hard crop 50 | - Added filter to allow Beaver Builder recognise added custom image sizes 51 | - Removed default WordPress 'medium_large' image size - other defaults can be removed by uncommenting 52 | - Function added to allow SVG image uploads to Media Library. 53 | - Image uploads add their file name as alt and title attributes 54 | 55 | 56 | ### Custom Logo 57 | - Custom Logo is supported via the Customizer in the panel Settings > Site Identity > Logo, default size is 300x100px which you can change in the *add_theme_support('custom-logo')* array in *functions.php* 58 | - The logo can support the SVG format. 59 | - SVGs are set to be allowed for upload by the constant 'ALLOW_UNFILTERED_UPLOADS' declared in *functions.php* 60 | - The main purpose of the Custom Logo is to allow for its use via a header created with Beaver Themer - if you are using the Beaver Theme to create the header then the default Header panel > Header Logo section is preferred to use. 61 | 62 | More info here - https://wpbeaches.com/add-custom-logo-schema-beaver-themer-header-layout/ 63 | 64 | 65 | ### Customizer 66 | - Extra WooCommerce settings for button and alert colors have been added to the default WooCommerce panel, they only appear if WooCommerce is active. 67 | - WooCommerce Customizer options 68 | - set amount of products on Shop / Archive, 69 | - change text on variation dropdown, 70 | - change text on order received screen, 71 | - remove review, description, additional tabs, 72 | - remove breadcrumbs, 73 | - remove single product meta, 74 | - remove related products from single product page 75 | - Button Hover Color and Padding added in panel *General > Buttons* 76 | - Additional Customizer settings are output via wp_add_inline_style to the child theme CSS 77 | - Added panel 'Featured Images' with 'Hero Background' field - not actively used. 78 | - List of all Panels and Sections which can be removed from view by uncommenting the code in the **customizer.php** file. 79 | - Added a custom preset 'BT Preset' this is the preferred and only preset. 80 | - BT Preset is set as always active with _set_theme_mod_ this can be removed from _includes-child/customizer.php_ 81 | - Removed all other presets. 82 | - Set Preset defaults in _includes-child/customizer-filter.php_ 83 | - Added a filter to change the values for the 'BT Preset' 'fl_default_theme_mods' 84 | - Body font and headings set in Customizer with a default font system stack similar to Github. 85 | - Same above system font stack available from within BB modules font dropdowns. 86 | 87 | 88 | ### CSS 89 | Including 90 | - Beaver Builder button snippet 91 | - Meta styling with FontAwesome 5 92 | - Sticky Footer styling with flexbox - also have the BB knowledgebase one which is commented out. 93 | - Pagination CSS for numeric style as used in child theme **index.php** 94 | - Various CSS snippets 95 | 96 | 97 | 98 | ### Miscellaneous 99 | - PHP is disabled to execute in widget areas 100 | - Shortcode enabled in widget areas 101 | - Author name removed in Post Meta for posts 102 | - Meta has default icon styling 103 | - Separate CSS Styling for [Business Profile plugin](https://wordpress.org/plugins/business-profile/) 104 | - FontAwesome 5 enabled 105 | - Select2 JS and CSS files included, uncomment in _classes/class-fl-child-theme.php_ 106 | - Remove Dashboard Widgets in Admin 107 | 108 | 109 | ## Change the Theme Name 110 | - Find in files and replace `Beavertron`, `beavertron` and `bt_` with your name and prefix. 111 | 112 | Download the zip rename the theme '**beavertron**' - place this theme in your WordPress installation **"/wp-content/themes/"** and activate in WordPress Dashboard 113 | 114 | 115 | ![Beavertron Child Theme](https://wpbeaches.com/images/beavertron-theme.png) 116 | 117 | 118 | ![Additional Customizer controls when WooCommerce is active](https://wpbeaches.com/images/beavertron-theme-woocommerce.png) 119 | 120 | Additional Customizer controls when WooCommerce is active 121 | 122 | 123 | -------------------------------------------------------------------------------- /classes/class-fl-child-theme.php: -------------------------------------------------------------------------------- 1 | li { 20 | border: none; 21 | float: left; 22 | } 23 | } 24 | 25 | @media (max-width: 768px ) { 26 | 27 | header.fl-builder-content .fl-menu, 28 | header.fl-builder-content .fl-menu ul.menu { 29 | text-align: center; 30 | } 31 | 32 | header.fl-builder-content .fl-menu ul.menu > li { 33 | display: inline-block; 34 | } 35 | 36 | header.fl-builder-content .fl-menu ul.sub-menu { 37 | position: absolute; 38 | z-index: 9999; 39 | } 40 | 41 | header.fl-builder-content .fl-menu ul.sub-menu > li { 42 | text-align: left; 43 | } 44 | } -------------------------------------------------------------------------------- /css/select2.min.css: -------------------------------------------------------------------------------- 1 | .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} 2 | -------------------------------------------------------------------------------- /functions.php: -------------------------------------------------------------------------------- 1 | 100, // set to your dimensions 180 | 'width' => 300,// set to your dimensions 181 | 'flex-height' => true, 182 | 'flex-width' => true, 183 | )); 184 | 185 | add_shortcode( 'client_logo', 'bt_client_logo' ); 186 | /** 187 | * Position the content with a shortcode [client_logo] 188 | * @since 1.0.0 189 | */ 190 | function bt_client_logo() { 191 | ob_start(); 192 | if ( function_exists( 'the_custom_logo' ) ) { 193 | echo '
' . get_custom_logo() . '
'; 194 | } 195 | return ob_get_clean(); 196 | } 197 | 198 | add_action( 'add_attachment', 'bt_image_meta_upon_image_upload' ); 199 | /** 200 | * Automatically set the image Title, Alt-Text, Caption & Description upon upload 201 | * @since 1.0.0 202 | * @link https://brutalbusiness.com/automatically-set-the-wordpress-image-title-alt-text-other-meta/ 203 | */ 204 | function bt_image_meta_upon_image_upload( $post_ID ) { 205 | // Check if uploaded file is an image, else do nothing 206 | if ( wp_attachment_is_image( $post_ID ) ) { 207 | 208 | $my_image_title = get_post( $post_ID )->post_title; 209 | 210 | // Sanitize the title: remove hyphens, underscores & extra spaces: 211 | $my_image_title = preg_replace( '%\s*[-_\s]+\s*%', ' ', $my_image_title ); 212 | 213 | // Sanitize the title: capitalize first letter of every word (other letters lower case): 214 | $my_image_title = ucwords( strtolower( $my_image_title ) ); 215 | 216 | // Create an array with the image meta (Title, Caption, Description) to be updated 217 | // Note: comment out the Excerpt/Caption or Content/Description lines if not needed 218 | $my_image_meta = array( 219 | 'ID' => $post_ID, // Specify the image (ID) to be updated 220 | 'post_title' => $my_image_title, // Set image Title to sanitized title 221 | //'post_excerpt' => $my_image_title, // Set image Caption (Excerpt) to sanitized title 222 | //'post_content' => $my_image_title, // Set image Description (Content) to sanitized title 223 | ); 224 | 225 | // Set the image Alt-Text 226 | update_post_meta( $post_ID, '_wp_attachment_image_alt', $my_image_title ); 227 | 228 | // Set the image meta (e.g. Title, Excerpt, Content) 229 | wp_update_post( $my_image_meta ); 230 | } 231 | } 232 | 233 | /** 234 | * Allow shortcode to run in widgets. 235 | * @since 1.0.0 236 | */ 237 | add_filter( 'widget_text', 'do_shortcode' ); 238 | 239 | //add_filter( 'widget_text','bt_execute_php_widgets' ); 240 | /** 241 | * Allow PHP code to run in Widgets. 242 | * @since 1.0.0 243 | */ 244 | function bt_execute_php_widgets( $html ) { 245 | if ( strpos( $html, '<' . '?php' ) !== false ) { 246 | ob_start(); 247 | eval( '?' . '>' . $html ); 248 | $html = ob_get_contents(); 249 | ob_end_clean(); 250 | } 251 | return $html; 252 | } 253 | 254 | add_filter( 'fl_ace_editor_settings', 'custom_ace_editor' ); 255 | /** 256 | * Show line numbers and wrap text in Ace editor 257 | * @since 1.7.0 258 | */ 259 | function custom_ace_editor() { 260 | $change_ace = array( 261 | 'showLineNumbers' => true, 262 | 'wrap' => true, 263 | ); 264 | return $change_ace; 265 | } 266 | 267 | 268 | 269 | 270 | 271 | } // Closing After Set Up Hook 272 | 273 | 274 | -------------------------------------------------------------------------------- /images/editor-quote.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 11 | 12 | -------------------------------------------------------------------------------- /includes-child/acf.php: -------------------------------------------------------------------------------- 1 | ACF_PRO_KEY, 22 | 'url' => home_url() 23 | ); 24 | 25 | $save = maybe_serialize($save); 26 | $save = base64_encode($save); 27 | 28 | update_option('acf_pro_license', $save); 29 | } 30 | } -------------------------------------------------------------------------------- /includes-child/beaverbuilder.php: -------------------------------------------------------------------------------- 1 | $data ) { 45 | if ( !isset($sizes[$id]) ) 46 | $sizes[$id] = ucfirst( str_replace( '-', ' ', $id ) ); 47 | } 48 | return $sizes; 49 | } 50 | 51 | // add_filter( 'fl_builder_font_families_system', 'bt_added_webfonts' ); 52 | // add_filter( 'fl_theme_system_fonts', 'bt_added_webfonts' ); 53 | /** 54 | * Add fonts to BB Theme & Builder 55 | * https://kb.wpbeaverbuilder.com/article/234-add-web-fonts-to-your-theme-and-the-beaver-builder-plugin 56 | * Adding Fonts to Customizer - example below 57 | * @since 1.0.0 58 | */ 59 | function bt_added_webfonts( $system ) { 60 | $system[ 'Avenir Book' ] = array( 61 | "fallback" => "BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif", 62 | "weights" => array( 63 | "300", 64 | ) 65 | ); 66 | 67 | $system[ 'Avenir Roman' ] = array( 68 | "fallback" => "BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif", 69 | "weights" => array( 70 | "400", 71 | ) 72 | ); 73 | 74 | $system[ 'Avenir Bold' ] = array( 75 | "fallback" => "BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif", 76 | "weights" => array( 77 | "700", 78 | ) 79 | ); 80 | 81 | $system[ 'Avenir Black' ] = array( 82 | "fallback" => "BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif", 83 | "weights" => array( 84 | "900", 85 | ) 86 | ); 87 | return $system; 88 | } 89 | 90 | 91 | add_filter( 'fl_builder_register_settings_form', 'wb_builder_register_settings_form_short', 10, 2 ); 92 | /** 93 | * Filter the Global Settings Options BB Plugin. 94 | * Media breakpoints and form title have been changed. 95 | * @since 1.0.0 96 | */ 97 | function wb_builder_register_settings_form_short( $form, $id ) { 98 | if ( 'global' == $id ) { 99 | // Modify the row settings $form config array. 100 | $form['title'] = 'Beavertron Global Settings'; 101 | $form['tabs']['general']['sections']['rows']['fields']['row_width']['default'] = '1200'; 102 | $form['tabs']['general']['sections']['rows']['fields']['row_width_default']['default'] = 'full'; 103 | $form['tabs']['general']['sections']['responsive']['fields']['mobile_breakpoint']['default'] = '767'; 104 | $form['tabs']['general']['sections']['responsive']['fields']['medium_breakpoint']['default'] = '1079'; 105 | $form['tabs']['general']['sections']['responsive']['fields']['responsive_col_max_width']['default'] = '0'; 106 | } 107 | 108 | return $form; 109 | } 110 | 111 | 112 | add_filter( 'fl_theme_breakpoint_opts', 'bt_custom_breakpoints'); 113 | /** 114 | * Return array of theme breakpoints for BB Theme 115 | * @since 1.7.3 116 | */ 117 | function bt_custom_breakpoints() { 118 | 119 | $args = array( 120 | 'medium_breakpoint' => 1079, 121 | 'mobile_breakpoint' => 767, 122 | ); 123 | 124 | return $args; 125 | } 126 | 127 | 128 | add_filter( 'fl_builder_is_node_visible', 'bt_check_field_connections', 10, 2 ); 129 | /** 130 | * Dont output empty custom field connections 131 | * @since 1.0.0 132 | */ 133 | function bt_check_field_connections( $is_visible, $node ) { 134 | 135 | if ( isset( $node->settings->connections ) ) { 136 | foreach ( $node->settings->connections as $key => $connection ) { 137 | if ( ! empty( $connection ) && empty( $node->settings->$key ) ) { 138 | return false; 139 | } 140 | } 141 | } 142 | 143 | return $is_visible; 144 | } 145 | 146 | 147 | /** 148 | * Enable for development so module CSS files are not combined 149 | * @since 1.0.0 150 | */ 151 | //add_filter( 'fl_is_debug', '__return_true' ); 152 | 153 | 154 | add_filter( 'fl_theme_builder_assets_expire', 'bt_builder_expire' ); 155 | /** 156 | * Delay Themer Builder Assets to Expire for 10 years ~ default is 30 days 157 | * @since 1.0.0 158 | */ 159 | function bt_builder_expire() { 160 | $expire_bundle = strtotime( '+3650 days' ); 161 | 162 | return $expire_bundle; 163 | } 164 | 165 | /** 166 | * Turn off BB notifications 167 | * @since 1.0.0 168 | */ 169 | add_filter ('fl_disable_notifications', '__return_true' ); 170 | 171 | /** 172 | * Turn off BB inline editing 173 | * @since 1.0.0 174 | */ 175 | add_filter ('fl_inline_editing_enabled', '__return_false' ); 176 | 177 | 178 | add_filter( 'fl_builder_color_presets', 'bt_builder_color_presets' ); 179 | /** 180 | * Add color presets for Beaver Builder 181 | * @since 1.0.0 182 | */ 183 | function bt_builder_color_presets( $colors ) { 184 | $colors = array(); 185 | 186 | $colors[] = 'c3251d'; 187 | $colors[] = '222f3e'; 188 | $colors[] = 'ffffff'; 189 | $colors[] = '000000'; 190 | $colors[] = '333333'; 191 | $colors[] = '999999'; 192 | 193 | return $colors; 194 | } 195 | 196 | 197 | add_action( 'customize_controls_print_footer_scripts', 'bt_customize_color_presets' ); 198 | /** 199 | * Add color presets for Beaver Builder Customizer Theme 200 | * @since 1.0.0 201 | */ 202 | function bt_customize_color_presets() { 203 | ?> 204 | 217 | purge_all();'); 42 | global $nginx_purger; 43 | $nginx_purger->purge_all(); 44 | } else { 45 | write_log('cph - nginx-helper plugin not installed or detected'); 46 | } 47 | 48 | // If litespeed-cache plugins is enabled, purge cache. 49 | write_log('cph - checking for litespeed-cache plugin'); 50 | if ( is_plugin_active('litespeed-cache/litespeed-cache.php') ) { 51 | write_log('cph - litespeed-cache plugin installed, running do_action(\'litespeed_purge_all\');'); 52 | do_action( 'litespeed_purge_all' ); 53 | } else { 54 | write_log('cph - litespeed-cache plugin not installed or detected'); 55 | } 56 | write_log('cph - end of cache_purge_helper function'); 57 | } 58 | 59 | /* Log to WordPress Debug Log */ 60 | if ( ! function_exists('write_log')) { 61 | function write_log ( $log ) { 62 | if ( is_array( $log ) || is_object( $log ) ) { 63 | error_log( print_r( $log, true ) ); 64 | } else { 65 | error_log( $log ); 66 | } 67 | } 68 | } 69 | 70 | // Plugin Update Hooks 71 | add_action( 'upgrader_process_complete', 'cache_purge_helper', 10, 0 ); // After plugins have been updated 72 | add_action( 'activated_plugin', 'cache_purge_helper', 10, 0); // After a plugin has been activated 73 | add_action( 'deactivated_plugin', 'cache_purge_helper', 10, 0); // After a plugin has been deactivated 74 | add_action( 'switch_theme', 'cache_purge_helper', 10, 0); // After a theme has been changed 75 | 76 | // Beaver Builder 77 | add_action( 'fl_builder_cache_cleared', 'cache_purge_helper', 10, 3 ); 78 | add_action( 'fl_builder_after_save_layout', 'cache_purge_helper', 10, 3 ); 79 | add_action( 'fl_builder_after_save_user_template', 'cache_purge_helper', 10, 3 ); 80 | add_action( 'upgrader_process_complete', 'cache_purge_helper', 10, 3 ); 81 | 82 | 83 | // AutoOptimizer 84 | add_action( 'autoptimize_action_cachepurged','cache_purge_helper', 10, 3 ); // Need to document this. -------------------------------------------------------------------------------- /includes-child/customizer-defaults.php: -------------------------------------------------------------------------------- 1 | array( 37 | 'medium' => 38, 38 | 'mobile' => 33, 39 | ), 40 | ); 41 | $data['sections']['fl-heading-font']['options']['fl-h2-font-size']['setting']['default']='32'; 42 | $data['sections']['fl-heading-font']['options']['fl-h2-font-size']['control']['responsive'] = array( 43 | 'default' => array( 44 | 'medium' => 32, 45 | 'mobile' => 27, 46 | ), 47 | ); 48 | $data['sections']['fl-heading-font']['options']['fl-h3-font-size']['setting']['default']='29'; 49 | $data['sections']['fl-heading-font']['options']['fl-h3-font-size']['control']['responsive'] = array( 50 | 'default' => array( 51 | 'medium' => 29, 52 | 'mobile' => 24, 53 | ), 54 | ); 55 | $data['sections']['fl-heading-font']['options']['fl-h4-font-size']['setting']['default']='26'; 56 | $data['sections']['fl-heading-font']['options']['fl-h4-font-size']['control']['responsive'] = array( 57 | 'default' => array( 58 | 'medium' => 26, 59 | 'mobile' => 21, 60 | ), 61 | ); 62 | $data['sections']['fl-heading-font']['options']['fl-h5-font-size']['setting']['default']='23'; 63 | $data['sections']['fl-heading-font']['options']['fl-h5-font-size']['control']['responsive'] = array( 64 | 'default' => array( 65 | 'medium' => 23, 66 | 'mobile' => 18, 67 | ), 68 | ); 69 | $data['sections']['fl-heading-font']['options']['fl-h6-font-size']['setting']['default']='20'; 70 | $data['sections']['fl-heading-font']['options']['fl-h6-font-size']['control']['responsive'] = array( 71 | 'default' => array( 72 | 'medium' => 20, 73 | 'mobile' => 15, 74 | ), 75 | ); 76 | $data['sections']['fl-body-font']['options']['fl-body-text-color']['setting']['default']='#333333'; 77 | $data['sections']['fl-body-font']['options']['fl-body-font-family']['setting']['default']='system-ui'; 78 | $data['sections']['fl-body-font']['options']['fl-body-font-size']['setting']['default']='18'; 79 | $data['sections']['fl-body-font']['options']['fl-body-font-size']['control']['responsive'] = array( 80 | 'default' => array( 81 | 'medium' => 18, 82 | 'mobile' => 16, 83 | ), 84 | ); 85 | 86 | // $data['sections']['fl-body-font-size_mobile']['options']['fl-body-font-size_mobile']['setting']['default']='12'; 87 | 88 | 89 | // Buttons 90 | $data['sections']['fl-buttons']['options']['fl-button-style']['setting']['default']='custom'; 91 | $data['sections']['fl-buttons']['options']['fl-button-color']['setting']['default']='#ffffff'; 92 | $data['sections']['fl-buttons']['options']['fl-button-hover-color']['setting']['default']='#000000'; 93 | $data['sections']['fl-buttons']['options']['fl-button-background-color']['setting']['default']='#000000'; 94 | $data['sections']['fl-buttons']['options']['fl-button-background-hover-color']['setting']['default']='#ffffff'; 95 | $data['sections']['fl-buttons']['options']['fl-button-border-color']['setting']['default']='#000000'; 96 | $data['sections']['fl-buttons']['options']['fl-button-border-style']['setting']['default']='solid'; 97 | $data['sections']['fl-buttons']['options']['fl-button-border-radius']['setting']['default']='3'; 98 | $data['sections']['fl-buttons']['options']['fl-button-border-width']['setting']['default']='1'; 99 | 100 | 101 | // Add Settings and Controls - 1 way 102 | // $data['sections']['fl-buttons']['options']['bt_border-hover']['setting']['default']='#666666'; 103 | 104 | // Add Settings and Controls - 2nd way 105 | $mynewsetting = array( 106 | 'setting' => array( 107 | 'default' => '#999999', 108 | 'transport' => 'postMessage', 109 | ), 110 | 'control' => array( 111 | 'class' => 'WP_Customize_Color_Control', 112 | 'label' => __( 'Border Hover Colour', 'beavertron' ), 113 | 'priority' => 0, 114 | ), 115 | ); 116 | 117 | // $data['sections']['fl-buttons']['options']['bt_border-hover'] = $mynewsetting; 118 | } 119 | 120 | 121 | 122 | if ( 'fl-header' == $key ) { 123 | 124 | $data['sections']['fl-header-logo']['options']['fl-logo-font-family']['setting']['default']='system-ui'; 125 | $data['sections']['fl-nav-style']['options']['fl-nav-font-family']['setting']['default']='system-ui'; 126 | $data['sections']['fl-nav-style']['options']['fl-nav-hover-color']['setting']['default']='#999999'; 127 | 128 | } 129 | 130 | if ( 'fl-content' == $key ) { 131 | 132 | // $data['sections']['fl-header-logo']['options']['fl-logo-font-family']['setting']['default']='system-ui'; 133 | 134 | } 135 | 136 | 137 | return $data; 138 | } -------------------------------------------------------------------------------- /includes-child/dashboard.php: -------------------------------------------------------------------------------- 1 | 112 | #wp-admin-bar-wp-logo, 113 | #wp-admin-bar-comments, 114 | #wp-admin-bar-new-content, 115 | #contextual-help-link-wrap, 116 | #screen-options-link-wrap { 117 | display: none !important; 118 | } 119 | 120 | '; 121 | } 122 | } 123 | 124 | add_action( 'admin_init', 'wsl_add_footer' ); 125 | /** 126 | * Add credit and contact deats 127 | * 128 | * @since 1.0.0 129 | */ 130 | function wsl_add_footer() { 131 | add_filter( 'admin_footer_text', 'wsl_edit_text', 11 ); 132 | } 133 | 134 | function wsl_edit_text() { 135 | return "Site by WebsiteLove, contact us"; 136 | } 137 | 138 | 139 | add_action( 'wp_print_styles', 'bt_deregister_gbstyles', 100 ); 140 | //Disable gutenberg style in Frontend 141 | function bt_deregister_gbstyles() { 142 | wp_dequeue_style('wp-block-library'); 143 | wp_dequeue_style('wp-block-library-theme'); 144 | } 145 | 146 | 147 | 148 | 149 | /** 150 | * Roles & Capabilities 151 | * @link https://wordpress.stackexchange.com/questions/4191/allow-editors-to-edit-menus 152 | * Add editor the privilege to edit theme & menu 153 | * @since 1.0.0 154 | */ 155 | // get the the role object 156 | // $role_object = get_role( 'editor' ); 157 | 158 | // add $cap capability to this role object 159 | // $role_object->add_cap( 'edit_theme_options' ); 160 | 161 | 162 | 163 | add_filter('wp_mail_from', 'prefix_email_from'); 164 | // Change default WordPress from email address 165 | function prefix_email_from( $new_email ) { 166 | $admin_email = get_option( 'admin_email' ); 167 | return $admin_email; 168 | } 169 | 170 | add_filter('wp_mail_from_name', 'prefix_name_from'); 171 | // Change default WordPress from name 172 | function prefix_name_from( $new_name ) { 173 | $blogname = get_option( 'blogname' ); 174 | return $blogname; 175 | } -------------------------------------------------------------------------------- /includes-child/gravity.php: -------------------------------------------------------------------------------- 1 | array( 29 | 'label' => __( 'International', 'gravityforms' ), 30 | 'mask' => false, 31 | 'regex' => false, 32 | 'instruction' => false, 33 | ), 34 | ); 35 | 36 | return $phone_formats; 37 | } -------------------------------------------------------------------------------- /includes-child/inline-css-style-login.php: -------------------------------------------------------------------------------- 1 | 155 ) ? '#333333' : '#ffffff'; 75 | } 76 | 77 | //* Calculate Color Brightness 78 | function bt_color_brightness( $color, $change ) { 79 | 80 | $hexcolor = str_replace( '#', '', $color ); 81 | 82 | $red = hexdec( substr( $hexcolor, 0, 2 ) ); 83 | $green = hexdec( substr( $hexcolor, 2, 2 ) ); 84 | $blue = hexdec( substr( $hexcolor, 4, 2 ) ); 85 | 86 | $red = max( 0, min( 255, $red + $change ) ); 87 | $green = max( 0, min( 255, $green + $change ) ); 88 | $blue = max( 0, min( 255, $blue + $change ) ); 89 | 90 | return '#'.dechex( $red ).dechex( $green ).dechex( $blue ); 91 | } 92 | 93 | /* Start off with •nuffink*/ 94 | $css = ''; 95 | 96 | // Button Border Hover Color 97 | $border_color = FLTheme::get_setting( 'fl-button-border-hover-color' ); 98 | $css .= ( $border_color ) ? sprintf(' 99 | .fl-page button:hover, 100 | .fl-responsive-preview-content button:hover, 101 | .fl-page input[type=button]:hover, 102 | .fl-responsive-preview-content input[type=button]:hover, 103 | .fl-page input[type=submit]:hover, 104 | .fl-responsive-preview-content input[type=submit]:hover, 105 | .fl-page a.fl-button:hover, 106 | .fl-responsive-preview-content a.fl-button:hover { 107 | border-color: %s; 108 | } 109 | ', $border_color ) : ''; 110 | 111 | // All the buttons 112 | $button_col = FLTheme::get_setting( 'fl-button-color' ); 113 | $button_col_hover = FLTheme::get_setting( 'fl-button-hover-color' ); 114 | $button_col_bg = FLTheme::get_setting( 'fl-button-background-color' ); 115 | $button_col_bg_hover = FLTheme::get_setting( 'fl-button-background-hover-color' ); 116 | $button_font = FLTheme::get_setting( 'fl-button-font-family' ); 117 | $button_weight = FLTheme::get_setting( 'fl-button-font-weight' ); 118 | $button_size = FLTheme::get_setting( 'fl-button-font-size' ); 119 | $button_line_height = FLTheme::get_setting( 'fl-button-line-height' ); 120 | $button_transform = FLTheme::get_setting( 'fl-button-text-transform' ); 121 | $button_border = FLTheme::get_setting( 'fl-button-border-style' ); 122 | $button_border_width = FLTheme::get_setting( 'fl-button-border-width' ); 123 | $button_border_color = FLTheme::get_setting( 'fl-button-border-color' ); 124 | $button_border_radius = FLTheme::get_setting( 'fl-button-border-radius' ); 125 | $button_border_hover = FLTheme::get_setting( 'fl-button-border-hover-color' ); 126 | $button_padding_width = FLTheme::get_setting( 'bt_button_padding_left_right' ); 127 | $button_padding_height = FLTheme::get_setting( 'bt_button_padding_top_bottom' ); // Assigning it to a variable to keep the markup clean. 128 | 129 | $css .= ( $button_col ) ? sprintf(' 130 | a.more-link, 131 | .fl-post-grid-content a.fl-post-grid-more, 132 | a.fl-post-more-link, 133 | a.fl-post-feed-more, 134 | a.fl-post-slider-feed-more, 135 | a.button, 136 | .fl-page a.button, 137 | .fl-builder-content a.fl-button, 138 | .fl-builder-content a.fl-button:visited, 139 | .gform_wrapper .gform_footer input.button, 140 | .gform_wrapper .gform_footer input[type="submit"] { 141 | font-family:%5$s, Arial; 142 | font-weight: %6$s; 143 | font-size:%7$spx; 144 | line-height:%8$s; 145 | text-transform: %9$s; 146 | border-style:%10$s; 147 | border-width: %11$spx; 148 | border-radius:%13$spx; 149 | border-color:%12$s; 150 | color:%1$s; 151 | background-color:%3$s; 152 | padding: %16$spx %15$spx; 153 | } 154 | 155 | a.more-link:hover, 156 | .fl-post-grid-content a.fl-post-grid-more:hover, 157 | a.fl-post-more-link:hover, 158 | a.fl-post-feed-more:hover, 159 | a.fl-post-slider-feed-more:hover, 160 | a.button:hover, 161 | .fl-page a.button:hover, 162 | .fl-builder-content a.fl-button:hover, 163 | .gform_wrapper .gform_footer:hover input.button, 164 | .gform_wrapper .gform_footer input[type="submit"]:hover { 165 | color:%2$s; 166 | background-color:%4$s; 167 | border-color:%14$s; 168 | } 169 | ', $button_col, $button_col_hover, $button_col_bg, $button_col_bg_hover, $button_font, $button_weight, $button_size, $button_line_height, $button_transform, $button_border, $button_border_width, $button_border_color, $button_border_radius, $button_border_hover, $button_padding_width, $button_padding_height) : ''; 170 | 171 | 172 | // WooCommerce 173 | if ( class_exists( 'WooCommerce' ) ) { 174 | 175 | $css .= ( bt_woo_button_color_default() !== $bt_woo_button_color ) ? sprintf( ' 176 | 177 | .woocommerce .fl-page a.button, 178 | .woocommerce .fl-page #respond input#submit, 179 | .woocommerce .fl-page button.button, 180 | .woocommerce .fl-page input.button, 181 | .woocommerce-page ul.products li.product a.button, 182 | .woocommerce-page .woocommerce-message a.button, 183 | .woocommerce-page a.button, 184 | .woocommerce-page button.button, 185 | .woocommerce-page .woocommerce button[type=submit], 186 | .woocommerce-page .woocommerce a.button.wc-forward, 187 | /* Alt Selectors */ 188 | .woocommerce #respond input#submit.alt.disabled, 189 | .woocommerce #respond input#submit.alt.disabled:hover, 190 | .woocommerce #respond input#submit.alt:disabled, 191 | .woocommerce #respond input#submit.alt:disabled:hover, 192 | .woocommerce #respond input#submit.alt:disabled[disabled], 193 | .woocommerce #respond input#submit.alt:disabled[disabled]:hover, 194 | .woocommerce a.button.alt.disabled, 195 | .woocommerce a.button.alt.disabled:hover, 196 | .woocommerce a.button.alt:disabled, 197 | .woocommerce a.button.alt:disabled:hover, 198 | .woocommerce a.button.alt:disabled[disabled], 199 | .woocommerce a.button.alt:disabled[disabled]:hover, 200 | .woocommerce button.button.alt.disabled, 201 | .woocommerce button.button.alt.disabled:hover, 202 | .woocommerce button.button.alt:disabled, 203 | .woocommerce button.button.alt:disabled:hover, 204 | .woocommerce button.button.alt:disabled[disabled], 205 | .woocommerce button.button.alt:disabled[disabled]:hover, 206 | .woocommerce input.button.alt.disabled, 207 | .woocommerce input.button.alt.disabled:hover, 208 | .woocommerce input.button.alt:disabled, 209 | .woocommerce input.button.alt:disabled:hover, 210 | .woocommerce input.button.alt:disabled[disabled], 211 | .woocommerce input.button.alt:disabled[disabled]:hover, 212 | .woocommerce #respond input#submit.alt, 213 | .woocommerce a.button.alt, 214 | .woocommerce button.button.alt, 215 | .woocommerce input.button.alt, 216 | .woocommerce-page button.button, 217 | .woocommerce-page .woocommerce button[type=submit], 218 | .woocommerce .widget_price_filter .ui-slider .ui-slider-range, 219 | .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { 220 | background-color: %1$s; 221 | color: %2$s; 222 | padding: %4$spx %5$spx; 223 | font-family: %6$s, Arial; 224 | font-weight: %7$s; 225 | font-size: %8$spx; 226 | line-height: %9$s; 227 | text-transform: %10$s; 228 | border: %12$spx %11$s %14$s; 229 | border-radius: %13$spx; 230 | } 231 | ', $bt_woo_button_color, $bt_woo_button_text_color , $bt_woo_border_color, $bt_button_woo_padding_top_bottom, 232 | $bt_button_woo_padding_left_right, $bt_button_woo_font_family, $bt_button_woo_font_weight, 233 | $bt_button_woo_font_size,$bt_button_woo_line_height, $bt_button_woo_text_transform, $bt_button_woo_border_style, 234 | $bt_button_woo_border_width, $bt_button_woo_border_radius, $bt_woo_border_color ) : ''; 235 | 236 | 237 | $css .= ( bt_woo_button_hover_color_default() !== $bt_woo_button_hover_color ) ? sprintf( ' 238 | .woocommerce .fl-page #respond input#submit:hover, 239 | .woocommerce .fl-page a.button:hover, 240 | .woocommerce .fl-page button.button:hover, 241 | .woocommerce .fl-page input.button:hover, 242 | .woocommerce-page ul.products li.product a.button:hover, 243 | .woocommerce-page a.button:hover, 244 | .woocommerce-page button.button:hover, 245 | .woocommerce-page .woocommerce button[type=submit]:hover, 246 | /* ALt Selectors */ 247 | .woocommerce #respond input#submit.alt:hover, 248 | .woocommerce a.button.alt:hover, 249 | .woocommerce button.button.alt:hover, 250 | .woocommerce input.button.alt:hover, 251 | .woocommerce-page ul.products li.product a.button:hover, 252 | .woocommerce-page .woocommerce-message a.button:hover, 253 | .woocommerce-page button.button:hover, 254 | .woocommerce-page button.button.alt:hover, 255 | .woocommerce-page a.button.alt:hover, 256 | .woocommerce-page a.button:hover, 257 | .woocommerce-page .woocommerce button[type=submit]:hover, 258 | .woocommerce-page .woocommerce a.button.wc-forward:hover { 259 | background-color: %1$s; 260 | color: %2$s; 261 | border: %4$spx %5$s %3$s; 262 | } 263 | ', $bt_woo_button_hover_color, $bt_woo_button_text_hover_color, $bt_woo_border_hover_color, $bt_button_woo_border_width, $bt_button_woo_border_style ) : ''; 264 | 265 | 266 | 267 | $css .= ( bt_woo_button_dis_color_default() !== $bt_woo_button_dis_color ) ? sprintf( ' 268 | .woocommerce #respond input#submit.disabled, 269 | .woocommerce #respond input#submit:disabled, 270 | .woocommerce #respond input#submit:disabled[disabled], 271 | .woocommerce a.button.disabled, .woocommerce a.button:disabled, 272 | .woocommerce a.button:disabled[disabled], 273 | .woocommerce button.button.disabled, 274 | .woocommerce button.button:disabled, 275 | .woocommerce button.button:disabled[disabled], 276 | .woocommerce input.button.disabled, 277 | .woocommerce input.button:disabled, 278 | .woocommerce input.button:disabled[disabled] { 279 | background-color: %1$s; 280 | border: %3$spx %4$s %1$s; 281 | color: %2$s; 282 | } 283 | ', $bt_woo_button_dis_color, bt_color_contrast( $bt_woo_button_dis_color ), $bt_button_woo_border_width, $bt_button_woo_border_style ) : ''; 284 | 285 | 286 | $css .= ( bt_woo_button_dis_hover_color_default() !== $bt_woo_button_dis_hover_color ) ? sprintf( ' 287 | .woocommerce #respond input#submit.disabled:hover, 288 | .woocommerce #respond input#submit:disabled:hover, 289 | .woocommerce #respond input#submit:disabled[disabled]:hover, 290 | .woocommerce a.button.disabled:hover, 291 | .woocommerce a.button:disabled:hover, 292 | .woocommerce a.button:disabled[disabled]:hover, 293 | .woocommerce button.button.disabled:hover, 294 | .woocommerce button.button:disabled:hover, 295 | .woocommerce button.button:disabled[disabled]:hover, 296 | .woocommerce input.button.disabled:hover, 297 | .woocommerce input.button:disabled:hover, 298 | .woocommerce input.button:disabled[disabled]:hover { 299 | background-color: %1$s; 300 | border: %3$spx %4$s %1$s; 301 | color: %2$s; 302 | } 303 | ', $bt_woo_button_dis_hover_color, bt_color_contrast( $bt_woo_button_dis_hover_color ), $bt_button_woo_border_width, $bt_button_woo_border_style ) : ''; 304 | 305 | 306 | $css .= ( bt_woo_price_color_default() !== $bt_woo_price_color ) ? sprintf( ' 307 | .woocommerce div.product p.price, 308 | .woocommerce div.product span.price, 309 | .woocommerce ul.products li.product .price { 310 | color: %s; 311 | } 312 | ', $bt_woo_price_color, bt_color_contrast( $bt_woo_price_color ) ) : ''; 313 | 314 | 315 | $css .= ( bt_woo_sale_price_color_default() !== $bt_woo_sale_price_color ) ? sprintf( ' 316 | .woocommerce span.onsale { 317 | background-color: %s; 318 | } 319 | ', $bt_woo_sale_price_color, bt_color_contrast( $bt_woo_sale_price_color ) ) : ''; 320 | 321 | 322 | $css .= ( bt_woo_info_color_default() !== $bt_woo_info_color ) ? sprintf( ' 323 | .woocommerce-info { 324 | border-top-color: %s; 325 | } 326 | ', $bt_woo_info_color ) : ''; 327 | 328 | 329 | $css .= ( bt_woo_info_color_default() !== $bt_woo_info_color ) ? sprintf( ' 330 | .woocommerce-info:before { 331 | color:%s; 332 | } 333 | ', $bt_woo_info_color ) : ''; 334 | 335 | 336 | $css .= ( bt_woo_error_color_default() !== $bt_woo_error_color ) ? sprintf( ' 337 | .woocommerce-error { 338 | border-top-color: %s; 339 | } 340 | ', $bt_woo_error_color ) : ''; 341 | 342 | 343 | $css .= ( bt_woo_error_color_default() !== $bt_woo_error_color ) ? sprintf( ' 344 | .woocommerce-error:before, 345 | .woocommerce form .form-row.woocommerce-invalid label, 346 | .woocommerce form .form-row .required, 347 | .woocommerce a.remove { 348 | color:%s !important; 349 | } 350 | ', $bt_woo_error_color ) : ''; 351 | 352 | 353 | $css .= ( bt_woo_error_color_default() !== $bt_woo_error_color ) ? sprintf( ' 354 | .woocommerce form .form-row.woocommerce-invalid .select2-container, 355 | .woocommerce form .form-row.woocommerce-invalid input.input-text, 356 | .woocommerce form .form-row.woocommerce-invalid select { 357 | border-color: %s; 358 | } 359 | ', $bt_woo_error_color ) : ''; 360 | 361 | 362 | $css .= ( bt_woo_error_color_default() !== $bt_woo_error_color ) ? sprintf( ' 363 | .woocommerce a.remove:hover { 364 | background-color: %s; 365 | } 366 | ', $bt_woo_error_color ) : ''; 367 | 368 | 369 | $css .= ( bt_woo_message_color_default() !== $bt_woo_message_color ) ? sprintf( ' 370 | .woocommerce-message { 371 | border-top-color: %s; 372 | } 373 | ', $bt_woo_message_color ) : ''; 374 | 375 | 376 | $css .= ( bt_woo_message_color_default() !== $bt_woo_message_color ) ? sprintf( ' 377 | .woocommerce-message:before { 378 | color:%s; 379 | } 380 | ', $bt_woo_message_color ) : ''; 381 | 382 | } 383 | 384 | if ( $css ) { 385 | wp_add_inline_style( $handle, $css ); 386 | } 387 | 388 | 389 | } -------------------------------------------------------------------------------- /includes-child/mobile-menu-removal.php: -------------------------------------------------------------------------------- 1 | add_section( 'woocommerce' , array( 79 | // 'title' => __( 'WooCommerce','beavertron' ), 80 | // //'panel' => 'woocommerce', 81 | // 'priority' => 520, 82 | // ) ); 83 | 84 | // Change WooCommerce Panel Title 85 | $wp_customize->get_section('woocommerce_colors')->title = __( 'Buttons & Colors' ); 86 | 87 | // Add buttons foreground color 88 | // Add setting. 89 | $wp_customize->add_setting( 'bt_woo_button_text_color', array( 90 | 'default' => bt_woo_button_text_color_default(), 91 | 'sanitize_callback' => 'sanitize_hex_color', 92 | ) ); 93 | 94 | // Add control 95 | $wp_customize->add_control( new WP_Customize_Color_Control( 96 | $wp_customize, 'bt_woo_button_text_color', array( 97 | 'label' => __( 'Button Text Color', 'beavertron' ), //set the label to appear in the Customizer 98 | 'section' => 'woocommerce_colors', //select the section for it to appear under 99 | 'settings' => 'bt_woo_button_text_color' //pick the setting it applies to 100 | ) 101 | ) ); 102 | 103 | // Add buttons hover - focus foreground color 104 | // Add setting. 105 | $wp_customize->add_setting( 'bt_woo_button_text_hover_color', array( 106 | 'default' => bt_woo_button_text_hover_color_default(), 107 | 'sanitize_callback' => 'sanitize_hex_color', 108 | ) ); 109 | 110 | // Add control 111 | $wp_customize->add_control( new WP_Customize_Color_Control( 112 | $wp_customize, 'bt_woo_button_text_hover_color', array( 113 | 'label' => __( 'Button Text Hover Color', 'beavertron' ), //set the label to appear in the Customizer 114 | 'section' => 'woocommerce_colors', //select the section for it to appear under 115 | 'settings' => 'bt_woo_button_text_hover_color' //pick the setting it applies to 116 | ) 117 | ) ); 118 | 119 | // Add buttons background color 120 | // Add setting. 121 | $wp_customize->add_setting( 'bt_woo_button_color', array( 122 | 'default' => bt_woo_button_color_default(), 123 | 'sanitize_callback' => 'sanitize_hex_color', 124 | ) ); 125 | 126 | // Add control 127 | $wp_customize->add_control( new WP_Customize_Color_Control( 128 | $wp_customize, 'bt_woo_button_color', array( 129 | 'label' => __( 'Button Color', 'beavertron' ), //set the label to appear in the Customizer 130 | 'section' => 'woocommerce_colors', //select the section for it to appear under 131 | 'settings' => 'bt_woo_button_color' //pick the setting it applies to 132 | ) 133 | ) ); 134 | 135 | // Add buttons hover - focus background color 136 | // Add setting. 137 | $wp_customize->add_setting( 'bt_woo_button_hover_color', array( 138 | 'default' => bt_woo_button_hover_color_default(), 139 | 'sanitize_callback' => 'sanitize_hex_color', 140 | ) ); 141 | 142 | // Add control 143 | $wp_customize->add_control( new WP_Customize_Color_Control( 144 | $wp_customize, 'bt_woo_button_hover_color', array( 145 | 'label' => __( 'Button Hover Color', 'beavertron' ), //set the label to appear in the Customizer 146 | 'section' => 'woocommerce_colors', //select the section for it to appear under 147 | 'settings' => 'bt_woo_button_hover_color' //pick the setting it applies to 148 | ) 149 | ) ); 150 | 151 | /* * 152 | * Adding in a Border Color and Border Hover Control for Woo Buttons to the Woo panel 153 | * Also can be done with fl_theme_add_panel_data filter - see 2 examples in customizer-filtered.php 154 | * @since 1.7.0 155 | */ 156 | $wp_customize->add_setting( 'bt_woo_border_color', array( 157 | 'default' => bt_woo_button_border_color_default(), 158 | 'sanitize_callback' => 'sanitize_hex_color', 159 | ) ); 160 | 161 | $wp_customize->add_control( new WP_Customize_Color_Control( 162 | $wp_customize, 'bt_woo_border_color', array( 163 | 'label' => __( 'Border Color', 'beavertron' ), //set the label to appear in the Customizer 164 | 'section' => 'woocommerce_colors', //select the section for it to appear under 165 | 'settings' => 'bt_woo_border_color', //pick the setting it applies to 166 | ) 167 | ) ); 168 | 169 | $wp_customize->add_setting( 'bt_woo_border_color_hover', array( 170 | 'default' => bt_woo_button_border_hover_color_default(), 171 | 'sanitize_callback' => 'sanitize_hex_color', 172 | ) ); 173 | 174 | $wp_customize->add_control( new WP_Customize_Color_Control( 175 | $wp_customize, 'bt_woo_border_color_hover', array( 176 | 'label' => __( 'Border Hover Color', 'beavertron' ), //set the label to appear in the Customizer 177 | 'section' => 'woocommerce_colors', //select the section for it to appear under 178 | 'settings' => 'bt_woo_border_color_hover', //pick the setting it applies to 179 | ) 180 | ) ); 181 | 182 | // Add buttons background disabled color 183 | // Add setting. 184 | $wp_customize->add_setting( 'bt_woo_button_dis_color', array( 185 | 'default' => bt_woo_button_dis_color_default(), 186 | 'sanitize_callback' => 'sanitize_hex_color', 187 | ) ); 188 | 189 | // Add control 190 | $wp_customize->add_control( new WP_Customize_Color_Control( 191 | $wp_customize, 'bt_woo_button_dis_color', array( 192 | 'label' => __( 'Button Disabled Color', 'beavertron' ), //set the label to appear in the Customizer 193 | 'section' => 'woocommerce_colors', //select the section for it to appear under 194 | 'settings' => 'bt_woo_button_dis_color' //pick the setting it applies to 195 | ) 196 | ) ); 197 | 198 | // Add buttons hover - focus background color 199 | // Add setting. 200 | $wp_customize->add_setting( 'bt_woo_button_dis_hover_color', array( 201 | 'default' => bt_woo_button_dis_hover_color_default(), 202 | 'sanitize_callback' => 'sanitize_hex_color', 203 | ) ); 204 | 205 | // Add control 206 | $wp_customize->add_control( new WP_Customize_Color_Control( 207 | $wp_customize, 'bt_woo_button_dis_hover_color', array( 208 | 'label' => __( 'Button Disabled Hover Color', 'beavertron' ), //set the label to appear in the Customizer 209 | 'section' => 'woocommerce_colors', //select the section for it to appear under 210 | 'settings' => 'bt_woo_button_dis_hover_color' //pick the setting it applies to 211 | ) 212 | ) ); 213 | 214 | // Add price color 215 | // Add setting. 216 | $wp_customize->add_setting( 'bt_woo_price_color', array( 217 | 'default' => bt_woo_price_color_default(), 218 | 'sanitize_callback' => 'sanitize_hex_color', 219 | ) ); 220 | 221 | /* Adding in a Padding Controls for Woo Buttons to the 'woocommerce_colors' panel 222 | * Also can be done with fl_theme_add_panel_data filter - see 2 examples in customizer-filtered.php 223 | * @since 1.7.0 224 | */ 225 | $wp_customize->add_setting( 226 | 'bt_button_woo_padding_left_right', //give it an ID 227 | array( 228 | 'default' => '30', // Give it a default 229 | //'transport' => 'postMessage', 230 | ) 231 | ); 232 | 233 | $wp_customize->add_control( 234 | new FLCustomizerControl( 235 | $wp_customize, 236 | 'bt_button_woo_padding_leftright', //give it an ID 237 | array( 238 | 'label' => __( 'Button Padding Left/Right', 'beavertron' ), //set the label to appear in the Customizer 239 | 'section' => 'woocommerce_colors', //select the section for it to appear under 240 | 'settings' => 'bt_button_woo_padding_left_right', //pick the setting it applies to 241 | 'priority' => 15, 242 | 'type' => 'slider', 243 | 'choices' => array( 244 | 'min' => 0, 245 | 'max' => 100, 246 | 'step' => 1, 247 | ), 248 | ) 249 | ) 250 | ); 251 | 252 | $wp_customize->add_setting( 253 | 'bt_button_woo_padding_top_bottom', //give it an ID 254 | array( 255 | 'default' => '5', // Give it a default 256 | //'transport' => 'postMessage', 257 | ) 258 | ); 259 | 260 | $wp_customize->add_control( 261 | new FLCustomizerControl( 262 | $wp_customize, 263 | 'bt_button_woo_padding_topbottom', //give it an ID 264 | array( 265 | 'label' => __( 'Button Padding Top/Bottom', 'beavertron' ), //set the label to appear in the Customizer 266 | 'section' => 'woocommerce_colors', //select the section for it to appear under 267 | 'settings' => 'bt_button_woo_padding_top_bottom', //pick the setting it applies to 268 | 'priority' => 15, 269 | 'type' => 'slider', 270 | 'choices' => array( 271 | 'min' => 0, 272 | 'max' => 100, 273 | 'step' => 1, 274 | ), 275 | ) 276 | ) 277 | ); 278 | // Add Woo button font family 279 | $wp_customize->add_setting( 280 | 'bt_button_woo_font_family', //give it an ID 281 | array( 282 | 'default' => 'Helvetica', // Give it a default 283 | //'transport' => 'postMessage', 284 | ) 285 | ); 286 | 287 | $wp_customize->add_control( 288 | new FLCustomizerControl( 289 | $wp_customize, 290 | 'bt_button_woo_font_family', //give it an ID 291 | array( 292 | 'class' => 'FLCustomizerControl', 293 | 'label' => __( 'Font Family', 'beavertron' ), 294 | 'type' => 'font', 295 | 'connect' => 'bt_button_woo_font_weight', //set the label to appear in the Customizer 296 | 'section' => 'woocommerce_colors', //select the section for it to appear under 297 | 'settings' => 'bt_button_woo_font_family', //pick the setting it applies to 298 | 'priority' => 15, 299 | ), 300 | ) ); 301 | 302 | // Add Woo button font weight 303 | $wp_customize->add_setting( 304 | 'bt_button_woo_font_weight', //give it an ID 305 | array( 306 | 'default' => '400', // Give it a default 307 | //'transport' => 'postMessage', 308 | ) 309 | ); 310 | 311 | $wp_customize->add_control( 312 | new FLCustomizerControl( 313 | $wp_customize, 314 | 'bt_button_woo_font_weight', //give it an ID 315 | array( 316 | 'class' => 'FLCustomizerControl', 317 | 'label' => __( 'Font Weight', 'beavertron' ), 318 | 'type' => 'font-weight', 319 | 'connect' => 'bt_button_woo_font_family', //set the label to appear in the Customizer 320 | 'section' => 'woocommerce_colors', //select the section for it to appear under 321 | 'settings' => 'bt_button_woo_font_weight', //pick the setting it applies to 322 | 'priority' => 15, 323 | ), 324 | ) ); 325 | 326 | // Add control 327 | $wp_customize->add_control( new WP_Customize_Color_Control( 328 | $wp_customize, 'bt_woo_price_color', array( 329 | 'label' => __( 'Price Color', 'beavertron' ), //set the label to appear in the Customizer 330 | 'section' => 'woocommerce_colors', //select the section for it to appear under 331 | 'settings' => 'bt_woo_price_color', //pick the setting it applies to 332 | 'priority' => 20 333 | ) 334 | ) ); 335 | 336 | 337 | // Add font size 338 | $wp_customize->add_setting( 339 | 'bt_button_woo_font_size', //give it an ID 340 | array( 341 | 'default' => '16', // Give it a default 342 | 'transport' => 'postMessage', 343 | ) 344 | ); 345 | 346 | $wp_customize->add_control( 347 | new FLCustomizerControl( 348 | $wp_customize, 349 | 'bt_button_woo_font_size', //give it an ID 350 | array( 351 | 'class' => 'FLCustomizerControl', 352 | 'label' => __( 'Font Size', 'Font size for buttons.', 'beavertron' ), 353 | 'type' => 'slider', 354 | 'choices' => get_font_size_limits(), 355 | 'responsive' => true, 356 | 'section' => 'woocommerce_colors', //select the section for it to appear under 357 | 'settings' => 'bt_button_woo_font_size', //pick the setting it applies to 358 | 'priority' => 15, 359 | ), 360 | ) ); 361 | 362 | // Add line-height 363 | $wp_customize->add_setting( 364 | 'bt_button_woo_line_height', //give it an ID 365 | array( 366 | 'default' => '1.2', 367 | 'transport' => 'postMessage', 368 | ) 369 | ); 370 | 371 | $wp_customize->add_control( 372 | new FLCustomizerControl( 373 | $wp_customize, 374 | 'bt_button_woo_font_weight', //give it an ID 375 | array( 376 | 'class' => 'FLCustomizerControl', 377 | 'label' => __( 'Line Height', 'beavertron' ), 378 | 'type' => 'slider', 379 | 'choices' => array( 380 | 'min' => 1, 381 | 'max' => 2.5, 382 | 'step' => 0.05, 383 | ), 384 | 'responsive' => true, 385 | 'section' => 'woocommerce_colors', //select the section for it to appear under 386 | 'settings' => 'bt_button_woo_line_height', //pick the setting it applies to 387 | 'priority' => 15, 388 | ), 389 | )); 390 | 391 | 392 | // Add text transform 393 | $wp_customize->add_setting( 394 | 'bt_button_woo_text_transform', //give it an ID 395 | array( 396 | 'default' => 'none', 397 | 'transport' => 'postMessage', 398 | ) 399 | ); 400 | 401 | $wp_customize->add_control( 402 | new WP_Customize_Control( 403 | $wp_customize, 404 | 'bt_button_woo_text_transform', //give it an ID 405 | array( 406 | 'class' => 'WP_Customize_Control', 407 | 'label' => _x( 'Text Transform', 'Text transform for buttons.', 'beavertron' ), 408 | 'type' => 'select', 409 | 'choices' => array( 410 | 'none' => __( 'Regular', 'beavertron' ), 411 | 'capitalize' => __( 'Capitalize', 'beavertron' ), 412 | 'uppercase' => __( 'Uppercase', 'beavertron' ), 413 | 'lowercase' => __( 'Lowercase', 'beavertron' ), 414 | ), 415 | 'section' => 'woocommerce_colors', //select the section for it to appear under 416 | 'settings' => 'bt_button_woo_text_transform', //pick the setting it applies to 417 | 'priority' => 15, 418 | ), 419 | )); 420 | 421 | // Add border style 422 | $wp_customize->add_setting( 423 | 'bt_button_woo_border_style', //give it an ID 424 | array( 425 | 'default' => 'none', 426 | 'transport' => 'postMessage', 427 | ) 428 | ); 429 | 430 | $wp_customize->add_control( 431 | new WP_Customize_Control( 432 | $wp_customize, 433 | 'bt_button_woo_border_style', //give it an ID 434 | array( 435 | 'class' => 'WP_Customize_Control', 436 | 'label' => _x( 'Border Style', 'Border style for buttons.', 'beavertron' ), 437 | 'type' => 'select', 438 | 'choices' => array( 439 | 'none' => __( 'None', 'beavertron' ), 440 | 'solid' => __( 'Solid', 'beavertron' ), 441 | 'dotted' => __( 'Dotted', 'beavertron' ), 442 | 'dashed' => __( 'Dashed', 'beavertron' ), 443 | 'double' => __( 'Double', 'beavertron' ), 444 | 'groove' => __( 'Groove', 'beavertron' ), 445 | 'ridge' => __( 'Ridge', 'beavertron' ), 446 | 'inset' => __( 'Inset', 'beavertron' ), 447 | 'outset' => __( 'Outset', 'beavertron' ), 448 | 'initial' => __( 'Initial', 'beavertron' ), 449 | 'inherit' => __( 'Inherit', 'beavertron' ), 450 | ), 451 | 'section' => 'woocommerce_colors', //select the section for it to appear under 452 | 'settings' => 'bt_button_woo_border_style', //pick the setting it applies to 453 | 'priority' => 15, 454 | ), 455 | )); 456 | 457 | // Add border width 458 | $wp_customize->add_setting( 459 | 'bt_button_woo_border_width', //give it an ID 460 | array( 461 | 'default' => '0', 462 | 'transport' => 'postMessage', 463 | ) 464 | ); 465 | 466 | $wp_customize->add_control( 467 | new FLCustomizerControl( 468 | $wp_customize, 469 | 'bt_button_woo_border_width', //give it an ID 470 | array( 471 | 'class' => 'FLCustomizerControl', 472 | 'label' => _x( 'Border Width', 'Border width for buttons.', 'beavertron' ), 473 | 'type' => 'slider', 474 | 'choices' => array( 475 | 'min' => 0, 476 | 'max' => 10, 477 | 'step' => 1, 478 | ), 479 | 'section' => 'woocommerce_colors', //select the section for it to appear under 480 | 'settings' => 'bt_button_woo_border_width', //pick the setting it applies to 481 | 'priority' => 15, 482 | ), 483 | )); 484 | 485 | 486 | 487 | // Add border radius 488 | $wp_customize->add_setting( 489 | 'bt_button_woo_border_radius', //give it an ID 490 | array( 491 | 'default' => '0', 492 | 'transport' => 'postMessage', 493 | ) 494 | ); 495 | 496 | $wp_customize->add_control( 497 | new FLCustomizerControl( 498 | $wp_customize, 499 | 'bt_button_woo_border_radius', //give it an ID 500 | array( 501 | 'class' => 'FLCustomizerControl', 502 | 'label' => _x( 'Border Radius', 'Font size for buttons.', 'beavertron' ), 503 | 'type' => 'slider', 504 | 'choices' => array( 505 | 'min' => 0, 506 | 'max' => 25, 507 | 'step' => 1, 508 | ), 509 | 'section' => 'woocommerce_colors', //select the section for it to appear under 510 | 'settings' => 'bt_button_woo_border_radius', //pick the setting it applies to 511 | 'priority' => 15, 512 | ), 513 | )); 514 | 515 | // Add sale price color 516 | // Add setting. 517 | $wp_customize->add_setting( 'bt_woo_sale_price_color', array( 518 | 'default' => bt_woo_sale_price_color_default(), 519 | 'sanitize_callback' => 'sanitize_hex_color', 520 | ) ); 521 | 522 | // Add control 523 | $wp_customize->add_control( new WP_Customize_Color_Control( 524 | $wp_customize, 'bt_woo_sale_price_color', array( 525 | 'label' => __( 'SALE Price Color', 'beavertron' ), //set the label to appear in the Customizer 526 | 'section' => 'woocommerce_colors', //select the section for it to appear under 527 | 'settings' => 'bt_woo_sale_price_color', //pick the setting it applies to 528 | 'priority' => 20 529 | ) 530 | ) ); 531 | 532 | 533 | 534 | // Add INFO color 535 | // Add setting. 536 | $wp_customize->add_setting( 'bt_woo_info_color', array( 537 | 'default' => bt_woo_info_color_default(), 538 | 'sanitize_callback' => 'sanitize_hex_color', 539 | ) ); 540 | 541 | // Add control 542 | $wp_customize->add_control( new WP_Customize_Color_Control( 543 | $wp_customize, 'bt_woo_info_color', array( 544 | 'label' => __( 'Info Color', 'beavertron' ), //set the label to appear in the Customizer 545 | 'section' => 'woocommerce_colors', //select the section for it to appear under 546 | 'settings' => 'bt_woo_info_color', //pick the setting it applies to 547 | 'priority' => 20 548 | ) 549 | ) ); 550 | 551 | // Add Error color 552 | // Add setting. 553 | $wp_customize->add_setting( 'bt_woo_error_color', array( 554 | 'default' => bt_woo_error_color_default(), 555 | 'sanitize_callback' => 'sanitize_hex_color', 556 | ) ); 557 | 558 | // Add control 559 | $wp_customize->add_control( new WP_Customize_Color_Control( 560 | $wp_customize, 'bt_woo_error_color', array( 561 | 'label' => __( 'Error Color', 'beavertron' ), //set the label to appear in the Customizer 562 | 'section' => 'woocommerce_colors', //select the section for it to appear under 563 | 'settings' => 'bt_woo_error_color', //pick the setting it applies to 564 | 'priority' => 20 565 | ) 566 | ) ); 567 | 568 | // Add Message color 569 | // Add setting. 570 | $wp_customize->add_setting( 'bt_woo_message_color', array( 571 | 'default' => bt_woo_message_color_default(), 572 | 'sanitize_callback' => 'sanitize_hex_color', 573 | ) ); 574 | 575 | // Add control 576 | $wp_customize->add_control( new WP_Customize_Color_Control( 577 | $wp_customize, 'bt_woo_message_color', array( 578 | 'label' => __( 'Message Color', 'beavertron' ), //set the label to appear in the Customizer 579 | 'section' => 'woocommerce_colors', //select the section for it to appear under 580 | 'settings' => 'bt_woo_message_color', //pick the setting it applies to 581 | 'priority' => 20 582 | ) 583 | ) ); 584 | } 585 | -------------------------------------------------------------------------------- /includes-child/woocommerce/woo.css: -------------------------------------------------------------------------------- 1 | 2 | /* WooCommerce 3 | ---------------------------------------------------------------------------------------------------- */ 4 | 5 | /* My Account Page */ 6 | 7 | .woocommerce-account .woocommerce form.login, 8 | .woocommerce-account .woocommerce-page form.login { 9 | border: none; 10 | } 11 | 12 | button.woocommerce-form-login__submit { 13 | display: block; 14 | } 15 | 16 | @media(min-width:768px) { 17 | 18 | .woocommerce-MyAccount-navigation { 19 | margin-right: 20px; 20 | width: 26%; 21 | } 22 | } 23 | 24 | .woocommerce-MyAccount-navigation .is-active a { 25 | color: #004380; 26 | font-weight: bold; 27 | opacity: 1; 28 | } 29 | 30 | .woocommerce-MyAccount-navigation ul { 31 | padding: 0; 32 | } 33 | 34 | .woocommerce-MyAccount-navigation li { 35 | list-style: none; 36 | padding-bottom: 0; 37 | } 38 | 39 | .woocommerce-MyAccount-navigation .is-active a:before, 40 | .woocommerce-MyAccount-navigation a:hover:before { 41 | opacity: 1; 42 | 43 | } 44 | 45 | .woocommerce-MyAccount-navigation a { 46 | padding: 10px 5px; 47 | display: block; 48 | } 49 | 50 | .woocommerce-MyAccount-navigation a:before { 51 | margin-right: 10px; 52 | opacity: .25; 53 | font-family: 'Font Awesome 5 Free'; 54 | font-weight: 900; 55 | } 56 | 57 | .woocommerce-MyAccount-navigation-link--dashboard a:before { 58 | content: "\f3fd"; 59 | } 60 | 61 | /* .woocommerce-MyAccount-navigation-link--default-shop-products a:before { 62 | content: "\f07a"; 63 | } */ 64 | 65 | .woocommerce-MyAccount-navigation-link--orders a:before { 66 | content: "\f291"; 67 | } 68 | 69 | .woocommerce-MyAccount-navigation-link--downloads a:before { 70 | content: "\f1c6"; 71 | } 72 | 73 | .woocommerce-MyAccount-navigation-link--edit-address a:before { 74 | content: "\f015"; 75 | } 76 | 77 | .woocommerce-MyAccount-navigation-link--payment-methods a:before { 78 | content: "\f09d"; 79 | } 80 | 81 | .woocommerce-MyAccount-navigation-link--edit-account a:before { 82 | content: "\f007"; 83 | } 84 | 85 | .woocommerce-MyAccount-navigation-link--customer-logout a:before { 86 | content: "\f2f5"; 87 | } 88 | 89 | .woocommerce-MyAccount-navigation-link--promotional-downloads a:before { 90 | content: "\f15c"; 91 | } 92 | 93 | .woocommerce-MyAccount-navigation-link--vouchers a:before { 94 | content: "\f06b"; 95 | } 96 | 97 | .woocommerce-MyAccount-navigation-link--points-and-rewards a:before { 98 | content: "\f201"; 99 | } 100 | 101 | .woocommerce-MyAccount-navigation-link--my-wholesale-products a:before { 102 | content: "\f06b"; 103 | } 104 | 105 | .woocommerce-MyAccount-navigation-link--tinv_wishlist a:before { 106 | content: "\f004"; 107 | } 108 | 109 | .woocommerce-account .woocommerce-MyAccount-content h2 { 110 | font-size: 25px; 111 | text-align: left; 112 | font-weight: 600; 113 | } 114 | 115 | .woocommerce-account p.order-again { 116 | text-align: right; 117 | } 118 | 119 | .woocommerce-account .woocommerce-EditAccountForm input[type="submit"] { 120 | margin-top: 50px; 121 | float: right; 122 | } 123 | .woocommerce-MyAccount-content label { 124 | margin-bottom: 0; 125 | } 126 | 127 | .woocommerce-account .woocommerce-MyAccount-content { 128 | padding-top: 30px; 129 | } 130 | 131 | /* Buttons */ 132 | .woocommerce a.button, 133 | .woocommerce button.button, 134 | .woocommerce input.button, 135 | .woocommerce #respond input#submit, 136 | .woocommerce #content input.button, 137 | .woocommerce-page a.button, 138 | .woocommerce-page button.button, 139 | .woocommerce-page input.button, 140 | .woocommerce-page #respond input#submit, 141 | .woocommerce-page #content input.button { 142 | font-size: 12px; 143 | } 144 | 145 | .woocommerce ul.products li.product, 146 | .woocommerce-page ul.products li.product { 147 | padding: 1%; 148 | } 149 | 150 | .woocommerce a[title="View Cart"] { 151 | display: block; 152 | clear:both; 153 | } 154 | 155 | .woocommerce .wc_payment_method { 156 | list-style-type: none; 157 | } 158 | 159 | .woocommerce .input-checkbox, 160 | .woocommerce .input-radio { 161 | box-shadow: none; 162 | width: auto; 163 | position: relative !important; 164 | } 165 | 166 | .woocommerce div.product div.images img, 167 | .woocommerce #content div.product div.images img, 168 | .woocommerce-page div.product div.images img, 169 | .woocommerce-page #content div.product div.images img, 170 | .woocommerce ul.products li.product a img, 171 | .woocommerce-page ul.products li.product a img { 172 | width: auto; 173 | } 174 | 175 | .woocommerce-cart table.cart input { 176 | padding: 8px; 177 | } 178 | 179 | .woocommerce .quantity .qty { 180 | padding: 4px; 181 | font-size: 14px; 182 | } 183 | 184 | .woocommerce form .form-row input.input-text, 185 | .woocommerce form .form-row textarea { 186 | padding: 10px; 187 | font-size: 16px; 188 | } 189 | 190 | .woocommerce form .form-row .required { 191 | text-decoration: none; 192 | } 193 | 194 | .woocommerce ul .wc_payment_method { 195 | list-style-type: none; 196 | } 197 | 198 | .woocommerce-billing-fields__field-wrapper abbr { 199 | border-bottom: none; 200 | text-decoration: none; 201 | } 202 | 203 | /* Flexbox on WooCommerce archive products */ 204 | .woocommerce .products ul, 205 | .woocommerce ul.products { 206 | display: flex; 207 | flex-flow: row wrap; 208 | } 209 | 210 | .woocommerce ul.products li.product, 211 | .woocommerce-page ul.products li.product { 212 | display: flex; 213 | flex-flow: column nowrap; 214 | } 215 | 216 | .woocommerce ul.products li.product .button { 217 | margin: 10px auto; 218 | display: table; 219 | } 220 | 221 | /* Increase Image Size in Sidebar */ 222 | .woocommerce ul.cart_list li img, 223 | .woocommerce ul.product_list_widget li img { 224 | width: 64px; 225 | } 226 | 227 | /* Related Products */ 228 | .woocommerce .related ul li.product img, 229 | .woocommerce .related ul.products li.product img, 230 | .woocommerce .upsells.products ul li.product img, 231 | .woocommerce .upsells.products ul.products li.product img, 232 | .woocommerce-page .related ul li.product img, 233 | .woocommerce-page .related ul.products li.product img, 234 | .woocommerce-page .upsells.products ul li.product img, 235 | .woocommerce-page .upsells.products ul.products li.product img { 236 | width: auto; 237 | } 238 | 239 | .woocommerce .related ul li.product, 240 | .woocommerce .related ul.products li.product, 241 | .woocommerce .upsells.products ul li.product, 242 | .woocommerce .upsells.products ul.products li.product, 243 | .woocommerce-page .related ul li.product, 244 | .woocommerce-page .related ul.products li.product, 245 | .woocommerce-page .upsells.products ul li.product, 246 | .woocommerce-page .upsells.products ul.products li.product, 247 | .woocommerce[class*="columns-"] ul.products li.product, 248 | .woocommerce ul.products li.product, 249 | .woocommerce-page ul.products li.product { 250 | margin-left: 0 !important; 251 | } 252 | 253 | .woocommerce .related { 254 | clear: both; 255 | } 256 | 257 | .woocommerce-page .related ul.products li.product { 258 | width: 49%; 259 | } 260 | 261 | @media (min-width: 768px) { 262 | .woocommerce-page .related ul.products li.product { 263 | width: 30.8%; 264 | padding: 2%; 265 | } 266 | } 267 | 268 | /* Reduce table padding on small devices */ 269 | @media (max-width: 767px) { 270 | .woocommerce table.shop_table th, 271 | .woocommerce-page table.shop_table th, 272 | .woocommerce table.shop_table td, 273 | .woocommerce-page table.shop_table td { 274 | border-color: #e6e6e6 !important; 275 | padding: 10px !important; 276 | } 277 | } 278 | 279 | /* Stock */ 280 | .sku_wrapper { 281 | display: none; 282 | } 283 | 284 | /** 285 | * Bootstrap Colors 286 | * @link https://getbootstrap.com/docs/4.0/components/alerts/ 287 | */ 288 | .stock { 289 | color: #999; 290 | background-color: #cce5ff; 291 | border-color: #b8daff; 292 | position: relative; 293 | padding: .75rem 1.25rem; 294 | margin-bottom: 1rem; 295 | border: 1px solid transparent; 296 | border-top-color: transparent; 297 | border-right-color: transparent; 298 | border-bottom-color: transparent; 299 | border-left-color: transparent; 300 | border-radius: .25rem; 301 | } 302 | 303 | /* Slider */ 304 | .woocommerce div.product div.images .flex-control-thumbs { 305 | margin-top: 10px; 306 | } 307 | 308 | /* Cart on smaller devices */ 309 | @media(min-width: 900px) { 310 | .woocommerce .cart-collaterals .cart_totals, 311 | .woocommerce-page .cart-collaterals .cart_totals { 312 | width: 60% !important; 313 | } 314 | } 315 | 316 | @media(max-width: 899px) { 317 | .woocommerce .cart-collaterals .cart_totals, 318 | .woocommerce-page .cart-collaterals .cart_totals { 319 | width: 100% !important; 320 | } 321 | 322 | #shipping_method { 323 | clear: left; 324 | text-align: left; 325 | padding-top: 10px !important; 326 | } 327 | 328 | .woocommerce-shipping-destination, 329 | .woocommerce-shipping-calculator, 330 | .woocommerce table.shop_table_responsive tr td, 331 | .woocommerce-page table.shop_table_responsive tr td { 332 | text-align: left !important; 333 | } 334 | } 335 | 336 | /* Variations */ 337 | .variations tr { 338 | display: flex; 339 | } 340 | 341 | /* 2 Column WooCommerce Checkout */ 342 | @media(min-width:768px) { 343 | .woocommerce .col2-set .col-1, 344 | .woocommerce-page .col2-set .col-1 { 345 | width: 90% !important; 346 | } 347 | 348 | #customer_details { 349 | display: flex; 350 | flex-flow: column nowrap; 351 | float: left; 352 | width: 50%; 353 | } 354 | 355 | #customer_details .col-2 { 356 | width: 90%; 357 | margin-top: 20px; 358 | } 359 | 360 | #order_review, 361 | #order_review_heading { 362 | width: 50%; 363 | float: left; 364 | clear: none; 365 | } 366 | } 367 | 368 | /* Center Checkout Processing Icon Spinner */ 369 | .woocommerce .blockUI.blockOverlay:before { 370 | position:fixed!important 371 | } -------------------------------------------------------------------------------- /includes-child/woocommerce/woocommerce.php: -------------------------------------------------------------------------------- 1 | Reading 64 | // Return the number of products you wanna show per page. 65 | $cols = $bt_number_products; 66 | return $cols; 67 | } 68 | 69 | 70 | add_filter( 'woocommerce_pagination_args', 'bt_woocommerce_pagination' ); 71 | /** 72 | * Update the next and previous arrows to the default style. 73 | * 74 | * @since 1.0.0 75 | * 76 | * @return string New next and previous text string. 77 | */ 78 | function bt_woocommerce_pagination( $args ) { 79 | 80 | $args['prev_text'] = sprintf( '« %s', __( 'Previous Page', 'beavertron' ) ); 81 | $args['next_text'] = sprintf( '%s »', __( 'Next Page', 'beavertron' ) ); 82 | 83 | return $args; 84 | } 85 | 86 | 87 | /** 88 | * Removes Order Notes Title - Additional Information 89 | * @since 1.7.0 90 | */ 91 | $bt_woo_additional = get_theme_mod( 'bt_woo_additional' ); 92 | 93 | if( $bt_woo_additional === 'disabled' ) { 94 | add_filter( 'woocommerce_enable_order_notes_field', '__return_false' ); 95 | } 96 | 97 | 98 | /** 99 | * Remove Notice - Showing all x results 100 | * @since 1.0.0 101 | */ 102 | $bt_woo_results = get_theme_mod( 'bt_woo_results' ); 103 | 104 | if( $bt_woo_results === 'disabled' ) { 105 | remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 ); 106 | } 107 | 108 | 109 | /** 110 | * Remove default sorting drop-down from WooCommerce 111 | * @since 1.7.0 112 | */ 113 | $bt_woo_sort = get_theme_mod( 'bt_woo_sort' ); 114 | 115 | if( $bt_woo_sort === 'disabled' ) { 116 | remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 ); 117 | } 118 | 119 | /** 120 | * Hide 'add to cart' button on Woo archive pages 121 | * @since 1.7.1 122 | */ 123 | $cartbut = FLTheme::get_setting( 'fl-woo-cart-button' ); 124 | 125 | if ( $cartbut === 'hidden' ) { 126 | remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' ); 127 | } 128 | 129 | 130 | // add_filter( 'woocommerce_checkout_fields' , 'bt_remove_order_notes' ); 131 | /** 132 | * Remove Order Notes Field 133 | * @since 1.0.0 134 | */ 135 | function bt_remove_order_notes( $fields ) { 136 | unset( $fields['order']['order_comments'] ); 137 | return $fields; 138 | } 139 | 140 | 141 | // add_filter('woocommerce_billing_fields','bt_custom_billing_fields'); 142 | /** 143 | * Remove some fields from billing form 144 | * @since 1.0.0 145 | * @link https://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ 146 | */ 147 | function bt_custom_billing_fields( $fields = array() ) { 148 | unset( $fields['billing_company'] ); 149 | // unset($fields['billing_address_1']); 150 | // unset($fields['billing_address_2']); 151 | // unset($fields['billing_state']); 152 | // unset($fields['billing_city']); 153 | // unset($fields['billing_phone']); 154 | // unset($fields['billing_postcode']); 155 | // unset($fields['billing_country']); 156 | return $fields; 157 | } 158 | 159 | 160 | //add_filter('woocommerce_shipping_fields','bt_custom_shipping_fields'); 161 | /** 162 | * Remove some fields from shipping form 163 | * @since 1.0.0 164 | * @link https://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ 165 | */ 166 | function bt_custom_shipping_fields( $fields = array() ) { 167 | unset( $fields['shipping_company'] ); 168 | // unset($fields['shipping_address_1']); 169 | // unset($fields['shipping_address_2']); 170 | // unset($fields['shipping_state']); 171 | // unset($fields['shipping_city']); 172 | // unset($fields['shipping_phone']); 173 | // unset($fields['shipping_postcode']); 174 | // unset($fields['shipping_country']); 175 | return $fields; 176 | } 177 | 178 | 179 | add_filter( 'woocommerce_thankyou_order_received_text', 'bt_thank_you' ); 180 | /** 181 | * Filter thank you text for digital downloads or the first page after payment 182 | * @since 1.7.0 183 | */ 184 | function bt_thank_you() { 185 | $bt_woo_order_received = get_theme_mod( 'bt_woo_order_received' ); 186 | 187 | $added_text = $bt_woo_order_received; 188 | 189 | return $added_text ; 190 | } 191 | 192 | 193 | /** 194 | * Filter to remove SKU number 195 | * @since 1.7.0 196 | */ 197 | // $bt_woo_sku = get_theme_mod( 'bt_woo_sku' ); 198 | 199 | // if( $bt_woo_sku === 'disabled' ) { 200 | // add_filter( 'wc_product_sku_enabled', '__return_false' ); 201 | // } 202 | 203 | 204 | /** 205 | * Remove related products on a WooCommerce product page 206 | * @since 1.7.0 207 | */ 208 | $bt_woo_related = get_theme_mod( 'bt_woo_related' ); 209 | if( $bt_woo_related === 'enabled' ) { 210 | remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 ); 211 | } 212 | 213 | 214 | /** 215 | * Remove Category Meta on WooCommerce product page 216 | * @since 1.7.0 217 | */ 218 | $bt_woo_meta = get_theme_mod( 'bt_woo_meta' ); 219 | if( $bt_woo_meta === 'enabled' ) { 220 | remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 ); 221 | } 222 | 223 | 224 | add_action( 'init', 'bt_remove_wc_breadcrumbs' ); 225 | /** 226 | * Remove the WooCommerce breadcrumbs 227 | * @link https://docs.woocommerce.com/document/customise-the-woocommerce-breadcrumb/ 228 | * @since 1.7.0 229 | */ 230 | function bt_remove_wc_breadcrumbs() { 231 | $bt_woo_breadcrumbs = get_theme_mod( 'bt_woo_breadcrumbs'); 232 | if( $bt_woo_breadcrumbs === 'enabled' ) { 233 | remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 ); 234 | } 235 | } 236 | 237 | add_filter( 'woocommerce_breadcrumb_defaults', 'bt_change_breadcrumb_home_text' ); 238 | /** 239 | * Rename "home" in WooCommerce breadcrumb 240 | */ 241 | function bt_change_breadcrumb_home_text( $defaults ) { 242 | // Change the breadcrumb home text from 'Home' to 'Shop' 243 | $defaults['home'] = 'Shop'; 244 | return $defaults; 245 | } 246 | 247 | add_filter( 'woocommerce_breadcrumb_home_url', 'bt_custom_breadrumb_home_url' ); 248 | /** 249 | * Replace the home link URL in WooCommerce breadcrumb 250 | */ 251 | function bt_custom_breadrumb_home_url() { 252 | return '/shop/'; 253 | } 254 | 255 | 256 | add_filter( 'woocommerce_product_tabs', 'bt_remove_product_tabs', 98 ); 257 | /** 258 | * Remove WooCommerce Tabs - this code removes all 3 tabs - to be more specific just remove actual unset lines 259 | * @since 1.7.0 260 | */ 261 | function bt_remove_product_tabs( $tabs ) { 262 | 263 | $bt_woo_tabs_review = get_theme_mod( 'bt_woo_tabs_review'); 264 | $bt_woo_tabs_description = get_theme_mod( 'bt_woo_tabs_description'); 265 | $bt_woo_tabs_information = get_theme_mod( 'bt_woo_tabs_information'); 266 | 267 | if ($bt_woo_tabs_description == 1) { 268 | unset( $tabs['description'] ); 269 | } // Remove the description tab 270 | if ($bt_woo_tabs_review == 1) { 271 | unset( $tabs['reviews'] ); 272 | } // Remove the reviews tab 273 | if ($bt_woo_tabs_information == 1) { 274 | unset( $tabs['additional_information'] ); 275 | } // Remove the additional information tab 276 | 277 | return $tabs; 278 | 279 | } 280 | 281 | 282 | add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'bt_dropdown_choice', 10 ); 283 | /** 284 | * Change the custom "Choose an option" on the front end 285 | * @since 1.7.0 286 | */ 287 | function bt_dropdown_choice( $args ){ 288 | 289 | if( is_product() ) { 290 | 291 | $bt_woo_dropdown_variation = get_theme_mod( 'bt_woo_dropdown_variation'); 292 | 293 | $args['show_option_none'] = $bt_woo_dropdown_variation; 294 | } 295 | return $args; 296 | } 297 | 298 | 299 | //add_filter( 'woocommerce_add_to_cart_redirect', 'bt_add_to_cart_redirect' ); 300 | /** 301 | * Go Straight to checkout after added to cart 302 | * @since 1.7.0 303 | */ 304 | function bt_add_to_cart_redirect() { 305 | global $woocommerce; 306 | $checkout_url = wc_get_checkout_url(); 307 | return $checkout_url; 308 | } 309 | 310 | 311 | add_action( 'wp_print_styles', 'bt_deregister_gbstyles_wc', 100 ); 312 | /** 313 | * Disable gutenberg style in Frontend 314 | * 315 | */ 316 | function bt_deregister_gbstyles_wc() { 317 | wp_dequeue_style('wc-blocks-style'); // disable woocommerce frontend block styles 318 | wp_dequeue_style('wc-blocks-vendors-style'); // disable woocommerce frontend block styles 319 | } -------------------------------------------------------------------------------- /includes/archive-header.php: -------------------------------------------------------------------------------- 1 |
2 |

3 | 4 | 6 |
-------------------------------------------------------------------------------- /includes/copyright.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /includes/post-bottom-meta.php: -------------------------------------------------------------------------------- 1 | '; 10 | 11 | do_action( 'fl_post_bottom_meta_open' ); 12 | } 13 | 14 | // Categories and Tags. 15 | if( $show_cats || $show_tags ) { 16 | 17 | $tags = get_the_tag_list( '', ', ' ); 18 | $cats = get_the_category_list( ', ' ); 19 | // Add spans around so can display block. Add CSS classes to style 20 | echo '
'; 21 | 22 | if ( $show_cats && $cats ) { 23 | 24 | echo ''; 25 | 26 | printf( _x( 'Categorized %s', 'Post meta info: category.', 'fl-automator' ), $cats ); 27 | } 28 | echo ''; 29 | if ( $show_tags && $tags ) { 30 | echo ''; 31 | if ( $show_cats && $cats ) { 32 | printf( _x( ' Tagged %s', 'Post meta info: tags. Continuing of the sentence started with "Posted in Category".', 'fl-automator' ), $tags ); 33 | } else { 34 | printf( _x( 'Tagged %s', 'Post meta info: tags.', 'fl-automator' ), $tags ); 35 | } 36 | 37 | echo ''; 38 | } 39 | 40 | echo '
'; 41 | 42 | 43 | } 44 | 45 | // Comments disabled here as already enabled in top post meta 46 | // if ( $comments && ! is_single() ) { 47 | // comments_popup_link( _x( 'Leave a comment', 'Comments popup link title.', 'fl-automator' ), __( '1 Comment', 'fl-automator' ), _nx( '1 Comment', '% Comments', get_comments_number(), 'Comments popup link title.', 'fl-automator' ) ); 48 | // } 49 | 50 | // Close Wrapper. 51 | if( $show_cats || $show_tags || $comments ) { 52 | 53 | do_action( 'fl_post_bottom_meta_close' ); 54 | 55 | echo ''; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /includes/post-top-meta.php: -------------------------------------------------------------------------------- 1 | '; 7 | 8 | do_action( 'fl_post_top_meta_open' ); 9 | } 10 | 11 | // Author 12 | // if ( $show_author ) { 13 | // echo ''; 14 | // printf( _x( 'By %s', 'Post meta info: author.', 'fl-automator' ), '' . get_the_author_meta( 'display_name', get_the_author_meta( 'ID' ) ) . '' ); 15 | // echo ''; 16 | // } 17 | 18 | // Date 19 | if($show_date) { 20 | 21 | // if($show_author) { 22 | // echo ' | '; 23 | // } 24 | 25 | echo '' . get_the_date() . ''; 26 | } 27 | 28 | // Comments 29 | if($comments && $comment_count) { 30 | 31 | if($show_author || $show_date) { 32 | echo ' | '; 33 | } 34 | 35 | echo ''; 36 | // comments_popup_link('0 ', '1 ', '% '); 37 | // Add some comment wording and remove FA icon above 38 | comments_popup_link('Leave A Comment', 'Leave A Comment', '% Comments'); 39 | echo ''; 40 | } 41 | 42 | // Close Wrapper 43 | if($show_author || $show_date || $comments) { 44 | 45 | do_action( 'fl_post_top_meta_close' ); 46 | 47 | echo ''; 48 | } 49 | 50 | // Schema Meta 51 | FLTheme::post_schema_meta(); -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | '« Previous' . '' . __( 'Previous page', 'wpb' ) . '', 26 | 'next_text' => '' . __( 'Next page', 'wpb' ) . '' . 'Next »', 27 | 'before_page_number' => '' . __( 'Page', 'wpb' ) . ' ', 28 | 29 | ) ); ?> 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
39 | 40 | 41 | 42 |
43 |
44 | 45 | 46 | -------------------------------------------------------------------------------- /js/global.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | 3 | $(function() { // Document Ready 4 | 5 | clickColumn(); 6 | 7 | // Target Dropdowns for select2 8 | //$('.sf-input-select').select2({ 9 | // minimumResultsForSearch: Infinity 10 | 11 | // }); 12 | 13 | 14 | // Detects the end of an S&F Pro Ajax request being made - so you can re-target the dropdown 15 | // If using S&F Pro 16 | // $(document).on("sf:ajaxfinish", ".searchandfilter", function(){ 17 | // $('.sf-input-select').select2({ 18 | // minimumResultsForSearch: Infinity 19 | // }); 20 | 21 | // }); 22 | 23 | }); 24 | // Functions 25 | function clickColumn() { 26 | 27 | $('.click-col').css('cursor', 'pointer'); 28 | 29 | $('.click-col').on('click', function(event){ 30 | $(this).find('a')[0].click(); 31 | }); 32 | 33 | $('.click-col a').on('click', function(event){ 34 | event.stopPropagation(); 35 | }); 36 | 37 | } 38 | 39 | })(jQuery); -------------------------------------------------------------------------------- /js/remove-mobile.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | 3 | $('.fl-page-header').removeClass('fl-page-nav-toggle-visible-mobile fl-page-nav-toggle-icon'); 4 | $('.navbar-toggle').remove(); 5 | 6 | })(jQuery); 7 | -------------------------------------------------------------------------------- /plugins.php: -------------------------------------------------------------------------------- 1 | 'ACF', // The plugin name. 64 | 'slug' => 'advanced-custom-fields', // The plugin slug (typically the folder name). 65 | 'source' => get_theme_root() . '/lib/plugins/advanced-custom-fields-pro.zip', // The plugin source. 66 | 'required' => false, // If false, the plugin is only 'recommended' instead of required. 67 | 'version' => '5.9.4', // E.g. 1.0.0. If set, the active plugin must be this version or higher. 68 | 'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch. 69 | 'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins. 70 | 'external_url' => '', // If set, overrides default API URL and points to an external URL. 71 | 'is_callable' => '', // If set, this callable will be be checked for availability to determine if a plugin is active. 72 | ), 73 | 74 | array( 75 | 'name' => 'Ultimate Addon for Beaver Builder', // The plugin name. 76 | 'slug' => 'bb-ultimate-addon', // The plugin slug (typically the folder name). 77 | 'source' => get_theme_root() . '/lib/plugins/bb-ultimate-addon.zip', // The plugin source. 78 | 'required' => false, // If false, the plugin is only 'recommended' instead of required. 79 | 'version' => '1.29.0', // E.g. 1.0.0. If set, the active plugin must be this version or higher. 80 | 'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch. 81 | 'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins. 82 | 'external_url' => '', // If set, overrides default API URL and points to an external URL. 83 | 'is_callable' => '', // If set, this callable will be be checked for availability to determine if a plugin is active. 84 | ), 85 | 86 | // This is an example of how to include a plugin pre-packaged with a theme. 87 | array( 88 | 'name' => 'Gravity Forms', // The plugin name. 89 | 'slug' => 'gravityforms', // The plugin slug (typically the folder name). 90 | 'source' => get_theme_root() . '/lib/plugins/gravityforms_2.4.22.3.zip', // The plugin source. 91 | 'required' => false, // If false, the plugin is only 'recommended' instead of required. 92 | 'version' => '2.4.22.3', // E.g. 1.0.0. If set, the active plugin must be this version or higher. 93 | 'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch. 94 | 'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins. 95 | 'external_url' => '', // If set, overrides default API URL and points to an external URL. 96 | 'is_callable' => '', // If set, this callable will be be checked for availability to determine if a plugin is active. 97 | ), 98 | 99 | 100 | array( 101 | 'name' => 'WP Sync DB Master', // The plugin name. 102 | 'slug' => 'wp-sync-db-master', // The plugin slug (typically the folder name). 103 | 'source' => 'https://github.com/neilgee/wp-sync-db/archive/master.zip', // The plugin source. 104 | 'required' => false, // If false, the plugin is only 'recommended' instead of required. 105 | 'external_url' => 'https://github.com/neilgee/wp-sync-db/', // If set, overrides default API URL and points to an external URL. 106 | ), 107 | 108 | array( 109 | 'name' => 'Activity Log', 110 | 'slug' => 'aryo-activity-log', 111 | 'required' => false, 112 | ), 113 | 114 | array( 115 | 'name' => 'Adminimize', 116 | 'slug' => 'adminimize', 117 | 'required' => false, 118 | ), 119 | array( 120 | 'name' => 'Akismet', 121 | 'slug' => 'akismet', 122 | 'required' => false, 123 | ), 124 | 125 | array( 126 | 'name' => 'Better Search Replace', 127 | 'slug' => 'better-search-replace', 128 | 'required' => false, 129 | ), 130 | 131 | 132 | array( 133 | 'name' => 'Content Aware Sidebars', 134 | 'slug' => 'content-aware-sidebars', 135 | 'required' => false, 136 | ), 137 | array( 138 | 'name' => 'Custom Content Shortcode', 139 | 'slug' => 'custom-content-shortcode', 140 | 'required' => false, 141 | ), 142 | array( 143 | 'name' => 'Duplicate Post', 144 | 'slug' => 'duplicate-post', 145 | 'required' => false, 146 | ), 147 | 148 | array( 149 | 'name' => 'Easy Updates Manager', 150 | 'slug' => 'stops-core-theme-and-plugin-updates', 151 | 'required' => false, 152 | ), 153 | array( 154 | 'name' => 'Force Regenerate Thumbnails', 155 | 'slug' => 'force-regenerate-thumbnails', 156 | 'required' => false, 157 | ), 158 | 159 | array( 160 | 'name' => 'Limit Login Attempts Reloaded', 161 | 'slug' => 'limit-login-attempts-reloaded', 162 | 'required' => false, 163 | ), 164 | 165 | array( 166 | 'name' => 'No Page Comment', 167 | 'slug' => 'no_page_comment', 168 | 'required' => false, 169 | ), 170 | array( 171 | 'name' => 'Post Types Order', 172 | 'slug' => 'post-types-order', 173 | 'required' => false, 174 | ), 175 | array( 176 | 'name' => 'Post Type Switcher', 177 | 'slug' => 'post-type-switcher', 178 | 'required' => false, 179 | ), 180 | 181 | array( 182 | 'name' => 'Post SMTP Mailer/Email Log', 183 | 'slug' => 'post-smtp', 184 | 'required' => false, 185 | ), 186 | 187 | array( 188 | 'name' => 'Simply Show Hooks', 189 | 'slug' => 'simply-show-hooks', 190 | 'required' => false, 191 | ), 192 | array( 193 | 'name' => 'SOGO Add Script Header Footer', 194 | 'slug' => 'oh-add-script-header-footer', 195 | 'required' => false, 196 | ), 197 | array( 198 | 'name' => 'Google Analytics by Yoast', 199 | 'slug' => 'google-analytics-for-wordpress', 200 | 'required' => false, 201 | ), 202 | 203 | array( 204 | 'name' => 'ManageWP Worker', 205 | 'slug' => 'worker', 206 | 'required' => false, 207 | ), 208 | array( 209 | 'name' => 'MapPress Easy Google Maps', 210 | 'slug' => 'mappress-google-maps-for-wordpress', 211 | 'required' => false, 212 | ), 213 | 214 | array( 215 | 'name' => 'Shortcode in Menus', 216 | 'slug' => 'shortcode-in-menus', 217 | 'required' => false, 218 | ), 219 | array( 220 | 'name' => 'SlickNav Mobile Menu', 221 | 'slug' => 'slicknav-mobile-menu', 222 | 'required' => false, 223 | ), 224 | 225 | array( 226 | 'name' => 'Venobox Lightbox', 227 | 'slug' => 'venobox-lightbox', 228 | 'required' => false, 229 | ), 230 | 231 | array( 232 | 'name' => 'Woocommerce', 233 | 'slug' => 'woocommerce', 234 | 'required' => false, 235 | ), 236 | 237 | array( 238 | 'name' => 'WooCommerce PDF Invoices & Packing Slips', 239 | 'slug' => 'woocommerce-pdf-invoices-packing-slips', 240 | 'required' => false, 241 | ), 242 | 243 | array( 244 | 'name' => 'Wordfence', 245 | 'slug' => 'wordfence', 246 | 'required' => false, 247 | ), 248 | array( 249 | 'name' => 'WordPress SEO', 250 | 'slug' => 'wordpress-seo', 251 | 'required' => false, 252 | ), 253 | 254 | array( 255 | 'name' => 'WP Sweep', 256 | 'slug' => 'wp-sweep', 257 | 'required' => false, 258 | ), 259 | // This is an example of the use of 'is_callable' functionality. A user could - for instance - 260 | // have WPSEO installed *or* WPSEO Premium. The slug would in that last case be different, i.e. 261 | // 'wordpress-seo-premium'. 262 | // By setting 'is_callable' to either a function from that plugin or a class method 263 | // `array( 'class', 'method' )` similar to how you hook in to actions and filters, TGMPA can still 264 | // recognize the plugin as being installed. 265 | //array( 266 | // 'name' => 'WordPress SEO by Yoast', 267 | // 'slug' => 'wordpress-seo', 268 | // 'is_callable' => 'wpseo_init', 269 | //), 270 | 271 | 272 | 273 | ); 274 | 275 | /* 276 | * Array of configuration settings. Amend each line as needed. 277 | * 278 | * TGMPA will start providing localized text strings soon. If you already have translations of our standard 279 | * strings available, please help us make TGMPA even better by giving us access to these translations or by 280 | * sending in a pull-request with .po file(s) with the translations. 281 | * 282 | * Only uncomment the strings in the config array if you want to customize the strings. 283 | */ 284 | $config = array( 285 | 'id' => 'beavertron', // Unique ID for hashing notices for multiple instances of TGMPA. 286 | 'default_path' => '', // Default absolute path to bundled plugins. 287 | 'menu' => 'tgmpa-install-plugins', // Menu slug. 288 | 'parent_slug' => 'themes.php', // Parent menu slug. 289 | 'capability' => 'edit_theme_options', // Capability needed to view plugin install page, should be a capability associated with the parent menu used. 290 | 'has_notices' => true, // Show admin notices or not. 291 | 'dismissable' => true, // If false, a user cannot dismiss the nag message. 292 | 'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag. 293 | 'is_automatic' => false, // Automatically activate plugins after installation or not. 294 | 'message' => '', // Message to output right before the plugins table. 295 | 296 | ); 297 | 298 | tgmpa( $plugins, $config ); 299 | } 300 | 301 | 302 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neilgee/beavertron/799203b30062d64f0e7d971f2852b81ceb063a76/screenshot.png -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: Beavertron 3 | Theme URI: https://wpbeaches.com 4 | Version: 1.7.1 5 | Description: An BB child theme that can be used as a clean slate for custom development. 6 | Author: Neil Gowran 7 | Author URI: https://wpbeaches.com 8 | template: bb-theme 9 | */ 10 | 11 | /* Intial CSS is via the parent skin - fl-automator-skin-css */ 12 | 13 | /* Typographical Elements 14 | * Fonts set in Customiser 15 | --------------------------------------------- */ 16 | 17 | a, 18 | button, 19 | input:focus, 20 | input[type="button"], 21 | input[type="reset"], 22 | input[type="submit"], 23 | textarea:focus, 24 | .button, 25 | .gallery img { 26 | -webkit-transition:all 0.1s ease-in-out; 27 | transition: all 0.1s ease-in-out; 28 | } 29 | 30 | 31 | p { 32 | margin: 0 0 20px; 33 | padding: 0; 34 | } 35 | 36 | .no-para-space p:last-child { 37 | margin-bottom: 0; 38 | } 39 | 40 | .fl-post-content ul, 41 | .fl-post-content ol { 42 | margin-top: 20px; 43 | margin-bottom: 20px; 44 | } 45 | 46 | ul li, 47 | .fl-widget ul li { 48 | display: list-item; 49 | margin-bottom: 5px; 50 | } 51 | 52 | hr { 53 | border: 0; 54 | border-collapse: collapse; 55 | border-top: 1px solid #ddd; 56 | clear: both; 57 | margin: 1em 0; 58 | } 59 | 60 | b, 61 | strong { 62 | font-weight: 700; 63 | } 64 | 65 | blockquote, 66 | cite, 67 | em, 68 | i { 69 | font-style: italic; 70 | } 71 | 72 | blockquote { 73 | margin: 40px; 74 | } 75 | 76 | blockquote::before { 77 | content: "\201C"; 78 | display: block; 79 | font-size: 30px; 80 | height: 0; 81 | left: -20px; 82 | position: relative; 83 | top: -10px; 84 | } 85 | 86 | address { 87 | margin-bottom: 0; 88 | } 89 | 90 | .text-uppercase .fl-heading { 91 | text-transform: uppercase; 92 | } 93 | 94 | /* ## Headings 95 | --------------------------------------------- */ 96 | 97 | h1, 98 | h2, 99 | h3, 100 | h4, 101 | h5, 102 | h6 { 103 | margin: 0 0 10px; 104 | } 105 | 106 | 107 | /* ## Tables 108 | --------------------------------------------- */ 109 | 110 | .table td, .table th { 111 | padding: 20px; 112 | vertical-align: top; 113 | border-top: 1px solid #000; 114 | border-top-width: 1px; 115 | border-top-style: solid; 116 | border-top-color: rgb(0, 0, 0); 117 | } 118 | 119 | 120 | /* ## Objects 121 | --------------------------------------------- */ 122 | 123 | embed, 124 | object, 125 | video { 126 | max-width: 100%; 127 | } 128 | 129 | figure { 130 | margin: 0; 131 | } 132 | 133 | /* Fix IE not scaling SVGs */ 134 | .ie9 img[src*=".svg"] { 135 | width: 100%; 136 | } 137 | 138 | @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 139 | img[src*=".svg"] { 140 | width: auto; 141 | } 142 | 143 | .fl-builder-content[data-shrink="1"] img { 144 | width: auto; 145 | height: 100%; 146 | } 147 | } 148 | 149 | /* ## Avatar 150 | --------------------------------------------- */ 151 | 152 | .avatar { 153 | float: left; 154 | border-radius: 50%; 155 | } 156 | 157 | /* ## Search Form 158 | --------------------------------------------- */ 159 | 160 | .search-form { 161 | overflow: hidden; 162 | } 163 | 164 | .post-password-form input[type="submit"], 165 | .search-form input[type="submit"] { 166 | margin-top: 10px; 167 | } 168 | 169 | .widget_search input[type="submit"] { 170 | border: 0; 171 | clip: rect(0, 0, 0, 0); 172 | height: 1px; 173 | margin: -1px; 174 | padding: 0; 175 | position: absolute; 176 | width: 1px; 177 | } 178 | 179 | /* ## Forms 180 | --------------------------------------------- */ 181 | 182 | input[type="checkbox"], 183 | input[type="image"], 184 | input[type="radio"] { 185 | width: auto; 186 | } 187 | 188 | ::-moz-placeholder { 189 | color: #333; 190 | font-weight: 300; 191 | opacity: 1; 192 | } 193 | 194 | ::-webkit-input-placeholder { 195 | color: #333; 196 | font-weight: 300; 197 | } 198 | 199 | button, 200 | input[type="button"], 201 | input[type="reset"], 202 | input[type="submit"], 203 | .button { 204 | padding: 10px 15px; 205 | font-size: 16px; 206 | } 207 | 208 | .button { 209 | display: inline-block; 210 | } 211 | 212 | input[type="search"]::-webkit-search-cancel-button, 213 | input[type="search"]::-webkit-search-results-button { 214 | display: none; 215 | } 216 | 217 | a.button.small, 218 | button.small, 219 | input[type="button"].small, 220 | input[type="reset"].small, 221 | input[type="submit"].small { 222 | padding: 8px 16px; 223 | } 224 | 225 | .fl-page button:disabled, 226 | .fl-page button:disabled:hover, 227 | .fl-page input:disabled, 228 | .fl-page input:disabled:hover, 229 | .fl-page input[type="button"]:disabled, 230 | .fl-page input[type="button"]:disabled:hover, 231 | .fl-page input[type="reset"]:disabled, 232 | .fl-page input[type="reset"]:disabled:hover, 233 | .fl-page input[type="submit"]:disabled, 234 | .fl-page input[type="submit"]:disabled:hover { 235 | background-color: #eee; 236 | border-width: 0; 237 | color: #777; 238 | cursor: not-allowed; 239 | } 240 | 241 | input[type=text], 242 | input[type=password], 243 | input[type=email], 244 | input[type=tel], 245 | input[type=date], 246 | input[type=month], 247 | input[type=week], 248 | input[type=time], 249 | input[type=number], 250 | input[type=search], 251 | input[type=url], 252 | textarea { 253 | display: block; 254 | width: 100%; 255 | padding: 6px 12px; 256 | font-size: 14px; 257 | line-height: 1.428571429; 258 | color: #555555; 259 | background-color: #f3f3f3; 260 | background-image: none; 261 | border: 1px solid #ccc; 262 | -moz-transition: all ease-in-out .15s; 263 | -webkit-transition: all ease-in-out .15s; 264 | transition: all ease-in-out .15s; 265 | -moz-box-shadow: none; 266 | -webkit-box-shadow: none; 267 | box-shadow: none; 268 | -moz-border-radius: 4px; 269 | -webkit-border-radius: 4px; 270 | border-radius: 4px; 271 | } 272 | 273 | input[type=text]:focus, 274 | input[type=password]:focus, 275 | input[type=email]:focus, 276 | input[type=tel]:focus, 277 | input[type=date]:focus, 278 | input[type=month]:focus, 279 | input[type=week]:focus, 280 | input[type=time]:focus, 281 | input[type=number]:focus, 282 | input[type=search]:focus, 283 | input[type=url]:focus, 284 | textarea:focus { 285 | background-color: #ffffff; 286 | border-color: #cccccc; 287 | outline: 0; 288 | -moz-box-shadow: none; 289 | -webkit-box-shadow: none; 290 | box-shadow: none; 291 | } 292 | 293 | /* Gravity Forms */ 294 | .gform_wrapper label.gfield_label { 295 | font-weight: 400 !important; 296 | font-size: inherit; 297 | } 298 | 299 | @media only screen and (min-width: 641px) { 300 | .gform_wrapper .top_label input.medium, 301 | .gform_wrapper .top_label select.medium { 302 | width: 100% !important; 303 | } 304 | } 305 | 306 | /* Gravity Forms Validation Color */ 307 | .gform_wrapper .gfield_required, 308 | .gform_wrapper .validation_message, 309 | .gform_wrapper .gfield_error .gfield_label, 310 | .gform_wrapper .gform_validation_errors > h2 { 311 | color: #790000 !important; 312 | } 313 | 314 | .gform_wrapper div.validation_error { 315 | color: #790000 !important; 316 | border-top: 2px solid #790000 !important; 317 | border-bottom: 2px solid #790000 !important; 318 | } 319 | 320 | .gform_wrapper li.gfield_error input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), 321 | .gform_wrapper li.gfield_error textarea, 322 | .gform_wrapper .gform_validation_errors, 323 | .gform_wrapper .gfield_validation_message, 324 | .gform_wrapper .validation_message, 325 | .gform_wrapper .gfield_error [aria-invalid="true"] { 326 | border: 1px solid #790000 !important; 327 | } 328 | 329 | .gform_wrapper li.gfield.gfield_error, 330 | .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning { 331 | background-color: rgba(255,223,224,.25); 332 | border-top: 1px solid #790000 !important; 333 | border-bottom: 1px solid #790000 !important; 334 | } 335 | 336 | .gform_wrapper.gravity-theme .gfield_label { 337 | font-weight: 400 !important; 338 | } 339 | 340 | .grecaptcha-badge { 341 | visibility: hidden; 342 | } 343 | 344 | /* # Buttons - Black-But example 345 | ---------------------------------------------------------------------------------------------------- */ 346 | /* lines up the button if parent is equal heights change >>>>> .the-row <<<<<< */ 347 | 348 | .fl-builder-content .the-row .fl-module-button { 349 | margin-top: auto; 350 | } 351 | 352 | .fl-builder-content .black-but a.fl-button, 353 | .fl-builder-content .black-but a.fl-button:visited, 354 | .fl-builder-content .black-but .fl-slide a.fl-button, 355 | .fl-builder-content .black-but .fl-slide a.fl-button:visited { 356 | background: #000; 357 | border: 1px solid #000; 358 | color: #fff; 359 | border-radius: 1px; 360 | padding: 7px 35px; 361 | } 362 | .fl-builder-content .black-but a.fl-button:hover, 363 | .fl-builder-content .black-but a.fl-button:focus, 364 | .fl-builder-content .black-but .fl-slide a.fl-button:hover, 365 | .fl-builder-content .black-but .fl-slide a.fl-button:focus { 366 | background: #fff; 367 | border: 1px solid #000; 368 | color: #000; 369 | } 370 | .fl-builder-content .black-but a.fl-button *, 371 | .fl-builder-content .black-but a.fl-button:visited, 372 | .fl-builder-content .black-but .fl-slide a.fl-button * { 373 | color: #fff !important; 374 | } 375 | .fl-builder-content .black-but a.fl-button:hover *, 376 | .fl-builder-content .black-but a.fl-button:focus * { 377 | color: #000 !important; 378 | } 379 | 380 | /* # Buttons - Button with chevron(add the icon) no background 381 | ---------------------------------------------------------------------------------------------------- */ 382 | 383 | .but-no-back a.fl-button, 384 | .but-no-back .fl-post-more-link a, 385 | .but-no-back .fl-post-grid-content a.fl-post-grid-more, 386 | .fl-builder-content .but-no-back a.fl-button * { 387 | border: none !important; 388 | border-radius: 0; 389 | background: transparent !important; 390 | color: #000 !important; 391 | padding: 0 !important; 392 | } 393 | 394 | .but-no-back a.fl-button:hover, 395 | .but-no-back .fl-post-grid-content a.fl-post-grid-more:hover, 396 | .but-no-back a.fl-button:hover * { 397 | color: #333; 398 | border: none; 399 | background: transparent; 400 | opacity: .8 !important; 401 | } 402 | 403 | .fl-builder-content .but-no-back i.fl-button-icon-after { 404 | margin-left: -3px; 405 | margin-right: 0; 406 | line-height: 0; 407 | } 408 | 409 | .but-no-back a:focus { 410 | outline: none !important; 411 | } 412 | 413 | /* # Skip Links 414 | ---------------------------------------------------------------------------------------------------- */ 415 | 416 | /* Display outline on focus */ 417 | :focus { 418 | color: #333; 419 | outline: #ccc solid 1px; 420 | } 421 | 422 | /* Read More 423 | ---------------------------------------------------------------------------------------------------- */ 424 | 425 | a.more-link, 426 | .fl-post-grid-content a.fl-post-grid-more, 427 | a.fl-post-more-link, 428 | a.fl-post-feed-more, 429 | a.fl-post-slider-feed-more { 430 | display:inline-block; 431 | font-size:14px; 432 | margin-top:10px; 433 | padding:10px 20px; 434 | border-radius:2px; 435 | color:#ffffff; 436 | background-color:#333333; 437 | -webkit-transition-property:opacity; 438 | transition-property: opacity; 439 | -webkit-transition-delay: 0.3s; 440 | transition-delay: 0.3s; 441 | -webkit-transition-duration: .5s; 442 | transition-duration: .5s; 443 | text-transform: uppercase; 444 | font-weight: 600; 445 | } 446 | 447 | a.more-link:hover, 448 | .fl-post-grid-content a.fl-post-grid-more:hover, 449 | a.fl-post-more-link:hover, 450 | a.fl-post-feed-more:hover, 451 | a.fl-post-slider-feed-more:hover { 452 | opacity:.8; 453 | color:#333333; 454 | background-color:#999999; 455 | } 456 | 457 | .more-link { 458 | position: relative; 459 | } 460 | 461 | /* Flex Controls 462 | ---------------------------------------------------------------------------------------------------- */ 463 | 464 | .flex-grow { 465 | flex-grow: 1; 466 | } 467 | 468 | /* Media Query Snippets 469 | ---------------------------------------------------------------------------------------------------- */ 470 | @media (max-width: 767px) { 471 | } 472 | 473 | @media (min-width: 768px) and (max-width:1079px) { 474 | } 475 | 476 | @media (min-width: 1080px) { 477 | } 478 | 479 | /* Client Colors 480 | ---------------------------------------------------------------------------------------------------- */ 481 | 482 | 483 | 484 | /* # Structure and Layout 485 | ---------------------------------------------------------------------------------------------------- */ 486 | 487 | 488 | 489 | 490 | /* # Site Header 491 | ---------------------------------------------------------------------------------------------------- */ 492 | 493 | .fl-page-nav-wrap { 494 | border-bottom: none; 495 | border-top: none; 496 | } 497 | 498 | @media (min-width: 992px) { 499 | .fl-page-nav-right .fl-page-header-wrap { 500 | border-bottom: none; 501 | } 502 | } 503 | 504 | .sub-menu li { 505 | text-align: left; 506 | } 507 | 508 | /* # Mobile Nav Using Beaver Theme In Built Button Option - changed background and added hamburger icon 509 | * Black and white example below 510 | ---------------------------------------------------------------------------------------------------- */ 511 | 512 | @media (max-width: 767px) { 513 | .fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle * { 514 | color: #000; 515 | text-transform: uppercase; 516 | } 517 | 518 | .fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle:before { 519 | content: '\f0c9'; 520 | font-family: 'Font Awesome 6 Free'; 521 | font-weight: 900; 522 | color: #000; 523 | } 524 | 525 | .fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle { 526 | display: block; 527 | background: transparent; 528 | color: #000; 529 | border: none; 530 | } 531 | 532 | .fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle:focus, 533 | .fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle:hover, 534 | .fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav .navbar-toggle:active { 535 | background: transparent; 536 | border: none; 537 | } 538 | } 539 | 540 | /* # Mobile Toggle Icon Nav Using Beaver Themer Option - changed color 541 | * Black example below 542 | ---------------------------------------------------------------------------------------------------- */ 543 | 544 | @media (max-width: 767px) { 545 | .fl-page .fl-menu-mobile-toggle * { 546 | color: #000; 547 | border: none; 548 | } 549 | 550 | .fl-page .fl-menu-mobile-toggle:hover { 551 | border: none; 552 | background: inherit; 553 | } 554 | 555 | .fl-page .fl-menu-mobile-toggle:hover * { 556 | color: #000; 557 | background: transparent !important; 558 | } 559 | 560 | .fl-menu-mobile-close, 561 | .fl-menu-mobile-close:hover, 562 | .fl-menu-mobile-close:focus { 563 | padding: 3px !important; 564 | border-radius: 50% !important; 565 | width: 35px !important; 566 | height: 35px !important; 567 | } 568 | } 569 | 570 | /* # Site Navigation 571 | ---------------------------------------------------------------------------------------------------- */ 572 | .default-cursor .fl-has-submenu-container > a{ 573 | cursor:default; 574 | } 575 | 576 | /* FrontPage Container Widgets 577 | ---------------------------------------------------------------------------------------------------- */ 578 | 579 | 580 | 581 | /* # Hero 582 | ---------------------------------------------------------------------------------------------------- */ 583 | 584 | 585 | 586 | /* # About 587 | ---------------------------------------------------------------------------------------------------- */ 588 | 589 | 590 | /* Entries 591 | --------------------------------------------- */ 592 | 593 | 594 | 595 | 596 | /* ## Archive Title & Description 597 | --------------------------------------------- */ 598 | 599 | .fl-archive-header { 600 | margin-bottom: 40px; 601 | } 602 | 603 | .fl-archive .fl-archive-title { 604 | font-size: 36px; 605 | margin: 0; 606 | padding-bottom: 0; 607 | border-bottom: none; 608 | } 609 | 610 | .fl-archive .fl-category-description { 611 | font-size: 16px; 612 | margin-bottom: 0; 613 | padding: 10px 0 0 0; 614 | border-bottom: none; 615 | } 616 | 617 | .fl-archive .fl-category-description p:last-child { 618 | margin-bottom: 0; 619 | } 620 | 621 | /* # Widgets 622 | ---------------------------------------------------------------------------------------------------- */ 623 | 624 | .fl-widget { 625 | word-wrap: break-word; 626 | margin-bottom: 60px; 627 | } 628 | 629 | .fl-widget ul li { 630 | margin-bottom: 8px; 631 | line-height: 1.3; 632 | } 633 | 634 | .fl-widget li li { 635 | border: 0; 636 | margin: 0 0 0 30px; 637 | padding: 0; 638 | } 639 | 640 | .fl-widget p:last-child, 641 | .fl-widget ul > li:last-of-type { 642 | margin-bottom: 0; 643 | } 644 | 645 | .fl-widget ul > li:last-of-type { 646 | padding-bottom: 0; 647 | } 648 | 649 | .fl-widget ol > li { 650 | list-style-position: inside; 651 | list-style-type: decimal; 652 | padding-left: 20px; 653 | text-indent: -20px; 654 | } 655 | 656 | /* Entry Meta 657 | --------------------------------------------- */ 658 | .fl-post-meta { 659 | font-size: 14px; 660 | } 661 | 662 | .fl-post-meta-bottom { 663 | font-style: normal; 664 | border-top: 1px solid #e6e6e6; 665 | margin-top: 20px; 666 | padding-top: 10px; 667 | } 668 | 669 | .fl-post-cats-tags span { 670 | display: block; 671 | } 672 | 673 | .single .fl-post-date::before, 674 | .single .fl-post-grid-date::before, 675 | .single .fl-post-feed-date::before { 676 | content: '\f017'; 677 | font-family: 'Font Awesome 6 Free'; 678 | color: #333; 679 | font-size: 25px; 680 | vertical-align: middle; 681 | padding-right: 3px; 682 | } 683 | 684 | .single .fl-post-grid-author:before { 685 | content: '\f007'; 686 | font-family: 'Font Awesome 6 Free'; 687 | font-weight: 900; 688 | color: #333; 689 | font-size: 25px; 690 | padding-left: 10px; 691 | vertical-align: middle; 692 | } 693 | 694 | .single .fl-comments-popup-link::before, 695 | .single .fl-post-feed-comments::before { 696 | content: '\f075'; 697 | font-family: 'Font Awesome 6 Free'; 698 | font-weight: 400; 699 | color: #333; 700 | font-size: 25px; 701 | padding-left: 10px; 702 | vertical-align: middle; 703 | padding-right: 3px; 704 | } 705 | 706 | .single .fl-post-feed-comments .fa-comment:before { 707 | content: ""; 708 | } 709 | 710 | .single .fl-entry-categories::before, 711 | .single .fl-post-info-terms::before { 712 | content: '\f07c'; 713 | font-family: 'Font Awesome 6 Free'; 714 | font-weight: 400; 715 | color: #333; 716 | font-size: 25px; 717 | vertical-align: middle; 718 | padding-right: 5px; 719 | } 720 | 721 | .single .fl-entry-tags::before, 722 | .single .fl-post-info-tags .fl-post-info-terms::before { 723 | content: '\f02c'; 724 | font-family: 'Font Awesome 6 Free'; 725 | font-weight: 900; 726 | color: #333; 727 | font-size: 25px; 728 | padding-right: 5px; 729 | vertical-align: sub; 730 | } 731 | 732 | /* Pagination 733 | --------------------------------------------- */ 734 | 735 | .pagination { 736 | display: block; 737 | clear: both; 738 | font-size: 14px; 739 | margin: 40px 0 0 20px; 740 | text-transform: uppercase; 741 | text-align: center; 742 | } 743 | 744 | .pagination li { 745 | display: inline; 746 | } 747 | 748 | .pagination a { 749 | background-color: #fff; 750 | border-radius: 3px; 751 | color: #000; 752 | cursor: pointer; 753 | display: inline-block; 754 | margin-bottom: 4px; 755 | padding: 8px 12px; 756 | } 757 | 758 | .pagination span.current { 759 | padding: 12px; 760 | border: 1px solid #aaaaaa; 761 | border-radius: 3px; 762 | } 763 | 764 | .pagination a:hover, 765 | .pagination a.active { 766 | background-color: #aaaaaa; 767 | color: #fff; 768 | } 769 | 770 | /* Comments 771 | --------------------------------------------- */ 772 | 773 | .comment-respond, 774 | .entry-pings { 775 | background-color: #fff; 776 | margin-bottom: 40px; 777 | } 778 | 779 | .comment-respond, 780 | .entry-pings { 781 | padding: 40px 0 16px; 782 | } 783 | 784 | .comment-header { 785 | font-size: 16px; 786 | } 787 | 788 | li.comment { 789 | background-color: #f5f5f5; 790 | border: 2px solid #fff; 791 | border-right: 0; 792 | } 793 | 794 | .comment-content { 795 | clear: both; 796 | word-wrap: break-word; 797 | } 798 | 799 | .comment-list li { 800 | margin-top: 24px; 801 | padding: 32px; 802 | } 803 | 804 | .comment-list li li { 805 | margin-right: -32px; 806 | } 807 | 808 | .comment-respond label { 809 | display: block; 810 | margin-right: 12px; 811 | } 812 | 813 | .entry-pings .reply { 814 | display: none; 815 | } 816 | 817 | .form-allowed-tags { 818 | background-color: #f5f5f5; 819 | font-size: 16px; 820 | padding: 24px; 821 | } 822 | 823 | /* Sidebars 824 | ---------------------------------------------------------------------------------------------------- */ 825 | 826 | .fl-sidebar { 827 | font-size: 16px; 828 | } 829 | 830 | .fl-sidebar li { 831 | margin-bottom: 10px; 832 | padding-bottom: 10px; 833 | } 834 | 835 | .fl-sidebar p:last-child, 836 | .fl-sidebar ul > li:last-child { 837 | margin-bottom: 0; 838 | } 839 | 840 | .fl-sidebar .fl-widget { 841 | background-color: #fff; 842 | margin-bottom: 40px; 843 | } 844 | 845 | /* Footer Widgets 846 | ---------------------------------------------------------------------------------------------------- */ 847 | 848 | .fl-page-footer-widgets-row p:last-child { 849 | margin-bottom: 0; 850 | } 851 | 852 | @media (max-width: 767px) { 853 | .site-footer-widgets-row .fl-heading, 854 | .site-footer-widgets-row .fl-icon-group-left, 855 | .site-footer-widgets-row .menu li, 856 | .site-footer-widgets-row .fl-rich-text p, 857 | .site-footer-widgets-row .fl-module-icon, 858 | .site-footer-widgets-row .fl-button-wrap, 859 | /* Non footer elements */ 860 | .fl-slide .fl-slide-content .fl-button-wrap, 861 | .fl-icon-group-right, 862 | .fl-icon-group-left { 863 | text-align: center !important; 864 | } 865 | 866 | .site-footer-widgets-row .uabb-business-hours-wrap { 867 | display: flex; 868 | flex-flow: row nowrap; 869 | justify-content: center; 870 | } 871 | 872 | .site-footer-widgets-row .uabb-business-day, 873 | .site-footer-widgets-row .uabb-business-hours { 874 | width: auto; 875 | } 876 | 877 | .site-footer-widgets-row .uabb-business-day { 878 | margin-right: 10px; 879 | } 880 | 881 | .custom-logo-link { 882 | display: block; 883 | text-align: center; 884 | } 885 | } 886 | 887 | .site-footer-row .menu .sub-menu { 888 | display: none !important; 889 | } 890 | 891 | /* Site Footer 892 | ---------------------------------------------------------------------------------------------------- */ 893 | 894 | .fl-page-footer { 895 | font-size: 13px; 896 | line-height: 1; 897 | padding: 5px 0; 898 | text-align: center; 899 | } 900 | 901 | .fl-page-footer p { 902 | margin-bottom: 0; 903 | } 904 | 905 | .fl-page-footer-container { 906 | padding-top: 10px; 907 | } 908 | 909 | .fl-page-footer-text { 910 | padding-bottom: 10px; 911 | } 912 | 913 | .site-footer-row p { 914 | margin-bottom: 0; 915 | font-size: 14px; 916 | } 917 | 918 | .site-footer-row .dashicons, 919 | footer .dashicons-heart { 920 | vertical-align: middle; 921 | } 922 | 923 | footer 924 | 925 | /* # Plugins 926 | ---------------------------------------------------------------------------------------------------- */ 927 | 928 | /* ## Jetpack 929 | --------------------------------------------- */ 930 | 931 | #wpstats { 932 | display: none; 933 | } 934 | 935 | /* Sticky Footer is Flexbox 936 | ---------------------------------------------------------------------------------------------------- */ 937 | .fl-page { 938 | display: -ms-flexbox; 939 | display:-webkit-flex; 940 | display:-webkit-box; 941 | display:flex; 942 | -ms-flex-direction:column; 943 | -webkit-flex-direction:column; 944 | -webkit-box-orient:vertical; 945 | -webkit-box-direction:normal; 946 | flex-direction:column; 947 | min-height:100vh; 948 | } 949 | 950 | .fl-page-content { 951 | -ms-flex:1; 952 | -webkit-flex:1; 953 | -webkit-box-flex:1; 954 | flex:1; 955 | width: 100%; 956 | word-wrap: break-word; 957 | } 958 | 959 | @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 960 | .fl-page { display: block; } /* IE10 & IE11 */ 961 | } 962 | 963 | /* CSS Snippets 964 | * Utility CLasses - Rows, Lists and Quotes 965 | *---------------------------------------------------------------------------------------------------- */ 966 | 967 | /* Align buttons across columns - make sure column Equal Heights is set for Flex 968 | * Add the align-button-row class to the row 969 | */ 970 | 971 | .align-button-row .fl-col-content .fl-module-button { 972 | margin-top: auto; 973 | } 974 | 975 | /* Center an uneven row - below is an example of 2 cols centered in a 3 col layout 976 | * Class is applied in Column Parent Column 977 | */ 978 | 979 | @media (min-width: 768px) { 980 | .two-row-three-parent .fl-col-group { 981 | display: flex; 982 | flex-flow: row wrap; 983 | justify-content: center; 984 | } 985 | 986 | .two-row-three-parent .fl-col-group .fl-col { 987 | width: 33% !important; 988 | flex: 0 0 auto; 989 | } 990 | } 991 | /* Split unordered list over 2 columns & 3 columns 992 | * 1st code is CSS cols, 2nd code is 2 text edit boxes with UL list in each 993 | ---------------------------------------------------------------------------------------------------- */ 994 | 995 | @media (min-width: 768px) { 996 | .three-column-list { 997 | column-count: 3; 998 | column-gap: 40px; 999 | } 1000 | 1001 | .two-column-list { 1002 | column-count: 2; 1003 | column-gap: 90px; 1004 | } 1005 | } 1006 | 1007 | @media (max-width:767px) { 1008 | /* Add into Column Class */ 1009 | .fl-builder .split-list ul { 1010 | margin-bottom: 0; 1011 | margin-top: 0; 1012 | } 1013 | 1014 | .fl-col-small.split-list .fl-module-content { 1015 | margin-bottom: 0; 1016 | padding-bottom: 0 !important; 1017 | } 1018 | 1019 | .fl-col-small + .fl-col-small.split-list .fl-module-content { 1020 | margin-top:0 !important; 1021 | margin-bottom: 20px; 1022 | } 1023 | } 1024 | 1025 | .no-list li { 1026 | list-style-type: none; 1027 | } 1028 | /* Flex Bullet List 2 Columns - surround 2 ul in a div with a .flex-bullet-list class */ 1029 | .flex-bullet-list { 1030 | display: flex; 1031 | flex-flow: row wrap; 1032 | justify-content: flex-start; 1033 | } 1034 | 1035 | .flex-bullet-list .fl-rich-text ul:first-of-type { 1036 | margin-bottom: 0; 1037 | } 1038 | 1039 | .flex-bullet-list .fl-rich-text ul+ul, 1040 | .flex-bullet-list ul+ul { 1041 | margin-top: 0; 1042 | } 1043 | 1044 | @media (min-width:768px) { 1045 | 1046 | .flex-bullet-list .fl-rich-text ul+ul, 1047 | .flex-bullet-list ul+ul { 1048 | margin-left: 40px; 1049 | margin-top: 20px; 1050 | } 1051 | 1052 | .flex-bullet-list ul, 1053 | .flex-bullet-list .fl-rich-text ul { 1054 | width: 45%; 1055 | min-width: 320px; 1056 | } 1057 | 1058 | .flex-bullet-list, 1059 | .flex-bullet-list .fl-rich-text { 1060 | flex-flow: row nowrap; 1061 | justify-content: center; 1062 | display: flex; 1063 | } 1064 | } 1065 | 1066 | @media (max-width: 767px) { 1067 | .entry-content .you-list ul, 1068 | .you-list ul { 1069 | margin-top: 0 !important; 1070 | margin-bottom: 0 !important; 1071 | } 1072 | } 1073 | 1074 | body.has-blocks .fl-post-content ul, 1075 | body.has-blocks .fl-post-content ol { 1076 | margin: inherit; 1077 | max-width: none; 1078 | list-style-position: inside; 1079 | } 1080 | /* Green Dots 1081 | ---------------------------------------------------------------------------------------------------- */ 1082 | 1083 | .green-dots .fl-module-content, 1084 | .green-dots .fl-module-content ul { 1085 | list-style-type: none; 1086 | /* Remove default bullets */ 1087 | } 1088 | 1089 | .green-dots .fl-module-content li::before { 1090 | content: "● "; 1091 | /* Add content: \2022 is the CSS Code/unicode for a bullet */ 1092 | color: #72bc44; 1093 | /* Change the color */ 1094 | font-weight: bold; 1095 | /* If you want it to be bold */ 1096 | display: inline-block; 1097 | /* Needed to add space between the bullet and the text */ 1098 | width: 1em; 1099 | /* Also needed for space (tweak if needed) */ 1100 | margin-left: -1em; 1101 | /* Also needed for space (tweak if needed) */ 1102 | } 1103 | 1104 | /* Icon Stuff 1105 | --------------------------------------------- */ 1106 | 1107 | /* Lists Using a tick icon as an example 1108 | --------------------------------------------- */ 1109 | 1110 | .fl-content .tick-list li, 1111 | .fl-page .tick-list li { 1112 | list-style-type: none; 1113 | margin-bottom: 10px; 1114 | position: relative; 1115 | } 1116 | 1117 | .tick-list li:before { 1118 | content: '\f00c'; 1119 | font-family: 'Font Awesome 6 Free'; 1120 | font-weight: 900; 1121 | padding-right: 5px; 1122 | color: #555555; 1123 | font-size: 22px; 1124 | position: absolute; 1125 | left: -35px; 1126 | top: -5px; 1127 | } 1128 | 1129 | 1130 | /* Icon Centre Icons 1131 | --------------------------------------------- */ 1132 | .icon-top .fl-icon { 1133 | display: block; 1134 | vertical-align: middle; 1135 | text-align: center; 1136 | margin-bottom: 20px; 1137 | } 1138 | 1139 | .icon-top .fl-icon i { 1140 | float: none; 1141 | } 1142 | 1143 | /* Flip FontAwsome phone icon */ 1144 | i.fa-phone{ 1145 | transform: rotate(110deg); 1146 | } 1147 | 1148 | .circle-border-icon .fl-icon i, 1149 | .circle-border-icon .fl-icon i:hover{ 1150 | border: 2px solid #000; 1151 | } 1152 | 1153 | /* Header Quote 1154 | ---------------------------------------------------------------------------------------------------- */ 1155 | .header-quote .fl-heading-text::before, 1156 | .header-quote .fl-post-title::before, 1157 | .header-quote .fl-post-grid-title::before, 1158 | .header-quote .fl-post-excerpt p:first-of-type::before, 1159 | .header-quote .fl-rich-text p:first-of-type::before, 1160 | .header-quote .pp-content-grid-post-excerpt p:first-of-type::before { 1161 | content: '\f205'; 1162 | font-family: 'dashicons'; 1163 | padding-right:10px; 1164 | font-size: 30px; 1165 | color: #333; 1166 | } 1167 | 1168 | .header-quote .fl-heading-text::after, 1169 | .header-quote .fl-post-excerpt p:last-of-type::after, 1170 | .header-quote .fl-rich-text p:last-of-type::after, 1171 | .header-quote .pp-content-grid-post-excerpt p:last-of-type::after { 1172 | content: '\f205'; 1173 | font-family: 'dashicons'; 1174 | transform: rotate(180deg); 1175 | margin-left: 10px; 1176 | display: inline-block; 1177 | font-size: 30px; 1178 | color: #333; 1179 | line-height: 0; 1180 | position: relative; 1181 | top: 10px; 1182 | } 1183 | 1184 | /* 1185 | * Shadows 1186 | ---------------------------------------------------------------------------------------------------- */ 1187 | 1188 | .bottom-shadow { 1189 | box-shadow: 0 15px 15px -15px #b9b9b9; 1190 | } 1191 | 1192 | .top-shadow { 1193 | box-shadow: 0 -15px 10px -15px #b9b9b9; 1194 | } 1195 | 1196 | .left-shadow { 1197 | box-shadow: -15px 0 10px -15px #b9b9b9; 1198 | } 1199 | 1200 | .right-shadow { 1201 | box-shadow: 15px 0 10px -15px #b9b9b9; 1202 | } 1203 | 1204 | .full-shadow { 1205 | -webkit-box-shadow: 0 0 15px 0 rgba(185,185,185,1); 1206 | -moz-box-shadow: 0 0 15px 0 rgba(185,185,185,1); 1207 | box-shadow: 0 0 15px 0 rgba(185,185,185,1); 1208 | } 1209 | 1210 | /* 1211 | * Transparent Overlays 1212 | * Example https: //electrixallblew.com.au/ 1213 | ---------------------------------------------------------------------------------------------------- */ 1214 | .trans-overlay .fl-row-content-wrap { 1215 | position: relative; 1216 | } 1217 | 1218 | .trans-overlay .fl-row-content-wrap::after { 1219 | content: ""; 1220 | background-color: rgba(255, 255, 255, .8); 1221 | width: 50%; 1222 | border-top-right-radius: 100px; 1223 | height: 70%; 1224 | bottom: 0; 1225 | position: absolute; 1226 | left: 0; 1227 | display: block; 1228 | top: unset; 1229 | } 1230 | 1231 | @media(max-width:1100px) { 1232 | .trans-overlay .fl-row-content-wrap::after { 1233 | width: 70%; 1234 | } 1235 | } 1236 | 1237 | @media(max-width:767px) { 1238 | .trans-overlay .fl-row-content-wrap::after { 1239 | width: 100%; 1240 | border-top-right-radius: 0; 1241 | height: 100%; 1242 | } 1243 | } 1244 | 1245 | /* Offset Anchor Sticky Header 1246 | * Add HTML --> 1247 | ---------------------------------------------------------------------------------------------------- */ 1248 | 1249 | a.anchor { 1250 | display: block; 1251 | position: relative; 1252 | top: -250px; 1253 | visibility: hidden; 1254 | } 1255 | 1256 | /* Builder & Bootstrap Stuff 1257 | ---------------------------------------------------------------------------------------------------- */ 1258 | /* Remove BB tooltips */ 1259 | * .fl-help-tooltip{ 1260 | display: none !important; 1261 | } 1262 | /* Remove BB Draft button */ 1263 | .fl-builder-button-group [data-action="draft"] { 1264 | display: none; 1265 | } 1266 | 1267 | .fl-builder-edit .collapse:not(.show) { 1268 | display: block; 1269 | } 1270 | 1271 | /* Full Icon Canvas */ 1272 | .fl-icon-selector .fl-lightbox { 1273 | height: 100%; 1274 | width: 100%; 1275 | margin-top: 0 !important; 1276 | } 1277 | 1278 | /* Toggle when using Bootstraps Collapse 1279 | --------------------------------------------- */ 1280 | a[aria-expanded="true"]::after { 1281 | content: '\f077'; 1282 | font-family: 'Font Awesome 6 Free'; 1283 | font-weight: 900; 1284 | color: #32407b; 1285 | font-size: 13px; 1286 | margin-left: 5px; 1287 | } 1288 | 1289 | a[aria-expanded="false"]::after { 1290 | content: '\f054'; 1291 | font-family: 'Font Awesome 6 Free'; 1292 | font-weight: 900; 1293 | color: #32407b; 1294 | margin-left: 5px; 1295 | font-size: 13px; 1296 | } 1297 | 1298 | /* Print Styles 1299 | ---------------------------------------------------------------------------------------------------- */ 1300 | 1301 | @media print { 1302 | 1303 | *, 1304 | *:before, 1305 | *:after { 1306 | background: transparent !important; 1307 | box-shadow: none !important; 1308 | color: #000 !important; 1309 | text-shadow: none !important; 1310 | } 1311 | 1312 | a, 1313 | a:visited { 1314 | text-decoration: underline; 1315 | } 1316 | 1317 | abbr[title]:after { 1318 | content: " (" attr(title) ")"; 1319 | } 1320 | 1321 | a[href^="javascript:"]:after, 1322 | a[href^="#"]:after, 1323 | .site-title > a:after { 1324 | content: ""; 1325 | } 1326 | 1327 | thead { 1328 | display: table-header-group; 1329 | } 1330 | 1331 | img, 1332 | tr { 1333 | page-break-inside: avoid; 1334 | } 1335 | 1336 | img { 1337 | max-width: 100% !important; 1338 | } 1339 | 1340 | @page { 1341 | margin: 2cm 0.5cm; 1342 | } 1343 | 1344 | p, 1345 | h2, 1346 | h3 { 1347 | orphans: 3; 1348 | widows: 3; 1349 | } 1350 | 1351 | blockquote, 1352 | pre { 1353 | border: 1px solid #999; 1354 | page-break-inside: avoid; 1355 | } 1356 | 1357 | button, 1358 | input, 1359 | select, 1360 | textarea, 1361 | .breadcrumb, 1362 | .comment-edit-link, 1363 | .comment-form, 1364 | .comment-list .reply a, 1365 | .comment-reply-title, 1366 | .edit-link, 1367 | .entry-comments-link, 1368 | .entry-footer, 1369 | .hidden-print, 1370 | .fl-page-nav-col, 1371 | .post-edit-link, 1372 | .fl-sidebar { 1373 | display: none !important; 1374 | } 1375 | 1376 | h1, 1377 | h2, 1378 | h3, 1379 | h4, 1380 | h5, 1381 | h6 { 1382 | orphans: 3; 1383 | page-break-after: avoid; 1384 | page-break-inside: avoid; 1385 | widows: 3; 1386 | } 1387 | 1388 | img { 1389 | page-break-after: avoid; 1390 | page-break-inside: avoid; 1391 | } 1392 | 1393 | blockquote, 1394 | pre, 1395 | table { 1396 | page-break-inside: avoid; 1397 | } 1398 | 1399 | dl, 1400 | ol, 1401 | ul { 1402 | page-break-before: avoid; 1403 | } 1404 | } -------------------------------------------------------------------------------- /templates/gravity-html.html: -------------------------------------------------------------------------------- 1 |
3 | 5 | 6 | 7 | 17 | 18 | 19 | 62 | 63 | 64 | 80 | 81 | 82 |
10 | 16 |
22 | 23 | 24 | 25 | 58 | 59 | 60 |
26 | 27 | 28 | 29 | 30 | 53 | 54 | 55 |
31 | 32 | 33 | 34 | 35 | 48 | 49 | 50 |
36 |
38 | 39 | Hi {Name (First):1.3}, 40 | 41 | Thanks for your reply 42 | 43 | Regards 44 | This Website 45 | 46 |
47 |
51 | 52 |
56 | 57 |
61 |
83 |
-------------------------------------------------------------------------------- /webfonts/stylesheet.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Avenir Book'; 3 | src: url('AvenirLTStd-Book.woff2') format('woff2'), 4 | url('AvenirLTStd-Book.woff') format('woff'); 5 | font-weight: normal; 6 | font-style: normal; 7 | } 8 | 9 | 10 | @font-face { 11 | font-family: 'Avenir Roman'; 12 | src: url('AvenirLTStd-Roman.woff2') format('woff2'), 13 | url('AvenirLTStd-Roman.woff') format('woff'); 14 | font-weight: normal; 15 | font-style: normal; 16 | } 17 | 18 | 19 | @font-face { 20 | font-family: 'Avenir Bold'; 21 | src: url('AvenirLTStd-Heavy.woff2') format('woff2'), 22 | url('AvenirLTStd-Heavy.woff') format('woff'); 23 | font-weight: 700; 24 | font-style: normal; 25 | } 26 | 27 | 28 | @font-face { 29 | font-family: 'Avenir Black'; 30 | src: url('AvenirLTStd-Black.woff2') format('woff2'), 31 | url('AvenirLTStd-Black.woff') format('woff'); 32 | font-weight: 900; 33 | font-style: normal; 34 | } 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | --------------------------------------------------------------------------------