;s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://poststatus.com/wordpress-certifications/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:107:\"What are your thoughts about WordPress certification? Join the call for testing FSE Category Customization.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 15 Jul 2022 18:42:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Courtney Robertson\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"Do The Woo Community: WooBits: The Enigma of WordPress and WooCommerce Partnerships\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=72423\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"https://dothewoo.io/the-enigma-of-wordpress-and-woocommerce-partnerships/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:448:\"<p>A partnership can be misunderstood or simply a mystery. I talk about my experiences while breaking it down into four partnership models. </p>\n<p>&gt;&gt; The post <a rel=\"nofollow\" href=\"https://dothewoo.io/the-enigma-of-wordpress-and-woocommerce-partnerships/\">WooBits: The Enigma of WordPress and WooCommerce Partnerships</a> appeared first on <a rel=\"nofollow\" href=\"https://dothewoo.io\">Do the Woo - a WooCommerce Builder Community</a>	.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 15 Jul 2022 09:10:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Post Status: Post Status Picks for the Week of July 11\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://poststatus.com/?p=101522\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"https://poststatus.com/podcast-picks-july-11-2022/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:354:\"From WP Tavern\'s Jukebox, it’s Felix Arntz on WordPress performance and what can be done now and in the future about it. Seeking Satisfaction has Tony Perez sharing his journey building, growing, and exiting Sucuri. The Shop Talk Show hosts a discussion about headless CMS platforms, including WordPress, and a little on WordPress and web components...\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 15 Jul 2022 02:13:48 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Dan Knauss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"WPTavern: WordPress Seeks User Input on Homepage and Download Page Redesign Project\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=136203\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"https://wptavern.com/wordpress-seeks-user-input-on-homepage-and-download-page-redesign-project\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4831:\"<p>WordPress.org hasn&#8217;t seen a redesign <a href=\"https://wptavern.com/wordpress-org-launches-homepage-redesign\">since 2016</a>, when it went from sketches to prototype to live in a matter of a couple weeks. In six years, the software has undergone a metamorphosis by adopting a new block paradigm that should be reflected in its website. Contributors are now looking at giving the <a href=\"https://wordpress.org/\">homepage</a> and <a href=\"https://wordpress.org/download/\">download page</a> a design overhaul that showcases its new capabilities. </p>\n\n\n\n<p>&#8220;Since then, WordPress has seen a lot of changes, including the Gutenberg editor, Full Site Editor, block themes, and more,&#8221; Automattic-sponsored marketing team rep Nicholas Garofalo said. &#8220;All of these have revolutionized WordPress in the past few years, and the brand is starting to modernize and evolve as well.&#8221;</p>\n\n\n\n<p>Earlier this year WordPress.org <a href=\"https://wptavern.com/wordpress-news-gets-a-new-design\">launched design updates for the news</a> and <a href=\"https://make.wordpress.org/design/2021/10/29/redesign-of-the-gutenberg-page/\">Gutenberg</a> pages. &#8220;There’s a ton of room to expand and evolve this look as we turn our attention to other parts of the site,&#8221; Garofalo said.</p>\n\n\n\n<p>The designers working on the project are particularly interested in hearing from WordPress.org users about what they want to see on the homepage, which means everyday users are welcome to contribute their thoughts and suggestions.</p>\n\n\n\n<p>The Download page <a href=\"https://web.archive.org/web/20210106091723/https://wordpress.org/download/\">used to prominently feature the download button at the top of the page</a>, but sometime in mid-January 2021, it was pushed further down below recommended hosts. This was presumably to help people who want to set up a self-hosted site but don’t know where to get started but doesn&#8217;t make sense for those who came there to download the software. A transparent approach to redesigning this page would be appreciated, as changes like this are not always publicly documented. </p>\n\n\n\n<p>So far, only a handful of full-time contributors have weighed in on the upcoming redesign in the comments of the post.</p>\n\n\n\n<p>&#8220;I’d love to see the design showcase the modernization of the site editor and layout capabilities – even going so far as to do things many haven’t seen before, while also taking a moment to use words to describe why WordPress is so important in site-building,&#8221; Automattic-sponsored marketing contributor Dan Soschin said. &#8220;It provides freedom, empowerment, and democracy in publishing. And what’s more, you can be technical or not technical, and still achieve all your goals.&#8221;</p>\n\n\n\n<p>Soschin also suggested that the Download page offer more of an explanation on what it takes to self-host WordPress by either posting steps or directing visitors to guides and resources. </p>\n\n\n\n<p>Automattic-sponsored design team contributor Javier Arce had a unique idea of making the page with patterns in sections that users can copy and paste into their own websites.</p>\n\n\n\n<p>&#8220;Since the website is made using WordPress and it’ll have a refreshed and modern look, I think it would be very cool not only to advertise that fact (&#8216;hey, so this fantastic site you are on right now was made entirely with the software you came here to download!&#8217;)… but also to allow people to grab the patterns used for each section… maybe even from the page itself, in a sort of self-referential nod to the platform,&#8221; Arce said.</p>\n\n\n\n<p>Several contributors commented requesting the homepage highlight the community, &#8220;since the vibrant, active WP community is such a huge differentiator,&#8221; Automattic-sponsored marketing contributor Jonathan Pantani said.</p>\n\n\n\n<p>&#8220;Aside from the power of the software itself and what it can do, there’s the whole community of people that have been coming together regularly to share in a movement,&#8221; Automattic-sponsored marketing contributor Lauren Stein said. &#8220;This currently feels like it’s downplayed. I think it would be wonderful if it were highlighted more.&#8221;</p>\n\n\n\n<p>This project needs more diverse input from contributors across the ecosystem and regular WordPress users who visit the website. If you have thoughts or suggestions, you can<a href=\"https://make.wordpress.org/design/2022/07/08/project-kickoff-wordpress-org-homepage-and-download-page-redesign/\"> comment directly on the post</a> and watch for future discussions on WordPress&#8217; <a href=\"https://make.wordpress.org/design/\">design</a>, <a href=\"https://make.wordpress.org/marketing/\">marketing</a>, and <a href=\"https://make.wordpress.org/meta/\">meta</a> blogs.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 14 Jul 2022 20:07:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:118:\"WPTavern: WordPress Performance Team Proposes Adding Persistent Object Cache and Full Page Cache to Site Health Checks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=136193\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:129:\"https://wptavern.com/wordpress-performance-team-proposes-adding-persistent-object-cache-and-full-page-cache-to-site-health-checks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1678:\"<p>In the near future, WordPress may be able to provide better caching recommendations for site owners. Performance team contributors are <a href=\"https://make.wordpress.org/core/2022/07/13/proposal-persistent-object-cache-and-full-page-cache-site-health-checks/\">proposing</a> two new Site Health checks for Persistent Object Cache and Full Page Cache. The modules have been tested inside the <a href=\"https://wordpress.org/plugins/performance-lab/\">Performance Lab plugin</a> and version 1.2.0 has them both in a state the team says is ready for merging into core.</p>\n\n\n\n<p>Here is an example of what users might see on the Site Health screen if page caching is not detected:</p>\n\n\n\n<img />\n\n\n\n<p>The modules are extensible so hosting companies and developers can further customize the output that users see. Performance team contributor Manuel Rodriguez detailed a few ways to use the filters:</p>\n\n\n\n<ul><li>Hosts may want to replace the notes to recommend their preferred object caching solution.</li><li>Hosts may want to replace the original link to WordPress documentation with a link to  their own guide.</li><li>Hosts or site owners may want to bypass thresholds and force suggestions, or filter them to determine whether to suggest the use of a persistent object cache.</li><li>Developers can filter the threshold below which a response time is considered good.</li></ul>\n\n\n\n<p>The team is targeting WordPress 6.1 for merging the modules into core. The proposed modules are just two of many more planned enhancements and improvements to <a href=\"https://github.com/WordPress/performance/labels/%5BFocus%5D%20Site%20Health\">Site Health audits and reports</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 14 Jul 2022 17:42:16 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"Do The Woo Community: A WooCommerce Migration and Multisite Case Study with Multidots\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=72408\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"https://dothewoo.io/a-woocommerce-migration-case-study-with-multidots/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:424:\"<p>Multiple sites and over 3k users, Aslam, Ajay and Chirag walk us through this challenging project with RHRSwag.com</p>\n<p>&gt;&gt; The post <a rel=\"nofollow\" href=\"https://dothewoo.io/a-woocommerce-migration-case-study-with-multidots/\">A WooCommerce Migration and Multisite Case Study with Multidots</a> appeared first on <a rel=\"nofollow\" href=\"https://dothewoo.io\">Do the Woo - a WooCommerce Builder Community</a>	.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 14 Jul 2022 09:32:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:82:\"WPTavern: Axton: A Free Block-based Portfolio Theme with Full-Site Editing Support\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=136100\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"https://wptavern.com/axton-a-free-block-based-portfolio-theme-with-full-site-editing-support\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3017:\"<p><a href=\"https://wordpress.org/themes/axton/\">Axton</a> is a beautiful new addition to the WordPress Themes Directory from the team at <a href=\"https://catchthemes.com/\">Catch Themes</a>. Those who have been waiting for more full-site editing-enabled themes that go beyond a simple blogging layout should have a look at Axton, as it  is suitable for a portfolio, photography showcase, or even a business website. </p>\n\n\n\n<p>The theme boasts more than 15 block patterns, 17 full-site editing (FSE) templates, and nine template parts. Users can showcase their work with Header media, Hero Content, and Featured Content patterns anywhere on the site. </p>\n\n\n\n<img />\n\n\n\n<p>The entirety of the <a href=\"https://fse.catchthemes.com/axton/\">theme&#8217;s demo</a> site is available in pieces as patterns, so users can drag and drop and mix and match them to suit their needs. Even the style guide can be placed in the content via a pattern. Axton&#8217;s header is also available as the &#8220;Header with Search Bar&#8221; pattern that places the blocks in a pre-designed arrangement that is perfectly responsive on different device sizes.</p>\n\n\n\n<p>After activating the theme, the Customize button launches the Site Editor with a homepage that nearly matches the demo so that users don&#8217;t have to start from a blank slate. </p>\n\n\n\n<p>Some layout options that users might previously have implemented via a page template prior to FSE, are now available as customizable patterns. For example, Axton offers &#8220;Blog Sidebar on Left&#8221; and &#8220;Blog Sidebar on Right&#8221; patterns that can be placed within a template and users can easily manipulate the alignments, background color, typography, and more </p>\n\n\n\n<img />\n\n\n\n<p>The &#8220;Contact Us&#8221; pattern works with the Contact Form 7 plugin. Users are prompted to install it after placing the pattern.</p>\n\n\n\n<img />\n\n\n\n<p>Axton includes 17 full-site editing templates and nine template parts that enable users to quickly make changes to the layouts of the front page, single posts, the blog page, search results, and more. It also includes a Blank template for a clean slate when creating completely custom pages.</p>\n\n\n\n<img />\n\n\n\n<p>Overall, Axton is a beautifully designed theme that gives users a strong starting point for launching a portfolio or business website with more flexibility and template options than most sites will ever need. Catch Themes also has a Pro plugin that includes custom blocks for a Case Study, Popup Video, Tabs, Masonry, Header Search, and a Skills Bar, along with advanced patterns like pricing tables, logo display, and testimonials.</p>\n\n\n\n<p>Check out the <a href=\"https://catchthemes.com/themes/axton/#theme-instructions\">documentation</a> on the Catch Themes website for a tour of how to use the theme&#8217;s features. <a href=\"https://wordpress.org/themes/axton/\">Axton</a> is available for free from the WordPress Themes Directory. Its release brings the directory&#8217;s count of block themes to 94.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 14 Jul 2022 03:21:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"WPTavern: #34 – Felix Arntz on WordPress and Performance\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=136028\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"https://wptavern.com/podcast/34-felix-arntz-on-wordpress-and-performance\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:37411:\"<p>On the podcast today we have <a href=\"https://profiles.wordpress.org/flixos90/\">Felix Arntz</a>.</p>\n\n\n\n<p>Felix is a Developer Relations Engineer at Google and a WordPress core committer. He is the lead engineer for the Site Kit plugin for WordPress and has been a regular contributor to WordPress for several years.</p>\n\n\n\n<p>He’s also been involved in the newly created WordPress performance team which is trying to work out how WordPress can stay ahead of the performance curve.</p>\n\n\n\n<p>Despite the fact that WordPress’ share of the CMS market is very strong, third-party CMS’s like Wix and Shopify have been growing their customer base in recent years. As single platforms, they can be very focused upon performance and don’t have to worry about the possible performance issues which the plugin and theme architecture of WordPress brings. Is this something that we need to be concerned about? Are website clients beginning to ask more probing questions about performance, and is WordPress keeping up with the marketing and messaging?</p>\n\n\n\n<p>He also talks today about why it’s important for the whole WordPress community to be thinking about performance when building any website. It’s no secret that Google and other search engines are very interested in making the web faster, and future rankings could well be boosted by having a performant site. So we talk through some of the ways that this can be achieved.</p>\n\n\n\n<p>We also talk about Felix’s career, the fact that there’s an emerging industry of people who are able to work exclusively on website performance, and earn their living from this expertise. This could be in the writing of code, the optimisation of assets as well as the configuration of hosting options. Felix recommends some things which might be of use for people wishing to find out more.</p>\n\n\n\n<p>It’s an interesting conversation about an area which is going to matter more and more in the months and years to come.</p>\n\n\n\n<h2>Useful links.</h2>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/google-site-kit/\">Site Kit Plugin</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2021/10/28/wordpress-performance-team-kick-off/\">WordPress Performance Team kick off</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2022/03/07/the-performance-lab-plugin-has-been-released/\">The Performance Lab plugin has been released</a></p>\n\n\n\n<p><a href=\"https://europe.wordcamp.org/2022/session/prioritizing-performance-in-an-open-source-cms-ecosystem/\">Enhancing performance in an open-source CMS ecosystem</a></p>\n\n\n\nTranscript<div>\n<p>[00:00:00] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case why performance matters when creating WordPress websites?</p>\n\n\n\n<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to WPTavern.com forward slash feed forward slash podcast. And you can copy and paste that URL into most podcast players. If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m very keen to hear from you and hopefully get you, or your idea featured on the show. Go to WPTavern.com forward slash contact forward slash jukebox. And use the contact form there.</p>\n\n\n\n<p>So on the podcast today we have Felix Arntz. Felix is a developer relations engineer at Google and a WordPress core committer. He&#8217;s the lead engineer for the Site Kit plugin for WordPress, and has been a regular contributor to WordPress for several years. He&#8217;s also been involved in the newly created WordPress performance team, which is trying to work out how WordPress can stay ahead of the performance curve.</p>\n\n\n\n<p>Despite the fact that WordPress&#8217; has share of the CMS market is very strong, third party CMSs like Wix and Shopify have been growing their customer base in recent years. As single platforms they can be very focused upon performance and don&#8217;t have to worry about the possible performance issues, which the plugin and theme architecture of WordPress brings. Is this something that we need to be concerned about? Are website clients beginning to ask more probing questions about performance? And is WordPress keeping up with the marketing and messaging?</p>\n\n\n\n<p>He also talks about why it&#8217;s important for the whole WordPress community to be thinking about performance when building any website. It&#8217;s no secret that Google and other search engines are very interested in making the web faster. And future rankings could well be boosted by having a performant site. So we talked through some of the ways that this can be achieved.</p>\n\n\n\n<p>We also talk about Felix&#8217;s career. The fact that there&#8217;s an emerging industry of people who are able to work exclusively on website performance and earn their living from this expertise. This could be in the writing of code, the optimization of assets, as well as the configuration of hosting options. Felix recommends some things which might be of use for people wishing to find out more. It&#8217;s an interesting conversation about an area which is going to matter more and more in the months and years to come.</p>\n\n\n\n<p>Typically when we record the podcast, there&#8217;s not a lot of background noise, but that&#8217;s not always the case with these WordCamp Europe interviews. We were competing against the crowds and the air conditioning. And whilst the podcasts are more than listable, I hope that you understand that the vagaries of the real world were at play.</p>\n\n\n\n<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading over to WPTavern.com forward slash podcast, where you&#8217;ll find all of the other episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Felix Arntz.</p>\n\n\n\n<p>I am joined on the podcast today by Felix Arntz. How are you doing?</p>\n\n\n\n<p>[00:03:59] <strong>Felix Arntz:</strong> Pretty great. It&#8217;s amazing to be back at the in person event. It&#8217;s crazy.</p>\n\n\n\n<p>[00:04:03] <strong>Nathan Wrigley:</strong> There are 2000, I think 2,700 people and it actually feels like a lot more, but it&#8217;s a spectacular event.</p>\n\n\n\n<p>You are working at Google. Am I right in saying that? What&#8217;s your role over at Google?</p>\n\n\n\n<p>[00:04:13] <strong>Felix Arntz:</strong> I&#8217;m a developer relations engineer, so yeah, I work on specifically focused on content management systems. Like of course WordPress, primarily. So yeah, I&#8217;m working in the, primarily in the WordPress ecosystem.</p>\n\n\n\n<p>[00:04:25] <strong>Nathan Wrigley:</strong> Yeah.</p>\n\n\n\n<p>[00:04:25] <strong>Felix Arntz:</strong> And, my two main projects currently are the Site Kit plugin, Google Site Kit plugin, which is, you may have heard of. It&#8217;s Google&#8217;s flagship plugin for WordPress and the new performance team, which was fairly recently formed.</p>\n\n\n\n<p>[00:04:36] <strong>Nathan Wrigley:</strong> Did you have a background in WordPress or were you Google first and then WordPress a bit later? Or was it WordPress first and Google later?</p>\n\n\n\n<p>[00:04:42] <strong>Felix Arntz:</strong> I come from the WordPress community. My first WordCamp was WordCamp Europe seven years ago, and then I joined the contributor day and I got to contribute and really got hooked on doing that. I got my first props for WordPress Core contributions back then, and I never stopped contributing since.</p>\n\n\n\n<p>[00:04:59] <strong>Nathan Wrigley:</strong> It, kind of feels like if you were to rewind the clock that far, maybe a bit further, that Google and WordPress, there wasn&#8217;t really a connection there. it was one of many CMSs, but maybe I&#8217;ve got the timeline wrong there, but it does feel now as if Google is treating WordPress very seriously indeed.</p>\n\n\n\n<p>You know, obviously with the market share being what it is, it&#8217;s good to get in there. Is that the case? Does it see WordPress as an important part of the ecosystem?</p>\n\n\n\n<p>[00:05:23] <strong>Felix Arntz:</strong> Yeah, absolutely. I think historically it&#8217;s, it has not always been as much as that, as it has been since, I don&#8217;t know, 2017, 18, I think that&#8217;s where this really started. And yeah, that&#8217;s where Google started actively focusing more on WordPress. There had been smaller efforts here and there before, but that&#8217;s when it really started. And I started working for Google in the end of 2018, and with a few other people from the WordPress community.</p>\n\n\n\n<p>[00:05:46] <strong>Nathan Wrigley:</strong> Well, your involvement in WordCamp Europe is all about performance and, I would imagine most people, and I&#8217;m gonna say that me included basically, I don&#8217;t really understand it. I know that it&#8217;s important. I know that performance matters, and I know that everybody is, has been talking about it for the last, let&#8217;s say eighteen, twenty months, specifically around Core Web Vitals and things like that, where we, we suddenly felt like the sky was falling in and everything needed to be rebuilt.</p>\n\n\n\n<p>How important, does it really matter? And what I mean by that is if I&#8217;m just starting up a local website for a local shop and I can sort of rely on traffic to come to that website. Does it have any impact at all, or is this really just about the search engine? The search results for Google? So I&#8217;m trying to strike a balance with where we need to apply the most effort. So for most people it would be designing the website in the first place and things like SEO possibly, and performance possibly they come much further down the pecking order of what they want to worry about.</p>\n\n\n\n<p>What&#8217;s your insight? Is it super important or is it a thing that we can leave till a little bit later?</p>\n\n\n\n<p>[00:06:47] <strong>Felix Arntz:</strong> I would say that performance and SEO have a little bit of similarity just in the sense that they both actually affect, they should affect, user experience. The end user experience of the people that visit the site.</p>\n\n\n\n<p>So search engine optimization in that sense is a little bit of a misleading term I would argue, because of course you are optimizing for the search engine, but the search engines, the different search engines, they try to be, they try to have algorithms that as close as possible kind of represent how the user would experience the site.</p>\n\n\n\n<p>And when you optimize for search engines, if you do it in the proper way you would also be optimizing for the end users. There&#8217;s of course those things like black hat SEO, where you stuff keywords, and that doesn&#8217;t do anything nice for end user. And that&#8217;s the way that you should not do SEO.</p>\n\n\n\n<p>And when you do improved performance, it now has, yeah, it has certain impact on the search engines, but mainly it is a priority because of the end user experience.</p>\n\n\n\n<p>[00:07:41] <strong>Nathan Wrigley:</strong> Okay. So, this is a ridiculous question, but I&#8217;m gonna ask it anyway. What are the key bits, what are the key bits of the jigsaw that make up performance? If you were to put yourself in front of a typical WordPress user. So somebody who basically doesn&#8217;t really perhaps know anything about performance, what would be the things that you would say, okay, here&#8217;s the first two or three things that you need to be worrying about?</p>\n\n\n\n<p>[00:08:02] <strong>Felix Arntz:</strong> I feel like at a high level a lot of people think about performance, just about how fast the page loads. That is probably, maybe the most essential of the different high level areas of what is performance. But I think it&#8217;s also, it is very important to, there&#8217;s two other, I would argue high level aspects, which are key for performance.</p>\n\n\n\n<p>And I take performance again, in that sense, it&#8217;s a, it&#8217;s a major part of user experience. Another part of it is layout shifts. So I feel like everybody that&#8217;s probably listening to this has experienced this thing that they click on a button on a website and it, while they want to click the moment it clicks, it moves away and then you click on some ad instead or something like that.</p>\n\n\n\n<p>[00:08:40] <strong>Nathan Wrigley:</strong> Maybe by design.</p>\n\n\n\n<p>[00:08:41] <strong>Felix Arntz:</strong> Maybe yeah, yeah, sometimes. But yeah, this is a very bad user experience and not having this kind of experience is also contributing to a solid performance. I would really put performance to a degree similar with user experience. It&#8217;s a part of user experience.</p>\n\n\n\n<p>The third part to performance is how fast the page responds when you do something on it. If you scroll and it&#8217;s, if you move the scroll wheel and it scrolls four seconds later, that&#8217;s not great either. So those are the three tiers to performance, in my opinion. Like the loading performance, the avoiding layout shifts and how fast the page responds to your actions.</p>\n\n\n\n<p>[00:09:15] <strong>Nathan Wrigley:</strong> The beautiful thing about WordPress is that you can download WordPress and it basically comes vanilla. And you can throw as many things as you like on top of it, plugin, themes, blocks, increasingly and so on. And of course, each of those things has a, perhaps tiny, but maybe major impact.</p>\n\n\n\n<p>And I feel that it&#8217;s quite a difficult thing to understand in WordPress, what performance is. If you go to, and we&#8217;ll get onto this, we&#8217;ll develop this a bit later. If you go to a proprietary CMS, something where it&#8217;s a SaaS. You pay your fixed monthly fee or what have you, and they take care of all of that.</p>\n\n\n\n<p>There&#8217;s nothing to worry about, but it seems like there&#8217;s a myriad of things, possibly dozens of things that you could do to your WordPress site. I feel that that&#8217;s a difficulty. That&#8217;s a problem that WordPress has got to overcome because there&#8217;s no one size fits all. No two WordPress sites are the same.</p>\n\n\n\n<p>So it&#8217;s that puzzle of unpicking. Okay, on my site, what are the things that I need to do to address it? Do you think that is an actual problem? Have we got ourselves to the point where WordPress is, because of its nature, because you can throw anything at it. It&#8217;s more difficult to untangle that mess?</p>\n\n\n\n<p>[00:10:16] <strong>Felix Arntz:</strong> Certainly yes. So I would say by the nature of WordPress that, because there&#8217;s endless possibilities. There&#8217;s endless possibilities to do whatever you want to do, but, there&#8217;s also endless possibilities to mess up performance or any, any best practice for that matter on your WordPress site, because you kind of have full control about everything.</p>\n\n\n\n<p>In those other type of platforms, which like SaaS or proprietary or whatever you call them, yeah it&#8217;s all, it&#8217;s more controlled. It is a more controlled environment. You have a lot less options in what you can do. And another aspect is that in those systems, they&#8217;re usually maintained by a single company and that company builds the entire product. All the different aspects of it.</p>\n\n\n\n<p>Where in the WordPress ecosystem, there&#8217;s WordPress core. And then there&#8217;s 60,000 plugins, from probably 50,000 different people or companies. So they are not all aligned. I can tell you that.</p>\n\n\n\n<p>[00:11:08] <strong>Nathan Wrigley:</strong> It does make it incredibly difficult to unpick because your combination of things will not be the same as my combination of things. And whilst there might be some broad outlines that you can do. And, I feel that in the WordPress space, a lot of that is sort of installing another thing to try and unpick all the other things that you did. So it might be a performance or a caching plugin or something like that, and the problem sort of gets worse.</p>\n\n\n\n<p>And although at this event, WordCamp Europe 2022, I would say it&#8217;s fair to say that most of the people here are fairly obsessed with WordPress. I would also hazard a guess that the vast majority of people that are using WordPress, have very little idea of what&#8217;s going on. You know, they, they probably know there&#8217;s some hosting accounts somewhere that they&#8217;ve used and whatever that tier is and so on.</p>\n\n\n\n<p>And they know that they&#8217;re using WordPress, but they might not have any, any indication that, okay, you, you need to compress this, cache this and so on. And that&#8217;s, that&#8217;s difficult. And communicating that to people I think is gonna be a real challenge for wordpress.org in the future because the competition from the proprietary CMSs, the ones that you say where everything&#8217;s in one package. It&#8217;s hosted by them. It&#8217;s managed by them. The code is updated by them. They feel at the moment as if they&#8217;re kind of winning the race a little bit in terms of performance. Is that fair?</p>\n\n\n\n<p>[00:12:19] <strong>Felix Arntz:</strong> Yeah, like some of those, proprietary CMSs, they are indeed ahead of WordPress in terms of performance, but largely due to them having less of this complexity that we are facing with WordPress. But also not only WordPress, like other open source CMSs, like Drupal, Joomla and so forth, they are facing similar challenges.</p>\n\n\n\n<p>[00:12:37] <strong>Nathan Wrigley:</strong> So the next piece for me is the approach that WordPress has taken. And a few years ago it was decided that performance was enough of a thing that a team need needed to be created. And my understanding is that you are part of that team. What&#8217;s its remit? What&#8217;s its objectives? What&#8217;s its goal? And I realize that you&#8217;re at the beginning of this journey. So it may be that you&#8217;re just trying to flesh out what that looks like. But just give us an idea of what it is, what the goals are and how many people are involved at this point in time.</p>\n\n\n\n<p>[00:13:03] <strong>Felix Arntz:</strong> So the team actually only came up in fall or so last year. Probably the early conversation started sometime summer last. It was an initiative that came from different contributors. Several, like the way that usually WordPress teams, new WordPress teams are formed is that a group of people or people from companies or individual contributors get together and say, we need to do something about this.</p>\n\n\n\n<p>Specifically in this, me and other people from my team were involved in together with contributors from Yoast and XWP, 10up, we all kind of got together and thought like, we need to do something about performance. Started in through initial conversations and at some point we formed a proposal that we published at makewordpress.org that there should be an official WordPress performance team that can focus on those aspects.</p>\n\n\n\n<p>There is an accessibility team. There&#8217;s a security team. There should also be a performance team. And as similar to those other two teams, to really have a focus group for this area, that goes across the different disciplines. Like not only Core, but also plugins and themes.</p>\n\n\n\n<p>That&#8217;s how the performance team started. It has been very well received from the very beginning. Uh, there was a lot of support on the initial posts. That was amazing to see that a lot of people in the WordPress community, they were happy to see that and they cared.</p>\n\n\n\n<p>Since then, yeah, I would say the team&#8217;s formation so far has been quite successful. We started, setting up weekly meetings on Slack where we discussed where we&#8217;re gonna focus on. And a lot of contributors have showed up since, and contributed to our efforts, to the team&#8217;s efforts.</p>\n\n\n\n<p>[00:14:33] <strong>Nathan Wrigley:</strong> And I presume you&#8217;re wide open to anybody that&#8217;s listening to this that wants to get stuck in as well.</p>\n\n\n\n<p>[00:14:38] <strong>Felix Arntz:</strong> Oh, absolutely. We have a booth here at WordCamp Europe, which is also really exciting, like at the community area there&#8217;s a performance booth this time and we would love to have anybody who&#8217;s interested to join our meetings</p>\n\n\n\n<p>[00:14:50] <strong>Nathan Wrigley:</strong> Tell me how it&#8217;s been received. There&#8217;s all the other booths as well. Have you been receiving the same amount of visitors coming to you and talking and trying to figure things out?</p>\n\n\n\n<p>[00:14:58] <strong>Felix Arntz:</strong> Yeah, there has been a large number of people that were interested in coming, stopping by asking about. And some people have heard about the initiative before and they just wanna to hear a bit more about it. Some people come with very concrete ideas, like, hey, we should do this in the performance team. Other people haven&#8217;t heard about it yet, and that&#8217;s great too. Like, so far, yeah, the reception has been very positive.</p>\n\n\n\n<p>[00:15:17] <strong>Nathan Wrigley:</strong> So what are the ideas that you are coalescing around? What are the things that are coming up in your Slack channel and maybe that came up in the last 24 hours or so? What are the things that you&#8217;ve decided, okay, we&#8217;re gonna tackle it in this order. Here&#8217;s the first two, three, whatever things.</p>\n\n\n\n<p>[00:15:30] <strong>Felix Arntz:</strong> So, look at it from a higher level. I think we have with the performance team, there is different layers to improve. And the main thing that we have been focusing on so far is improving performance in WordPress Core, different aspects of WordPress Core.</p>\n\n\n\n<p>That&#8217;s the one aspect. Another one is to, improve or to make available tools, to measure performance specifically for WordPress, in a WordPress context. Through that basically, raise more awareness or make it easier, even for plugin or theme developers to test performance of their plugins or themes and determine where there are any problems and how can those be fixed?</p>\n\n\n\n<p>So that&#8217;s another aspect and overall, raising more awareness of performance and making metric based performance decisions.</p>\n\n\n\n<p>[00:16:11] <strong>Nathan Wrigley:</strong> It feels to me like the WordPress Core bit is the low hanging fruit, because there it is. You&#8217;ve got it in front of you and you can figure out what it is that needs to be tweaked and so on. And so presumably work, whether it&#8217;s begun or not, I don&#8217;t know, but presumably work will begin on that at some point. And then as you say, it&#8217;s about educating the community and I feel that&#8217;s going quite well actually.</p>\n\n\n\n<p>I obsess about WordPress and so I&#8217;m constantly looking around, but it does feel like there&#8217;s a lot more messaging about that coming out. Maybe that&#8217;s to do with Core Web Vitals and things and so on and so forth. I wondered about partnerships as well, because a big part of this whole jigsaw piece is the thing that the WordPress site sits on.</p>\n\n\n\n<p>So for example, you know, you may have hosting over here for $3 99 a month or something, or you may be spending a hundred dollars a month and that kind of piece presumably, would be at some point needed to be addressed. Talking to the hosting companies and so on making partnerships and giving them the benefit of whatever insights you&#8217;ve managed to figure out.</p>\n\n\n\n<p>[00:17:06] <strong>Felix Arntz:</strong> Absolutely. There are some people who are from the hosting team there, from the WordPress hosting team are also involved in the performance team. And, I can say not a lot has happened on that side yet, but that is certainly an aspect where we wanna do more.</p>\n\n\n\n<p>And we have already. So far, we&#8217;ve mostly reached out to hosting providers for specific feedback on certain things that we wanted to do in WordPress Core to get more research and more information on that. But I think what you&#8217;re saying, I definitely see that coming up.</p>\n\n\n\n<p>[00:17:32] <strong>Nathan Wrigley:</strong> In terms of Google&#8217;s contribution. Google traditionally over the last few years, certainly since I&#8217;ve been attending these large events, Google&#8217;s been a real key sponsor. And you&#8217;re helping with the Site Kit initiative. Just tell us about that. Maybe just dwell on the complexity of that and all of the different pieces that fit into place, because I&#8217;ve heard about it. I briefly took a look at it right at the beginning when it came out and it&#8217;s fresh and new, but I haven&#8217;t really done much with it since then. So I need educating on what&#8217;s in there and where it&#8217;s gone in the last few months or years even.</p>\n\n\n\n<p>[00:18:01] <strong>Felix Arntz:</strong> So Site Kit is very much separate from the performance team. That has, has been the product which I started on, started working on from my very beginning at Google. it&#8217;s basically, Google&#8217;s, Google&#8217;s flagship product which helps you to use the popular Google tools that help you succeed as a web creator, right within your WordPress site. And one of the things that really helps with its onboarding to all those tools, like search console, analytics, AdSense to name a few.</p>\n\n\n\n<p>There&#8217;s always this complexity that in order to set up those tools on your site, you often have to paste some snippet somewhere in your WordPress site, and then it&#8217;s like a lot of people put this in their themes&#8217; functions.php, and then you update the theme and it&#8217;s gone. Or like, unless you really know what you&#8217;re doing there, there&#8217;s lots of ways to mess that up.</p>\n\n\n\n<p>One of the things that Site Kit really does for you is make this super straightforward, like make a couple clicks and it all takes care of that for you because it&#8217;s in the WordPress site, it connects directly to the Google APIs. Sets up those those services for you. And then it displays the relevant metrics right within your WordPress site.</p>\n\n\n\n<p>So you can manage it all from your WordPress site. You can still go to the Google services of course, to see like the full picture of all the stats, but you can see the most, what we consider the most important metrics, you can see them in your WordPress site.</p>\n\n\n\n<p>[00:19:07] <strong>Nathan Wrigley:</strong> So it basically pulls all of the bits and pieces, all the important data from the Google properties. And just puts them inside the dashboard as if you&#8217;ve gone out to look at, I dunno, analytics dot Google dot com.</p>\n\n\n\n<p>[00:19:17] <strong>Felix Arntz:</strong> Right. Yeah. One thing that is also special about it is that it has connection to all of those services. In the Google services, you have to go to one service or the other or the other, but in Site Kit has a dashboard that combines the metrics from all of them. There is definitely like a long term goal to also correlate them more. Like we have also connection to Page Speed Insights, which that is a part of Site Kit, which has more, a little bit more of course, like overlap with performance.</p>\n\n\n\n<p>So we have a page speed module and, eventually it would be amazing if we can somehow explain to site owners how like performance, this page, let&#8217;s make an example. Like this URL has a way better web vitals performance value than other ones and see how it&#8217;s much better performing in terms of the number of conversions.</p>\n\n\n\n<p>[00:20:01] <strong>Nathan Wrigley:</strong> I feel like that&#8217;s the missing bit for me. The connection between all of this work and any benefit. Because I never see the benefit from the work, because you know, you put in the time and you, compress this thing and you do that thing, but there&#8217;s no sort of direct comparison.</p>\n\n\n\n<p>If I could, for example, quickly and easily in my WordPress dashboard go, okay, that thing that I did over there, it&#8217;s been up there for a month now and I can see that it&#8217;s had this effect. Yeah. That&#8217;s really useful. It&#8217;s a great big endorsement I think from the giant that is Google to put all of this time and effort into a WordPress thing. I don&#8217;t know if you do that on other CMSs or other platforms as well?</p>\n\n\n\n<p>[00:20:39] <strong>Felix Arntz:</strong> I mean, we have been involved with other CMSs, like Typo3 Drupal, Joomla. The team that I&#8217;m part of, mostly with open source, open source CMSs. WordPress has a bit more attention because of its yeah, its meaning, its importance and popularity on the web. One of the things that we are seeing is that fewer users use the traditional web, which is what WordPress is part of. And more and more users use apps and we think it&#8217;s vital that, to get a little more of this attention from people back to the web, it has to match the apps in the experience and the performance.</p>\n\n\n\n<p>[00:21:14] <strong>Nathan Wrigley:</strong> Is that what is behind all of this push because, I mean, the, the apps on your phone, they are just breathtakingly, amazing. You know, the capabilities that are in iOS and Android and the way that they behave and the animations and things. They&#8217;re just all baked into the OS and they look beautiful.</p>\n\n\n\n<p>I completely identify with why would you go to, as an example, why would you go to twitter.com if you could have the Twitter app? And so that, I guess is what you&#8217;re saying that at some point, parity between the two, the web is in every way as capable and performant as the app.</p>\n\n\n\n<p>[00:21:44] <strong>Felix Arntz:</strong> Right, right. Yeah, absolutely.</p>\n\n\n\n<p>[00:21:46] <strong>Nathan Wrigley:</strong> Yeah. I feel like we&#8217;re a long way away from that at the minute.</p>\n\n\n\n<p>[00:21:48] <strong>Felix Arntz:</strong> Yes we are. And that&#8217;s where, that&#8217;s why Google overall is interested in this and Google would like to succeed. Would like to see the web succeed. Cause it, of course it is important for Google, but it is also important for WordPress. So I would argue in this sense and, I care. I have always been part of the WordPress ecosystem and I, I am a fan of WordPress, otherwise I wouldn&#8217;t be here. And, uh, I think that in this sense I would argue that the interest of WordPress and Google in that sense overlap.</p>\n\n\n\n<p>[00:22:13] <strong>Nathan Wrigley:</strong> It&#8217;s interesting because on my phone I&#8217;m really addicted to the way that the animation is is smooth and the way that I might scroll something up and something will compress. So there&#8217;s animations there. And yet it&#8217;s kind of like the polar opposite on the web we&#8217;re being told no, no, get rid of all of that sort of stuff. You know, compress the images don&#8217;t have any animation where you don&#8217;t need it, and so on. They are quite different things. And I guess it&#8217;s the browser, that&#8217;s the bottleneck?</p>\n\n\n\n<p>[00:22:34] <strong>Felix Arntz:</strong> I don&#8217;t know. I, I would argue there&#8217;s, the more of those things you do, the harder it gets to keep good performance. Having good performance is hard. And, uh, if you have an empty WordPress site out of the box, it has amazing performance, but you add 10 plugins to it and a ton of content and that changes.</p>\n\n\n\n<p>[00:22:50] <strong>Nathan Wrigley:</strong> To develop that a little bit, what I was meaning is on the phone, it doesn&#8217;t seem to matter how much of those animations and things they throw at it. It still just is performant.</p>\n\n\n\n<p>And I, I really don&#8217;t know where the difference there is, whether the browser is incapable of handling that level of load, or if it&#8217;s just that the, the operating system, iOS, Android, or what have you you can cope more. I don&#8217;t know.</p>\n\n\n\n<p>[00:23:08] <strong>Felix Arntz:</strong> I don&#8217;t know. I would argue that quite a bit of it is that, you can do a lot of those nicer animations on the web too. And, if you do it yeah, with CSS, it can still be fast. But usually there&#8217;s other things involved that make the website slow.</p>\n\n\n\n<p>If you can do these animations with CSS, you should not try to do them with JavaScript, for example. Especially like Java, loading a lot of JavaScript is one of the prime offenders of good performance on sites.</p>\n\n\n\n<p>[00:23:34] <strong>Nathan Wrigley:</strong> A couple of years ago, actually, you may need to correct me. When did the whole concept of Core Web Vitals, when did that all really begin? It feels like two years to me.</p>\n\n\n\n<p>[00:23:42] <strong>Felix Arntz:</strong> Yeah. Maybe I, I can&#8217;t even say.</p>\n\n\n\n<p>[00:23:43] <strong>Nathan Wrigley:</strong> It&#8217;s about, it&#8217;s roughly, let&#8217;s say it&#8217;s two years. Everybody was obsessed with that. It really did feel like it was a you know, line in the sound where everybody was right, if it doesn&#8217;t meet all of these metrics, hell is gonna freeze over. Your website won&#8217;t be ranked anymore. Equally, it never felt to me that that moment ever arrived. I didn&#8217;t really see that the sites that I&#8217;d been building hit too badly, even though there wasn&#8217;t a lot of remedial work that I did. Was that just a load of hype or did that stuff really affect the SERPs?</p>\n\n\n\n<p>[00:24:12] <strong>Felix Arntz:</strong> I mean this was prioritized. The Core Web Vitals um, were prioritized by Google, of course, because we had to raise more awareness of that performance on the web is not going so great. And the site owners and developers and whoever is involved in websites, they should, they need to do something about it to improve performance. Honestly, I don&#8217;t know much about like how they affect search.</p>\n\n\n\n<p>[00:24:32] <strong>Nathan Wrigley:</strong> Yeah. I was gonna say, if you knew how the search results were.</p>\n\n\n\n<p>[00:24:35] <strong>Felix Arntz:</strong> Oh yeah. Yeah, lot of people would ask me a lot of questions.</p>\n\n\n\n<p>[00:24:37] <strong>Nathan Wrigley:</strong> That&#8217;s right. You&#8217;d be locked in this room and pounded by questions, yeah. You&#8217;ve managed to make a career out of WordPress and performance. So firstly, well done for that. If that&#8217;s the thing that you were aiming at, that&#8217;s really amazing. Secondly, I wonder if the whole performance thing is there like a bonafide career in the future. In the same way that people, I dunno, 20 years ago, there were no people who were SEO consultants. It was just not a thing. And then suddenly people thought, oh, do you know what, there&#8217;s a job there, there&#8217;s enough work to be done to make that a job and we can get paid for doing that. Do you think that would be the case for people like you? You could be a freelance performance person?</p>\n\n\n\n<p>[00:25:13] <strong>Felix Arntz:</strong> I feel like that is already a thing to a degree. It&#8217;s probably has blurry lines, like where you are like, I would recommend that, if any developer should try to familiarize themselves with the performance best practices and build that knowledge and improve this knowledge over time.</p>\n\n\n\n<p>Because it is important to consider performance in every, in every step while you develop your products or plugins or themes, and similar to how this with accessibility and security, they have to be part of the whole design process at all times. But I would to your point, I also can see how I think there&#8217;re already a bunch of people that, that have specific strength in their knowledge in performance.</p>\n\n\n\n<p>And maybe they&#8217;re still developers or maybe they could also be end users that know a ton about performance and help other site owners to improve it. Yeah, I think that is already a thing. but I, I could definitely see it growing.</p>\n\n\n\n<p>[00:26:00] <strong>Nathan Wrigley:</strong> Yeah. It feels like a tunnel that you could go down and you could really be an expert in that and sort of separate yourself and maybe find a career which didn&#8217;t always involve, I don&#8217;t know, building the entire site. You might just advise on that particular component.</p>\n\n\n\n<p>[00:26:11] <strong>Felix Arntz:</strong> Yeah Yeah. I think one of the things I wanna say, like in order to get started with that, uh, some of the tools that help you measure performance, they can be really helpful I would say. Because a lot of us, including myself, we don&#8217;t know all of these performance best practices. It is a ton to think about based on what you&#8217;re doing. Yeah, there are a lot of different tools to measure performance and give you recommendations. What you need to improve?</p>\n\n\n\n<p>I think it&#8217;s very valuable to learn from those and internalize that knowledge that you get from running your site through one of, through some of these tools. And then from there you can think about how can I actually address this problem.</p>\n\n\n\n<p>[00:26:44] <strong>Nathan Wrigley:</strong> Well, Felix, sadly, we&#8217;re out of time. So I&#8217;m gonna say thank you very much for chatting to me today. I appreciate it.</p>\n\n\n\n<p>[00:26:48] <strong>Felix Arntz:</strong> Yeah, thank you.</p>\n</div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 13 Jul 2022 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"Do The Woo Community: devlife_snippet: WooDev Profile, Marius Vetrici\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=72250\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://dothewoo.io/devlife-snippet-woodev-profile-marius-vetrici/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:417:\"<p>WooCommerce was and is very cool thanks to being open source. You can dive deep-deep into the code if something is not working.</p>\n<p>&gt;&gt; The post <a rel=\"nofollow\" href=\"https://dothewoo.io/devlife-snippet-woodev-profile-marius-vetrici/\">devlife_snippet: WooDev Profile, Marius Vetrici</a> appeared first on <a rel=\"nofollow\" href=\"https://dothewoo.io\">Do the Woo - a WooCommerce Builder Community</a>	.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 13 Jul 2022 08:53:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:124:\"WPTavern: WordPress Themes Team Contributors Get Pushback on Proposal to Improve Block Themes’ Visibility in the Directory\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=136112\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:132:\"https://wptavern.com/wordpress-themes-team-contributors-get-pushback-on-proposal-to-improve-block-themes-visibility-in-the-directory\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7025:\"<p>Seven weeks ago, WordPress Theme Team contributors proposed several ideas for <a href=\"https://wptavern.com/wordpress-contributors-propose-improving-block-themes-visibility-in-the-directory\">improving block themes&#8217; visibility on WordPress.org</a>. These included the possibility of changing the popular themes algorithm to more prominently feature block themes, and/or adding a new &#8220;Block&#8221; menu item next to Popular and Latest on the themes directory home page.</p>\n\n\n\n<p>The directory is going through some growing pains as themes that are compatible with the site editor are the only ones that offer access to everything WordPress has to offer in the new paradigm of blocks. Yet, the 94 available block themes represent fewer than 1% of the directory&#8217;s 9,761 themes. </p>\n\n\n\n<p>It&#8217;s an interesting time in WordPress&#8217; history where the theme a user selects can significantly limit the ability to take advantage of WordPress&#8217; latest features. This is why some contributors are proposing that block themes get more visibility in the directory. It directly impacts FSE adoption and consequently its improvement, as people using it is the pathway to better quality feedback that will shape its future in WordPress.</p>\n\n\n\n<p>After five weeks the ticket went silent, following WordPress lead developer Dion Hulse&#8217;s recommendation that re-doing the front page of the directory would likely be the best way to solve the needs communicated in the ticket. Two weeks ago the discussion was reignited  when WordPress theme developer and Themes Team contributor Dumitru Brinzan <a href=\"https://meta.trac.wordpress.org/ticket/6330#comment:19\">commented</a> with strong opposition to the idea of promoting block themes: </p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><strong>This goes against everything</strong> that was discussed about the role of themes in the past 10 years at least.</p><p>In the past there have been a lot of instances when a new tab with themes, a different algorithm, a different order, different X, Y, Z have been appropriate.</p><p>Every single time theme authors heard the same song: it is not the role of .org to promote or market any particular product. It is not the role of .org to make the themes repo look like the plugins repo.</p><p>The logical request of removing the default Twenty themes from the Popular tab fell on deaf years.</p><p>But now there&#8217;s a new shiny toy (that is not even ready or wanted by the general public).<br />And suddenly people with a direct interest in having a spotlight on their themes are pushing this &#8220;new&#8221; idea.</p><p>This is a spit in the face of the hundreds (if not thousands) of theme authors that have been contributing to .org until now.</p></blockquote>\n\n\n\n<p>Automattic-sponsored Themes Team contributor Sarah Norris <a href=\"https://github.com/WordPress/wordpress.org/pull/85\">submitted a PR</a> that adds a &#8216;Block&#8217; tab to the Theme Directory filter list. It filters themes using the full-site-editing tag, which is currently buried three clicks deep for those who know how to apply the filter. </p>\n\n\n\n<img />source: <a href=\"https://github.com/WordPress/wordpress.org/pull/85\">PR to Add Block tab to filter list</a>\n\n\n\n<p>&#8220;These types of themes are more commonly referred to as block themes, so by adding this tag, we are reducing the confusion between these terms and making it clearer how to filter by block themes in the directory,&#8221; Norris said.</p>\n\n\n\n<p>Hulse concluded that the PR was &#8220;the most straight forward way forward here, making the most impact today,&#8221; but questioned whether &#8220;block&#8221; is the best term to use. </p>\n\n\n\n<p>Christian Zumbrunnen, another participant in the discussion, suggested classic themes get a label as well, such as &#8220;Classic,&#8221; which could be changed to &#8220;Deprecated&#8221; sometime in the future.</p>\n\n\n\n<p>&#8220;And another question: why would my non-FSE themes built for the Block Editor be relegated to the &#8216;classic themes&#8217; category?&#8221; Brinzan said. &#8220;Why give priority specifically to FSE themes, all the while calling them &#8216;block&#8217; themes? My classic themes work perfectly well with blocks. Why create any more confusion under the false pretense of making things &#8216;easier and clearer?\'&#8221;</p>\n\n\n\n<p>The difference here is that while most themes now support the block editor for content, very few include full support for the block-based site editor. Brinzan contends that contributors should work towards creating a more efficient search and improving the browsing/filtering experience for themes:</p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>The whole directory needs to be improved. It&#8217;s not right (or fair) to prioritize one type of themes, when many of them aren&#8217;t even production-ready.<br />Funneling all WordPress users towards an unfinished and clunky product won&#8217;t do anyone any good. WordPress is not known for its elegant UI, and this will make things worse. WordPress users are not guinea pigs to force Gutenberg and FSE on them at every step. Let this process take its natural course.<br /></p></blockquote>\n\n\n\n<p>WordPress theme developers are facing the inevitable task of updating their themes to be FSE-enabled in order to remain relevant in the new era of using blocks to edit all aspects of a WordPress site. Themes that don&#8217;t support the full range of the platform&#8217;s features do not have long before they become the last vestiges of a bygone era of WordPress themes.</p>\n\n\n\n<p>Hendrik Luehrsen, who agreed that full-site editing themes should be easier to find, said he is concerned about how to do that without &#8220;without downgrading the rest of the themes or without creating an <a href=\"https://en.wikipedia.org/wiki/Osborne_effect\">Osborne Effect</a>.&#8221; This notion, which is based on the downfall of the Osborne Computer Corporation, particularly affects consumer electronic products where prematurely announcing the imminent release of a technologically superior product can damage the sales of existing products.</p>\n\n\n\n<p>The Osborne Effect may not be applicable in this case, since WordPress has already shipped FSE to those who want to take advantage of it, and block themes, the successor of legacy WordPress themes, are already here. </p>\n\n\n\n<p>Automattic-sponsored Themes Team contributor Jeffrey Pearce <a href=\"https://meta.trac.wordpress.org/ticket/6330#comment:59\">urged contributors to reach a consensus</a> and reminded them that the solution can always be iterated on later.</p>\n\n\n\n<p>&#8220;It&#8217;s important to highlight that block themes can only get better with improved exposure by usage, which seems to be what most folks in here agree on,&#8221; Pearce said. &#8220;The solutions in this ticket don&#8217;t seek to demote classic themes, but rather they seek to improve the discoverability of Block Themes instead of the current filter approach.&#8221;</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 13 Jul 2022 05:27:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:144:\"HeroPress: Finding a second chance in life through WordPress – വേർഡ്പ്രസ്സിലൂടെ ജീവിതവിജയം\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=4542\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:172:\"https://heropress.com/essays/finding-a-second-chance-in-life-through-wordpress/#utm_source=rss&utm_medium=rss&utm_campaign=finding-a-second-chance-in-life-through-wordpress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:83250:\"<img width=\"1024\" height=\"512\" src=\"https://heropress.com/wp-content/uploads/2023/07/071122-min.jpg\" class=\"attachment-large size-large wp-post-image\" alt=\"Pull Quote: If I have achieved anything in life today, it is thanks to WordPress and its community.\" />\n<p><a href=\"https://heropress.com/feed/#malayalam\">ഈ ഉപന്യാസം മലയാളത്തിലും ലഭ്യമാണ്</a></p>\n\n\n\nHere is Hari reading his own story aloud.\n\n\n\n<p>I will never forget the day I turned 22. I was officially at the lowest point in life as I woke up that morning. While my peers were employed with multinational companies or pursuing higher education at top universities worldwide, I had just been fired from my first “job” and was broke. Things were so bad that I had even become a pariah in my own family. Setting aside all those negative thoughts, I pulled myself out of my bed and switched on my computer, which lit up with a partly-written blog post on the TinyMCE editor of WordPress 3.0.1. That sight filled me with hope. I felt a strong creative urge to continue writing and started typing away. After completing that post, I leaned on my chair, marveling at my creation. All my negative emotions had now disappeared. I realized that even if I failed in life, I would always have two things with me &#8211; my blog and the open source software that powered it (WordPress). And that was all I needed to trudge onward.&nbsp;</p>\n\n\n\n<p>Little did I know that this open source software (that powers 40%+ of all websites in the world today) would eventually become my <em>raison d&#8217;être</em> and give me a life I could never even dream of!&nbsp;</p>\n\n\n\n<h3 id=\"h-discovering-wordpress\">Discovering WordPress&nbsp;</h3>\n\n\n\n<p>I was born and brought up in Thiruvananthapuram, in Kerala, India as an only child to engineer parents. Since computers and programming had always fascinated me as a kid, I enrolled in an engineering course with a specialization in information technology after high school. My goal was to take up a career in technology. I even had lofty dreams of pursuing research in computer science. My batch had a four-month break before college started, and during this time, I started working with my friends’ web services startup. One evening, while working on a client’s website, I was introduced to WordPress. It was a revelation. You could create and customize websites from an admin panel without needing to hand-code in HTML! I loved it and wanted to create a WordPress website on my own. However, since I did not have the resources to purchase a domain and hosting package, I did the next best thing &#8211; I set up a blog on WordPress.com.&nbsp;</p>\n\n\n\n<p>As the cliche goes, that was the beginning of a beautiful friendship. :)&nbsp;</p>\n\n\n\n<h3 id=\"h-thriving-with-wordpress-during-tough-times\">Thriving with WordPress during tough times</h3>\n\n\n\n<p>Soon, the holidays were over, and college started. With high hopes, I stepped foot into one of Kerala’s top engineering colleges. However, within a few days, I realized that I was a misfit in this system.</p>\n\n\n\n<p>The Indian educational system is designed for rote-learning by default and rejects everyone that does not comply. My ‘radical’ dreams of thinking out of the box, finding knowledge outside prescribed textbooks, exploring the practical side of concepts, and even furthering original ideas &#8211; made me an outcast. I was disappointed, disillusioned, and eventually lost interest in academics. To add insult to the injury, my friends kicked me out of the web services startup, which was my saving grace during this ordeal. During this challenging time, it was WordPress that kept me going.</p>\n\n\n\n<p>Pouring my mind into my WordPress blog helped me survive the trauma of college. Fueled by curiosity, I tried to find practical applications of core computer science concepts taught in college by tinkering with WordPress code and creating mock websites. </p>\n\n\n\n<blockquote><p>Slowly I started earning pocket money through freelance projects and Google AdSense. </p></blockquote>\n\n\n\n<p>I eventually bought my own domain and moved to self-hosted WordPress. All-in-all, WordPress not only helped me survive college but taught me more than college ever could. By the end of four years, I had learned PHP, MySQL, web designing and development, open source philosophy, and even became a better writer thanks to WordPress! Even as the nightmare called college went on by the side, I collected a bunch of professional accolades. The most memorable ones include <a href=\"https://lists.fedoraproject.org/pipermail/india/2009-March/001497.html\">being an honorary speaker at one of India’s top engineering colleges</a>, getting a chance to <a href=\"https://harishanker.net/2009/06/richard-stallman-interview/\">interview Richard Stallman</a> himself, <a href=\"http://www.mindful.org/student-wins-mindful-leadership-award/\">winning an international essay competition</a>, and becoming a <a href=\"https://www.thehindu.com/profile/author/Hari-Shanker-R-/\">freelance journalist with one of India’s national newspapers</a>. Life was challenging but promising!</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/1_Presenting_at-NITC-scaled.jpg\"><img /></a><em>Presenting at NIT Calicut &#8211; one of India’s top engineering colleges, as an invited speaker</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/2_Mindful_Leadership.jpg\"><img /></a><em>Selected as a runner-up for Mindful Leadership co-organized by University of Dayton, Ohio and Loyola Institute of Business Administration</em>\n\n\n\n<h3 id=\"h-finding-out-about-automattic\">Finding out about Automattic</h3>\n\n\n\n<p>My love for WordPress encouraged me to add a question about <a href=\"https://ma.tt/\">Matt Mullenweg</a>, the co-founder of WordPress, in a trivia quiz that I hosted at an intercollegiate quiz in my third year. The question went unanswered, but while preparing for the quiz, I <a href=\"https://usatoday30.usatoday.com/tech/news/2009-01-27-wordpress-creator-blog_N.htm\">learned</a> about Matt’s company &#8211; <a href=\"https://automattic.com/\">Automattic, Inc</a>. Automattic owned WordPress.com and had 30+ employees working remotely from all corners of the world then. Since WordPress was <em>everything </em>to me, working for the company that runs WordPress.com felt like a dream. I believed that I had a real shot at making it to Automattic; since it was a fully distributed company, I could work remotely from India without having to worry about work permits or visas. The “<a href=\"https://automattic.com/work-with-us/job/happiness-engineer/\">Happiness Engineer</a>” role seemed like a perfect fit for me, and I decided to apply right after graduating from college a year later.&nbsp;</p>\n\n\n\n<img src=\"https://lh4.googleusercontent.com/IwEYKJ0aWaB0VfHnBxrpnLwaKjJmsirO438qSNescoNrcfLMMsHGUH1mH1rzmQ5tNhhCem0dmRCGEDsM0D11HKW6CWKSsAT8pGEvGaq43wEQQJBxUKAxforW8D-WQASsKx7HxvivecECzg1ybyU\" alt=\"\" /><em>A glimpse from the same quiz that I hosted where I would shortly ask that question about Matt that would go unanswered!</em>\n\n\n\n<p>However, life would have other plans for me.</p>\n\n\n\n<h3 id=\"h-dreams-come-crashing-down-but-not-without-hope\">Dreams come crashing down &#8211; but not without hope!</h3>\n\n\n\n<p>History teaches us that every misfit meets debilitating failure early on in life. After surviving for nearly three and a half years, my crash came in my final year. Since I lacked the minimum attendance, I did not graduate with my batchmates and was asked to repeat my last semester with my juniors. It was a major blow &#8211; not just for my ego, but also for my existence. Nevertheless, I did not lose hope. I decided to stay engaged during the six-month gap before my final semester classes restarted and signed up as a journalist with a local web portal. However, before I would complete two full months in this “job”, I got fired. </p>\n\n\n\n<blockquote><p>That was the last nail in my coffin. I lost every ounce of hope. I started hearing voices in my head accusing me of being a failure. </p></blockquote>\n\n\n\n<p>I was officially branded as a loser as <em>everyone</em> started ridiculing me for my plight, left, right, and center. A psychiatrist, who happens to be a family friend, diagnosed me with clinical depression and prescribed medicines with extreme side effects that made me feel worse.</p>\n\n\n\n<p>Only one ‘person’ stood by me through thick and thin with unwavering faith &#8211; and that was WordPress.&nbsp;</p>\n\n\n\n<p>It slowly dawned upon me that even if I failed everywhere else, I knew WordPress inside out. I had the confidence to do anything and everything with it; thus giving me a real shot at a proper career. I started freelancing full-time. I was not earning a ton of money, but freelancing helped me pay my bills. I started gaining confidence as I got more and more good reviews for my work. No one knew about my “job” and I did not bother to change that perception as well. My parents would sneer at me for wasting my time spending hours in front of the computer instead of studying or applying for jobs when I was <em>actually</em> working and earning <em>real </em>money! College was soon done and dusted. I consulted a more qualified mental health professional who confirmed my original suspicion that I was misdiagnosed by the psychiatrist and took me out of medicines. I slowly started getting back on track.</p>\n\n\n\n<p>Shortly after that, WordPress led me to my first ‘real’ job as a Project Manager with a multinational startup based in Kochi. My primary responsibility at this company was to oversee a network of WordPress websites, and it was a job I thoroughly enjoyed. Being honored and respected for my skills and abilities proved to be a game-changer for me. Over time, I also saw my life improve slowly and steadily. I soon found myself working as a banker in a public sector bank in India. During this time, I met the love of my life, and we got married and started living on our terms. Since I was working in the bank, I was not using WordPress for work anymore. However, my Twitter bio still had a “WordPress guru” moniker. I would keep tinkering with WordPress in my free time, as working with WordPress always brought me joy. The bank job was not making me happy, and I started thinking of the next step in my career.</p>\n\n\n\n<h3 id=\"h-automattic-beckons\">Automattic beckons</h3>\n\n\n\n<p>It was at this stage that my mind naturally went back to Automattic. After I discovered the company in my third year, I would visit their <a href=\"https://automattic.com/work-with-us/\">jobs page</a> at least a hundred times in the next six years. I came close to applying several times but always stopped in my tracks due to raging self-doubt. I was still quite the <em>persona non grata</em> in both my immediate and extended family and was being mocked everywhere. </p>\n\n\n\n<blockquote><p>The only person who believed in me was my wife &#8211; <a href=\"https://archanamohan.com/\">Archana</a>. </p></blockquote>\n\n\n\n<p>One day, I confessed my desire to work at Automattic to her. She held my hand, looked firmly into my eyes, and spoke with conviction: <em>“You are going to make it to Automattic; I will bet my life on it.” </em>To this day, Archana continues to be my pillar of support and my biggest fan &#8211; the rest of what you are going to read would simply not have happened, had it not been for Archana’s iron-willed faith in me.&nbsp;</p>\n\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/4_First_ever_WP_Swag.jpeg\"><img /></a><em>Sporting my first ever WordPress swag!</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/5_Archana_Hari_Berlin.jpeg\"><img /></a><em>With Archana, my wife!</em>\n\n\n\n\n<p>I decided to take Automattic seriously and started preparing. Since I had lost touch with WordPress, I started tinkering with WordPress more and built lots of WP websites. I also used my free time to work in the WordPress.org and WordPress.com forums. Interestingly, working at the bank helped me gain support skills that I lacked previously for the role that I aimed to apply for (Happiness Engineer), so I started feeling more and more confident about applying. Even after nine years as a WordPress user, I had never really explored its community, and I had the pleasure of discovering it on social media at that point. I was fascinated by a Twitter account, curiously named “<a href=\"https://twitter.com/heropress/\">HeroPress</a>” &#8211; which followed me back as soon as I followed it. I visited <a href=\"https://heropress.com\">https://heropress.com</a> that evening and went down a rabbit hole of inspirational WordPress stories. I read about several people who found success due to my favorite open source software, including many folks from my corner of the world. HeroPress was the inspiration I finally needed and was a key milestone in my WordPress journey.&nbsp;</p>\n\n\n\n<p>I was now all set to apply, and I couldn’t help but wonder &#8211; would I get the chance to write about my journey on this very website, someday?&nbsp;</p>\n\n\n\n<h3 id=\"h-a-dream-come-true\">A dream come true</h3>\n\n\n\n<p>After three months of dedicated preparation, I finally bit the bullet and applied for the Happiness Engineer role at Automattic, in November 2015. I heard back from the Automattic hiring team within three weeks and went on to complete a series of interviews and tasks, which was followed by a paid trial. In February 2016, three months after I got my first email from the Automattic hiring team, Matt Mullenweg (yes, the same person who I created a quiz question on, seven years back) gave me an offer to work at Automattic as a full-time Happiness Engineer after a two-hour text-chat interview over Slack.</p>\n\n\n\n<p>I had just watched <a href=\"https://www.imdb.com/title/tt0454921/\">The Pursuit of Happyness</a> (again) a few days back and the<a href=\"https://www.youtube.com/watch?v=56fngopihOo\"> final scene from the movie</a> came to my mind, that very moment Matt gave me the offer…</p>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/6_was-it-as-easy.jpeg\"><img /></a></div>\n\n\n<p>The next few moments were a blur. I was on top of the world! I clearly remember hugging my wife tight &#8211; we both could not control our tears and wept with joy for several minutes.&nbsp;</p>\n\n\n\n<blockquote><p>There were situations in the past when I was so frustrated that I thought of calling it quits, unable to bear the pain and suffering. </p></blockquote>\n\n\n\n<p>Not too long ago, I used to be derided by my peers and my own family for my academics and my failures on a daily basis. Some people did not even bother to mince words &#8211; I was branded as a <em>“good-for-nothing idiot who brings nothing but shame to our family”</em>. My own parents had even asked me several times to <em>“drop out of college and consider blue-collar jobs and unskilled labor because that is the only thing you are worthy of!”</em></p>\n\n\n\n<p>Here I was, the black sheep of my family, beaming with a signed offer letter for my dream job at my dream company! All thanks to an open source software built by contributors all over the world that stood by me through thick and thin.</p>\n\n\n\n<h3 id=\"h-the-story-continues\">The story continues</h3>\n\n\n\n<p>The rest of my life, the past six years, feels like a dream even today. I still pinch myself sometimes to see if this is indeed real. Today, I have evolved into a better human being, a capable professional, and a leader. The very first week of joining Automattic in April 2016, I flew to Austin, TX to attend a team meetup with my colleagues &#8211; there was a time in my life when I could barely imagine boarding a domestic flight, let alone flying to the United States! I have lost count of the number of times I have traveled around the world in the past six years &#8211; I have friends in every nook and corner of the world and have had the privilege of having some of the best experiences in life, thanks to my travels.&nbsp;</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/7_In_Austin_With_Teammates-scaled.jpeg\"><img /></a><em>Stopping traffic at South Congress near Austin Downtown with my teammates at Automattic!&nbsp;</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/8_Hari_Lisbon-scaled.jpeg\"><img /></a><em>A picture with my teammates at Automattic in Lisbon Portugal, at a team meetup</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/9_A8cGM_Whistler.jpg\"><img /></a><em>At a photobooth with my teammates at the Automattic Grand Meetup in Whistler, Canada in 2017</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/10_Bubble_Football.png\"><img /></a><em>After a fun game of Bubble Football with my team in Barcelona, Spain</em>\n\n\n\n<p>My love for WordPress got me involved with the global WordPress community. I started by organizing local meetups in the city of Kochi (where we moved after I joined Automattic) and went on to organize three WordCamps and scores of meetup events. I also started translating WordPress to Malayalam (my native language) in my free time. I also got involved in the WordPress Community in India and made many great friends &#8211; <a href=\"https://profiles.wordpress.org/adityakane\">Aditya</a>, <a href=\"https://profiles.wordpress.org/ajay-aravind/\">Ajay</a>, <a href=\"https://profiles.wordpress.org/ajithrn/\">Ajith</a>, <a href=\"https://profiles.wordpress.org/gounder/\">Alex</a>, <a href=\"https://profiles.wordpress.org/aravindajith/\">Aravind</a>,  <a href=\"https://profiles.wordpress.org/mbigul/\">Bigul</a>, <a href=\"https://profiles.wordpress.org/hardeepasrani/\">Hardeep</a>, <a href=\"https://profiles.wordpress.org/wpcustomizer/\">Hitha</a>, <a href=\"https://profiles.wordpress.org/kcjagadeep/\">Jagadeep</a>, <a href=\"https://profiles.wordpress.org/josevarghese/\">Jose</a>, <a href=\"https://profiles.wordpress.org/nejwrks/\">Nebu</a>, <a href=\"https://profiles.wordpress.org/nitkr/\">Nithin</a>, <a href=\"https://profiles.wordpress.org/rohittm/\">Rohit</a>, <a href=\"https://profiles.wordpress.org/sheebaabraham/\">Sheeba</a>, <a href=\"https://profiles.wordpress.org/yoga1103/\">Yogesh</a>… the list is too long for this essay, believe me! A few of these folks are also part of my inner circle; my own coterie of best buddies! </p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/11_Presenting_at_Kochi_Meetup.jpeg\"><img /></a><em>Speaking at a WordPress Meetup in Kochi, in 2017</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/12_Presenting_at_Udaipur.jpeg\"><img /></a><em>Presenting at a WordPress Meetup in Udaipur Rajasthan, in 2017</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/13_WC_Kochi.jpeg\"><img /></a><em>Delivering the keynote address at the inaugural WordCamp Kochi 2017</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/14_WCKochi_Organizing_team-scaled.jpg\"><img /></a><em>With the WordCamp Kochi 2018 organizing team!&nbsp;</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/15_WC_Pune_2017.jpeg\"><img /></a><em>With some of my WordPress friends at WordCamp Pune 2017</em>\n\n\n\n<p>My contributions to the community in my free time led me to an internal career opportunity in Automattic. In April 2020, I went through an internal hiring process and switched roles to become a Community Wrangler, working full-time on the <a href=\"https://make.wordpress.org/community/\">Make/WordPress Community Team</a>, as one of <a href=\"https://wordpress.org/five-for-the-future/pledge/automattic/\">Automattic’s Five for the Future contributors</a>. Over the past two years, I realized that working with the community is my true calling. Supporting our events program, even while navigating the challenges of the COVID-19 pandemic made me realize how much our community loves WordPress. It has equally been a privilege and a humbling experience.&nbsp;</p>\n\n\n\n<p>From January through March 2022, I was selected to lead my team in Automattic, where I helped onboard four new team members that we hired. Leading our team for three months continues to be the best professional experience I have had so far. Earlier in 2022, I was <a href=\"https://make.wordpress.org/community/2022/01/03/announcement-team-representatives-for-2022/\">selected as the Team Representative for the Make/WordPress Community team</a>, and we just supported a vibrant team of local and global community organizers to host one of the biggest WordPress events in the world &#8211; <a href=\"https://europe.wordcamp.org/2022/\">WordCamp Europe 2022</a>. As I am writing this essay, I am enjoying my sabbatical at Automattic (all Automatticians that have completed five years working for Automattic are eligible for a paid, three-month sabbatical).&nbsp;</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/16_My_Current_a8c_team-scaled.jpeg\"><img /></a><em>With my current team at Barcelona, Spain, in April 2022</em>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/17_WCEU2022_Community_Team_table.jpeg\"><img /></a><em>Introducing the Community Team on stage at WordCamp Europe 2022</em></div>\n\n\n<p>It has been 16 years since I first started using WordPress. In other words, WordPress has been a part of my life for nearly half of it. My mind still goes back to that morning on my 22nd birthday. Even though I had lost all hope, I clung to WordPress with both my arms. I had never even imagined that it would give me a life that I could barely dream of. But even in my darkest days, this open source software and its community gave me hope and pushed me forward.&nbsp;</p>\n\n\n\n<p>If I have achieved anything in life today, it is thanks to WordPress and its community.&nbsp;</p>\n\n\n\n<p>And I will <em>forever</em> be grateful.</p>\n\n\n\n<h1 id=\"malayalam\">വേർഡ്പ്രസ്സിലൂടെ ജീവിതവിജയം</h1>\n\n\n\nഹരി തന്റെ കഥ ഉറക്കെ വായിക്കുന്നത് നിങ്ങൾക്ക് കേൾക്കാം.&nbsp;\n\n\n\n<p>എനിക്ക് 22 വയസ്സ് തികഞ്ഞ ആ ദിവസം ഒരിക്കലും മറക്കാനാകില്ല. കാരണം, ജീവിതത്തിലെ ഏറ്റവും മോശം ഘട്ടത്തിൽ ആയിരുന്നു അന്ന് ഞാൻ. രാവിലെ ഉറക്കമുണർന്നപ്പോൾ മനസ്സാകെ കലുഷിതമായിരുന്നു. കൂടെ പഠിച്ചവരൊക്കെ വലിയ മൾട്ടിനാഷണൽ കമ്പനികളിൽ ജോലിക്കോ ഉപരിപഠനത്തിനായി വിദേശ സർവ്വകലാശാലകളിലേക്കോ പോയി തുടങ്ങിയപ്പോൾ ഞാനാകട്ടെ ആദ്യ ജോലിയിൽ നിന്നും പിരിച്ചു വിടപ്പെട്ട്, കൈയിൽ പത്ത് പൈസ ഇല്ലാത്ത ദുരവസ്ഥയിലായിരുന്നു. ചുരുക്കി പറഞ്ഞാൽ, വീട്ടുകാർക്കും നാട്ടുകാർക്കും വേണ്ടാത്ത, വെറുക്കപ്പെട്ട ഒരു ജന്മം! വിഷമങ്ങളൊക്കെ ഉള്ളിലൊതുക്കി വച്ച്, ഒരു വിധം ഞാൻ നേരെ കംപ്യൂട്ടറിന്റെ മുന്നിൽ നിലയുറപ്പിച്ചു. സ്‌ക്രീനിൽ അതാ WordPress 3.0.1 ഇന്റെ TinyMCE എഡിറ്ററും, അതിൽ ആംഗലേയത്തിൽ പാതിയെഴുതിയ ഒരു ബ്ലോഗ് പോസ്റ്റും, പതിയെ തെളിഞ്ഞു വന്നു. ആ കാഴ്ച കണ്ടപ്പോൾ മനസ്സിൽ പ്രതീക്ഷയുടെ ഒരു കണിക വന്നത് പോലെ. എവിടുന്നോ ഏതോ ശക്തി ഞരമ്പുകളിൽ ഞാൻ പോലുമറിയാതെ വന്നു കയറിയ പ്രതീതി. ആ ശക്തി മുറുകെപിടിച്ച്‌ ഞാൻ വേഗത്തിൽ ടൈപ്പ് ചെയ്തു തുടങ്ങി. താമസിയാതെ ആ പോസ്റ്റ് ഞാൻ എഴുതി പൂർത്തിയാക്കി. കസേരയിൽ ചാഞ്ഞിരുന്ന്, എന്റെ സ്വന്തം കലാസൃഷ്ടി ആസ്വദിച്ച്, അൽപ്പനേരം ഞാൻ അവിടെ അങ്ങ് ഇരുന്നു പോയി. മനസ്സിലെ വിഷമങ്ങളൊക്കെ എങ്ങോ മാഞ്ഞ് പോയത് പോലെ…</p>\n\n\n\n<p>ആ പ്രഭാതത്തിൽ എനിക്കൊരു വെളിപാടുണ്ടായി. ജീവിതത്തിൽ എവിടെ ഞാൻ പരാജയപ്പെട്ടാലും എന്റെ കൂടെ രണ്ടു കാര്യങ്ങൾ എപ്പോഴും ഉണ്ടാകും: എന്റെ ബ്ലോഗും, അതിന്റെ പിന്നിലെ സ്വതന്ത്ര സോഫ്റ്റ്‌വെയറായ വേർഡ്പ്രെസും. വർഷങ്ങൾക്കിപ്പുറം, ഇന്ന് ഇന്റർനെറ്റിലെ 40 ശതമാനം വെബസൈറ്റുകൾ പ്രവർത്തിപ്പിക്കുന്ന ഇതേ സോഫ്റ്റ്‌വെയർ എന്റെ ജീവിതം മാറ്റി മറിക്കുമെന്ന് അന്ന് ഞാൻ സ്വപ്നത്തിൽ പോലും ചിന്തിരിച്ചുന്നില്ല.</p>\n\n\n\n<h2>ഹൗഡി, വേർഡ്പ്രസ്സ്!</h2>\n\n\n\n<p>കേരളതലസ്ഥാനമായ തിരുവനന്തപുരത്ത്, സർക്കാർ സർവീസിൽ ഉയർന്ന തസ്തികകളിൽ ജോലി ചെയ്യുന്ന രണ്ടു എൻജിനിയർമാരുടെ ഒറ്റ മകനായി ആണ് നമ്മുടെ ജനനം. ഓർമ വച്ച നാൾ മുതൽ തന്നെ കംപ്യൂട്ടറുകളിലും പ്രോഗ്രാമിങ്ങിലും ആയിരുന്നു കമ്പം. അതിനാൽ സ്‌കൂൾ ജീവിതം പൂർത്തിയാക്കിയ ശേഷം, തിരുവനന്തപുരത്തെ മികച്ച ഒരു എൻജിനിയറിങ് കോളേജിൽ ഇൻഫർമേഷൻ ടെക്നോളജി എഞ്ചിനിയിറങ്ങിനു ഞാൻ ചേർന്നു. അന്നേ ആഗ്രഹങ്ങൾക്കും സ്വപ്നങ്ങൾക്കും പഞ്ഞമൊന്നുമില്ലായിരുന്നു &#8211; ട്ടെക്ക് മേഖലയിൽ ജോലി ചെയ്യണമെന്നും കംപ്യൂട്ടർ സയൻസിൽ ഗവേഷണം ചെയ്യണമെന്നുമൊക്കെ ആയിരുന്നു മോഹം. കോളേജ് തുടങ്ങുന്നതിനു മുന്നേയുള്ള നാല് മാസത്തെ അവധിക്കാലത്ത് സമയം കൊല്ലാനായി കൂട്ടുകാർ നടത്തിയിരുന്നു ഒരു വെബ് സ്റ്റാർട്ടപ്പിൽ ഞാനും ചേർന്നു. ഒരു ദിവസം, ഒരു ക്ലയന്റിന്റെ വെബ്‌സൈറ്റ് നിർമ്മിക്കുമ്പോഴാണ് ഞാൻ വേർഡ്പ്രസ്സിനെ പരിചയപ്പെടുന്നത്. HTML ഉം CSS ഉം മാത്രം ഉപയോഗിച്ച് വെബ്‌സൈറ്റ് നിർമിക്കാൻ അറിയുമായിരുന്ന എനിക്ക് അത് ഒരു അദ്‌ഭുതമായിരുന്നു. <em>“ഇപ്പോൾ കോഡ് എഴുതാതെ തന്നെ ഒരു മികച്ച ഡാഷ്‌ബോർഡ് ഉപയോഗിച്ച് മാത്രം നമുക്ക് ഒരു സൈറ്റ് ഉണ്ടാക്കാം! കൊള്ളാല്ലോ വീഡിയോൺ!”</em> അന്ന് തന്നെ സ്വന്തമായി വേർഡ്പ്രസ്സ് ഉപയോഗിച്ച് സൈറ്റ് നിർമിക്കിക്കാനായുള്ള പണി ഞാൻ തുടങ്ങി. എന്നാൽ ഡൊമെയ്‌നും ഹോസ്റ്റിംഗും വാങ്ങാൻ നമ്മുടെ കയ്യിൽ എവിടെ കാശ്? അതിനാൽ wordpress.com ഇൽ ഒരു ബ്ലോഗ് തുടങ്ങി തത്കാലം തൃപ്തിപ്പെട്ടു.&nbsp;</p>\n\n\n\n<p>വർഷങ്ങൾ നീണ്ടു നിൽക്കുന്ന ഒരു സൗഹൃദത്തിന്റെ തുടക്കമായിരുന്നു അത്. :)&nbsp;</p>\n\n\n\n<h2>പ്രതിസന്ധികളിൽ വേർഡ്പ്രസ്സ് സഹായത്തിനെത്തുന്നു</h2>\n\n\n\n<p>അങ്ങനെ ഒടുവിൽ അവധി കഴിഞ്ഞു കോളേജ് തുടങ്ങി. എന്നാൽ വലിയ പ്രതീക്ഷയോടെ കോളേജിലേക്ക് കാലെടുത്തു വച്ച എന്നെ കാത്തിരുന്നത് തീർത്താൽ തീരാത്ത പ്രതിസന്ധികളാണ്.&nbsp;</p>\n\n\n\n<p>ഇന്നത്തെ ഭാരതീയ ഉപരിപഠന സമ്പ്രദായത്തിൽ പരീക്ഷകൾ മാത്രം മുന്നിൽ കണ്ട് കാണാതെ പഠിക്കുന്ന വ്യക്തികൾക്ക് മികച്ച വിജയം നേടാനാകും. എന്നാൽ പുസ്തകത്തിനപ്പുറത്തെ അറിവുകൾ കാംക്ഷിക്കുന്ന, പഠനവിഷങ്ങളുടെ പ്രായോഗിക തലങ്ങൾ തിരയുന്ന, തീർത്താൽ തീരാത്ത സംശയങ്ങളുള്ള, പുത്തൻ ആശയങ്ങൾ നിരന്തരം മെനെഞ്ഞെടുക്കുന്ന, എന്നെ പോലൊരു വ്യക്തിക്ക് പറ്റിയ ഒരു വ്യവസ്ഥിതി ആയിരുന്നില്ല അത്. കുറച്ചധികം തിക്താനുഭവങ്ങൾ വേണ്ടി വന്നു, എനിക്ക് ആ സത്യം മനസ്സിലാകാൻ. ഏറെ നാളത്തെ വിഷമങ്ങൾക്കും, സങ്കടങ്ങൾക്കുമൊടുവിൽ പഠനത്തോടുള്ള എന്റെ താത്പര്യം പാടെ നശിച്ചു എന്ന് തന്നെ പറയാം. കൂനുംമേൽ കുരു എന്നെ പോലെ എന്റെ സുഹൃത്തുക്കൾ അവരുടെ സ്റ്റാർട്ടപ്പിൽ നിന്നും എന്നെ പിരിച്ചു വിട്ടു. ഈ ക്ലേശകരമായ സമയം മുഴുവൻ വേർഡ്പ്രസ്സ് ആയിരുന്നു എനിക്ക് ആകെ ഉണ്ടായിരുന്ന തുണ.&nbsp;</p>\n\n\n\n<p>കോളേജിലെ വിഷമങ്ങൾ ഞാൻ മറന്നത് മനസ്സിലെ വേദനകൾ ബ്ലോഗിൽ സ്ഥിരമായി കുറിച്ചിട്ടുകൊണ്ടാണ്. പഠനത്തിൽ താത്പര്യം നശിച്ചിട്ടും, എന്നിലെ കെട്ടടങ്ങാത്ത ജിജ്ഞാസ, വേർഡ്പ്രെസ്സിൽ കോഡ് ചെയ്തും വെബ്‌സൈറ്റുകൾ നിർമിച്ചും പാഠ്യവിഷയങ്ങളുടെ പ്രായോഗിക തലങ്ങൾ കണ്ടെത്താൻ സഹായിച്ചു. </p>\n\n\n\n<blockquote><p></p><p>ചെറിയ വെബ് കരാർ ജോലികളുലൂടെയും, ഗൂഗിളിന്റെ ആഡ്‌സെൻസ് (Google AdSense) പ്രോഗ്രാം വഴി വന്ന ബ്ലോഗിലെ പരസ്യങ്ങളിലൂടെയും, ചെറിയ ഒരു വരുമാനം ഞാൻ നേടിത്തുടങ്ങി.</p></blockquote>\n\n\n\n<p>വൈകാതെ സ്വന്തം ഡൊമെയ്‌നും ഹോസ്റ്റിംഗും വാങ്ങിച്ച ശേഷം self-hosted വേർഡ്പ്രെസ്സിലേക്ക് ഞാൻ എന്റെ ബ്ലോഗ് മാറ്റി. ചുരുക്കി പറഞ്ഞാൽ കോളേജിൽ നിന്നും പഠിച്ചതിനേക്കാൾ വിഷയങ്ങൾ വേർഡ്പ്രസ്സ് എന്നെ പഠിപ്പിച്ചു. നാല് വർഷം കൊണ്ട് PHP, MySQL, വെബ് ഡെവെലപ്‌മെന്റ്, ഓപ്പൺ സോഴ്സ് തത്ത്വങ്ങൾ, മുതൽ പ്രഫഷണൽ എഴുത്ത് (ആംഗലേയത്തിൽ) വരെ വേർഡ്പ്രസ്സ് കാരണം ഞാൻ പഠിച്ചു. അതെ സമയം പല സമ്മാനങ്ങളും അംഗീകാരങ്ങളും എന്നെത്തേടി വന്നു തുടങ്ങി. ഇന്ത്യയിലെതന്നെ മികച്ച എഞ്ചിനിയറിങ്ങ് കോളേജുകളിൽ ഒന്നിൽ ക്ഷണിക്കപ്പെട്ട പ്രാസംഗികനാകാനും, സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഉപജ്ഞാതാക്കളിൽ പ്രമുഖനായ റിച്ചാർഡ് സ്റ്റാൾമാനെ നേരിട്ട് അഭിമുഖം ചെയ്യാനും, പ്രസിദ്ധമായ ഒരു ലോകോത്തര ഉപന്യാസ മത്സരത്തിൽ വിജയിക്കാനും, ഇന്ത്യയുടെ ഏറ്റവും മികച്ച ആംഗലേയ പത്രങ്ങളിൽ ഒന്നായ ‘ദി ഹിന്ദു’ ഇൽ ലേഖകനാകാനും എനിക്ക് സാധിച്ചു. അങ്ങനെ കഠിനമായ പ്രശ്നങ്ങളിലും വേദനകളിലും സന്തോഷം കണ്ടെത്തി വേർഡ്പ്രെസ്സ് കനിഞ്ഞനുഗ്രഹിച്ചു തന്ന ശക്തിയോടെ ഞാൻ മുന്നോട്ട് നടന്നു. <span></span></p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/1_Presenting_at-NITC-scaled.jpg\"><img /></a>നാഷണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ടെക്നോളജി കോഴിക്കോട് വച്ച് ബ്ലോഗ്ഗിങ്ങിനെ കുറിച്ച് ഞാൻ ഒരു പ്രസന്റേഷൻ നടത്തിയപ്പോൾ&nbsp;\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/2_Mindful_Leadership.jpg\"><img /></a>University of Dayton, Ohio ഉം&nbsp; Loyola Institute of Business Administration ഉം ഒരുമിച്ചു നടത്തിയ Mindful Leadership എന്ന ഉപന്യാസ മത്സരത്തിൽ മൂന്നാം സ്ഥാനം ലഭിച്ചപ്പോൾ\n\n\n\n<h2>ഓട്ടോമാറ്റിക്ക് കണ്ടെത്തുന്നു&nbsp;</h2>\n\n\n\n<p>വേർഡ്പ്രസ്സിനോടുള്ള കടുത്ത പ്രണയം മൂലമാകണം, ഞാൻ നടത്തിയ ഒരു അന്തർസർവ്വകലാശാല പ്രശ്നോത്തരിയിൽ വേർഡ്പ്രസ്സ് സഹസ്ഥാപകനായ മാറ്റ് മള്ളൻവെഗ്ഗിനെ കുറിച്ചുള്ള ഒരു ചോദ്യം ഞാൻ ചോദിക്കുകയുണ്ടായി. ചോദ്യത്തിന് ആരും ഉത്തരം നൽകിയില്ല, പക്ഷെ പരിപാടിക്കായി തയ്യാറെടുക്കവേ മാറ്റിന് ഓട്ടോമാറ്റിക്ക് ഇൻകോർപറേറ്റഡ് എന്ന പേരിൽ ഒരു കമ്പനി ഉണ്ട് എന്ന് ഞാൻ മനസ്സിലാക്കി. ആ സമയത്ത് ഓട്ടോമാറ്റിക്കിന് ലോകമൊട്ടുക്കെ മുപ്പതിലധികം ജീവനക്കാർ ഉണ്ടായിരുന്നുവെന്നും, ഓട്ടോമാറ്റിക്കിന്റെ ഉത്പന്നം ആണ് WordPress.com എന്നും ഞാൻ അറിഞ്ഞു. വേർഡ്പ്രസ്സ് എനിക്ക് എല്ലാമെല്ലാമായതിനാൽ ഓട്ടോമാറ്റിക്കിൽ ജോലി നേടുക എന്നത് അങ്ങനെ എന്റെ സ്വപനമായി. മാത്രമല്ല ഓട്ടോമാറ്റിക്ക് ഒരു ഡിസ്‌ട്രിബ്യുറ്റഡ് കമ്പനി ആയതിനാൽ അമേരിക്കൻ വിസയൊന്നും കൂടാതെ ഇന്ത്യയിൽ നിന്ന് തന്നെ, വീട്ടിലിരുന്ന് കൊണ്ട് നല്ല വരുമാനത്തോടെ ജോലി ചെയ്യാമെന്നത് എന്നിൽ പ്രതീക്ഷ ഉണർത്തി. “ഹാപ്പിനെസ്സ് എൻജിനിയർ” എന്ന വേർഡ്പ്രസ്സ് കസ്റ്റമർ സപ്പോർട്ട് തസ്തിക എന്റെ അന്നത്തെ കഴിവുകളും താത്പര്യങ്ങളുമായി യോജിച്ചിരുന്നതിനാൽ, കോളേജ് പഠനം പൂർത്തിയാക്കിയതിനു ശേഷം ആ തസ്തികയിലേക്ക് അപേക്ഷിക്കാം എന്ന് ഞാൻ ആകാശക്കോട്ട കെട്ടി.&nbsp;</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/3_Quiz.jpg\"><img /></a>മാറ്റിനെക്കുറിച്ചു ഞാൻ ചോദ്യം ചോദിച്ച അതെ പ്രശ്നോത്തരിയുടെ ഒരു ചിത്രം.\n\n\n\n<p>എന്നാൽ അധികം താമസിയാതെ എന്റെ ജീവിതം കീഴ്മേൽ മറിയും എന്ന് എനിക്കന്നറിയില്ലായിരുന്നു.&nbsp;</p>\n\n\n\n<h2>സ്വപ്നങ്ങൾക്ക് അകാല ചരമം</h2>\n\n\n\n<p>നാല് വർഷത്തെ കോളേജ് ജീവിതത്തെ കഷ്ടപ്പെടിനു ശേഷം ശോഭനമായ ഒരു കരിയർ പ്രതീക്ഷിച്ചിരുന്ന എന്നെ കാത്തിരുന്നത് ഇടി വെട്ടിയവനെ പാമ്പു കടിച്ച അവസ്ഥയാണ്. കൂടെ പഠിച്ചവരൊക്കെ ജോലിക്കും ഉപരിപഠനത്തിനുമായി റ്റാ റ്റാ പറഞ്ഞിറങ്ങുമ്പോൾ എനിക്ക് എൻജിനിയറിങ് ബിരുദം പോലും ലഭിച്ചില്ല &#8211; എട്ടാം സെമെസ്റ്ററിൽ ഹാജർ നില കുറവായിരുന്നതിൽ ജൂനിയർ വിദ്യാർത്ഥികളോടൊപ്പം ആ സെമസ്റ്റർ റിപ്പീറ്റ് ചെയ്യാൻ പറഞ്ഞു കോളേജ് അധികൃതർ കൈയൊഴിഞ്ഞു. അതോടെ ഭാവിയെക്കുറിച്ചുള്ള എന്റെ സ്വപ്നങ്ങളെല്ലാം തകർന്നടിഞ്ഞു. പ്രതീക്ഷ കൈവിടാതെ, ഞാൻ എട്ടാം സെമസ്റ്റർ ക്‌ളാസുകൾ തുടങ്ങും മുന്നേ ഉള്ള ആറു മാസം സമയം ഏതെങ്കിലും താത്കാലിക ജോലിയിൽ ചേർന്ന് പ്രവർത്തിപരിചയം പുതുക്കാം എന്ന് തീരുമാനിച്ചു. അങ്ങനെ, തിരുവനന്തപുരം ആസ്ഥാനമായ ഒരു വെബ് പോർട്ടലിൽ പത്രപ്രവർത്തകനായി തുച്ഛശമ്പളത്തോടെയുള്ള ജോലിയിൽ പ്രവേശിച്ചു. അവിടെയും ഈ പാവത്തിന് തോൽവികൾ മാത്രം ബാക്കി. അവിടെ രണ്ടു മാസം തികയ്ക്കുന്നതിന് തികയ്ക്കുന്നതിന് മുന്നേ അവർ എന്നെ മറുപുറം നോക്കാതെ പിരിച്ചു വിട്ടു. കിട്ടിയതോ, കരാർ പ്രകാരമുള്ള (തുച്ഛ) ശമ്പളത്തിന്റെ നേർപ്പകുതിയും; എന്റെ ജോലിയുടെ നിലവാരം വളരെ മോശമായിരുന്നു പോലും!</p>\n\n\n\n<blockquote><p>അങ്ങനെ അവസാനത്തെ അത്താണിയും കൈവിട്ട എന്റെ അവസ്ഥ പരിതാപകരമായി. </p></blockquote>\n\n\n\n<p>ഞാൻ ഒന്നിനും കൊള്ളാത്തവൻ ആണെന്നുള്ള തോന്നൽ&nbsp; പണ്ടേ എനിക്കുണ്ടായിരുന്നു &#8211; ഈ സംഭവങ്ങളോട് കൂടി&nbsp; ഞാൻ അത് ഉറപ്പിച്ചു. നാട്ടുകാരുടെയും വീട്ടുകാരുടെയും കുത്തുവാക്കുകളും പരിഹാസവും സഹിക്കാവുന്നതിനുമപ്പുറത്തായിരുന്നു. ഇതൊന്നും പോരാഞ്ഞിട്ട് എനിക്കെന്തോ കാര്യമായ കുഴപ്പമുണ്ടെന്ന ധാരണയോടെ, എന്റെ പ്രതിഷേധം വകവയ്ക്കാതെ, വീട്ടുകാർ നിർബന്ധപൂർവം എന്നെ ഒരു പ്രശസ്ത സൈക്യാട്രിസ്റ്റ്നെ കാണിച്ചു. ആദേശം എനിക്ക് കൊടിയ മാനസിക വിഭ്രാന്തിയാണെന്ന് വിധിയെഴുതിയെന്ന് മാത്രമല്ല ഹെവി ഡോസ്&nbsp; മരുന്നുകളും കല്പിച്ചു നൽകി. (പിടിച്ചു ചങ്ങലയ്ക്കിടാഞ്ഞത് എന്റെ ഭാഗ്യം!) മേൽപ്പറഞ്ഞ മരുന്നിന്റെ പാർശ്വഫലങ്ങൾ കാരണം ബാക്കിയുണ്ടായിരുന്ന മനസ്സമാധാനവും പോയി. പച്ച മലയാളത്തിൽ പറഞ്ഞാൽ എന്റെ ജീവിതം അതോടെ മൊത്തമായും ചില്ലറയായും നായ നക്കി.</p>\n\n\n\n<p>ഇത്രയൊക്കെ അനുഭവിച്ചിട്ടും, എന്റെ കൂടെ ഒരാൾ അപ്പോഴും കൂട്ടിനുണ്ടായിരുന്നു &#8211; നമ്മുടെ പഴയ സുഹൃത്തായ വേർഡ്പ്രസ്സ്!&nbsp;</p>\n\n\n\n<p>തീയിൽ കുരുത്താൽ വെയിലത്തു വാടില്ല എന്നാണല്ലോ പഴമൊഴി. അങ്ങനെ തീയിൽ കത്തി നശിച്ചു വെയിലത്തു ഒരു കരികട്ട പോലെ കിടന്നുരുകുമ്പോളാണ് എനിക്ക് ഒരു സത്യം മനസ്സിലായത്. ജീവിതത്തിൽ എന്തൊക്കെ നഷ്ടപ്പെട്ടാലും എനിക്കുള്ള വേർഡ്പ്രസ്സ് പരിജ്ഞാനം ഒരിക്കലും നഷ്ടപ്പെടില്ല. വേർഡ്പ്രെസ്സിൽ ഞാനൊരു പുലി തന്നെ ആയിരുന്നു എന്ന് മാത്രമല്ല വേർഡ്പ്രെസ്സിൽ എന്ത് വേണമെങ്കിലും ചെയ്യാം എന്ന ആത്മവിശ്വാസവും എനിക്കുണ്ടായിരുന്നു. അങ്ങനെ പൂജ്യത്തിൽ നിന്നും ഞാൻ പതുക്കെ കര കയറി തുടങ്ങി. ഇടയ്ക്കൊക്കെ ചെയ്തിരുന്ന കരാറടിസ്ഥാനത്തിലുള്ള ജോലികൾ (freelancing) സ്ഥിരമായി ചെയ്തായിരുന്നു എന്റെ തുടക്കം. വരുമാനമൊക്കെ കണക്കായിരുന്നു, പക്ഷെ എന്റെ ആവശ്യങ്ങൾക്കുള്ള പണം കിട്ടുന്നുണ്ടായിരുന്നു. ഓരോ ജോലി തീർത്തു കൊടുക്കുമ്പോഴും ക്ലയന്റ്സിന്റെ നല്ല വാക്കുകൾ കേൾക്കുമ്പോഴും ആത്മവിശ്വാസം വർധിക്കുന്നത് ഞാനറിഞ്ഞു. വീട്ടുകാർക്ക് അപ്പോഴും എന്നോട് നല്ല പുച്ഛമായിരുന്നു &#8211; ഞാൻ ജോലി ചെയ്യുമ്പോൾ പോയി പഠിക്കാനോ ജോലിക്ക് അപേക്ഷിക്കാനോ ഒക്കെ പറഞ്ഞു അവർ എന്നെ വഴക്കു പറയുമായിരുന്നു. ഞാൻ അതൊന്നും കാര്യമാക്കാതെ ജോലിയിൽ മുഴുകി. വൈകാതെ കോളേജ് എന്ന പെരുമൺ ദുരന്തം അവസാനിച്ചു. ഇതിനിടെ, വീട്ടുകാരറിയാതെ,&nbsp; അറിയപ്പെടുന്ന മറ്റൊരു സൈക്കോളജിസ്റ്റിനെ ഞാൻ കണ്ടു. വിദഗ്‌ധ പരിശോധനയ്ക്ക് ശേഷം എനിക്ക് മാനസിക ബുദ്ധിമുട്ട് ഒന്നും തന്നെ ഇല്ല എന്ന് അദ്ദേഹം വിധിയെഴുതുകയും, മരുന്നുകൾ നിർത്തുകയും ചെയ്തു. പതുക്കെ ഞാൻ ജീവിതത്തിലേക്ക് വീണ്ടും പിച്ച വച്ച് തുടങ്ങി.&nbsp;</p>\n\n\n\n<p>പിന്നീടങ്ങോട്ട് എന്റെ വളർച്ചയുടെ കാലമായിരുന്നു &#8211; ചെറിയ ചെറിയ കാൽവയ്പുകളും കുഞ്ഞു കുഞ്ഞു സന്തോഷങ്ങളും. വേർഡ്പ്രസ്സ് എനിക്ക് ഒടുവിൽ ‘നല്ല’ ഒരു ജോലി നേടി തന്നു. കൊച്ചി ആസ്ഥാനമായ ഒരു ടെക്‌നോളജി സ്റ്റാർട്ടപ്പ് എന്നെ അവരുടെ പ്രൊജക്റ്റ് മാനേജരായി നിയമിച്ചു. എന്റെ പ്രധാന ജോലി അവിടുത്തെ വേർഡ്പ്രസ്സ് വെബ്‌സൈറ്റുകളുടെ ഒരു ശൃംഖല നടത്തിക്കൊണ്ടു പോവുക എന്നതായിരുന്നു &#8211; ഞാൻ ഒത്തിരി സന്തോഷത്തോടുകൂടിയും ആത്മാർത്ഥതയോടുകൂടിയും&nbsp; ആ ജോലി ഏറ്റെടുത്തു. എന്റെ ബോസും, കൂടെ ജോലി ചെയ്യുന്ന ആൾകാരുമൊക്കെ എന്നെ ഒത്തിരി അഭിനന്ദിച്ചു. അങ്ങനെ വൈകിയാണെങ്കിലും ഞാൻ ജീവിത വിജയത്തിന്റെ ആദ്യ പടവുകളിലേക്കെത്തി. തുടർന്ന് പല ജോലികൾ ചെയ്ത ശേഷം ഒടുവിൽ ഇന്ത്യയിലെ ഒരു പ്രധാന പൊതു മേഖല ബാങ്കിൽ എനിക്ക് ജോലി കിട്ടി. ഈ സമയത്താണ് ഞാൻ ഒരു സ്നേഹനിധിയായ പെൺകുട്ടിയെ പരിചയപ്പെടുന്നതും അവളെ ജീവിതസഖിയാക്കുന്നതും. കല്യാണം കഴിഞ്ഞ് ഞങ്ങൾ ഒരു ഫ്ലാറ്റ് വാടകയ്‌ക്കെടുത്തു ഒരുമിച്ചു ജീവിതം തുടങ്ങി. ഒരു വ്യാഴവട്ട കാലത്തിനു ശേഷം ജീവിതത്തിലാദ്യമായി ഞാനും സ്വന്തം കാലിൽ ഞാനും നിന്നു തുടങ്ങി &#8211; എല്ലാ രീതിയിലും!&nbsp;</p>\n\n\n\n<p>ഇതിനിടെ വേർഡ്പ്രസ്സ് എന്റെ മനസ്സിൽ നിന്നും പോയിരുന്നില്ല. ബാങ്കിൽ ഡെപ്പോസിറ്റുകൾ സ്വീകരിക്കുമ്പോഴും ലോണുകൾ നൽകുമ്പോഴും എന്ത് വേർഡ്പ്രസ്സ്, എന്ന് നിങ്ങൾ ചിന്തിക്കുന്നുണ്ടാവും. എന്നാൽ സമയം കിട്ടുമ്പോഴൊക്കെ ഞാൻ വേർഡ്പ്രസ്സ് പൊടി തട്ടി എടുക്കുമായിരുന്നു &#8211; അത് ഒരു പ്രത്യേക സന്തോഷം തന്നെ ആയിരുന്നു! എന്റെ റ്റ്വിറ്റർ ബയോയിൽ ഞാൻ അപ്പോഴും എന്നെത്തന്നെ വിളിച്ചിരുന്നത് ഒരു “WordPress guru” എന്നുതന്നെയാണ്. കുറച്ചു നാളുകൾക്ക് ശേഷം ബാങ്ക് ജോലി എനിക്ക് നന്നേ മടുത്തു. കരിയറിന്റെ അടുത്ത പടിയിലേക്ക് കാൽ വയ്ക്കാൻ സമയമായി, എന്ന് എനിക്ക് തോന്നി തുടങ്ങി.&nbsp;</p>\n\n\n\n<h2>ഓട്ടോമാറ്റിക്കിന്റെ കടന്നുവരവ്</h2>\n\n\n\n<p>കരിയറിനെക്കുറിച്ച് ആലോചിച്ചപ്പോൾ എന്നിലെ വേർഡ്പ്രസ്സ് പ്രേമി ആദ്യം ആലോചിച്ചത് ഓട്ടോമാറ്റിക്കിനെക്കുറിച്ച് തന്നെയാണ്. ഇങ്ങനെ ഒരു കമ്പനിയുണ്ട് എന്ന് മനസ്സിലാക്കിയ ശേഷം കഴിഞ്ഞ ആറ് വർഷത്തിനിടയിൽ കമ്പനി വെബ്സൈറ്റിലെ ജോലികളെക്കുറിച്ചുള്ള പേജ് ഒരു നൂറു തവണയിൽ കൂടുതലെങ്കിലും ഞാൻ സന്ദർശിച്ചിട്ടുണ്ടാവണം. എന്തിനേറെ പറയുന്നു &#8211; പല തവണ ഞാൻ ജോലിക്ക് അപേക്ഷ അയക്കാൻ തുനിഞ്ഞതുമാണ്! എന്നെ പിടിച്ചു നിർത്തിയത് എന്നിലെ മുടിഞ്ഞ ആത്മവിശ്വാസമില്ലായ്മയായിരുന്നു. ഒരു സർക്കാരിതര സ്ഥാപനത്തിൽ ജോലി കിട്ടിയതിനു ശേഷവും കുടുംബത്തിലെ പുച്ഛത്തിനും പരിഹാസത്തിനും യാതൊരു കുറവുമില്ലായിരുന്നു എന്നത് തന്നെ കാര്യം! </p>\n\n\n\n<blockquote><p>എന്നിൽ അടിയുറച്ച വിശ്വവാസമുള്ള ഒരാൾ മാത്രമേ ഉണ്ടായിരുന്നുള്ളു &#8211; അത് മറ്റാരുമല്ല &#8211; എന്റെ ഭാര്യ അർച്ചന തന്നെ. </p></blockquote>\n\n\n\n<p>ഒരിക്കൽ രണ്ടും കല്പിച്ചു ഓട്ടമാറ്റികിൽ ജോലി ചെയ്യാനുള്ള എന്റെ അതിയായ ആഗ്രഹം ഭാര്യയോട് ഞാൻ പറഞ്ഞു. പുള്ളിക്കാരിയുടെ ഉത്തരം അക്ഷരാർത്ഥത്തിൽ എന്റെ കണ്ണ് നനയിച്ചു! “ചുമ്മാ അപ്ലൈ ചെയ്തോ, എങ്ങനെ പോയാലും ജോലി കിട്ടും &#8211; കിട്ടാതെ എവിടെ പോകാൻ?” ഇന്നും എന്റെ ഏറ്റവും വലിയ സുഹൃത്തും ശക്തിയും ആരാധികയുമൊക്കെ എന്റെ പ്രിയ ഭാര്യ മാത്രമാണ്! അർച്ചന അന്ന് എന്നോട് ഈ വാക്കുകൾ പറഞ്ഞിരുന്നില്ല എങ്കിൽ ഇനി നിങ്ങൾ വായിക്കാൻ പോകുന്ന സംഭവങ്ങൾ നടക്കുമായിരുന്നില്ല എന്നുള്ളത് പ്രപഞ്ച സത്യം!&nbsp;</p>\n\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/4_First_ever_WP_Swag.jpeg\"><img /></a>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/5_Archana_Hari_Berlin.jpeg\"><img /></a>അർച്ചനയും ഞാനും\n\n\n\n\n<p>അങ്ങനെ രണ്ടും കല്പിച്ചു ഞാൻ കളത്തിലിറങ്ങി. ആദ്യം വേർഡ്പ്രസ്സ് വീണ്ടും പഠിക്കാൻ തീരുമാനിച്ചു &#8211; ജോലി കഴിഞ്ഞുള്ള ഒഴിവു സമയം ഞാൻ വേർഡ്പ്രസ്സ് പരീക്ഷണങ്ങൾ നടത്തുവാനും വെബ്‌സൈറ്റുകൾ നിർമിക്കാനും ഉപയോഗിച്ചു. അത് കൂടാതെ wordpress.org ഇന്റെയും wordpress.com ഇന്റെയും സപ്പോർട്ട് ഫോറങ്ങളിൽ ചോദ്യങ്ങൾ ചോദിച്ചിരുന്ന ആൾകാരെ ഞാൻ സഹായിച്ചും തുടങ്ങി, കാരണം എന്റെ ലക്‌ഷ്യം ഹാപ്പിനെസ്സ് എൻജിനിയർ തസ്തിക തന്നെ ആയിരുന്നല്ലൊ. തമാശയെന്തെന്ന് പറയട്ടെ, ബാങ്കിലെ ജോലി കാരണം കസ്റ്റമർ സർവീസ് എനിക്ക് നന്നായി പഠിക്കാൻ സാധിച്ചു. ഏതൊരു പ്രതികൂല സാഹചര്യവും നേരിടാനുള്ള ചങ്കുറപ്പ് എനിക്ക്&nbsp; നേടാനായി. ഒൻപത് വർഷമായി വേർഡ്പ്രസ്സ് ഉപഭോക്താവായിരുന്നിട്ടു കൂടി വേർഡ്പ്രസിന്റെ ലോകമെമ്പാടുമുള്ള കൂട്ടായ്‌മയെക്കുറിച്ച് എനിക്ക് അധികം അറിവുണ്ടായിരുന്നില്ല. അതിനാൽ ഞാൻ അതിനെക്കുറിച്ചറിയാൻ സോഷ്യൽ മീഡിയയിൽ പരതി തുടങ്ങി. ആയിടയ്ക്കാണ് ഹീറോപ്രസ്സ് (HeroPress) എന്ന ട്വിറ്റർ അക്കൗണ്ട് കാണാനിടയതും ഫോളോ ചെയ്തതും. ഫോളോ ചെയ്തപാടെ അത് എന്നെ തിരിച്ചു ഫോളോ ചെയ്തത് എന്നിലെ കൗതുകമുണർത്തി. അന്ന് വൈകിട്ട് ഞാൻ https://heropress.com സന്ദർശിക്കുകയും, വേർഡ്പ്രസ്സ് മൂലം ജീവിത വിജയം നേടിയ ഇന്ത്യാക്കാരുൾപ്പടെയുള്ള പലരുടെയും പ്രചോദനം നൽകുന്ന കഥകൾ വായിക്കുകയും ചെയ്തു. അവയൊക്കെ വായിച്ച ശേഷം എന്നിൽ ബാക്കിയുണ്ടായിരുന്ന ഭയവും ആത്മവിശ്വാസക്കുറവും പമ്പ കടന്നു.</p>\n\n\n\n<p>പൂർവാധികം മുന്നോട്ടു നീങ്ങാൻ തയ്യാറെടുക്കുമ്പോഴും എന്റെ മനസ്സിൽ ഒരു ചോദ്യം പൊങ്ങി വന്നു &#8211; എന്നെങ്കിലും എനിക്ക്, എന്റെ തന്നെ കഥ, എന്റെ സ്വന്തം മാതൃഭാഷയായ മലയാളത്തിൽ, ഈ വെബ്‌സൈറ്റിൽ എഴുതാൻ അവസരം കിട്ടുമോ?</p>\n\n\n\n<h2>സ്വപനം സത്യമാകുന്നു</h2>\n\n\n\n<p>അങ്ങനെ മൂന്നു മാസത്തെ കഠിന പരിശീലനത്തിനൊടുവിൽ ഞാൻ ഓട്ടോമാറ്റിക്കിലെ ഹാപ്പിനെസ്സ് എൻജിനിയർ തസ്തികയിലേക്ക് അപേക്ഷ അയച്ചു, നവംബർ 2015 ഇൽ. മൂന്നാഴ്ചയ്ക്ക് ശേഷം അവർ ഞാനുമായി ബന്ധപ്പെട്ടു. തിരഞ്ഞെടുപ്പ് പ്രക്രിയ അല്പം കഠിനമായിരുന്നു. ഒരു കൂട്ടം അഭിമുഖങ്ങൾക്കും ജോലികൾക്കും ശേഷം ശമ്പളത്തോടു കൂടെയുള്ള ട്രയൽ (പരീക്ഷണാടിസ്ഥാനത്തിലുള്ള താത്കാലിക നിയമനം) ആയിരുന്നു, ഏകദേശം ആറാഴ്ചകളോളം. അവയ്‌ക്കൊക്കെ ഒടുവിൽ 2016 ഫെബ്രുവരി മാസം, രണ്ടു മണിക്കൂർ നീണ്ട അഭിമുഖത്തിന് ശേഷം, മാറ്റ് മള്ളൻവെഗ്ഗ് (അതെ, വേർഡ്പ്രസ്സിന്റെ സഹ-സ്ഥാപകനും ഓട്ടോമാറ്റിക്കിന്റെ CEO യുമായ കക്ഷി തന്നെ &#8211; ഇദ്ദേഹത്തെകുറിച്ചാണ് ഏഴു വർഷം മുൻപ് ഞാൻ ക്വിസ് ചോദ്യം ഉണ്ടാക്കിയത് എന്ന് ഓർക്കണം) എനിക്ക് ഓട്ടോമാറ്റിക്കിൽ ഹാപ്പിനെസ്സ് എൻജിനിയർ ആയി ജോലിക്ക് ചേരാനുള്ള ഓഫർ ലെറ്റർ നൽകി.</p>\n\n\n\n<p>നാൾ മുൻപ് “ദി പർസ്യൂട്ട് ഓഫ് ഹാപ്പിനെസ്സ്” (The Pursuit of Happiness) എന്ന ഹോളിവുഡ് ചലച്ചിത്രം ഞാൻ (വീണ്ടും) കാണാനിടയായി. എനിക്ക് ഓഫർ ലെറ്റർ കിട്ടിയ ആ നിമിഷം, ആ ചിത്രത്തിന്റെ അവസാനഭാഗത്തെ ഒരു സംഭാഷണ ശകലം എനിക്ക് ഓർമ്മ വന്നു..&nbsp;</p>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/6_was-it-as-easy.jpeg\"><img /></a></div>\n\n\n<p>അടുത്ത കുറച്ചു നിമിഷങ്ങളിൽ എനിക്ക് കണ്ണിൽ ഇരുട്ടു കയറുന്നതു പോലൊയൊക്കെ തോന്നി. ഞാൻ സന്തോഷത്തിന്റെ മൂർദ്ധന്യാവസ്ഥയിലായിരുന്നു. ജീവിതത്തിൽ അന്നേ വരെ ഏറ്റവും കൂടുതൽ ആനന്ദിച്ച നിമിഷങ്ങളിൽ ഒന്ന്. ഞാൻ ഇന്നും വ്യക്തമായി ഓർക്കുന്നു &#8211; പകുതി ഉറക്കത്തിലായിരുന്ന അർച്ചയോട് സന്തോഷ വാർത്ത പറയുന്നതും ഞങ്ങൾ കെട്ടിപ്പിടിച്ച് കുറെ നേരം സന്തോഷം കൊണ്ട് കരയുന്നതും…&nbsp;</p>\n\n\n\n<blockquote><p>ജീവിതത്തിൽ ഞാൻ വളരെയധികം വിഷമിച്ചിട്ടുണ്ട് &#8211; ഒരു പക്ഷെ ഒരു സാധാരണ മനുഷ്യന് താങ്ങാവുന്നതിനേക്കാളപ്പുറം. പലപ്പോഴും വിഷമം സഹിക്കവയ്യാതെ ജീവിതം അവസാനിപ്പിച്ചാലോ എന്ന് ചിന്തിച്ചിട്ടുണ്ട്. </p></blockquote>\n\n\n\n<p>ആയടുത്തിടയ്ക്ക് പോലും എന്റെ കുടുംബാംഗങ്ങളും ബന്ധുക്കളും പല നാട്ടുകാരും എന്റെ തോൽവികളും പ്രശ്നങ്ങളും ചൂണ്ടിക്കാട്ടി കളിയാക്കിയിരുന്നു. ചിലർ ഒരു ദാക്ഷിണ്യവുമില്ലാതെ തെറി വരെ വിളിച്ചിട്ടുണ്ട്. മറ്റൊന്നും കൊണ്ടല്ല &#8211; <em>“കുടുംബത്തിന് മാനക്കേണ്ടുണ്ടാക്കാൻ വേണ്ടി മാത്രം ജനിച്ചവൻ”</em> ആയിരുന്നല്ലൊ&nbsp; ഞാൻ. <em>“നിന്നെക്കൊണ്ട്&nbsp; ഒന്നിനും കൊള്ളില്ല! നീ ഇതൊക്കെ നിർത്തി കിളയ്ക്കാനോ, പശുവിനെ മേയ്ക്കാനോ പോയ്കൂടെടാ മണ്ടാ”</em>, എന്നും മറ്റും എന്റെ സ്വന്തം അച്ഛൻ തന്നെ എത്ര തവണ പ്രാകിയിട്ടുണ്ട്…&nbsp;</p>\n\n\n\n<p>എന്നാൽ ആ ദിവസം “കുടുംബത്തിലെ അസുരവിത്ത്” ആയ ഞാൻ, അതാ എന്റെ സ്വപ്ന ജോലിയുടെ ഓഫർ ലെറ്റർ കയ്യിലേന്തി അഭിമാനത്തോടെ തലയുയർത്തി നിന്നു. വീട്ടുകാർക്കും നാട്ടുകാർക്കും ഉത്തരം മുട്ടിപ്പോയി. എല്ലാം, ലോകമൊട്ടുക്കുമുള്ള സംഭാവക്കാർ നിർമ്മിച്ച ഒരു സ്വതന്ത്ര സോഫ്റ്റ് വെയറും അതിന്റെ കൂട്ടായ്മയും കാരണം മാത്രം…&nbsp;</p>\n\n\n\n<h2>കഥ തുടരുന്നു</h2>\n\n\n\n<p>ശേഷിച്ച എന്റെ ജീവിതം സ്വപ്ന തുല്യമായിരുന്നു. ഇന്നും ചില ദിവസങ്ങളിൽ ഞാൻ എന്നെ തന്നെ ഒന്ന് നുള്ളി നോക്കും, ഇതൊക്കെ സത്യമാണോ അതോ വെറും സ്വപ്നമാണോ എന്ന് ഉറപ്പിക്കാൻ. വേർഡ്പ്രസ്സ് എന്ന സോഫ്ട്&#x200d;വെയർ കാരണം ഞാൻ ഇന്നൊരു നല്ല മനുഷ്യനായി, ഒരു നല്ല പ്രൊഫഷണലായി, മികച്ച ഒരു നേതാവായി മാറിയിരിക്കുന്നു. ഓട്ടോമാറ്റിക്കിൽ ഔദ്യോഗികമായി ജോലി തുടങ്ങി ആദ്യ ആഴ്ചയ്ക്കുള്ളിലെ ഞാൻ അമേരിക്കയിലെ ടെക്സസിലുള്ള ഓസ്റ്റിൻ നഗരത്തിലേക്ക് പറന്നു, എന്റെ ടീമംഗളുമായി ഒരാഴ്ച ചെലവിടാൻ. അമേരിക്ക പോയിട്ട് തിരുവനന്തപുരം മുതൽ നെടുമ്പാശ്ശേരി വരെ പോലും ഫ്ലൈറ്റിൽ പോകുന്ന കാര്യം ചിന്തിക്കാൻ പോലും പറ്റാത്ത ഒരു കാലമുണ്ടായിരുന്നു എനിക്ക്. ആ ഞാൻ കഴിഞ്ഞ ആറു വർഷങ്ങൾക്കുള്ളിൽ നടത്തിയ വിദേശ യാത്രകളും, യാത്ര ചെയ്ത ലോകമൊട്ടുക്കുമുള്ള സ്ഥലങ്ങളും, കടന്ന് പോയ അനുഭവങ്ങളും എണ്ണമറ്റതാണ്. എനിക്കിന്ന് ലോകമെമ്പാടും സുഹൃത്തുക്കളുണ്ട് &#8211; ലോകത്തിന്റെ ഏത് കോണിൽ ഞാൻ പെട്ട് പോയാലും, വിളിപ്പുറത്ത് ഒരു പരിചയക്കാരനോ പരിചയക്കാരിയോ ഉണ്ടാകും എന്ന് പറഞ്ഞാൽ അതിൽ അതിശയോക്തി ലവലേശം ഇല്ല!&nbsp;</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/7_In_Austin_With_Teammates-scaled.jpeg\"><img /></a><em>ആദ്യമായി അമേരിക്കയിൽ യാത്ര ചെയ്തപ്പോൾ കൂടെ ടീമിൽ ജോലി ചെയ്തവരോടൊപ്പം എടുത്ത ഒരു ചിത്രം &#8211; ടെക്‌സാസിലെ ഓസ്റ്റിനിൽ&nbsp;</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/8_Hari_Lisbon-scaled.jpeg\"><img /></a><em>പോർചുഗലിലെ ലിസ്ബൺ നഗരത്തിൽ ടീമംഗളോടൊപ്പം&nbsp;</em>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/9_A8cGM_Whistler.jpg\"><img /></a>ടീമംഗളോടൊപ്പം കാനഡയിലെ വിസ്ലർ എന്ന സ്ഥലത്തു വച്ച് നടന്ന ഓട്ടോമാറ്റിക്കിന്റെ ഗ്രാൻഡ് മീറ്റപ്പിൽ&nbsp;\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/10_Bubble_Football.png\"><img /></a><em>ബൈബിൾ ഫുട്ബോൾ എന്ന ഒരു മത്സരത്തിൽ പങ്കെടുത്ത ശേഷം ടീമിനൊപ്പം സ്‌പെയിനിലെ ബാഴ്സിലോണയിൽ.</em>\n\n\n\n<p>ഓട്ടമാറ്റിക്കിൽ ജോലി കിട്ടിയ ശേഷവും വേർഡ്പ്രസ്സുമായുള്ള എന്റെ പ്രണയം ശക്തമായി തന്നേ വളർന്നു. ഞാൻ ഒരിക്കൽ ദൂരെ നിന്ന് വീക്ഷിച്ചിരുന്ന ആ കൂട്ടായ്മയിൽ ഞാനും സജീവ അംഗമായി. കേരളത്തിലേക്ക് ഞാനും എന്റെ കൂട്ടുകാരും വേർഡ്പ്രസ്സ് തരംഗം കൊണ്ട് വന്നു. മറ്റു വേർഡ്പ്രസ്സ് ഉപഭോക്താക്കളോട് കൂടി ഞങ്ങൾ കഴിഞ്ഞ ഏതാനും വർഷങ്ങൾക്കുള്ളിൽ ഡസൻ കണക്കിന്&nbsp; മീറ്റപ്പുകളും മൂന്ന് വേർഡ്പ്രസ്സ് കോൺഫറൻസുകളായ വേർഡ്‌ക്യാമ്പുകളും നടത്തി, അതെ, നമ്മുടെ കൊച്ചു കേരളത്തിൽ തന്നെ. കൂട്ടായ്മയോടൊപ്പം ഞങ്ങൾ വേർഡ്പ്രസ്സ് മലയാളത്തിലേക്ക് തർജ്ജിമ ചെയ്യാൻ ഇന്നും കിണഞ്ഞു പരിശ്രമിച്ചുകൊണ്ടിരിക്കുകയാണ്. ഇന്ത്യൻ വേർഡ്പ്രസ്സ് കൂട്ടായ്മയിലെ മറ്റു അംഗങ്ങളുമായും ഞാൻ സൗഹൃദം സ്ഥാപിച്ചു. ആദിത്യ, അജയ്, അജിത്ത്, അലക്സ്, അരവിന്ദ്, ബിഗുൽ, ഹർദീപ്, ഹിത, ജഗദീപ്, നെബു, നിതിൻ, രോഹിത്ത്, ഷീബ, യോഗേഷ്… സുഹൃത്തുക്കളുടെ പട്ടിക നീണ്ടതാണെന്നു മാത്രമല്ല, ഇവരിൽ പലരും ഇന്ന് എന്റെ ഏറ്റവും അടുത്ത സ്നേഹിതരുമാണ്.&nbsp;</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/11_Presenting_at_Kochi_Meetup.jpeg\"><img /></a>കൊച്ചിയിൽ വച്ച് നടന്ന ഒരു വേർഡ്പ്രസ്സ് മീറ്റപ്പിൽ സംസാരിക്കുമ്പോൾ&nbsp;\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/12_Presenting_at_Udaipur.jpeg\"><img /></a>ഉദയ്പ്പൂർ വച്ച് നടന്ന ഒരു വേർഡ്പ്രസ്സ് മീറ്റപ്പിൽ വച്ച്&nbsp;\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/13_WC_Kochi.jpeg\"><img /></a>വേർഡ്ക്യാമ്പ് കൊച്ചിയിൽ ഉദ്‌ഘാടന പ്രസംഗവും നടത്തവേ&nbsp;\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/14_WCKochi_Organizing_team-scaled.jpg\"><img /></a>വേർഡ്ക്യാമ്പ് കൊച്ചി 2018 ഇന്റെ ഓർഗനൈസിംഗ് ടീമിനോടൊപ്പം <span></span>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/15_WC_Pune_2017.jpeg\"><img /></a><em>വേർഡ്ക്യാമ്പ് പൂനയിൽ വച്ച് സുഹൃത്തുക്കളോടൊപ്പം&nbsp;</em>\n\n\n\n<p>വേർഡ്പ്രസ്സ് കൂട്ടായ്മയുമായുള്ള എന്റെ സമ്പർക്കം ഒഴിവു സമയങ്ങളിലുള്ള സ്വമേധയായുള്ള പ്രവർത്തനം&nbsp; മാത്രമായിരുന്നു, അത് കമ്പനിയിലെ എന്റെ ജോലിയുടെ ഭാഗമല്ലായിരുന്നു. എന്നാൽ ഓട്ടോമാറ്റിക്കിനുള്ളിൽ ലോകമെമ്പാടുമുള്ള വേർഡ്പ്രസ്സ് കൂട്ടായ്മയെ പോഷിപ്പിക്കാനയുള്ള ഒരു മുഴുനീള തസ്തികൈയിലേക്ക് അപേക്ഷകൾ ക്ഷണിക്കുകയും,എന്റെ സംഭാവനകളെ മാനിച്ച് അതിലേക്ക് എന്നെ തിരഞ്ഞെടുക്കയും ചെയ്തു. 2020 ഏപ്രിൽ മാസത്തിൽ ഓട്ടോമാറ്റിക്കിൽ ഞാൻ&nbsp; കമ്യൂണിറ്റി മാനേജർ ആയി നിയമിക്കപ്പെട്ടു. ഇന്ന് എന്റെ മുഴുനീള ജോലി ഇന്ന് ലോകമെമ്പാടും&nbsp; ലക്ഷക്കണക്കിന് അംഗങ്ങളുള്ള വേർഡ്പ്രസ്സ് കൂട്ടായ്മയുടെ മേൽനോട്ടമാണ്, ഓട്ടമാറ്റിക്കിന്റെ ഫൈവ് ഫോർ ദി ഫ്യുച്ചർ സംഭാവനകളുടെ ഭാഗമായി. എന്റെ ജീവിതത്തിലെ ഏറ്റവും വിജയകരമായ കരിയർ നീക്കങ്ങളിൽ ഒന്നായിരുന്നു ഇത്, കാരണം ഇത് ഇന്ന് ഇത് എനിക്കേറെ ഇഷ്ടപ്പെട്ട തൊഴിൽ ആണ്. കഴിഞ്ഞ രണ്ടു വർഷത്തിനുള്ളിൽ, പ്രയാസങ്ങളേറിയ കോവിഡ് കാലത്തിനിടയ്ക്ക്, ഞങ്ങളുടെ കൂട്ടായ്മയുടെ കൂടെ നിന്നപ്പോഴാണ് ഇതിന്റെ ഒരുമയും ശക്തിയും എനിക്ക് പൂർണമായും മനസ്സിലായത്. ഇന്നും മുന്നോട്ട് പോകാനുള്ള ഊർജ്ജം നൽകുന്നത് ഈ കൂട്ടായ്മയാണ്.&nbsp;</p>\n\n\n\n<p>ജനുവരി മുതൽ മാർച്ച് 2022 കാലഘട്ടത്തിൽ എന്റെ ടീമിനെ താത്കാലികമായി നയിക്കാൻ എനിക്ക് അവസരം ലഭിച്ചു. പുതിയതായി നാല് അംഗങ്ങളെ ടീമിൽ നിയമിക്കുവാനും അവരെ പരിശീലിക്കുവാനും എനിക്ക് സാധിച്ചു &#8211; എന്റെ കരിയറിലെ ഏറ്റവും വിലപ്പെട്ട ഒരു ഏടായി ഞാൻ ഈ അനുഭവത്തെ&nbsp; കാണുന്നു. ഈ കൊല്ലത്തിന്റെ തുടക്കത്തിൽ ലോകമെമ്പാടുമുള്ള വേർഡ്പ്രസ്സ് കൂട്ടായ്മയുടെ കൂട്ടായ്മ പ്രതിനിധി ആയി ഞാൻ തിരഞ്ഞെടുക്കപ്പെട്ടു. ഒരു കൂട്ടം സന്നദ്ധരായ സംഘാടകരുടെ സഹയാത്തോടെ ലോകത്തെ ഏറ്റവും വലിയ വേർഡ്പ്രസ്സ് കോൺഫറൻസ് ആയ WordCamp Europe 2022 പോർചുഗലിലെ പോർട്ടോ നഗരത്തിൽ ഞങ്ങൾ ഈയിടെ വിജയകരമായി നടത്തുകയുണ്ടായി. ഞാൻ ഈ ഉപന്യാസം എഴുതുന്ന വേളയിൽ,&nbsp; “sabbatical” എന്ന ഔദ്യോഗിക നാമമുള്ള മൂന്ന് മാസം നീണ്ട ശമ്പളത്തോടു കൂടിയുള്ള ലീവിൽ ആണ് ഞാൻ (ഓട്ടോമാറ്റിക്കിലെ എല്ലാ ജീവനക്കാരും അഞ്ചു കൊല്ലം ജോലി ചെയ്താൽ, അവർക്ക് മൂന്ന് മാസം നീണ്ട ശമ്പളത്തോട് കൂടിയുള്ള അവധിയായ സബാറ്റിക്കൽ ലഭിക്കുന്നതാണ്).&nbsp;</p>\n\n\n\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/16_My_Current_a8c_team-scaled.jpeg\"><img /></a><em>ഇപ്പോൾ ജോലി ചെയ്യുന്ന ടീമംഗളോടൊപ്പം സ്‌പെയിനിലെ ബാഴ്സിലോണയിൽ വച്ച്&nbsp;</em>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://heropress.com/wp-content/uploads/2022/07/17_WCEU2022_Community_Team_table.jpeg\"><img /></a><em>2022 ഇൽ നടന്ന വേർഡ്ക്യാമ്പ് യൂറോപ്പിൽ കമ്മ്യുണിറ്റി ടീമിന്റെ സംഭാവന ടേബിളുകളെ അവതരിക്കുന്നതിനിടെ&nbsp;</em></div>\n\n\n<p>ഇന്നേക്ക് ഞാൻ ഒരു വേർഡ്പ്രസ്സ് ഉപഭോക്താവായിട്ടു പതിനാറ് കൊല്ലം തികയുന്നു. അതെ എന്റെ ജീവിതത്തിന്റെ പകുതിയോളം കാലം കഴിഞ്ഞിരിക്കുന്നു ഞാൻ ആദ്യമായി വേർഡ്പ്രസ്സ് ഉപയോഗിക്കാൻ തുടങ്ങിയിട്ട്. ചില ദിവസങ്ങളിൽ എന്റെ മനസ്സ് ഇന്നും എന്റെ ആ 22ആം പിറന്നാൾ ദിനത്തിലക്ക് പോകും. അന്ന്, എല്ലാ പ്രതീക്ഷയും നഷ്ടപ്പെട്ടിരുന്ന ഞാൻ വേർഡ്പ്രസ്സിനെ ഇരു കയ്യാലെ മുറുകെ പിടിച്ചിരുന്നു. എനിക്ക് ഒരിക്കലും സ്വപ്നം പോലും കാണാൻ പറ്റാത്ത ഒരു ജീവിതം വേർഡ്പ്രസ്സ് എനിക്ക് തരും എന്ന് എനിക്ക് അറിയുമായിരുന്നില്ല. എന്നിരുന്നാലും, ഞാൻ വേർഡ്പ്രസ്സ് ഉപയോഗിച്ചുകൊണ്ടേയിരുന്നു, കാരണം എന്നെ നയിച്ചിരുന്നത് ആ സോഫ്റ്റ് വെയറിനോടുള്ള അടങ്ങാത്ത അഭിനിവേശവും അതുപയോഗിക്കുമ്പോഴുള്ള സംപ്ത്രിപ്തിയും മാത്രമായിരുന്നു. മാത്രമല്ല,&nbsp; എന്റെ ജീവിതത്തിലെ ഏറ്റവും വിഷമകരമായ ദിനങ്ങളിലും, വേർഡ്പ്രസ്സും അതിന്റെ കൂട്ടായ്മയും എനിക്ക് കൈത്താങ്ങായി ഉണ്ടായിരുന്നു.</p>\n\n\n\n<p>ഇന്ന്, ജീവിതത്തിൽ ഞാൻ എന്തെങ്കിലും നേടിയിട്ടുണ്ടെങ്കിൽ, അതിന് കാരണം വേർഡ്പ്രസ്സും അതിന്റെ ലോകമെമ്പാടുമുള്ള കൂട്ടായ്മയുമാണ്.&nbsp;</p>\n\n\n\n<p>അതിനായി ഞാൻ എന്നെന്നും കടപ്പെട്ടവനായിരിക്കും.&nbsp;</p>\n<p>The post <a rel=\"nofollow\" href=\"https://heropress.com/essays/finding-a-second-chance-in-life-through-wordpress/\">Finding a second chance in life through WordPress &#8211; വേർഡ്പ്രസ്സിലൂടെ ജീവിതവിജയം</a> appeared first on <a rel=\"nofollow\" href=\"https://heropress.com\">HeroPress</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 13 Jul 2022 00:30:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Hari Shanker\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WordPress.org blog: WordPress 6.0.1 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=13138\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://wordpress.org/news/2022/07/wordpress-6-0-1-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5450:\"<h2>WordPress 6.0.1 is now available</h2>\n\n\n\n<p>This maintenance release features <a href=\"https://core.trac.wordpress.org/query?milestone=6.0.1\">13 bug fixes in Core</a> and <a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.0\">18 bug fixes</a> for the Block Editor. WordPress 6.0.1 is a short-cycle maintenance release. You can review a summary of the key updates in this release by reading the <a href=\"https://make.wordpress.org/core/2022/07/05/wordpress-6-0-1-rc-1-is-now-available/\">RC1 announcement</a>.</p>\n\n\n\n<p>The next major release will be <a href=\"https://make.wordpress.org/core/2022/06/23/wordpress-6-1-planning-roundup/\">version 6.1</a> planned for later in 2022.</p>\n\n\n\n<p>If you have sites that support automatic background updates, the update process will begin automatically.</p>\n\n\n\n<p>You can <a href=\"https://wordpress.org/wordpress-6.0.1.zip\">download WordPress 6.0.1 from WordPress.org</a>, or visit your WordPress Dashboard, click “Updates”, and then click “Update Now”.</p>\n\n\n\n<p>For more information, check out the <a href=\"https://wordpress.org/support/wordpress-version/version-6-0-1/\">version 6.0.1 HelpHub documentation page</a>.</p>\n\n\n\n<h2>Thank you to these WordPress contributors</h2>\n\n\n\n<p>The WordPress 6.0.1 release is led by <a href=\"https://profiles.wordpress.org/sergeybiryukov/\">@sergeybiryukov</a> and <a href=\"https://profiles.wordpress.org/zieladam/\">@zieladam</a>.</p>\n\n\n\n<p>WordPress 6.0.1 would not have been possible without the contributions of more than 50 people. Their asynchronous coordination to deliver several enhancements and fixes into a stable release is a testament to the power and capability of the WordPress community.</p>\n\n\n\n<p><a href=\"https://profiles.wordpress.org/zieladam/\">Adam Zielinski</a>, <a href=\"https://profiles.wordpress.org/addiestavlo/\">Addie</a>, <a href=\"https://profiles.wordpress.org/oztaser/\">Adil Öztaşer</a>, <a href=\"https://profiles.wordpress.org/andrewserong/\">Andrew Serong</a>, <a href=\"https://profiles.wordpress.org/annezazu/\">annezazu</a>, <a href=\"https://profiles.wordpress.org/bernhard-reiter/\">Bernie Reiter</a>, <a href=\"https://profiles.wordpress.org/cbravobernal/\">Carlos Bravo</a>, <a href=\"https://profiles.wordpress.org/poena/\">Carolina Nymark</a>, <a href=\"https://profiles.wordpress.org/critterverse/\">Channing Ritter</a>, <a href=\"https://profiles.wordpress.org/costdev/\">Colin Stewart</a>, <a href=\"https://profiles.wordpress.org/petitphp/\">Clement Boirie</a>, <a href=\"https://profiles.wordpress.org/danieliser/\">Daniel Iser</a>, <a href=\"https://profiles.wordpress.org/denishua/\">denishua</a>, <a href=\"https://profiles.wordpress.org/dd32/\">Dion Hulse</a>, <a href=\"https://profiles.wordpress.org/kebbet/\">Erik Betshammar</a>, <a href=\"https://profiles.wordpress.org/gabertronic/\">Gabriel Rose</a>, <a href=\"https://profiles.wordpress.org/mamaduka/\">George Mamadashvili</a>, <a href=\"https://profiles.wordpress.org/georgestephanis/\">George Stephanis</a>, <a href=\"https://profiles.wordpress.org/glendaviesnz/\">Glen Davies</a>, <a href=\"https://profiles.wordpress.org/grantmkin/\">Grant M. Kinney</a>, <a href=\"https://profiles.wordpress.org/gziolo/\">Greg Ziółkowski</a>, <a href=\"https://profiles.wordpress.org/ironprogrammer/\">ironprogrammer</a>, <a href=\"https://profiles.wordpress.org/jameskoster/\">James Koster</a>, <a href=\"https://profiles.wordpress.org/audrasjb/\">Jb Audras</a>, <a href=\"https://profiles.wordpress.org/jnz31/\">jnz31</a>, <a href=\"https://profiles.wordpress.org/desrosj/\">Jonathan Desrosiers</a>, <a href=\"https://profiles.wordpress.org/spacedmonkey/\">Jonny Harris</a>, <a href=\"https://profiles.wordpress.org/ryelle/\">Kelly Choyce-Dwan</a>, <a href=\"https://profiles.wordpress.org/knutsp/\">Knut Sparhell</a>, <a href=\"https://profiles.wordpress.org/luisherranz/\">Luis Herranz</a>, <a href=\"https://profiles.wordpress.org/onemaggie/\">Maggie Cabrera</a>, <a href=\"https://profiles.wordpress.org/manfcarlo/\">manfcarlo</a>, <a href=\"https://profiles.wordpress.org/manzurahammed/\">Manzur Ahammed</a>, <a href=\"https://profiles.wordpress.org/matveb/\">Matias Ventura</a>, <a href=\"https://profiles.wordpress.org/czapla/\">Michal Czaplinski</a>, <a href=\"https://profiles.wordpress.org/mcsf/\">Miguel Fonseca</a>, <a href=\"https://profiles.wordpress.org/mukesh27/\">Mukesh Panchal</a>, <a href=\"https://profiles.wordpress.org/navigatrum/\">navigatrum</a>, <a href=\"https://profiles.wordpress.org/ndiego/\">Nick Diego</a>, <a href=\"https://profiles.wordpress.org/ntsekouras/\">Nik Tsekouras</a>, <a href=\"https://profiles.wordpress.org/swissspidy/\">Pascal Birchler</a>, <a href=\"https://profiles.wordpress.org/peterwilsoncc/\">Peter Wilson</a>, <a href=\"https://profiles.wordpress.org/presskopp/\">Presskopp</a>, <a href=\"https://profiles.wordpress.org/ramonopoly/\">Ramon James Dodd</a>, <a href=\"https://profiles.wordpress.org/ravipatel/\">Ravikumar Patel</a>, <a href=\"https://profiles.wordpress.org/youknowriad/\">Riad Benguella</a>, <a href=\"https://profiles.wordpress.org/samikeijonen/\">Sami Keijonen</a>, <a href=\"https://profiles.wordpress.org/sergeybiryukov/\">Sergey Biryukov</a>, <a href=\"https://profiles.wordpress.org/timothyblynjacobs/\">Timothy Jacobs</a>, <a href=\"https://profiles.wordpress.org/tobifjellner/\">tobifjellner (Tor-Bjorn Fjellner)</a>, <a href=\"https://profiles.wordpress.org/nathannoom/\">Trinadin</a>, and <a href=\"https://profiles.wordpress.org/grapplerulrich/\">Ulrich Pogson</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 12 Jul 2022 16:58:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Dan Soschin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"Do The Woo Community: Do the Woo Podcast Episodes from WordCamp Europe\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=72201\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"https://dothewoo.io/do-the-woo-episodes-wordcamp-europe-2022/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:366:\"<p>Listen to these Do the Woo episodes from WordCamp Europe 2022 in Porto, Portugal</p>\n<p>&gt;&gt; The post <a rel=\"nofollow\" href=\"https://dothewoo.io/do-the-woo-episodes-wordcamp-europe-2022/\">Do the Woo Podcast Episodes from WordCamp Europe</a> appeared first on <a rel=\"nofollow\" href=\"https://dothewoo.io\">Do the Woo - a WooCommerce Builder Community</a>	.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 12 Jul 2022 09:25:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"WPTavern: WordPress Executive Director Says 5% in Five for the Future Program Is Aspirational and Not Required\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=136073\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"https://wptavern.com/wordpress-executive-director-says-5-in-five-for-the-future-program-is-aspirational-and-not-required\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4593:\"<p>In the latest episode of the WP Briefing, titled &#8220;<a href=\"https://wordpress.org/news/2022/07/episode-35-five-for-the-futures-true-intentions/\">Five for the Future’s True Intentions</a>,&#8221; WordPress Executive Director Josepha Haden Chomphosy responded to recent public criticism the program has attracted. </p>\n\n\n\n<p>She referenced a <a href=\"https://wptavern.com/five-for-the-future-program-set-to-adopt-official-definition-for-pledges-and-contributions\">conversation</a> she began in May where she sought to make a clear distinction between ecosystem contributions and core project contributions. More recently, MasterWP editor Rob Howard characterized the program as &#8220;<a href=\"https://masterwp.com/toxic-scorekeeping-the-case-against-five-for-the-future/\">toxic scorekeeping</a>&#8221; following Matt Mullenweg <a href=\"https://wptavern.com/matt-mullenweg-identifies-godaddy-as-a-parasitic-company-and-an-existential-threat-to-wordpress-future\">identifying GoDaddy as a “parasitic company” and an “existential threat to WordPress’ future.&#8221;</a> </p>\n\n\n\n<p>&#8220;The 5% in Five for the Future is aspirational,&#8221; Haden Chomphosy said. &#8220;Contribution to open source is a question and indication of privilege. So the 5% is not a requirement, but rather it’s an aim. It could refer to 5% of your time or 5% of your resources, or just any amount of your time or resources around. Regardless of how you’re defining it, it is an aspiration, not a requirement.&#8221;</p>\n\n\n\n<p>Haden Chomphosy also said that pledges indicate contributors&#8217; intentions but any amount they are able to offer is always welcome. </p>\n\n\n\n<p>&#8220;No one is out there checking for 100% completion of the hours that you intended to give back to WordPress versus the hours that you actually succeeded at giving back to WordPress,&#8221; she said.</p>\n\n\n\n<p>&#8220;There are so many volunteers that make sure that this project is running and functional and has plenty of people knowing how to get things done and how to teach others how to get things done. It’s all coming from generosity of heart.&#8221;</p>\n\n\n\n<p>In Howard&#8217;s case against Five for the Future, he highlighted the disparity between Mullenweg&#8217;s recent remarks and Haden Chomphosy&#8217;s communication about the program. He proposed WordPress scrap the current pledge data and &#8220;stop keeping score.&#8221;</p>\n\n\n\n<p>&#8220;If WordPress and Automattic were really able to follow Josepha Haden Chomphosy’s example and treat the five-percent target as a fun aspiration without consequences, perhaps it would be valuable as a general guideline,&#8221; Howard said. &#8220;But Matt Mullenweg and other major company leaders clearly watch the scoreboard, and there is a risk that if your contribution is &#8216;not enough,&#8217; it can be brandished against you.&#8221;</p>\n\n\n\n<p>In today&#8217;s WP Briefing podcast episode, Haden Chomphosy said the initiative is directed at celebrating &#8220;a culture of generosity&#8221; and collaboration towards WordPress&#8217; long term health and stability. She clarified that her recent communications about the program were aimed at better identifying contribution activities and automating the process of giving props.</p>\n\n\n\n<p>&#8220;For what it’s worth that discussion then also raised a third question that I don’t think we’ve even started to tackle, which is what about the activities that are not in the contributor network, but still do move WordPress forward?&#8221; Haden Chomphosy said. &#8220;Because there are so, so many of those things and it’s a great question. I don’t have an answer.</p>\n\n\n\n<p>&#8220;The reality is that we won’t be able to see every contribution to WordPress, but that doesn’t mean that they aren’t valuable. And it doesn’t mean that they don’t matter.&#8221;</p>\n\n\n\n<p>In light of conflicting messaging, Haden Chomphosy has an uphill battle in attempting to reframe the program as part of a culture of generosity and bring it back to its <a href=\"https://ma.tt/2014/09/five-for-the-future/\">historical roots</a>. She concluded by encouraging listeners to embrace the program as she envisions it.</p>\n\n\n\n<p>&#8220;For me, it’s not about assessing the worthiness of people or companies or any of their contributions,&#8221; Haden Chomphosy said. &#8220;For me, it’s about reinvesting in the shared commons of the WordPress ecosystem, by finding a way that our economy can entice folks to put back into WordPress, something close to the benefit that they receive from it.&#8221;</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 12 Jul 2022 02:49:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"Akismet: Version 4.2.5 of the Akismet WordPress Plugin is Now Available\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"http://blog.akismet.com/?p=2396\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:99:\"https://blog.akismet.com/2022/07/11/version-4-2-5-of-the-akismet-wordpress-plugin-is-now-available/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:669:\"<p>Version 4.2.5 of <a href=\"http://wordpress.org/plugins/akismet/\">the Akismet plugin for WordPress</a> is now available. This update contains the following improvements:</p>\n\n\n\n<ul><li>A fixed for a bug that added unnecessary comment history entries after comment rechecks.</li><li>Akismet now displays a notice when WP-Cron is disabled and might be affecting comment rechecks.</li></ul>\n\n\n\n<p>To upgrade, visit the Updates page of your WordPress dashboard and follow the instructions. If you need to download the plugin zip file directly, links to all versions are available in <a href=\"http://wordpress.org/plugins/akismet/\">the WordPress plugins directory</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 11 Jul 2022 15:45:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Christopher Finke\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"WordPress.org blog: WP Briefing: Episode 35: Five for the Future’s True Intentions\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://wordpress.org/news/?post_type=podcast&p=13132\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://wordpress.org/news/2022/07/episode-35-five-for-the-futures-true-intentions/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14423:\"<p>In the thirty-fifth episode of the WordPress Briefing, Josepha Haden Chomphosy tackles questions about the true intentions of the Five for the Future initiative.</p>\n\n\n\n<p><em><strong>Have a question you&#8217;d like answered? You can submit them to You can submit them to <a href=\"mailto:wpbriefing@wordpress.org\">wpbriefing@wordpress.org</a>, either written or as a voice recording.</strong></em></p>\n\n\n\n<h2>Credits</h2>\n\n\n\n<p>Editor:&nbsp;<a href=\"https://profiles.wordpress.org/dustinhartzler/\">Dustin Hartzler</a><br />Logo:&nbsp;<a href=\"https://profiles.wordpress.org/beafialho/\">Beatriz Fialho</a><br />Production:&nbsp;<a href=\"https://profiles.wordpress.org/santanainniss/\">Santana Inniss</a><br />Song: Fearless First by Kevin MacLeod</p>\n\n\n\n<h2>References</h2>\n\n\n\n<ol><li><a href=\"https://make.wordpress.org/themes/2022/06/30/create-block-theme/\">New Create Block Theme plugin</a></li><li><a href=\"https://make.wordpress.org/design/2022/07/01/open-sourcing-theme-designs/\">Open Sourcing Theme Designs </a></li><li><a href=\"https://make.wordpress.org/meta/2022/07/01/exploration-improving-devhub/\">Exploration in Meta to improve DevHub </a></li><li><a href=\"https://en.wikipedia.org/wiki/Tragedy_of_the_commons\">Tragedy of the Commons definition</a></li></ol>\n\n\n\n<h2>Transcript</h2>\n\n\n\n<span id=\"more-13132\"></span>\n\n\n\n<p>[Josepha Haden Chomphosy 00:00:10]&nbsp;&nbsp;</p>\n\n\n\n<p>Hello everyone. And welcome to the WordPress Briefing, the podcast where you can catch quick explanations of some of the ideas behind the WordPress open source project and the community around it, as well as get a small list of big things coming up in the next two weeks. I&#8217;m your host Josepha Haden Chomphosy. Here we go!</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:00:40]&nbsp;&nbsp;</p>\n\n\n\n<p>Today I&#8217;m talking about Five for the Future– again. Before we get stuck right into the heart of it, 10 episodes ago, in episode 25, I focused on the Five for the Future initiative and I recommend that you listen to that before you join me in today&#8217;s episode. It&#8217;s only eight minutes and it gives you a history of the Five for the Future initiative, as well as some information on the Five for the Future program.</p>\n\n\n\n<p>It then goes on to talk about some of the original intentions behind that original initiative. The reason I bring this back up today is partially because one, I will talk about both the program and the initiative it&#8217;s based on literally anytime. I believe strongly that they are both a vital part of what will result in a triumph of the commons of WordPress, and keep this empowering project around for years to come.&nbsp;</p>\n\n\n\n<p>But I also bring it up today because there&#8217;s conversation about a post I published a couple of months back that has generated some dialogue around the intentions of this catchy call to contribution. So to make sure that as we move through this discussion together, we are working with as much factual information as possible, I present to you some facts.</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:01:46]&nbsp;&nbsp;</p>\n\n\n\n<p>First and foremost, the pillars of this initiative. The 5% in Five for the Future is aspirational. Contribution to open source is a question and indication of privilege. So the 5% is not a requirement, but rather it&#8217;s an aim. It could refer to 5% of your time or 5% of your resources, or just any amount of your time or resources around. Regardless of how you&#8217;re defining it, it is an aspiration, not a requirement.&nbsp;</p>\n\n\n\n<p>The second pillar, pledges show your intention and whatever contributions you are able to offer after you&#8217;ve made your pledge are always welcome. No one is out there checking for 100% completion of the hours that you intended to give back to WordPress versus the hours that you actually succeeded at giving back to WordPress.</p>\n\n\n\n<p>There are so many volunteers that make sure that this project is running and functional and has plenty of people knowing how to get things done and how to teach others how to get things done. It&#8217;s all coming from generosity of heart.&nbsp;</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:02:52]&nbsp;&nbsp;</p>\n\n\n\n<p>And speaking of generosity, the third thing that is important about this initiative is that it insists on and wants to celebrate a culture of generosity. Beyond the concept of a pledge, is the idea of generous collaboration toward the long term health and stability of our project for the future.</p>\n\n\n\n<p>As contributors, we understand that we are greater than the sum of our parts and what we build <em>within</em> WordPress empowers those who build <em>with</em> WordPress. So those are the pillars that went into that initial thought, that opening Five for the Future call to action that Matt gave to everybody in 2014.</p>\n\n\n\n<p>And so now I want to share with you some of the pillars of the program that has grown up around it. So the Five for the Future initiative, if you&#8217;re not familiar, was started in 2014 and is a grand call to all of us to remember to give back to the shared commons of WordPress. Its aim was to help guard against what is called the “tragedy of the commons,” where resources are continually taken out and not necessarily reinvested in. No one&#8217;s necessarily putting anything back into those.</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:04:06]&nbsp;&nbsp;</p>\n\n\n\n<p>So that&#8217;s the starting point for all of this. So the program, the Five for the Future program, in 2018 was built as a collaborative effort with full participation and buy-in from the contributors who were active in the project at the time. It allowed anyone to raise their hands, to show support of WordPress via a pledge and also started a multi-year discussion of how to define contributions in a way that let us automatically provide props and therefore more effectively put badges on people&#8217;s wordpress.org profiles.&nbsp;</p>\n\n\n\n<p>And then in 2019, there was an additional pilot of the program, which kind of offered some team structure, which was intended to not only take on work that I don&#8217;t like to ask volunteers to do, but also to provide some checks and balances to an absolute raft of sponsored contributor hours that we had started to see show up.&nbsp;</p>\n\n\n\n<p>Which brings us then to the post that I mentioned at the start. Knowledgeable supporters of the WordPress open source project have debated next iterations to Five for the Future activity and programming. So, to bring the conversation to a central set of questions, or rather to bring the conversation to a central spot, I raised these two questions. One, what activities can we see inside our contributor networks? So wordpress.org, make.wordpress.org, the Rosetta sites that we have, Slack, et cetera.&nbsp;</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:05:30]&nbsp;&nbsp;</p>\n\n\n\n<p>So what activities can we see inside the contributor networks that we can flag to enable easier distribution of props and therefore badges? The second question is, what activities can we see also in those contributor networks that appear to be contributions, but in the end are only benefiting the person or company that provides the contributions?</p>\n\n\n\n<p>For what it&#8217;s worth that discussion then also raised a third question that I don&#8217;t think we&#8217;ve even started to tackle, which is what about the activities that are not in the contributor network, but still do move WordPress forward? Cause there are so, so many of those things and it&#8217;s a great question. I don&#8217;t have an answer and just so that I don&#8217;t leave you all with a series of questions for which there are no answers provided in this particular podcast, I do have a few answers for questions that I have seen floating around this discussion.&nbsp;</p>\n\n\n\n<p>So the first question is actually a bunch of questions. There are like three parts to it. What are props, who gives props, and who tracks them? So ‘props’ is a term used in WordPress to describe shared recognition of a contribution. Think of it as like a hat tip or kudos or an assist. However you think about it, it&#8217;s recognition of the other people who helped to solve a problem along the way. That is what props are.&nbsp;</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:06:47]&nbsp;&nbsp;</p>\n\n\n\n<p>The second part of that question is who gives props and historically developers have given props, which tends to mean that it&#8217;s mostly developers who get props. But now, also, any team rep during a release cycle can provide props to folks on their team, volunteers on their team who were really helpful during the course of the release.</p>\n\n\n\n<p>And recently we also added the functionality for ad hoc props to be given in the Slack props channel, and those get added to your profile activity. So that someone can give you basically a public thanks for having helped on something that they were working on. And then that gets logged in your activity tracker on your WordPress.org profile.</p>\n\n\n\n<p>And then the final question in that first big question is who tracks these props? And the answer is human beings! Which is why folks feel like they have to do a ton of things before they even get props. And that&#8217;s also why I&#8217;d like to automate more and more of them so that you don&#8217;t have to do a ton of things in order for someone to show up and acknowledge that you are part of a solution.</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:07:51]&nbsp;&nbsp;</p>\n\n\n\n<p>So the second question that I&#8217;ve seen kind of running around is, where do props start? And that is a great question that has been asked year after year. And one that I think we should continue to ask. The reality is that we won&#8217;t be able to see every contribution to WordPress, but that doesn&#8217;t mean that they aren&#8217;t valuable. And it doesn&#8217;t mean that they don&#8217;t matter.&nbsp;</p>\n\n\n\n<p>Building our culture of generosity helps us to better recognize and celebrate each other for all of our contributions, whether they are for a major release or a major event, or one of these new ad hoc props that you can offer to people. And if we see more and more of the same type of contributions being celebrated, then we can also work toward automating those as well, so that you don&#8217;t have to do a super ton of them before someone has noticed that you&#8217;ve done even one of them.&nbsp;</p>\n\n\n\n<p>And the third big question that has been running around is, what about the people who don&#8217;t want the props? If people want to be literally anonymous, then deletion requests are probably your way to go. But I actually don&#8217;t think that&#8217;s the question here. I think the question is what if a prop holds no intrinsic value to you and then, you know, I wanna thank you for that spirit of generosity. And I also wanna say that I&#8217;m so glad you&#8217;re here.&nbsp;</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:09:02]&nbsp;&nbsp;&nbsp;</p>\n\n\n\n<p>Hopefully, all of these answers clarify what lies at the heart of what is intended with the Five for the Future initiative and the program that&#8217;s built on top of it. And why I care so much about fixing the ways we offer props to folks. For me, it&#8217;s not about assessing the worthiness of people or companies or any of their contributions. For me, it&#8217;s about reinvesting in the shared commons of the WordPress ecosystem, by finding a way that our economy can entice folks to put back into WordPress, something close to the benefit that they receive from it.</p>\n\n\n\n<p>And that brings us now to our small list of big things. Thank you all for making it into the final stretches with me. These three things that I&#8217;m sharing also have companion blog posts to go with them because they are very big questions or very big features, very big plugin kind of things that we&#8217;re looking at. And so you&#8217;ll be able to find those in the show notes, or you can go to wordpress.org/news if you&#8217;re listening to this in a podcast player of your choice that is not wordpress.org.&nbsp;</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:10:10]&nbsp;&nbsp;&nbsp;</p>\n\n\n\n<p>So the first one on my list is a new plugin. It is called Create Block Theme. And it&#8217;s gonna make it easier for theme builders to use the existing site editor tools to create new block themes. I&#8217;m very excited about this. Uh, you can find it on make.wordpress.org/themes. And I will also include a link to it in the show notes below.&nbsp;</p>\n\n\n\n<p>If themes are not your area of expertise, but you are interested in documentation or the DevHub or to an extent design things, then the improvements that are being worked on for the DevHub are definitely in your area. That&#8217;s kind of a Meta task, but has a few other pieces involved as well. That can be found on make.wordpress.org/meta. But again, I will have a link to the very, very detailed blog post in the show notes.&nbsp;</p>\n\n\n\n<p>It&#8217;s got a bunch of hypothetical changes that are being suggested for the WordPress developer docs, uh, especially when it comes to the function reference. And so there are gonna be some slight design questions, but not like, graphic design/visual design, more in the like, can humans read this design area of things? And so that will be a good one to look at. If you are sort of in the Meta or Documentation vein of things in the way that you like to contribute to WordPress.</p>\n\n\n\n<p>[Josepha Haden Chomphosy 00:011:30]&nbsp;&nbsp;&nbsp;</p>\n\n\n\n<p>And then the final thing is about open sourcing theme designs. So open sourcing everything obviously is important to us. And the design tool that we use, this tool called Figma, is open to the public. And so it&#8217;s possible for folks to be able to kind of get in there and use and reuse any design elements.</p>\n\n\n\n<p>And so there&#8217;s a discussion happening over on make.wordpress.org/design about how that can and should look in the future. And so if design is definitely your area, and again, this kind of lines up with themes a little bit, then wander over into that one, for which there will also be a link in the show notes.&nbsp;</p>\n\n\n\n<p>And that my friends is your small list of big things. Thank you for tuning in today for the WordPress Briefing. I&#8217;m your host, Josepha Haden Chomphosy. And I&#8217;ll see you again in a couple of weeks.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 11 Jul 2022 12:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Santana Inniss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Do The Woo Community: The Microphones I Use to Podcast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=72374\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"https://dothewoo.io/podcasting-microphones-bobwp-uses/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:339:\"<p>Looking for a microphone for podcasting. Here is what I used for Do the Woo.</p>\n<p>&gt;&gt; The post <a rel=\"nofollow\" href=\"https://dothewoo.io/podcasting-microphones-bobwp-uses/\">The Microphones I Use to Podcast</a> appeared first on <a rel=\"nofollow\" href=\"https://dothewoo.io\">Do the Woo - a WooCommerce Builder Community</a>	.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 11 Jul 2022 09:04:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"Gutenberg Times: Gutenberg Changelog #69  – Gutenberg Releases, WordPress 6.0.1, the Create Block Theme\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://gutenbergtimes.com/?post_type=podcast&p=21520\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:116:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:57370:\"<p>Birgit Pauli-Haack, and Mary Job talk with this week&#8217;s special guest Jorge Costa about Gutenberg Releases, WordPress 6.0.1, the Create Block Theme plugin and much more. </p>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/#shownotes\">Show Notes</a> / <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-69-gutenberg-releases-wordpress-6-0-1-the-create-block-theme/#transcript\">Transcript</a></p>\n\n\n\n<span id=\"more-21520\"></span>\n\n\n\n<ul><li>Music:&nbsp;<a href=\"https://soundcloud.com/xirclebox\">Homer Gaines</a></li><li>Editor:&nbsp;<a href=\"https://www.linkedin.com/in/sandy-reed/\">Sandy Reed</a></li><li>Logo:&nbsp;<a href=\"https://markuraine.com/\">Mark Uraine</a></li><li>Production:&nbsp;<a href=\"https://icodeforapurpose.com\">Birgit Pauli-Haack</a></li></ul>\n\n\n\n<p></p>\n\n\n\n<p class=\"has-large-font-size\" id=\"shownotes\"><strong>Show Notes</strong></p>\n\n\n\n<p><a href=\"https://wptavern.com/podcast/32-daisy-olsen-on-why-you-should-try-out-block-themes\">Why You Should Try Out Block Themes</a></p>\n\n\n\n<p><strong>Don’t miss it!&nbsp;<a href=\"https://us02web.zoom.us/webinar/register/7216548519021/WN_Af50AS7VQbuyCrUdQnormw\">A Block-First Approach at Pew Research Center</a></strong>&nbsp;with lead developer Seth Rubenstein, head of digital strategy, Michael Piccorossi and co-host Anne McCarthy on&nbsp;<strong>July 22, at 11am EDT / 15:00 UTC</strong></p>\n\n\n\n<p><strong>Create Theme Plugin</strong></p>\n\n\n\n<ul><li><a href=\"https://make.wordpress.org/themes/2022/06/30/create-block-theme/\">Make Blog Themes: Create Block Theme</a> by Ben Dwyer </li><li><a href=\"https://wordpress.org/plugins/create-block-theme/\">Plugin: Create Block Theme</a></li></ul>\n\n\n\n<p><strong>Legacy Widget Block Plugin</strong></p>\n\n\n\n<ul><li><a href=\"https://gutenbergtimes.com/using-classic-widgets-with-blocked-based-themes-introducing-the-legacy-widget-block-plugin/\">Using Classic Widgets with Blocked-Based Themes: Introducing the Legacy Widget Block Plugin</a></li><li><a href=\"https://wordpress.org/plugins/x3p0-legacy-widget/\">X3P0-Legacy-Widget Plugin</a> in Repository</li></ul>\n\n\n\n<h2>WordPress Releases</h2>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2022/07/05/wordpress-6-0-1-rc-1-is-now-available/\">WordPress 6.0.1 Release Candidate</a></p>\n\n\n\n<h3>Gutenberg 13.5 </h3>\n\n\n\n<ul><li>Release post: <a href=\"https://make.wordpress.org/core/2022/06/22/whats-new-in-gutenberg-13-5-22-june/\">What’s new in Gutenberg 13.5? (22 June)</a> by Anne McCarthy</li><li>WPTavern: <a href=\"https://wptavern.com/gutenberg-13-5-adds-featured-image-placeholder-support-for-cover-block-cleaner-pasting-to-other-apps\">Gutenberg 13.5 Adds Featured Image Placeholder Support for Cover Block, Cleaner Pasting to Other Apps</a></li></ul>\n\n\n\n<h3>Gutenberg 13.6</h3>\n\n\n\n<ul><li>Make Blog: <a href=\"https://make.wordpress.org/core/2022/07/07/whats-new-in-gutenberg-13-6-6-july/\">What’s new in Gutenberg 13.6? (6 July)</a> by Jorge Costa</li><li>WPTavern: <a href=\"https://wptavern.com/gutenberg-13-6-adds-pattern-modal-support-for-custom-post-types-expands-creation-of-template-types\">Gutenberg 13.6 Adds Pattern Modal Support for Custom Post Types, Expands Creation of Template Types</a></li></ul>\n\n\n\n<h2>What&#8217;s in development or discussed</h2>\n\n\n\n<ul><li><a href=\"https://github.com/WordPress/gutenberg/issues/41479\">Webfonts API: Ongoing Roadmap</a> by Tonya Mork</li><li><a href=\"https://github.com/WordPress/gutenberg/pull/42127\">Site Editor: Add New &#8211; Custom/General template</a>&nbsp;by Jorge Costa</li><li><a href=\"https://github.com/WordPress/gutenberg/pull/42165\">Add: Author nicename template creation ability</a> by Jorge Costa</li><li><a href=\"https://github.com/WordPress/gutenberg/pull/41842\">Add: Post type restriction API for patterns.</a> by Jorge Costa</li><li><a href=\"https://github.com/WordPress/gutenberg/pull/41876\">Block Locking: Add the &#8216;Apply to inner blocks&#8217; option</a> by George Mamadashvili</li></ul>\n\n\n\n<p class=\"has-larger-font-size\" id=\"transcript\"><strong>Transcript</strong></p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Hello, and welcome to our 69th episode of the Gutenberg Changelog podcast. And in today&#8217;s episode we&#8217;ll talk about the two latest Gutenberg plugin releases, WordPress 6.0.1, the create block theme plugin, and a lot more. I am Birgit Pauli-Haack, curator at the Gutenberg Times and WordPress developer advocate. And I&#8217;m here with my co-host, Mary Job, WordPress community organizer for WPafrica.org and support engineer at Paid Memberships Pro. Good evening, Mary, how are you today? And is there anything new coming from your community?</p>\n\n\n\n<p><em>Mary Job</em>: Thank you, Birgit. So I&#8217;m slowly getting back into my work routine. I feel like this year has been a really long journey for me because every time I recover from a hit, I get hit again.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, no.</p>\n\n\n\n<p><em>Mary Job</em>: Yeah, I&#8217;m looking forward to having more positive hits going forward for the rest of the year, I want to be hit positively, I don&#8217;t want any negative hits for the remaining part of 2022.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, good. I wish you the best. Yes.</p>\n\n\n\n<p><em>Mary Job</em>: Yes. Thank you. So our meetup communities on the African continent are slowly getting back into momentum. I&#8217;ve been seeing a number of physical meetups, have come in. I know there is a WordCamp Ginger in Kampala, Uganda, that is scheduled for the first week of September. I&#8217;m most likely going to be there, it&#8217;s also going to be my first WordCamp post COVID, I&#8217;m looking forward to that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. So WordCamp Ginger, and Ginger is near Kampala in Uganda?</p>\n\n\n\n<p><em>Mary Job</em>: Yes, it&#8217;s not far from Kampala in Uganda.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. And I looked it up on the WordPress site, it&#8217;s September 2nd and 3rd, and they have their speaker organizers and now volunteers and sponsor calls open. So if you are in the area and want to have your first WordCamp in Africa after the COVID pandemic, that&#8217;s where you can meet the people. So happy that the community bounces back now as well, not only Europe and America.</p>\n\n\n\n<p><em>Mary Job</em>: Yeah, I am too. So for today&#8217;s special guest, I want to introduce Jorge Costa. He&#8217;s a WordPress co-contributor and developer for Gutenberg. He&#8217;s part of the Five for the Future team at Automattic. This week, Jorge worked as a list lead for Gutenberg version 13.6. Hello Jorge, thank you for joining us today.</p>\n\n\n\n<p><em>Jorge Costa</em>: Hello. Thank you, Birgit and Mary, and for the invite for me to be here. I&#8217;m really glad to be here on this podcast, and also thank you for all the work you have been doing on this podcast. It&#8217;s an awesome way to let the wider community of WordPress know what we are doing on the Gutenberg plugin and get onboard, and test the things we are doing, and help us ship the best product possible. So thank you for all this work.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, thank you.</p>\n\n\n\n<p><em>Jorge Costa</em>: And thank you for the opportunity.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, you&#8217;re welcome. Thank you. It is always a great joy to kind of report on the stuff that the Gutenberg team puts out.</p>\n\n\n\n<p><em>Mary Job</em>: Absolutely. Plus one on that Birgit. So before we add into the changelogs of various release, we wanted to learn a lot more about you, Jorge. So my first question to you is this, can you tell us briefly your WordPress origin story, how did you discover WordPress and what happened next?</p>\n\n\n\n<p><em>Jorge Costa</em>: Of course, Mary. It&#8217;s a long story. So the first time I used WordPress, was in 2007, 15 years ago.</p>\n\n\n\n<p><em>Mary Job</em>: Oh.</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah. I was still a teenager in high school, and then I tried to build some websites. At the time it was normal for people to have blogs, build some websites and try these things around. And I also did that, I tried to build some websites. WordPress was already one of the very popular tools at the time to build your website, and it had now some repository of free themes.</p>\n\n\n\n<p>So things that you could use without paying anything, you would not have problems changing or getting anybody, like cutting problems to you because you are changing some code somewhere. So I try some themes that shows what better fit the needs I had at the time. And basically it allowed me, without doing any design, I just put the theme there.</p>\n\n\n\n<p>It had the styles then on the content area, but the html I wanted and it looked more or less okay, not too bad, because the themes already contained most of the styles. And that was it, I learned to code this way, and I got the interest in code. I will never imagine at the time that some years later I will be a developer on the core product and going to conferences around the world, for example, the WordCamp U.S. where I met you, Birgit.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p>Jorge Costa: A long time ago. So after using WordPress, and I got this interest in coding, then I went to university, and it was part of the decision that I wanted to code things. And so I went to do a master&#8217;s degree in computer engineering. I work at for some companies after the master&#8217;s, and then I apply it to Automattic. And then here I am, that&#8217;s basically the story.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: So when did you start at Automattic?</p>\n\n\n\n<p><em>Jorge Costa</em>: Five years ago, in 2017.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: &#8217;17, yeah. And 2018, I met you at WordCamp U.S., yes.</p>\n\n\n\n<p><em>Jorge Costa</em>: Exactly. Yeah, one year after, in a rainy day. Yeah, it was raining a lot when we went inside the venue, with our clothes. Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: And they were really wet, yeah. It did feels like a long time ago, like with all the things that happen in the world, meanwhile.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, almost like last century. Right.</p>\n\n\n\n<p><em>Mary Job</em>: That&#8217;s a really interesting story. I think in 2007, I was struggling with hub pages. I think I discovered WordPress first in 2012, and I was like, &#8220;What is this? This is complicated.&#8221; And I ran away, I wish I stayed. So this brings me to my second question, Jorge, what aspect of Gutenberg do you work on, and what excites you most about this new way of creating contents and building sites?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, so I started working on Gutenberg in the early days, when the project still had only some mounts, and it was starting. So I touched on many parts of the code base and working on many of the tools that we have now. But there are some things that I&#8217;m really passionate about, and some are simple things, like the gradient pick or color pick, or all the things that allow you to change the font size, because these are the things that in the end will allow people to express what they are feeling in their website.</p>\n\n\n\n<p>We don&#8217;t want all the website on the internet to look the same, we want them to look good, but we want them to have some personality of the people that are doing them. If all the things were the same, it will not be as fun. And now that we are shipping block themes, people will have full control of their website, they will not need any line of code to implement basically any design they want.</p>\n\n\n\n<p>And we can also put restrictions in place to make sure they have freedom to do everything they want, but it&#8217;s still output, something that is nice design-wise, and it looks good and looks professional. So I&#8217;m really curious, what these tools we put in place, what all these design tools will allow people to build.</p>\n\n\n\n<p>Until now these things were built mostly by people, new code or were designers, then the coders try to pass that to code. I&#8217;m eager to see what people that don&#8217;t have any coding experience or any design experience will put out there, and what the new way it will appear. I&#8217;m certain we will be surprised when people felt this power with what they will do.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, it kind of sets the creativity really loose. And as most listeners know, I love gradients. So, thank you. That was a while when, two years ago when the gradients come into to the block edit, and every time we saw in the changelog gradient, I was doing gradients. So I haven&#8217;t done this for a while, so I&#8217;m really glad I get an opportunity again. Yeah. And the color picker has really gone through quite some iterations. I really like what it&#8217;s doing now, to have all that in one place, and then open up the second pieces there.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>\n\n\n\n<h3><strong>Listener Questions</strong></h3>\n\n\n\n<p>Typography is about to shine even more with the site editor and the web fonts API say, yeah awesome. And in our show, we haven&#8217;t had a listener question for a while, Bud Kraus, a long time listener, a WordPress educator at Joy of WP, and also a contributor on the training team, he sent in this question, and I&#8217;m glad that Jorge is here to help us answer that.</p>\n\n\n\n<p>“So what&#8217;s all this I hear about bug right. What is all this I hear about Flexbox. I know about CSS and Flexbox, but how does this apply to the block editor? Is something special coming up concerning Flebox?” So again, thank you, Bud, for sending that in, and the good news is some of it is already here. So backup a bit, is Flexbox and CSS grid are features to implement intrinsic design and also build layouts easier.</p>\n\n\n\n<p>I build layouts with table coding, but the first implementation of Flexbox with the block editor has already been implemented, and it&#8217;s the two block variations that come to the group block. One is called, Row, and the other one is called, Stack, and both help the user who have no idea about mobile breakpoints, pixel size and all that. And they also don&#8217;t want to spend a lot of time learning it.</p>\n\n\n\n<p>And it&#8217;s part of the efforts for the developer team to implement responsive web intrinsic design. It&#8217;s also the start of the answer to a lot of questions I get from users or developers. So how can that be that there is no responsiveness in the block editor, and it&#8217;s actually here, it&#8217;s just a little bit differently implemented. But that&#8217;s the extent I know about things, and I&#8217;m glad to have you here. Jorge, can you enlighten us a little bit more how else this works?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, of course. So basically what happens is that the block editor, and it&#8217;s not exactly something new, it&#8217;s already part of core, and it was merged some months ago. So now as of allow blocks to specify the layout that they want for their nested areas, so they can opt into that, if they don&#8217;t opt into that, nothing happens. And they can opt into that feature, so the group block is already opting into this feature. And if you opt into this feature, you have a UI where you can choose different kinds of layouts.</p>\n\n\n\n<p>For now there are two layouts softwares, one is the default of flow layout, and the other one is the flex, which implements a Flexbox. And basically the user on the UI can control properties like the orientation, the justification, the width of the area. Then basically it&#8217;s converted to CSX. So that&#8217;s basically it, we are allowing the user to control some properties and allowing the user to have an easy way to create a flex layout, if the user wants to.</p>\n\n\n\n<p>Some blocks offer that functionality. And block creators can also offer that functionality. That I am aware now we are not doing any active development on this feature, it&#8217;s already shipped, but it&#8217;s working well, now except for the team builders and block creators to use it, and there was some things with it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Thank you, Jorge. And thank you, Bud, for sending in the question. Hopefully that answers your questions, somewhat. And if you, dear listeners, also have questions you want us to tackle here on the podcast, ping me on direct message and Slack or on Twitter, or send me an email to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>, that&#8217;s <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. And by the way, also, if you like this podcast, we would appreciate if you could write a review on Google or Apple or Stitcher, it really helps to spread the word about the show. So, okay, that&#8217;s it from me. Mary, back to you.</p>\n\n\n\n<h3><strong>Announcements</strong></h3>\n\n\n\n<p><em>Mary Job</em>: Oh, yes. Thank you, Birgit. So we&#8217;ll move on for that to the announcements segments of the show. We have a couple of announcements. First, the episode has two of the VP Tavern Jukebox. Put the episode title of the Jukebox into your podcast player. After our block theme workshop at WordCamp Europe, their CEOs have talks on it weekly on why you should try out block themes. She doesn&#8217;t say go all in with your site just yet, but you can get started exploring the new way to work with themes in a site editor. And that one is a great conversationalist, by the way, he asked all the right questions.</p>\n\n\n\n<p>For the second announcement, the Pew Research Center has adopted a block first approach for their website, their lead developers Seth Rubenstein and their head of digital strategy, Michael Piccorossi will be guests at the next Gutenberg Times live Q and A, and demo their solutions for their own page. Their and chats on the July 22nd 2022 at 11:00 AM Eastern Daylight Time. This is also 1500 UTC. And Anne McCarthyi will be Birgit&#8217;s co-host for this.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, yeah. Thank you, Mary. Yeah, I&#8217;m so excited for this next live Q and A, especially because we had an eight-month break on live Q and A&#8217;s, and I hope you all join us. The link for the registration of course is in the show notes, and we will record the show and share it with YouTube and the Gutenberg Times. But there&#8217;s nothing better than getting the questions answered live, and your questions and not somebody else&#8217;s questions.&nbsp;</p>\n\n\n\n<h3><strong>Community Contributions</strong></h3>\n\n\n\n<p>So we are pointing out two community contributions today, one is a new, so there both are two new plugins that are in the repository, and come from core contributors.</p>\n\n\n\n<p>So the first one is the create block theme plugin, it was built by the theme team, and in his write-up on the make theme block, Ben Dwyer covered the question of, who is it for? And he wrote, I quote, &#8220;This plugin is aimed at theme builders, both designers and developers, and it is useful for sharing your designs between multiple sites or users. If you are just building a site for yourself, you probably don&#8217;t need it.&#8221; So what does the plugin do? It has an export feature, right now it does the same things that the site editor export feature does.</p>\n\n\n\n<p>You can also create a new giant theme with the activated theme as parent, and then you can create a new theme by cloning the activated theme, and then the resulting theme will have all the assets of the activated theme, combined with the user&#8217;s changes. Another feature is that you can save the user changes into the theme files, so you are practically overriding them.</p>\n\n\n\n<p>And then the feature will also delete the user changes from the database, so you get an immaculate theme again and have everything in one place. And then you can generate an empty theme, that gives you a clean slate to start off with, and for all the designs that you want. The plugin&#8217;s in the theme directory, and we have in the show notes links to Ben Dwyer&#8217;s write-up, and as well to the repository. Jorge, do you have any thoughts on this?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, I have. I think it&#8217;s awesome news, and it&#8217;s an important milestone. So until now to build a theme for WordPress, you needed to use an external tool, if nothing more, at least a text editor to call code your theme. And we are in a stage now where you can build WordPress themes with WordPress itself without using any tools. So you have the tool building itself. So I imagine soon we will have a default WordPress theme that was totally built with WordPress. So in fact, we will ship over price with parts of WordPress that were built with WordPress. So it&#8217;s like a strange loop, but it&#8217;s an awesome one to be in, it&#8217;s like we are in the stage where the tool is being self-sustained, and we can create the tool with the tool.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: It&#8217;s like an encouragement.</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: An inception, yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, an inception. Let&#8217;s see what awesome things the community build, and it will be fantastic, themes being shipped to the repository, that were built poorly by WordPress with WordPress. So let&#8217;s see what will happen, but I think it&#8217;s very good news.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mary, do you have any thoughts on it?</p>\n\n\n\n<p><em>Mary Job</em>: Yes. From the perspective of somebody who is a non developer, I was building in these websites for a few years. I would say, this is an awesome tool, and one that is&#8230; You know how we say, when you install WordPress, what are the basic plugins that you put on the site? This is one of such plugins that you should have on your site. And I think I&#8217;d argue differently from Ben, in the sense that if you&#8217;re building a website for yourself, you don&#8217;t really need this plugin.</p>\n\n\n\n<p>You actually do, because one of the things we say is when you&#8217;re starting a new project, you should always follow best practices. And one of such is themes, except because you never can tell, you might start, okay, I&#8217;m just building a simple site for myself and then it expands into something big. So you have to make sure you follow best practices. So I think this plugin comes in handy for individuals and business owners who manage their websites, and they no longer need to use charts and, I mean, you don&#8217;t have any excuse to not spin up a chart theme, you can do this on the fly with this plugin.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: That&#8217;s a good point. Yeah. Thank you so much, Mary. And the second plugin I wanted to point out is, it&#8217;s called the Legacy Widget plugin, and it was built by Justin Tadlock. And he spent some time in the support forums and found a specific pain point that keeps people from testing block themes, that the Legacy Widget block is not available in the site editor. So many users couldn&#8217;t see how their widget sections would show up in the full site editing block themes that they got from the directory, and they weren&#8217;t able to put them in the templates or template parts.</p>\n\n\n\n<p>So it takes a while, and many sites have third party widget sections from plugins, and not every plugin developer is up to the latest version and create blocks for their widgets. So until then the plugin, the legacy makes the Legacy Widget block available in the site editor, and now all the third party widgets are also available for your template and template parts. We have a write-up on that, on the Gutenberg Times, and as well as a link for the plugin in the repository.</p>\n\n\n\n<p><em>Jorge Costa</em>: It&#8217;s good news again. So for some context, I was involved in building the first versions of the Legacy Widget block, that is part of core and that the plugin uses to make its job. And at the start, we really wanted to allow people to use widgets anywhere. So the block was available in the post content, you could also use it on the site editor, and you could basically in any post or in any part of your block theme, you could have a Legacy Widget block, select the widget and use your widget, so you could add widgets everywhere.</p>\n\n\n\n<p>&nbsp;We wanted that to be the default, and we try really hard to make this work for most widgets. But in the end, there are some widgets where in their code, they say, &#8220;Do that, if I am on that specific screen that was on this page, or do that, if the dome of the page contains something.&#8221; And when you are adding to a totally different screen where these conditions don&#8217;t match and the page structure is totally different, the widgets broke, and there were some widgets.</p>\n\n\n\n<p>Although most widgets work out well, there were some widgets that because of this type of conditions did not work and there were crashes. If it is going to be a core feature, we cannot make it break with some types of widgets because we have a strong commitment to being backwards compatibility. So we made it only a possible to use it in some context where the possibility of it breaking was placed because these conditions match it.</p>\n\n\n\n<p>But now it&#8217;s a good trade-off, people have a plugin and if they really want to have this experience that works well for most of the widgets, they can install the plugin and use it. And if by any chance, some widget does not work well, it&#8217;s not exactly core that is breaking with their widget, it&#8217;s a plugin incompatibility issue, the Legacy Widget plugin and that widget are not working well together. And it&#8217;s also maybe widget developers, if they see their widget is breaking on the legacy, widgets maybe can change one line of code and make it work.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: So it provides a way for people to test it more easily. So I hope it&#8217;s going to get big usage, and it allows people to easily use their widgets and their block themes. Ideally, we will have blocks for everything, but in cases, blocks are not yet built, people can still use widgets, which is good news.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. That was the idea of everything goes into blocks. But there are some people, that takes a while to adopt and not every plugin developer has the bandwidth to get into block development so fast. So that was great, a background on the Legacy Widget block. Thank you, Jorge. So that brings us to our, what&#8217;s release section, and Mary, what do we have?</p>\n\n\n\n<h3><strong>What’s Released</strong></h3>\n\n\n\n<p><em>Mary Job</em>: Yes. So first off, we have WordPress 6.0.1, release candidate. This was released on the 5th of July, and has 28 fixes. It will be incredibly helpful if listeners and committee members can help pass this version before the final release date, which is slated for the 12th of July. This is if you listen to this episode before the 12th of July. So what&#8217;s in this release? The nature of this minor release is mainly bug fixes.</p>\n\n\n\n<p>So there was a fix, so the order that the color gap CSS is queued, so this is not provided by layout CSS in non block themes. There&#8217;s also several layout utility class themes, led to blocks that have their layout attributes specified. And on post comment blocks, There are also a couple of releases.</p>\n\n\n\n<p>I&#8217;m not going to read all that, since we&#8217;re going to put it in the show notes. On post templates, there was a fix to the post templates to ensure that the layout blocks support for the post template block, it&#8217;s only applied on the outer most, and not on the first chart of each instance. Yes. Do you want to speak on this bug fix the last one here, Birgit?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: The fixed performance regression to remove widgets fragments?</p>\n\n\n\n<p><em>Jorge Costa</em>: It&#8217;s an important performance fix. So that was some lagging when you passed content, it&#8217;s a good announcement, and I think it&#8217;s probably one of the most notable fixes, like in the performance on this patch release.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Excellent.</p>\n\n\n\n<p><em>Mary Job</em>: Thank you very much for expanding on that. So that&#8217;s it from the latest WordPress release and the release post, and it will be available in the show notes. Jorge, do you have any more thoughts to share on this?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, it&#8217;s a bigger than usual patch release, watching by the number of tickets that we included. And normally the patch was a little bit smaller, but I think in part that can be explained because of the very active development on more recent blocks, like the comments block, which most of the fixes are related to that. And then we also had lots of developments on the style engine and the styling output. So there were some specific issues that people reported, and that&#8217;s also another part of the patches. All in all, we did not have any very critical fix on this release, which is a nice thing.</p>\n\n\n\n<p>So there is some fixes, but none of them looks very critical. So I think what the best for the people would be to upgrade their websites, of course, so they can take advantage of all these fixes and they will not lose their time, they probably did not notice most of the bugs that we have on this list. But one day they may notice and they may be losing time, wondering why is this happening? So if they upgrade now, they will not lose their time wondering about the bug that was already solved. So as always, try to make your upgrades as fast as possible.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. There goes a big, big thank you to those who reported the bugs right after the 6.0 release. And of course, to all the contributors that kind of fixed them so fast, actually. It&#8217;s now five weeks after the 6.0 release, and that&#8217;s a really good time to have a minor release coming out, and now more people are going to use WordPress 6.0.</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah. That&#8217;s a good point for the listeners, they can now help us do the better product possible by testing the DRC that we have out. If you find any bug, you may make things easier for 40% of the internet that is going to run this code. So please test it and let us know if you find any issue with it.</p>\n\n\n\n<h3><strong>Gutenberg 13.5</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Awesome. Thank you, Mary, for going through that release. So today we covered two Gutenberg releases. One is Gutenberg 13.5, and that was released two weeks ago, Anne McCarthy&#8217;s first release, congratulations to Anne. And there have been 12 enhancement and 15 bug fixes, and also an explosion of code quality updates, but they&#8217;re mainly related to the low dash refactors and updating some finals to the new ES land rules, and there were also a few PR&#8217;s for Gutenberg tools. But let&#8217;s dive into the selected enhancements.</p>\n\n\n\n<p>One is, so the media tool tip on the image was not big enough to see actually what kind of image is the image file name, and now there&#8217;s a tool tip that shows the full URL of the image in the block toolbar of an image or a gallery, and I find that really helpful. For the cover block, this release added a placeholder when a featured image is in use, which is definitely helpful to see the better expectations on what you&#8217;re customized there. And another new feature, well, it wasn&#8217;t a new feature, it&#8217;s a better place for it.</p>\n\n\n\n<p>The add feature image toggled for the media replacement flow is now in the toolbar and connected with the media replacement dropdown before it was a separate button in the block tool, now it&#8217;s all in one, and it&#8217;s much easier to know, oh, I can just use the featured image for a cover block. The post navigation has now designed controls, that&#8217;s absolutely new. So post navigation block is the links on the single post page where users can navigate to the previous post or the next post, and now you can give it their distinct styling.</p>\n\n\n\n<p>The theme development needs, however, enable to support through the appearance tools in the theme JSON, but now you have design tools for color, text decoration and font family. And of course, color for both the text and the link in that block. So if you have anything to say, Jorge, feel free to interrupt me in my flow and we&#8217;ll stop, and then you could say, because I know you have been working on some of the things. So it&#8217;s always welcome to chime in here.</p>\n\n\n\n<p><em>Jorge Costa</em>: Thank you, Birgit, if I have anything, I will add.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. So there&#8217;s also an APR that moves the CSS from the style sheet to the block definition, and that is helpful because it reduces the CSS specificity. Conflicts and theme developers can easily override them by other theme JSON files. The current themes are not touched with that, a change, so it won&#8217;t break anything, right now as the class names are still there and they&#8217;re still the same. So it&#8217;s a good change that does not break any layouts, so that is it what I see from the enhancements that I wanted to point out. There are plenty of bug fixes, as I mentioned.</p>\n\n\n\n<p>There is also a few fixes merged to improve the accessibility for the various interfaces, so context for the action buttons, for instance, in the template actions or the fix of the focus trap on certain input types, and also a label for the preview options in the dropdown, or increase the accessibility of the various features. And then I have one more, that is that also talking about CSS specificity, and there&#8217;s one fix that lowers the CSS specificity for the file block, as well as for the search block, meaning they are now following the button design that&#8217;s in the theme JSON, or in the CSS, and not have their own button styling.</p>\n\n\n\n<p>So they are much more consistent now, unless you want to, as a theme developer, they are much more consistent now with the overall layout of the site. So I think, unless you have anything, Mary, or Jorge, from the 13.5 release, that&#8217;s all I had. It wasn&#8217;t a big release, it still had a lot of PR&#8217;s, but they&#8217;re all kind of backend stuff for code quality stuff.&nbsp;</p>\n\n\n\n<h3><strong>Gutenberg 13.6</strong></h3>\n\n\n\n<p>So let&#8217;s continue with Gutenberg 13.6 release, and Jorge, you were the release lead this week for it, and it comes with 34 enhancements and 24 bug fixes, and it also has code quality documentation items, and so on and so on. Do you want to kind of get started what you wanted to point out here?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, it&#8217;s a considerable release. There are some user, not of several things that are important to note. Right now you can add templates on the site editor. For all the posts of a specific post type, we are also adding the ability to select the template for posts of a given category. So all these things were already possible in the existing theme engine, but it will involve knowing the specific file names, knowing specific slugs to create these themes.</p>\n\n\n\n<p>So most people did not use these features. So when you say around websites on the internet, most of the category listings are the same, if you check the category of, like a shoes category compared to a dresses category, it&#8217;s almost the same, it just changes the posts. But now it will be easier to make specific templates with specific designs for each category or for each other.</p>\n\n\n\n<p>So I hope people start using these features more, it&#8217;s something you have a UI for it, you don&#8217;t need to create any files with the strange names, you just select on the UI, what you want to do. And then you create a template, or you make a small change to the general one that you want for on that specific case, all without involving any code, and having a way for it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: So in 13.6, we started this expansion process for specific posts. It&#8217;s the work that is going to continue on the next releases. We also have the ability for you to, when you create a post, like the normal experiences for the post to start with a white screen, and on the last core release for pages, we have the ability for a pattern to say that the pattern wants to appear when you start a new page.</p>\n\n\n\n<p>So when you start a new page, instead of starting from blank, you can have a UI that allows to select if you want a contact page and about page, or the most common patterns of a page, and then you just fill in the blanks and your page is then, it&#8217;s much more easier to start from something that was already built than having to build everything from the scratch. We received some feedback on the community that was nice, was useful, but people wanted it for any type of post type.</p>\n\n\n\n<p>So for example, if you have a book post type, you may have many ways to show your book. For example, the cover of the book on the left, with the description on the right or the cover above with the description below. So what we offer with 13.6 is an ability, so for any post type, when you start creating a post type, you see a model and you can select the pattern that makes more sense to you. Or you can, of course, don&#8217;t select any pattern and start blank as you did before. So I think it will be very helpful for some users to have these type of patterns.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Absolutely. Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: So these ones are very noticeable features, and people can start using them right now, try them. We also have of course testing for part of the styles engine and theme JSON mechanism, which is something called Elements. It&#8217;s a concept, it&#8217;s still trying, but basically, you have a link on your post, that link can already be styled. It&#8217;s a cross block, like any block can have a link, you can have links on the navigation, you can have links on your post content, or you can have links to link to the pagination of your website.</p>\n\n\n\n<p>And the same happened, and you can already customize it. But the same happens for buttons, you can have buttons outside of a button block, like the search block can have the button search, you can have other types of buttons, even in custom blocks. So these are the same for captions, like any block can have a caption. You can have a caption of a table, you can have a caption on the image. So these are elements that are generic and you can use it in any block.</p>\n\n\n\n<p>And we want to allow people to easily style these types of things that are not block specific, but I may want all the captions of my website to look in a given way, or I may want captions of the images specifically of the images to look in a given way. So we are offering an API to do that, we ask people to give their feedback, test their themes, test their blocks, if things work now. And on 13.6, we provide already an UI for button, so you can already go to the site editor UI and try to change the colors of buttons and see if it is reflected on the search block.</p>\n\n\n\n<p>See if it is reflected on the third party blocks that you use, that have buttons. And we also have four captions, not a UI yet we are going to do it on the next releases, but as part of the theme JSON, and so in your theme JSON file, you can configure for the captions. And it&#8217;s two big things there. They are not featured highlights yet because it&#8217;s still something we are experimenting with.</p>\n\n\n\n<p>And we are trying this type of concept. But feel free to test it, let us know what you think and share your feedback. Then we have many announcements, to make the UI more clear, simple things like some toggles have started having a description, complete one about what they do. So people know if they click that toggle, what is going to happen exactly.</p>\n\n\n\n<p>Things like when you schedule a post and you change your date for tomorrow, instead of the UI saying the day and the date telling you that the post is going to be published tomorrow, which is more clear, you don&#8217;t need to know what day is now and what day is tomorrow, and the UI, if it&#8217;s going to be published today at some hour, the UI is going to show you today at some hour.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mm-hmm.</p>\n\n\n\n<p><em>Jorge Costa</em>: So it&#8217;s the small things, but all the things done will improve the user experience and make things that we&#8217;ll probably not notice, but when they are there. But if we remove them again, you will probably start missing them.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: So that&#8217;s this type of announcement, many of them, we also have multiple accessibility features added. New keyboard shortcuts that you can use, which makes the application more accessible if you are using the keyboard a lot. We also document shortcuts that already existed, but we&#8217;re not being shown anywhere because they were probably added even before we have a UI to show these types of shortcuts.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, yeah. Mm-hmm.</p>\n\n\n\n<p><em>Jorge Costa</em>: So yeah, many small announcements. Also, there is lots of work happening around performance, but this work is not noticeable now, it&#8217;s like work for the long term. You are working but you will only see the benefits when that work is complete. I&#8217;ll talk you, it&#8217;s like long work, so it&#8217;s divided in multiple PR&#8217;s and this already contains many of these PR&#8217;s. So we hope when that work is complete, people will start noticing their editor is faster. And now we have also multiple bug fixes as always.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: It&#8217;s part of the development process.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Awesome.</p>\n\n\n\n<p><em>Jorge Costa</em>: Also many updates to documentation, like announcements, things that we think were important to be documented. There is a refactor of components to type script. So when people are coding for Gutenberg or using our components, their IDs will auto complete, will validate if they are passing the correct properties and the correct data to our components. So it will improve a lot, the developer experience for people building with our components and building complex UIs and complex blocks.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mm-hmm.</p>\n\n\n\n<p><em>Jorge Costa</em>: And some announcements to the rest, API, remove hard coded strings that were there. And basically, there is lots of work happening, but mostly as we, with 3.5 too, it&#8217;s backend things, they need to be done to prepare the product, to receive the good UIs that they utilize.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mm-hmm.</p>\n\n\n\n<p><em>Jorge Costa</em>: But some of these UIs are not there and are not shipped yet.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Thank you for the quick rundown here. I wanted to point out two more things. One is that the pseudo selectors on Elements, you pointed out them for theme JSON, but there&#8217;s also the pseudo selectors for, they are coming. Now I remember, it&#8217;s not yet in 13.6, it&#8217;s the pseudo selectors for the hover action and for the navigation links. So now I know that. So we talked about that. The other cover now has an axle top margin, top and bottom margin feature, so you can make the cover block larger, even if there&#8217;s not filled up with blocks, so you don&#8217;t have to use the spacer block anymore.</p>\n\n\n\n<p>If you use them, that&#8217;s fine, it doesn&#8217;t go away, but for new covers. And then pocket cast embeds are now possible, both on the core as well as on, Gutenberg has now the embed blocks for pocket cast. Pages podcast, as well as single episodes, so that&#8217;s nice. And I think we&#8217;re going to use them on the Gutenberg Times soon, to sprinkle out all the different episodes around the site. And we talked about the single custom post type templates. Yes. We talked about the keyword.</p>\n\n\n\n<p>And then there was one bug fix that the preview of the pattern didn&#8217;t show the dual tone that were already selected, so that has been fixed, so now you actually get what you see. No, see what you get when you have that pattern model up and preview some of the patterns. One fix is certainly something that&#8217;s also a quality of life fix is that the image block now preserves the all text that&#8217;s already entered in the media library on upload.</p>\n\n\n\n<p>So you don&#8217;t have to upload, punch it in again the second time for those who work quite a bit with images, that was kind of a little pain point, and it also didn&#8217;t add to the accessibility of the website when people forgot to use the all text, once they use it. Jorge already mentioned the documentation updates. One is, there&#8217;s actually an explanation how to set up the local environment to run the performance tests.</p>\n\n\n\n<p>So I think for those of us who want to contribute to Gutenberg and want to kind of double check things, and now you can do this also for the performance test. And Jorge also mentioned the style engine. There is now the documentation, it&#8217;s still experimental, but the team has added a correspondent documentation page for the style engine package. And it&#8217;s in the block editor handbook, and you can see some of the terminology that&#8217;s used for the style engine. Not sure do we want to get into that, what is the style engine, Jorge, can you summarize that a little bit?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, I can try to provide a small overview. So basically the style engine is a small piece of code, now not that small, but something that is aware of where the block is being rendered, what are the attributes of that block, and what are the styles applied to it. And then it receives this data structure with the style information that is represented in JSON most of the time. And it converts the structure to CXX, which is something that the browser then uses to render the block and apply the styles that is expected.</p>\n\n\n\n<p>So it&#8217;s basically a small compiler that turns your styles, data structure into CSX that the browser then shows to the user. You can imagine, for example, in a native application that where you wanted to render the blocks, you could have a different style engine that map this style structure to something instead of html and CXX, something native for that mobile platform. So yeah, it&#8217;s basically a small compiler of stands.</p>\n\n\n\n<h3><strong>What’s in Active Development or Discussed</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. Okay. So that concludes the Gutenberg 13.6 release. Wow, and all the whole what&#8217;s release section. It wasn&#8217;t as exhausting as I thought it would be. So thanks for the great work of Mary and Jorge to kind of come along with us, or come along with it. So there is also excellent progress towards WordPress 6.1. So the estimates are, does Gutenberg 14.0, would be the last plugin release before feature freeze. And that&#8217;s actually only four more releases. So all of a sudden it gets still a little tight, for a feature freeze now.</p>\n\n\n\n<p>Okay, so what&#8217;s in the active development or what&#8217;s discussed is the next, so what&#8217;s coming up? There is an update regarding the web funds API. Just to do a little history on that the web funds API was worked on, but it was punted for 5.9, had a minimum implementation, restricted only to the theme JSON settings. And then the aim is to possibly get it into 6.1.</p>\n\n\n\n<p>And you can follow along on the progress and on the roadmap with Tanya Mork&#8217;s tracking issue, which is 41476, but of course we have the link in the show notes and she provides there her shared vision, what the API supports the topography features for blocks, and then the themes, and also the tracking for the ongoing work for 6.1, that&#8217;s divided into things that need to be done for the architecture of the API, for the performance.</p>\n\n\n\n<p>Then talk about the future scope of it, are there already no bugs and documentation issues. So we of course have it in the show notes. But yeah, read up about it. And so you can follow along, tracking issues always kind of has all the open issues for a certain feature, and it&#8217;s definitely interesting for a theme and plugin developers what&#8217;s happening with funds in the near future. So Jorge, during the core editor chat, you shared what you have been working on, and there are some exciting features coming. Do you want to kind of go briefly through it, what you&#8217;re working on?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, of course. So one of the big features is expanding what templates you can create on the site editor, which I already referred to previously, and I talked about it already before. So that&#8217;s something that we are planning to take to the finish line and all the templates supported on the WordPress hierarchy can be created with a UI. Then we are also betting big on patterns.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mm-hmm.</p>\n\n\n\n<p><em>Jorge Costa</em>: So we want to provide the best pattern experience possible, which is a very complex engineering and user experience problem, because even defining what would the perfect experience be, is not a simple challenge. So basically when you have a pattern, no matter if it has 100 blocks, we want for it to be a cohesive structure where you can touch them and modify it as a single unit of content, instead of you not a seeing that it is composed by 100 different things, but we also wanted to allow to customize to change the contents of the patterns, offer some customizability.</p>\n\n\n\n<p>And that customizability, it&#8217;s something that the pattern can define, it&#8217;s not common for every pattern, it depends, in some patterns it may make sense to change almost everything in other patterns, it may make sense to only fill in the blanks, some texts that you already have there. As part of these experiments, one idea is to allow blocks, to output and to use any settings that we already offer on theme.json, so essentially, for example, in a group block that is used in a header, you would be able to say here in all blocks nested inside me, don&#8217;t have the ability to change colors, font sizes, everything.</p>\n\n\n\n<p>So you&#8217;ll essentially only be able to change the text and you&#8217;ll not be able to change the other things, so you don&#8217;t break the pattern, and you can also join that with our working mechanisms that already exist, so you really just fill in the blanks. That&#8217;s a way to offer this experience. There may be other ways where the pattern itself highlights what is relevant information onto descendant blocks and allow you to go there directly, and you just change what was said as relevant information. So we are working a lot on trying to define this pattern experience and make it as good as possible.</p>\n\n\n\n<p>We are also going to include zooming out view where you, instead of showing your website and you scroll, you&#8217;ll see a zoom out where you view all your page or all your template with the sections that are part of it, and you can more easily have a new pattern that is a header or have a new pattern that is a folder replaced, big areas of design on your website. So that are the things, it&#8217;s work that is in progress, and we are hoping that soon the using patterns will be much easier and something more common to do.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, that sounds exciting. Yeah, pattern is the way to go. Are you thinking also to have a UI, so people can create their pattern on the site and store it as a pattern, or because you can create reusable blocks and you can create template parts, but a user cannot create their own block patterns on the UI, is there some thought about that or a decision made?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah, I think it&#8217;s something that makes sense, and if we don&#8217;t include it in core already, certainly there will be lots of plugins allowing people to do that. I think it&#8217;s something that we may have in core soon, it&#8217;s just that first we want to using the patterns be a very good experience, and then that&#8217;s like the cherry on top of the cake, it&#8217;s something that probably will happen. I&#8217;m not aware exactly there is a decision on it or not already.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah, you&#8217;re right.</p>\n\n\n\n<p><em>Jorge Costa</em>: Personally, I expect that it&#8217;s something that will happen.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah.</p>\n\n\n\n<p><em>Jorge Costa</em>: It&#8217;s a matter of time and making sure after the experience being perfect, or being the best we can, and I guess people will do that.</p>\n\n\n\n<p><em>Mary Job</em>: That would be a good one to see.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. But you&#8217;re right, Jorge, there are quite a few plugins actually allowing already the user who doesn&#8217;t touch code to create patterns or save a certain section, a group as a pattern so they can reuse it and then only have to change the text. But the locking of blocks inside a pattern, that&#8217;s already also possible.</p>\n\n\n\n<p>Speaking of locking, there is a new page in the documentation that outlines all the ways, how you can curate the block editor experience, especially also for the full site editing for as a developer for your clients or users in the block handbook. And I will share the link in the show notes as well, because that&#8217;s a question that comes up quite often, and now the block pattern somehow triggered my memory that I wanted to mention that. So, Mary, do you have anything that you wanted to add to what&#8217;s discussed or in the works?</p>\n\n\n\n<p><em>Mary Job</em>: Oh yes, still on that, Jorge, George Mamadashvili is looking for technical feedback or a review, or his new PR to allow locking inner blocks from the container block. We&#8217;re going to put a link to that in the show notes. And there&#8217;s also a reminder from Nick Diego on editor box scrubs. This will take place at 1400 UTC. This is 10:00 AM Eastern Daylight Time, on Tuesdays in a call editor channel, on make WordPress Slack.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. All good announcements and work to do. Speaking of locking inner blocks from the container block, having a little tog, and it looks like it&#8217;s a little toggle button that will have the user say, okay, and apply the same lock to all the inner blocks in a group block or in a cover block or something like that, so that is really good.</p>\n\n\n\n<p>So, I think we are at the end of a show. Thank you all for that, it&#8217;s a great show. I was so happy that we put it together today. I just want to remind everyone, July 22nd is our Gutenberg live Q and A with the lead developer, Seth Rubenstein and head of digital strategy, Michael Pickerosy from the Pew Research Center. And my co-host will be Anne McCarthy, and the registration and link is in the show. So Jorge, Jorge-</p>\n\n\n\n<p><em>Jorge Costa</em>: That is always this confusion between Spanish and the Portuguese version of the name.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: I&#8217;m sorry, I butchered it probably, either way.</p>\n\n\n\n<p><em>Jorge Costa</em>: Either way is fine, I&#8217;m already accustomed to it.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: So if the people want to get in contact with you, want to kind of ask you questions, or how is the best way to reach you?</p>\n\n\n\n<p><em>Jorge Costa</em>: Yeah. You can reach me on the WordPress Slack, Jorge Costa, or you can reach me on Twitter too, JorgefesCosta, and of course on GitHub, George Filipe Costa, which is my GitHub username. So feel free to reach on any of the platforms you like.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. And Mary, do you have anything that you wanted to remind our listeners about that you didn&#8217;t get in beforehand?</p>\n\n\n\n<p><em>Mary Job</em>: No.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. So how can people reach you?</p>\n\n\n\n<p><em>Mary Job:</em> Maryojob on Twitter.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Maryojob. Yes, Maryojob on Twitter. So as always, the show notes will be published on gutenbergtimes.com/podcast. This is episode 69, and if you have questions, suggestions, or news, you can send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. That&#8217;s <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. Thank you, Mary. Thank you, Jorge. Until the next time, and that&#8217;s it for me. Bye-bye.</p>\n\n\n\n<p><em>Jorge Costa</em>: And thank you again for having me.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: You&#8217;re welcome. Thank you for joining us.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 09 Jul 2022 21:30:28 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Gutenberg Changelog\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:108:\"Gutenberg Times: Accessibility Day, Shortcode to Block, and a new Beginner’s Guide — Weekend Edition 222\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=21526\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://gutenbergtimes.com/accessibility-day-shortcode-to-block-and-a-new-beginners-guide-weekend-edition-222/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:19779:\"<p>Howdy, </p>\n\n\n\n<p>So, this was the first week of the second half of the year. I am most excited about meeting people at WordCamp US in San Diego, the WordPress 6.1 release and some downtime around the Holidays. But first it is vacation time in August! We will meet family and friends in Berlin, Munich, Black Forest and Merano, Italy. In between we sprinkle our workdays, too and some weekend editions. </p>\n\n\n\n<p>This week, there are some real gems in the list of posts. The list of WordPress events is quite long, with more in-person WordCamps around the world, additional July events on the Social Learning space and more. Check them all out on the bottom of this edition. And don&#8217;t forget to <a href=\"https://us02web.zoom.us/webinar/register/7216548519021/WN_Af50AS7VQbuyCrUdQnormw\">reserve your seat for the next Gutenberg Times Live Q &amp; A</a> with the folks from the Pew Research Center.  Hope to see you there! </p>\n\n\n\n<p>Hopefully, you also get some vacation time and no screen-time in this Summer. Stay safe! </p>\n\n\n\n<p>Yours, 💕<br /><em>Birgit</em></p>\n\n\n\n\n\n\n<div class=\"wp-container-7 wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<div class=\"wp-block-sortabrilliant-guidepost\"><ul><li><a href=\"https://gutenbergtimes.com/feed/#0-word-press-release-information\">Developing Gutenberg and building Blocks</a><ul><li><a href=\"https://gutenbergtimes.com/feed/#1-g\">Gutenberg 13.6 released</a></li></ul></li><li><a href=\"https://gutenbergtimes.com/feed/#2-word-press-6-0-1-and-6-1-scheduled\">Theme building with Full-Site Editing</a></li><li><a href=\"https://gutenbergtimes.com/feed/#2-\">Block editor updates for #Nocode Site builders and Owners</a></li><li><a href=\"https://gutenbergtimes.com/feed/#0-l\">Live Streams and Podcasts</a></li><li><a href=\"https://gutenbergtimes.com/feed/#5-upcoming-word-press-events\">Upcoming WordPress Events</a><ul><li><a href=\"https://gutenbergtimes.com/feed/#6-word-camps-around-the-world\">WordCamps around the World</a></li><li><a href=\"https://gutenbergtimes.com/feed/#2-social-learning-spaces\">Social Learning Spaces</a></li><li><a href=\"https://gutenbergtimes.com/feed/#3-meetups\">Meetups</a></li></ul></li></ul></div>\n</div></div>\n\n\n\n\n<h2 id=\"0-word-press-release-information\">Developing Gutenberg and building Blocks</h2>\n\n\n\n<p>In his post, <a href=\"https://jonathanbossenger.com/2022/07/08/turning-a-shortcode-into-a-block/\"><strong>turning a Shortcode into a block</strong></a> <strong><a href=\"https://twitter.com/jon_bossenger\">Jonathan Bossenger</a></strong>, Developer Educator on WordPress Training team, uses the example of a testimonial plugin that provides a Shortcode to add a testimonial to a page. In this hands-on video, you learn how to replicate the functionality in a block. </p>\n\n\n\n<p>If you are missing some steps, Bossenger also published an <strong><a href=\"https://learn.wordpress.org/workshop/intro-to-gutenberg-block-development/\">Intro to Gutenberg Block Development</a> </strong>workshop on Learn.WordPress<strong> </strong></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>After discussions with a few team reps on Slack and at WordCamp Europe, I published the follow-up <a href=\"https://make.wordpress.org/core/2022/07/06/proposed-editorial-process-for-the-new-developer-blog/\"><strong>proposal on an editorial process for the new Developer Blog</strong></a> on WordPress.org. I am grateful to all the reviewers of the post to make it a good first draft. If you have some time, read it and chime in, especially if you have specific topics you&#8217;d like to see the team write about. The comments period end on July 20th, 2022. </p>\n\n\n\n<h3 id=\"1-g\">Gutenberg 13.6 released</h3>\n\n\n\n<p><strong><a href=\"https://twitter.com/JorgeFSCosta\">Jorge Costa</a></strong> was the release lead for Gutenberg plugin version 13.6. He wrote in his release post: <a href=\"https://make.wordpress.org/core/2022/07/07/whats-new-in-gutenberg-13-6-6-july/\"><strong>What’s new in Gutenberg 13.6? (6 July)</strong></a>. &#8220;The Gutenberg 13.6 release comes with four major highlighted features, many smaller enhancements, numerous accessibility improvements, and twenty-six bug fixes.&#8221; Costa highlighted the following features: </p>\n\n\n\n<ul><li><a href=\"https://make.wordpress.org/core/2022/07/07/whats-new-in-gutenberg-13-6-6-july/#post-type-patterns\">Provide patterns to select from when creating any post type</a></li><li><a href=\"https://make.wordpress.org/core/2022/07/07/whats-new-in-gutenberg-13-6-6-july/#template-types\">Create more template types in the editor</a></li><li><a href=\"https://make.wordpress.org/core/2022/07/07/whats-new-in-gutenberg-13-6-6-july/#other-highlights\">Other Notable Highlights</a></li><li><a href=\"https://make.wordpress.org/core/2022/07/07/whats-new-in-gutenberg-13-6-6-july/#button-element\">Explore the expanding theme.json engine</a></li></ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>More details are also available on the WPTavern article: <a href=\"https://wptavern.com/gutenberg-13-6-adds-pattern-modal-support-for-custom-post-types-expands-creation-of-template-types\">Gutenberg 13.6 Adds Pattern Modal Support for Custom Post Types, Expands Creation of Template Types</a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Mary Job</strong> and I had <strong>Jorge Costa</strong> as our special guest for the next <strong>Gutenberg Changelog episode (69)</strong>. The episode will hit your favorite podcast player over the weekend. </p>\n\n\n\n<img />\n\n\n\n\n<p><strong>&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Keeping up with Gutenberg &#8211; Index 2022&#8221;</a>&nbsp;</strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test and Meta team from Jan. 2021 on. Updated by yours truly.  <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\"><em>The index 2020 is here</em></a></p>\n\n\n\n\n<h2 id=\"2-word-press-6-0-1-and-6-1-scheduled\">Theme building with Full-Site Editing</h2>\n\n\n\n<p><strong><a href=\"https://twitter.com/andersnoren\">Anders Noren</a></strong>, one of the first theme builders using FSE and also guest on one of our Live Q &amp; As, released a new bock theme. In his post, <a href=\"https://andersnoren.se/introducing-davis-blocks/\"><strong>Introducing Davis Blocks</strong></a>, he also explains his reasons for the rewrite of his classic theme. Then he elaborates   on his approach to reduce files and CSS via block themes, and &#8211; very interesting &#8211; why he still had to use 250 lines of Custom CSS. The last section provides a fabulous list of missing features. </p>\n\n\n\n<p>You can try out the new theme for free from the WordPress Repository: <a href=\"https://wordpress.org/themes/davis-blocks/\">Davis Blocks</a>. <a href=\"https://wordpress.org/themes/tove/\">Tove</a> was Noren&#8217;s first block theme to make it into the directory. And, according to <a href=\"https://twitter.com/andersnoren/status/1545372137682264064\">his tweets</a>, Noren is already working on his next theme. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://twitter.com/hellofromTonya\">Tonya Mork</a></strong> published a <a href=\"https://github.com/WordPress/gutenberg/issues/41479\"><strong>Roadmap for the implementation of the Webfonts API</strong></a>. The post has two parts: First she outlined the vision on how this API supports typography features in Styles. Second,  she keeps track of ongoing work necessary to build the architecture, tackle performance, provide the features needed, fix identified bugs and write documentation. Mork also shared, that once the issues in the architectural section are resolved, work on features can begin. You can follow along on the development by bookmarking this issue. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>For after several months contributors discussed what would be the right moment to <a href=\"https://github.com/WordPress/gutenberg/issues/39293\"><strong>Remove the  beta label from the Site Editor</strong></a> menu item. This week, <strong>Anne McCarthy</strong> updated the space with a series of issues to be resolved before the beta moniker can be removed. This is a work in progress and certainly not the end of the discussion. It&#8217;s now on a more actionable track, though. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Matias Benedetto</strong>, developer on the WordPress Theme team posted the list of changes for Theme developers: <strong><a href=\"https://make.wordpress.org/themes/2022/06/28/latest-changes-in-gutenberg-themes-13-1-to-13-5-releases/\">Latest changes in Gutenberg + Themes: 13.1 to 13.5 releases</a>.</strong> Benedetto lists the merged PRs for Global Styles, Design Tools and Themes for each of the five plugin releases. This should get you caught up on the important pieces. </p>\n\n\n\n<div class=\"wp-container-8 wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container\">\n<p><strong>🎙️ </strong> New episode: <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-70-gutenberg-13-7-woo-commerce-marketplace/\">Gutenberg Changelog #70 – Gutenberg 13.7, Template Creation Enhancements and First Full-Site Editing Themes in Woo Commerce Marketplace</a> with Birgit Pauli-Haack and Mary Job, and special guest: <strong>Ryan Welcher</strong></p>\n</div></div>\n\n\n\n<p><a href=\"https://speckyboy.com/when-should-you-use-wordpress-full-site-editing/\"><strong>When Should You Use WordPress Full Site Editing?</strong></a> is a question many asked. <strong><a href=\"https://twitter.com/karks88\">Eric Karkovack </a></strong>has some answers for you. As always with technology, it&#8217;s an elaborated &#8220;It depends.&#8221; He looks at three scenarios: how much flexibility in design is needed, who maintains a site, and the level of complexity. If you are on the fence if  you should start a new project with FSE, this is a relevant post to think it through the decision</p>\n\n\n\n<h2 id=\"2-\">Block editor updates for #Nocode Site builders and Owners</h2>\n\n\n\n<p>If you are new to using the Block editor or know someone new to using it <a href=\"https://twitter.com/ASKDesign2/\"><strong>Anne Katzeff</strong></a> wrote a <a href=\"https://www.askdesign.biz/blog/2022/07/beginners-guide-to-gutenberg-blocks/\"><strong>Beginner’s Guide to Gutenberg Blocks</strong></a>. Katzeff introduces you to the basic Gutenberg blocks so you can edit existing pages and posts, and create new documents. Anne Katzeff is a good friend, WordPress Meetup Co-organizer, and designer in Massachusetts and wrote this post for her design clients. </p>\n\n\n\n<p>Laura Byrne <a href=\"https://twitter.com/NewYorkerLaura/status/1545777541197316096\">commented on Twitter</a>: <em>&#8220;This is hands down the best Gutenberg 101 for content creators I’ve seen. Seriously, bookmark this now and use as a reference: logical progression, great screen caps, user-friendly language.&#8221;</em> </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Sarah Gooding reviewed a new plugin which offers <a href=\"https://wptavern.com/new-free-plugin-offers-beautiful-block-patterns-for-food-bloggers\"><strong>Beautiful Block Patterns for Food Bloggers</strong></a>. &#8220;Food blogs commonly have a strong focus on category and tag-driven grid layouts with big featured images and multiple sections showcasing different types of recipes. Prior to the block editor, customizing these types of layouts would be beyond reach for most WordPress users. They would have to rely on the theme to provide the right layout or enough user-friendly options to change it.&#8221; Gooding wrote. The plugin <a href=\"https://wordpress.org/plugins/block-patterns-for-food-bloggers/\"><em>Block Patterns for Food Bloggers</em></a> is available in the WordPress repository, </p>\n\n\n\n<p>Today, <a href=\"https://wordpress.org/themes/tags/full-site-editing/\"><strong>93 Block Themes are now available in the WordPress Directory</strong></a>. Some of the newestthemes are: </p>\n\n\n\n<ul><li><a href=\"https://wordpress.org/themes/davis-blocks/\">Davis Blocks</a> by Anders Noren</li><li><a href=\"https://wordpress.org/themes/gutenify-magazine/\">Gutenify Magazine</a> by Gutenify Dev</li><li><a href=\"https://wordpress.org/themes/intrace/\">Intrace</a> by Jegstudio</li><li><a href=\"https://wordpress.org/themes/lawson/\">Lawson</a> by ThemeZee</li></ul>\n\n\n\n<img /><a href=\"https://wordpress.org/themes/tags/full-site-editing/\">Newest Themes in the WordPress Theme Directory</a>\n\n\n\n\n<p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. <br />Have you been using it? Hit reply and let me know.</p>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n\n\n\n\n<h2 id=\"0-l\">Live Streams and Podcasts</h2>\n\n\n\n<p>Sarah Gooding picked up on our upcoming Live Q &amp; A and wrote about it: <a href=\"https://wptavern.com/gutenberg-times-to-showcase-the-pew-research-centers-block-first-approach-in-a-live-qa-on-july-22-2022\">Gutenberg Times to Showcase the Pew Research Center’s “Block First Approach” in a Live Q&amp;A on July 22, 2022</a>. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Nathan Wrigley</strong> hosted <a href=\"https://wpbuilds.com/2022/07/05/this-week-in-wordpress-215/\">This Week in WordPress episode #215</a> with Remkus De Vries, Mark Westguard and yours truly. You can watch the recording on YouTube. </p>\n\n\n\n<a href=\"https://www.youtube.com/watch?v=kmx2zY9CwYk\"><img /></a>\n\n\n\n<h2 id=\"5-upcoming-word-press-events\">Upcoming WordPress Events</h2>\n\n\n\n<p><strong>Don&#8217;t miss it! <a href=\"https://us02web.zoom.us/webinar/register/7216548519021/WN_Af50AS7VQbuyCrUdQnormw\">A Block-First Approach at Pew Research Center</a></strong> with lead developer Seth Rubenstein, head of digital strategy, Michael Piccorossi and co-host Anne McCarthy on <strong>July 22, at 11am EDT / 15:00 UTC</strong></p>\n\n\n\n<a href=\"https://us02web.zoom.us/webinar/register/7216548519021/WN_Af50AS7VQbuyCrUdQnormw\"><img /></a>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>November 2 + 3, 2022<br /><a href=\"https://wpaccessibility.day/\"><strong>WordPress Accessibility Day</strong></a></p>\n\n\n\n<p>October 10 – 14, 2022<br /><strong><a href=\"https://woosesh.com/\">WooSesh&nbsp;</a></strong>is a ‘virtual conference for WooCommerce store builders that will help grow your business.’ Event host, Brain Richards, is currently looking for speakers for pre-recorded 25-minutes sessions.&nbsp;<a href=\"https://woosesh.com/speak/\">Apply to speak</a>. Deadline July 15, 2022. </p>\n\n\n\n<h3 id=\"6-word-camps-around-the-world\">WordCamps around the World</h3>\n\n\n\n<p>September 2 + 3, 2022 <br /><strong><a href=\"https://jinja.wordcamp.org/2022/\">WordCamp Jinja 2022</a></strong>, about 2 hrs West of Kampala, Uganda. Calls for sponsors, speakers, and volunteers are open now. </p>\n\n\n\n<p>September 3 + 4, 2022 <br /><a href=\"https://kathmandu.wordcamp.org/2022/\"><strong>WordCamp Kathmandu</strong></a>, Nepal</p>\n\n\n\n<p>September 9 &#8211; 11, 2022 <br /><strong><a href=\"https://us.wordcamp.org/2022/\">WordCamp US</a></strong> in San Diego</p>\n\n\n\n<p>September 15 + 16, 2022 <br /><a href=\"https://netherlands.wordcamp.org/2022/\"><strong>WordCamp Netherlands</strong></a> at the  <a href=\"https://www.burgerszoo.com/\">Royal Burger&#8217;s Zoo</a> in Arnhem</p>\n\n\n\n<p>September 24 + 25, 2022<br /><a href=\"https://pontevedra.wordcamp.org/2022\"><strong>WordCamp Pontevedra</strong></a></p>\n\n\n\n<h3 id=\"2-social-learning-spaces\">Social Learning Spaces</h3>\n\n\n\n<p>July 11, 2022 3 pm EDT / 19:00 UTC<br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/286854020/\"><strong>Your First Ecommerce Website</strong></a> with Chris Badgett and Destiny Kanno</p>\n\n\n\n<p>July 12, 2022, 5 pm EDT / 21:00 UTC<br /><strong><a href=\"https://www.meetup.com/wordpress-social-learning/events/286603818/\">Explore the Block Directory</a></strong> with Wes Theron</p>\n\n\n\n<p>July 14, 2022 10 am EDT / 14:00 UTC<br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/287038011/\"><strong>Let&#8217;s code! Creating your first WordPress Child Theme</strong></a> with Jonathan Bossenger</p>\n\n\n\n<p>July 15, 2022 4am EDT / 8 am UTC <br /><strong><a href=\"https://www.meetup.com/wordpress-social-learning/events/287058137/\">Writing content with the 10 Text blocks</a> with Ben Evans. </strong></p>\n\n\n\n<p>July 18, 2022 4pm EDT / 20:00 UTC <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/287072722/\"><strong>Building With Free Wireframe Templates And Advanced Blocks</strong></a> with Kadence blocks and Maestro Stevens</p>\n\n\n\n<p>July 19, 2022 5pm EDT / 21:00 UTC<br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/286862262/\"><strong>Explore the Template Editor</strong></a> with Wes Theron</p>\n\n\n\n<p>July 26, 2022 5pm EDT / 21:00 UTC <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/287048356/\"><strong>Styling your site with global styles</strong></a> with Wes Theron and Alycia </p>\n\n\n\n<h3 id=\"3-meetups\">Meetups</h3>\n\n\n\n<p><strong>July 20, 2022 7pm EDT / 23:00 UTC</strong><br /><a href=\"https://www.meetup.com/the-ottawa-wordpress-group/events/282146170/\"><strong>Gutenberg Blocks for Devs &#8211; Part 2</strong></a> with Rick Radko Ottawa Meetup</p>\n\n\n\n<p><strong>July 21, 2022 6 pm  EDT / 22:00</strong> <br /><a href=\"https://www.meetup.com/west-orlando-wordpress-meetup/events/286850309/\"><strong>What&#8217;s in WordPress 6.0 and in the works for WordPress 6.1</strong></a> with Birgit Pauli-Haack at West Orlando WordPress meetup </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n\n<p><em>Featured Image: Porto-House-Entrance by Birgit Pauli-Haack</em></p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n\n<form class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" action=\"https://gutenbergtimes.com/feed/\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input type=\"email\" class=\"ngl-form-input-text\" name=\"ngl_email\" id=\"ngl_email\" /></div></div><button type=\"submit\" class=\"ngl-form-button\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too and won&#8217;t give your email address to anyone except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input type=\"hidden\" name=\"ngl_list_id\" id=\"ngl_list_id\" value=\"26f81bd8ae\" /><input type=\"hidden\" name=\"ngl_double_optin\" id=\"ngl_double_optin\" value=\"yes\" /></form>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 09 Jul 2022 15:34:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: New Free Plugin Offers Beautiful Block Patterns for Food Bloggers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"https://wptavern.com/?p=135134\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"https://wptavern.com/new-free-plugin-offers-beautiful-block-patterns-for-food-bloggers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4826:\"<img />\n\n\n\n<p>Last month WPZOOM released a free plugin called <a href=\"https://wordpress.org/plugins/block-patterns-for-food-bloggers/#description\">Block Patterns for Food Bloggers</a> that I finally got the chance to test. Food blogs commonly have a strong focus on category and tag-driven grid layouts with big featured images and multiple sections showcasing different types of recipes. Prior to the block editor, customizing these types of layouts would be beyond reach for most WordPress users. They would have to rely on the theme to provide the right layout or enough user-friendly options to change it.</p>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\"><a href=\"https://wordpress.org/plugins/block-patterns-for-food-bloggers/\">Block Patterns for Food Bloggers</a></blockquote>\n</div>\n\n\n\n<p>This plugin offers 19 beautifully designed patterns that are fully customizable, making it easy for food bloggers to create complex layouts. Once installed, users will find a little icon at the top of the editor, which  launches the patterns in a modal.</p>\n\n\n\n<img />\n\n\n\n<p>The modal displays a grid view of the patterns, a list view with larger images, and allows users to preview the patterns with a mobile, tablet, and desktop view.</p>\n\n\n\n<img />\n\n\n\n<p>Patterns look exactly like the preview when you select and insert them. They include all the images and text so users don&#8217;t have to guess how it all fits together. Most patterns simply require replacing the content with your own but can also be used as a starting point for additional customizations. For example, users can drop in this set of featured categories and edit the links to their own categories. </p>\n\n\n\n<img />\n\n\n\n<p>Some of the patterns, such as the different post grids, will require users to make some edits to the block settings for the Query Loop to get it to display the specific categories, author, post type, etc. </p>\n\n\n\n<img />\n\n\n\n<p>The plugin also includes two different &#8220;About Me&#8221; style Hero sections for introducing the food blogger, as well as an Instagram profile pattern with a small grid of images, and a book feature. There are patterns for a newsletter signup design, and a search form design with a browse section and quick search categories. </p>\n\n\n\n<img />\n\n\n\n<p>Check out the <a href=\"https://demo.wpzoom.com/foodica-patterns/\">demo on WPZOOM</a> to see all the food blogger patterns in action and an example homepage created with only the patterns in the plugin.</p>\n\n\n\n<p>Block Patterns for Food Bloggers is a fun plugin to play with because all the patterns are harmonious to each other, so it doesn&#8217;t look like they were all mixed and matched from different plugins. They should drop seamlessly into any WordPress theme or can be used on a blank canvas style theme without an issue.</p>\n\n\n\n<p>If you are food blogger who is eager to build your own website but have not found a theme that works for you, this plugin could be all you need to make your own layouts. It covers everything from recipe index pages to featured sections that you would find on any food blogger&#8217;s homepage. </p>\n\n\n\n<p>WPZOOM published a few helpful tips on the plugin page for customizing the patterns:</p>\n\n\n\n<ul><li>Use the Group block to control spacing and color for more than one block at a time.</li><li>Use the Cover block to control your pattern’s height, including min-height and full-viewport designs.</li><li>If your pattern contains numerous root-level blocks it can be helpful to Group them all together. This makes it easier to move your pattern around once inserted.</li></ul>\n\n\n\n<p>Although these patterns are presented with food pictures and placeholder text, they could easily be used for any other type of website. If you have a custom post type for movies, books, portfolios, team members, or any other kind of content, these patterns may be just as relevant. </p>\n\n\n\n<img />\n\n\n\n<p>Although some might contend all these patterns should be uploaded to <a href=\"https://wordpress.org/patterns/\">WordPress&#8217; official pattern directory</a>, I can see the value of offering them as a unified collection in a plugin.  Patterns mashed together from the Patterns Directory do not always have a unified design. There are already a few plugins that offer general pattern collections but it would be great to see more niche pattern collections like this one with a unified focus and design. It makes page building much easier than simply relying on core blocks and block collections.   </p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/block-patterns-for-food-bloggers/#description\">Block Patterns for Food Bloggers</a> is available for free from the WordPress Plugin Directory. It works just as advertised and does not include annoying upgrade advertising in the admin.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 08 Jul 2022 21:56:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:42:\"Requests_Utility_CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:8:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Mon, 25 Jul 2022 08:36:58 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:13:\"last-modified\";s:29:\"Mon, 25 Jul 2022 08:30:11 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:9:\"HIT ord 2\";s:16:\"content-encoding\";s:4:\"gzip\";}}s:5:\"build\";s:14:\"20211220193300\";}','no'),(3354,'_transient_timeout_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1658781419','no'),(3355,'_transient_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1658738219','no'),(3356,'_transient_timeout_dash_v2_88ae138922fe95674369b1cb3d215a2b','1658781419','no'),(3357,'_transient_dash_v2_88ae138922fe95674369b1cb3d215a2b','<div class=\"rss-widget\"><ul><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2022/07/wordpress-6-0-1-maintenance-release/\'>WordPress 6.0.1 Maintenance Release</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2022/07/episode-35-five-for-the-futures-true-intentions/\'>WP Briefing: Episode 35: Five for the Future’s True Intentions</a></li></ul></div><div class=\"rss-widget\"><ul><li><a class=\'rsswidget\' href=\'https://gutenbergtimes.com/podcast/gutenberg-changelog-70-gutenberg-13-7-woo-commerce-marketplace/\'>Gutenberg Times: Gutenberg Changelog #70 – Gutenberg 13.7, Template Creation Enhancements and First Full-Site Editing Themes in Woo Commerce Marketplace</a></li><li><a class=\'rsswidget\' href=\'https://gutenbergtimes.com/new-kind-of-default-theme-pattern-preview-in-the-theme-directory-and-so-much-more-weekend-edition-224/\'>Gutenberg Times: New kind of default theme, pattern preview in the theme directory  and so much more – Weekend Edition 224</a></li><li><a class=\'rsswidget\' href=\'https://cdn.poststatus.com/putting-it-together-together/\'>Post Status: Putting it together, together</a></li></ul></div>','no'),(3374,'_transient_timeout_global_styles_genesis-block-theme','1658738834','no'),(3375,'_transient_global_styles_genesis-block-theme','body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url(\'#wp-duotone-dark-grayscale\');--wp--preset--duotone--grayscale: url(\'#wp-duotone-grayscale\');--wp--preset--duotone--purple-yellow: url(\'#wp-duotone-purple-yellow\');--wp--preset--duotone--blue-red: url(\'#wp-duotone-blue-red\');--wp--preset--duotone--midnight: url(\'#wp-duotone-midnight\');--wp--preset--duotone--magenta-yellow: url(\'#wp-duotone-magenta-yellow\');--wp--preset--duotone--purple-green: url(\'#wp-duotone-purple-green\');--wp--preset--duotone--blue-orange: url(\'#wp-duotone-blue-orange\');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}','no'),(3376,'_transient_timeout_global_styles_svg_filters_genesis-block-theme','1658738834','no'),(3377,'_transient_global_styles_svg_filters_genesis-block-theme','<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-dark-grayscale\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0 0.49803921568627\" /><feFuncG type=\"table\" tableValues=\"0 0.49803921568627\" /><feFuncB type=\"table\" tableValues=\"0 0.49803921568627\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-grayscale\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0 1\" /><feFuncG type=\"table\" tableValues=\"0 1\" /><feFuncB type=\"table\" tableValues=\"0 1\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-purple-yellow\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0.54901960784314 0.98823529411765\" /><feFuncG type=\"table\" tableValues=\"0 1\" /><feFuncB type=\"table\" tableValues=\"0.71764705882353 0.25490196078431\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-blue-red\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0 1\" /><feFuncG type=\"table\" tableValues=\"0 0.27843137254902\" /><feFuncB type=\"table\" tableValues=\"0.5921568627451 0.27843137254902\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-midnight\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0 0\" /><feFuncG type=\"table\" tableValues=\"0 0.64705882352941\" /><feFuncB type=\"table\" tableValues=\"0 1\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-magenta-yellow\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0.78039215686275 1\" /><feFuncG type=\"table\" tableValues=\"0 0.94901960784314\" /><feFuncB type=\"table\" tableValues=\"0.35294117647059 0.47058823529412\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-purple-green\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0.65098039215686 0.40392156862745\" /><feFuncG type=\"table\" tableValues=\"0 1\" /><feFuncB type=\"table\" tableValues=\"0.44705882352941 0.4\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 0 0\" width=\"0\" height=\"0\" focusable=\"false\" role=\"none\" style=\"visibility: hidden; position: absolute; left: -9999px; overflow: hidden;\" ><defs><filter id=\"wp-duotone-blue-orange\"><feColorMatrix color-interpolation-filters=\"sRGB\" type=\"matrix\" values=\" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 \" /><feComponentTransfer color-interpolation-filters=\"sRGB\" ><feFuncR type=\"table\" tableValues=\"0.098039215686275 1\" /><feFuncG type=\"table\" tableValues=\"0 0.66274509803922\" /><feFuncB type=\"table\" tableValues=\"0.84705882352941 0.41960784313725\" /><feFuncA type=\"table\" tableValues=\"1 1\" /></feComponentTransfer><feComposite in2=\"SourceGraphic\" operator=\"in\" /></filter></defs></svg>','no'),(3421,'action_scheduler_migration_status','complete','yes');

--
-- Table structure for table `wp_postmeta`
--

CREATE TABLE `wp_postmeta` (
  `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `post_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
  `meta_value` longtext COLLATE utf8mb4_unicode_520_ci,
  PRIMARY KEY (`meta_id`),
  KEY `post_id` (`post_id`),
  KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB AUTO_INCREMENT=185 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

--
-- Dumping data for table `wp_postmeta`
--

INSERT INTO `wp_postmeta` VALUES (1,2,'_wp_page_template','default'),(2,3,'_wp_page_template','default'),(9,2,'_edit_last','11'),(10,2,'_edit_lock','1658249718:11'),(11,2,'ct_builder_shortcodes',''),(12,2,'ct_builder_json','{\"id\":0,\"name\":\"root\",\"depth\":0,\"meta_keys\":[\"rank_math_internal_links_processed\"]}'),(13,2,'ct_page_settings','a:4:{s:9:\"max-width\";s:0:\"\";s:3:\"aos\";a:9:{s:4:\"type\";s:0:\"\";s:8:\"duration\";s:0:\"\";s:6:\"easing\";s:0:\"\";s:6:\"offset\";s:0:\"\";s:5:\"delay\";s:0:\"\";s:16:\"anchor-placement\";s:0:\"\";s:4:\"once\";s:0:\"\";s:6:\"mirror\";s:0:\"\";s:7:\"disable\";s:0:\"\";}s:7:\"scripts\";a:3:{s:14:\"scroll_to_hash\";s:0:\"\";s:19:\"scroll_to_hash_time\";s:0:\"\";s:21:\"scroll_to_hash_offset\";s:0:\"\";}s:20:\"overlay-header-above\";s:0:\"\";}'),(20,14,'wpcb_run_type','always'),(21,14,'wpcb_original_code','/*\nPlugin Name:  MA Oxygen Custom Fonts\nDescription:  Load custom fonts and inject to Oxygen\nAuthor:       <a href=\"https://www.altmann.de/\">Matthias Altmann</a>\nProject:      Code Snippet: Load custom fonts and inject to Oxygen\nVersion:      3.2.6\nPlugin URI:   https://www.altmann.de/en/blog-en/code-snippet-integrate-custom-fonts-into-oxygen-en/\nDescription:  en: https://www.altmann.de/en/blog-en/code-snippet-integrate-custom-fonts-into-oxygen-en/\n              de: https://www.altmann.de/blog/code-snippet-eigene-schriftarten-in-oxygen-integrieren/\nCopyright:    © 2020-2022, Matthias Altmann\n\nVersion History:\nDate		Version		Description\n--------------------------------------------------------------------------------------------------------------\n2022-06-02	3.2.6		New Features:\n						- New configuration option $wfl_support_woff: \n						  Font packages downloaded from Web Font Loader (https://webfontloader.altmann.de) \n						  contain WOFF2 files supported by all modern browsers, and also WOFF files to support \n						  ancient browsers before 2016 like Internet Explorer, or Safari on older Apple devices.\n						  The new default setting is to NOT provide old style WOFF files for ancient browsers.\n						  Set this option to true if you still need to support old browsers before 2016.\n						  (Many thanks to Sunny Trochaniak and Yan Kiara for reporting issues investigation \n						  support with unexpected WOFF loading when using symbols/emoji)\n						- Added display of timing details at end of page Appearance > MA Custom Fonts\n						Fixes:\n						- Corrected initialization of dummy ECF plugin to let Oxygen detect custom fonts and \n						  prevents attempts to be loaded as Google fonts\n						  (Thanks to Firat Sekerli for reporting)\n						Changes:\n						- Removed configuration and all code for debugging.\n						- For Web Font Loader fonts: Only emit CSS if related font file exists. \n						  User might have deleted e.g. the files for a specific language.\n2022-03-13	3.2.5		New Features:\n						- Legend and coloring for font formats in custom fonts test screen\n						Changes:\n						- Renamed Admin menu Appearance > \"Custom Fonts\" to \"MA Custom Fonts\"\n						- Renamed test shortcode from \"maltmann_custom_fonts_test\" to \"ma-customfonts-test\"\n						- Optimized handling of font_base (dir, url) by class var\n						- Enhanced detection of variable weight fonts by [wght] in filename\n						  (Thanks to Paul Batey for reporting)\n						- Adapted min/max font weight for variable fonts from 100/900 to 1/1000 according to \n						  https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-weight#values\n						  (Thanks to Paul Batey for reporting)\n						- Completely re-built custom font test screen (WP Admin and Shortcode) to improve \n							- variable weight fonts (display logic)\n							- responsive view (for test on smartsphones)\n2022-02-11				Tested with PHP 8.0, WordPress 5.9, Oxygen 4.0 beta 1\n2021-10-26	3.2.4		Changes:\n						- Deferred initialization to hook wp_loaded, after incompatibility checks\n						- Gutenberg: Apply custom fonts for new posts also\n						- Renamed IDs (for scripts and styles) and CSS classes (for font test) for consistency\n						Performance:\n						- Avoid unneccessary init by separating admin/frontend and more detailed checks \n						Fixes:\n						- Fixed an issue comparing hashes for code and file\n						  (Thanks to David Sitniansky for reporting)\n						- Emit styles for Gutenberg correctly if $cssoutput is configured as \'html\'\n2021-10-15	3.2.3		Changes:\n						- Gutenberg: Use display font for post title\n						  (Thanks to Sunny Trochaniak for reporting)\n						- Fonts preview: Changed sample text size from 15 to 16 px which is browser standard \n						- Fonts preview: Shortcode output uses WP system fonts for UI instead of custom fonts\n						- CSS file link now contains ?ver=... instead of ?hash only\n						Performance: \n						- Only create CSS file if contents (font configuration) have changed \n						Fixes:\n						- Removed itemprop=\"stylesheet\" from <link rel=\"stylesheet\" ...>\n						  (Thanks to Max Gottschalk for reporting and testing)\n						- Proper quoting for font families\n2021-08-02	3.2.2		Changes:\n						- Using scheme-less URL to avoid issues with wrong WordPress URL configuration\n						- Added admin notice if folder wp-content/uploads/fonts is not writable.\n						Fixes:\n						- Fixed issue with uppercase font file extensions.\n2021-06-18	3.2.1		Fixes: \n						- Fixed typo in CSS for Gutenberg\n2021-06-18	3.2.0		New Features:\n						- Display Custom Fonts in Gutenberg (enqueue ma_customfonts.css for font definitions, \n						  add custom style for display and text font from Oxygen global settings)\n						Changes:\n						- Auto-create folder /wp-content/uploads/fonts\n2021-05-17	3.1.3		Changes:\n						- Optimized init sequence\n						- Emit implementation and version in CSS\n						- Reversed Version History order\n2021-05-16	3.1.2		Changes:\n						- Avoid font swap: Load ma-customfonts.css early; default font-display now \"block\"\n						New Features:\n						- Allow space in addition to dashes to detect font weights and styles\n						  (Thanks to Henning Wechsler for reporting)\n2021-03-21	3.1.1		Fixes:\n						- Fixed font loading in Gutenberg editor (with Oxygen Gutenberg Integration)\n2021-03-20	3.1.0		New Features:\n						- \"Oblique\" in font file name is now detected as italic style\n						- Custom Fonts test: Option to show font weights/styles without files as browser would \n						  simulate. \n						Changes:\n						- Output Custom Font CSS in head instead of footer to prevent font swap\n						- Custom Fonts test: Changed logic for output font samples and related file info\n						Fixes:\n						- Custom Fonts test: Fixed font file count for fonts provided by Web Font Loader\n2021-03-08	3.0.2		Fix:\n						- Compatibility with Windows server and local dev environments.\n						  (Thanks to Franz Müller for reporting and testing)\n2021-02-23	3.0.1		Fixes:\n						- Compatibility with WordPress 5.6.2 (doesn\'t set REQUEST::action anymore)\n						- Compatibility check with Swiss Knife\'s Font Manager feature\n						- Compatibility with Swiss Knife (font lists did not display custom fonts light blue)\n2021-02-18	3.0.0		New Features:\n						- Support for font packages from Web Font Loader (https://webfontloader.altmann.de/)\n						- New configuration option: CSS output as inline CSS or external CSS file (cacheable)\n						- New configuration option: CSS minimize (was controlled by debug switch before)\n						- Changed configuration option: font-display may now be specified as desired, \n						  default is now \'auto\'\n2021-01-24 	2.5.2		New Features:\n						- Custom Fonts test (via Admin panel and shortcode) now allows custom sample text\n2021-01-23	2.5.1		Fix:\n						- Changed compatibility check process: \n						  Changed Hook for plugin compatibility check from plugins_loaded to init\n						  Check only if admin and function is_plugin_active exists\n						  (Thanks to Sebastian Albert for reporting and testing)\n2021-01-23	2.5.0		New features:\n						- WP Admin Menu: Appearance > Custom Fonts \n						  Shows a list of all registered custom fonts, including samples, weights, formats\n						  with adaptable sample font size \n						- Detect font weight terms \"Book\" (400) and \"Demi\" (600) \n						Changes:\n						- Redesign of classes (MA_CustomFonts, ECF_Plugin)\n						- Font swap is now a configuration option\n						- Cut \"-webfont\" from font name\n2020-12-08	2.2.5		Changes:\n						- In CSS, font sources are now listed in a prioritized order (eot,woff2,woff,ttf,otf,svg)\n						  (Thanks to Viorel Cosmin Miron for reporting)\n						- Test shortcode now also displays available font formats\n2020-11-27	2.2.4		Fix:\n						- Corrected typo in variable name (2 occurrences) that could cause repeated search \n						  for font files. (Thanks to Viorel Cosmin Miron for reporting)\n2020-11-25	2.2.3		Changes:\n						- In Oxygen font selectors the custom fonts are now displayed in lightblue \n						  to distinguish from default, websafe and Google Fonts \n2020-11-25	2.2.2		New features:\n						- Partial support for fonts with variable weights, detected by \"VariableFont\" in \n						  filename. CSS output as font-weight:100 900;\n2020-11-24	2.2.1		New features:\n						- Shortcode [ maltmann_custom_font_test ] for listing all custom fonts with their weights \n						  and styles\n						Changes:\n						- Fonts are now sorted alphabetically for e.g. CSS output\n						- Added more request rules to skipping code execution when not needed\n2020-11-23	2.2.0		New features:\n						- Detection of font weight from number values \n						- CSS now contains font-display:swap;\n2020-10-03 	2.1.1		Fix:\n						- Handle empty fonts folder correctly. \n						  (Thanks to Mario Peischl for reporting)\n						- Corrected title and file name (typo \"cutsom\") of Code Snippet\n2020-09-16	2.1.0		New features:\n						- Detection of font weight and style from file name\n						Fixes:\n						- EOT: Typo in extension detection\n						- EOT: Missing quote in style output\n2020-09-15	2.0.0		Improved version\n						- Finds all font files (eot, otf, svg, ttf, woff, woff2) in directory wp-content/uploads/fonts/\n						- Optionally recursive\n						- Takes font name from file name\n						- Emits optimized CSS with alternative font formats\n						- Special handling for EOT for Internet Explorer\n2020-04-10	1.0.0		Initial Release for customer project\n--------------------------------------------------------------------------------------------------------------\n*/\n\n\n\nif (!class_exists(\'MA_CustomFonts\')) :\nclass MA_CustomFonts {\n\n	const TITLE     	= \'MA Custom Fonts\';\n	const VERSION   	= \'3.2.6\';\n\n	// ===== CONFIGURATION =====\n	public static $recursive 			= true; 	// enables recursive file scan\n	public static $parsename 			= true; 	// enables parsing font weight and style from file name\n	public static $fontdisplay			= \'block\';	// set font-display to auto, block, swap, fallback, optional or \'\' (disable)\n	public static $cssoutput			= \'file\';	// \'file\': Create a CSS file (cacheable by browser). \'html\': Inline CSS\n	public static $cssminimize			= true; 	// minimize CSS (true) or pretty print (false)\n	public static $wfl_support_woff		= false;	// Support old style WOFF files from Web Font Loader for browsers before 2016\n	public static $timing				= false; 	// write timing info (a lot!) to wordpress debug.log if WP_DEBUG enabled		\n	public static $sample_text 			= \'The quick brown fox jumps over the lazy dog.\';	\n\n	// ===== INTERNAL. DO NOT EDIT. =====\n	public 	static $prioritized_formats	= [\'eot\',\'woff2\',\'woff\',\'ttf\',\'otf\',\'svg\'];\n	public 	static $var_weight_formats	= [\'woff2\',\'ttf\'];\n	private static $fonts_base			= null; // will be initialized automatically\n	private static $fonts 				= null;	// will be populated with fonts and related files we found\n	private static $fonts_details_cache	= [];	// cache for already parsed font details\n	private static $font_files_cnt		= 0;	// number of font files parsed\n	private static $font_css			= null;	// temp storage for custom font css\n	private static $guten_oxy_font_css	= null;	// temp storage for Gutenberg css defining oxygen fonts\n	private static $timing_fonts_collect= null; // timing for fonts collection\n	private static $timing_fonts_css	= null; // timing for fonts CSS generation\n	\n	//-------------------------------------------------------------------------------------------------------------------\n	static function init() {\n\n		if (!defined(\'MA_CustomFonts_Version\')) define(\'MA_CustomFonts_Version\',self::VERSION);\n\n\n		// set up fonts dir and url\n		self::$fonts_base = self::get_fonts_base(); \n		if (!self::$fonts_base) 	{return;}\n\n		// Pre-fill font definitions\n		$st_fonts_collect = microtime(true);\n		self::get_font_families();\n		self::$timing_fonts_collect = microtime(true) - $st_fonts_collect;\n		// Pre-fill custom font css, and optionally write file\n		$st_fonts_css = microtime(true);\n		self::$font_css = self::get_font_css();\n		self::$timing_fonts_css = microtime(true) - $st_fonts_css;\n\n		// Frontend: Emit custom font css in head \n		add_action( \'wp_head\', function(){ \n			echo self::$font_css; \n		},5);\n\n		// Backend\n		if (is_admin()) {\n			// Load CSS for calls using Gutenberg Editor. \n			// Requires ma_customfont.css (for font loading) and some Oxygen settings (for font assignment)\n			global $pagenow;\n			if ( ($pagenow === \'post-new.php\') || ($pagenow === \'post.php\' && @$_REQUEST[\'action\']===\'edit\') ) {\n				\n				// enqueue or embed ma_customfonts.css\n				if (self::$cssoutput == \'file\') {\n					wp_enqueue_style(\'ma-customfonts\', self::$fonts_base->url.\'/ma_customfonts.css\'); \n				} else {\n					$plain_css = self::get_font_css(true); \n					add_action( \'admin_head\', function(){ \n						echo self::get_font_css(); \n					},5);\n				}\n\n				if (defined(\"CT_VERSION\")) { // Oxygen installed and active?\n					// create custom style for body, h1-h6 from Oxygen global settings\n					$ct_global_settings = ct_get_global_settings();\n					self::$guten_oxy_font_css = sprintf(\n						\'body .editor-styles-wrapper {font-family:%1$s;}\'.\n						\'body .editor-styles-wrapper :is(h1,h2,h3,h4,h5,h6,.editor-post-title) {font-family:%2$s;}\',\n						self::quote_font_names($ct_global_settings[\'fonts\'][\'Text\']), 	// text font\n						self::quote_font_names($ct_global_settings[\'fonts\'][\'Display\'])	// heading font\n					);\n					// add custom style to overwrite Gutenberg\'s default font\n					if (self::$cssoutput == \'file\') {\n						wp_add_inline_style(\'ma-customfonts\',self::$guten_oxy_font_css); \n					} else {\n						add_action( \'admin_head\', function(){ \n							echo \'<style id=\"ma-customfonts-oxygen\">\'.self::$guten_oxy_font_css.\'</style>\'; \n						},5);\n					}\n				}\n			}\n		}\n\n		// Shortcode for testing custom fonts (listing all fonts with their formats, weights, styles)\n		add_shortcode(\'ma-customfonts-test\', function( $atts, $content, $shortcode_tag ) {\n			return self::get_font_samples(\'shortcode\');\n		}); \n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	static function init_admin_menu() {\n		$st = microtime(true);\n		// Add submenu page to the Appearance menu.\n		add_action(\'admin_menu\', function(){\n			add_submenu_page(	\'themes.php\', 										// parent slug of \"Appearance\"\n								_x(self::TITLE,\'page title\',\'ma_customfonts\'), 		// page title\n								_x(self::TITLE,\'menu title\',\'ma_customfonts\'), 		// menu title\n								\'manage_options\',									// capabilitiy\n								\'ma_customfonts\',									// menu slug\n								[__CLASS__, \'admin_customfonts\']					// function\n							);\n		});\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// Proper quoting for font families: Detect multiple families and quote individually if required\n	static function quote_font_names($font_spec) {\n		$fonts = preg_split(\'/,\\s*/\', $font_spec, -1, PREG_SPLIT_NO_EMPTY);\n		$fonts = array_map(function($name){\n			return preg_match(\'/[^A-Za-z\\-]/\',$name) ? \'\"\'.$name.\'\"\' : $name;\n		},$fonts);\n		$retval = implode(\', \',$fonts);\n		return $retval;\n	}\n\n	//-------------------------------------------------------------------------------------------------------------------\n	static function get_script_version() {\n		$implementation = basename(__FILE__) == \'ma-oxygen-custom-fonts.php\' ? \'Plugin\' : \'Code Snippet\';\n		return sprintf(\'%s, %s\', $implementation, self::VERSION);\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// Admin function Appearance > Custom Fonts to display samples of all detected fonts\n	static function admin_customfonts() {\n		$output =	\'<div class=\"wrap\">\'.\n						\'<h1>\' . esc_html(get_admin_page_title()) . \'</h1>\'.\n						self::get_font_samples(\'admin\').\n					\'</div>\';\n		echo $output;\n		echo self::get_font_css();\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// parses weight from a font file name (not used for Web Font Loader packages)\n	static function parse_font_name($name) {\n		// already in cache?\n		if (array_key_exists($name,self::$fonts_details_cache)) {return self::$fonts_details_cache[$name];}\n		\n		$retval = (object)[\'name\'=>$name, \'weight\'=>400, \'style\'=>\'normal\'];\n		if (!self::$parsename) {return $retval;}\n		$st = microtime(true);\n		$weights = (object)[ // must match from more to less specific !!\n			// more specific\n			200 => \'/[ \\-]?(200|((extra|ultra)\\-?light))/i\',\n			800 => \'/[ \\-]?(800|((extra|ultra)\\-?bold))/i\',\n			600 => \'/[ \\-]?(600|([ds]emi(\\-?bold)?))/i\',\n			// less specific\n			100 => \'/[ \\-]?(100|thin)/i\',\n			300 => \'/[ \\-]?(300|light)/i\',\n			400 => \'/[ \\-]?(400|normal|regular|book)/i\',\n			500 => \'/[ \\-]?(500|medium)/i\',\n			700 => \'/[ \\-]?(700|bold)/i\',\n			900 => \'/[ \\-]?(900|black|heavy)/i\',\n			\'var\' => \'/[ \\-]?(VariableFont|\\[wght\\])/i\',\n		];\n		$count = 0;\n		// detect & cut style\n		$new_name = preg_replace(\'/[ \\-]?(italic|oblique)/i\', \'\', $retval->name, -1, $count); \n		if ($new_name && $count) {\n			$retval->name = $new_name;\n			$retval->style = \'italic\';\n		}\n		// detect & cut weight\n		foreach ($weights as $weight => $pattern) {\n			$new_name = preg_replace($pattern, \'\', $retval->name, -1, $count);\n			if ($new_name && $count) {\n				$retval->name = $new_name;\n				$retval->weight = $weight;\n				break;\n			}\n		}\n		// cut -webfont\n		$retval->name = preg_replace(\'/[ \\-]?webfont$/i\', \'\', $retval->name); \n		// variable font: detect & cut specifica\n		if ($retval->weight == \'var\') {\n			$retval->name = preg_replace(\'/_(opsz,wght|opsz|wght)$/i\', \'\', $retval->name); \n		}\n		// store to cache\n		self::$fonts_details_cache[$name] = $retval;\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\' %s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// construct CSS block from CSS properties stored in JSON from Web Font Loader\n	static 	function create_css_from_ruleset($css_ruleset) {\n		$retval = \'\';\n		if (isset($css_ruleset)) {\n			if (isset($css_ruleset->{\'comment\'})) {$retval .= sprintf(\"/* %s */\\n\",$css_ruleset->{\'comment\'});}\n			$retval .= \"@font-face {\\n\";\n			$retval .= sprintf(\"\\tfont-family: \'%s\';\\n\",$css_ruleset->{\'font-family\'});\n			$retval .= sprintf(\"\\tfont-style: %s;\\n\",$css_ruleset->{\'font-style\'});\n			$retval .= sprintf(\"\\tfont-weight: %s;\\n\",$css_ruleset->{\'font-weight\'});\n			$retval .= sprintf(\"\\tsrc: url(\'%s\') format(\'%s\');\\n\",$css_ruleset->{\'url\'}, $css_ruleset->{\'format\'});\n			if (isset($css_ruleset->{\'unicode-range\'})) {$retval .= sprintf(\"\\tunicode-range: %s;\\n\", $css_ruleset->{\'unicode-range\'});}\n			if (self::$fontdisplay) {\n				$retval .= sprintf(\"\\tfont-display: %s;\\n\",self::$fontdisplay);\n			}			\n			$retval .= \'}\';\n		}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// return base dir/url for fonts. Create directory if necessary\n	private static function get_fonts_base() {\n		$retval = (object)[\'dir\'=>null,\'url\'=>\'\'];\n		$fonts_dir_info = wp_get_upload_dir();\n		$retval->dir = $fonts_dir_info[\'basedir\'].\'/fonts\';\n		$retval->url = $fonts_dir_info[\'baseurl\'].\'/fonts\';\n		// create fonts folder if not exists\n		if (!file_exists($retval->dir)) {\n			if (!@mkdir($retval->dir)) {\n				add_action(\'admin_notices\', function(){\n					echo \'<div class=\"notice notice-error\"><p>[\'.self::TITLE.\'] Error creating fonts base folder <code>wp-content/uploads/fonts</code>.</p></div>\';\n				});\n				error_log(sprintf(\'%s::%s() Error creating fonts base folder.\', __CLASS__, __FUNCTION__)); \n				return null;\n			}\n		}\n		if (!is_writable($retval->dir)) {\n			add_action(\'admin_notices\', function(){\n				echo \'<div class=\"notice notice-error\"><p>[\'.self::TITLE.\'] Folder <code>wp-content/uploads/fonts</code> is not writable. Please correct folder permissions.</p></div>\';\n			});\n		}\n		// V3.2.2, create scheme-less URL\n		$retval->url = preg_replace(\'/^https?\\:/\',\'\',$retval->url);\n\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// find font files in font folder\n	static function find_fonts() {\n		$st = microtime(true);\n		if (isset(self::$fonts)) return;\n		self::$fonts = [];\n		// property $recursive either recursive or flat file scan\n		if (self::$recursive) {\n			// recursive scan for font files (including subdirectories)\n			$directory_iterator = new RecursiveDirectoryIterator(self::$fonts_base->dir,  RecursiveDirectoryIterator::SKIP_DOTS | RecursiveDirectoryIterator::UNIX_PATHS);\n			$file_iterator = new RecursiveIteratorIterator($directory_iterator);\n		} else {\n			// flat scan for font files (no subdirectories)\n			$file_iterator = new FilesystemIterator(self::$fonts_base->dir);\n		}\n		// loop through files and collect font and JSON files\n		$font_splfiles = [];\n		$json_splfiles = [];\n		foreach( $file_iterator as $file) {\n			// V3: A JSON file might be available from Web Font Loader\n			if ($file->getExtension() == \'json\') {\n				$json_splfiles[] = $file;\n			}\n			if (in_array(strtolower($file->getExtension()), self::$prioritized_formats)) {\n				$font_splfiles[] = $file;\n			}\n		}\n		\n		// V3: check JSON files. If it defines \"family\" read the font name and CSS\n		$json_font_families = [];\n		foreach ($json_splfiles as $json_splfile) {\n			if ($font_details = @json_decode(@file_get_contents($json_splfile->getPathname()))) {\n				// It\'s a JSON from Web Font Loader?\n				if (isset($font_details->creator) && (strpos($font_details->creator, \'Web Font Loader\')=== 0)) {\n					// store font family name \n					$json_font_families[$json_splfile->getBasename(\'.json\')] = $font_details->family;\n					// drop all collected font files for that font since they are listed in JSON file\n					$font_path = $json_splfile->getPath().\'/\';\n					foreach ($font_splfiles as $idx => $font_splfile) {\n						if (strpos($font_splfile->getPath().\'/\',$font_path) === 0) {\n							self::$font_files_cnt ++;\n							unset($font_splfiles[$idx]);\n						}\n					}\n					// get the relative path\n					$font_path_relative = str_replace(self::$fonts_base->dir,\'\',$font_path);\n					// encode every single path element since we might have spaces or special chars \n					$font_path_url = implode(\'/\',array_map(\'rawurlencode\',explode(\'/\',$font_path_relative)));\n					\n					// add CSS blocks (could be multiple unicode ranges) to fonts list\n					$font_baseurl = self::$fonts_base->url . $font_path_url;\n					foreach ($font_details->css as $css_ruleset) {\n						// check for WOFF support. Skip if not enabled\n						if ($css_ruleset->format==\'woff\' && !self::$wfl_support_woff) {continue;}\n						// check if file exists. User might have deleted it.\n						if (!file_exists($font_path . $css_ruleset->url)) {continue;}\n						self::$fonts[$css_ruleset->{\'font-family\'}][\'source\'] = \'Web Font Loader\';\n						self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][\'has_css\'] = true;\n						// only formats woff and woff2, so just use format as file extension slot\n						if (!isset(self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][$css_ruleset->{\'format\'}])) {\n							self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][$css_ruleset->{\'format\'}] = [];	\n						}\n						$css_ruleset->url = $font_baseurl . $css_ruleset->url;\n\n						$css_block = self::create_css_from_ruleset($css_ruleset);\n						self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][$css_ruleset->{\'format\'}][] = $css_block;\n					}\n				}\n			}\n		}\n		// collect font definitions\n		foreach ($font_splfiles as $font_splfile) {\n			self::$font_files_cnt ++;\n			$font_ext = $font_splfile->getExtension();\n			$font_details = self::parse_font_name($font_splfile->getbasename(\'.\'.$font_ext));\n			$font_name = $font_details->name;\n			if (in_array($font_name,array_values($json_font_families))) {\n				// already found this font from Web Font Loader. Skip.\n				continue;\n			}\n			$font_weight = $font_details->weight;\n			$font_style = $font_details->style;\n			$font_path = str_replace(self::$fonts_base->dir,\'\',$font_splfile->getPath());\n			// encode every single path element since we might have spaces or special chars \n			$font_path = implode(\'/\',array_map(\'rawurlencode\',explode(\'/\',$font_path)));\n			// create entry for this font name\n			if (!array_key_exists($font_name,self::$fonts)) {self::$fonts[$font_name] = [];}\n			// create entry for this font weight/style \n			if (!array_key_exists($font_weight.\'/\'.$font_style,self::$fonts[$font_name])) {self::$fonts[$font_name][$font_weight.\'/\'.$font_style] = [];}\n			// store font details for this file\n			self::$fonts[$font_name][$font_weight.\'/\'.$font_style][strtolower($font_ext)] = self::$fonts_base->url . $font_path . \'/\' . rawurlencode($font_splfile->getBasename());\n		}\n		ksort(self::$fonts, SORT_NATURAL | SORT_FLAG_CASE);\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() %d font files, %d font families.\',__CLASS__,__FUNCTION__, self::$font_files_cnt, count(self::$fonts)));}\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// returns a list of font families\n	static function get_font_families() {\n		if (!isset(self::$fonts)) self::find_fonts();\n		$st = microtime(true);\n		$font_family_list = [];\n		foreach (array_keys(self::$fonts) as $font_name) {\n			$font_family_list[] = $font_name;\n		}\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $font_family_list;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// we call this function from footer emitter to get font definitions for emitting required files\n	static function get_font_definitions() {\n		return self::$fonts;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// creates CSS for custom fonts. \n	// For $cssoutput \'file\', return <link rel=\"stylesheet\" ...>, for \'html\' <style>...</style>\n	// If $plaincss is true, return plain css instead\n	static function get_font_css($plaincss = false) {\n		// emit CSS for fonts in footer\n		$version = self::get_script_version();\n		$style = \'\';\n		$st = microtime(true);\n		foreach (self::$fonts as $font_name => $font_details) {\n			ksort($font_details);\n			foreach ($font_details as $weight_style => $file_list) {\n				if ($weight_style==\'source\') {continue;}\n				list ($font_weight,$font_style) = explode(\'/\',$weight_style);\n\n				if (isset($file_list[\'has_css\'])) {\n					// V3: Google Font package CSS from Web Font Loader already has CSS\n					foreach (array_reverse(self::$prioritized_formats) as $font_ext) {\n						// we only have woff and woff2\n						if (!isset($file_list[$font_ext])) { continue; }\n						foreach ($file_list[$font_ext] as $css) {\n							$style .= trim($css).PHP_EOL;\n						}\n					}\n				} else {\n					// V2: Only have font info and file names. Build CSS\n					if ($font_weight == \'var\') {\n						$font_weight_output = \'1 1000\';\n					} else {\n						$font_weight_output = $font_weight;\n					}\n					$style .= 	\'@font-face{\'.PHP_EOL.\n								\'  font-family:\"\'.$font_name.\'\";\'.PHP_EOL.\n								\'  font-weight:\'.$font_weight_output.\';\'.PHP_EOL.\n								\'  font-style:\'.$font_style.\';\'.PHP_EOL;\n								// .eot needs special handling for IE9 Compat Mode\n					if (array_key_exists(\'eot\',$file_list)) {$style .= \'  src:url(\"\'.$file_list[\'eot\'].\'\");\'.PHP_EOL;}\n					$urls = [];\n\n					// output font sources in prioritized order\n					foreach (self::$prioritized_formats as $font_ext) {\n						if (array_key_exists($font_ext,$file_list)) {\n							$font_url = $file_list[$font_ext];\n							$format = \'\';\n							switch ($font_ext) {\n								case \'eot\': $format = \'embedded-opentype\'; break;\n								case \'otf\': $format = \'opentype\'; break;\n								case \'ttf\': $format = \'truetype\'; break;\n								// others have same format as extension (svg, woff, woff2)\n								default:	$format = strtolower($font_ext);\n							}\n							if ($font_ext == \'eot\') {\n								// IE6-IE8\n								$urls[] = \'url(\"\'.$font_url.\'?#iefix\") format(\"\'.$format.\'\")\';\n							} else {\n								$urls[] = \'url(\"\'.$font_url.\'\") format(\"\'.$format.\'\")\';\n							}\n						}\n					}\n					$style .= \'  src:\' . join(\',\'.PHP_EOL.\'      \',$urls) . \';\'.PHP_EOL;\n					if (self::$fontdisplay) {\n						$style .= sprintf(\'  font-display: %s;\'.PHP_EOL,self::$fontdisplay);\n					}\n					$style .= \'}\'.PHP_EOL;\n				}\n			}		\n			\n		}\n		// if Oxygen Builder is active, emit CSS to show custom fonts in light blue.\n		$builder_style = defined(\'SHOW_CT_BUILDER\') ? \'div.oxygen-select-box-option.ng-binding.ng-scope[ng-repeat*=\"elegantCustomFonts\"] {color:lightblue !important;}\' : \'\';\n		\n		// minimize string if configured\n		if (self::$cssminimize) {\n			$style = preg_replace(\'/\\r?\\n */\',\'\',$style); \n		}\n\n		$retval = \'\';\n		if (self::$cssoutput == \'file\') {\n			// option: write CSS to file\n			$css_path = self::$fonts_base->dir.\'/ma_customfonts.css\';\n			$css_code = \'/* Version: \'.$version.\' */\'.PHP_EOL.$style;\n			$css_hash_code = hash(\'CRC32\', $css_code, false);\n			$css_hash_file = file_exists($css_path) ? hash_file(\'CRC32\', $css_path, false) : 0;\n			if ($css_hash_code !== $css_hash_file) {\n				if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Writing CSS file \"%s\"\',__CLASS__,__FUNCTION__,$css_path));}\n				$status = file_put_contents($css_path, $css_code);\n				if ($status === false) {error_log(sprintf(\'%s::%s() Error writing CSS file \"%s\"\',__CLASS__,__FUNCTION__,$css_path));}\n				$css_hash_file = file_exists($css_path) ? hash_file(\'CRC32\', $css_path, false) : 0;\n			}\n			$css_url = str_replace(self::$fonts_base->dir,self::$fonts_base->url ,$css_path);\n			$retval = sprintf(\'<link id=\"ma-customfonts\" href=\"%s?ver=%s\" rel=\"stylesheet\" type=\"text/css\" />%s\',$css_url, $css_hash_file, $builder_style?\'<style>\'.$builder_style.\'</style>\':\'\');\n		}\n		if (self::$cssoutput == \'html\') {\n			// option: write CSS to html\n			$retval = \'<style id=\"ma-customfonts\">\'.\'/* Version: \'.$version.\' */\'.PHP_EOL.$style.PHP_EOL.$builder_style.\'</style>\';\n		}\n		if ($plaincss) {\n			$retval = $style.PHP_EOL.$builder_style;\n		}\n\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// parses font file url from CSS block\n	static function get_font_file_info_from_css($css) {\n		$retval = [];\n		if (!is_array($css)) {$css = [$css];}\n		foreach($css as $css_block) {\n			if (preg_match(\'/url\\(\\\'(.*?)\\\'\\)/\',$css_block,$matches)) {\n				$retval[] = $matches[1];\n			}\n		}\n		$retval = array_unique($retval); \n		return $retval;\n	}\n	\n	//-------------------------------------------------------------------------------------------------------------------\n	// get font file urls for var weight\n	static function get_font_var_weight_urls($font_details) {\n		$retval = [];\n		if (isset($font_details) && (is_array($font_details))) {\n			// check if we have a \'var\' weight array key\n			foreach ($font_details as $weight_style => $details) {\n				// check key (for custom fonts)\n				if (strpos($weight_style,\'var\') === 0) {\n					foreach (self::$var_weight_formats as $format) { // support var weight for specific formats\n						if (isset($details[$format])) {\n							$retval[] = urldecode($details[$format]);\n						}\n					}\n					goto DONE;\n				}\n				// check CSS file names of woff2 files (for WebFontLoader fonts)\n				if (isset($details[\'woff2\']) && is_array($details[\'woff2\'])) {\n					foreach ($details[\'woff2\'] as $css_rule) {\n						if (preg_match(\'/src: url\\(\\\'(.*?)\\\'\\)/\',$css_rule,$matches)) {\n							$src = $matches[1];\n							if (preg_match(\'/[ \\-]?(VariableFont|\\[wght\\])/i\',$src)) {\n								$retval[] = $src;\n							}\n						}\n					}\n				}\n			}\n		}\n		DONE:\n		// remove duplicates\n		$retval = array_unique($retval);\n		// remove base url\n		foreach ($retval as &$url) {\n			$url = str_replace(self::$fonts_base->url.\'/\',\'\',$url);\n		}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// returns font url (string or array) shortened and urldecoded \n	static function get_font_short_display_url ($urls) {\n		$retval = [];\n		if ($urls) {\n			if (!is_array($urls)) {$urls = [$urls];}\n			foreach ($urls as $url) {\n				// cut leading path/url from file info\n				$url = str_replace(self::$fonts_base->url.\'/\',\'\',$url);\n				// decode html entities (e.g. %20) in file path\n				$url = implode(\'/\',array_map(\'rawurldecode\',explode(\'/\',$url)));\n				$retval[] = $url;\n			}\n		}\n		return implode(\', \',$retval);\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// returns HTML code to display all registered custom fonts\n	// $mode \'admin\':		formatting to be displayed on WP Admin > Appearance\n	// $mode \'shortcode\':	formatting to be displayed as shortcode output\n	static function get_font_samples($mode = null) {\n		$st = microtime(true);\n		$script_version = self::get_script_version();\n		$sample_text = self::$sample_text;\n		$output_style = <<<\'END_OF_STYLE\'\n		<style>\n		.ma-customfonts-test {font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;}\n		.ma-customfonts-header {border:1px solid darkgray;border-radius:10px;padding:10px;padding-top:0;}\n		.ma-customfonts-header > div {display:flex;flex-direction:row;margin-top:.5em;}\n		.ma-customfonts-label {flex-shrink:0;display:inline-block;width:110px;}\n\n		#ma-customfonts-input-font-size {width:60px;text-align:center;min-height:1.5em;line-height:1em;padding:0;}\n		#ma-customfonts-input-sample-text {width:100%;max-width:400px;text-align:left;}\n\n		.ma-customfonts-legend {margin-top:3em;border:1px solid darkgray;border-radius:10px;padding:10px;padding-top:0;}\n		.ma-customfonts-legend > div {display:flex;flex-direction:row;margin-top:.5em;}\n		.ma-customfonts-legend > div > span:first-child {width:110px;flex-shrink:0;}\n\n		.ma-customfonts-timing {margin-top:2em;font-size:.8em;}\n		.ma-customfonts-timing table {border-spacing:0};\n		.ma-customfonts-timing td {padding:0}\n\n		.ma-customfonts-test h3 {margin-top:20px;padding-bottom:0;}\n		.ma-customfonts-font-additional-info {margin-left:1em;margin-bottom:1em;font-size:13px;font-weight:normal;}\n\n		.ma-customfonts-font-row {display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0;line-height:20px;border-bottom:1px solid #e0e0e0;margin:0 1em;}\n		.ma-customfonts-font-row:hover {background-color:lightgray;}\n		.ma-customfonts-font-info {font-size:10px;line-height:1em;width:100px;}\n		.ma-customfonts-font-sample {font-size:16px;line-height:1.2em;flex-grow:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}\n		.ma-customfonts-format-info {font-size:10px;cursor:help;margin-left:1em;}\n		.ma-customfonts-format-info.simulated {color:gray;font-style:italic;cursor:alias;} \n		.ma-customfonts-format-info :is(.eot,.ttf,.svg) {color:red;}\n		.ma-customfonts-format-info :is(.ttf,.otf) {color:chocolate;}\n		.ma-customfonts-format-info :is(.woff) {color:orange;}\n		.ma-customfonts-format-info :is(.woff2) {color:green;}\n\n		.ma-customfonts-simulated {display:none;}\n		@media (max-width:700px) {\n			.ma-customfonts-font-row {flex-wrap:wrap;}\n			.ma-customfonts-font-info {order:1;}\n			.ma-customfonts-font-sample {order:3; width:100%;}\n			.ma-customfonts-format-info {order:2;}\n		}\n		</style>\nEND_OF_STYLE;\n		$var = (object)[\n			\'container_style\'	=> $mode==\'shortcode\' ? \'style=\"border:1px dashed darkgray;padding:10px;\"\' : \'\',\n			\'title\'				=> $mode==\'shortcode\' ? \'<h2>\'.self::TITLE.\'</h2>\' : \'\',\n			\'cnt_families\'		=> count(self::$fonts),\n			\'cnt_files\'			=> self::$font_files_cnt,\n		];\n		$output_header = <<<END_OF_HEADER\n		<div class=\"ma-customfonts-test\" {$var->container_style}>\n			{$var->title}\n			<div class=\"ma-customfonts-header\">\n				<div>\n					<span class=\"ma-customfonts-label\">Version:</span>\n					<span>{$script_version}<span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Font Families:</span>\n					<span>{$var->cnt_families}<span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Font Files:</span>\n					<span>{$var->cnt_files}</span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Sample Font Size:</span>\n					<span><input id=\"ma-customfonts-input-font-size\" type=\"number\" value=\"16\" onchange=\"ma_customfonts_change_font_size();\"> px</span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Sample Text:</span>\n					<input id=\"ma-customfonts-input-sample-text\" value=\"{$sample_text}\" onkeyup=\"ma_customfonts_change_sample_text();\">\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Simulated:</span>\n					<span><input id=\"ma-customfonts-input-simulated\" type=\"checkbox\" value=\"simulated\" onchange=\"ma_customfonts_toggle_simulated();\"> Show font weights/styles without files as browser would simulate.</span>\n				</div>\n			</div>\nEND_OF_HEADER;\n		$output_legend = <<<END_OF_LEGEND\n		<fieldset class=\"ma-customfonts-legend\">\n			<legend><strong>Font File Formats</strong></legend>\n			<div><span style=\"color:green\">WOFF2</span><span>Modern formats are perfect for web.</span></div>\n			<div><span style=\"color:orange\">WOFF</span><span>Older formats can be used for web but have larger file sizes.</span></div>\n			<div><span style=\"color:chocolate\">OTF, TTF</span><span>Formats meant for desktop use, can be used for web but have larger to huge file sizes.</span></div>\n			<div><span style=\"color:red\">EOT, SVG</span><span>Some formats are only suppported on specific browsers like EOT on IE, SVG on Safari. Deprecated!</span></div>\n		</fieldset>\n\nEND_OF_LEGEND;\n		// controls\n		$output_script = <<<\'END_OF_SCRIPT\'\n		<script>\n		function changeCss(className, classValue) {\n			// we need invisible container to store additional css definitions\n			let cssMainContainer = jQuery(\'#css-modifier-container\');\n			if (cssMainContainer.length == 0) {\n				cssMainContainer = jQuery(\'<div id=\"css-modifier-container\"></div>\');\n				cssMainContainer.hide().appendTo(jQuery(\'body\'));\n			}\n			// we need one div for each class\n			let classContainer = cssMainContainer.find(\'div[data-class=\"\' + className + \'\"]\');\n			if (classContainer.length == 0) {\n				classContainer = jQuery(\'<div data-class=\"\' + className + \'\"></div>\');\n				classContainer.appendTo(cssMainContainer);\n			}\n			// append additional style\n			classContainer.html(\'<style>\' + className + \' {\' + classValue + \'}</style>\');\n		}\n		function ma_customfonts_change_font_size() {\n			let $val = jQuery(\'#ma-customfonts-input-font-size\').val();\n			changeCss(\'.ma-customfonts-font-sample\',\'font-size: \'+$val+\'px;\');\n		}\n		function ma_customfonts_change_sample_text() {\n			let $val = jQuery(\'#ma-customfonts-input-sample-text\').val();\n			jQuery(\'.ma-customfonts-font-sample\').text($val);\n		}\n		function ma_customfonts_toggle_simulated() {\n			let $simulated = jQuery(\'#ma-customfonts-input-simulated\').is(\':checked\');\n			jQuery(\'.ma-customfonts-simulated\').css(\'display\',$simulated?\'flex\':\'none\');\n		}\n		</script>\nEND_OF_SCRIPT;\n		\n\n		// prepare tags for every weight/style combination\n		$weights = [100,200,300,400,500,600,700,800,900];\n		$styles = [\'normal\',\'italic\'];\n		$weights_styles = [];\n		foreach ($weights as $weight) { foreach ($styles as $style) { $weights_styles[] = $weight.\'/\'.$style; } }\n		// prepare data structure to display fonts in each weight/style combination\n		$samples = [];\n		foreach (array_keys(self::$fonts) as $font_name) {\n			$samples[$font_name] = [\n				\'has_var_weight\' => false,\n				\'weights_styles\' => [],\n			];\n			foreach ($weights_styles as $weight_style) {\n				$samples[$font_name][\'weights_styles\'][$weight_style] = [];\n			}\n		}\n		// collect available font files\n		foreach (self::$fonts as $font_name => $font_details) {\n			ksort($font_details);\n\n			// check if we have a \'var\' weight\n			$font_var_weight_urls = self::get_font_var_weight_urls($font_details);\n			if ($font_var_weight_urls) {$samples[$font_name][\'has_var_weight\'] = true;}\n			$samples[$font_name][\'source\'] = $font_details[\'source\'] ?? null;\n\n			// loop font details and fill available samples and formats\n			foreach ($font_details as $weight_style => $formats) {\n				if ($weight_style==\'source\') {continue;}\n				list ($weight,$style) = explode(\'/\',$weight_style);\n				\n				if ($weight == \'var\') {\n					//  var weight detected from file name; we don\'t know the supported weights; fill all weights for current style\n					foreach (self::$var_weight_formats as $format) { // support var weight for specific formats\n						if (isset($formats[$format])) {\n							$url = $formats[$format];\n							$url = self::get_font_short_display_url($url);\n							foreach ($weights as $var_weight) {\n								$samples[$font_name][\'weights_styles\'][$var_weight.\'/\'.$style][$format] = $url;\n							}\n						}\n					}\n				} \n				// fill non var weight formats \n				foreach ($formats as $format => $url) {\n					if (!in_array($format,self::$prioritized_formats)) {continue;} // skip \'has_css\'\n					if ($weight != \'var\') {\n						if (is_array($url)) { // seems to be an array of CSS rules\n							$url = self::get_font_file_info_from_css($url);\n						}\n						$url = self::get_font_short_display_url($url);\n						$samples[$font_name][\'weights_styles\'][$weight.\'/\'.$style][$format] = $url;\n					}\n				}\n			}\n		}\n\n		$output_sample = \'\';\n		foreach ($samples as $font_name => $font_details) {\n			\n			// output the font sample block\n			$output_sample .= sprintf(\'<h3>%1$s</h3>\',$font_name);\n			// additional font info (variable fonts, source Web Font Loader, WOFF support)\n			$font_additional_infos = [];\n			if ($font_details[\'has_var_weight\']) {$font_additional_infos[] = \'Variable Weight Font.\';}\n			if ($font_details[\'source\'] == \'Web Font Loader\') {\n				$font_additional_infos[] = \'Downloaded from <a href=\"https://webfontloader.altmann.de/\" target=\"_blank\">Web Font Loader</a>.\';\n				if (!self::$wfl_support_woff) {$font_additional_infos[] = \'WOFF files are ignored according to configuration setting.\';}\n			}\n			$output_sample .= count($font_additional_infos) ? \'<div class=\"ma-customfonts-font-additional-info\">\'.implode(\' \',$font_additional_infos).\'</div>\' : \'\';\n\n			foreach ($font_details[\'weights_styles\'] as $weight_style => $formats) {\n				if ($weight_style==\'source\') {continue;}\n				list ($weight,$style) = explode(\'/\',$weight_style);\n				// build font file info output\n				$font_file_list = [];\n				foreach ($formats as $format => $files) {\n					if (is_array($files)) {$files = implode(\"\\n\",$files);}\n					$font_file_list[$format] = sprintf(\'<span class=\"%3$s\" title=\"%2$s\">%1$s</span>\', strtoupper($format), $files, $format);\n				}\n				$font_file_info = \'<span class=\"ma-customfonts-format-info\">(\' . implode(\', \',array_values($font_file_list)) . \')</span>\';\n				$output_sample .= sprintf(	\'<div class=\"ma-customfonts-font-row \'.($font_file_list?\'\':\'ma-customfonts-simulated\').\'\">\'.\n												\'<span class=\"ma-customfonts-font-info\">%2$s %3$s</span>\'.\n												\'<span class=\"ma-customfonts-font-sample\" style=\"font-family:\\\'%1$s\\\';font-weight:%2$d;font-style:%3$s\">%4$s</span>\'.\n												\'%5$s\'.\n											\'</div>\',$font_name, $weight, $style, $sample_text, $font_file_list?$font_file_info:\'<span class=\"ma-customfonts-format-info simulated\">(simulated)</span>\');\n			}\n		}\n		// output timing\n		$timing = (object)[\n			\'fonts_collect\'	=> sprintf(\'%.4f\',self::$timing_fonts_collect),\n			\'fonts_css\'		=> sprintf(\'%.4f\',self::$timing_fonts_css),\n			\'output\'		=> sprintf(\'%.4f\',microtime(true)-$st),\n		];\n		$output_timing = <<<END_OF_TIMING\n		<div class=\"ma-customfonts-timing\">\n			<strong>Timing</strong>\n			<table>\n				<tr><td>Collecting fonts:</td><td>{$timing->fonts_collect} seconds</td></tr>\n				<tr><td>Generating CSS:</td><td>{$timing->fonts_css} seconds</td></tr>\n				<tr><td>Generating output:</td><td>{$timing->output} seconds</td></tr>\n			</table>\n		</div>\nEND_OF_TIMING;\n\n		$output =  $output_style . $output_header . $output_script . $output_sample . $output_legend . $output_timing.\'</div>\';\n\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $output;\n\n	}\n} // end of class MA_CustomFonts\n\n\nendif; // end of conditional implementations\n\n\n//===================================================================================================================\n// Warn about incompatibilities\nadd_action(\'wp_loaded\',function(){\n	$GLOBALS[\'ma_customfonts_incompatibilities\'] = [];\n	if (is_admin()) {\n		// Plugin \"Elegant Custom Fonts\"\n		if (function_exists(\'is_plugin_active\') && is_plugin_active(\'elegant-custom-fonts/elegant-custom-fonts.php\'))\n			{$GLOBALS[\'ma_customfonts_incompatibilities\'][] = \'\"Elegant Custom Fonts\"\';}\n		// Plugin \"Use Any Font\"\n		if (function_exists(\'is_plugin_active\') && is_plugin_active(\'use-any-font/use-any-font.php\'))\n			{$GLOBALS[\'ma_customfonts_incompatibilities\'][] = \'\"Use Any Font\"\';}\n		// Plugin \"Swiss Knife\" with feature \"Font Manager\" active\n		if (function_exists(\'is_plugin_active\') && is_plugin_active(\'swiss-knife/swiss-knife.php\') && (get_option(\'swiss_font_manager\')==\'yes\'))\n			{$GLOBALS[\'ma_customfonts_incompatibilities\'][] = \'\"Swiss Knife\" with feature \"Font Manager\" enabled\';}\n		if (count($GLOBALS[\'ma_customfonts_incompatibilities\'])) {\n			add_action(\'admin_notices\', function(){\n				if (WP_DEBUG ) {error_log(\'MA_CustomFonts / Incompatibilities: \'.print_r($GLOBALS[\'ma_customfonts_incompatibilities\'],true));}\n				echo \'<div class=\"notice notice-warning is-dismissible\">\n						<p>The Code Snippet \"Oxygen: Custom Fonts\" is not compatible with the Plugin \'.implode(\' or \',$GLOBALS[\'ma_customfonts_incompatibilities\']).\'.<br/>\n						Please deactivate either the Code Snippet or the Plugin (feature).</p>\n					</div>\';\n			});\n		}\n	}\n	if (count($GLOBALS[\'ma_customfonts_incompatibilities\'])) return;\n	\n\n	//-------------------------------------------------------------------------------------------------------------------\n	// create a primitive ECF_Plugin class if plugin \"Elegant Custom Fonts\" is not installed\n	if (!count($GLOBALS[\'ma_customfonts_incompatibilities\']) && !class_exists(\'ECF_Plugin\')) {\n		class ECF_Plugin {\n			static function get_font_families() {\n				$st = microtime(true);\n				$font_family_list = MA_CustomFonts::get_font_families();\n				$et = microtime(true);\n				if (WP_DEBUG && MA_CustomFonts::$timing) {error_log(sprintf(\'MA_CustomFonts/%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n				return $font_family_list;\n			}\n		}\n		global $ECF_Plugin;\n		$ECF_Plugin = new ECF_Plugin();\n	}\n	\n\n},1000); // hook late to check other plugins!\n\n\n//===================================================================================================================\n// Initialize\nadd_action(\'wp_loaded\',function(){\n	if (count($GLOBALS[\'ma_customfonts_incompatibilities\'])) return;\n	if (wp_doing_ajax()) 		return;	// don\'t run for AJAX requests\n	if (wp_doing_cron()) 		return;	// don\'t run for CRON requests\n	if (wp_is_json_request()) 	return;	// don\'t run for JSON requests\n	if (is_favicon()) 			return;	// don\'t run for favicon request\n	if (isset($_SERVER[\'QUERY_STRING\']) && ($_SERVER[\'QUERY_STRING\'] == \'service-worker\'))	return;	// don\'t run for service-worker\n	if (isset($_SERVER[\'REQUEST_URI\']) 	&& ($_SERVER[\'REQUEST_URI\'] == \'/favicon.ico\'))		return;	// don\'t run for favicon\n\n	if (WP_DEBUG && MA_CustomFonts::$timing) {error_log(sprintf(\'MA_CustomFonts: Request URI=\"%s\" action=\"%s\"\', @$_SERVER[\'REQUEST_URI\'], @$_REQUEST[\'action\']));}\n\n	if (is_admin()) {\n		// init custom font functionality only when needed\n		global $pagenow;\n		if ( 	($pagenow === \'themes.php\' && @$_REQUEST[\'page\'] === \'ma_customfonts\') 	// custom font test \n			||	($pagenow === \'post-new.php\')											// new post\n			||	($pagenow === \'post.php\' && @$_REQUEST[\'action\'] === \'edit\')			// edit post\n		) {\n			MA_CustomFonts::init();\n		} else {\n			if (WP_DEBUG && MA_CustomFonts::$timing) {error_log(sprintf(\'MA_CustomFonts: Skipping font initialization for this request.\'));}\n		}\n		// initialize admin menu Appearance > Custom Fonts\n		MA_CustomFonts::init_admin_menu();\n	} else {\n		// frontend\n		MA_CustomFonts::init();\n	}\n},1001); // hook after incompatibility check\n'),(22,14,'wpcb_where_to_run','everywhere'),(23,14,'wpcb_code_type','php'),(24,14,'wpcb_conditions',''),(25,14,'wpcb_location','header'),(26,14,'wpcb_order','-1'),(27,14,'wpcb_code','/*\nPlugin Name:  MA Oxygen Custom Fonts\nDescription:  Load custom fonts and inject to Oxygen\nAuthor:       <a href=\"https://www.altmann.de/\">Matthias Altmann</a>\nProject:      Code Snippet: Load custom fonts and inject to Oxygen\nVersion:      3.2.6\nPlugin URI:   https://www.altmann.de/en/blog-en/code-snippet-integrate-custom-fonts-into-oxygen-en/\nDescription:  en: https://www.altmann.de/en/blog-en/code-snippet-integrate-custom-fonts-into-oxygen-en/\n              de: https://www.altmann.de/blog/code-snippet-eigene-schriftarten-in-oxygen-integrieren/\nCopyright:    © 2020-2022, Matthias Altmann\n\nVersion History:\nDate		Version		Description\n--------------------------------------------------------------------------------------------------------------\n2022-06-02	3.2.6		New Features:\n						- New configuration option $wfl_support_woff: \n						  Font packages downloaded from Web Font Loader (https://webfontloader.altmann.de) \n						  contain WOFF2 files supported by all modern browsers, and also WOFF files to support \n						  ancient browsers before 2016 like Internet Explorer, or Safari on older Apple devices.\n						  The new default setting is to NOT provide old style WOFF files for ancient browsers.\n						  Set this option to true if you still need to support old browsers before 2016.\n						  (Many thanks to Sunny Trochaniak and Yan Kiara for reporting issues investigation \n						  support with unexpected WOFF loading when using symbols/emoji)\n						- Added display of timing details at end of page Appearance > MA Custom Fonts\n						Fixes:\n						- Corrected initialization of dummy ECF plugin to let Oxygen detect custom fonts and \n						  prevents attempts to be loaded as Google fonts\n						  (Thanks to Firat Sekerli for reporting)\n						Changes:\n						- Removed configuration and all code for debugging.\n						- For Web Font Loader fonts: Only emit CSS if related font file exists. \n						  User might have deleted e.g. the files for a specific language.\n2022-03-13	3.2.5		New Features:\n						- Legend and coloring for font formats in custom fonts test screen\n						Changes:\n						- Renamed Admin menu Appearance > \"Custom Fonts\" to \"MA Custom Fonts\"\n						- Renamed test shortcode from \"maltmann_custom_fonts_test\" to \"ma-customfonts-test\"\n						- Optimized handling of font_base (dir, url) by class var\n						- Enhanced detection of variable weight fonts by [wght] in filename\n						  (Thanks to Paul Batey for reporting)\n						- Adapted min/max font weight for variable fonts from 100/900 to 1/1000 according to \n						  https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-weight#values\n						  (Thanks to Paul Batey for reporting)\n						- Completely re-built custom font test screen (WP Admin and Shortcode) to improve \n							- variable weight fonts (display logic)\n							- responsive view (for test on smartsphones)\n2022-02-11				Tested with PHP 8.0, WordPress 5.9, Oxygen 4.0 beta 1\n2021-10-26	3.2.4		Changes:\n						- Deferred initialization to hook wp_loaded, after incompatibility checks\n						- Gutenberg: Apply custom fonts for new posts also\n						- Renamed IDs (for scripts and styles) and CSS classes (for font test) for consistency\n						Performance:\n						- Avoid unneccessary init by separating admin/frontend and more detailed checks \n						Fixes:\n						- Fixed an issue comparing hashes for code and file\n						  (Thanks to David Sitniansky for reporting)\n						- Emit styles for Gutenberg correctly if $cssoutput is configured as \'html\'\n2021-10-15	3.2.3		Changes:\n						- Gutenberg: Use display font for post title\n						  (Thanks to Sunny Trochaniak for reporting)\n						- Fonts preview: Changed sample text size from 15 to 16 px which is browser standard \n						- Fonts preview: Shortcode output uses WP system fonts for UI instead of custom fonts\n						- CSS file link now contains ?ver=... instead of ?hash only\n						Performance: \n						- Only create CSS file if contents (font configuration) have changed \n						Fixes:\n						- Removed itemprop=\"stylesheet\" from <link rel=\"stylesheet\" ...>\n						  (Thanks to Max Gottschalk for reporting and testing)\n						- Proper quoting for font families\n2021-08-02	3.2.2		Changes:\n						- Using scheme-less URL to avoid issues with wrong WordPress URL configuration\n						- Added admin notice if folder wp-content/uploads/fonts is not writable.\n						Fixes:\n						- Fixed issue with uppercase font file extensions.\n2021-06-18	3.2.1		Fixes: \n						- Fixed typo in CSS for Gutenberg\n2021-06-18	3.2.0		New Features:\n						- Display Custom Fonts in Gutenberg (enqueue ma_customfonts.css for font definitions, \n						  add custom style for display and text font from Oxygen global settings)\n						Changes:\n						- Auto-create folder /wp-content/uploads/fonts\n2021-05-17	3.1.3		Changes:\n						- Optimized init sequence\n						- Emit implementation and version in CSS\n						- Reversed Version History order\n2021-05-16	3.1.2		Changes:\n						- Avoid font swap: Load ma-customfonts.css early; default font-display now \"block\"\n						New Features:\n						- Allow space in addition to dashes to detect font weights and styles\n						  (Thanks to Henning Wechsler for reporting)\n2021-03-21	3.1.1		Fixes:\n						- Fixed font loading in Gutenberg editor (with Oxygen Gutenberg Integration)\n2021-03-20	3.1.0		New Features:\n						- \"Oblique\" in font file name is now detected as italic style\n						- Custom Fonts test: Option to show font weights/styles without files as browser would \n						  simulate. \n						Changes:\n						- Output Custom Font CSS in head instead of footer to prevent font swap\n						- Custom Fonts test: Changed logic for output font samples and related file info\n						Fixes:\n						- Custom Fonts test: Fixed font file count for fonts provided by Web Font Loader\n2021-03-08	3.0.2		Fix:\n						- Compatibility with Windows server and local dev environments.\n						  (Thanks to Franz Müller for reporting and testing)\n2021-02-23	3.0.1		Fixes:\n						- Compatibility with WordPress 5.6.2 (doesn\'t set REQUEST::action anymore)\n						- Compatibility check with Swiss Knife\'s Font Manager feature\n						- Compatibility with Swiss Knife (font lists did not display custom fonts light blue)\n2021-02-18	3.0.0		New Features:\n						- Support for font packages from Web Font Loader (https://webfontloader.altmann.de/)\n						- New configuration option: CSS output as inline CSS or external CSS file (cacheable)\n						- New configuration option: CSS minimize (was controlled by debug switch before)\n						- Changed configuration option: font-display may now be specified as desired, \n						  default is now \'auto\'\n2021-01-24 	2.5.2		New Features:\n						- Custom Fonts test (via Admin panel and shortcode) now allows custom sample text\n2021-01-23	2.5.1		Fix:\n						- Changed compatibility check process: \n						  Changed Hook for plugin compatibility check from plugins_loaded to init\n						  Check only if admin and function is_plugin_active exists\n						  (Thanks to Sebastian Albert for reporting and testing)\n2021-01-23	2.5.0		New features:\n						- WP Admin Menu: Appearance > Custom Fonts \n						  Shows a list of all registered custom fonts, including samples, weights, formats\n						  with adaptable sample font size \n						- Detect font weight terms \"Book\" (400) and \"Demi\" (600) \n						Changes:\n						- Redesign of classes (MA_CustomFonts, ECF_Plugin)\n						- Font swap is now a configuration option\n						- Cut \"-webfont\" from font name\n2020-12-08	2.2.5		Changes:\n						- In CSS, font sources are now listed in a prioritized order (eot,woff2,woff,ttf,otf,svg)\n						  (Thanks to Viorel Cosmin Miron for reporting)\n						- Test shortcode now also displays available font formats\n2020-11-27	2.2.4		Fix:\n						- Corrected typo in variable name (2 occurrences) that could cause repeated search \n						  for font files. (Thanks to Viorel Cosmin Miron for reporting)\n2020-11-25	2.2.3		Changes:\n						- In Oxygen font selectors the custom fonts are now displayed in lightblue \n						  to distinguish from default, websafe and Google Fonts \n2020-11-25	2.2.2		New features:\n						- Partial support for fonts with variable weights, detected by \"VariableFont\" in \n						  filename. CSS output as font-weight:100 900;\n2020-11-24	2.2.1		New features:\n						- Shortcode [ maltmann_custom_font_test ] for listing all custom fonts with their weights \n						  and styles\n						Changes:\n						- Fonts are now sorted alphabetically for e.g. CSS output\n						- Added more request rules to skipping code execution when not needed\n2020-11-23	2.2.0		New features:\n						- Detection of font weight from number values \n						- CSS now contains font-display:swap;\n2020-10-03 	2.1.1		Fix:\n						- Handle empty fonts folder correctly. \n						  (Thanks to Mario Peischl for reporting)\n						- Corrected title and file name (typo \"cutsom\") of Code Snippet\n2020-09-16	2.1.0		New features:\n						- Detection of font weight and style from file name\n						Fixes:\n						- EOT: Typo in extension detection\n						- EOT: Missing quote in style output\n2020-09-15	2.0.0		Improved version\n						- Finds all font files (eot, otf, svg, ttf, woff, woff2) in directory wp-content/uploads/fonts/\n						- Optionally recursive\n						- Takes font name from file name\n						- Emits optimized CSS with alternative font formats\n						- Special handling for EOT for Internet Explorer\n2020-04-10	1.0.0		Initial Release for customer project\n--------------------------------------------------------------------------------------------------------------\n*/\n\n\n\nif (!class_exists(\'MA_CustomFonts\')) :\nclass MA_CustomFonts {\n\n	const TITLE     	= \'MA Custom Fonts\';\n	const VERSION   	= \'3.2.6\';\n\n	// ===== CONFIGURATION =====\n	public static $recursive 			= true; 	// enables recursive file scan\n	public static $parsename 			= true; 	// enables parsing font weight and style from file name\n	public static $fontdisplay			= \'block\';	// set font-display to auto, block, swap, fallback, optional or \'\' (disable)\n	public static $cssoutput			= \'file\';	// \'file\': Create a CSS file (cacheable by browser). \'html\': Inline CSS\n	public static $cssminimize			= true; 	// minimize CSS (true) or pretty print (false)\n	public static $wfl_support_woff		= false;	// Support old style WOFF files from Web Font Loader for browsers before 2016\n	public static $timing				= false; 	// write timing info (a lot!) to wordpress debug.log if WP_DEBUG enabled		\n	public static $sample_text 			= \'The quick brown fox jumps over the lazy dog.\';	\n\n	// ===== INTERNAL. DO NOT EDIT. =====\n	public 	static $prioritized_formats	= [\'eot\',\'woff2\',\'woff\',\'ttf\',\'otf\',\'svg\'];\n	public 	static $var_weight_formats	= [\'woff2\',\'ttf\'];\n	private static $fonts_base			= null; // will be initialized automatically\n	private static $fonts 				= null;	// will be populated with fonts and related files we found\n	private static $fonts_details_cache	= [];	// cache for already parsed font details\n	private static $font_files_cnt		= 0;	// number of font files parsed\n	private static $font_css			= null;	// temp storage for custom font css\n	private static $guten_oxy_font_css	= null;	// temp storage for Gutenberg css defining oxygen fonts\n	private static $timing_fonts_collect= null; // timing for fonts collection\n	private static $timing_fonts_css	= null; // timing for fonts CSS generation\n	\n	//-------------------------------------------------------------------------------------------------------------------\n	static function init() {\n\n		if (!defined(\'MA_CustomFonts_Version\')) define(\'MA_CustomFonts_Version\',self::VERSION);\n\n\n		// set up fonts dir and url\n		self::$fonts_base = self::get_fonts_base(); \n		if (!self::$fonts_base) 	{return;}\n\n		// Pre-fill font definitions\n		$st_fonts_collect = microtime(true);\n		self::get_font_families();\n		self::$timing_fonts_collect = microtime(true) - $st_fonts_collect;\n		// Pre-fill custom font css, and optionally write file\n		$st_fonts_css = microtime(true);\n		self::$font_css = self::get_font_css();\n		self::$timing_fonts_css = microtime(true) - $st_fonts_css;\n\n		// Frontend: Emit custom font css in head \n		add_action( \'wp_head\', function(){ \n			echo self::$font_css; \n		},5);\n\n		// Backend\n		if (is_admin()) {\n			// Load CSS for calls using Gutenberg Editor. \n			// Requires ma_customfont.css (for font loading) and some Oxygen settings (for font assignment)\n			global $pagenow;\n			if ( ($pagenow === \'post-new.php\') || ($pagenow === \'post.php\' && @$_REQUEST[\'action\']===\'edit\') ) {\n				\n				// enqueue or embed ma_customfonts.css\n				if (self::$cssoutput == \'file\') {\n					wp_enqueue_style(\'ma-customfonts\', self::$fonts_base->url.\'/ma_customfonts.css\'); \n				} else {\n					$plain_css = self::get_font_css(true); \n					add_action( \'admin_head\', function(){ \n						echo self::get_font_css(); \n					},5);\n				}\n\n				if (defined(\"CT_VERSION\")) { // Oxygen installed and active?\n					// create custom style for body, h1-h6 from Oxygen global settings\n					$ct_global_settings = ct_get_global_settings();\n					self::$guten_oxy_font_css = sprintf(\n						\'body .editor-styles-wrapper {font-family:%1$s;}\'.\n						\'body .editor-styles-wrapper :is(h1,h2,h3,h4,h5,h6,.editor-post-title) {font-family:%2$s;}\',\n						self::quote_font_names($ct_global_settings[\'fonts\'][\'Text\']), 	// text font\n						self::quote_font_names($ct_global_settings[\'fonts\'][\'Display\'])	// heading font\n					);\n					// add custom style to overwrite Gutenberg\'s default font\n					if (self::$cssoutput == \'file\') {\n						wp_add_inline_style(\'ma-customfonts\',self::$guten_oxy_font_css); \n					} else {\n						add_action( \'admin_head\', function(){ \n							echo \'<style id=\"ma-customfonts-oxygen\">\'.self::$guten_oxy_font_css.\'</style>\'; \n						},5);\n					}\n				}\n			}\n		}\n\n		// Shortcode for testing custom fonts (listing all fonts with their formats, weights, styles)\n		add_shortcode(\'ma-customfonts-test\', function( $atts, $content, $shortcode_tag ) {\n			return self::get_font_samples(\'shortcode\');\n		}); \n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	static function init_admin_menu() {\n		$st = microtime(true);\n		// Add submenu page to the Appearance menu.\n		add_action(\'admin_menu\', function(){\n			add_submenu_page(	\'themes.php\', 										// parent slug of \"Appearance\"\n								_x(self::TITLE,\'page title\',\'ma_customfonts\'), 		// page title\n								_x(self::TITLE,\'menu title\',\'ma_customfonts\'), 		// menu title\n								\'manage_options\',									// capabilitiy\n								\'ma_customfonts\',									// menu slug\n								[__CLASS__, \'admin_customfonts\']					// function\n							);\n		});\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// Proper quoting for font families: Detect multiple families and quote individually if required\n	static function quote_font_names($font_spec) {\n		$fonts = preg_split(\'/,\\s*/\', $font_spec, -1, PREG_SPLIT_NO_EMPTY);\n		$fonts = array_map(function($name){\n			return preg_match(\'/[^A-Za-z\\-]/\',$name) ? \'\"\'.$name.\'\"\' : $name;\n		},$fonts);\n		$retval = implode(\', \',$fonts);\n		return $retval;\n	}\n\n	//-------------------------------------------------------------------------------------------------------------------\n	static function get_script_version() {\n		$implementation = basename(__FILE__) == \'ma-oxygen-custom-fonts.php\' ? \'Plugin\' : \'Code Snippet\';\n		return sprintf(\'%s, %s\', $implementation, self::VERSION);\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// Admin function Appearance > Custom Fonts to display samples of all detected fonts\n	static function admin_customfonts() {\n		$output =	\'<div class=\"wrap\">\'.\n						\'<h1>\' . esc_html(get_admin_page_title()) . \'</h1>\'.\n						self::get_font_samples(\'admin\').\n					\'</div>\';\n		echo $output;\n		echo self::get_font_css();\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// parses weight from a font file name (not used for Web Font Loader packages)\n	static function parse_font_name($name) {\n		// already in cache?\n		if (array_key_exists($name,self::$fonts_details_cache)) {return self::$fonts_details_cache[$name];}\n		\n		$retval = (object)[\'name\'=>$name, \'weight\'=>400, \'style\'=>\'normal\'];\n		if (!self::$parsename) {return $retval;}\n		$st = microtime(true);\n		$weights = (object)[ // must match from more to less specific !!\n			// more specific\n			200 => \'/[ \\-]?(200|((extra|ultra)\\-?light))/i\',\n			800 => \'/[ \\-]?(800|((extra|ultra)\\-?bold))/i\',\n			600 => \'/[ \\-]?(600|([ds]emi(\\-?bold)?))/i\',\n			// less specific\n			100 => \'/[ \\-]?(100|thin)/i\',\n			300 => \'/[ \\-]?(300|light)/i\',\n			400 => \'/[ \\-]?(400|normal|regular|book)/i\',\n			500 => \'/[ \\-]?(500|medium)/i\',\n			700 => \'/[ \\-]?(700|bold)/i\',\n			900 => \'/[ \\-]?(900|black|heavy)/i\',\n			\'var\' => \'/[ \\-]?(VariableFont|\\[wght\\])/i\',\n		];\n		$count = 0;\n		// detect & cut style\n		$new_name = preg_replace(\'/[ \\-]?(italic|oblique)/i\', \'\', $retval->name, -1, $count); \n		if ($new_name && $count) {\n			$retval->name = $new_name;\n			$retval->style = \'italic\';\n		}\n		// detect & cut weight\n		foreach ($weights as $weight => $pattern) {\n			$new_name = preg_replace($pattern, \'\', $retval->name, -1, $count);\n			if ($new_name && $count) {\n				$retval->name = $new_name;\n				$retval->weight = $weight;\n				break;\n			}\n		}\n		// cut -webfont\n		$retval->name = preg_replace(\'/[ \\-]?webfont$/i\', \'\', $retval->name); \n		// variable font: detect & cut specifica\n		if ($retval->weight == \'var\') {\n			$retval->name = preg_replace(\'/_(opsz,wght|opsz|wght)$/i\', \'\', $retval->name); \n		}\n		// store to cache\n		self::$fonts_details_cache[$name] = $retval;\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\' %s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// construct CSS block from CSS properties stored in JSON from Web Font Loader\n	static 	function create_css_from_ruleset($css_ruleset) {\n		$retval = \'\';\n		if (isset($css_ruleset)) {\n			if (isset($css_ruleset->{\'comment\'})) {$retval .= sprintf(\"/* %s */\\n\",$css_ruleset->{\'comment\'});}\n			$retval .= \"@font-face {\\n\";\n			$retval .= sprintf(\"\\tfont-family: \'%s\';\\n\",$css_ruleset->{\'font-family\'});\n			$retval .= sprintf(\"\\tfont-style: %s;\\n\",$css_ruleset->{\'font-style\'});\n			$retval .= sprintf(\"\\tfont-weight: %s;\\n\",$css_ruleset->{\'font-weight\'});\n			$retval .= sprintf(\"\\tsrc: url(\'%s\') format(\'%s\');\\n\",$css_ruleset->{\'url\'}, $css_ruleset->{\'format\'});\n			if (isset($css_ruleset->{\'unicode-range\'})) {$retval .= sprintf(\"\\tunicode-range: %s;\\n\", $css_ruleset->{\'unicode-range\'});}\n			if (self::$fontdisplay) {\n				$retval .= sprintf(\"\\tfont-display: %s;\\n\",self::$fontdisplay);\n			}			\n			$retval .= \'}\';\n		}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// return base dir/url for fonts. Create directory if necessary\n	private static function get_fonts_base() {\n		$retval = (object)[\'dir\'=>null,\'url\'=>\'\'];\n		$fonts_dir_info = wp_get_upload_dir();\n		$retval->dir = $fonts_dir_info[\'basedir\'].\'/fonts\';\n		$retval->url = $fonts_dir_info[\'baseurl\'].\'/fonts\';\n		// create fonts folder if not exists\n		if (!file_exists($retval->dir)) {\n			if (!@mkdir($retval->dir)) {\n				add_action(\'admin_notices\', function(){\n					echo \'<div class=\"notice notice-error\"><p>[\'.self::TITLE.\'] Error creating fonts base folder <code>wp-content/uploads/fonts</code>.</p></div>\';\n				});\n				error_log(sprintf(\'%s::%s() Error creating fonts base folder.\', __CLASS__, __FUNCTION__)); \n				return null;\n			}\n		}\n		if (!is_writable($retval->dir)) {\n			add_action(\'admin_notices\', function(){\n				echo \'<div class=\"notice notice-error\"><p>[\'.self::TITLE.\'] Folder <code>wp-content/uploads/fonts</code> is not writable. Please correct folder permissions.</p></div>\';\n			});\n		}\n		// V3.2.2, create scheme-less URL\n		$retval->url = preg_replace(\'/^https?\\:/\',\'\',$retval->url);\n\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// find font files in font folder\n	static function find_fonts() {\n		$st = microtime(true);\n		if (isset(self::$fonts)) return;\n		self::$fonts = [];\n		// property $recursive either recursive or flat file scan\n		if (self::$recursive) {\n			// recursive scan for font files (including subdirectories)\n			$directory_iterator = new RecursiveDirectoryIterator(self::$fonts_base->dir,  RecursiveDirectoryIterator::SKIP_DOTS | RecursiveDirectoryIterator::UNIX_PATHS);\n			$file_iterator = new RecursiveIteratorIterator($directory_iterator);\n		} else {\n			// flat scan for font files (no subdirectories)\n			$file_iterator = new FilesystemIterator(self::$fonts_base->dir);\n		}\n		// loop through files and collect font and JSON files\n		$font_splfiles = [];\n		$json_splfiles = [];\n		foreach( $file_iterator as $file) {\n			// V3: A JSON file might be available from Web Font Loader\n			if ($file->getExtension() == \'json\') {\n				$json_splfiles[] = $file;\n			}\n			if (in_array(strtolower($file->getExtension()), self::$prioritized_formats)) {\n				$font_splfiles[] = $file;\n			}\n		}\n		\n		// V3: check JSON files. If it defines \"family\" read the font name and CSS\n		$json_font_families = [];\n		foreach ($json_splfiles as $json_splfile) {\n			if ($font_details = @json_decode(@file_get_contents($json_splfile->getPathname()))) {\n				// It\'s a JSON from Web Font Loader?\n				if (isset($font_details->creator) && (strpos($font_details->creator, \'Web Font Loader\')=== 0)) {\n					// store font family name \n					$json_font_families[$json_splfile->getBasename(\'.json\')] = $font_details->family;\n					// drop all collected font files for that font since they are listed in JSON file\n					$font_path = $json_splfile->getPath().\'/\';\n					foreach ($font_splfiles as $idx => $font_splfile) {\n						if (strpos($font_splfile->getPath().\'/\',$font_path) === 0) {\n							self::$font_files_cnt ++;\n							unset($font_splfiles[$idx]);\n						}\n					}\n					// get the relative path\n					$font_path_relative = str_replace(self::$fonts_base->dir,\'\',$font_path);\n					// encode every single path element since we might have spaces or special chars \n					$font_path_url = implode(\'/\',array_map(\'rawurlencode\',explode(\'/\',$font_path_relative)));\n					\n					// add CSS blocks (could be multiple unicode ranges) to fonts list\n					$font_baseurl = self::$fonts_base->url . $font_path_url;\n					foreach ($font_details->css as $css_ruleset) {\n						// check for WOFF support. Skip if not enabled\n						if ($css_ruleset->format==\'woff\' && !self::$wfl_support_woff) {continue;}\n						// check if file exists. User might have deleted it.\n						if (!file_exists($font_path . $css_ruleset->url)) {continue;}\n						self::$fonts[$css_ruleset->{\'font-family\'}][\'source\'] = \'Web Font Loader\';\n						self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][\'has_css\'] = true;\n						// only formats woff and woff2, so just use format as file extension slot\n						if (!isset(self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][$css_ruleset->{\'format\'}])) {\n							self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][$css_ruleset->{\'format\'}] = [];	\n						}\n						$css_ruleset->url = $font_baseurl . $css_ruleset->url;\n\n						$css_block = self::create_css_from_ruleset($css_ruleset);\n						self::$fonts[$css_ruleset->{\'font-family\'}][$css_ruleset->{\'font-weight\'}.\'/\'.$css_ruleset->{\'font-style\'}][$css_ruleset->{\'format\'}][] = $css_block;\n					}\n				}\n			}\n		}\n		// collect font definitions\n		foreach ($font_splfiles as $font_splfile) {\n			self::$font_files_cnt ++;\n			$font_ext = $font_splfile->getExtension();\n			$font_details = self::parse_font_name($font_splfile->getbasename(\'.\'.$font_ext));\n			$font_name = $font_details->name;\n			if (in_array($font_name,array_values($json_font_families))) {\n				// already found this font from Web Font Loader. Skip.\n				continue;\n			}\n			$font_weight = $font_details->weight;\n			$font_style = $font_details->style;\n			$font_path = str_replace(self::$fonts_base->dir,\'\',$font_splfile->getPath());\n			// encode every single path element since we might have spaces or special chars \n			$font_path = implode(\'/\',array_map(\'rawurlencode\',explode(\'/\',$font_path)));\n			// create entry for this font name\n			if (!array_key_exists($font_name,self::$fonts)) {self::$fonts[$font_name] = [];}\n			// create entry for this font weight/style \n			if (!array_key_exists($font_weight.\'/\'.$font_style,self::$fonts[$font_name])) {self::$fonts[$font_name][$font_weight.\'/\'.$font_style] = [];}\n			// store font details for this file\n			self::$fonts[$font_name][$font_weight.\'/\'.$font_style][strtolower($font_ext)] = self::$fonts_base->url . $font_path . \'/\' . rawurlencode($font_splfile->getBasename());\n		}\n		ksort(self::$fonts, SORT_NATURAL | SORT_FLAG_CASE);\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() %d font files, %d font families.\',__CLASS__,__FUNCTION__, self::$font_files_cnt, count(self::$fonts)));}\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// returns a list of font families\n	static function get_font_families() {\n		if (!isset(self::$fonts)) self::find_fonts();\n		$st = microtime(true);\n		$font_family_list = [];\n		foreach (array_keys(self::$fonts) as $font_name) {\n			$font_family_list[] = $font_name;\n		}\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $font_family_list;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// we call this function from footer emitter to get font definitions for emitting required files\n	static function get_font_definitions() {\n		return self::$fonts;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// creates CSS for custom fonts. \n	// For $cssoutput \'file\', return <link rel=\"stylesheet\" ...>, for \'html\' <style>...</style>\n	// If $plaincss is true, return plain css instead\n	static function get_font_css($plaincss = false) {\n		// emit CSS for fonts in footer\n		$version = self::get_script_version();\n		$style = \'\';\n		$st = microtime(true);\n		foreach (self::$fonts as $font_name => $font_details) {\n			ksort($font_details);\n			foreach ($font_details as $weight_style => $file_list) {\n				if ($weight_style==\'source\') {continue;}\n				list ($font_weight,$font_style) = explode(\'/\',$weight_style);\n\n				if (isset($file_list[\'has_css\'])) {\n					// V3: Google Font package CSS from Web Font Loader already has CSS\n					foreach (array_reverse(self::$prioritized_formats) as $font_ext) {\n						// we only have woff and woff2\n						if (!isset($file_list[$font_ext])) { continue; }\n						foreach ($file_list[$font_ext] as $css) {\n							$style .= trim($css).PHP_EOL;\n						}\n					}\n				} else {\n					// V2: Only have font info and file names. Build CSS\n					if ($font_weight == \'var\') {\n						$font_weight_output = \'1 1000\';\n					} else {\n						$font_weight_output = $font_weight;\n					}\n					$style .= 	\'@font-face{\'.PHP_EOL.\n								\'  font-family:\"\'.$font_name.\'\";\'.PHP_EOL.\n								\'  font-weight:\'.$font_weight_output.\';\'.PHP_EOL.\n								\'  font-style:\'.$font_style.\';\'.PHP_EOL;\n								// .eot needs special handling for IE9 Compat Mode\n					if (array_key_exists(\'eot\',$file_list)) {$style .= \'  src:url(\"\'.$file_list[\'eot\'].\'\");\'.PHP_EOL;}\n					$urls = [];\n\n					// output font sources in prioritized order\n					foreach (self::$prioritized_formats as $font_ext) {\n						if (array_key_exists($font_ext,$file_list)) {\n							$font_url = $file_list[$font_ext];\n							$format = \'\';\n							switch ($font_ext) {\n								case \'eot\': $format = \'embedded-opentype\'; break;\n								case \'otf\': $format = \'opentype\'; break;\n								case \'ttf\': $format = \'truetype\'; break;\n								// others have same format as extension (svg, woff, woff2)\n								default:	$format = strtolower($font_ext);\n							}\n							if ($font_ext == \'eot\') {\n								// IE6-IE8\n								$urls[] = \'url(\"\'.$font_url.\'?#iefix\") format(\"\'.$format.\'\")\';\n							} else {\n								$urls[] = \'url(\"\'.$font_url.\'\") format(\"\'.$format.\'\")\';\n							}\n						}\n					}\n					$style .= \'  src:\' . join(\',\'.PHP_EOL.\'      \',$urls) . \';\'.PHP_EOL;\n					if (self::$fontdisplay) {\n						$style .= sprintf(\'  font-display: %s;\'.PHP_EOL,self::$fontdisplay);\n					}\n					$style .= \'}\'.PHP_EOL;\n				}\n			}		\n			\n		}\n		// if Oxygen Builder is active, emit CSS to show custom fonts in light blue.\n		$builder_style = defined(\'SHOW_CT_BUILDER\') ? \'div.oxygen-select-box-option.ng-binding.ng-scope[ng-repeat*=\"elegantCustomFonts\"] {color:lightblue !important;}\' : \'\';\n		\n		// minimize string if configured\n		if (self::$cssminimize) {\n			$style = preg_replace(\'/\\r?\\n */\',\'\',$style); \n		}\n\n		$retval = \'\';\n		if (self::$cssoutput == \'file\') {\n			// option: write CSS to file\n			$css_path = self::$fonts_base->dir.\'/ma_customfonts.css\';\n			$css_code = \'/* Version: \'.$version.\' */\'.PHP_EOL.$style;\n			$css_hash_code = hash(\'CRC32\', $css_code, false);\n			$css_hash_file = file_exists($css_path) ? hash_file(\'CRC32\', $css_path, false) : 0;\n			if ($css_hash_code !== $css_hash_file) {\n				if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Writing CSS file \"%s\"\',__CLASS__,__FUNCTION__,$css_path));}\n				$status = file_put_contents($css_path, $css_code);\n				if ($status === false) {error_log(sprintf(\'%s::%s() Error writing CSS file \"%s\"\',__CLASS__,__FUNCTION__,$css_path));}\n				$css_hash_file = file_exists($css_path) ? hash_file(\'CRC32\', $css_path, false) : 0;\n			}\n			$css_url = str_replace(self::$fonts_base->dir,self::$fonts_base->url ,$css_path);\n			$retval = sprintf(\'<link id=\"ma-customfonts\" href=\"%s?ver=%s\" rel=\"stylesheet\" type=\"text/css\" />%s\',$css_url, $css_hash_file, $builder_style?\'<style>\'.$builder_style.\'</style>\':\'\');\n		}\n		if (self::$cssoutput == \'html\') {\n			// option: write CSS to html\n			$retval = \'<style id=\"ma-customfonts\">\'.\'/* Version: \'.$version.\' */\'.PHP_EOL.$style.PHP_EOL.$builder_style.\'</style>\';\n		}\n		if ($plaincss) {\n			$retval = $style.PHP_EOL.$builder_style;\n		}\n\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// parses font file url from CSS block\n	static function get_font_file_info_from_css($css) {\n		$retval = [];\n		if (!is_array($css)) {$css = [$css];}\n		foreach($css as $css_block) {\n			if (preg_match(\'/url\\(\\\'(.*?)\\\'\\)/\',$css_block,$matches)) {\n				$retval[] = $matches[1];\n			}\n		}\n		$retval = array_unique($retval); \n		return $retval;\n	}\n	\n	//-------------------------------------------------------------------------------------------------------------------\n	// get font file urls for var weight\n	static function get_font_var_weight_urls($font_details) {\n		$retval = [];\n		if (isset($font_details) && (is_array($font_details))) {\n			// check if we have a \'var\' weight array key\n			foreach ($font_details as $weight_style => $details) {\n				// check key (for custom fonts)\n				if (strpos($weight_style,\'var\') === 0) {\n					foreach (self::$var_weight_formats as $format) { // support var weight for specific formats\n						if (isset($details[$format])) {\n							$retval[] = urldecode($details[$format]);\n						}\n					}\n					goto DONE;\n				}\n				// check CSS file names of woff2 files (for WebFontLoader fonts)\n				if (isset($details[\'woff2\']) && is_array($details[\'woff2\'])) {\n					foreach ($details[\'woff2\'] as $css_rule) {\n						if (preg_match(\'/src: url\\(\\\'(.*?)\\\'\\)/\',$css_rule,$matches)) {\n							$src = $matches[1];\n							if (preg_match(\'/[ \\-]?(VariableFont|\\[wght\\])/i\',$src)) {\n								$retval[] = $src;\n							}\n						}\n					}\n				}\n			}\n		}\n		DONE:\n		// remove duplicates\n		$retval = array_unique($retval);\n		// remove base url\n		foreach ($retval as &$url) {\n			$url = str_replace(self::$fonts_base->url.\'/\',\'\',$url);\n		}\n		return $retval;\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// returns font url (string or array) shortened and urldecoded \n	static function get_font_short_display_url ($urls) {\n		$retval = [];\n		if ($urls) {\n			if (!is_array($urls)) {$urls = [$urls];}\n			foreach ($urls as $url) {\n				// cut leading path/url from file info\n				$url = str_replace(self::$fonts_base->url.\'/\',\'\',$url);\n				// decode html entities (e.g. %20) in file path\n				$url = implode(\'/\',array_map(\'rawurldecode\',explode(\'/\',$url)));\n				$retval[] = $url;\n			}\n		}\n		return implode(\', \',$retval);\n	}\n	//-------------------------------------------------------------------------------------------------------------------\n	// returns HTML code to display all registered custom fonts\n	// $mode \'admin\':		formatting to be displayed on WP Admin > Appearance\n	// $mode \'shortcode\':	formatting to be displayed as shortcode output\n	static function get_font_samples($mode = null) {\n		$st = microtime(true);\n		$script_version = self::get_script_version();\n		$sample_text = self::$sample_text;\n		$output_style = <<<\'END_OF_STYLE\'\n		<style>\n		.ma-customfonts-test {font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;}\n		.ma-customfonts-header {border:1px solid darkgray;border-radius:10px;padding:10px;padding-top:0;}\n		.ma-customfonts-header > div {display:flex;flex-direction:row;margin-top:.5em;}\n		.ma-customfonts-label {flex-shrink:0;display:inline-block;width:110px;}\n\n		#ma-customfonts-input-font-size {width:60px;text-align:center;min-height:1.5em;line-height:1em;padding:0;}\n		#ma-customfonts-input-sample-text {width:100%;max-width:400px;text-align:left;}\n\n		.ma-customfonts-legend {margin-top:3em;border:1px solid darkgray;border-radius:10px;padding:10px;padding-top:0;}\n		.ma-customfonts-legend > div {display:flex;flex-direction:row;margin-top:.5em;}\n		.ma-customfonts-legend > div > span:first-child {width:110px;flex-shrink:0;}\n\n		.ma-customfonts-timing {margin-top:2em;font-size:.8em;}\n		.ma-customfonts-timing table {border-spacing:0};\n		.ma-customfonts-timing td {padding:0}\n\n		.ma-customfonts-test h3 {margin-top:20px;padding-bottom:0;}\n		.ma-customfonts-font-additional-info {margin-left:1em;margin-bottom:1em;font-size:13px;font-weight:normal;}\n\n		.ma-customfonts-font-row {display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0;line-height:20px;border-bottom:1px solid #e0e0e0;margin:0 1em;}\n		.ma-customfonts-font-row:hover {background-color:lightgray;}\n		.ma-customfonts-font-info {font-size:10px;line-height:1em;width:100px;}\n		.ma-customfonts-font-sample {font-size:16px;line-height:1.2em;flex-grow:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}\n		.ma-customfonts-format-info {font-size:10px;cursor:help;margin-left:1em;}\n		.ma-customfonts-format-info.simulated {color:gray;font-style:italic;cursor:alias;} \n		.ma-customfonts-format-info :is(.eot,.ttf,.svg) {color:red;}\n		.ma-customfonts-format-info :is(.ttf,.otf) {color:chocolate;}\n		.ma-customfonts-format-info :is(.woff) {color:orange;}\n		.ma-customfonts-format-info :is(.woff2) {color:green;}\n\n		.ma-customfonts-simulated {display:none;}\n		@media (max-width:700px) {\n			.ma-customfonts-font-row {flex-wrap:wrap;}\n			.ma-customfonts-font-info {order:1;}\n			.ma-customfonts-font-sample {order:3; width:100%;}\n			.ma-customfonts-format-info {order:2;}\n		}\n		</style>\nEND_OF_STYLE;\n		$var = (object)[\n			\'container_style\'	=> $mode==\'shortcode\' ? \'style=\"border:1px dashed darkgray;padding:10px;\"\' : \'\',\n			\'title\'				=> $mode==\'shortcode\' ? \'<h2>\'.self::TITLE.\'</h2>\' : \'\',\n			\'cnt_families\'		=> count(self::$fonts),\n			\'cnt_files\'			=> self::$font_files_cnt,\n		];\n		$output_header = <<<END_OF_HEADER\n		<div class=\"ma-customfonts-test\" {$var->container_style}>\n			{$var->title}\n			<div class=\"ma-customfonts-header\">\n				<div>\n					<span class=\"ma-customfonts-label\">Version:</span>\n					<span>{$script_version}<span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Font Families:</span>\n					<span>{$var->cnt_families}<span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Font Files:</span>\n					<span>{$var->cnt_files}</span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Sample Font Size:</span>\n					<span><input id=\"ma-customfonts-input-font-size\" type=\"number\" value=\"16\" onchange=\"ma_customfonts_change_font_size();\"> px</span>\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Sample Text:</span>\n					<input id=\"ma-customfonts-input-sample-text\" value=\"{$sample_text}\" onkeyup=\"ma_customfonts_change_sample_text();\">\n				</div>\n				<div>\n					<span class=\"ma-customfonts-label\">Simulated:</span>\n					<span><input id=\"ma-customfonts-input-simulated\" type=\"checkbox\" value=\"simulated\" onchange=\"ma_customfonts_toggle_simulated();\"> Show font weights/styles without files as browser would simulate.</span>\n				</div>\n			</div>\nEND_OF_HEADER;\n		$output_legend = <<<END_OF_LEGEND\n		<fieldset class=\"ma-customfonts-legend\">\n			<legend><strong>Font File Formats</strong></legend>\n			<div><span style=\"color:green\">WOFF2</span><span>Modern formats are perfect for web.</span></div>\n			<div><span style=\"color:orange\">WOFF</span><span>Older formats can be used for web but have larger file sizes.</span></div>\n			<div><span style=\"color:chocolate\">OTF, TTF</span><span>Formats meant for desktop use, can be used for web but have larger to huge file sizes.</span></div>\n			<div><span style=\"color:red\">EOT, SVG</span><span>Some formats are only suppported on specific browsers like EOT on IE, SVG on Safari. Deprecated!</span></div>\n		</fieldset>\n\nEND_OF_LEGEND;\n		// controls\n		$output_script = <<<\'END_OF_SCRIPT\'\n		<script>\n		function changeCss(className, classValue) {\n			// we need invisible container to store additional css definitions\n			let cssMainContainer = jQuery(\'#css-modifier-container\');\n			if (cssMainContainer.length == 0) {\n				cssMainContainer = jQuery(\'<div id=\"css-modifier-container\"></div>\');\n				cssMainContainer.hide().appendTo(jQuery(\'body\'));\n			}\n			// we need one div for each class\n			let classContainer = cssMainContainer.find(\'div[data-class=\"\' + className + \'\"]\');\n			if (classContainer.length == 0) {\n				classContainer = jQuery(\'<div data-class=\"\' + className + \'\"></div>\');\n				classContainer.appendTo(cssMainContainer);\n			}\n			// append additional style\n			classContainer.html(\'<style>\' + className + \' {\' + classValue + \'}</style>\');\n		}\n		function ma_customfonts_change_font_size() {\n			let $val = jQuery(\'#ma-customfonts-input-font-size\').val();\n			changeCss(\'.ma-customfonts-font-sample\',\'font-size: \'+$val+\'px;\');\n		}\n		function ma_customfonts_change_sample_text() {\n			let $val = jQuery(\'#ma-customfonts-input-sample-text\').val();\n			jQuery(\'.ma-customfonts-font-sample\').text($val);\n		}\n		function ma_customfonts_toggle_simulated() {\n			let $simulated = jQuery(\'#ma-customfonts-input-simulated\').is(\':checked\');\n			jQuery(\'.ma-customfonts-simulated\').css(\'display\',$simulated?\'flex\':\'none\');\n		}\n		</script>\nEND_OF_SCRIPT;\n		\n\n		// prepare tags for every weight/style combination\n		$weights = [100,200,300,400,500,600,700,800,900];\n		$styles = [\'normal\',\'italic\'];\n		$weights_styles = [];\n		foreach ($weights as $weight) { foreach ($styles as $style) { $weights_styles[] = $weight.\'/\'.$style; } }\n		// prepare data structure to display fonts in each weight/style combination\n		$samples = [];\n		foreach (array_keys(self::$fonts) as $font_name) {\n			$samples[$font_name] = [\n				\'has_var_weight\' => false,\n				\'weights_styles\' => [],\n			];\n			foreach ($weights_styles as $weight_style) {\n				$samples[$font_name][\'weights_styles\'][$weight_style] = [];\n			}\n		}\n		// collect available font files\n		foreach (self::$fonts as $font_name => $font_details) {\n			ksort($font_details);\n\n			// check if we have a \'var\' weight\n			$font_var_weight_urls = self::get_font_var_weight_urls($font_details);\n			if ($font_var_weight_urls) {$samples[$font_name][\'has_var_weight\'] = true;}\n			$samples[$font_name][\'source\'] = $font_details[\'source\'] ?? null;\n\n			// loop font details and fill available samples and formats\n			foreach ($font_details as $weight_style => $formats) {\n				if ($weight_style==\'source\') {continue;}\n				list ($weight,$style) = explode(\'/\',$weight_style);\n				\n				if ($weight == \'var\') {\n					//  var weight detected from file name; we don\'t know the supported weights; fill all weights for current style\n					foreach (self::$var_weight_formats as $format) { // support var weight for specific formats\n						if (isset($formats[$format])) {\n							$url = $formats[$format];\n							$url = self::get_font_short_display_url($url);\n							foreach ($weights as $var_weight) {\n								$samples[$font_name][\'weights_styles\'][$var_weight.\'/\'.$style][$format] = $url;\n							}\n						}\n					}\n				} \n				// fill non var weight formats \n				foreach ($formats as $format => $url) {\n					if (!in_array($format,self::$prioritized_formats)) {continue;} // skip \'has_css\'\n					if ($weight != \'var\') {\n						if (is_array($url)) { // seems to be an array of CSS rules\n							$url = self::get_font_file_info_from_css($url);\n						}\n						$url = self::get_font_short_display_url($url);\n						$samples[$font_name][\'weights_styles\'][$weight.\'/\'.$style][$format] = $url;\n					}\n				}\n			}\n		}\n\n		$output_sample = \'\';\n		foreach ($samples as $font_name => $font_details) {\n			\n			// output the font sample block\n			$output_sample .= sprintf(\'<h3>%1$s</h3>\',$font_name);\n			// additional font info (variable fonts, source Web Font Loader, WOFF support)\n			$font_additional_infos = [];\n			if ($font_details[\'has_var_weight\']) {$font_additional_infos[] = \'Variable Weight Font.\';}\n			if ($font_details[\'source\'] == \'Web Font Loader\') {\n				$font_additional_infos[] = \'Downloaded from <a href=\"https://webfontloader.altmann.de/\" target=\"_blank\">Web Font Loader</a>.\';\n				if (!self::$wfl_support_woff) {$font_additional_infos[] = \'WOFF files are ignored according to configuration setting.\';}\n			}\n			$output_sample .= count($font_additional_infos) ? \'<div class=\"ma-customfonts-font-additional-info\">\'.implode(\' \',$font_additional_infos).\'</div>\' : \'\';\n\n			foreach ($font_details[\'weights_styles\'] as $weight_style => $formats) {\n				if ($weight_style==\'source\') {continue;}\n				list ($weight,$style) = explode(\'/\',$weight_style);\n				// build font file info output\n				$font_file_list = [];\n				foreach ($formats as $format => $files) {\n					if (is_array($files)) {$files = implode(\"\\n\",$files);}\n					$font_file_list[$format] = sprintf(\'<span class=\"%3$s\" title=\"%2$s\">%1$s</span>\', strtoupper($format), $files, $format);\n				}\n				$font_file_info = \'<span class=\"ma-customfonts-format-info\">(\' . implode(\', \',array_values($font_file_list)) . \')</span>\';\n				$output_sample .= sprintf(	\'<div class=\"ma-customfonts-font-row \'.($font_file_list?\'\':\'ma-customfonts-simulated\').\'\">\'.\n												\'<span class=\"ma-customfonts-font-info\">%2$s %3$s</span>\'.\n												\'<span class=\"ma-customfonts-font-sample\" style=\"font-family:\\\'%1$s\\\';font-weight:%2$d;font-style:%3$s\">%4$s</span>\'.\n												\'%5$s\'.\n											\'</div>\',$font_name, $weight, $style, $sample_text, $font_file_list?$font_file_info:\'<span class=\"ma-customfonts-format-info simulated\">(simulated)</span>\');\n			}\n		}\n		// output timing\n		$timing = (object)[\n			\'fonts_collect\'	=> sprintf(\'%.4f\',self::$timing_fonts_collect),\n			\'fonts_css\'		=> sprintf(\'%.4f\',self::$timing_fonts_css),\n			\'output\'		=> sprintf(\'%.4f\',microtime(true)-$st),\n		];\n		$output_timing = <<<END_OF_TIMING\n		<div class=\"ma-customfonts-timing\">\n			<strong>Timing</strong>\n			<table>\n				<tr><td>Collecting fonts:</td><td>{$timing->fonts_collect} seconds</td></tr>\n				<tr><td>Generating CSS:</td><td>{$timing->fonts_css} seconds</td></tr>\n				<tr><td>Generating output:</td><td>{$timing->output} seconds</td></tr>\n			</table>\n		</div>\nEND_OF_TIMING;\n\n		$output =  $output_style . $output_header . $output_script . $output_sample . $output_legend . $output_timing.\'</div>\';\n\n		$et = microtime(true);\n		if (WP_DEBUG && self::$timing) {error_log(sprintf(\'%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n		return $output;\n\n	}\n} // end of class MA_CustomFonts\n\n\nendif; // end of conditional implementations\n\n\n//===================================================================================================================\n// Warn about incompatibilities\nadd_action(\'wp_loaded\',function(){\n	$GLOBALS[\'ma_customfonts_incompatibilities\'] = [];\n	if (is_admin()) {\n		// Plugin \"Elegant Custom Fonts\"\n		if (function_exists(\'is_plugin_active\') && is_plugin_active(\'elegant-custom-fonts/elegant-custom-fonts.php\'))\n			{$GLOBALS[\'ma_customfonts_incompatibilities\'][] = \'\"Elegant Custom Fonts\"\';}\n		// Plugin \"Use Any Font\"\n		if (function_exists(\'is_plugin_active\') && is_plugin_active(\'use-any-font/use-any-font.php\'))\n			{$GLOBALS[\'ma_customfonts_incompatibilities\'][] = \'\"Use Any Font\"\';}\n		// Plugin \"Swiss Knife\" with feature \"Font Manager\" active\n		if (function_exists(\'is_plugin_active\') && is_plugin_active(\'swiss-knife/swiss-knife.php\') && (get_option(\'swiss_font_manager\')==\'yes\'))\n			{$GLOBALS[\'ma_customfonts_incompatibilities\'][] = \'\"Swiss Knife\" with feature \"Font Manager\" enabled\';}\n		if (count($GLOBALS[\'ma_customfonts_incompatibilities\'])) {\n			add_action(\'admin_notices\', function(){\n				if (WP_DEBUG ) {error_log(\'MA_CustomFonts / Incompatibilities: \'.print_r($GLOBALS[\'ma_customfonts_incompatibilities\'],true));}\n				echo \'<div class=\"notice notice-warning is-dismissible\">\n						<p>The Code Snippet \"Oxygen: Custom Fonts\" is not compatible with the Plugin \'.implode(\' or \',$GLOBALS[\'ma_customfonts_incompatibilities\']).\'.<br/>\n						Please deactivate either the Code Snippet or the Plugin (feature).</p>\n					</div>\';\n			});\n		}\n	}\n	if (count($GLOBALS[\'ma_customfonts_incompatibilities\'])) return;\n	\n\n	//-------------------------------------------------------------------------------------------------------------------\n	// create a primitive ECF_Plugin class if plugin \"Elegant Custom Fonts\" is not installed\n	if (!count($GLOBALS[\'ma_customfonts_incompatibilities\']) && !class_exists(\'ECF_Plugin\')) {\n		class ECF_Plugin {\n			static function get_font_families() {\n				$st = microtime(true);\n				$font_family_list = MA_CustomFonts::get_font_families();\n				$et = microtime(true);\n				if (WP_DEBUG && MA_CustomFonts::$timing) {error_log(sprintf(\'MA_CustomFonts/%s::%s() Timing: %.5f sec.\',__CLASS__,__FUNCTION__,$et-$st));}\n				return $font_family_list;\n			}\n		}\n		global $ECF_Plugin;\n		$ECF_Plugin = new ECF_Plugin();\n	}\n	\n\n},1000); // hook late to check other plugins!\n\n\n//===================================================================================================================\n// Initialize\nadd_action(\'wp_loaded\',function(){\n	if (count($GLOBALS[\'ma_customfonts_incompatibilities\'])) return;\n	if (wp_doing_ajax()) 		return;	// don\'t run for AJAX requests\n	if (wp_doing_cron()) 		return;	// don\'t run for CRON requests\n	if (wp_is_json_request()) 	return;	// don\'t run for JSON requests\n	if (is_favicon()) 			return;	// don\'t run for favicon request\n	if (isset($_SERVER[\'QUERY_STRING\']) && ($_SERVER[\'QUERY_STRING\'] == \'service-worker\'))	return;	// don\'t run for service-worker\n	if (isset($_SERVER[\'REQUEST_URI\']) 	&& ($_SERVER[\'REQUEST_URI\'] == \'/favicon.ico\'))		return;	// don\'t run for favicon\n\n	if (WP_DEBUG && MA_CustomFonts::$timing) {error_log(sprintf(\'MA_CustomFonts: Request URI=\"%s\" action=\"%s\"\', @$_SERVER[\'REQUEST_URI\'], @$_REQUEST[\'action\']));}\n\n	if (is_admin()) {\n		// init custom font functionality only when needed\n		global $pagenow;\n		if ( 	($pagenow === \'themes.php\' && @$_REQUEST[\'page\'] === \'ma_customfonts\') 	// custom font test \n			||	($pagenow === \'post-new.php\')											// new post\n			||	($pagenow === \'post.php\' && @$_REQUEST[\'action\'] === \'edit\')			// edit post\n		) {\n			MA_CustomFonts::init();\n		} else {\n			if (WP_DEBUG && MA_CustomFonts::$timing) {error_log(sprintf(\'MA_CustomFonts: Skipping font initialization for this request.\'));}\n		}\n		// initialize admin menu Appearance > Custom Fonts\n		MA_CustomFonts::init_admin_menu();\n	} else {\n		// frontend\n		MA_CustomFonts::init();\n	}\n},1001); // hook after incompatibility check\n'),(28,14,'wpcb_tag_options','a:0:{}'),(29,14,'wpcb_hook','a:2:{s:5:\"label\";s:14:\"Root (default)\";s:5:\"value\";s:4:\"root\";}'),(30,14,'wpcb_hook_priority','10'),(31,14,'wpcb_render_type','inline'),(32,14,'wpcb_minify',''),(33,14,'wpcb_enabled','1'),(34,14,'wpcb_add_to_quick_actions',''),(35,14,'wpcb_external_url','a:0:{}'),(42,18,'_wp_attached_file','woocommerce-placeholder.png'),(43,18,'_wp_attachment_metadata','a:6:{s:5:\"width\";i:1200;s:6:\"height\";i:1200;s:4:\"file\";s:27:\"woocommerce-placeholder.png\";s:8:\"filesize\";i:102644;s:5:\"sizes\";a:4:{s:6:\"medium\";a:5:{s:4:\"file\";s:35:\"woocommerce-placeholder-300x300.png\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:9:\"image/png\";s:8:\"filesize\";i:12560;}s:5:\"large\";a:5:{s:4:\"file\";s:37:\"woocommerce-placeholder-1024x1024.png\";s:5:\"width\";i:1024;s:6:\"height\";i:1024;s:9:\"mime-type\";s:9:\"image/png\";s:8:\"filesize\";i:92182;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:35:\"woocommerce-placeholder-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";s:8:\"filesize\";i:4228;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:35:\"woocommerce-placeholder-768x768.png\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:9:\"image/png\";s:8:\"filesize\";i:58715;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'),(44,19,'rank_math_internal_links_processed','1'),(45,20,'rank_math_internal_links_processed','1'),(46,21,'rank_math_internal_links_processed','1'),(47,22,'rank_math_internal_links_processed','1'),(48,23,'rank_math_internal_links_processed','1'),(49,1,'rank_math_internal_links_processed','1'),(50,2,'rank_math_internal_links_processed','1'),(51,24,'_edit_lock','1658231762:11'),(52,24,'_edit_last','11'),(53,24,'ct_template_archive_post_types_all',''),(54,24,'ct_template_categories','a:0:{}'),(55,24,'ct_template_categories_all',''),(56,24,'ct_template_tags','a:0:{}'),(57,24,'ct_template_tags_all',''),(58,24,'ct_template_custom_taxonomies','a:0:{}'),(59,24,'ct_template_custom_taxonomies_all',''),(60,24,'ct_template_authors_archives_all',''),(61,24,'ct_template_index',''),(62,24,'ct_template_front_page',''),(63,24,'ct_template_blog_posts',''),(64,24,'ct_template_date_archive',''),(65,24,'ct_template_search_page',''),(66,24,'ct_template_inner_content',''),(67,24,'ct_template_404_page',''),(68,24,'ct_template_all_archives',''),(69,24,'ct_template_archive_among_taxonomies','a:0:{}'),(70,24,'ct_template_apply_if_archive_among_taxonomies',''),(71,24,'ct_template_archive_post_types','a:0:{}'),(72,24,'ct_template_apply_if_archive_among_cpt',''),(73,24,'ct_template_authors_archives','a:0:{}'),(74,24,'ct_template_apply_if_archive_among_authors',''),(75,24,'ct_template_single_all',''),(76,24,'ct_template_post_types','a:0:{}'),(77,24,'ct_template_exclude_ids',''),(78,24,'ct_template_include_ids',''),(79,24,'ct_template_taxonomies','a:2:{s:5:\"names\";a:0:{}s:6:\"values\";a:0:{}}'),(80,24,'ct_use_template_taxonomies',''),(81,24,'ct_template_post_of_parents','a:1:{i:0;s:0:\"\";}'),(82,24,'ct_template_apply_if_post_of_parents',''),(83,24,'ct_template_order','0'),(84,24,'ct_builder_shortcodes',''),(85,24,'rank_math_internal_links_processed','1'),(86,2,'ct_builder_shortcodes_revisions','{\"id\":0,\"name\":\"root\",\"depth\":0,\"meta_keys\":[]}'),(87,2,'ct_builder_shortcodes_revisions_dates','1658232013'),(88,24,'ct_builder_json','{\"id\":0,\"name\":\"root\",\"depth\":0,\"children\":[],\"meta_keys\":[\"rank_math_internal_links_processed\"]}'),(89,24,'ct_preview_url','https://seaarchdev.wpengine.com/?page_id=22'),(90,24,'ct_page_settings','a:4:{s:9:\"max-width\";s:0:\"\";s:3:\"aos\";a:9:{s:4:\"type\";s:0:\"\";s:8:\"duration\";s:0:\"\";s:6:\"easing\";s:0:\"\";s:6:\"offset\";s:0:\"\";s:5:\"delay\";s:0:\"\";s:16:\"anchor-placement\";s:0:\"\";s:4:\"once\";s:0:\"\";s:6:\"mirror\";s:0:\"\";s:7:\"disable\";s:0:\"\";}s:7:\"scripts\";a:3:{s:14:\"scroll_to_hash\";s:0:\"\";s:19:\"scroll_to_hash_time\";s:0:\"\";s:21:\"scroll_to_hash_offset\";s:0:\"\";}s:20:\"overlay-header-above\";s:0:\"\";}'),(91,25,'_edit_lock','1658243858:11'),(92,25,'rank_math_internal_links_processed','1'),(93,25,'_edit_last','11'),(94,25,'ct_other_template','0'),(95,25,'ct_template_archive_post_types_all',''),(96,25,'ct_template_categories','a:0:{}'),(97,25,'ct_template_categories_all',''),(98,25,'ct_template_tags','a:0:{}'),(99,25,'ct_template_tags_all',''),(100,25,'ct_template_custom_taxonomies','a:0:{}'),(101,25,'ct_template_custom_taxonomies_all',''),(102,25,'ct_template_authors_archives_all',''),(103,25,'ct_template_index',''),(104,25,'ct_template_front_page',''),(105,25,'ct_template_blog_posts',''),(106,25,'ct_template_date_archive',''),(107,25,'ct_template_search_page',''),(108,25,'ct_template_inner_content',''),(109,25,'ct_template_404_page',''),(110,25,'ct_template_all_archives',''),(111,25,'ct_template_archive_among_taxonomies','a:0:{}'),(112,25,'ct_template_apply_if_archive_among_taxonomies',''),(113,25,'ct_template_archive_post_types','a:0:{}'),(114,25,'ct_template_apply_if_archive_among_cpt',''),(115,25,'ct_template_authors_archives','a:0:{}'),(116,25,'ct_template_apply_if_archive_among_authors',''),(117,25,'ct_template_single_all',''),(118,25,'ct_template_post_types','a:0:{}'),(119,25,'ct_template_exclude_ids',''),(120,25,'ct_template_include_ids',''),(121,25,'ct_template_taxonomies','a:2:{s:5:\"names\";a:0:{}s:6:\"values\";a:0:{}}'),(122,25,'ct_use_template_taxonomies',''),(123,25,'ct_template_post_of_parents','a:0:{}'),(124,25,'ct_template_apply_if_post_of_parents',''),(125,25,'ct_template_order','0'),(126,25,'ct_builder_shortcodes','[ct_section ct_sign_sha256=\'e9ae288acbb850e1166291a88624bdd089405a522ed419b6e56505f64ce5cd3a\' ct_options=\'{\"ct_id\":2,\"ct_parent\":0,\"selector\":\"section-2-25\",\"original\":{\"tag\":\"section\",\"gradient\":{\"colors\":{\"0\":{\"position-unit\":\"px\",\"value\":\"var(--primary)\"},\"1\":{\"position-unit\":\"px\",\"value\":\"var(--primary)\"}},\"linear-angle\":\"180\"},\"position\":\"relative\"},\"nicename\":\"Header\",\"activeselector\":false,\"classes\":{\"0\":\"pad-section--s\"},\"ct_depth\":1}\'][ct_text_block ct_sign_sha256=\'1ab314bf9a8ae5a3b67d7971a48a6cdb284cc14ab83902267c32a4ab68432517\' ct_options=\'{\"ct_id\":3,\"ct_parent\":2,\"selector\":\"text_block-3-25\",\"nicename\":\"Text (#123)\",\"classes\":{\"0\":\"acss-style-guide__h-accent\"},\"ct_depth\":2,\"activeselector\":\"acss-style-guide__h-accent\"}\'][ct_span ct_sign_sha256=\'3a61377d1d8f8bf91d4066037affa9fb94575f854abc2728f271674f5af433de\' ct_options=\'{\"ct_id\":4,\"ct_parent\":3,\"selector\":\"span-4-25\",\"nicename\":\"Span (#23)\",\"ct_depth\":3}\'][oxygen ct_sign_sha256=\'2b97dfbacfb0055e040fc2ff42c30783258918f9dcbedf6a3db4e3e5477403bd\' data=\'phpfunction\' function=\'get_bloginfo\' arguments=\'name\' ][/ct_span][/ct_text_block][ct_headline ct_sign_sha256=\'a9e2fa0662e47d9c8e25684e40ce79caafc07a860e8470c96baea2665c8e50cd\' ct_options=\'{\"ct_id\":5,\"ct_parent\":2,\"selector\":\"headline-5-25\",\"nicename\":\"Heading (#125)\",\"classes\":{\"0\":\"acss-style-guide__h1\"},\"ct_depth\":2,\"activeselector\":false}\']Style Guide[/ct_headline][ct_text_block ct_sign_sha256=\'ceec9ec5631b2df2086149af85cc429d478298ecea3721ac197bc2b1096025a6\' ct_options=\'{\"ct_id\":6,\"ct_parent\":2,\"selector\":\"text_block-6-25\",\"nicename\":\"Text (#127)\",\"classes\":{\"0\":\"acss-style-guide__lede\"},\"ct_depth\":2}\']This page outlines the current styles and standards for the [ct_span ct_sign_sha256=\'2d97833659917f383e2d4ea200ed0a9710411da8f773ffa2f07c3cb5111edec2\' ct_options=\'{\"ct_id\":7,\"ct_parent\":6,\"selector\":\"span-7-25\",\"nicename\":\"Span (#7)\",\"ct_depth\":3}\'][oxygen ct_sign_sha256=\'2b97dfbacfb0055e040fc2ff42c30783258918f9dcbedf6a3db4e3e5477403bd\' data=\'phpfunction\' function=\'get_bloginfo\' arguments=\'name\' ][/ct_span] website.[/ct_text_block][/ct_section][ct_section ct_sign_sha256=\'7553d58148524d75c67ab1bfc6a8df85931ab980717879f81833b77aa7212747\' ct_options=\'{\"ct_id\":8,\"ct_parent\":0,\"selector\":\"section-8-25\",\"nicename\":\"Colors\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":false,\"ct_depth\":1,\"original\":{\"min-height-unit\":\"vh\",\"min-height\":\"100\"}}\'][ct_div_block_2 ct_sign_sha256=\'134a5be507441f0e35c38c1821e058ae2b3e7d497fed8127f39b3e663df31a63\' ct_options=\'{\"ct_id\":9,\"ct_parent\":8,\"selector\":\"div_block-9-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'cb3c59ae133815e6272561a729602c82608dcd0875776d1d244c2a448843b332\' ct_options=\'{\"ct_id\":10,\"ct_parent\":9,\"selector\":\"headline-10-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3,\"activeselector\":\"acss-section__title\"}\']Colours[/ct_headline][ct_text_block ct_sign_sha256=\'921080389a74d8ee1f69546b133c9f79bb30fbd33c4c85282468e960199afc15\' ct_options=\'{\"ct_id\":11,\"ct_parent\":9,\"selector\":\"text_block-11-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3,\"activeselector\":\"acss-section__lede\"}\']An overview of this site\'s brand colors.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'44649c32219e629fd63e2537e61bab251787ac28328e850dc1ed6d3cf40e8e40\' ct_options=\'{\"ct_id\":12,\"ct_parent\":8,\"selector\":\"div_block-12-25\",\"nicename\":\"Colors\",\"classes\":{},\"ct_depth\":2,\"original\":{\"tag\":\"section\",\"width-unit\":\"%\",\"width\":\"100\",\"custom-attributes\":{\"0\":{\"name\":\"aria-label\",\"value\":\"colors\"}},\"min-height-unit\":\"vh\",\"min-height\":\"100\"}}\'][oxy_tabs_3 ct_sign_sha256=\'e0a4dd709c941eca297a40e95a778b71d37f03b10e4d5ead1c348b91f69701dd\' ct_options=\'{\"ct_id\":13,\"ct_parent\":12,\"selector\":\"_tabs-13-25\",\"original\":{\"tabs_contents_wrapper\":\"_tabs_contents-18-25\",\"active_tab_class\":\"tabs-0118-tab-active\"},\"nicename\":\"Tabs (#22)\",\"classes\":{\"0\":\"margin-top--l\"},\"ct_depth\":3}\'][oxy_tab_3 ct_sign_sha256=\'e2a6b327843daf9d54f3284b2d2cbd223aa69e3f8438df20384eca273c7a8583\' ct_options=\'{\"ct_id\":14,\"ct_parent\":13,\"selector\":\"_tab-14-25\",\"nicename\":\"Tab (#23)\",\"classes\":{\"0\":\"tabs-0118-tab\",\"1\":\"tabs-0118-tab-active\"},\"ct_depth\":3,\"original\":{\"custom-attributes\":{\"0\":{\"name\":\"role\",\"value\":\"tab\"}}}}\'][ct_text_block ct_sign_sha256=\'10542ac477370092145cae734e19d2d2cbe1a4eae666afca47290bc08c89d539\' ct_options=\'{\"ct_id\":15,\"ct_parent\":14,\"selector\":\"text_block-15-25\",\"nicename\":\"Text (#26)\",\"ct_depth\":4,\"original\":{\"useCustomTag\":\"false\",\"tag\":\"\"}}\']Colors &amp; Shades[/ct_text_block][/oxy_tab_3][oxy_tab_3 ct_sign_sha256=\'78762f63f18848f7b7e4fd6ecfaa1202aaec1aac63cc8173a415d1b46cb4cd62\' ct_options=\'{\"ct_id\":16,\"ct_parent\":13,\"selector\":\"_tab-16-25\",\"nicename\":\"Tab (#24)\",\"classes\":{\"0\":\"tabs-0118-tab\",\"1\":\"tabs-0118-tab-active\"},\"ct_depth\":3,\"original\":{\"custom-attributes\":{\"0\":{\"name\":\"role\",\"value\":\"tab\"}}}}\'][ct_text_block ct_sign_sha256=\'8d634bacf2e9b702f319891b242981c0039f40709c6d8c8a5fa5b69c4d9a8053\' ct_options=\'{\"ct_id\":17,\"ct_parent\":16,\"selector\":\"text_block-17-25\",\"nicename\":\"Text (#27)\",\"ct_depth\":4}\']Transparencies[/ct_text_block][/oxy_tab_3][/oxy_tabs_3][oxy_tabs_contents_3 ct_sign_sha256=\'275a78bd9967a5aeb627bfc54f683a74e51ad73ec0dda23a11ae66af19d008a3\' ct_options=\'{\"ct_id\":18,\"ct_parent\":12,\"selector\":\"_tabs_contents-18-25\",\"original\":{\"tabs_wrapper\":\"_tabs-22-2\"},\"nicename\":\"Tabs Contents (#29)\",\"classes\":{},\"ct_depth\":3}\'][oxy_tab_content_3 ct_sign_sha256=\'fa96610af018af2c9e6f684f872504cec8094a060ff6c975750d5677bbf6ebc9\' ct_options=\'{\"ct_id\":19,\"ct_parent\":18,\"selector\":\"_tab_content-19-25\",\"nicename\":\"Tab Content (#30)\",\"classes\":{\"0\":\"tabs-contents-0118-tab\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'497e7196a755ad07731fc460c14cb81acee54cfa08aa6f48c7a923ec050182f2\' ct_options=\'{\"ct_id\":20,\"ct_parent\":19,\"selector\":\"div_block-20-25\",\"nicename\":\"Primary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'7afcdfe94d59710cb46fd3be7deae1500186fe67618af352de08f6403aadf921\' ct_options=\'{\"ct_id\":21,\"ct_parent\":20,\"selector\":\"text_block-21-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']primary[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'7682fbf11c0b8125b5ee243927de45c5db49e3c627bbad53cf5b414d1eec1b68\' ct_options=\'{\"ct_id\":22,\"ct_parent\":20,\"selector\":\"div_block-22-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'6a5ed5eaa476f1a5605b3302a7c68b2912a1399eb76fe6e1ee65fe5912ad7ed1\' ct_options=\'{\"ct_id\":23,\"ct_parent\":22,\"selector\":\"div_block-23-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'ea212b66b452d2103ecee29d975aec9dd2f8c1dfbea0e6b4b11a4fdfa348d720\' ct_options=\'{\"ct_id\":24,\"ct_parent\":23,\"selector\":\"text_block-24-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Primary[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'f4cd0decb7b41984adea00a9cf566cd6f1d74d9d2fb7b5fe2746fe43bcbd8e81\' ct_options=\'{\"ct_id\":25,\"ct_parent\":22,\"selector\":\"div_block-25-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-ultra-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'2f962aeec96d64e2936647c0beabe13b540e92f0b2df394aba44b61890fac681\' ct_options=\'{\"ct_id\":26,\"ct_parent\":25,\"selector\":\"text_block-26-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'6df66da6f8eef57dae98dbc4efb8bbf582a4ecb634ec43633791f00a0e4ad720\' ct_options=\'{\"ct_id\":27,\"ct_parent\":22,\"selector\":\"div_block-27-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'ad76e5b50b437363096fb9132f16e0fd2e531e63ec375151b1ff94e539e428b0\' ct_options=\'{\"ct_id\":28,\"ct_parent\":27,\"selector\":\"text_block-28-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'64092ffae36e00d724b42fa020673fc1ccbc12d0034016a7c0137f2fed951895\' ct_options=\'{\"ct_id\":29,\"ct_parent\":22,\"selector\":\"div_block-29-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-medium\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'aa5984d382f40ee678c4f22cc72edb97d8937c5e01cea4c235e4d0484d17a7fc\' ct_options=\'{\"ct_id\":30,\"ct_parent\":29,\"selector\":\"text_block-30-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Medium[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'b8e812816496b1ac1fb777d5d762b98358ee42e5896023bb0df42a169d630675\' ct_options=\'{\"ct_id\":31,\"ct_parent\":22,\"selector\":\"div_block-31-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'43a470da9f54686b6e5e37dec0c0d5cb82905c03bac2ea45eef74ed4ff47ba1b\' ct_options=\'{\"ct_id\":32,\"ct_parent\":31,\"selector\":\"text_block-32-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'2cadf396923608aaa0e1943911e242384e33999a9abd91514e9dc5d4ebeb8b0a\' ct_options=\'{\"ct_id\":33,\"ct_parent\":22,\"selector\":\"div_block-33-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-ultra-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'b57c9bc66846806d97ba0e3355ebc7c9697daec4874f9dc336f0b2aee465cd3d\' ct_options=\'{\"ct_id\":34,\"ct_parent\":33,\"selector\":\"text_block-34-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'e9f6777bb59c2d55fb9e54cf612c5bf7894b76ad9f782dbe9ecfeaa959b24986\' ct_options=\'{\"ct_id\":35,\"ct_parent\":22,\"selector\":\"div_block-35-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-comp\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'107a5cb4443828b2cb5b2cedf8490eb73d39d1ff4d271952645112d3247c1d90\' ct_options=\'{\"ct_id\":36,\"ct_parent\":35,\"selector\":\"text_block-36-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Comp[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'2a39bc67c16c988a0d767d271ab86f628dc18503bbc3fd7050aa6fe3c257e37f\' ct_options=\'{\"ct_id\":37,\"ct_parent\":19,\"selector\":\"div_block-37-25\",\"nicename\":\"Secondary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'57f1bae396596ba456b495c55cd15c03d63bb4ce82cd29e8f5f6d2bcc3b3d70c\' ct_options=\'{\"ct_id\":38,\"ct_parent\":37,\"selector\":\"text_block-38-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']secondary[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'18eafb681c8c9725efb3292e926139127d668f85037286adf99934dec2b3d380\' ct_options=\'{\"ct_id\":39,\"ct_parent\":37,\"selector\":\"div_block-39-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'21dfd2d7f1e4f36e3f82d293f00bdc0174e15d00f4f6a9131364fd86715c3823\' ct_options=\'{\"ct_id\":40,\"ct_parent\":39,\"selector\":\"div_block-40-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'7bb512e60c6abdef4d9b1f6d9bafff49ec69154eb53579f3a160bdead47b4a1e\' ct_options=\'{\"ct_id\":41,\"ct_parent\":40,\"selector\":\"text_block-41-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Secondary[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'d178998c684c45ab9fd14782c97379eeaa7237a263e4406d4536aba8ad255608\' ct_options=\'{\"ct_id\":42,\"ct_parent\":39,\"selector\":\"div_block-42-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-ultra-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'df8f3e268cabb1665c801733194ea3107a2b115b6c76741847f1254238fd38f7\' ct_options=\'{\"ct_id\":43,\"ct_parent\":42,\"selector\":\"text_block-43-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'bfa56f7f4289e7ab855ff647d94c6d4d24fb2e2342c83baebb84476c65503c8c\' ct_options=\'{\"ct_id\":44,\"ct_parent\":39,\"selector\":\"div_block-44-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'eeabc2e1879c3a1dd81d70e0ff69a792c6fc0a65732cd95ee7749757981d4b9d\' ct_options=\'{\"ct_id\":45,\"ct_parent\":44,\"selector\":\"text_block-45-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'bc9503aaa937c1a14ef381c651e0286b15fd26683ece602f9795f6436f77fefc\' ct_options=\'{\"ct_id\":46,\"ct_parent\":39,\"selector\":\"div_block-46-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-medium\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'ff220301a7eab762805923e01ff177669e63823e731bdf91f463b703e1596db9\' ct_options=\'{\"ct_id\":47,\"ct_parent\":46,\"selector\":\"text_block-47-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Medium[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'150d372829824515e272a2421756c26cd7f4748688abb1cf04433beb61945cc3\' ct_options=\'{\"ct_id\":48,\"ct_parent\":39,\"selector\":\"div_block-48-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'cd4666afcadc8e4d6832df10a2012617a74de69ee4d5abdd2e369f2c99adf7b2\' ct_options=\'{\"ct_id\":49,\"ct_parent\":48,\"selector\":\"text_block-49-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'213c4dd513ad3355313f64c8eabbb551e284281bbce0c1e4781dc028f403d804\' ct_options=\'{\"ct_id\":50,\"ct_parent\":39,\"selector\":\"div_block-50-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-ultra-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'40c85868bbb427f5ed945ad8c5c8cf361e9e9ade0dc4af867b71245e1dc9ac9a\' ct_options=\'{\"ct_id\":51,\"ct_parent\":50,\"selector\":\"text_block-51-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'17f9eae969d612b96a36c7a1cf7fea8e339815d12f24213f0cdd74ea25acb13c\' ct_options=\'{\"ct_id\":52,\"ct_parent\":39,\"selector\":\"div_block-52-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-comp\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'a5e445ab28fbd6aac02f2ab04e69951849536fe5f5565e9201f9e8838b53c9e2\' ct_options=\'{\"ct_id\":53,\"ct_parent\":52,\"selector\":\"text_block-53-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Comp[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'2109bd04b0abb04eea8d4a497c06c4e32c06ab8946ce9a157be8a4319275cb30\' ct_options=\'{\"ct_id\":54,\"ct_parent\":19,\"selector\":\"div_block-54-25\",\"nicename\":\"Accent\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'04ddcd5420b9887d897106ec97dadb033bf2f1c7147577d0ce026b5f0b840479\' ct_options=\'{\"ct_id\":55,\"ct_parent\":54,\"selector\":\"text_block-55-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']accent[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'04f23bde03a295a7df95d10e64f897c42727b580a072e621cd4425fb12dbfa1d\' ct_options=\'{\"ct_id\":56,\"ct_parent\":54,\"selector\":\"div_block-56-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'505a420eedb1e1ae5cdd32a7c8f5902332201c63178ed7d6fc0ca9eee9e22b42\' ct_options=\'{\"ct_id\":57,\"ct_parent\":56,\"selector\":\"div_block-57-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'99cf75da55699625699c00874d4b2339aa19cdd9c1b62c4b5bac0e8fe786588b\' ct_options=\'{\"ct_id\":58,\"ct_parent\":57,\"selector\":\"text_block-58-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Accent[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'549c779e8b7c71931db7e40a436900f68d4b6914968cac98d1722934705e730b\' ct_options=\'{\"ct_id\":59,\"ct_parent\":56,\"selector\":\"div_block-59-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-ultra-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'2d512436bd0b1a504b3db04b804ee68dcee2fa1431ad8fcbb230ea76bd159318\' ct_options=\'{\"ct_id\":60,\"ct_parent\":59,\"selector\":\"text_block-60-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'5f81f9f563ca2f6890504df862fa32402252555960f139d5f60b2a7aafb48cf8\' ct_options=\'{\"ct_id\":61,\"ct_parent\":56,\"selector\":\"div_block-61-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'d049ffa5389070aa44cc89e3f34a731957d2cbd9eabdfac133a9fb6602de95b1\' ct_options=\'{\"ct_id\":62,\"ct_parent\":61,\"selector\":\"text_block-62-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'a0d65b5a985069f47f3ea9e4ef733994aeba5feb8052c8be2cec39bcc6302869\' ct_options=\'{\"ct_id\":63,\"ct_parent\":56,\"selector\":\"div_block-63-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-medium\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'815304b1bd4facb4e0d4d038802dd11dd1a1c155a735a516396c7397990505a5\' ct_options=\'{\"ct_id\":64,\"ct_parent\":63,\"selector\":\"text_block-64-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Medium[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'f886c0ec52b2d9c695d1c4bdf786897d5d8ae4516bc15bf45ca43d915f8ebab5\' ct_options=\'{\"ct_id\":65,\"ct_parent\":56,\"selector\":\"div_block-65-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'4e7594b79319fca6076570cc87706e6c602a4929aa7372ae57424cc3c676ae93\' ct_options=\'{\"ct_id\":66,\"ct_parent\":65,\"selector\":\"text_block-66-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'1e11cfcc266c72a6c6e633020232d16aebf42cad4411ac8041df6ac1337f9d68\' ct_options=\'{\"ct_id\":67,\"ct_parent\":56,\"selector\":\"div_block-67-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-ultra-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'84b5446abd40e97107ce2bdae8032b65a0d425de5241dbd29c327989b1e6f6ef\' ct_options=\'{\"ct_id\":68,\"ct_parent\":67,\"selector\":\"text_block-68-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'d97189f1a6cf2aabde31721e77a9da34b177df0456e24e6a1f9d429a4ee714a6\' ct_options=\'{\"ct_id\":69,\"ct_parent\":56,\"selector\":\"div_block-69-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-comp\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'b9c7748b96a43b66f1ae66e35555796540ad1db5e58b84a071c866efb5a11b0a\' ct_options=\'{\"ct_id\":70,\"ct_parent\":69,\"selector\":\"text_block-70-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Comp[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'e13bcd90b5e0b8d058c482afb464941edffdc6f2b31bbe1a9662e8cbbe9997ab\' ct_options=\'{\"ct_id\":71,\"ct_parent\":19,\"selector\":\"div_block-71-25\",\"nicename\":\"Base\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'8bc2b44e0ff7c342d342fe88e83399a87d335d9e0461cbd7c7fdd4228a880f85\' ct_options=\'{\"ct_id\":72,\"ct_parent\":71,\"selector\":\"text_block-72-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']base[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'c7e076fc9dae2352d75d8cd4dbcde3eb35aeb1ea64f56d3e81464159baf399c7\' ct_options=\'{\"ct_id\":73,\"ct_parent\":71,\"selector\":\"div_block-73-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'85c0625b130909be28da39b11cf90c7b749f2b94ed7547e360d67c7d78d5f756\' ct_options=\'{\"ct_id\":74,\"ct_parent\":73,\"selector\":\"div_block-74-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'64a69930d35861ca09d923b0d3688f4178123da75881f9d3a7260e319bbe33fe\' ct_options=\'{\"ct_id\":75,\"ct_parent\":74,\"selector\":\"text_block-75-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Base[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'46c396f67af2cfbdba9c6ea1970e1d1377b0fcaea4e8c2289f334d4ece9f0263\' ct_options=\'{\"ct_id\":76,\"ct_parent\":73,\"selector\":\"div_block-76-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-ultra-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'24b55f43349043b65305f0c8c2b696ac3bb497c1af60dfc2df360aa9a8f0cd9a\' ct_options=\'{\"ct_id\":77,\"ct_parent\":76,\"selector\":\"text_block-77-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'206413cd9832d747ca2406543ef5c68e0149e730ff9b43c3434cf4946629e40a\' ct_options=\'{\"ct_id\":78,\"ct_parent\":73,\"selector\":\"div_block-78-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'b5ed21ba018e5c93a0b372175b7232c04e2f1221b981cab11d0337cb69cee023\' ct_options=\'{\"ct_id\":79,\"ct_parent\":78,\"selector\":\"text_block-79-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'eb3a622c318eb68f1a42e3e042a16be89b8b98c9d89171810a3fa06eb25341c1\' ct_options=\'{\"ct_id\":80,\"ct_parent\":73,\"selector\":\"div_block-80-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-medium\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'95a90d47a40fe97de9d25ced517552f089cb2542cf773082aa06c14859298911\' ct_options=\'{\"ct_id\":81,\"ct_parent\":80,\"selector\":\"text_block-81-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Medium[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'74249a2632898a0c4ad7e39202305aca3e73256b85776aabf9b56e279a4da236\' ct_options=\'{\"ct_id\":82,\"ct_parent\":73,\"selector\":\"div_block-82-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'cfe3c5c0aad50f847499047ac51775120fc3bbd4d19067fe9c2c5ff4521f014c\' ct_options=\'{\"ct_id\":83,\"ct_parent\":82,\"selector\":\"text_block-83-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'172597b209cd17ec8d50a37602f12353cdf5360f662a9369abb3bfd9df3eaf38\' ct_options=\'{\"ct_id\":84,\"ct_parent\":73,\"selector\":\"div_block-84-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-ultra-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'adc9818187d34fd5cde24098e467912a1413f7b7aeecf7d43d849dc824b6bda9\' ct_options=\'{\"ct_id\":85,\"ct_parent\":84,\"selector\":\"text_block-85-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'6bdfa967b0079d20517dd9df91aade04961293d50872ff08326f2b74df029ce3\' ct_options=\'{\"ct_id\":86,\"ct_parent\":73,\"selector\":\"div_block-86-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-comp\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'7dbca8b77ed243bfae5fe87566250519f37f331a3806e8606eff72fea064e67c\' ct_options=\'{\"ct_id\":87,\"ct_parent\":86,\"selector\":\"text_block-87-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Comp[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'491bc4f0dd9a4daa0b2b79b994f15b1b86b854ba970f8b4e0c565f4a25f98d09\' ct_options=\'{\"ct_id\":88,\"ct_parent\":19,\"selector\":\"div_block-88-25\",\"nicename\":\"Base\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'9072b37db67474518715c3255adf64055f4c4945363ef45444c42bc2da060928\' ct_options=\'{\"ct_id\":89,\"ct_parent\":88,\"selector\":\"text_block-89-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']shade[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'6fd5e1fc54326ee6872fce7ad95a806143825887c8d03dc6d81fcc1624cc9349\' ct_options=\'{\"ct_id\":90,\"ct_parent\":88,\"selector\":\"div_block-90-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'80d0eb8da9b30a6aaf8820cfa2727b7f421fabbaa92d70e91aea4bf48026024e\' ct_options=\'{\"ct_id\":91,\"ct_parent\":90,\"selector\":\"div_block-91-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'e6f2ecf1075995b76f0e068caa9b8264a28bb6e549eeb0b1c37429aaa29f2f73\' ct_options=\'{\"ct_id\":92,\"ct_parent\":91,\"selector\":\"text_block-92-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Shade[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'bbc95d42494012e65a211f711c61b151ad111c739915077c8db21a6e3c65c132\' ct_options=\'{\"ct_id\":93,\"ct_parent\":90,\"selector\":\"div_block-93-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-ultra-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'75835b43b677f19c93389329412bff9fb1b8d5f64cf9516f645aa87282e8d310\' ct_options=\'{\"ct_id\":94,\"ct_parent\":93,\"selector\":\"text_block-94-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'fd77640424cf6d7d3ce5467d899e67b445fb784e187d32643ad5a9ffb51276c9\' ct_options=\'{\"ct_id\":95,\"ct_parent\":90,\"selector\":\"div_block-95-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-light\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'b8b0e19412ba3f1181256ac49195770b68c4e746d0de208fb74ba33ba5f5a766\' ct_options=\'{\"ct_id\":96,\"ct_parent\":95,\"selector\":\"text_block-96-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Light[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'ccb95776c07b5609b4dea8df1c88ba9836aae509bd777a32d82d5b5eaf79e487\' ct_options=\'{\"ct_id\":97,\"ct_parent\":90,\"selector\":\"div_block-97-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-medium\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'cf1c94346808cfb059892da79ef8ffdb18b0b5892ae84fd9e1fcd7f0e600a261\' ct_options=\'{\"ct_id\":98,\"ct_parent\":97,\"selector\":\"text_block-98-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Medium[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'b16cfebec4f5bd9115258299fd46e94ab40a07e6d87a4517c63df06483cfad1f\' ct_options=\'{\"ct_id\":99,\"ct_parent\":90,\"selector\":\"div_block-99-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'114c86744b36c06571e7dd3e8f5262721ca9afa3e18598fdc8a9bfdea3dd0ed8\' ct_options=\'{\"ct_id\":100,\"ct_parent\":99,\"selector\":\"text_block-100-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Dark[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'7e6d829dc12cf558898febab6d11aa8b9cb672510bb13a519a18f9e8a8648543\' ct_options=\'{\"ct_id\":101,\"ct_parent\":90,\"selector\":\"div_block-101-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-ultra-dark\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'d290c810dcadd572626aaa8332a1a13b146cb772e7deec0cfd8f42ccfe3a2e8c\' ct_options=\'{\"ct_id\":102,\"ct_parent\":101,\"selector\":\"text_block-102-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Ultra Dark[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][/oxy_tab_content_3][oxy_tab_content_3 ct_sign_sha256=\'0a7f7530ce8861baecf30f60893f84e2a5e1ba398365bc437518ea6f96d53510\' ct_options=\'{\"ct_id\":103,\"ct_parent\":18,\"selector\":\"_tab_content-103-25\",\"nicename\":\"Tab Content (#31)\",\"classes\":{\"0\":\"tabs-contents-0118-tab\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'b2ccfc5e4e4d7b12960a6cf30974252b759523711586e32af293c4b1fa62207e\' ct_options=\'{\"ct_id\":104,\"ct_parent\":103,\"selector\":\"div_block-104-25\",\"nicename\":\"Primary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'31479c19241d8236db7c77d76dd449d829c00c4951c9d82d749aa368fb513d08\' ct_options=\'{\"ct_id\":105,\"ct_parent\":104,\"selector\":\"text_block-105-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']primary[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'560503fdb780b9fc327bea901dc849736ad85a246ef0a1188699d4cd9d2ee207\' ct_options=\'{\"ct_id\":106,\"ct_parent\":104,\"selector\":\"div_block-106-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"margin-top--m\",\"1\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'e214e131b1792f2c63f696da93b8f0c90361c99322c502908c0b0b91a1e9b9e1\' ct_options=\'{\"ct_id\":107,\"ct_parent\":106,\"selector\":\"div_block-107-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-trans-10\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'93f3b1368ef6a84868768491212688da2fbcda84bea0a3515ad3c6b40097e132\' ct_options=\'{\"ct_id\":108,\"ct_parent\":107,\"selector\":\"text_block-108-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 10<br>[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'4bd72cdd0220478858fa637900b65319eed57bdb9abdd3d1440aa11c73bda035\' ct_options=\'{\"ct_id\":109,\"ct_parent\":106,\"selector\":\"div_block-109-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-trans-20\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'eb0a3e144fb853358c76748054e60ae8728a690c3ffb67e6fc4c5256205753ab\' ct_options=\'{\"ct_id\":110,\"ct_parent\":109,\"selector\":\"text_block-110-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 20[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'d66e22318eacc5a56d1021249ef73e7a7df4bc630e81841e9f6eb726ab8f453b\' ct_options=\'{\"ct_id\":111,\"ct_parent\":106,\"selector\":\"div_block-111-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-trans-40\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'0cada9850afd9fddb0559d34866086174d78b424fa5dd5aa3c0e2fa290260041\' ct_options=\'{\"ct_id\":112,\"ct_parent\":111,\"selector\":\"text_block-112-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 40[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'665689ea782593c833c65511b91793cc4d1d91eabddba2e378fe97e3140b75ad\' ct_options=\'{\"ct_id\":113,\"ct_parent\":106,\"selector\":\"div_block-113-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-trans-60\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'6010e57c4a8c5da75cda4c3d6044c2193ed70fdb0b0cc88226baa81624360737\' ct_options=\'{\"ct_id\":114,\"ct_parent\":113,\"selector\":\"text_block-114-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 60[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'2a825063170dd4915c84f34bbdc1e3d724fd42fdb7340e7805e1467dc08bfb6a\' ct_options=\'{\"ct_id\":115,\"ct_parent\":106,\"selector\":\"div_block-115-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-trans-80\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'427dcff77a297fd7be4ae11145adeae313e2114206b51cdc83b126edc5033b7d\' ct_options=\'{\"ct_id\":116,\"ct_parent\":115,\"selector\":\"text_block-116-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 80[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'f7011632af51e7ff221052211866dc275aa81d64bf4b93fac7885a4f046ce6bb\' ct_options=\'{\"ct_id\":117,\"ct_parent\":106,\"selector\":\"div_block-117-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--primary-trans-90\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'240afa8a85096499e3329377bf301b124d126ee7149daf8500c3a83c60ec0496\' ct_options=\'{\"ct_id\":118,\"ct_parent\":117,\"selector\":\"text_block-118-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 90[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'1b6179ed9afe6e8d8a20fb1a5a4e58cd79c177aaf790ccf12a9922ec9d4964b4\' ct_options=\'{\"ct_id\":119,\"ct_parent\":103,\"selector\":\"div_block-119-25\",\"nicename\":\"Primary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'1915efd2be9fb33b2f7778cdeb387a55dc561f807e092bf5fabba775962e660e\' ct_options=\'{\"ct_id\":120,\"ct_parent\":119,\"selector\":\"text_block-120-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']secondary[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'bb303cf5604df341a9084bf1453c6c7dc64ce4ddf2ca81172d0f23e520fdfe01\' ct_options=\'{\"ct_id\":121,\"ct_parent\":119,\"selector\":\"div_block-121-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"margin-top--m\",\"1\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'b1668b06561e66abf9a94f4fd17dcef9c1629b6143a72a85fcc5780451939381\' ct_options=\'{\"ct_id\":122,\"ct_parent\":121,\"selector\":\"div_block-122-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-trans-10\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'b910ea8919505d33d9a7b284ee8e544411a7b2f4629f53909cb022278d32a2d4\' ct_options=\'{\"ct_id\":123,\"ct_parent\":122,\"selector\":\"text_block-123-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 10[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'a470658c47a77c638d59282fab4880a7d7a6230dfca2cd48437d40efa3c49f8f\' ct_options=\'{\"ct_id\":124,\"ct_parent\":121,\"selector\":\"div_block-124-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-trans-20\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'71a16969aaee7606a42663258894b19c8da9cd7bcc41b6a9ceca680a228da904\' ct_options=\'{\"ct_id\":125,\"ct_parent\":124,\"selector\":\"text_block-125-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 20[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'2b97d285fb1116153fbaa1b86fbe4c4e048ff6f8b50a17e5289e597115d83eb9\' ct_options=\'{\"ct_id\":126,\"ct_parent\":121,\"selector\":\"div_block-126-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-trans-40\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'224da3540ac44ac3bad527e973656dd7152662efec20f7be606fa341f68baf47\' ct_options=\'{\"ct_id\":127,\"ct_parent\":126,\"selector\":\"text_block-127-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 40[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'fad7eb4eadfdf359747120052edecc69367ce2918084700cc1d3222748535eec\' ct_options=\'{\"ct_id\":128,\"ct_parent\":121,\"selector\":\"div_block-128-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-trans-60\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'dd9e7fb6dd4728828a89befac15f987c0fd13cf850c2cf67f63bf3b9b9a4d3f5\' ct_options=\'{\"ct_id\":129,\"ct_parent\":128,\"selector\":\"text_block-129-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 60[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'439fe5184be5d1850d4884e232794aece752991a39458924380b385d92e72894\' ct_options=\'{\"ct_id\":130,\"ct_parent\":121,\"selector\":\"div_block-130-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-trans-80\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'8c51dd37bd9f9f2266b21e213801593797e6b56d8c67add77e7b6fb8704425f1\' ct_options=\'{\"ct_id\":131,\"ct_parent\":130,\"selector\":\"text_block-131-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 80[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'359bed5fd26fc69f10e6363044e105b935a6f5ff9c5e1b2aafb6c61f7878d4f5\' ct_options=\'{\"ct_id\":132,\"ct_parent\":121,\"selector\":\"div_block-132-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--secondary-trans-90\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'bfd7ee7dad5dfb9b4921d1b98fae0aa2cc96482c8dae46b18c723fb3bdbefc55\' ct_options=\'{\"ct_id\":133,\"ct_parent\":132,\"selector\":\"text_block-133-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 90<br>[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'8639db5ab5d15b8443a1fbe4e7b8f328eb550b7d654653de293ec1747abe17e2\' ct_options=\'{\"ct_id\":134,\"ct_parent\":103,\"selector\":\"div_block-134-25\",\"nicename\":\"Primary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'fffd6230e01668c7a4f826f966f23d4e5a251051b745bcdd0fd1ce66224a7e0f\' ct_options=\'{\"ct_id\":135,\"ct_parent\":134,\"selector\":\"text_block-135-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']accent[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'912fd708e7af3c0531f1382e5948ed44a6058b5ae453229a54b7cc110eb5e871\' ct_options=\'{\"ct_id\":136,\"ct_parent\":134,\"selector\":\"div_block-136-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"margin-top--m\",\"1\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'34a08a8c1a9d4937885c65b354f7cb87d88d90d553eb7a99edaa4dae73095181\' ct_options=\'{\"ct_id\":137,\"ct_parent\":136,\"selector\":\"div_block-137-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-trans-10\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'53eaf714d6ae254caddc1afa6f1ae4ecea462064adf62925aba16a27ff8d01c5\' ct_options=\'{\"ct_id\":138,\"ct_parent\":137,\"selector\":\"text_block-138-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 10[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'1fbe3db4b8e68f3955bfed7635b1d37e26416f91bc88ed35866264ff44789f2b\' ct_options=\'{\"ct_id\":139,\"ct_parent\":136,\"selector\":\"div_block-139-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-trans-20\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'e5f0f65a9cb65dee79b8036b461196f9e820bd8b7d7642dd35ac14f3b30ccc37\' ct_options=\'{\"ct_id\":140,\"ct_parent\":139,\"selector\":\"text_block-140-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 20[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'70913f8bccd133c3dac9328d46c816099dc5db5c7375dfb159a36d9538c092d7\' ct_options=\'{\"ct_id\":141,\"ct_parent\":136,\"selector\":\"div_block-141-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-trans-40\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'92952d7d77e0ee0bf155c11c53fecbfcf598c2d008bedcd525ec7ed92d1acbd5\' ct_options=\'{\"ct_id\":142,\"ct_parent\":141,\"selector\":\"text_block-142-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 40[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'905088fbd1397648716d067a22cd6d5e723816eb9dc58d5e3bd6c9d96fae3c2e\' ct_options=\'{\"ct_id\":143,\"ct_parent\":136,\"selector\":\"div_block-143-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-trans-60\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'db5f379a09a6bb4ecc787a2897e2ad66fb0106fb01b43ef23752f89b71721bea\' ct_options=\'{\"ct_id\":144,\"ct_parent\":143,\"selector\":\"text_block-144-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 60[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'d48d7eac35907fb6da9157877a949a832acb33f14a46053d8dde27af4aedd7f5\' ct_options=\'{\"ct_id\":145,\"ct_parent\":136,\"selector\":\"div_block-145-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-trans-80\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'27f5370660ce613bfc7d09455e4fdf17baba2e638b4491a3cfb595528d4c8566\' ct_options=\'{\"ct_id\":146,\"ct_parent\":145,\"selector\":\"text_block-146-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 80[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'640ea863244c4170c95252082830db5b83f651b830532ffc6a874c0783edc586\' ct_options=\'{\"ct_id\":147,\"ct_parent\":136,\"selector\":\"div_block-147-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--accent-trans-90\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'1f0bad20c0c10be1d450db97ebcc6f15efc09699c79fb5b534d5c3bbef873fb0\' ct_options=\'{\"ct_id\":148,\"ct_parent\":147,\"selector\":\"text_block-148-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 90[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'3c534f2a6af2c1d2ab2de48d8d9011215aac4c63a994b8f6e0aff00928278d13\' ct_options=\'{\"ct_id\":149,\"ct_parent\":103,\"selector\":\"div_block-149-25\",\"nicename\":\"Primary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'d722975ad9a2a42722dfd8f3b7eba88537418332cea214e7b89976353eb3d3b7\' ct_options=\'{\"ct_id\":150,\"ct_parent\":149,\"selector\":\"text_block-150-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']base[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'c88dd6d51bf0bf9d11a7392a2a56d77718b3494a56ef0b54861e52bc5c4650b8\' ct_options=\'{\"ct_id\":151,\"ct_parent\":149,\"selector\":\"div_block-151-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"margin-top--m\",\"1\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'b2f28c0e642a836b2bc28fac811fd1d5a720c0783dc708d3054f021c6748d040\' ct_options=\'{\"ct_id\":152,\"ct_parent\":151,\"selector\":\"div_block-152-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-trans-10\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'1332412255146b9cab68cec7f9e150f773ca4893bdb2fab23170ec15a2aefc61\' ct_options=\'{\"ct_id\":153,\"ct_parent\":152,\"selector\":\"text_block-153-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 10[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'0c5e625d045c13cadb2f2c5e6f8aba1e5356a6693b20d8ca4eabb11657b164c7\' ct_options=\'{\"ct_id\":154,\"ct_parent\":151,\"selector\":\"div_block-154-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-trans-20\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'783340a0d5818ec6b79fcbefe93895f159e400af90b5c23f9a6eff981c133391\' ct_options=\'{\"ct_id\":155,\"ct_parent\":154,\"selector\":\"text_block-155-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 20[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'0cd2969c02777c84eb96eebe102b486347d092e679c9293bfe3e5940867b31d6\' ct_options=\'{\"ct_id\":156,\"ct_parent\":151,\"selector\":\"div_block-156-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-trans-40\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'8368f9c50224069d8031f1137ac35ba18453a05bd46a323127f740c5f89cc994\' ct_options=\'{\"ct_id\":157,\"ct_parent\":156,\"selector\":\"text_block-157-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 40[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'77aef0c4b6f796256fe3ca7c10c0b584ebe902a15d754a141c38bd052c35f07f\' ct_options=\'{\"ct_id\":158,\"ct_parent\":151,\"selector\":\"div_block-158-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-trans-60\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'c219ced8fcae7f366d09a8bf4b6793648cedf599d3d3216774058e44d9d08639\' ct_options=\'{\"ct_id\":159,\"ct_parent\":158,\"selector\":\"text_block-159-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 60[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'a41ee6f7f11586a97355cdcafe152c2977bb8453f3f9a5603e66ac802fa0171b\' ct_options=\'{\"ct_id\":160,\"ct_parent\":151,\"selector\":\"div_block-160-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-trans-80\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'3a7d98470ffcad241b3b961476c8604c3cff56d87c47272ae6eed4d675942358\' ct_options=\'{\"ct_id\":161,\"ct_parent\":160,\"selector\":\"text_block-161-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 80[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'ec19bdbacfa57b93975f4fabd23abe03a710dea26cd833ec416d6443cc2a9bbe\' ct_options=\'{\"ct_id\":162,\"ct_parent\":151,\"selector\":\"div_block-162-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--base-trans-90\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'3470b808ad4f94d75e7b99cd53c33c2dd15d99b3d010f32d62119ed0a2356f61\' ct_options=\'{\"ct_id\":163,\"ct_parent\":162,\"selector\":\"text_block-163-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 90[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'7703a21ad2a323f0b0da56dd9beaab82beddf8c419830cc4f4dd79122edb9af7\' ct_options=\'{\"ct_id\":164,\"ct_parent\":103,\"selector\":\"div_block-164-25\",\"nicename\":\"Primary\",\"classes\":{\"0\":\"acss-color__container\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'7b378e38fe1ae55e4b051412a81fc786e4db74fc84e1f88736d8bb228f850fe2\' ct_options=\'{\"ct_id\":165,\"ct_parent\":164,\"selector\":\"text_block-165-25\",\"nicename\":\"Text (#19)\",\"classes\":{\"0\":\"acss-color__title\"},\"ct_depth\":5}\']shade[/ct_text_block][ct_div_block_5 ct_sign_sha256=\'c15b26837caa7e305f24965820a5f35b4c67bd9a23e653067e29dcb8ad2d3224\' ct_options=\'{\"ct_id\":166,\"ct_parent\":164,\"selector\":\"div_block-166-25\",\"nicename\":\"Div (#45)\",\"classes\":{\"0\":\"margin-top--m\",\"1\":\"acss-color-card__container\"},\"media\":{\"page-width\":{\"original\":{}}},\"ct_depth\":5}\'][ct_div_block_6 ct_sign_sha256=\'80a623d5434b8dfe5d754df07c02307c8c08666a4ca3a0f60df47232d1e422b5\' ct_options=\'{\"ct_id\":167,\"ct_parent\":166,\"selector\":\"div_block-167-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-trans-10\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'5780b5c51817f548d411b3b8a5fd75fa64303f04fb8564586f21ce6d59ac1778\' ct_options=\'{\"ct_id\":168,\"ct_parent\":167,\"selector\":\"text_block-168-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 10[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'b0436cb2dfbc95fad3427dbc98cee7a1d46bcdb235160004e01e4dcc7965c804\' ct_options=\'{\"ct_id\":169,\"ct_parent\":166,\"selector\":\"div_block-169-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-trans-20\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'55414600dafabd6e2065961ff4ca1c0d94b15af460cad135efa132ccab88bb99\' ct_options=\'{\"ct_id\":170,\"ct_parent\":169,\"selector\":\"text_block-170-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 20[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'8df17283c6c1f103a3ff54f3fcdadc9ebabda4373babe91ddc7632458c6ec445\' ct_options=\'{\"ct_id\":171,\"ct_parent\":166,\"selector\":\"div_block-171-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-trans-40\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'69dcd0c2701f46f3ff64000e413d8f65031ad7c8fd3b58361e2792eeb6ea66c9\' ct_options=\'{\"ct_id\":172,\"ct_parent\":171,\"selector\":\"text_block-172-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 40[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'07a61efb6bbfad6c847594ef9f596562dd23378a84e668539b66d89a5b671b43\' ct_options=\'{\"ct_id\":173,\"ct_parent\":166,\"selector\":\"div_block-173-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-trans-60\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'04e1851c2b99b35b47a7ef16cb0c960823bc26d4157ed0bd458c50972626c019\' ct_options=\'{\"ct_id\":174,\"ct_parent\":173,\"selector\":\"text_block-174-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 60[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'d5a4832bf7bc9abc813d456be254dd9fac33a00c1bb938b43b35c0d36d1d444f\' ct_options=\'{\"ct_id\":175,\"ct_parent\":166,\"selector\":\"div_block-175-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-trans-80\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'6f7cbba57f15fcbd19673bb98563c13d14a0c1e81a4c06f11ad116a737d6f58f\' ct_options=\'{\"ct_id\":176,\"ct_parent\":175,\"selector\":\"text_block-176-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 80[/ct_text_block][/ct_div_block_6][ct_div_block_6 ct_sign_sha256=\'ce230e87a03a6c5de6fe64e6277e83053791b3847acb4292f56abecab8b36e76\' ct_options=\'{\"ct_id\":177,\"ct_parent\":166,\"selector\":\"div_block-177-25\",\"nicename\":\"Div (#37)\",\"classes\":{\"0\":\"bg--shade-trans-90\",\"1\":\"acss-color-card__wrapper\"},\"ct_depth\":6}\'][ct_text_block ct_sign_sha256=\'151b066bc8442a628313c1188302aac759ff29895c3d2b746305f1e2408efe79\' ct_options=\'{\"ct_id\":178,\"ct_parent\":177,\"selector\":\"text_block-178-25\",\"original\":{\"font-size-unit\":\" \",\"font-size\":\"\"},\"nicename\":\"Text (#44)\",\"classes\":{\"0\":\"acss-color-card__name\"},\"ct_depth\":7}\']Trans 90[/ct_text_block][/ct_div_block_6][/ct_div_block_5][/ct_div_block_4][/oxy_tab_content_3][/oxy_tabs_contents_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'f8307dbbde9a0b60a13761e6db96aa6f679fd695a6f348cebf3ade880e204477\' ct_options=\'{\"ct_id\":179,\"ct_parent\":0,\"selector\":\"section-179-25\",\"nicename\":\"Typography\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":\"acss-style-guide-section\",\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'a1abf49c7135772c3cf23fd2f2e28f8574272a708a2dfca856dd56758e69bc08\' ct_options=\'{\"ct_id\":180,\"ct_parent\":179,\"selector\":\"div_block-180-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'871cfa6480d76b33e60663450df9623a9db9182b766a8d5e8f6de0133af5e604\' ct_options=\'{\"ct_id\":181,\"ct_parent\":180,\"selector\":\"headline-181-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Typography[/ct_headline][ct_text_block ct_sign_sha256=\'314bff96fd703d7c6f93cc159680e424536ee5ce670dc52eda49f668a913667d\' ct_options=\'{\"ct_id\":182,\"ct_parent\":180,\"selector\":\"text_block-182-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']Below is an overview of responsive typography sizes and weights for this site. These are computed from a base size and a mathematical scale.<br>[/ct_text_block][/ct_div_block_2][ct_text_block ct_sign_sha256=\'c1dc44c22cec77d2d9e7b1224919722e1bafa5e5d5212ce9e9787669abec5682\' ct_options=\'{\"ct_id\":183,\"ct_parent\":179,\"selector\":\"text_block-183-25\",\"nicename\":\"Text (#386)\",\"classes\":{\"0\":\"acss-section__subtitle\"},\"ct_depth\":2}\']Headings[/ct_text_block][ct_div_block_2 ct_sign_sha256=\'2ca846cd085f7b0152ebe87940abc2d6d533324ce83a3e0840419de1e527b22d\' ct_options=\'{\"ct_id\":184,\"ct_parent\":179,\"selector\":\"div_block-184-25\",\"nicename\":\"h1\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'0712c7864cf373039f35490ae7a4ac49fd9334251f12314e3831a4e8989dcd7a\' ct_options=\'{\"ct_id\":185,\"ct_parent\":184,\"selector\":\"text_block-185-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']H1 (--xxl)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'7ad17950c3ee5d59c1fc6442c5a75acc779fb4c7cdbf5716e3751dd85fad0bb2\' ct_options=\'{\"ct_id\":186,\"ct_parent\":179,\"selector\":\"div_block-186-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'593e95ebdff5be8adc6849b461b02b103170ecad806bc66d44d83ba9d3f7fd19\' ct_options=\'{\"ct_id\":187,\"ct_parent\":186,\"selector\":\"headline-187-25\",\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3,\"activeselector\":\"acss-typography__headings\"}\']Heading 1 Regular[/ct_headline][ct_headline ct_sign_sha256=\'b0434b4e9959dc57c5f2b8de84d44ecdd306b01fc793660f0a16d6b0566675ef\' ct_options=\'{\"ct_id\":188,\"ct_parent\":186,\"selector\":\"headline-188-25\",\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 1 Medium<br>[/ct_headline][ct_headline ct_sign_sha256=\'236a04649b387a96933a83d80b3623b07448f2693321b775382a20540688fd68\' ct_options=\'{\"ct_id\":189,\"ct_parent\":186,\"selector\":\"headline-189-25\",\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 1 Bold<br>[/ct_headline][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'b48389192533abf0e75932826e0e4877be2630bde364cc3b0036133876c586b8\' ct_options=\'{\"ct_id\":190,\"ct_parent\":179,\"selector\":\"div_block-190-25\",\"nicename\":\"h2\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'ddd68842f21a8bbfd81b1711c72b3ad848e0e00f918686cba48faedf32e3c64a\' ct_options=\'{\"ct_id\":191,\"ct_parent\":190,\"selector\":\"text_block-191-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']H2 (--xl)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'d0541aceefa1962123fb91248ee5b5c369678ede4f35f7a13c2dceb8f1707051\' ct_options=\'{\"ct_id\":192,\"ct_parent\":179,\"selector\":\"div_block-192-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'ee1b2e19546e0e99544e276b06a6482a5b65bc9b2f1e4ccf513f023e8c6983fc\' ct_options=\'{\"ct_id\":193,\"ct_parent\":192,\"selector\":\"headline-193-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 2 Regular[/ct_headline][ct_headline ct_sign_sha256=\'8177496dbaf3a9085e4f384527fcf5292a81763ec1905c7f24553ec0707be240\' ct_options=\'{\"ct_id\":194,\"ct_parent\":192,\"selector\":\"headline-194-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 2 Medium<br>[/ct_headline][ct_headline ct_sign_sha256=\'903aed4b9d5b344f53884a3ee45e4ddf91731614fb6e47d5858e296d4a80b313\' ct_options=\'{\"ct_id\":195,\"ct_parent\":192,\"selector\":\"headline-195-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 2 Bold<br>[/ct_headline][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'6d0139a44cf9f72da6548665731cf04efd4f3837ba32d173c0bb5c0ed935d752\' ct_options=\'{\"ct_id\":196,\"ct_parent\":179,\"selector\":\"div_block-196-25\",\"nicename\":\"h3\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'924e05b8bd32705d7fb36049169c9394a8a258c98a79f9e15676ee954a2f8c77\' ct_options=\'{\"ct_id\":197,\"ct_parent\":196,\"selector\":\"text_block-197-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']H3 (--l)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'b5c556b3f46426ed69ed97eadc4520005b609979e58dd543fb54b5af04a6ceaa\' ct_options=\'{\"ct_id\":198,\"ct_parent\":179,\"selector\":\"div_block-198-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'2a60c5fb04a44a542ac03a04e749e45061747998a71a148803778c3e1b5e24b0\' ct_options=\'{\"ct_id\":199,\"ct_parent\":198,\"selector\":\"headline-199-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 3 Regular[/ct_headline][ct_headline ct_sign_sha256=\'4b07f41a935b56d38ec6fc3d6a351e61aa73790e322db057843b80813b08c89e\' ct_options=\'{\"ct_id\":200,\"ct_parent\":198,\"selector\":\"headline-200-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading&nbsp; Medium<br>[/ct_headline][ct_headline ct_sign_sha256=\'92dcf3d2a5deb7ba8b2ebe9873b8576783ed90ba9c793ce16b9d0f08b0967ddb\' ct_options=\'{\"ct_id\":201,\"ct_parent\":198,\"selector\":\"headline-201-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 3 Bold<br>[/ct_headline][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'e2b6e0926f52ec1b2f68c51b1161b923db414fb0079a86de29c85b49819c46b4\' ct_options=\'{\"ct_id\":202,\"ct_parent\":179,\"selector\":\"div_block-202-25\",\"nicename\":\"h4\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'40db4e8a796a0d5cfa8e62a8b5c42e4fdd24c39f03426f58c2d2262dfad51fe0\' ct_options=\'{\"ct_id\":203,\"ct_parent\":202,\"selector\":\"text_block-203-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']H4 (--m)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'42b97c0e9467488f4d50314f2511af154aee230f39686f9133ae73372227eea5\' ct_options=\'{\"ct_id\":204,\"ct_parent\":179,\"selector\":\"div_block-204-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'5476ed91d47ebde91125403e2625e468f42358592cbb1c0284e13a06c68b3949\' ct_options=\'{\"ct_id\":205,\"ct_parent\":204,\"selector\":\"headline-205-25\",\"original\":{\"tag\":\"h4\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 4 Regular[/ct_headline][ct_headline ct_sign_sha256=\'6b64767c9eb501d2a3a7857df19f06acc97f7a7de0e52d6930702b60d492c713\' ct_options=\'{\"ct_id\":206,\"ct_parent\":204,\"selector\":\"headline-206-25\",\"original\":{\"tag\":\"h4\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 4 Medium<br>[/ct_headline][ct_headline ct_sign_sha256=\'fc47a85739e9af199d07e509304fc3cfd1a634d6f5e9ff5d138a4e1915c1de32\' ct_options=\'{\"ct_id\":207,\"ct_parent\":204,\"selector\":\"headline-207-25\",\"original\":{\"tag\":\"h4\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 4 Bold<br>[/ct_headline][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'b9e005d3c4dac0212d32b89b017a27f6e0abc9208a2605bfad06bfc478d1f345\' ct_options=\'{\"ct_id\":208,\"ct_parent\":179,\"selector\":\"div_block-208-25\",\"nicename\":\"h5\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'6f2e6590c3eb636d6d0361ff5ea9d2aa9ab1abaca2f984ed952ec8e10f195863\' ct_options=\'{\"ct_id\":209,\"ct_parent\":208,\"selector\":\"text_block-209-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']H5 (--s)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'2576ae6d7d68fa68c900befb946acb80cf1348c62ac3d44bb7e8cabb962e9d68\' ct_options=\'{\"ct_id\":210,\"ct_parent\":179,\"selector\":\"div_block-210-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'cd0ec50fde5074836a1d82b068975724e971a15a886918c70964d818f0478487\' ct_options=\'{\"ct_id\":211,\"ct_parent\":210,\"selector\":\"headline-211-25\",\"original\":{\"tag\":\"h5\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 5 Regular[/ct_headline][ct_headline ct_sign_sha256=\'8978d70239c5b973e0dee67175ae825c24c27850a3c01e5a543b023da7994138\' ct_options=\'{\"ct_id\":212,\"ct_parent\":210,\"selector\":\"headline-212-25\",\"original\":{\"tag\":\"h5\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading&nbsp; Medium<br>[/ct_headline][ct_headline ct_sign_sha256=\'14a89a59625196235666423df7c2c9bb76574ac758dd99ad2b32115a950ada70\' ct_options=\'{\"ct_id\":213,\"ct_parent\":210,\"selector\":\"headline-213-25\",\"original\":{\"tag\":\"h5\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 5 Bold<br>[/ct_headline][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'3c11a3f94f5f112db315ac47813826fc9ecc4db2d640ba73943b163a838fb55c\' ct_options=\'{\"ct_id\":214,\"ct_parent\":179,\"selector\":\"div_block-214-25\",\"nicename\":\"h6\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'b71782342148ed7534ab261b5281622d6260fbb3aab19dc8ff3e64ee24779f7f\' ct_options=\'{\"ct_id\":215,\"ct_parent\":214,\"selector\":\"text_block-215-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']H6 (--xs)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'14830d5cf5f11fbc36135070d7a2156384c6d3319231ee64ef9f83069a144a42\' ct_options=\'{\"ct_id\":216,\"ct_parent\":179,\"selector\":\"div_block-216-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'e32f84067b4be3ee20f1a35e7e66a55cc6e3b83a5ae7d58ae8d9335261af9731\' ct_options=\'{\"ct_id\":217,\"ct_parent\":216,\"selector\":\"headline-217-25\",\"original\":{\"tag\":\"h6\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 6 Regular[/ct_headline][ct_headline ct_sign_sha256=\'ac39b554356b85095d64bf3410e23ee56149a00b1ef07bbf5d5a5777ec5a92b4\' ct_options=\'{\"ct_id\":218,\"ct_parent\":216,\"selector\":\"headline-218-25\",\"original\":{\"tag\":\"h6\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 6 Medium<br>[/ct_headline][ct_headline ct_sign_sha256=\'c7fa1d6035019b86205683a112f28ff05e9b83ed702a9b04eed28d3d5f3c1411\' ct_options=\'{\"ct_id\":219,\"ct_parent\":216,\"selector\":\"headline-219-25\",\"original\":{\"tag\":\"h6\"},\"nicename\":\"Heading (#396)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__headings\"},\"ct_depth\":3}\']Heading 6 Bold<br>[/ct_headline][/ct_div_block_2][ct_text_block ct_sign_sha256=\'4226e576aa6eadf1fc061bb24909df376781536f9987532922ec52371343b543\' ct_options=\'{\"ct_id\":220,\"ct_parent\":179,\"selector\":\"text_block-220-25\",\"nicename\":\"Text (#386)\",\"classes\":{\"0\":\"acss-section__subtitle\"},\"ct_depth\":2}\']Body Text<br>[/ct_text_block][ct_div_block_2 ct_sign_sha256=\'9a62c9591eb438a58d67a8e08902173c797e51fb748b87ca7ab0acc6f5ea3249\' ct_options=\'{\"ct_id\":221,\"ct_parent\":179,\"selector\":\"div_block-221-25\",\"nicename\":\"body text\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'14a04aecc552112f3867f7ec14daa45f704338dc93881f881182f1a763707de2\' ct_options=\'{\"ct_id\":222,\"ct_parent\":221,\"selector\":\"text_block-222-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']BODY TEXT (--m)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'35fd9d956ef8e68b0a8702f4c160682750951da166652cbf7d057368c41f59a8\' ct_options=\'{\"ct_id\":223,\"ct_parent\":179,\"selector\":\"div_block-223-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'20042dc363e27d1329c1e5be12bdfdb2ad0a861852f024becfc04d24b94fb8e0\' ct_options=\'{\"ct_id\":224,\"ct_parent\":223,\"selector\":\"text_block-224-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--400\",\"1\":\"acss-typography__body\"},\"ct_depth\":3}\']Text m Regular<br>[/ct_text_block][ct_text_block ct_sign_sha256=\'ed2e7b613b1fd1d3a99aaf70268efab8fad13e5d96ae8fa204c3ff24992a63af\' ct_options=\'{\"ct_id\":225,\"ct_parent\":223,\"selector\":\"text_block-225-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--500\",\"1\":\"acss-typography__body\"},\"ct_depth\":3}\']Text m Medium<br>[/ct_text_block][ct_text_block ct_sign_sha256=\'4b8a36358359b364176fb489b7cc48e37eca0d8657135fb639a2458782b50deb\' ct_options=\'{\"ct_id\":226,\"ct_parent\":223,\"selector\":\"text_block-226-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--700\",\"1\":\"acss-typography__body\"},\"ct_depth\":3}\']Text m Bold<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'ae329e62d55ab1e78ac3d7d97ca283547c65806b38df9950d969f353f8c348e3\' ct_options=\'{\"ct_id\":227,\"ct_parent\":179,\"selector\":\"div_block-227-25\",\"nicename\":\"small text\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'f30c0b672f5929c4627498f18fc11cdd0e82f686b6e4b776e4124a9d069cd177\' ct_options=\'{\"ct_id\":228,\"ct_parent\":227,\"selector\":\"text_block-228-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']SMALL TEXT (--s)<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'6c00a31bcd86f8486aa905c882dfeca26842c307ce7a5a65a7c0573629742774\' ct_options=\'{\"ct_id\":229,\"ct_parent\":179,\"selector\":\"div_block-229-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'b7c92e799be0a40fae4ae7b23e6d028718acbd9250194283c2f2b8cd9e994841\' ct_options=\'{\"ct_id\":230,\"ct_parent\":229,\"selector\":\"text_block-230-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--400\",\"1\":\"text--s\",\"2\":\"acss-typography__body\"},\"ct_depth\":3}\']Text s Regular<br>[/ct_text_block][ct_text_block ct_sign_sha256=\'ec9b690c28dd238e8601a8caec4232408783ec008fb0bceece6b97006ad4c707\' ct_options=\'{\"ct_id\":231,\"ct_parent\":229,\"selector\":\"text_block-231-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--500\",\"1\":\"text--s\",\"2\":\"acss-typography__body\"},\"ct_depth\":3}\']Text s Medium<br>[/ct_text_block][ct_text_block ct_sign_sha256=\'9e36fad3deea269999f24ddb25be06c8fb23bb8dc5eb281868bb2a0dab4ca74a\' ct_options=\'{\"ct_id\":232,\"ct_parent\":229,\"selector\":\"text_block-232-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--700\",\"1\":\"text--s\",\"2\":\"acss-typography__body\"},\"ct_depth\":3}\']Text s Bold<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'baf1a0df5a6616e603cab6ff59561d13b1dcfceeae26850da5edc2668e441658\' ct_options=\'{\"ct_id\":233,\"ct_parent\":179,\"selector\":\"div_block-233-25\",\"nicename\":\"xsmall text\",\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'bf6a6570420d4ba9f579eb51753f659e8bdf7cb69c0f325ef5cef2affcd4930a\' ct_options=\'{\"ct_id\":234,\"ct_parent\":233,\"selector\":\"text_block-234-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-typography__family-title\"},\"ct_depth\":3}\']XTRA SMALL TEXT (--xs)[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'ec528d548c75967d1520f63d79019e00033ca624c33d7e5985da4da1332a12df\' ct_options=\'{\"ct_id\":235,\"ct_parent\":179,\"selector\":\"div_block-235-25\",\"nicename\":\"Div (#394)\",\"classes\":{\"0\":\"grid--3\",\"1\":\"margin-top--m\",\"2\":\"gap--m\",\"3\":\"grid--l-1\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'26d70b0d4f2ac414ca09c6f0e369a42b38d09e309cf598cfbc67b58ff9606e21\' ct_options=\'{\"ct_id\":236,\"ct_parent\":235,\"selector\":\"text_block-236-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--400\",\"1\":\"text--xs\",\"2\":\"acss-typography__body\"},\"ct_depth\":3}\']Text xs Regular<br>[/ct_text_block][ct_text_block ct_sign_sha256=\'87a52744cc2f3a614823c702ed893a2a57d5330095276acb18411d794276b0d3\' ct_options=\'{\"ct_id\":237,\"ct_parent\":235,\"selector\":\"text_block-237-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--500\",\"1\":\"text--xs\",\"2\":\"acss-typography__body\"},\"ct_depth\":3}\']Text xs Medium<br>[/ct_text_block][ct_text_block ct_sign_sha256=\'c969b93f5f54af64ba7a0428642f204018306b561c141ca5d783a364703091ab\' ct_options=\'{\"ct_id\":238,\"ct_parent\":235,\"selector\":\"text_block-238-25\",\"nicename\":\"Text (#465)\",\"classes\":{\"0\":\"text--700\",\"1\":\"text--xs\",\"2\":\"acss-typography__body\"},\"ct_depth\":3}\']Text xs Bold<br>[/ct_text_block][/ct_div_block_2][ct_text_block ct_sign_sha256=\'2e8e907dfcec2aa34302eccf1cf442fc2191df412cd270b844231b64fdfc5372\' ct_options=\'{\"ct_id\":239,\"ct_parent\":179,\"selector\":\"text_block-239-25\",\"nicename\":\"Text (#386)\",\"classes\":{\"0\":\"acss-section__subtitle\"},\"ct_depth\":2}\']Examples[/ct_text_block][ct_div_block_2 ct_sign_sha256=\'e0ded7f52029654e28ab3906f1b6cb16c8ef4b2482d8d8d47f9e0724fa30470c\' ct_options=\'{\"ct_id\":240,\"ct_parent\":179,\"selector\":\"div_block-240-25\",\"nicename\":\"Div (#483)\",\"ct_depth\":2,\"classes\":{\"0\":\"acss-typography__family-title--container\"}}\'][ct_headline ct_sign_sha256=\'05a8f77dbc0aa3d726962c672478121376dc2baaf08a6a73cb000201ed9ceca6\' ct_options=\'{\"ct_id\":241,\"ct_parent\":240,\"selector\":\"headline-241-25\",\"nicename\":\"Heading (#485)\",\"ct_depth\":3}\']Heading 1 (H1)<br>[/ct_headline][ct_text_block ct_sign_sha256=\'6bbf8f3f1263aeed92c6eb5c0ba9b5b2a0c1dc77ab17ed55ba8ae0320501fb93\' ct_options=\'{\"ct_id\":242,\"ct_parent\":240,\"selector\":\"text_block-242-25\",\"original\":{\"margin-top-unit\":\" \",\"margin-top\":\"var(--space-s)\"},\"nicename\":\"Text (#486)\",\"classes\":{\"0\":\"text--l\"},\"ct_depth\":3}\']This is large text. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'b26573c5e1372e6aab5477b4ce9debd1d8703d149d97fa4e1c023f6b4a79f4f7\' ct_options=\'{\"ct_id\":243,\"ct_parent\":179,\"selector\":\"div_block-243-25\",\"nicename\":\"Div (#483)\",\"ct_depth\":2,\"classes\":{\"0\":\"acss-typography__family-title--container\"}}\'][ct_headline ct_sign_sha256=\'6514b3499156d97bbe04807060f5adff678704c2c6c1c4fea3108998934bd1d8\' ct_options=\'{\"ct_id\":244,\"ct_parent\":243,\"selector\":\"headline-244-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#485)\",\"ct_depth\":3}\']Heading 2 (H2)<br>[/ct_headline][ct_text_block ct_sign_sha256=\'8f3df578dd71f427b11aced44362ba6dbaddd8946621ad6ab4de387bf698f3c7\' ct_options=\'{\"ct_id\":245,\"ct_parent\":243,\"selector\":\"text_block-245-25\",\"original\":{\"margin-top-unit\":\" \",\"margin-top\":\"var(--space-s)\"},\"nicename\":\"Text (#486)\",\"classes\":{},\"ct_depth\":3}\']Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'1292ec149886ef8d5ac0ff400c06a1eee69a819dad48129b607974db74b37108\' ct_options=\'{\"ct_id\":246,\"ct_parent\":179,\"selector\":\"div_block-246-25\",\"nicename\":\"Div (#483)\",\"ct_depth\":2,\"classes\":{\"0\":\"acss-typography__family-title--container\"}}\'][ct_headline ct_sign_sha256=\'614598ba65bcda1ec70366136777e9a43b1e8c621028a987cc5f4f045404527a\' ct_options=\'{\"ct_id\":247,\"ct_parent\":246,\"selector\":\"headline-247-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#485)\",\"ct_depth\":3}\']Heading 3 (H3)<br>[/ct_headline][ct_text_block ct_sign_sha256=\'9cd085caaf2c26db9d55d4e4354b03321c2d93083d7c5fa4b88c2109891f63b0\' ct_options=\'{\"ct_id\":248,\"ct_parent\":246,\"selector\":\"text_block-248-25\",\"original\":{\"margin-top-unit\":\" \",\"margin-top\":\"var(--space-s)\"},\"nicename\":\"Text (#486)\",\"classes\":{},\"ct_depth\":3}\']Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'cfeda11b0fb517b8d0a437809efb90575d7f57f8d0849576ba3d9abb050c3054\' ct_options=\'{\"ct_id\":249,\"ct_parent\":179,\"selector\":\"div_block-249-25\",\"nicename\":\"Div (#483)\",\"ct_depth\":2,\"classes\":{\"0\":\"acss-typography__family-title--container\"}}\'][ct_headline ct_sign_sha256=\'92d7effee65621aca4f43a5270e15c26c28fd8dcaa4e159ebd422cf536708474\' ct_options=\'{\"ct_id\":250,\"ct_parent\":249,\"selector\":\"headline-250-25\",\"original\":{\"tag\":\"h4\",\"null-unit\":\" \"},\"nicename\":\"Heading (#485)\",\"ct_depth\":3}\']Heading 4 (H4)<br>[/ct_headline][ct_text_block ct_sign_sha256=\'bfdc25a07c4625860ef7112755e5c4db3df13adb3e7f4ae0dc4a2744570c9aad\' ct_options=\'{\"ct_id\":251,\"ct_parent\":249,\"selector\":\"text_block-251-25\",\"original\":{\"margin-top-unit\":\" \",\"margin-top\":\"var(--space-s)\"},\"nicename\":\"Text (#486)\",\"classes\":{\"0\":\"text--s\"},\"ct_depth\":3}\']Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'bccbec6a8c1eee8f3ca0e4ec606469c221acd0569be94cd7002491ab9cd41216\' ct_options=\'{\"ct_id\":252,\"ct_parent\":179,\"selector\":\"div_block-252-25\",\"nicename\":\"Div (#483)\",\"ct_depth\":2,\"classes\":{\"0\":\"acss-typography__family-title--container\"},\"activeselector\":\"acss-typography__family-title--container\"}\'][ct_headline ct_sign_sha256=\'f98b8499bb6324533668cdd22e7646ff4452a08c5c5909c2516e377836be317e\' ct_options=\'{\"ct_id\":253,\"ct_parent\":252,\"selector\":\"headline-253-25\",\"original\":{\"tag\":\"h5\"},\"nicename\":\"Heading (#485)\",\"ct_depth\":3}\']Heading 5 (H5)<br>[/ct_headline][ct_text_block ct_sign_sha256=\'f93effdf67f1f8f7e53f39e073ecf7262f9eb9920674e7a0456994dd17fcd638\' ct_options=\'{\"ct_id\":254,\"ct_parent\":252,\"selector\":\"text_block-254-25\",\"original\":{\"margin-top-unit\":\" \",\"margin-top\":\"var(--space-s)\"},\"nicename\":\"Text (#486)\",\"classes\":{\"0\":\"text--s\"},\"ct_depth\":3}\']Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'6ecf0059906ace1d6ed3d330be9fac5a8ed61b56f2b8b465e41fb4706f811ef4\' ct_options=\'{\"ct_id\":255,\"ct_parent\":179,\"selector\":\"div_block-255-25\",\"nicename\":\"Div (#483)\",\"ct_depth\":2,\"classes\":{\"0\":\"acss-typography__family-title--container\"}}\'][ct_headline ct_sign_sha256=\'9e5958aac3f375071666b4de7deb3f2229b91059a9d4f24005c339358fb52525\' ct_options=\'{\"ct_id\":256,\"ct_parent\":255,\"selector\":\"headline-256-25\",\"original\":{\"tag\":\"h6\"},\"nicename\":\"Heading (#485)\",\"ct_depth\":3}\']Heading 6 (H6)<br>[/ct_headline][ct_text_block ct_sign_sha256=\'08ca202fb85242fa7d55d7a23ec83fbfb518ce09116de805b9c92dfba65a756c\' ct_options=\'{\"ct_id\":257,\"ct_parent\":255,\"selector\":\"text_block-257-25\",\"original\":{\"margin-top-unit\":\" \",\"margin-top\":\"var(--space-s)\"},\"nicename\":\"Text (#486)\",\"classes\":{\"0\":\"text--xs\"},\"ct_depth\":3}\']Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.[/ct_text_block][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'aaae1151cdd69c726074159816fa51de1835b36a5c258401fdf533a49476ab25\' ct_options=\'{\"ct_id\":258,\"ct_parent\":0,\"selector\":\"section-258-25\",\"nicename\":\"Buttons\",\"activeselector\":\"acss-style-guide-section\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'59ebe8c9d26c9d7cef0ef9b29672a2dc0b028d8f3db7d1d03b4adb77f16a83ed\' ct_options=\'{\"ct_id\":259,\"ct_parent\":258,\"selector\":\"div_block-259-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'928778b6e513000bce78d4fc09e806899092331fc2ae8e2890398b549a01e79e\' ct_options=\'{\"ct_id\":260,\"ct_parent\":259,\"selector\":\"headline-260-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Buttons[/ct_headline][ct_text_block ct_sign_sha256=\'3e7045e4ee7fafaca42a618dff57bca867fb6d98a694701374c0f8b2e71d0ae1\' ct_options=\'{\"ct_id\":261,\"ct_parent\":259,\"selector\":\"text_block-261-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']Solid and outline buttons are available across all color sets including black and white.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'5624e0c1068a444c6402c108243a94488a14477d49b5674bec023199ba920cb5\' ct_options=\'{\"ct_id\":262,\"ct_parent\":258,\"selector\":\"div_block-262-25\",\"nicename\":\"buttons container\",\"classes\":{\"0\":\"acss-buttons__container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'d194e5b7f23988ce893f3d56e85c309ea96bb784ea6333400ce9699d301a0583\' ct_options=\'{\"ct_id\":263,\"ct_parent\":262,\"selector\":\"text_block-263-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-buttons__title\"},\"ct_depth\":3}\']BUTTONS ON LIGHT BACKGROUND<br>[/ct_text_block][ct_div_block_3 ct_sign_sha256=\'9a4c432706b7178aa081c15604d14fd2631eb3f7f2dc8a7ac44b0d897f7ab59b\' ct_options=\'{\"ct_id\":264,\"ct_parent\":262,\"selector\":\"div_block-264-25\",\"original\":{\"width-unit\":\" \",\"width\":\"fit-content\"},\"nicename\":\"Div (#593)\",\"classes\":{\"0\":\"gap--s\",\"1\":\"margin-top--m\",\"2\":\"grid--l-1\",\"3\":\"grid--4\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'132fffc461fa2d87ebc49f7b22c39ae32673d2e44f2138742e65f15949003166\' ct_options=\'{\"ct_id\":265,\"ct_parent\":264,\"selector\":\"link_button-265-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--primary\"},\"ct_depth\":4}\']Primary<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'5816e372f01926c413e477b47e5297644a8c9f38ee8bd7eebb3855663e1dbbeb\' ct_options=\'{\"ct_id\":266,\"ct_parent\":264,\"selector\":\"link_button-266-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--outline\"},\"ct_depth\":4}\']Primary Outline<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'513b23688c7e1567107680f3fc714c8c9a423337e1e78f39f7d02cfe1ab0e2cf\' ct_options=\'{\"ct_id\":267,\"ct_parent\":264,\"selector\":\"link_button-267-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--secondary\"},\"ct_depth\":4}\']Secondary[/ct_link_button][ct_link_button ct_sign_sha256=\'6789d016218f436d6b097e7f0bd5d4b327680ea274c0f18edfda6a0675a93d1f\' ct_options=\'{\"ct_id\":268,\"ct_parent\":264,\"selector\":\"link_button-268-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--outline\",\"1\":\"btn--secondary\"},\"ct_depth\":4}\']Secondary Outline<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'163c968861a1d3a922e1c62a97024d8f996c4958a36086bc00fe180148d90336\' ct_options=\'{\"ct_id\":269,\"ct_parent\":264,\"selector\":\"link_button-269-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--accent\"},\"ct_depth\":4,\"activeselector\":\"btn--accent\",\"original\":{\"button-style\":\"1\"}}\']Accent<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'b95e8142711b51884e93def8b544c35de846d785f6ab087e2c5bce58aa1c6439\' ct_options=\'{\"ct_id\":270,\"ct_parent\":264,\"selector\":\"link_button-270-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--outline\",\"1\":\"btn--accent\"},\"ct_depth\":4}\']Accent Outline[/ct_link_button][ct_link_button ct_sign_sha256=\'e5b3bd6d9097008aa83e2145db7bd3631ffb7ffdc5e1b7858a65c0670fdd84c6\' ct_options=\'{\"ct_id\":271,\"ct_parent\":264,\"selector\":\"link_button-271-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--base\"},\"ct_depth\":4}\']Base<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'85ed579a3897bcbe0a8a7cebc1d2fd2e035f7e61e3da75cd943ed0d7249d355f\' ct_options=\'{\"ct_id\":272,\"ct_parent\":264,\"selector\":\"link_button-272-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--outline\",\"1\":\"btn--base\"},\"ct_depth\":4}\']Base Outline<br>[/ct_link_button][/ct_div_block_3][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'bbd8609bf4210c836a33d4ec447dfb06ec649670fde94c3574bafdf458e66f4c\' ct_options=\'{\"ct_id\":273,\"ct_parent\":258,\"selector\":\"div_block-273-25\",\"nicename\":\"buttons container\",\"classes\":{\"0\":\"bg--base-dark\",\"1\":\"acss-buttons__container\"},\"ct_depth\":2,\"original\":{\"width-unit\":\"auto\",\"width\":\"\"},\"activeselector\":\"bg--base-dark\"}\'][ct_text_block ct_sign_sha256=\'06af93d9b399f79f4c86e1f3d04c16eb1923ef4462e77c21b75a68f3059926c4\' ct_options=\'{\"ct_id\":274,\"ct_parent\":273,\"selector\":\"text_block-274-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"acss-buttons__title-white\"},\"ct_depth\":3}\']BUTTONS ON DARK BACKGROUND<br>[/ct_text_block][ct_div_block_3 ct_sign_sha256=\'c6c26f01515286a05d1c653b37d007e8368b55b48258350899de87de90ed332b\' ct_options=\'{\"ct_id\":275,\"ct_parent\":273,\"selector\":\"div_block-275-25\",\"original\":{\"width-unit\":\" \",\"width\":\"fit-content\"},\"nicename\":\"Div (#593)\",\"classes\":{\"0\":\"gap--s\",\"1\":\"margin-top--m\",\"2\":\"grid--l-1\",\"3\":\"grid--4\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'3f5f63e27e85184b0dc21763f3d3efbf800f3defc63396c4c72cce6f7a1402bd\' ct_options=\'{\"ct_id\":276,\"ct_parent\":275,\"selector\":\"link_button-276-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--primary\"},\"ct_depth\":4}\']Primary<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'98a894cde378443f11cafb72b7322caf9e6c2833bd334981482193ed70a4d628\' ct_options=\'{\"ct_id\":277,\"ct_parent\":275,\"selector\":\"link_button-277-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--outline\"},\"ct_depth\":4}\']Primary Outline<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'848e3d8f619edbfb014bc0654c47cca89394ee73ca64a9f1d5a470e409901361\' ct_options=\'{\"ct_id\":278,\"ct_parent\":275,\"selector\":\"link_button-278-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--secondary\"},\"ct_depth\":4}\']Secondary[/ct_link_button][ct_link_button ct_sign_sha256=\'ae28af8e8dd6f505632278ad94e19161b1bb7f5212d432e8d2067f73db856c25\' ct_options=\'{\"ct_id\":279,\"ct_parent\":275,\"selector\":\"link_button-279-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--outline\",\"1\":\"btn--secondary\"},\"ct_depth\":4}\']Secondary Outline<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'6d6284ea79cfec0b6905e972f616682a8fc3a9f8f8455084423539e6ed148088\' ct_options=\'{\"ct_id\":280,\"ct_parent\":275,\"selector\":\"link_button-280-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--accent\"},\"ct_depth\":4}\']Accent<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'dc3c59fbc18db49933dda93b123172d9e59dc9bf8fe5cf95ab23113c1c1352a5\' ct_options=\'{\"ct_id\":281,\"ct_parent\":275,\"selector\":\"link_button-281-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--outline\",\"1\":\"btn--accent\"},\"ct_depth\":4}\']Accent Outline[/ct_link_button][ct_link_button ct_sign_sha256=\'1e05b6712e4f5a8dc039e87afa2786713c5b1d44cd75715be1a6c84684157ce7\' ct_options=\'{\"ct_id\":282,\"ct_parent\":275,\"selector\":\"link_button-282-25\",\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--white\"},\"ct_depth\":4}\']White<br>[/ct_link_button][ct_link_button ct_sign_sha256=\'f9a28555591248bf0eaefbdc5450cafad4c4ddd7fb91d3a610c91d6c787a531a\' ct_options=\'{\"ct_id\":283,\"ct_parent\":275,\"selector\":\"link_button-283-25\",\"original\":{\"margin-left-unit\":\"rem\"},\"nicename\":\"Button (#590)\",\"classes\":{\"0\":\"btn--outline\",\"1\":\"btn--white\"},\"ct_depth\":4}\']White Outline<br>[/ct_link_button][/ct_div_block_3][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'d27d7ebbe57b4978024077d479fb8a0738bb16f32445b7a06fdc10f5b083d32a\' ct_options=\'{\"ct_id\":284,\"ct_parent\":258,\"selector\":\"div_block-284-25\",\"nicename\":\"buttons container\",\"classes\":{\"0\":\"acss-buttons__container\"},\"ct_depth\":2}\'][ct_text_block ct_sign_sha256=\'fbcd81bf07b52b6439025497b37607a832d6385184a879869f80f0e04cdc9459\' ct_options=\'{\"ct_id\":285,\"ct_parent\":284,\"selector\":\"text_block-285-25\",\"nicename\":\"Text (#393)\",\"classes\":{\"0\":\"margin-bottom--s\",\"1\":\"acss-buttons__title\"},\"ct_depth\":3}\']BUTTON SCALE<br>[/ct_text_block][ct_div_block_3 ct_sign_sha256=\'c2e9afb4f5be984bb4a0ab34b0ac889bae1bc781267bfebfec4530ec226fc3eb\' ct_options=\'{\"ct_id\":286,\"ct_parent\":284,\"selector\":\"div_block-286-25\",\"nicename\":\"Div (#635)\",\"classes\":{\"0\":\"acss-button-scale__wrapper\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'57a85657dca35c4668f94d9a5da6a1ab6cbd731ef5ce3c53810f832ec9d90d89\' ct_options=\'{\"ct_id\":287,\"ct_parent\":286,\"selector\":\"link_button-287-25\",\"nicename\":\"Button (#636)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--xs\"},\"ct_depth\":4,\"activeselector\":\"btn--xs\"}\']Button XS[/ct_link_button][ct_text_block ct_sign_sha256=\'bef96ad2ce3466f03dcc2da5ef4da07b9295301a55988ac5d4022df5af6208c3\' ct_options=\'{\"ct_id\":288,\"ct_parent\":286,\"selector\":\"text_block-288-25\",\"original\":{\"margin-top-unit\":\"rem\",\"margin-top\":\"1\",\"color\":\"var(--shade-medium)\",\"font-size-unit\":\" \",\"font-size\":\"var(--text-s)\"},\"nicename\":\"Text (#637)\",\"ct_depth\":4}\']btn--primary / btn--xs[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'d4e8e267ae3172ad3ec4459242b3bc8f410f21a00651fef8178f35c424b94193\' ct_options=\'{\"ct_id\":289,\"ct_parent\":284,\"selector\":\"div_block-289-25\",\"nicename\":\"Div (#635)\",\"classes\":{\"0\":\"acss-button-scale__wrapper\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'9e60258144af6bc15d002e638f430bbacaabb17852ae047718ca2ce0aa04c909\' ct_options=\'{\"ct_id\":290,\"ct_parent\":289,\"selector\":\"link_button-290-25\",\"nicename\":\"Button (#636)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--s\"},\"ct_depth\":4,\"activeselector\":\"btn--primary\"}\']Button S[/ct_link_button][ct_text_block ct_sign_sha256=\'33417c51e1f926d89874b6c3ab9e4d609c7e08abfb28df25ffa50ef21ec0485f\' ct_options=\'{\"ct_id\":291,\"ct_parent\":289,\"selector\":\"text_block-291-25\",\"original\":{\"margin-top-unit\":\"rem\",\"margin-top\":\"1\",\"color\":\"var(--shade-medium)\",\"font-size-unit\":\" \",\"font-size\":\"var(--text-s)\"},\"nicename\":\"Text (#637)\",\"ct_depth\":4}\']btn--primary / btn--s[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'57b5535c50924b3a0c50cdd9569b9b0c7cd78e279b63da2a214f1f434b7c58eb\' ct_options=\'{\"ct_id\":292,\"ct_parent\":284,\"selector\":\"div_block-292-25\",\"nicename\":\"Div (#635)\",\"classes\":{\"0\":\"acss-button-scale__wrapper\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'5b101f8cef70d1e8407897901bcecac3c834c753ce8847e5ae6fb1b442158c47\' ct_options=\'{\"ct_id\":293,\"ct_parent\":292,\"selector\":\"link_button-293-25\",\"nicename\":\"Button (#636)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--m\"},\"ct_depth\":4}\']Button M[/ct_link_button][ct_text_block ct_sign_sha256=\'00fd342f3a2b5cd688fb88c0895caadb166b41b1d5bb5c2561d11c8eb02b3d79\' ct_options=\'{\"ct_id\":294,\"ct_parent\":292,\"selector\":\"text_block-294-25\",\"original\":{\"margin-top-unit\":\"rem\",\"margin-top\":\"1\",\"color\":\"var(--shade-medium)\",\"font-size-unit\":\" \",\"font-size\":\"var(--text-s)\"},\"nicename\":\"Text (#637)\",\"ct_depth\":4}\']btn--primary / btn--m[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'6e46e25b68728fabcc0239ea3530505aef9133c76bef490e3978ecf1a45a1249\' ct_options=\'{\"ct_id\":295,\"ct_parent\":284,\"selector\":\"div_block-295-25\",\"nicename\":\"Div (#635)\",\"classes\":{\"0\":\"acss-button-scale__wrapper\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'684032ed477db4e5886627d3870863256df68fcdbd29d00b402f1b919b657256\' ct_options=\'{\"ct_id\":296,\"ct_parent\":295,\"selector\":\"link_button-296-25\",\"nicename\":\"Button (#636)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--l\"},\"ct_depth\":4}\']Button L[/ct_link_button][ct_text_block ct_sign_sha256=\'b4235756be4372fae2dbd73cb13d406ae02988bf1c875553695cf85f87301eea\' ct_options=\'{\"ct_id\":297,\"ct_parent\":295,\"selector\":\"text_block-297-25\",\"original\":{\"margin-top-unit\":\"rem\",\"margin-top\":\"1\",\"color\":\"var(--shade-medium)\",\"font-size-unit\":\" \",\"font-size\":\"var(--text-s)\"},\"nicename\":\"Text (#637)\",\"ct_depth\":4}\']btn--primary / btn--l[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'fca693daecaab8abe08d1ee1d354498d0a7d535e78b8891c6068d7ea776473fd\' ct_options=\'{\"ct_id\":298,\"ct_parent\":284,\"selector\":\"div_block-298-25\",\"nicename\":\"Div (#635)\",\"classes\":{\"0\":\"acss-button-scale__wrapper\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'f8e596896060f244503b2a6d80620d5e3a0a5c07e89189c862663497c2cc77eb\' ct_options=\'{\"ct_id\":299,\"ct_parent\":298,\"selector\":\"link_button-299-25\",\"nicename\":\"Button (#636)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--xl\"},\"ct_depth\":4}\']Button XL[/ct_link_button][ct_text_block ct_sign_sha256=\'35b41367f440f68b2b8587d1db632a03cda5fcf76f1e1ddbbc1bc5d79a7e5e93\' ct_options=\'{\"ct_id\":300,\"ct_parent\":298,\"selector\":\"text_block-300-25\",\"original\":{\"margin-top-unit\":\"rem\",\"margin-top\":\"1\",\"color\":\"var(--shade-medium)\",\"font-size-unit\":\" \",\"font-size\":\"var(--text-s)\"},\"nicename\":\"Text (#637)\",\"ct_depth\":4}\']btn--primary / btn--xl[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'7685751e72d8e33a9125f6a2102aa37373d36de6b733e34d2d639ff516d5633a\' ct_options=\'{\"ct_id\":301,\"ct_parent\":284,\"selector\":\"div_block-301-25\",\"nicename\":\"Div (#635)\",\"classes\":{\"0\":\"acss-button-scale__wrapper\"},\"ct_depth\":3}\'][ct_link_button ct_sign_sha256=\'56e6f6afd3b38c11ed40288dd22feb2ac04051f7bc1dadb11cd57c203c90989e\' ct_options=\'{\"ct_id\":302,\"ct_parent\":301,\"selector\":\"link_button-302-25\",\"nicename\":\"Button (#636)\",\"classes\":{\"0\":\"btn--primary\",\"1\":\"btn--xxl\"},\"ct_depth\":4}\']Button XXL[/ct_link_button][ct_text_block ct_sign_sha256=\'a8a3bfe19aab2f0cd34f8aa9f0f4c785f520251ad6b8733699d02d6c64f19c60\' ct_options=\'{\"ct_id\":303,\"ct_parent\":301,\"selector\":\"text_block-303-25\",\"original\":{\"margin-top-unit\":\"rem\",\"margin-top\":\"1\",\"color\":\"var(--shade-medium)\",\"font-size-unit\":\" \",\"font-size\":\"var(--text-s)\"},\"nicename\":\"Text (#637)\",\"ct_depth\":4}\']btn--primary / btn--xxl[/ct_text_block][/ct_div_block_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'d14ac5906683218c2a6d6a6051666f253dab1922c138516bf303e5c9bde8d744\' ct_options=\'{\"ct_id\":304,\"ct_parent\":0,\"selector\":\"section-304-25\",\"nicename\":\"Widths\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":\"acss-style-guide-section\",\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'80fcb0657c3dda25f451a6922fb19bb88ea1861c94de386a5349210e94214ee9\' ct_options=\'{\"ct_id\":305,\"ct_parent\":304,\"selector\":\"div_block-305-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'75b6c7ab997be5af078dcbf162418dc0b3cf195f01cc8e7f1f961292800b212e\' ct_options=\'{\"ct_id\":306,\"ct_parent\":305,\"selector\":\"headline-306-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Widths[/ct_headline][ct_text_block ct_sign_sha256=\'c2872493a4e83047e2deaf9be75ce50d8eb69cabc6ebf4cae0a3964b61c1d7dc\' ct_options=\'{\"ct_id\":307,\"ct_parent\":305,\"selector\":\"text_block-307-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']There are six values you can use to control element width. They\'re automatically responsive.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'a40beffbc9d27b807771f3a6529041868e8e304d8f153bf6e56e0c15aa2367e1\' ct_options=\'{\"ct_id\":308,\"ct_parent\":304,\"selector\":\"div_block-308-25\",\"nicename\":\"Div (#716)\",\"classes\":{\"0\":\"acss-widths__wrapper\"},\"ct_depth\":2}\'][ct_div_block_3 ct_sign_sha256=\'fc5e8c01ba54f0c14d4ee631dc87504a5de05500b2aaf35a0624a1fecdff5a14\' ct_options=\'{\"ct_id\":309,\"ct_parent\":308,\"selector\":\"div_block-309-25\",\"original\":{\"width-unit\":\"%\",\"width\":\"100\",\"max-width-unit\":\" \",\"max-width\":\"var(--width-xs)\",\"padding-right\":\"0\"},\"nicename\":\"Div (#717)\",\"classes\":{\"0\":\"acss-width__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'1bc090255d80e169f8ed16f5b0d65283157389ac2ec9740d9b9889781758f0a1\' ct_options=\'{\"ct_id\":310,\"ct_parent\":309,\"selector\":\"text_block-310-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-width__bar-label\"},\"ct_depth\":4}\']--width-xs<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'b9def382a7b4b90e76391d41878e5124ee9ba7662d21f3f42008e3cf981ac4b6\' ct_options=\'{\"ct_id\":311,\"ct_parent\":308,\"selector\":\"div_block-311-25\",\"original\":{\"width-unit\":\"%\",\"width\":\"100\",\"max-width-unit\":\" \",\"max-width\":\"var(--width-s)\"},\"nicename\":\"Div (#717)\",\"classes\":{\"0\":\"acss-width__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'a7798419e0099c24c0a99e25fc8e9e10592dedee7c651abfed0e3dae5f6830a4\' ct_options=\'{\"ct_id\":312,\"ct_parent\":311,\"selector\":\"text_block-312-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-width__bar-label\"},\"ct_depth\":4}\']--width-s[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'5d05f8c2602df76727b9125978684549c3de06ffb5d040ad57803ceb8ce4fbd5\' ct_options=\'{\"ct_id\":313,\"ct_parent\":308,\"selector\":\"div_block-313-25\",\"original\":{\"width-unit\":\"%\",\"width\":\"100\",\"max-width-unit\":\" \",\"max-width\":\"var(--width-m)\"},\"nicename\":\"Div (#717)\",\"classes\":{\"0\":\"acss-width__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'67ca4bc7940f6beeae902a032a3faed5b06313029a7922743b0b0e41eed59b13\' ct_options=\'{\"ct_id\":314,\"ct_parent\":313,\"selector\":\"text_block-314-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-width__bar-label\"},\"ct_depth\":4}\']--width-m[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'7ad7cc5d69620433e376461cd66196d6b8e842e4c5fe4cfe5b575c98a287353b\' ct_options=\'{\"ct_id\":315,\"ct_parent\":308,\"selector\":\"div_block-315-25\",\"original\":{\"width-unit\":\"%\",\"width\":\"100\",\"max-width-unit\":\" \",\"max-width\":\"var(--width-l)\"},\"nicename\":\"Div (#717)\",\"classes\":{\"0\":\"acss-width__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'c8f66753cab3bc641ebcd40a6ea4589b96e5ff0104526c169ea6eaf3de2284db\' ct_options=\'{\"ct_id\":316,\"ct_parent\":315,\"selector\":\"text_block-316-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-width__bar-label\"},\"ct_depth\":4}\']--width-l[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'b57b2cd579b9926d3215f14844311af2907613db50d3f731a3f7fe885261f2ee\' ct_options=\'{\"ct_id\":317,\"ct_parent\":308,\"selector\":\"div_block-317-25\",\"original\":{\"width-unit\":\"%\",\"max-width-unit\":\" \",\"max-width\":\"var(--width-xl)\",\"width\":\"100\"},\"nicename\":\"Div (#717)\",\"classes\":{\"0\":\"acss-width__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'813e22999c6418097425288afb2afe25c43934a4afa6b6eeeec87932cdc2f5c2\' ct_options=\'{\"ct_id\":318,\"ct_parent\":317,\"selector\":\"text_block-318-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-width__bar-label\"},\"ct_depth\":4}\']--width-xl[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'005c4625e5e63d50bdc8b7c6cb9753f0be9a00b67171501106bd6b8f845bdd21\' ct_options=\'{\"ct_id\":319,\"ct_parent\":308,\"selector\":\"div_block-319-25\",\"original\":{\"max-width-unit\":\" \",\"width-unit\":\"%\",\"max-width\":\"var(--width-xxl)\",\"width\":\"100\"},\"nicename\":\"Div (#717)\",\"classes\":{\"0\":\"acss-width__bar\"},\"ct_depth\":3,\"activeselector\":\"acss-width__bar\"}\'][ct_text_block ct_sign_sha256=\'95efc73c24acff401f10bcd5cf3d53b470bea6ce85db3f396b540bcf2d4d3436\' ct_options=\'{\"ct_id\":320,\"ct_parent\":319,\"selector\":\"text_block-320-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-width__bar-label\"},\"ct_depth\":4}\']--width-xxl[/ct_text_block][/ct_div_block_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'16d67a1d2dc42ca20f47fc9f82a4d0838db84cf81db7ab9decbf22fb9b29756c\' ct_options=\'{\"ct_id\":321,\"ct_parent\":0,\"selector\":\"section-321-25\",\"nicename\":\"Section Padding\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":\"acss-style-guide-section\",\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'8398694eced102539e33e7440f7b22f8ac8e00ca1e158c4ebf28d47f8e0873d3\' ct_options=\'{\"ct_id\":322,\"ct_parent\":321,\"selector\":\"div_block-322-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'b76373bcdf4ba7a03b1bd85af0c1f07a27a9c563e19b6bc0d17f5fa65a4151e4\' ct_options=\'{\"ct_id\":323,\"ct_parent\":322,\"selector\":\"headline-323-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Section Padding<br>[/ct_headline][ct_text_block ct_sign_sha256=\'0c36117f8718b6c6a6b0c7044e4f2e8f976e17000cb79918f9a5388eeaf73c55\' ct_options=\'{\"ct_id\":324,\"ct_parent\":322,\"selector\":\"text_block-324-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']Padding for sections is responsive and based on a multiplier of the core spacing system.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'1080c87c9f971ad7efc107098d420910e3ecc73cfab546b8cd22592c106346f1\' ct_options=\'{\"ct_id\":325,\"ct_parent\":321,\"selector\":\"div_block-325-25\",\"nicename\":\"Div (#748)\",\"classes\":{\"0\":\"acss-pad-section__wrapper\"},\"ct_depth\":2}\'][ct_div_block_3 ct_sign_sha256=\'f402d546229cff8d94cf66b99c2e1cbe5e1d0c595c27461cca8adf154c0489ec\' ct_options=\'{\"ct_id\":326,\"ct_parent\":325,\"selector\":\"div_block-326-25\",\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'0ef5c896272009f39ae2db62d30f330f74d0465ea328c71ae523344fb05193eb\' ct_options=\'{\"ct_id\":327,\"ct_parent\":326,\"selector\":\"text_block-327-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']None[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'5e7cf6bb996ce0c760cbb313dbc58672cbab53a2a76f5eade9e1b6f31cd39e87\' ct_options=\'{\"ct_id\":328,\"ct_parent\":325,\"selector\":\"div_block-328-25\",\"original\":{\"height-unit\":\" \",\"height\":\"var(--section-space-xs)\"},\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'b82ab0eac00de5d62fe93076e6068def14384b4c9c9fddc7758a40c57428bb7e\' ct_options=\'{\"ct_id\":329,\"ct_parent\":328,\"selector\":\"text_block-329-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']XS[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'31d93b059c9356678f93b76d23129ca615017be29f1a4f93b711a283f8a4aa93\' ct_options=\'{\"ct_id\":330,\"ct_parent\":325,\"selector\":\"div_block-330-25\",\"original\":{\"height-unit\":\" \",\"height\":\"var(--section-space-s)\"},\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'1cde592210e91584fe0fd664270fcd1eca4ef2cf349a9be371f858796be1c00c\' ct_options=\'{\"ct_id\":331,\"ct_parent\":330,\"selector\":\"text_block-331-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']S[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'a82971298e352f11e48eb5e4e596d80c553d5d91587b9949b75cf467ef9dbc22\' ct_options=\'{\"ct_id\":332,\"ct_parent\":325,\"selector\":\"div_block-332-25\",\"original\":{\"height-unit\":\" \",\"height\":\"var(--section-space-m)\"},\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'f639c22b50b89ce7129267888bc0b246f60a41f8b73fe26e6c278363692ff492\' ct_options=\'{\"ct_id\":333,\"ct_parent\":332,\"selector\":\"text_block-333-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']M<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'579801bd0bbcfa52ea165ccac98d62ca8438862327f2d317a3bb75bbb1c23a68\' ct_options=\'{\"ct_id\":334,\"ct_parent\":325,\"selector\":\"div_block-334-25\",\"original\":{\"height-unit\":\" \",\"height\":\"var(--section-space-l)\"},\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'9ac42e2e1601da0999763ee29673c55f2145a61bf4047735ec2369b7634597a8\' ct_options=\'{\"ct_id\":335,\"ct_parent\":334,\"selector\":\"text_block-335-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']L<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'870cc65fd7552af600dbd2aecc83f5c4bb0703fe6cce38b639522522adebac59\' ct_options=\'{\"ct_id\":336,\"ct_parent\":325,\"selector\":\"div_block-336-25\",\"original\":{\"height-unit\":\" \",\"height\":\"var(--section-space-xl)\"},\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'304ed4e8e9a0603fccc8c9e4bf02624910dd80f102948177fb491c09ff2e236d\' ct_options=\'{\"ct_id\":337,\"ct_parent\":336,\"selector\":\"text_block-337-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']XL[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'a732413889de7f7bc68eab8cc25a9f1ee3e630c756345f1096bef05b0f37113f\' ct_options=\'{\"ct_id\":338,\"ct_parent\":325,\"selector\":\"div_block-338-25\",\"original\":{\"height-unit\":\" \",\"height\":\"var(--section-space-xxl)\"},\"nicename\":\"Div (#749)\",\"classes\":{\"0\":\"acss-pad-section__bar\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'fc06cc0892541cf06b63d7b900d0b8ce25895e93f649622bfc3bee6407aa006a\' ct_options=\'{\"ct_id\":339,\"ct_parent\":338,\"selector\":\"text_block-339-25\",\"nicename\":\"Text (#718)\",\"classes\":{\"0\":\"acss-pad-section__bar-label\"},\"ct_depth\":4}\']XXL[/ct_text_block][/ct_div_block_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'0e8c5310d429454cb96a179b94953219dd3eb1b3ef797302dc027438487ba152\' ct_options=\'{\"ct_id\":340,\"ct_parent\":0,\"selector\":\"section-340-25\",\"nicename\":\"Spacing\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":\"acss-style-guide-section\",\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'1e0f73f6e01733756168243508840b9f83144d5bca43375f37a27c80b7cfe69f\' ct_options=\'{\"ct_id\":341,\"ct_parent\":340,\"selector\":\"div_block-341-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'7297b61f5791e3ba419650c496d3bc84e81b7574830bf2fa4b2a7dbc0725009e\' ct_options=\'{\"ct_id\":342,\"ct_parent\":341,\"selector\":\"headline-342-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Spacing<br>[/ct_headline][ct_text_block ct_sign_sha256=\'f0e58d9cc88f77ffc49fe1d859f891ac8b039577ecc00c598b4d313c4584b4af\' ct_options=\'{\"ct_id\":343,\"ct_parent\":341,\"selector\":\"text_block-343-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']There are six levels of responsive spacing calculated from a base size and a mathematical scale. This ensures margin, padding, and gaps all match perfectly.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'79351ea2b135b3851daf92b8b6364127c02a943dc59d03ff62d711f322e0cca9\' ct_options=\'{\"ct_id\":344,\"ct_parent\":340,\"selector\":\"div_block-344-25\",\"nicename\":\"Div (#781)\",\"classes\":{\"0\":\"acss-spacing__wrapper\"},\"ct_depth\":2}\'][ct_div_block_3 ct_sign_sha256=\'637e827e552d794bd2de81f1bf4c14d7d5f483a96d3695799eaf43e393af79d1\' ct_options=\'{\"ct_id\":345,\"ct_parent\":344,\"selector\":\"div_block-345-25\",\"original\":{\"display\":\"flex\"},\"nicename\":\"Div (#782)\",\"classes\":{\"0\":\"acss-spacing__element\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'6b15a8d8de64ab0e39cac29fa549210308dbb64fa27f6f0ca4d8dff677cec09c\' ct_options=\'{\"ct_id\":346,\"ct_parent\":345,\"selector\":\"div_block-346-25\",\"original\":{\"width-unit\":\" \",\"width\":\"var(--space-xs)\"},\"nicename\":\"Div (#784)\",\"classes\":{\"0\":\"acss-spacing__line\"},\"ct_depth\":4}\'][/ct_div_block_4][ct_text_block ct_sign_sha256=\'8c0616b99efc129300c2616e7541cdb60c56023c228019e056c46c474cfc8332\' ct_options=\'{\"ct_id\":347,\"ct_parent\":345,\"selector\":\"text_block-347-25\",\"nicename\":\"Text (#786)\",\"classes\":{\"0\":\"acss-spacing__label\"},\"ct_depth\":4}\']--space-xs[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'efbb8d46f345bcd6d0649756718036e1a4c89e269668de3a626d9de782132816\' ct_options=\'{\"ct_id\":348,\"ct_parent\":344,\"selector\":\"div_block-348-25\",\"original\":{\"display\":\"flex\"},\"nicename\":\"Div (#782)\",\"classes\":{\"0\":\"acss-spacing__element\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'70de63ad7056e572fba2239f6ab27fa148cb8fe2ec8ee22b76c2d69c4c92d2ab\' ct_options=\'{\"ct_id\":349,\"ct_parent\":348,\"selector\":\"div_block-349-25\",\"original\":{\"width-unit\":\" \",\"width\":\"var(--space-s)\"},\"nicename\":\"Div (#784)\",\"classes\":{\"0\":\"acss-spacing__line\"},\"ct_depth\":4}\'][/ct_div_block_4][ct_text_block ct_sign_sha256=\'b9852a7257b4b791c7c3b7318fce3b6e9ea7c9c2ed42f0b02c97df778c47d0c0\' ct_options=\'{\"ct_id\":350,\"ct_parent\":348,\"selector\":\"text_block-350-25\",\"nicename\":\"Text (#786)\",\"classes\":{\"0\":\"acss-spacing__label\"},\"ct_depth\":4}\']--space-s[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'d4b4402fe9247eed1668838102fa55317a3b35971e1df67c432d8cf16ee4ad80\' ct_options=\'{\"ct_id\":351,\"ct_parent\":344,\"selector\":\"div_block-351-25\",\"original\":{\"display\":\"flex\"},\"nicename\":\"Div (#782)\",\"classes\":{\"0\":\"acss-spacing__element\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'3a05fe82d597a2e58b483f5736988c1f536620647fe2fb015da1304ddb0a10c9\' ct_options=\'{\"ct_id\":352,\"ct_parent\":351,\"selector\":\"div_block-352-25\",\"original\":{\"width-unit\":\" \",\"width\":\"var(--space-m)\"},\"nicename\":\"Div (#784)\",\"classes\":{\"0\":\"acss-spacing__line\"},\"ct_depth\":4}\'][/ct_div_block_4][ct_text_block ct_sign_sha256=\'5ca160d96afa772cf49170439d0d188c7397ac6b9676dea345f4f46dee4bf7c9\' ct_options=\'{\"ct_id\":353,\"ct_parent\":351,\"selector\":\"text_block-353-25\",\"nicename\":\"Text (#786)\",\"classes\":{\"0\":\"acss-spacing__label\"},\"ct_depth\":4}\']--space-m<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'e53eae59fba1c0bbee589e7c188755dc20584e30bfa58ce1d12eb41e997cabce\' ct_options=\'{\"ct_id\":354,\"ct_parent\":344,\"selector\":\"div_block-354-25\",\"original\":{\"display\":\"flex\"},\"nicename\":\"Div (#782)\",\"classes\":{\"0\":\"acss-spacing__element\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'450081c3c66a6a37a7905408abec156cb405cad77f73fd156b4c9bb83ef94d7d\' ct_options=\'{\"ct_id\":355,\"ct_parent\":354,\"selector\":\"div_block-355-25\",\"original\":{\"width-unit\":\" \",\"width\":\"var(--space-l)\"},\"nicename\":\"Div (#784)\",\"classes\":{\"0\":\"acss-spacing__line\"},\"ct_depth\":4}\'][/ct_div_block_4][ct_text_block ct_sign_sha256=\'1c9bbbe86c94ec919d0d8c331b0a86cd23ca995c3155688f729f0e87404855f5\' ct_options=\'{\"ct_id\":356,\"ct_parent\":354,\"selector\":\"text_block-356-25\",\"nicename\":\"Text (#786)\",\"classes\":{\"0\":\"acss-spacing__label\"},\"ct_depth\":4}\']--space-l[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'afd74d2c551e3048df8b1cefbd76fb95f03ad8652455dd9e6727387a1980914e\' ct_options=\'{\"ct_id\":357,\"ct_parent\":344,\"selector\":\"div_block-357-25\",\"original\":{\"display\":\"flex\"},\"nicename\":\"Div (#782)\",\"classes\":{\"0\":\"acss-spacing__element\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'179cce05de19275341fb0a202d74feccd56de02ffb6b2ef1d9d9a3fbe0f20f89\' ct_options=\'{\"ct_id\":358,\"ct_parent\":357,\"selector\":\"div_block-358-25\",\"original\":{\"width-unit\":\" \",\"width\":\"var(--space-xl)\"},\"nicename\":\"Div (#784)\",\"classes\":{\"0\":\"acss-spacing__line\"},\"ct_depth\":4}\'][/ct_div_block_4][ct_text_block ct_sign_sha256=\'17d9169853c9d3225ad8806f135eaa099a00333f76c0d9968b77dc9fa8d7a8c3\' ct_options=\'{\"ct_id\":359,\"ct_parent\":357,\"selector\":\"text_block-359-25\",\"nicename\":\"Text (#786)\",\"classes\":{\"0\":\"acss-spacing__label\"},\"ct_depth\":4}\']--space-xl<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'020565cdac2f7cf766b8783b76ce5839d09b817bb1a1041e75fe5b223ff3b1b8\' ct_options=\'{\"ct_id\":360,\"ct_parent\":344,\"selector\":\"div_block-360-25\",\"original\":{\"display\":\"flex\"},\"nicename\":\"Div (#782)\",\"classes\":{\"0\":\"acss-spacing__element\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'3ab623a84dff2aa24d7e0c9577c18105b5283f3d1b3e67f3aa5fa6c5f323fa8a\' ct_options=\'{\"ct_id\":361,\"ct_parent\":360,\"selector\":\"div_block-361-25\",\"original\":{\"width-unit\":\" \",\"width\":\"var(--space-xxl)\"},\"nicename\":\"Div (#784)\",\"classes\":{\"0\":\"acss-spacing__line\"},\"ct_depth\":4}\'][/ct_div_block_4][ct_text_block ct_sign_sha256=\'1bc6a20b1a0517e3b07e4b596aed72f026f14e6e85f4a0101a7057b821788605\' ct_options=\'{\"ct_id\":362,\"ct_parent\":360,\"selector\":\"text_block-362-25\",\"nicename\":\"Text (#786)\",\"classes\":{\"0\":\"acss-spacing__label\"},\"ct_depth\":4}\']--space-xxl<br>[/ct_text_block][/ct_div_block_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'9ecc4adabdf6324505b6122c675a914a76f0f61d70853620388107a03715e016\' ct_options=\'{\"ct_id\":363,\"ct_parent\":0,\"selector\":\"section-363-25\",\"nicename\":\"Padding\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":\"acss-style-guide-section\",\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'6bd78cff26a8990e71686dbe2be4af883cac49f0e028edadc51d4bf5694711df\' ct_options=\'{\"ct_id\":364,\"ct_parent\":363,\"selector\":\"div_block-364-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'9434098d40ecdc92e09472ad6b7581988a0de03169266782eb4ae28e67f8f076\' ct_options=\'{\"ct_id\":365,\"ct_parent\":364,\"selector\":\"headline-365-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Element Padding<br>[/ct_headline][ct_text_block ct_sign_sha256=\'8b7413f3c0460fdf5d3411bcb5311bbc12dd92844c1210317acfe40701d06dcc\' ct_options=\'{\"ct_id\":366,\"ct_parent\":364,\"selector\":\"text_block-366-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']Here are the six levels of spacing visualized as padding.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'2b16013538430dccbf8a7dca91688542f85d57f9fc8ce818b0efd798ac828d46\' ct_options=\'{\"ct_id\":367,\"ct_parent\":363,\"selector\":\"div_block-367-25\",\"nicename\":\"Div (#27)\",\"classes\":{\"0\":\"acss-padding__wrapper\"},\"ct_depth\":2}\'][ct_div_block_3 ct_sign_sha256=\'b7e5ef40f7f8796151dfae334f90ecb8a911c1c78b283f68d02bc333e8c5b53b\' ct_options=\'{\"ct_id\":368,\"ct_parent\":367,\"selector\":\"div_block-368-25\",\"original\":{\"grid-column-min-width\":\"0\",\"grid-row-gap-unit\":\" \",\"grid-row-gap\":\"var(--space-xs)\",\"grid-align-items\":\"start\",\"text-align\":\"left\",\"grid-justify-items\":\"left\"},\"nicename\":\"Div (#573)\",\"classes\":{\"0\":\"pad--xs\",\"1\":\"acss-padding__container\"},\"ct_depth\":3}\'][ct_headline ct_sign_sha256=\'ade36dbd4ff70c1ebd2fad28b959bb6b5c5a31f110786053feb48624f3b51ba1\' ct_options=\'{\"ct_id\":369,\"ct_parent\":368,\"selector\":\"headline-369-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#574)\",\"classes\":{\"0\":\"acss-padding__heading\"},\"ct_depth\":4}\']Card[/ct_headline][ct_text_block ct_sign_sha256=\'d5efb44b31b35bbd5e46c0bd3e8163ae14e491fa97c08db39a91173af154b9ff\' ct_options=\'{\"ct_id\":370,\"ct_parent\":368,\"selector\":\"text_block-370-25\",\"nicename\":\"Text (#576)\",\"classes\":{\"0\":\"acss-padding__text\"},\"ct_depth\":4}\']This is a card with XS padding. Its content is pretty close to the edges.<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'252fe4e0aa849f25c2ef0e8510e0a0ffc0e5a2020743095fc428d2678c68e9f3\' ct_options=\'{\"ct_id\":371,\"ct_parent\":367,\"selector\":\"div_block-371-25\",\"original\":{\"grid-column-min-width\":\"0\",\"grid-row-gap-unit\":\" \",\"grid-row-gap\":\"var(--space-xs)\",\"grid-align-items\":\"start\",\"text-align\":\"left\",\"grid-justify-items\":\"left\"},\"nicename\":\"Div (#573)\",\"classes\":{\"0\":\"pad--s\",\"1\":\"acss-padding__container\"},\"ct_depth\":3}\'][ct_headline ct_sign_sha256=\'34680250036fa4bd3ebd56c30268498a521c6b891b5c0b2a2dc804df0dc8251e\' ct_options=\'{\"ct_id\":372,\"ct_parent\":371,\"selector\":\"headline-372-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#574)\",\"classes\":{\"0\":\"acss-padding__heading\"},\"ct_depth\":4}\']Card[/ct_headline][ct_text_block ct_sign_sha256=\'b57e59d9c162798455c690b6cc5e3cf74b8b0b41ba6cb69c8930d99414773cf0\' ct_options=\'{\"ct_id\":373,\"ct_parent\":371,\"selector\":\"text_block-373-25\",\"nicename\":\"Text (#576)\",\"classes\":{\"0\":\"acss-padding__text\"},\"ct_depth\":4}\']This is a card with S padding. It has a little bit tighter padding.<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'f44522420b8d1aaa39c39e9fa913c6ed470d463975d08e8c19929c163feaddc8\' ct_options=\'{\"ct_id\":374,\"ct_parent\":367,\"selector\":\"div_block-374-25\",\"original\":{\"grid-column-min-width\":\"0\",\"grid-row-gap-unit\":\" \",\"grid-row-gap\":\"var(--space-xs)\",\"grid-align-items\":\"start\",\"text-align\":\"left\",\"grid-justify-items\":\"left\"},\"nicename\":\"Div (#573)\",\"classes\":{\"0\":\"pad--m\",\"1\":\"acss-padding__container\"},\"ct_depth\":3}\'][ct_headline ct_sign_sha256=\'2ce1ea22d39ca6622a2cbf1cf31cd400c0fc078eced778f66162863b761d2a59\' ct_options=\'{\"ct_id\":375,\"ct_parent\":374,\"selector\":\"headline-375-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#574)\",\"classes\":{\"0\":\"acss-padding__heading\"},\"ct_depth\":4}\']Card[/ct_headline][ct_text_block ct_sign_sha256=\'0477e9a8d41828f600933a8020417c814200169f97517072b940d077e5f1d93d\' ct_options=\'{\"ct_id\":376,\"ct_parent\":374,\"selector\":\"text_block-376-25\",\"nicename\":\"Text (#576)\",\"classes\":{\"0\":\"acss-padding__text\"},\"ct_depth\":4}\']This is a card with M padding. It has standard breathing room.<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'5265bae7b47d91a6ab0bea8520ad3008eddbb1242b8cd17a997fb8857372a5be\' ct_options=\'{\"ct_id\":377,\"ct_parent\":367,\"selector\":\"div_block-377-25\",\"original\":{\"grid-column-min-width\":\"0\",\"grid-row-gap-unit\":\" \",\"grid-row-gap\":\"var(--space-xs)\",\"grid-align-items\":\"start\",\"text-align\":\"left\",\"grid-justify-items\":\"left\"},\"nicename\":\"Div (#573)\",\"classes\":{\"0\":\"pad--l\",\"1\":\"acss-padding__container\"},\"ct_depth\":3}\'][ct_headline ct_sign_sha256=\'f6d727d34efbc53c897f365778bc8a2f3c5952b3192e46f8582fee741e647c13\' ct_options=\'{\"ct_id\":378,\"ct_parent\":377,\"selector\":\"headline-378-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#574)\",\"classes\":{\"0\":\"acss-padding__heading\"},\"ct_depth\":4}\']Card[/ct_headline][ct_text_block ct_sign_sha256=\'bc76487515a690dc31c8f58e12b4017c9dd207885cf8edf51102551d4d6663a4\' ct_options=\'{\"ct_id\":379,\"ct_parent\":377,\"selector\":\"text_block-379-25\",\"nicename\":\"Text (#576)\",\"classes\":{\"0\":\"acss-padding__text\"},\"ct_depth\":4}\']This is a card with L padding. It has extra breathing room.<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'b504ba850fb2329906cc64a7aa7c2af1eddb036742e6eb05dea44e0c11d18149\' ct_options=\'{\"ct_id\":380,\"ct_parent\":367,\"selector\":\"div_block-380-25\",\"original\":{\"grid-column-min-width\":\"0\",\"grid-row-gap-unit\":\" \",\"grid-row-gap\":\"var(--space-xs)\",\"grid-align-items\":\"start\",\"text-align\":\"left\",\"grid-justify-items\":\"left\"},\"nicename\":\"Div (#573)\",\"classes\":{\"0\":\"pad--m\",\"1\":\"pad--xl\",\"2\":\"acss-padding__container\"},\"ct_depth\":3}\'][ct_headline ct_sign_sha256=\'3023a369e457e8900ec55be27aa3fcd97cab800d2993afa38580dd53d967e23b\' ct_options=\'{\"ct_id\":381,\"ct_parent\":380,\"selector\":\"headline-381-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#574)\",\"classes\":{\"0\":\"acss-padding__heading\"},\"ct_depth\":4}\']Card[/ct_headline][ct_text_block ct_sign_sha256=\'454b90da4c2c51c0a3f7a9737995e8e2c322c845e0d9f6505e6e34f25bdedb83\' ct_options=\'{\"ct_id\":382,\"ct_parent\":380,\"selector\":\"text_block-382-25\",\"nicename\":\"Text (#576)\",\"classes\":{\"0\":\"acss-padding__text\"},\"ct_depth\":4}\']This is a card with XL padding. It has significant breathing room.<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'b700907c68919be3c27ae19b0f4cfa661dc8ed41f700ddd0975614891e629642\' ct_options=\'{\"ct_id\":383,\"ct_parent\":367,\"selector\":\"div_block-383-25\",\"original\":{\"grid-column-min-width\":\"0\",\"grid-row-gap-unit\":\" \",\"grid-row-gap\":\"var(--space-xs)\",\"grid-align-items\":\"start\",\"text-align\":\"left\",\"grid-justify-items\":\"left\"},\"nicename\":\"Div (#573)\",\"classes\":{\"0\":\"pad--m\",\"1\":\"pad--xxl\",\"2\":\"acss-padding__container\"},\"ct_depth\":3}\'][ct_headline ct_sign_sha256=\'b1ea6601ec25173188e88c21e5c6a410ad11450419cd29f1d4a410c5bfde0811\' ct_options=\'{\"ct_id\":384,\"ct_parent\":383,\"selector\":\"headline-384-25\",\"original\":{\"tag\":\"h3\"},\"nicename\":\"Heading (#574)\",\"classes\":{\"0\":\"acss-padding__heading\"},\"ct_depth\":4}\']Card[/ct_headline][ct_text_block ct_sign_sha256=\'701127b9b9dcbed91e4f50cf5100ca38f7483f2c2b7e60ff570e59ad89294846\' ct_options=\'{\"ct_id\":385,\"ct_parent\":383,\"selector\":\"text_block-385-25\",\"nicename\":\"Text (#576)\",\"classes\":{\"0\":\"acss-padding__text\"},\"ct_depth\":4}\']This is a card with XXL padding. Avoid using this in a confined space.<br>[/ct_text_block][/ct_div_block_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'cc54973e9a38c177a6b87903156fdd997deebd96e7ffcd4341f16850f549107d\' ct_options=\'{\"ct_id\":386,\"ct_parent\":0,\"selector\":\"section-386-25\",\"nicename\":\"Shadows\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"activeselector\":\"acss-style-guide-section\",\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'707882c31342fdbef470bf1409053158c5ef143460c0fcf2039118df00305436\' ct_options=\'{\"ct_id\":387,\"ct_parent\":386,\"selector\":\"div_block-387-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'ef56eb929451728cab96b2b6b2c186006878fbc936442f5187667c4678fb2462\' ct_options=\'{\"ct_id\":388,\"ct_parent\":387,\"selector\":\"headline-388-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Shadows<br>[/ct_headline][ct_text_block ct_sign_sha256=\'31ea7c9924bbdbbe3efa8c60738576d320454569ce396ab80e9582a300c229ee\' ct_options=\'{\"ct_id\":389,\"ct_parent\":387,\"selector\":\"text_block-389-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']There are three multi-layer box shadows to choose from.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'5b63c204194e247824fba90699281297e4173ad94a4b15ef5e9d51ce77eb48af\' ct_options=\'{\"ct_id\":390,\"ct_parent\":386,\"selector\":\"div_block-390-25\",\"nicename\":\"Shadow\",\"classes\":{},\"ct_depth\":2,\"original\":{\"tag\":\"section\",\"width-unit\":\"%\",\"width\":\"100\",\"custom-attributes\":{\"0\":{\"name\":\"aria-label\",\"value\":\"shadows\"}}}}\'][ct_div_block_3 ct_sign_sha256=\'1110c32b30fc1c88383719c7b4dec4338b9cbfa5756eff964be0ab6b8f2ccc2e\' ct_options=\'{\"ct_id\":391,\"ct_parent\":390,\"selector\":\"div_block-391-25\",\"nicename\":\"Div (#140)\",\"classes\":{\"0\":\"acss-shadow__wrapper\"},\"ct_depth\":3}\'][ct_div_block_4 ct_sign_sha256=\'9cf4da40360d39f5f0bfe0a0b19b5fe1c02b8ece27695998eac9358e0ca1c360\' ct_options=\'{\"ct_id\":392,\"ct_parent\":391,\"selector\":\"div_block-392-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"box-shadow--m\",\"1\":\"acss-box-shadow__box\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'e547a8878d90d743cdb0e2571246f41770851224626696f174a295619658e3a8\' ct_options=\'{\"ct_id\":393,\"ct_parent\":392,\"selector\":\"text_block-393-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":5}\']Box shadow M[/ct_text_block][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'c32a0d84c10bd8315d71a85af0b087667b6d037fa94a4ded4a9a0aa8ae482e26\' ct_options=\'{\"ct_id\":394,\"ct_parent\":391,\"selector\":\"div_block-394-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"box-shadow--l\",\"1\":\"acss-box-shadow__box\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'52672eb42286522eee0e41479ceb34b1ea09dfb3a32c5c694b6ef41ddcf9fbb7\' ct_options=\'{\"ct_id\":395,\"ct_parent\":394,\"selector\":\"text_block-395-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":5}\']Box shadow L<br>[/ct_text_block][/ct_div_block_4][ct_div_block_4 ct_sign_sha256=\'4900f8c94b9de7f05cc5535cb9ac7edd0b128633780056597530e3de64760648\' ct_options=\'{\"ct_id\":396,\"ct_parent\":391,\"selector\":\"div_block-396-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"box-shadow--xl\",\"1\":\"acss-box-shadow__box\"},\"ct_depth\":4}\'][ct_text_block ct_sign_sha256=\'5d376ab78c8021f07aacc311462be50c44dbac06bf760efcd4da18c2efcda7da\' ct_options=\'{\"ct_id\":397,\"ct_parent\":396,\"selector\":\"text_block-397-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":5}\']Box shadow XL<br>[/ct_text_block][/ct_div_block_4][/ct_div_block_3][/ct_div_block_2][/ct_section][ct_section ct_sign_sha256=\'27cbb4ce0873a4aec1e47dcfdca1746dc91d6acca0b131e99f786dc731b399c4\' ct_options=\'{\"ct_id\":398,\"ct_parent\":0,\"selector\":\"section-398-25\",\"nicename\":\"Border Radius\",\"activeselector\":\"acss-style-guide-section\",\"classes\":{\"0\":\"acss-style-guide-section\"},\"ct_depth\":1}\'][ct_div_block_2 ct_sign_sha256=\'a906e9f70049053137855cab02bae51d5b45f98cfe278ff7f9d4a941dbf8da1d\' ct_options=\'{\"ct_id\":399,\"ct_parent\":398,\"selector\":\"div_block-399-25\",\"nicename\":\"Div (#16)\",\"classes\":{\"0\":\"acss-section-intro__container\"},\"ct_depth\":2}\'][ct_headline ct_sign_sha256=\'cd4606a4fd48815662b71bd59aece9a8042e7bcf190a6307dbaf02cd3a2dafb1\' ct_options=\'{\"ct_id\":400,\"ct_parent\":399,\"selector\":\"headline-400-25\",\"original\":{\"tag\":\"h2\"},\"nicename\":\"Heading (#11)\",\"classes\":{\"0\":\"acss-section__title\"},\"ct_depth\":3}\']Border radius<br>[/ct_headline][ct_text_block ct_sign_sha256=\'5d0186b80c31afcf821e0a4a8424dc3402f65f76e4d33f4f9883c5aac50e09d7\' ct_options=\'{\"ct_id\":401,\"ct_parent\":399,\"selector\":\"text_block-401-25\",\"nicename\":\"Text (#15)\",\"classes\":{\"0\":\"acss-section__lede\"},\"ct_depth\":3}\']There are six border radius values calculated from a base size and a mathematical scale.<br>[/ct_text_block][/ct_div_block_2][ct_div_block_2 ct_sign_sha256=\'fdf3c25c17af4f113f0e866503092df584dab5711d7fbdd23c85c0f2d9b30c63\' ct_options=\'{\"ct_id\":402,\"ct_parent\":398,\"selector\":\"div_block-402-25\",\"nicename\":\"Div (#140)\",\"classes\":{\"0\":\"acss-radius__wrapper\"},\"ct_depth\":2}\'][ct_div_block_3 ct_sign_sha256=\'5469acf75d992ca1519113154f4056ed0f9af1401983559bc18496aa4fe03858\' ct_options=\'{\"ct_id\":403,\"ct_parent\":402,\"selector\":\"div_block-403-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"rounded--xs\",\"1\":\"acss-radius__box\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'184966bbfdf7f493036858c07fbfd8312a6db558a68f7a849188bd508106b190\' ct_options=\'{\"ct_id\":404,\"ct_parent\":403,\"selector\":\"text_block-404-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":4}\']Rounded XS<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'f088555172a3b63c504d2eada97026bdfb610f656e4643e6500d258d6613cd50\' ct_options=\'{\"ct_id\":405,\"ct_parent\":402,\"selector\":\"div_block-405-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"rounded--s\",\"1\":\"acss-radius__box\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'185fa0d529bc307d18017e8dfcba1b385e699d150b26c5ded71ee665ae4b834d\' ct_options=\'{\"ct_id\":406,\"ct_parent\":405,\"selector\":\"text_block-406-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":4}\']Rounded S<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'bc01eecf9391d7e8867f72d086f5a88907f688ded13e282a2a7f19214b028fb2\' ct_options=\'{\"ct_id\":407,\"ct_parent\":402,\"selector\":\"div_block-407-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"rounded--m\",\"1\":\"acss-radius__box\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'4535321b36a580c705bd0b42223733ea938dd1094b07b01088345b772bc57e7d\' ct_options=\'{\"ct_id\":408,\"ct_parent\":407,\"selector\":\"text_block-408-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":4}\']Rounded M<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'d3b6ff7ed4b3bf70653a7b3f0a2b9a72bb88735096609488256cb2352a32eaf6\' ct_options=\'{\"ct_id\":409,\"ct_parent\":402,\"selector\":\"div_block-409-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"rounded--l\",\"1\":\"acss-radius__box\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'7093effd1d1d75e0618d2ba8cc9dc33c0f95c97a263860ee5bf368ef12ecad7f\' ct_options=\'{\"ct_id\":410,\"ct_parent\":409,\"selector\":\"text_block-410-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":4}\']Rounded L<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'de04bc638f7a4b9e7c2c62b578eb5831e8661e44dc3a635b7b621a01df4e016e\' ct_options=\'{\"ct_id\":411,\"ct_parent\":402,\"selector\":\"div_block-411-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"rounded--xl\",\"1\":\"acss-radius__box\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'a620b7ed5e707647504449d27ed681fe6d68fb7195d3e8ae940dbd98a5488f13\' ct_options=\'{\"ct_id\":412,\"ct_parent\":411,\"selector\":\"text_block-412-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":4}\']Rounded XL<br>[/ct_text_block][/ct_div_block_3][ct_div_block_3 ct_sign_sha256=\'32d5fb9163a7a267b959dd079325433b646c971348e86dc4bd2abf42de5b20f1\' ct_options=\'{\"ct_id\":413,\"ct_parent\":402,\"selector\":\"div_block-413-25\",\"nicename\":\"Div (#141)\",\"classes\":{\"0\":\"rounded--xxl\",\"1\":\"acss-radius__box\"},\"ct_depth\":3}\'][ct_text_block ct_sign_sha256=\'15ca94bf5aaf07f37e1bb7211367314c580c02da8de7acc4141a1f715ba4946e\' ct_options=\'{\"ct_id\":414,\"ct_parent\":413,\"selector\":\"text_block-414-25\",\"nicename\":\"Text (#142)\",\"classes\":{\"0\":\"acss-box-shadow__label\"},\"ct_depth\":4}\']Rounded XXL<br>[/ct_text_block][/ct_div_block_3][/ct_div_block_2][/ct_section]'),(127,25,'rank_math_seo_score','4'),(128,25,'rank_math_robots','a:1:{i:0;s:7:\"noindex\";}'),