├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── content └── assets │ └── gatsby-icon.png ├── gatsby-browser.js ├── gatsby-config.js ├── gatsby-node.js ├── package.json ├── src ├── components │ ├── bio.js │ ├── layout.js │ └── seo.js ├── css │ ├── @wordpress │ │ └── block-library │ │ │ └── build-style │ │ │ ├── style.css │ │ │ └── theme.css │ ├── normalize.css │ └── style.css ├── pages │ └── 404.js └── templates │ ├── blog-post-archive.js │ └── blog-post.js ├── static ├── favicon.ico └── robots.txt └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .wordpress-cache 2 | 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (http://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # Typescript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # dotenv environment variable files 57 | .env* 58 | 59 | # gatsby files 60 | .cache/ 61 | public 62 | 63 | # Mac files 64 | .DS_Store 65 | 66 | # Yarn 67 | yarn-error.log 68 | .pnp/ 69 | .pnp.js 70 | # Yarn Integrity file 71 | .yarn-integrity 72 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .cache 2 | package.json 3 | package-lock.json 4 | public 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "semi": false 4 | } 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The BSD Zero Clause License (0BSD) 2 | 3 | Copyright (c) 2020 Gatsby Inc. 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 9 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 10 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 11 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 12 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 13 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 14 | PERFORMANCE OF THIS SOFTWARE. 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | 4 | Gatsby 5 | 6 |

7 |

8 | Gatsby WordPress blog starter 9 |

10 | 11 | Kick off your wordpress gatsby project with this blog boilerplate. This starter ships with the main Gatsby Wordpress configuration files you might need to get up and running blazing fast with the blazing fast app generator for React. 12 | 13 | _Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._ 14 | 15 | ## 🚀 Quick start 16 | 17 | To get your project started or to just try it out, you can **follow the [Gatsby Wordpress Quickstart](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/getting-started.md#quick-start)** instructions 18 | 19 | ## 🧐 What's inside? 20 | 21 | A quick look at the top-level files and directories you'll see in a Gatsby project. 22 | 23 | . 24 | ├── node_modules 25 | ├── src 26 | ├── .gitignore 27 | ├── .prettierrc 28 | ├── gatsby-browser.js 29 | ├── gatsby-config.js 30 | ├── gatsby-node.js 31 | ├── gatsby-ssr.js 32 | ├── LICENSE 33 | ├── package-lock.json 34 | ├── package.json 35 | └── README.md 36 | 37 | 1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed. 38 | 39 | 2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”. 40 | 41 | 3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for. 42 | 43 | 4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent. 44 | 45 | 5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser. 46 | 47 | 6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail). **\*Wordpress Users:** This is where you configure your wordpress URL, and provide other plugin settings.\* 48 | 49 | 7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process. **\*Wordpress Users:** This is where you customize how gatsby consumes your wordpress graphql schema, and generates your gatsby content schema. The starter will handle post and blog types.\* 50 | 51 | 8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering. 52 | 53 | 9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license. 54 | 55 | 10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).** 56 | 57 | 11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project. 58 | 59 | 12. **`README.md`**: A text file containing useful reference information about your project. 60 | 61 | ## 🎓 Learning Gatsby 62 | 63 | Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start: 64 | 65 | - **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process. 66 | 67 | - **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar. 68 | 69 | ## 💫 Deploy 70 | 71 | Deploy this starter with one click on [Gatsby Cloud](https://www.gatsbyjs.com/cloud/): 72 | 73 | [Deploy to Gatsby Cloud](https://www.gatsbyjs.com/dashboard/deploynow?url=https://github.com/gatsbyjs/gatsby-starter-wordpress-blog) 74 | 75 | 76 | -------------------------------------------------------------------------------- /content/assets/gatsby-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyjs/gatsby-starter-wordpress-blog/5b69e6d389f4a2f5c2349e3b4a33638693d017b6/content/assets/gatsby-icon.png -------------------------------------------------------------------------------- /gatsby-browser.js: -------------------------------------------------------------------------------- 1 | // custom typefaces 2 | import "typeface-montserrat" 3 | import "typeface-merriweather" 4 | 5 | // normalize CSS across browsers 6 | import "./src/css/normalize.css" 7 | 8 | // custom CSS styles 9 | import "./src/css/style.css" 10 | -------------------------------------------------------------------------------- /gatsby-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 👋 Hey there! 3 | * This file is the starting point for your new WordPress/Gatsby site! 🚀 4 | * For more information about what this file is and does, see 5 | * https://www.gatsbyjs.com/docs/gatsby-config/ 6 | * 7 | */ 8 | 9 | module.exports = { 10 | /** 11 | * Adding plugins to this array adds them to your Gatsby site. 12 | * 13 | * Gatsby has a rich ecosystem of plugins. 14 | * If you need any more you can search here: https://www.gatsbyjs.com/plugins/ 15 | */ 16 | plugins: [ 17 | { 18 | /** 19 | * First up is the WordPress source plugin that connects Gatsby 20 | * to your WordPress site. 21 | * 22 | * visit the plugin docs to learn more 23 | * https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/README.md 24 | * 25 | */ 26 | resolve: `gatsby-source-wordpress`, 27 | options: { 28 | // the only required plugin option for WordPress is the GraphQL url. 29 | url: 30 | process.env.WPGRAPHQL_URL || 31 | `https://wpgatsbydemo.wpengine.com/graphql`, 32 | }, 33 | }, 34 | 35 | /** 36 | * We need this plugin so that it adds the "File.publicURL" to our site 37 | * It will allow us to access static url's for assets like PDF's 38 | * 39 | * See https://www.gatsbyjs.org/packages/gatsby-source-filesystem/ for more info 40 | */ 41 | { 42 | resolve: `gatsby-source-filesystem`, 43 | options: { 44 | name: `assets`, 45 | path: `${__dirname}/content/assets`, 46 | }, 47 | }, 48 | 49 | /** 50 | * The following two plugins are required if you want to use Gatsby image 51 | * See https://www.gatsbyjs.com/docs/gatsby-image/#setting-up-gatsby-image 52 | * if you're curious about it. 53 | */ 54 | `gatsby-transformer-sharp`, 55 | `gatsby-plugin-sharp`, 56 | `gatsby-plugin-image`, 57 | { 58 | // See https://www.gatsbyjs.com/plugins/gatsby-plugin-manifest/?=gatsby-plugin-manifest 59 | resolve: `gatsby-plugin-manifest`, 60 | options: { 61 | name: `Gatsby Starter WordPress Blog`, 62 | short_name: `GatsbyJS & WP`, 63 | start_url: `/`, 64 | background_color: `#ffffff`, 65 | theme_color: `#663399`, 66 | display: `minimal-ui`, 67 | icon: `content/assets/gatsby-icon.png`, 68 | }, 69 | }, 70 | 71 | // See https://www.gatsbyjs.com/plugins/gatsby-plugin-react-helmet/?=gatsby-plugin-react-helmet 72 | `gatsby-plugin-react-helmet`, 73 | 74 | /** 75 | * this (optional) plugin enables Progressive Web App + Offline functionality 76 | * To learn more, visit: https://gatsby.dev/offline 77 | */ 78 | // `gatsby-plugin-offline`, 79 | ], 80 | } 81 | -------------------------------------------------------------------------------- /gatsby-node.js: -------------------------------------------------------------------------------- 1 | const path = require(`path`) 2 | const chunk = require(`lodash/chunk`) 3 | 4 | // This is a simple debugging tool 5 | // dd() will prettily dump to the terminal and kill the process 6 | // const { dd } = require(`dumper.js`) 7 | 8 | /** 9 | * exports.createPages is a built-in Gatsby Node API. 10 | * It's purpose is to allow you to create pages for your site! 💡 11 | * 12 | * See https://www.gatsbyjs.com/docs/node-apis/#createPages for more info. 13 | */ 14 | exports.createPages = async gatsbyUtilities => { 15 | // Query our posts from the GraphQL server 16 | const posts = await getPosts(gatsbyUtilities) 17 | 18 | // If there are no posts in WordPress, don't do anything 19 | if (!posts.length) { 20 | return 21 | } 22 | 23 | // If there are posts, create pages for them 24 | await createIndividualBlogPostPages({ posts, gatsbyUtilities }) 25 | 26 | // And a paginated archive 27 | await createBlogPostArchive({ posts, gatsbyUtilities }) 28 | } 29 | 30 | /** 31 | * This function creates all the individual blog pages in this site 32 | */ 33 | const createIndividualBlogPostPages = async ({ posts, gatsbyUtilities }) => 34 | Promise.all( 35 | posts.map(({ previous, post, next }) => 36 | // createPage is an action passed to createPages 37 | // See https://www.gatsbyjs.com/docs/actions#createPage for more info 38 | gatsbyUtilities.actions.createPage({ 39 | // Use the WordPress uri as the Gatsby page path 40 | // This is a good idea so that internal links and menus work 👍 41 | path: post.uri, 42 | 43 | // use the blog post template as the page component 44 | component: path.resolve(`./src/templates/blog-post.js`), 45 | 46 | // `context` is available in the template as a prop and 47 | // as a variable in GraphQL. 48 | context: { 49 | // we need to add the post id here 50 | // so our blog post template knows which blog post 51 | // the current page is (when you open it in a browser) 52 | id: post.id, 53 | 54 | // We also use the next and previous id's to query them and add links! 55 | previousPostId: previous ? previous.id : null, 56 | nextPostId: next ? next.id : null, 57 | }, 58 | }) 59 | ) 60 | ) 61 | 62 | /** 63 | * This function creates all the individual blog pages in this site 64 | */ 65 | async function createBlogPostArchive({ posts, gatsbyUtilities }) { 66 | const graphqlResult = await gatsbyUtilities.graphql(/* GraphQL */ ` 67 | { 68 | wp { 69 | readingSettings { 70 | postsPerPage 71 | } 72 | } 73 | } 74 | `) 75 | 76 | const { postsPerPage } = graphqlResult.data.wp.readingSettings 77 | 78 | const postsChunkedIntoArchivePages = chunk(posts, postsPerPage) 79 | const totalPages = postsChunkedIntoArchivePages.length 80 | 81 | return Promise.all( 82 | postsChunkedIntoArchivePages.map(async (_posts, index) => { 83 | const pageNumber = index + 1 84 | 85 | const getPagePath = page => { 86 | if (page > 0 && page <= totalPages) { 87 | // Since our homepage is our blog page 88 | // we want the first page to be "/" and any additional pages 89 | // to be numbered. 90 | // "/blog/2" for example 91 | return page === 1 ? `/` : `/blog/${page}` 92 | } 93 | 94 | return null 95 | } 96 | 97 | // createPage is an action passed to createPages 98 | // See https://www.gatsbyjs.com/docs/actions#createPage for more info 99 | await gatsbyUtilities.actions.createPage({ 100 | path: getPagePath(pageNumber), 101 | 102 | // use the blog post archive template as the page component 103 | component: path.resolve(`./src/templates/blog-post-archive.js`), 104 | 105 | // `context` is available in the template as a prop and 106 | // as a variable in GraphQL. 107 | context: { 108 | // the index of our loop is the offset of which posts we want to display 109 | // so for page 1, 0 * 10 = 0 offset, for page 2, 1 * 10 = 10 posts offset, 110 | // etc 111 | offset: index * postsPerPage, 112 | 113 | // We need to tell the template how many posts to display too 114 | postsPerPage, 115 | 116 | nextPagePath: getPagePath(pageNumber + 1), 117 | previousPagePath: getPagePath(pageNumber - 1), 118 | }, 119 | }) 120 | }) 121 | ) 122 | } 123 | 124 | /** 125 | * This function queries Gatsby's GraphQL server and asks for 126 | * All WordPress blog posts. If there are any GraphQL error it throws an error 127 | * Otherwise it will return the posts 🙌 128 | * 129 | * We're passing in the utilities we got from createPages. 130 | * So see https://www.gatsbyjs.com/docs/node-apis/#createPages for more info! 131 | */ 132 | async function getPosts({ graphql, reporter }) { 133 | const graphqlResult = await graphql(/* GraphQL */ ` 134 | query WpPosts { 135 | # Query all WordPress blog posts sorted by date 136 | allWpPost(sort: { fields: [date], order: DESC }) { 137 | edges { 138 | previous { 139 | id 140 | } 141 | 142 | # note: this is a GraphQL alias. It renames "node" to "post" for this query 143 | # We're doing this because this "node" is a post! It makes our code more readable further down the line. 144 | post: node { 145 | id 146 | uri 147 | } 148 | 149 | next { 150 | id 151 | } 152 | } 153 | } 154 | } 155 | `) 156 | 157 | if (graphqlResult.errors) { 158 | reporter.panicOnBuild( 159 | `There was an error loading your blog posts`, 160 | graphqlResult.errors 161 | ) 162 | return 163 | } 164 | 165 | return graphqlResult.data.allWpPost.edges 166 | } 167 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gatsby-starter-wordpress-blog", 3 | "private": true, 4 | "description": "A starter for a blog powered by Gatsby and Markdown", 5 | "version": "1.0.0", 6 | "author": "Kyle Mathews and Tyler Barnes ", 7 | "bugs": { 8 | "url": "https://github.com/gatsbyjs/gatsby/issues" 9 | }, 10 | "homepage": "https://github.com/gatsbyjs/gatsby-starter-blog#readme", 11 | "keywords": [ 12 | "gatsby" 13 | ], 14 | "license": "0BSD", 15 | "main": "n/a", 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/gatsbyjs/gatsby-starter-blog.git" 19 | }, 20 | "scripts": { 21 | "build": "gatsby build", 22 | "develop": "gatsby develop", 23 | "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", 24 | "start": "npm run develop", 25 | "serve": "gatsby serve", 26 | "clean": "gatsby clean", 27 | "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" 28 | }, 29 | "dependencies": { 30 | "gatsby": "~5.3.2", 31 | "gatsby-plugin-image": "^3.3.2", 32 | "gatsby-plugin-manifest": "^5.3.1", 33 | "gatsby-plugin-offline": "^6.3.1", 34 | "gatsby-plugin-react-helmet": "^6.3.0", 35 | "gatsby-plugin-sharp": "^5.3.2", 36 | "gatsby-source-filesystem": "^5.3.1", 37 | "gatsby-source-wordpress": "^7.3.2", 38 | "gatsby-transformer-sharp": "^5.3.1", 39 | "html-react-parser": "^3.0.4", 40 | "lodash": "^4.17.20", 41 | "postcss": "^8.2.10", 42 | "react": "^18.2.0", 43 | "react-dom": "^18.2.0", 44 | "react-helmet": "^6.1.0", 45 | "typeface-merriweather": "1.1.13", 46 | "typeface-montserrat": "1.1.13" 47 | }, 48 | "devDependencies": { 49 | "dumper.js": "^1.3.1", 50 | "prettier": "2.8.1" 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/components/bio.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bio component that queries for data 3 | * with Gatsby's useStaticQuery component 4 | * 5 | * See: https://www.gatsbyjs.com/docs/use-static-query/ 6 | */ 7 | 8 | import React from "react" 9 | import { useStaticQuery, graphql } from "gatsby" 10 | 11 | const Bio = () => { 12 | const { author } = useStaticQuery(graphql` 13 | query BioQuery { 14 | # if there was more than one user, this would need to be filtered 15 | author: wpUser { 16 | firstName 17 | twitter: name 18 | description 19 | avatar { 20 | url 21 | } 22 | } 23 | } 24 | `) 25 | 26 | const avatarUrl = author?.avatar?.url 27 | 28 | return ( 29 |
30 | {avatarUrl && ( 31 | {author?.firstName 36 | )} 37 | {author?.firstName && ( 38 |

39 | Written by {author.firstName} 40 | {` `} 41 | {author?.description || null} 42 | {` `} 43 | {author?.twitter && ( 44 | 45 | You should follow them on Twitter 46 | 47 | )} 48 |

49 | )} 50 |
51 | ) 52 | } 53 | 54 | export default Bio 55 | -------------------------------------------------------------------------------- /src/components/layout.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import { Link, useStaticQuery, graphql } from "gatsby" 3 | import parse from "html-react-parser" 4 | 5 | const Layout = ({ isHomePage, children }) => { 6 | const { 7 | wp: { 8 | generalSettings: { title }, 9 | }, 10 | } = useStaticQuery(graphql` 11 | query LayoutQuery { 12 | wp { 13 | generalSettings { 14 | title 15 | description 16 | } 17 | } 18 | } 19 | `) 20 | 21 | return ( 22 |
23 |
24 | {isHomePage ? ( 25 |

26 | {parse(title)} 27 |

28 | ) : ( 29 | 30 | {title} 31 | 32 | )} 33 |
34 | 35 |
{children}
36 | 37 |
38 | © {new Date().getFullYear()}, Built with 39 | {` `} 40 | Gatsby 41 | {` `} 42 | And WordPress 43 |
44 |
45 | ) 46 | } 47 | 48 | export default Layout 49 | -------------------------------------------------------------------------------- /src/components/seo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Seo component that queries for data with 3 | * Gatsby's useStaticQuery React hook 4 | * 5 | * See: https://www.gatsbyjs.com/docs/use-static-query/ 6 | */ 7 | 8 | import React from "react" 9 | import PropTypes from "prop-types" 10 | import { Helmet } from "react-helmet" 11 | import { useStaticQuery, graphql } from "gatsby" 12 | 13 | const Seo = ({ description, lang, meta, title }) => { 14 | const { wp, wpUser } = useStaticQuery( 15 | graphql` 16 | query { 17 | wp { 18 | generalSettings { 19 | title 20 | description 21 | } 22 | } 23 | 24 | # if there's more than one user this would need to be filtered to the main user 25 | wpUser { 26 | twitter: name 27 | } 28 | } 29 | ` 30 | ) 31 | 32 | const metaDescription = description || wp.generalSettings?.description 33 | const defaultTitle = wp.generalSettings?.title 34 | 35 | return ( 36 | 77 | ) 78 | } 79 | 80 | Seo.defaultProps = { 81 | lang: `en`, 82 | meta: [], 83 | description: ``, 84 | } 85 | 86 | Seo.propTypes = { 87 | description: PropTypes.string, 88 | lang: PropTypes.string, 89 | meta: PropTypes.arrayOf(PropTypes.object), 90 | title: PropTypes.string.isRequired, 91 | } 92 | 93 | export default Seo 94 | -------------------------------------------------------------------------------- /src/css/@wordpress/block-library/build-style/style.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /** 3 | * Colors 4 | */ 5 | /** 6 | * Breakpoints & Media Queries 7 | */ 8 | /** 9 | * SCSS Variables. 10 | * 11 | * Please use variables from this sheet to ensure consistency across the UI. 12 | * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 13 | * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 14 | */ 15 | /** 16 | * Colors 17 | */ 18 | /** 19 | * Fonts & basic variables. 20 | */ 21 | /** 22 | * Grid System. 23 | * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 24 | */ 25 | /** 26 | * Dimensions. 27 | */ 28 | /** 29 | * Shadows. 30 | */ 31 | /** 32 | * Editor widths. 33 | */ 34 | /** 35 | * Block & Editor UI. 36 | */ 37 | /** 38 | * Block paddings. 39 | */ 40 | /** 41 | * React Native specific. 42 | * These variables do not appear to be used anywhere else. 43 | */ 44 | /** 45 | * Breakpoint mixins 46 | */ 47 | /** 48 | * Long content fade mixin 49 | * 50 | * Creates a fading overlay to signify that the content is longer 51 | * than the space allows. 52 | */ 53 | /** 54 | * Focus styles. 55 | */ 56 | /** 57 | * Applies editor left position to the selector passed as argument 58 | */ 59 | /** 60 | * Styles that are reused verbatim in a few places 61 | */ 62 | /** 63 | * Allows users to opt-out of animations via OS-level preferences. 64 | */ 65 | /** 66 | * Reset default styles for JavaScript UI based pages. 67 | * This is a WP-admin agnostic reset 68 | */ 69 | /** 70 | * Reset the WP Admin page styles for Gutenberg-like pages. 71 | */ 72 | #start-resizable-editor-section { 73 | display: none; 74 | } 75 | 76 | .wp-block-audio { 77 | margin: 0 0 1em 0; 78 | } 79 | .wp-block-audio figcaption { 80 | margin-top: 0.5em; 81 | margin-bottom: 1em; 82 | } 83 | .wp-block-audio audio { 84 | width: 100%; 85 | min-width: 300px; 86 | } 87 | 88 | .wp-block-button__link { 89 | color: #fff; 90 | background-color: #32373c; 91 | border-radius: 9999px; 92 | box-shadow: none; 93 | cursor: pointer; 94 | display: inline-block; 95 | font-size: 1.125em; 96 | padding: calc(0.667em + 2px) calc(1.333em + 2px); 97 | text-align: center; 98 | text-decoration: none; 99 | overflow-wrap: break-word; 100 | box-sizing: border-box; 101 | } 102 | .wp-block-button__link:hover, 103 | .wp-block-button__link:focus, 104 | .wp-block-button__link:active, 105 | .wp-block-button__link:visited { 106 | color: #fff; 107 | } 108 | .wp-block-button__link.aligncenter { 109 | text-align: center; 110 | } 111 | .wp-block-button__link.alignright { 112 | /*rtl:ignore*/ 113 | text-align: right; 114 | } 115 | 116 | .wp-block-buttons > .wp-block-button.has-custom-width { 117 | max-width: none; 118 | } 119 | .wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link { 120 | width: 100%; 121 | } 122 | .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { 123 | width: calc(25% - 0.5em); 124 | } 125 | .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { 126 | width: calc(50% - 0.5em); 127 | } 128 | .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { 129 | width: calc(75% - 0.5em); 130 | } 131 | .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { 132 | margin-right: 0; 133 | width: 100%; 134 | } 135 | 136 | .wp-block-button.is-style-squared, 137 | .wp-block-button__link.wp-block-button.is-style-squared { 138 | border-radius: 0; 139 | } 140 | 141 | .wp-block-button.no-border-radius, 142 | .wp-block-button__link.no-border-radius { 143 | border-radius: 0 !important; 144 | } 145 | 146 | .is-style-outline > .wp-block-button__link, 147 | .wp-block-button__link.is-style-outline { 148 | border: 2px solid currentColor; 149 | padding: 0.667em 1.333em; 150 | } 151 | 152 | .is-style-outline > .wp-block-button__link:not(.has-text-color), 153 | .wp-block-button__link.is-style-outline:not(.has-text-color) { 154 | color: currentColor; 155 | } 156 | 157 | .is-style-outline > .wp-block-button__link:not(.has-background), 158 | .wp-block-button__link.is-style-outline:not(.has-background) { 159 | background-color: transparent; 160 | } 161 | 162 | .wp-block-buttons { 163 | display: flex; 164 | flex-direction: row; 165 | flex-wrap: wrap; 166 | /* stylelint-disable indentation */ 167 | } 168 | .wp-block-buttons.is-vertical { 169 | flex-direction: column; 170 | } 171 | .wp-block-buttons.is-vertical > .wp-block-button { 172 | /*rtl:ignore*/ 173 | margin-right: 0; 174 | } 175 | .wp-block-buttons.is-vertical > .wp-block-button:last-child { 176 | margin-bottom: 0; 177 | } 178 | .wp-block-buttons > .wp-block-button { 179 | display: inline-block; 180 | /*rtl:ignore*/ 181 | margin-left: 0; 182 | /*rtl:ignore*/ 183 | margin-right: 0.5em; 184 | margin-bottom: 0.5em; 185 | } 186 | .wp-block-buttons > .wp-block-button:last-child { 187 | /*rtl:ignore*/ 188 | margin-right: 0; 189 | } 190 | .wp-block-buttons.is-content-justification-left { 191 | justify-content: flex-start; 192 | } 193 | .wp-block-buttons.is-content-justification-left.is-vertical { 194 | align-items: flex-start; 195 | } 196 | .wp-block-buttons.is-content-justification-center { 197 | justify-content: center; 198 | } 199 | .wp-block-buttons.is-content-justification-center.is-vertical { 200 | align-items: center; 201 | } 202 | .wp-block-buttons.is-content-justification-right { 203 | justify-content: flex-end; 204 | } 205 | .wp-block-buttons.is-content-justification-right > .wp-block-button { 206 | /*rtl:ignore*/ 207 | margin-left: 0.5em; 208 | /*rtl:ignore*/ 209 | margin-right: 0; 210 | } 211 | .wp-block-buttons.is-content-justification-right 212 | > .wp-block-button:first-child { 213 | /*rtl:ignore*/ 214 | margin-left: 0; 215 | } 216 | .wp-block-buttons.is-content-justification-right.is-vertical { 217 | align-items: flex-end; 218 | } 219 | .wp-block-buttons.is-content-justification-space-between { 220 | justify-content: space-between; 221 | } 222 | .wp-block-buttons.aligncenter { 223 | text-align: center; 224 | } 225 | .wp-block-buttons.alignleft .wp-block-button { 226 | /*rtl:ignore*/ 227 | margin-left: 0; 228 | /*rtl:ignore*/ 229 | margin-right: 0.5em; 230 | } 231 | .wp-block-buttons.alignleft .wp-block-button:last-child { 232 | /*rtl:ignore*/ 233 | margin-right: 0; 234 | } 235 | .wp-block-buttons.alignright .wp-block-button { 236 | /*rtl:ignore*/ 237 | margin-right: 0; 238 | /*rtl:ignore*/ 239 | margin-left: 0.5em; 240 | } 241 | .wp-block-buttons.alignright .wp-block-button:first-child { 242 | /*rtl:ignore*/ 243 | margin-left: 0; 244 | } 245 | .wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, .is-content-justification-center) 246 | .wp-block-button.aligncenter { 247 | /* stylelint-enable indentation */ 248 | margin-left: auto; 249 | margin-right: auto; 250 | margin-bottom: 0.5em; 251 | width: 100%; 252 | } 253 | 254 | .wp-block-calendar { 255 | text-align: center; 256 | } 257 | .wp-block-calendar th, 258 | .wp-block-calendar tbody td { 259 | padding: 0.25em; 260 | border: 1px solid #ddd; 261 | } 262 | .wp-block-calendar tfoot td { 263 | border: none; 264 | } 265 | .wp-block-calendar table { 266 | width: 100%; 267 | border-collapse: collapse; 268 | } 269 | .wp-block-calendar table th { 270 | font-weight: 400; 271 | background: #ddd; 272 | } 273 | .wp-block-calendar a { 274 | text-decoration: underline; 275 | } 276 | .wp-block-calendar table tbody, 277 | .wp-block-calendar table caption { 278 | color: #40464d; 279 | } 280 | 281 | .wp-block-categories.alignleft { 282 | /*rtl:ignore*/ 283 | margin-right: 2em; 284 | } 285 | .wp-block-categories.alignright { 286 | /*rtl:ignore*/ 287 | margin-left: 2em; 288 | } 289 | 290 | .wp-block-code code { 291 | display: block; 292 | white-space: pre-wrap; 293 | overflow-wrap: break-word; 294 | } 295 | 296 | .wp-block-columns { 297 | display: flex; 298 | margin-bottom: 1.75em; 299 | box-sizing: border-box; 300 | flex-wrap: wrap; 301 | /** 302 | * All Columns Alignment 303 | */ 304 | } 305 | @media (min-width: 782px) { 306 | .wp-block-columns { 307 | flex-wrap: nowrap; 308 | } 309 | } 310 | .wp-block-columns.has-background { 311 | padding: 1.25em 2.375em; 312 | } 313 | .wp-block-columns.are-vertically-aligned-top { 314 | align-items: flex-start; 315 | } 316 | .wp-block-columns.are-vertically-aligned-center { 317 | align-items: center; 318 | } 319 | .wp-block-columns.are-vertically-aligned-bottom { 320 | align-items: flex-end; 321 | } 322 | 323 | .wp-block-column { 324 | flex-grow: 1; 325 | min-width: 0; 326 | word-break: break-word; 327 | overflow-wrap: break-word; 328 | /** 329 | * Individual Column Alignment 330 | */ 331 | } 332 | @media (max-width: 599px) { 333 | .wp-block-column { 334 | flex-basis: 100% !important; 335 | } 336 | } 337 | @media (min-width: 600px) and (max-width: 781px) { 338 | .wp-block-column:not(:only-child) { 339 | flex-basis: calc(50% - 1em) !important; 340 | flex-grow: 0; 341 | } 342 | .wp-block-column:nth-child(even) { 343 | margin-left: 2em; 344 | } 345 | } 346 | @media (min-width: 782px) { 347 | .wp-block-column { 348 | flex-basis: 0; 349 | flex-grow: 1; 350 | } 351 | .wp-block-column[style*="flex-basis"] { 352 | flex-grow: 0; 353 | } 354 | .wp-block-column:not(:first-child) { 355 | margin-left: 2em; 356 | } 357 | } 358 | .wp-block-column.is-vertically-aligned-top { 359 | align-self: flex-start; 360 | } 361 | .wp-block-column.is-vertically-aligned-center { 362 | -ms-grid-row-align: center; 363 | align-self: center; 364 | } 365 | .wp-block-column.is-vertically-aligned-bottom { 366 | align-self: flex-end; 367 | } 368 | .wp-block-column.is-vertically-aligned-top, 369 | .wp-block-column.is-vertically-aligned-center, 370 | .wp-block-column.is-vertically-aligned-bottom { 371 | width: 100%; 372 | } 373 | 374 | .wp-block-cover-image, 375 | .wp-block-cover { 376 | position: relative; 377 | background-size: cover; 378 | background-position: center center; 379 | min-height: 430px; 380 | width: 100%; 381 | display: flex; 382 | justify-content: center; 383 | align-items: center; 384 | padding: 1em; 385 | box-sizing: border-box; 386 | /** 387 | * Set a default background color for has-background-dim _unless_ it includes another 388 | * background-color class (e.g. has-green-background-color). The presence of another 389 | * background-color class implies that another style will provide the background color 390 | * for the overlay. 391 | * 392 | * See: 393 | * - Issue with background color specificity: https://github.com/WordPress/gutenberg/issues/26545 394 | * - Issue with alternative fix: https://github.com/WordPress/gutenberg/issues/26545 395 | */ 396 | } 397 | .wp-block-cover-image.has-parallax, 398 | .wp-block-cover.has-parallax { 399 | background-attachment: fixed; 400 | } 401 | @supports (-webkit-overflow-scrolling: touch) { 402 | .wp-block-cover-image.has-parallax, 403 | .wp-block-cover.has-parallax { 404 | background-attachment: scroll; 405 | } 406 | } 407 | @media (prefers-reduced-motion: reduce) { 408 | .wp-block-cover-image.has-parallax, 409 | .wp-block-cover.has-parallax { 410 | background-attachment: scroll; 411 | } 412 | } 413 | .wp-block-cover-image.is-repeated, 414 | .wp-block-cover.is-repeated { 415 | background-repeat: repeat; 416 | background-size: auto; 417 | } 418 | .wp-block-cover-image.has-background-dim:not([class*="-background-color"]), 419 | .wp-block-cover.has-background-dim:not([class*="-background-color"]) { 420 | background-color: #000; 421 | } 422 | .wp-block-cover-image.has-background-dim::before, 423 | .wp-block-cover.has-background-dim::before { 424 | content: ""; 425 | background-color: inherit; 426 | } 427 | .wp-block-cover-image.has-background-dim:not(.has-background-gradient)::before, 428 | .wp-block-cover-image .wp-block-cover__gradient-background, 429 | .wp-block-cover.has-background-dim:not(.has-background-gradient)::before, 430 | .wp-block-cover .wp-block-cover__gradient-background { 431 | position: absolute; 432 | top: 0; 433 | left: 0; 434 | bottom: 0; 435 | right: 0; 436 | z-index: 1; 437 | opacity: 0.5; 438 | } 439 | .wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before, 440 | .wp-block-cover-image.has-background-dim.has-background-dim-10 441 | .wp-block-cover__gradient-background, 442 | .wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before, 443 | .wp-block-cover.has-background-dim.has-background-dim-10 444 | .wp-block-cover__gradient-background { 445 | opacity: 0.1; 446 | } 447 | .wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before, 448 | .wp-block-cover-image.has-background-dim.has-background-dim-20 449 | .wp-block-cover__gradient-background, 450 | .wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before, 451 | .wp-block-cover.has-background-dim.has-background-dim-20 452 | .wp-block-cover__gradient-background { 453 | opacity: 0.2; 454 | } 455 | .wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before, 456 | .wp-block-cover-image.has-background-dim.has-background-dim-30 457 | .wp-block-cover__gradient-background, 458 | .wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before, 459 | .wp-block-cover.has-background-dim.has-background-dim-30 460 | .wp-block-cover__gradient-background { 461 | opacity: 0.3; 462 | } 463 | .wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before, 464 | .wp-block-cover-image.has-background-dim.has-background-dim-40 465 | .wp-block-cover__gradient-background, 466 | .wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before, 467 | .wp-block-cover.has-background-dim.has-background-dim-40 468 | .wp-block-cover__gradient-background { 469 | opacity: 0.4; 470 | } 471 | .wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before, 472 | .wp-block-cover-image.has-background-dim.has-background-dim-50 473 | .wp-block-cover__gradient-background, 474 | .wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before, 475 | .wp-block-cover.has-background-dim.has-background-dim-50 476 | .wp-block-cover__gradient-background { 477 | opacity: 0.5; 478 | } 479 | .wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before, 480 | .wp-block-cover-image.has-background-dim.has-background-dim-60 481 | .wp-block-cover__gradient-background, 482 | .wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before, 483 | .wp-block-cover.has-background-dim.has-background-dim-60 484 | .wp-block-cover__gradient-background { 485 | opacity: 0.6; 486 | } 487 | .wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before, 488 | .wp-block-cover-image.has-background-dim.has-background-dim-70 489 | .wp-block-cover__gradient-background, 490 | .wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before, 491 | .wp-block-cover.has-background-dim.has-background-dim-70 492 | .wp-block-cover__gradient-background { 493 | opacity: 0.7; 494 | } 495 | .wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before, 496 | .wp-block-cover-image.has-background-dim.has-background-dim-80 497 | .wp-block-cover__gradient-background, 498 | .wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before, 499 | .wp-block-cover.has-background-dim.has-background-dim-80 500 | .wp-block-cover__gradient-background { 501 | opacity: 0.8; 502 | } 503 | .wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before, 504 | .wp-block-cover-image.has-background-dim.has-background-dim-90 505 | .wp-block-cover__gradient-background, 506 | .wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before, 507 | .wp-block-cover.has-background-dim.has-background-dim-90 508 | .wp-block-cover__gradient-background { 509 | opacity: 0.9; 510 | } 511 | .wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before, 512 | .wp-block-cover-image.has-background-dim.has-background-dim-100 513 | .wp-block-cover__gradient-background, 514 | .wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before, 515 | .wp-block-cover.has-background-dim.has-background-dim-100 516 | .wp-block-cover__gradient-background { 517 | opacity: 1; 518 | } 519 | .wp-block-cover-image.alignleft, 520 | .wp-block-cover-image.alignright, 521 | .wp-block-cover.alignleft, 522 | .wp-block-cover.alignright { 523 | max-width: 420px; 524 | width: 100%; 525 | } 526 | .wp-block-cover-image::after, 527 | .wp-block-cover::after { 528 | display: block; 529 | content: ""; 530 | font-size: 0; 531 | min-height: inherit; 532 | } 533 | @supports ((position: -webkit-sticky) or (position: sticky)) { 534 | .wp-block-cover-image::after, 535 | .wp-block-cover::after { 536 | content: none; 537 | } 538 | } 539 | .wp-block-cover-image.aligncenter, 540 | .wp-block-cover-image.alignleft, 541 | .wp-block-cover-image.alignright, 542 | .wp-block-cover.aligncenter, 543 | .wp-block-cover.alignleft, 544 | .wp-block-cover.alignright { 545 | display: flex; 546 | } 547 | .wp-block-cover-image .wp-block-cover__inner-container, 548 | .wp-block-cover .wp-block-cover__inner-container { 549 | width: 100%; 550 | z-index: 1; 551 | color: #fff; 552 | } 553 | .wp-block-cover-image p:not(.has-text-color), 554 | .wp-block-cover-image h1:not(.has-text-color), 555 | .wp-block-cover-image h2:not(.has-text-color), 556 | .wp-block-cover-image h3:not(.has-text-color), 557 | .wp-block-cover-image h4:not(.has-text-color), 558 | .wp-block-cover-image h5:not(.has-text-color), 559 | .wp-block-cover-image h6:not(.has-text-color), 560 | .wp-block-cover p:not(.has-text-color), 561 | .wp-block-cover h1:not(.has-text-color), 562 | .wp-block-cover h2:not(.has-text-color), 563 | .wp-block-cover h3:not(.has-text-color), 564 | .wp-block-cover h4:not(.has-text-color), 565 | .wp-block-cover h5:not(.has-text-color), 566 | .wp-block-cover h6:not(.has-text-color) { 567 | color: inherit; 568 | } 569 | .wp-block-cover-image.is-position-top-left, 570 | .wp-block-cover.is-position-top-left { 571 | align-items: flex-start; 572 | justify-content: flex-start; 573 | } 574 | .wp-block-cover-image.is-position-top-center, 575 | .wp-block-cover.is-position-top-center { 576 | align-items: flex-start; 577 | justify-content: center; 578 | } 579 | .wp-block-cover-image.is-position-top-right, 580 | .wp-block-cover.is-position-top-right { 581 | align-items: flex-start; 582 | justify-content: flex-end; 583 | } 584 | .wp-block-cover-image.is-position-center-left, 585 | .wp-block-cover.is-position-center-left { 586 | align-items: center; 587 | justify-content: flex-start; 588 | } 589 | .wp-block-cover-image.is-position-center-center, 590 | .wp-block-cover.is-position-center-center { 591 | align-items: center; 592 | justify-content: center; 593 | } 594 | .wp-block-cover-image.is-position-center-right, 595 | .wp-block-cover.is-position-center-right { 596 | align-items: center; 597 | justify-content: flex-end; 598 | } 599 | .wp-block-cover-image.is-position-bottom-left, 600 | .wp-block-cover.is-position-bottom-left { 601 | align-items: flex-end; 602 | justify-content: flex-start; 603 | } 604 | .wp-block-cover-image.is-position-bottom-center, 605 | .wp-block-cover.is-position-bottom-center { 606 | align-items: flex-end; 607 | justify-content: center; 608 | } 609 | .wp-block-cover-image.is-position-bottom-right, 610 | .wp-block-cover.is-position-bottom-right { 611 | align-items: flex-end; 612 | justify-content: flex-end; 613 | } 614 | .wp-block-cover-image.has-custom-content-position.has-custom-content-position 615 | .wp-block-cover__inner-container, 616 | .wp-block-cover.has-custom-content-position.has-custom-content-position 617 | .wp-block-cover__inner-container { 618 | margin: 0; 619 | width: auto; 620 | } 621 | .wp-block-cover-image img.wp-block-cover__image-background, 622 | .wp-block-cover-image video.wp-block-cover__video-background, 623 | .wp-block-cover img.wp-block-cover__image-background, 624 | .wp-block-cover video.wp-block-cover__video-background { 625 | position: absolute; 626 | top: 0; 627 | left: 0; 628 | right: 0; 629 | bottom: 0; 630 | margin: 0; 631 | padding: 0; 632 | width: 100%; 633 | height: 100%; 634 | max-width: none; 635 | max-height: none; 636 | -o-object-fit: cover; 637 | object-fit: cover; 638 | outline: none; 639 | border: none; 640 | box-shadow: none; 641 | } 642 | 643 | .wp-block-cover__video-background { 644 | z-index: 0; 645 | } 646 | 647 | .wp-block-cover__image-background { 648 | z-index: 0; 649 | } 650 | 651 | section.wp-block-cover-image h2, 652 | .wp-block-cover-image-text, 653 | .wp-block-cover-text { 654 | color: #fff; 655 | } 656 | section.wp-block-cover-image h2 a, 657 | section.wp-block-cover-image h2 a:hover, 658 | section.wp-block-cover-image h2 a:focus, 659 | section.wp-block-cover-image h2 a:active, 660 | .wp-block-cover-image-text a, 661 | .wp-block-cover-image-text a:hover, 662 | .wp-block-cover-image-text a:focus, 663 | .wp-block-cover-image-text a:active, 664 | .wp-block-cover-text a, 665 | .wp-block-cover-text a:hover, 666 | .wp-block-cover-text a:focus, 667 | .wp-block-cover-text a:active { 668 | color: #fff; 669 | } 670 | 671 | .wp-block-cover-image .wp-block-cover.has-left-content { 672 | justify-content: flex-start; 673 | } 674 | .wp-block-cover-image .wp-block-cover.has-right-content { 675 | justify-content: flex-end; 676 | } 677 | 678 | section.wp-block-cover-image.has-left-content > h2, 679 | .wp-block-cover-image.has-left-content .wp-block-cover-image-text, 680 | .wp-block-cover.has-left-content .wp-block-cover-text { 681 | margin-left: 0; 682 | text-align: left; 683 | } 684 | 685 | section.wp-block-cover-image.has-right-content > h2, 686 | .wp-block-cover-image.has-right-content .wp-block-cover-image-text, 687 | .wp-block-cover.has-right-content .wp-block-cover-text { 688 | margin-right: 0; 689 | text-align: right; 690 | } 691 | 692 | section.wp-block-cover-image > h2, 693 | .wp-block-cover-image .wp-block-cover-image-text, 694 | .wp-block-cover .wp-block-cover-text { 695 | font-size: 2em; 696 | line-height: 1.25; 697 | z-index: 1; 698 | margin-bottom: 0; 699 | max-width: 840px; 700 | padding: 0.44em; 701 | text-align: center; 702 | } 703 | 704 | .wp-block[data-align="left"] > [data-type="core/embed"], 705 | .wp-block[data-align="right"] > [data-type="core/embed"], 706 | .wp-block-embed.alignleft, 707 | .wp-block-embed.alignright { 708 | max-width: 360px; 709 | width: 100%; 710 | } 711 | .wp-block[data-align="left"] 712 | > [data-type="core/embed"] 713 | .wp-block-embed__wrapper, 714 | .wp-block[data-align="right"] 715 | > [data-type="core/embed"] 716 | .wp-block-embed__wrapper, 717 | .wp-block-embed.alignleft .wp-block-embed__wrapper, 718 | .wp-block-embed.alignright .wp-block-embed__wrapper { 719 | min-width: 280px; 720 | } 721 | 722 | .wp-block-cover .wp-block-embed { 723 | min-width: 320px; 724 | min-height: 240px; 725 | } 726 | 727 | .wp-block-embed { 728 | margin: 0 0 1em 0; 729 | } 730 | .wp-block-embed figcaption { 731 | margin-top: 0.5em; 732 | margin-bottom: 1em; 733 | } 734 | .wp-block-embed iframe { 735 | max-width: 100%; 736 | } 737 | 738 | .wp-block-embed__wrapper { 739 | position: relative; 740 | } 741 | 742 | .wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper::before { 743 | content: ""; 744 | display: block; 745 | padding-top: 50%; 746 | } 747 | .wp-embed-responsive .wp-has-aspect-ratio iframe { 748 | position: absolute; 749 | top: 0; 750 | right: 0; 751 | bottom: 0; 752 | left: 0; 753 | height: 100%; 754 | width: 100%; 755 | } 756 | 757 | .wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper::before { 758 | padding-top: 42.85%; 759 | } 760 | .wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper::before { 761 | padding-top: 50%; 762 | } 763 | .wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before { 764 | padding-top: 56.25%; 765 | } 766 | .wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper::before { 767 | padding-top: 75%; 768 | } 769 | .wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper::before { 770 | padding-top: 100%; 771 | } 772 | .wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper::before { 773 | padding-top: 177.77%; 774 | } 775 | .wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper::before { 776 | padding-top: 200%; 777 | } 778 | 779 | .wp-block-file { 780 | margin-bottom: 1.5em; 781 | } 782 | .wp-block-file.aligncenter { 783 | text-align: center; 784 | } 785 | .wp-block-file.alignright { 786 | /*rtl:ignore*/ 787 | text-align: right; 788 | } 789 | .wp-block-file .wp-block-file__button { 790 | background: #32373c; 791 | border-radius: 2em; 792 | color: #fff; 793 | font-size: 0.8em; 794 | padding: 0.5em 1em; 795 | } 796 | .wp-block-file a.wp-block-file__button { 797 | text-decoration: none; 798 | } 799 | .wp-block-file a.wp-block-file__button:hover, 800 | .wp-block-file a.wp-block-file__button:visited, 801 | .wp-block-file a.wp-block-file__button:focus, 802 | .wp-block-file a.wp-block-file__button:active { 803 | box-shadow: none; 804 | color: #fff; 805 | opacity: 0.85; 806 | text-decoration: none; 807 | } 808 | .wp-block-file * + .wp-block-file__button { 809 | margin-left: 0.75em; 810 | } 811 | 812 | .wp-block-gallery, 813 | .blocks-gallery-grid { 814 | display: flex; 815 | flex-wrap: wrap; 816 | list-style-type: none; 817 | padding: 0; 818 | margin: 0; 819 | } 820 | .wp-block-gallery .blocks-gallery-image, 821 | .wp-block-gallery .blocks-gallery-item, 822 | .blocks-gallery-grid .blocks-gallery-image, 823 | .blocks-gallery-grid .blocks-gallery-item { 824 | margin: 0 1em 1em 0; 825 | display: flex; 826 | flex-grow: 1; 827 | flex-direction: column; 828 | justify-content: center; 829 | position: relative; 830 | align-self: flex-start; 831 | width: calc(50% - 1em); 832 | } 833 | .wp-block-gallery .blocks-gallery-image:nth-of-type(even), 834 | .wp-block-gallery .blocks-gallery-item:nth-of-type(even), 835 | .blocks-gallery-grid .blocks-gallery-image:nth-of-type(even), 836 | .blocks-gallery-grid .blocks-gallery-item:nth-of-type(even) { 837 | margin-right: 0; 838 | } 839 | .wp-block-gallery .blocks-gallery-image figure, 840 | .wp-block-gallery .blocks-gallery-item figure, 841 | .blocks-gallery-grid .blocks-gallery-image figure, 842 | .blocks-gallery-grid .blocks-gallery-item figure { 843 | margin: 0; 844 | height: 100%; 845 | } 846 | @supports ((position: -webkit-sticky) or (position: sticky)) { 847 | .wp-block-gallery .blocks-gallery-image figure, 848 | .wp-block-gallery .blocks-gallery-item figure, 849 | .blocks-gallery-grid .blocks-gallery-image figure, 850 | .blocks-gallery-grid .blocks-gallery-item figure { 851 | display: flex; 852 | align-items: flex-end; 853 | justify-content: flex-start; 854 | } 855 | } 856 | .wp-block-gallery .blocks-gallery-image img, 857 | .wp-block-gallery .blocks-gallery-item img, 858 | .blocks-gallery-grid .blocks-gallery-image img, 859 | .blocks-gallery-grid .blocks-gallery-item img { 860 | display: block; 861 | max-width: 100%; 862 | height: auto; 863 | width: 100%; 864 | } 865 | @supports ((position: -webkit-sticky) or (position: sticky)) { 866 | .wp-block-gallery .blocks-gallery-image img, 867 | .wp-block-gallery .blocks-gallery-item img, 868 | .blocks-gallery-grid .blocks-gallery-image img, 869 | .blocks-gallery-grid .blocks-gallery-item img { 870 | width: auto; 871 | } 872 | } 873 | .wp-block-gallery .blocks-gallery-image figcaption, 874 | .wp-block-gallery .blocks-gallery-item figcaption, 875 | .blocks-gallery-grid .blocks-gallery-image figcaption, 876 | .blocks-gallery-grid .blocks-gallery-item figcaption { 877 | position: absolute; 878 | bottom: 0; 879 | width: 100%; 880 | max-height: 100%; 881 | overflow: auto; 882 | padding: 3em 0.77em 0.7em; 883 | color: #fff; 884 | text-align: center; 885 | font-size: 0.8em; 886 | background: linear-gradient( 887 | 0deg, 888 | rgba(0, 0, 0, 0.7) 0, 889 | rgba(0, 0, 0, 0.3) 70%, 890 | transparent 891 | ); 892 | box-sizing: border-box; 893 | margin: 0; 894 | } 895 | .wp-block-gallery .blocks-gallery-image figcaption img, 896 | .wp-block-gallery .blocks-gallery-item figcaption img, 897 | .blocks-gallery-grid .blocks-gallery-image figcaption img, 898 | .blocks-gallery-grid .blocks-gallery-item figcaption img { 899 | display: inline; 900 | } 901 | .wp-block-gallery figcaption, 902 | .blocks-gallery-grid figcaption { 903 | flex-grow: 1; 904 | } 905 | .wp-block-gallery.is-cropped .blocks-gallery-image, 906 | .wp-block-gallery.is-cropped .blocks-gallery-item, 907 | .blocks-gallery-grid.is-cropped .blocks-gallery-image, 908 | .blocks-gallery-grid.is-cropped .blocks-gallery-item { 909 | -ms-grid-row-align: inherit; 910 | align-self: inherit; 911 | } 912 | .wp-block-gallery.is-cropped .blocks-gallery-image a, 913 | .wp-block-gallery.is-cropped .blocks-gallery-image img, 914 | .wp-block-gallery.is-cropped .blocks-gallery-item a, 915 | .wp-block-gallery.is-cropped .blocks-gallery-item img, 916 | .blocks-gallery-grid.is-cropped .blocks-gallery-image a, 917 | .blocks-gallery-grid.is-cropped .blocks-gallery-image img, 918 | .blocks-gallery-grid.is-cropped .blocks-gallery-item a, 919 | .blocks-gallery-grid.is-cropped .blocks-gallery-item img { 920 | width: 100%; 921 | } 922 | @supports ((position: -webkit-sticky) or (position: sticky)) { 923 | .wp-block-gallery.is-cropped .blocks-gallery-image a, 924 | .wp-block-gallery.is-cropped .blocks-gallery-image img, 925 | .wp-block-gallery.is-cropped .blocks-gallery-item a, 926 | .wp-block-gallery.is-cropped .blocks-gallery-item img, 927 | .blocks-gallery-grid.is-cropped .blocks-gallery-image a, 928 | .blocks-gallery-grid.is-cropped .blocks-gallery-image img, 929 | .blocks-gallery-grid.is-cropped .blocks-gallery-item a, 930 | .blocks-gallery-grid.is-cropped .blocks-gallery-item img { 931 | height: 100%; 932 | flex: 1; 933 | -o-object-fit: cover; 934 | object-fit: cover; 935 | } 936 | } 937 | .wp-block-gallery.columns-1 .blocks-gallery-image, 938 | .wp-block-gallery.columns-1 .blocks-gallery-item, 939 | .blocks-gallery-grid.columns-1 .blocks-gallery-image, 940 | .blocks-gallery-grid.columns-1 .blocks-gallery-item { 941 | width: 100%; 942 | margin-right: 0; 943 | } 944 | @media (min-width: 600px) { 945 | .wp-block-gallery.columns-3 .blocks-gallery-image, 946 | .wp-block-gallery.columns-3 .blocks-gallery-item, 947 | .blocks-gallery-grid.columns-3 .blocks-gallery-image, 948 | .blocks-gallery-grid.columns-3 .blocks-gallery-item { 949 | width: calc(33.3333333333% - 0.6666666667em); 950 | margin-right: 1em; 951 | } 952 | .wp-block-gallery.columns-4 .blocks-gallery-image, 953 | .wp-block-gallery.columns-4 .blocks-gallery-item, 954 | .blocks-gallery-grid.columns-4 .blocks-gallery-image, 955 | .blocks-gallery-grid.columns-4 .blocks-gallery-item { 956 | width: calc(25% - 0.75em); 957 | margin-right: 1em; 958 | } 959 | .wp-block-gallery.columns-5 .blocks-gallery-image, 960 | .wp-block-gallery.columns-5 .blocks-gallery-item, 961 | .blocks-gallery-grid.columns-5 .blocks-gallery-image, 962 | .blocks-gallery-grid.columns-5 .blocks-gallery-item { 963 | width: calc(20% - 0.8em); 964 | margin-right: 1em; 965 | } 966 | .wp-block-gallery.columns-6 .blocks-gallery-image, 967 | .wp-block-gallery.columns-6 .blocks-gallery-item, 968 | .blocks-gallery-grid.columns-6 .blocks-gallery-image, 969 | .blocks-gallery-grid.columns-6 .blocks-gallery-item { 970 | width: calc(16.6666666667% - 0.8333333333em); 971 | margin-right: 1em; 972 | } 973 | .wp-block-gallery.columns-7 .blocks-gallery-image, 974 | .wp-block-gallery.columns-7 .blocks-gallery-item, 975 | .blocks-gallery-grid.columns-7 .blocks-gallery-image, 976 | .blocks-gallery-grid.columns-7 .blocks-gallery-item { 977 | width: calc(14.2857142857% - 0.8571428571em); 978 | margin-right: 1em; 979 | } 980 | .wp-block-gallery.columns-8 .blocks-gallery-image, 981 | .wp-block-gallery.columns-8 .blocks-gallery-item, 982 | .blocks-gallery-grid.columns-8 .blocks-gallery-image, 983 | .blocks-gallery-grid.columns-8 .blocks-gallery-item { 984 | width: calc(12.5% - 0.875em); 985 | margin-right: 1em; 986 | } 987 | .wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n), 988 | .wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n), 989 | .blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n), 990 | .blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n) { 991 | margin-right: 0; 992 | } 993 | .wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n), 994 | .wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n), 995 | .blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n), 996 | .blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n) { 997 | margin-right: 0; 998 | } 999 | .wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n), 1000 | .wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n), 1001 | .blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n), 1002 | .blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n) { 1003 | margin-right: 0; 1004 | } 1005 | .wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n), 1006 | .wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n), 1007 | .blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n), 1008 | .blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n) { 1009 | margin-right: 0; 1010 | } 1011 | .wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n), 1012 | .wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n), 1013 | .blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n), 1014 | .blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n) { 1015 | margin-right: 0; 1016 | } 1017 | .wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n), 1018 | .wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n), 1019 | .blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n), 1020 | .blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n) { 1021 | margin-right: 0; 1022 | } 1023 | .wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n), 1024 | .wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n), 1025 | .blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n), 1026 | .blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n) { 1027 | margin-right: 0; 1028 | } 1029 | .wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n), 1030 | .wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n), 1031 | .blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n), 1032 | .blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n) { 1033 | margin-right: 0; 1034 | } 1035 | } 1036 | .wp-block-gallery .blocks-gallery-image:last-child, 1037 | .wp-block-gallery .blocks-gallery-item:last-child, 1038 | .blocks-gallery-grid .blocks-gallery-image:last-child, 1039 | .blocks-gallery-grid .blocks-gallery-item:last-child { 1040 | margin-right: 0; 1041 | } 1042 | .wp-block-gallery.alignleft, 1043 | .wp-block-gallery.alignright, 1044 | .blocks-gallery-grid.alignleft, 1045 | .blocks-gallery-grid.alignright { 1046 | max-width: 420px; 1047 | width: 100%; 1048 | } 1049 | .wp-block-gallery.aligncenter .blocks-gallery-item figure, 1050 | .blocks-gallery-grid.aligncenter .blocks-gallery-item figure { 1051 | justify-content: center; 1052 | } 1053 | 1054 | .wp-block-group { 1055 | box-sizing: border-box; 1056 | } 1057 | 1058 | h1.has-background, 1059 | h2.has-background, 1060 | h3.has-background, 1061 | h4.has-background, 1062 | h5.has-background, 1063 | h6.has-background { 1064 | padding: 1.25em 2.375em; 1065 | } 1066 | 1067 | .wp-block-image { 1068 | margin: 0 0 1em 0; 1069 | } 1070 | .wp-block-image img { 1071 | max-width: 100%; 1072 | } 1073 | .wp-block-image:not(.is-style-rounded) img { 1074 | border-radius: inherit; 1075 | } 1076 | .wp-block-image.aligncenter { 1077 | text-align: center; 1078 | } 1079 | .wp-block-image.alignfull img, 1080 | .wp-block-image.alignwide img { 1081 | width: 100%; 1082 | } 1083 | .wp-block-image .alignleft, 1084 | .wp-block-image .alignright, 1085 | .wp-block-image .aligncenter { 1086 | display: table; 1087 | } 1088 | .wp-block-image .alignleft > figcaption, 1089 | .wp-block-image .alignright > figcaption, 1090 | .wp-block-image .aligncenter > figcaption { 1091 | display: table-caption; 1092 | caption-side: bottom; 1093 | } 1094 | .wp-block-image .alignleft { 1095 | /*rtl:ignore*/ 1096 | float: left; 1097 | /*rtl:ignore*/ 1098 | margin-left: 0; 1099 | margin-right: 1em; 1100 | margin-top: 0.5em; 1101 | margin-bottom: 0.5em; 1102 | } 1103 | .wp-block-image .alignright { 1104 | /*rtl:ignore*/ 1105 | float: right; 1106 | /*rtl:ignore*/ 1107 | margin-right: 0; 1108 | margin-left: 1em; 1109 | margin-top: 0.5em; 1110 | margin-bottom: 0.5em; 1111 | } 1112 | .wp-block-image .aligncenter { 1113 | margin-left: auto; 1114 | margin-right: auto; 1115 | } 1116 | .wp-block-image figcaption { 1117 | margin-top: 0.5em; 1118 | margin-bottom: 1em; 1119 | } 1120 | .wp-block-image.is-style-rounded img { 1121 | border-radius: 9999px; 1122 | } 1123 | .wp-block-image.is-style-circle-mask img { 1124 | border-radius: 9999px; 1125 | } 1126 | @supports ((-webkit-mask-image: none) or (mask-image: none)) or 1127 | (-webkit-mask-image: none) { 1128 | .wp-block-image.is-style-circle-mask img { 1129 | /* stylelint-disable */ 1130 | -webkit-mask-image: url('data:image/svg+xml;utf8,'); 1131 | mask-image: url('data:image/svg+xml;utf8,'); 1132 | /* stylelint-enable */ 1133 | mask-mode: alpha; 1134 | -webkit-mask-repeat: no-repeat; 1135 | mask-repeat: no-repeat; 1136 | -webkit-mask-size: contain; 1137 | mask-size: contain; 1138 | -webkit-mask-position: center; 1139 | mask-position: center; 1140 | border-radius: 0; 1141 | } 1142 | } 1143 | 1144 | ol.wp-block-latest-comments { 1145 | padding-left: 0; 1146 | } 1147 | 1148 | .wp-block-latest-comments__comment { 1149 | line-height: 1.1; 1150 | list-style: none; 1151 | margin-bottom: 1em; 1152 | } 1153 | .has-avatars .wp-block-latest-comments__comment { 1154 | min-height: 2.25em; 1155 | list-style: none; 1156 | } 1157 | .has-avatars 1158 | .wp-block-latest-comments__comment 1159 | .wp-block-latest-comments__comment-meta, 1160 | .has-avatars 1161 | .wp-block-latest-comments__comment 1162 | .wp-block-latest-comments__comment-excerpt { 1163 | margin-left: 3.25em; 1164 | } 1165 | .has-dates .wp-block-latest-comments__comment, 1166 | .has-excerpts .wp-block-latest-comments__comment { 1167 | line-height: 1.5; 1168 | } 1169 | 1170 | .wp-block-latest-comments__comment-excerpt p { 1171 | font-size: 0.875em; 1172 | line-height: 1.8; 1173 | margin: 0.36em 0 1.4em; 1174 | } 1175 | 1176 | .wp-block-latest-comments__comment-date { 1177 | display: block; 1178 | font-size: 0.75em; 1179 | } 1180 | 1181 | .wp-block-latest-comments .avatar, 1182 | .wp-block-latest-comments__comment-avatar { 1183 | border-radius: 1.5em; 1184 | display: block; 1185 | float: left; 1186 | height: 2.5em; 1187 | margin-right: 0.75em; 1188 | width: 2.5em; 1189 | } 1190 | 1191 | .wp-block-latest-posts.alignleft { 1192 | /*rtl:ignore*/ 1193 | margin-right: 2em; 1194 | } 1195 | .wp-block-latest-posts.alignright { 1196 | /*rtl:ignore*/ 1197 | margin-left: 2em; 1198 | } 1199 | .wp-block-latest-posts.wp-block-latest-posts__list { 1200 | list-style: none; 1201 | } 1202 | .wp-block-latest-posts.wp-block-latest-posts__list li { 1203 | clear: both; 1204 | } 1205 | .wp-block-latest-posts.is-grid { 1206 | display: flex; 1207 | flex-wrap: wrap; 1208 | padding: 0; 1209 | } 1210 | .wp-block-latest-posts.is-grid li { 1211 | margin: 0 1.25em 1.25em 0; 1212 | width: 100%; 1213 | } 1214 | @media (min-width: 600px) { 1215 | .wp-block-latest-posts.columns-2 li { 1216 | width: calc((100% / 2) - 1.25em + (1.25em / 2)); 1217 | } 1218 | .wp-block-latest-posts.columns-2 li:nth-child(2n) { 1219 | margin-right: 0; 1220 | } 1221 | .wp-block-latest-posts.columns-3 li { 1222 | width: calc((100% / 3) - 1.25em + (1.25em / 3)); 1223 | } 1224 | .wp-block-latest-posts.columns-3 li:nth-child(3n) { 1225 | margin-right: 0; 1226 | } 1227 | .wp-block-latest-posts.columns-4 li { 1228 | width: calc((100% / 4) - 1.25em + (1.25em / 4)); 1229 | } 1230 | .wp-block-latest-posts.columns-4 li:nth-child(4n) { 1231 | margin-right: 0; 1232 | } 1233 | .wp-block-latest-posts.columns-5 li { 1234 | width: calc((100% / 5) - 1.25em + (1.25em / 5)); 1235 | } 1236 | .wp-block-latest-posts.columns-5 li:nth-child(5n) { 1237 | margin-right: 0; 1238 | } 1239 | .wp-block-latest-posts.columns-6 li { 1240 | width: calc((100% / 6) - 1.25em + (1.25em / 6)); 1241 | } 1242 | .wp-block-latest-posts.columns-6 li:nth-child(6n) { 1243 | margin-right: 0; 1244 | } 1245 | } 1246 | 1247 | .wp-block-latest-posts__post-date, 1248 | .wp-block-latest-posts__post-author { 1249 | display: block; 1250 | color: #555; 1251 | font-size: 0.8125em; 1252 | } 1253 | 1254 | .wp-block-latest-posts__post-excerpt { 1255 | margin-top: 0.5em; 1256 | margin-bottom: 1em; 1257 | } 1258 | 1259 | .wp-block-latest-posts__featured-image a { 1260 | display: inline-block; 1261 | } 1262 | .wp-block-latest-posts__featured-image img { 1263 | height: auto; 1264 | width: auto; 1265 | } 1266 | .wp-block-latest-posts__featured-image.alignleft { 1267 | /*rtl:ignore*/ 1268 | margin-right: 1em; 1269 | } 1270 | .wp-block-latest-posts__featured-image.alignright { 1271 | /*rtl:ignore*/ 1272 | margin-left: 1em; 1273 | } 1274 | .wp-block-latest-posts__featured-image.aligncenter { 1275 | margin-bottom: 1em; 1276 | text-align: center; 1277 | } 1278 | 1279 | .block-editor-image-alignment-control__row .components-base-control__field { 1280 | display: flex; 1281 | justify-content: space-between; 1282 | align-items: center; 1283 | } 1284 | .block-editor-image-alignment-control__row 1285 | .components-base-control__field 1286 | .components-base-control__label { 1287 | margin-bottom: 0; 1288 | } 1289 | 1290 | ol.has-background, 1291 | ul.has-background { 1292 | padding: 1.25em 2.375em; 1293 | } 1294 | 1295 | .wp-block-media-text { 1296 | /*!rtl:begin:ignore*/ 1297 | direction: ltr; 1298 | /*!rtl:end:ignore*/ 1299 | display: -ms-grid; 1300 | display: grid; 1301 | -ms-grid-columns: 50% 1fr; 1302 | grid-template-columns: 50% 1fr; 1303 | -ms-grid-rows: auto; 1304 | grid-template-rows: auto; 1305 | } 1306 | .wp-block-media-text.has-media-on-the-right { 1307 | -ms-grid-columns: 1fr 50%; 1308 | grid-template-columns: 1fr 50%; 1309 | } 1310 | 1311 | .wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content, 1312 | .wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media { 1313 | -ms-grid-row-align: start; 1314 | align-self: start; 1315 | } 1316 | 1317 | .wp-block-media-text .wp-block-media-text__content, 1318 | .wp-block-media-text .wp-block-media-text__media, 1319 | .wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content, 1320 | .wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media { 1321 | -ms-grid-row-align: center; 1322 | align-self: center; 1323 | } 1324 | 1325 | .wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content, 1326 | .wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media { 1327 | -ms-grid-row-align: end; 1328 | align-self: end; 1329 | } 1330 | 1331 | .wp-block-media-text .wp-block-media-text__media { 1332 | /*!rtl:begin:ignore*/ 1333 | -ms-grid-column: 1; 1334 | grid-column: 1; 1335 | -ms-grid-row: 1; 1336 | grid-row: 1; 1337 | /*!rtl:end:ignore*/ 1338 | margin: 0; 1339 | } 1340 | 1341 | .wp-block-media-text .wp-block-media-text__content { 1342 | direction: ltr; 1343 | /*!rtl:begin:ignore*/ 1344 | -ms-grid-column: 2; 1345 | grid-column: 2; 1346 | -ms-grid-row: 1; 1347 | grid-row: 1; 1348 | /*!rtl:end:ignore*/ 1349 | padding: 0 8% 0 8%; 1350 | word-break: break-word; 1351 | } 1352 | 1353 | .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { 1354 | /*!rtl:begin:ignore*/ 1355 | -ms-grid-column: 2; 1356 | grid-column: 2; 1357 | -ms-grid-row: 1; 1358 | grid-row: 1; 1359 | /*!rtl:end:ignore*/ 1360 | } 1361 | 1362 | .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { 1363 | /*!rtl:begin:ignore*/ 1364 | -ms-grid-column: 1; 1365 | grid-column: 1; 1366 | -ms-grid-row: 1; 1367 | grid-row: 1; 1368 | /*!rtl:end:ignore*/ 1369 | } 1370 | 1371 | .wp-block-media-text__media img, 1372 | .wp-block-media-text__media video { 1373 | max-width: unset; 1374 | width: 100%; 1375 | vertical-align: middle; 1376 | } 1377 | 1378 | .wp-block-media-text.is-image-fill .wp-block-media-text__media { 1379 | height: 100%; 1380 | min-height: 250px; 1381 | background-size: cover; 1382 | } 1383 | 1384 | .wp-block-media-text.is-image-fill .wp-block-media-text__media > a { 1385 | display: block; 1386 | height: 100%; 1387 | } 1388 | 1389 | .wp-block-media-text.is-image-fill .wp-block-media-text__media img { 1390 | position: absolute; 1391 | width: 1px; 1392 | height: 1px; 1393 | padding: 0; 1394 | margin: -1px; 1395 | overflow: hidden; 1396 | clip: rect(0, 0, 0, 0); 1397 | border: 0; 1398 | } 1399 | 1400 | /* 1401 | * Here we here not able to use a mobile first CSS approach. 1402 | * Custom widths are set using inline styles, and on mobile, 1403 | * we need 100% width, so we use important to overwrite the inline style. 1404 | * If the style were set on mobile first, on desktop styles, 1405 | * we would have no way of setting the style again to the inline style. 1406 | */ 1407 | @media (max-width: 600px) { 1408 | .wp-block-media-text.is-stacked-on-mobile { 1409 | -ms-grid-columns: 100% !important; 1410 | grid-template-columns: 100% !important; 1411 | } 1412 | .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media { 1413 | -ms-grid-column: 1; 1414 | grid-column: 1; 1415 | -ms-grid-row: 1; 1416 | grid-row: 1; 1417 | } 1418 | .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { 1419 | -ms-grid-column: 1; 1420 | grid-column: 1; 1421 | -ms-grid-row: 2; 1422 | grid-row: 2; 1423 | } 1424 | } 1425 | .wp-block-navigation ul, 1426 | .wp-block-navigation ul li { 1427 | list-style: none; 1428 | padding: 0; 1429 | } 1430 | 1431 | .wp-block-navigation__container { 1432 | align-items: center; 1433 | list-style: none; 1434 | margin: 0; 1435 | padding-left: 0; 1436 | display: flex; 1437 | flex-wrap: wrap; 1438 | } 1439 | .is-vertical .wp-block-navigation__container { 1440 | display: block; 1441 | } 1442 | 1443 | .items-justified-center > ul { 1444 | justify-content: center; 1445 | } 1446 | 1447 | .items-justified-right > ul { 1448 | justify-content: flex-end; 1449 | } 1450 | 1451 | .items-justified-space-between > ul { 1452 | justify-content: space-between; 1453 | } 1454 | 1455 | .wp-block-navigation .wp-block-pages-list__item, 1456 | .wp-block-navigation .wp-block-navigation-link { 1457 | display: flex; 1458 | align-items: center; 1459 | position: relative; 1460 | margin: 0 0.5em 0 0; 1461 | } 1462 | .wp-block-navigation 1463 | .wp-block-pages-list__item 1464 | .wp-block-navigation-link__container:empty, 1465 | .wp-block-navigation 1466 | .wp-block-navigation-link 1467 | .wp-block-navigation-link__container:empty { 1468 | display: none; 1469 | } 1470 | .wp-block-navigation 1471 | .wp-block-navigation__container 1472 | > .wp-block-pages-list__item:last-child, 1473 | .wp-block-navigation 1474 | .wp-block-navigation__container 1475 | > .wp-block-navigation-link:last-child { 1476 | margin-right: 0; 1477 | } 1478 | .wp-block-navigation .wp-block-pages-list__item__link, 1479 | .wp-block-navigation .wp-block-navigation-link__content { 1480 | color: inherit; 1481 | display: block; 1482 | padding: 0.5em 1em; 1483 | } 1484 | .wp-block-navigation[style*="text-decoration"] .wp-block-pages-list__item, 1485 | .wp-block-navigation[style*="text-decoration"] 1486 | .wp-block-navigation-link__container, 1487 | .wp-block-navigation[style*="text-decoration"] .wp-block-navigation-link { 1488 | text-decoration: inherit; 1489 | } 1490 | .wp-block-navigation[style*="text-decoration"] .wp-block-pages-list__item__link, 1491 | .wp-block-navigation[style*="text-decoration"] 1492 | .wp-block-navigation-link__content { 1493 | text-decoration: inherit; 1494 | } 1495 | .wp-block-navigation[style*="text-decoration"] 1496 | .wp-block-pages-list__item__link:focus, 1497 | .wp-block-navigation[style*="text-decoration"] 1498 | .wp-block-pages-list__item__link:active, 1499 | .wp-block-navigation[style*="text-decoration"] 1500 | .wp-block-navigation-link__content:focus, 1501 | .wp-block-navigation[style*="text-decoration"] 1502 | .wp-block-navigation-link__content:active { 1503 | text-decoration: inherit; 1504 | } 1505 | .wp-block-navigation:not([style*="text-decoration"]) 1506 | .wp-block-pages-list__item__link, 1507 | .wp-block-navigation:not([style*="text-decoration"]) 1508 | .wp-block-navigation-link__content { 1509 | text-decoration: none; 1510 | } 1511 | .wp-block-navigation:not([style*="text-decoration"]) 1512 | .wp-block-pages-list__item__link:focus, 1513 | .wp-block-navigation:not([style*="text-decoration"]) 1514 | .wp-block-pages-list__item__link:active, 1515 | .wp-block-navigation:not([style*="text-decoration"]) 1516 | .wp-block-navigation-link__content:focus, 1517 | .wp-block-navigation:not([style*="text-decoration"]) 1518 | .wp-block-navigation-link__content:active { 1519 | text-decoration: none; 1520 | } 1521 | .wp-block-navigation .wp-block-navigation-link__label { 1522 | word-break: normal; 1523 | overflow-wrap: break-word; 1524 | } 1525 | .wp-block-navigation .wp-block-page-list__submenu-icon, 1526 | .wp-block-navigation .wp-block-navigation-link__submenu-icon { 1527 | height: inherit; 1528 | padding: 0.375em 1em 0.375em 0; 1529 | } 1530 | .wp-block-navigation .wp-block-page-list__submenu-icon svg, 1531 | .wp-block-navigation .wp-block-navigation-link__submenu-icon svg { 1532 | stroke: currentColor; 1533 | } 1534 | .wp-block-navigation .has-child > .wp-block-pages-list__item__link, 1535 | .wp-block-navigation .has-child > .wp-block-navigation-link__content { 1536 | padding-right: 0.5em; 1537 | } 1538 | .wp-block-navigation .has-child .submenu-container, 1539 | .wp-block-navigation .has-child .wp-block-navigation-link__container { 1540 | background-color: inherit; 1541 | color: inherit; 1542 | position: absolute; 1543 | left: 0; 1544 | top: 100%; 1545 | z-index: 2; 1546 | display: flex; 1547 | flex-direction: column; 1548 | align-items: normal; 1549 | min-width: 200px; 1550 | opacity: 0; 1551 | transition: opacity 0.1s linear; 1552 | visibility: hidden; 1553 | } 1554 | .wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item, 1555 | .wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link, 1556 | .wp-block-navigation 1557 | .has-child 1558 | .wp-block-navigation-link__container 1559 | > .wp-block-pages-list__item, 1560 | .wp-block-navigation 1561 | .has-child 1562 | .wp-block-navigation-link__container 1563 | > .wp-block-navigation-link { 1564 | margin: 0; 1565 | } 1566 | .wp-block-navigation 1567 | .has-child 1568 | .submenu-container 1569 | > .wp-block-pages-list__item 1570 | > .wp-block-pages-list__item__link, 1571 | .wp-block-navigation 1572 | .has-child 1573 | .submenu-container 1574 | > .wp-block-pages-list__item 1575 | > .wp-block-navigation-link__content, 1576 | .wp-block-navigation 1577 | .has-child 1578 | .submenu-container 1579 | > .wp-block-navigation-link 1580 | > .wp-block-pages-list__item__link, 1581 | .wp-block-navigation 1582 | .has-child 1583 | .submenu-container 1584 | > .wp-block-navigation-link 1585 | > .wp-block-navigation-link__content, 1586 | .wp-block-navigation 1587 | .has-child 1588 | .wp-block-navigation-link__container 1589 | > .wp-block-pages-list__item 1590 | > .wp-block-pages-list__item__link, 1591 | .wp-block-navigation 1592 | .has-child 1593 | .wp-block-navigation-link__container 1594 | > .wp-block-pages-list__item 1595 | > .wp-block-navigation-link__content, 1596 | .wp-block-navigation 1597 | .has-child 1598 | .wp-block-navigation-link__container 1599 | > .wp-block-navigation-link 1600 | > .wp-block-pages-list__item__link, 1601 | .wp-block-navigation 1602 | .has-child 1603 | .wp-block-navigation-link__container 1604 | > .wp-block-navigation-link 1605 | > .wp-block-navigation-link__content { 1606 | flex-grow: 1; 1607 | } 1608 | .wp-block-navigation 1609 | .has-child 1610 | .submenu-container 1611 | > .wp-block-pages-list__item 1612 | > .wp-block-page-list__submenu-icon, 1613 | .wp-block-navigation 1614 | .has-child 1615 | .submenu-container 1616 | > .wp-block-pages-list__item 1617 | > .wp-block-navigation-link__submenu-icon, 1618 | .wp-block-navigation 1619 | .has-child 1620 | .submenu-container 1621 | > .wp-block-navigation-link 1622 | > .wp-block-page-list__submenu-icon, 1623 | .wp-block-navigation 1624 | .has-child 1625 | .submenu-container 1626 | > .wp-block-navigation-link 1627 | > .wp-block-navigation-link__submenu-icon, 1628 | .wp-block-navigation 1629 | .has-child 1630 | .wp-block-navigation-link__container 1631 | > .wp-block-pages-list__item 1632 | > .wp-block-page-list__submenu-icon, 1633 | .wp-block-navigation 1634 | .has-child 1635 | .wp-block-navigation-link__container 1636 | > .wp-block-pages-list__item 1637 | > .wp-block-navigation-link__submenu-icon, 1638 | .wp-block-navigation 1639 | .has-child 1640 | .wp-block-navigation-link__container 1641 | > .wp-block-navigation-link 1642 | > .wp-block-page-list__submenu-icon, 1643 | .wp-block-navigation 1644 | .has-child 1645 | .wp-block-navigation-link__container 1646 | > .wp-block-navigation-link 1647 | > .wp-block-navigation-link__submenu-icon { 1648 | padding-right: 0.5em; 1649 | } 1650 | @media (min-width: 782px) { 1651 | .wp-block-navigation .has-child .submenu-container .submenu-container, 1652 | .wp-block-navigation 1653 | .has-child 1654 | .submenu-container 1655 | .wp-block-navigation-link__container, 1656 | .wp-block-navigation 1657 | .has-child 1658 | .wp-block-navigation-link__container 1659 | .submenu-container, 1660 | .wp-block-navigation 1661 | .has-child 1662 | .wp-block-navigation-link__container 1663 | .wp-block-navigation-link__container { 1664 | left: 100%; 1665 | top: 0; 1666 | } 1667 | .wp-block-navigation .has-child .submenu-container .submenu-container::before, 1668 | .wp-block-navigation 1669 | .has-child 1670 | .submenu-container 1671 | .wp-block-navigation-link__container::before, 1672 | .wp-block-navigation 1673 | .has-child 1674 | .wp-block-navigation-link__container 1675 | .submenu-container::before, 1676 | .wp-block-navigation 1677 | .has-child 1678 | .wp-block-navigation-link__container 1679 | .wp-block-navigation-link__container::before { 1680 | content: ""; 1681 | position: absolute; 1682 | right: 100%; 1683 | height: 100%; 1684 | display: block; 1685 | width: 0.5em; 1686 | background: transparent; 1687 | } 1688 | .wp-block-navigation 1689 | .has-child 1690 | .submenu-container 1691 | .wp-block-page-list__submenu-icon 1692 | svg, 1693 | .wp-block-navigation 1694 | .has-child 1695 | .submenu-container 1696 | .wp-block-navigation-link__submenu-icon 1697 | svg, 1698 | .wp-block-navigation 1699 | .has-child 1700 | .wp-block-navigation-link__container 1701 | .wp-block-page-list__submenu-icon 1702 | svg, 1703 | .wp-block-navigation 1704 | .has-child 1705 | .wp-block-navigation-link__container 1706 | .wp-block-navigation-link__submenu-icon 1707 | svg { 1708 | transform: rotate(-90deg); 1709 | } 1710 | } 1711 | .wp-block-navigation .has-child:hover > .wp-block-navigation-link__container { 1712 | visibility: visible; 1713 | opacity: 1; 1714 | } 1715 | .wp-block-navigation 1716 | .has-child:focus-within 1717 | > .wp-block-navigation-link__container { 1718 | visibility: visible; 1719 | opacity: 1; 1720 | } 1721 | .wp-block-navigation .has-child:hover { 1722 | cursor: pointer; 1723 | } 1724 | .wp-block-navigation .has-child:hover > .submenu-container { 1725 | visibility: visible; 1726 | opacity: 1; 1727 | } 1728 | .wp-block-navigation .has-child:focus-within { 1729 | cursor: pointer; 1730 | } 1731 | .wp-block-navigation .has-child:focus-within > .submenu-container { 1732 | visibility: visible; 1733 | opacity: 1; 1734 | } 1735 | .wp-block-navigation.items-justified-space-between 1736 | > .submenu-container 1737 | > .has-child:last-child 1738 | .submenu-container, 1739 | .wp-block-navigation.items-justified-space-between 1740 | > .submenu-container 1741 | > .has-child:last-child 1742 | .wp-block-navigation-link__container, 1743 | .wp-block-navigation.items-justified-space-between 1744 | > .wp-block-navigation__container 1745 | > .has-child:last-child 1746 | .submenu-container, 1747 | .wp-block-navigation.items-justified-space-between 1748 | > .wp-block-navigation__container 1749 | > .has-child:last-child 1750 | .wp-block-navigation-link__container, 1751 | .wp-block-navigation.items-justified-right .has-child .submenu-container, 1752 | .wp-block-navigation.items-justified-right 1753 | .has-child 1754 | .wp-block-navigation-link__container { 1755 | left: auto; 1756 | right: 0; 1757 | } 1758 | .wp-block-navigation.items-justified-space-between 1759 | > .submenu-container 1760 | > .has-child:last-child 1761 | .submenu-container 1762 | .submenu-container, 1763 | .wp-block-navigation.items-justified-space-between 1764 | > .submenu-container 1765 | > .has-child:last-child 1766 | .submenu-container 1767 | .wp-block-navigation-link__container, 1768 | .wp-block-navigation.items-justified-space-between 1769 | > .submenu-container 1770 | > .has-child:last-child 1771 | .wp-block-navigation-link__container 1772 | .submenu-container, 1773 | .wp-block-navigation.items-justified-space-between 1774 | > .submenu-container 1775 | > .has-child:last-child 1776 | .wp-block-navigation-link__container 1777 | .wp-block-navigation-link__container, 1778 | .wp-block-navigation.items-justified-space-between 1779 | > .wp-block-navigation__container 1780 | > .has-child:last-child 1781 | .submenu-container 1782 | .submenu-container, 1783 | .wp-block-navigation.items-justified-space-between 1784 | > .wp-block-navigation__container 1785 | > .has-child:last-child 1786 | .submenu-container 1787 | .wp-block-navigation-link__container, 1788 | .wp-block-navigation.items-justified-space-between 1789 | > .wp-block-navigation__container 1790 | > .has-child:last-child 1791 | .wp-block-navigation-link__container 1792 | .submenu-container, 1793 | .wp-block-navigation.items-justified-space-between 1794 | > .wp-block-navigation__container 1795 | > .has-child:last-child 1796 | .wp-block-navigation-link__container 1797 | .wp-block-navigation-link__container, 1798 | .wp-block-navigation.items-justified-right 1799 | .has-child 1800 | .submenu-container 1801 | .submenu-container, 1802 | .wp-block-navigation.items-justified-right 1803 | .has-child 1804 | .submenu-container 1805 | .wp-block-navigation-link__container, 1806 | .wp-block-navigation.items-justified-right 1807 | .has-child 1808 | .wp-block-navigation-link__container 1809 | .submenu-container, 1810 | .wp-block-navigation.items-justified-right 1811 | .has-child 1812 | .wp-block-navigation-link__container 1813 | .wp-block-navigation-link__container { 1814 | left: auto; 1815 | right: 100%; 1816 | } 1817 | 1818 | .wp-block-navigation:not(.has-background) .submenu-container, 1819 | .wp-block-navigation:not(.has-background) 1820 | .wp-block-navigation__container 1821 | .wp-block-navigation-link__container { 1822 | background-color: #fff; 1823 | color: #000; 1824 | border: 1px solid rgba(0, 0, 0, 0.15); 1825 | } 1826 | .wp-block-navigation:not(.has-background) .submenu-container .submenu-container, 1827 | .wp-block-navigation:not(.has-background) 1828 | .submenu-container 1829 | .wp-block-navigation-link__container, 1830 | .wp-block-navigation:not(.has-background) 1831 | .wp-block-navigation__container 1832 | .wp-block-navigation-link__container 1833 | .submenu-container, 1834 | .wp-block-navigation:not(.has-background) 1835 | .wp-block-navigation__container 1836 | .wp-block-navigation-link__container 1837 | .wp-block-navigation-link__container { 1838 | top: -1px; 1839 | } 1840 | 1841 | .wp-block-navigation .wp-block-page-list { 1842 | display: flex; 1843 | flex-wrap: wrap; 1844 | background-color: inherit; 1845 | } 1846 | .wp-block-navigation .wp-block-pages-list__item { 1847 | background-color: inherit; 1848 | } 1849 | .wp-block-navigation .wp-block-page-list__submenu-icon { 1850 | display: none; 1851 | } 1852 | .wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon { 1853 | display: block; 1854 | } 1855 | 1856 | .is-vertical .wp-block-navigation__container .wp-block-page-list { 1857 | display: block; 1858 | } 1859 | 1860 | .is-small-text { 1861 | font-size: 0.875em; 1862 | } 1863 | 1864 | .is-regular-text { 1865 | font-size: 1em; 1866 | } 1867 | 1868 | .is-large-text { 1869 | font-size: 2.25em; 1870 | } 1871 | 1872 | .is-larger-text { 1873 | font-size: 3em; 1874 | } 1875 | 1876 | .has-drop-cap:not(:focus)::first-letter { 1877 | float: left; 1878 | font-size: 8.4em; 1879 | line-height: 0.68; 1880 | font-weight: 100; 1881 | margin: 0.05em 0.1em 0 0; 1882 | text-transform: uppercase; 1883 | font-style: normal; 1884 | } 1885 | 1886 | p.has-drop-cap.has-background { 1887 | overflow: hidden; 1888 | } 1889 | 1890 | p.has-background { 1891 | padding: 1.25em 2.375em; 1892 | } 1893 | 1894 | p.has-text-color a { 1895 | color: inherit; 1896 | } 1897 | 1898 | .wp-block-post-author { 1899 | display: flex; 1900 | flex-wrap: wrap; 1901 | } 1902 | .wp-block-post-author__byline { 1903 | width: 100%; 1904 | margin-top: 0; 1905 | margin-bottom: 0; 1906 | font-size: 0.5em; 1907 | } 1908 | .wp-block-post-author__avatar { 1909 | margin-right: 1em; 1910 | } 1911 | .wp-block-post-author__bio { 1912 | margin-bottom: 0.7em; 1913 | font-size: 0.7em; 1914 | } 1915 | .wp-block-post-author__content { 1916 | flex-grow: 1; 1917 | flex-basis: 0; 1918 | } 1919 | .wp-block-post-author__name { 1920 | font-weight: bold; 1921 | margin: 0; 1922 | } 1923 | 1924 | .wp-block-post-comments-form input[type="submit"] { 1925 | color: #fff; 1926 | background-color: #32373c; 1927 | border: none; 1928 | border-radius: 9999px; 1929 | box-shadow: none; 1930 | cursor: pointer; 1931 | display: inline-block; 1932 | font-size: 1.125em; 1933 | padding: 0.667em 1.333em; 1934 | text-align: center; 1935 | text-decoration: none; 1936 | overflow-wrap: break-word; 1937 | } 1938 | .wp-block-post-comments-form input[type="submit"]:hover, 1939 | .wp-block-post-comments-form input[type="submit"]:focus, 1940 | .wp-block-post-comments-form input[type="submit"]:active, 1941 | .wp-block-post-comments-form input[type="submit"]:visited { 1942 | color: #fff; 1943 | } 1944 | 1945 | .wp-block-post-excerpt__more-link { 1946 | display: inline-block; 1947 | } 1948 | 1949 | .wp-block-preformatted { 1950 | white-space: pre-wrap; 1951 | } 1952 | 1953 | .wp-block-preformatted.has-background { 1954 | padding: 1.25em 2.375em; 1955 | } 1956 | 1957 | .wp-block-pullquote { 1958 | margin: 0 0 1em 0; 1959 | padding: 3em 0; 1960 | text-align: center; 1961 | } 1962 | .wp-block-pullquote.alignleft, 1963 | .wp-block-pullquote.alignright { 1964 | max-width: 420px; 1965 | } 1966 | .wp-block-pullquote.alignleft p, 1967 | .wp-block-pullquote.alignright p { 1968 | font-size: 1.25em; 1969 | } 1970 | .wp-block-pullquote p { 1971 | font-size: 1.75em; 1972 | line-height: 1.6; 1973 | } 1974 | .wp-block-pullquote cite, 1975 | .wp-block-pullquote footer { 1976 | position: relative; 1977 | } 1978 | .wp-block-pullquote .has-text-color a { 1979 | color: inherit; 1980 | } 1981 | 1982 | .wp-block-pullquote:not(.is-style-solid-color) { 1983 | background: none; 1984 | } 1985 | 1986 | .wp-block-pullquote.is-style-solid-color { 1987 | border: none; 1988 | } 1989 | .wp-block-pullquote.is-style-solid-color blockquote { 1990 | margin-left: auto; 1991 | margin-right: auto; 1992 | text-align: left; 1993 | max-width: 60%; 1994 | } 1995 | .wp-block-pullquote.is-style-solid-color blockquote p { 1996 | margin-top: 0; 1997 | margin-bottom: 0; 1998 | font-size: 2em; 1999 | } 2000 | .wp-block-pullquote.is-style-solid-color blockquote cite { 2001 | text-transform: none; 2002 | font-style: normal; 2003 | } 2004 | 2005 | .wp-block-pullquote cite { 2006 | color: inherit; 2007 | } 2008 | 2009 | .wp-block-query-loop { 2010 | max-width: 100%; 2011 | list-style: none; 2012 | padding: 0; 2013 | } 2014 | .wp-block-query-loop li { 2015 | clear: both; 2016 | } 2017 | .wp-block-query-loop.is-flex-container { 2018 | flex-direction: row; 2019 | display: flex; 2020 | flex-wrap: wrap; 2021 | } 2022 | .wp-block-query-loop.is-flex-container li { 2023 | margin: 0 0 1.25em 0; 2024 | width: 100%; 2025 | } 2026 | @media (min-width: 600px) { 2027 | .wp-block-query-loop.is-flex-container li { 2028 | margin-right: 1.25em; 2029 | } 2030 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-2 > li { 2031 | width: calc((100% / 2) - 1.25em + (1.25em / 2)); 2032 | } 2033 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-2 2034 | > li:nth-child(2n) { 2035 | margin-right: 0; 2036 | } 2037 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-3 > li { 2038 | width: calc((100% / 3) - 1.25em + (1.25em / 3)); 2039 | } 2040 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-3 2041 | > li:nth-child(3n) { 2042 | margin-right: 0; 2043 | } 2044 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-4 > li { 2045 | width: calc((100% / 4) - 1.25em + (1.25em / 4)); 2046 | } 2047 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-4 2048 | > li:nth-child(4n) { 2049 | margin-right: 0; 2050 | } 2051 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-5 > li { 2052 | width: calc((100% / 5) - 1.25em + (1.25em / 5)); 2053 | } 2054 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-5 2055 | > li:nth-child(5n) { 2056 | margin-right: 0; 2057 | } 2058 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-6 > li { 2059 | width: calc((100% / 6) - 1.25em + (1.25em / 6)); 2060 | } 2061 | .wp-block-query-loop.is-flex-container.is-flex-container.columns-6 2062 | > li:nth-child(6n) { 2063 | margin-right: 0; 2064 | } 2065 | } 2066 | 2067 | .wp-block-query-pagination { 2068 | display: flex; 2069 | flex-direction: row; 2070 | flex-wrap: wrap; 2071 | } 2072 | .wp-block-query-pagination > .wp-block-query-pagination-next, 2073 | .wp-block-query-pagination > .wp-block-query-pagination-previous, 2074 | .wp-block-query-pagination > .wp-block-query-pagination-numbers { 2075 | display: inline-block; 2076 | /*rtl:ignore*/ 2077 | margin-right: 0.5em; 2078 | margin-bottom: 0.5em; 2079 | } 2080 | .wp-block-query-pagination > .wp-block-query-pagination-next:last-child, 2081 | .wp-block-query-pagination > .wp-block-query-pagination-previous:last-child, 2082 | .wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child { 2083 | /*rtl:ignore*/ 2084 | margin-right: 0; 2085 | } 2086 | 2087 | .wp-block-quote.is-style-large, 2088 | .wp-block-quote.is-large { 2089 | margin-bottom: 1em; 2090 | padding: 0 1em; 2091 | } 2092 | .wp-block-quote.is-style-large p, 2093 | .wp-block-quote.is-large p { 2094 | font-size: 1.5em; 2095 | font-style: italic; 2096 | line-height: 1.6; 2097 | } 2098 | .wp-block-quote.is-style-large cite, 2099 | .wp-block-quote.is-style-large footer, 2100 | .wp-block-quote.is-large cite, 2101 | .wp-block-quote.is-large footer { 2102 | font-size: 1.125em; 2103 | text-align: right; 2104 | } 2105 | 2106 | .wp-block-rss.wp-block-rss { 2107 | box-sizing: border-box; 2108 | } 2109 | .wp-block-rss.alignleft { 2110 | /*rtl:ignore*/ 2111 | margin-right: 2em; 2112 | } 2113 | .wp-block-rss.alignright { 2114 | /*rtl:ignore*/ 2115 | margin-left: 2em; 2116 | } 2117 | .wp-block-rss.is-grid { 2118 | display: flex; 2119 | flex-wrap: wrap; 2120 | padding: 0; 2121 | list-style: none; 2122 | } 2123 | .wp-block-rss.is-grid li { 2124 | margin: 0 1em 1em 0; 2125 | width: 100%; 2126 | } 2127 | @media (min-width: 600px) { 2128 | .wp-block-rss.columns-2 li { 2129 | width: calc((100% / 2) - 1em); 2130 | } 2131 | .wp-block-rss.columns-3 li { 2132 | width: calc((100% / 3) - 1em); 2133 | } 2134 | .wp-block-rss.columns-4 li { 2135 | width: calc((100% / 4) - 1em); 2136 | } 2137 | .wp-block-rss.columns-5 li { 2138 | width: calc((100% / 5) - 1em); 2139 | } 2140 | .wp-block-rss.columns-6 li { 2141 | width: calc((100% / 6) - 1em); 2142 | } 2143 | } 2144 | 2145 | .wp-block-rss__item-publish-date, 2146 | .wp-block-rss__item-author { 2147 | display: block; 2148 | color: #555; 2149 | font-size: 0.8125em; 2150 | } 2151 | 2152 | .wp-block-search .wp-block-search__button { 2153 | background: #f7f7f7; 2154 | border: 1px solid #ccc; 2155 | padding: 0.375em 0.625em; 2156 | color: #32373c; 2157 | margin-left: 0.625em; 2158 | word-break: normal; 2159 | } 2160 | .wp-block-search .wp-block-search__button.has-icon { 2161 | line-height: 0; 2162 | } 2163 | .wp-block-search .wp-block-search__button svg { 2164 | min-width: 1.5em; 2165 | min-height: 1.5em; 2166 | } 2167 | .wp-block-search .wp-block-search__inside-wrapper { 2168 | display: flex; 2169 | flex: auto; 2170 | flex-wrap: nowrap; 2171 | max-width: 100%; 2172 | } 2173 | .wp-block-search .wp-block-search__label { 2174 | width: 100%; 2175 | } 2176 | .wp-block-search .wp-block-search__input { 2177 | flex-grow: 1; 2178 | min-width: 3em; 2179 | border: 1px solid #949494; 2180 | } 2181 | .wp-block-search.wp-block-search__button-only .wp-block-search__button { 2182 | margin-left: 0; 2183 | } 2184 | .wp-block-search.wp-block-search__button-inside 2185 | .wp-block-search__inside-wrapper { 2186 | padding: 4px; 2187 | border: 1px solid #949494; 2188 | } 2189 | .wp-block-search.wp-block-search__button-inside 2190 | .wp-block-search__inside-wrapper 2191 | .wp-block-search__input { 2192 | border-radius: 0; 2193 | border: none; 2194 | padding: 0 0 0 0.25em; 2195 | } 2196 | .wp-block-search.wp-block-search__button-inside 2197 | .wp-block-search__inside-wrapper 2198 | .wp-block-search__input:focus { 2199 | outline: none; 2200 | } 2201 | .wp-block-search.wp-block-search__button-inside 2202 | .wp-block-search__inside-wrapper 2203 | .wp-block-search__button { 2204 | padding: 0.125em 0.5em; 2205 | } 2206 | .wp-block-search.aligncenter .wp-block-search__inside-wrapper { 2207 | margin: auto; 2208 | } 2209 | 2210 | .wp-block-separator { 2211 | border-top: 1px solid currentColor; 2212 | border-bottom: 1px solid currentColor; 2213 | } 2214 | .wp-block-separator.is-style-wide { 2215 | border-bottom-width: 1px; 2216 | } 2217 | .wp-block-separator.is-style-dots { 2218 | background: none !important; 2219 | border: none; 2220 | text-align: center; 2221 | width: none; 2222 | line-height: 1; 2223 | height: auto; 2224 | } 2225 | .wp-block-separator.is-style-dots::before { 2226 | content: "···"; 2227 | color: currentColor; 2228 | font-size: 1.5em; 2229 | letter-spacing: 2em; 2230 | /*rtl:ignore*/ 2231 | padding-left: 2em; 2232 | font-family: serif; 2233 | } 2234 | 2235 | .wp-block-site-logo { 2236 | line-height: 0; 2237 | } 2238 | .wp-block-site-logo a { 2239 | display: inline-block; 2240 | } 2241 | .wp-block-site-logo:not(.is-resized) img { 2242 | width: 120px; 2243 | } 2244 | .wp-block-site-logo .aligncenter { 2245 | display: table; 2246 | } 2247 | .wp-block-site-logo.is-style-rounded img { 2248 | border-radius: 9999px; 2249 | } 2250 | 2251 | .wp-block-social-links { 2252 | display: flex; 2253 | flex-wrap: wrap; 2254 | padding-left: 0; 2255 | padding-right: 0; 2256 | text-indent: 0; 2257 | margin-left: 0; 2258 | } 2259 | .wp-block-social-links .wp-social-link a, 2260 | .wp-block-social-links .wp-social-link a:hover { 2261 | text-decoration: none; 2262 | border-bottom: 0; 2263 | box-shadow: none; 2264 | } 2265 | .wp-block-social-links .wp-social-link.wp-social-link.wp-social-link { 2266 | margin: 4px 8px 4px 0; 2267 | } 2268 | .wp-block-social-links .wp-social-link a { 2269 | padding: 0.25em; 2270 | } 2271 | .wp-block-social-links .wp-social-link svg { 2272 | width: 1em; 2273 | height: 1em; 2274 | } 2275 | .wp-block-social-links.has-small-icon-size { 2276 | font-size: 16px; 2277 | } 2278 | .wp-block-social-links, 2279 | .wp-block-social-links.has-normal-icon-size { 2280 | font-size: 24px; 2281 | } 2282 | .wp-block-social-links.has-large-icon-size { 2283 | font-size: 36px; 2284 | } 2285 | .wp-block-social-links.has-huge-icon-size { 2286 | font-size: 48px; 2287 | } 2288 | .wp-block-social-links.aligncenter { 2289 | justify-content: center; 2290 | display: flex; 2291 | } 2292 | .wp-block-social-links.alignright { 2293 | justify-content: flex-end; 2294 | } 2295 | 2296 | .wp-social-link { 2297 | display: block; 2298 | border-radius: 9999px; 2299 | transition: transform 0.1s ease; 2300 | height: auto; 2301 | } 2302 | @media (prefers-reduced-motion: reduce) { 2303 | .wp-social-link { 2304 | transition-duration: 0s; 2305 | transition-delay: 0s; 2306 | } 2307 | } 2308 | .wp-social-link a { 2309 | display: block; 2310 | line-height: 0; 2311 | transition: transform 0.1s ease; 2312 | } 2313 | .wp-social-link a, 2314 | .wp-social-link a:hover, 2315 | .wp-social-link a:active, 2316 | .wp-social-link a:visited, 2317 | .wp-social-link svg { 2318 | color: currentColor; 2319 | fill: currentColor; 2320 | } 2321 | .wp-social-link:hover { 2322 | transform: scale(1.1); 2323 | } 2324 | 2325 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link { 2326 | background-color: #f0f0f0; 2327 | color: #444; 2328 | } 2329 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon { 2330 | background-color: #f90; 2331 | color: #fff; 2332 | } 2333 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp { 2334 | background-color: #1ea0c3; 2335 | color: #fff; 2336 | } 2337 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance { 2338 | background-color: #0757fe; 2339 | color: #fff; 2340 | } 2341 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen { 2342 | background-color: #1e1f26; 2343 | color: #fff; 2344 | } 2345 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart { 2346 | background-color: #02e49b; 2347 | color: #fff; 2348 | } 2349 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble { 2350 | background-color: #e94c89; 2351 | color: #fff; 2352 | } 2353 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox { 2354 | background-color: #4280ff; 2355 | color: #fff; 2356 | } 2357 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy { 2358 | background-color: #f45800; 2359 | color: #fff; 2360 | } 2361 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook { 2362 | background-color: #1778f2; 2363 | color: #fff; 2364 | } 2365 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx { 2366 | background-color: #000; 2367 | color: #fff; 2368 | } 2369 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr { 2370 | background-color: #0461dd; 2371 | color: #fff; 2372 | } 2373 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare { 2374 | background-color: #e65678; 2375 | color: #fff; 2376 | } 2377 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github { 2378 | background-color: #24292d; 2379 | color: #fff; 2380 | } 2381 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads { 2382 | background-color: #eceadd; 2383 | color: #382110; 2384 | } 2385 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google { 2386 | background-color: #ea4434; 2387 | color: #fff; 2388 | } 2389 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram { 2390 | background-color: #f00075; 2391 | color: #fff; 2392 | } 2393 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm { 2394 | background-color: #e21b24; 2395 | color: #fff; 2396 | } 2397 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin { 2398 | background-color: #0d66c2; 2399 | color: #fff; 2400 | } 2401 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon { 2402 | background-color: #3288d4; 2403 | color: #fff; 2404 | } 2405 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium { 2406 | background-color: #02ab6c; 2407 | color: #fff; 2408 | } 2409 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup { 2410 | background-color: #f6405f; 2411 | color: #fff; 2412 | } 2413 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon { 2414 | background-color: #ff424d; 2415 | color: #fff; 2416 | } 2417 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest { 2418 | background-color: #e60122; 2419 | color: #fff; 2420 | } 2421 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket { 2422 | background-color: #ef4155; 2423 | color: #fff; 2424 | } 2425 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit { 2426 | background-color: #fe4500; 2427 | color: #fff; 2428 | } 2429 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype { 2430 | background-color: #0478d7; 2431 | color: #fff; 2432 | } 2433 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat { 2434 | background-color: #fefc00; 2435 | color: #fff; 2436 | stroke: #000; 2437 | } 2438 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud { 2439 | background-color: #ff5600; 2440 | color: #fff; 2441 | } 2442 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify { 2443 | background-color: #1bd760; 2444 | color: #fff; 2445 | } 2446 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram { 2447 | background-color: #2aabee; 2448 | color: #fff; 2449 | } 2450 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok { 2451 | background-color: #000; 2452 | color: #fff; 2453 | } 2454 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr { 2455 | background-color: #011835; 2456 | color: #fff; 2457 | } 2458 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch { 2459 | background-color: #6440a4; 2460 | color: #fff; 2461 | } 2462 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter { 2463 | background-color: #1da1f2; 2464 | color: #fff; 2465 | } 2466 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo { 2467 | background-color: #1eb7ea; 2468 | color: #fff; 2469 | } 2470 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk { 2471 | background-color: #4680c2; 2472 | color: #fff; 2473 | } 2474 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress { 2475 | background-color: #3499cd; 2476 | color: #fff; 2477 | } 2478 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp { 2479 | background-color: #d32422; 2480 | color: #fff; 2481 | } 2482 | .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube { 2483 | background-color: #f00; 2484 | color: #fff; 2485 | } 2486 | 2487 | .wp-block-social-links.is-style-logos-only .wp-social-link { 2488 | background: none; 2489 | padding: 4px; 2490 | } 2491 | .wp-block-social-links.is-style-logos-only .wp-social-link-amazon { 2492 | color: #f90; 2493 | } 2494 | .wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp { 2495 | color: #1ea0c3; 2496 | } 2497 | .wp-block-social-links.is-style-logos-only .wp-social-link-behance { 2498 | color: #0757fe; 2499 | } 2500 | .wp-block-social-links.is-style-logos-only .wp-social-link-codepen { 2501 | color: #1e1f26; 2502 | } 2503 | .wp-block-social-links.is-style-logos-only .wp-social-link-deviantart { 2504 | color: #02e49b; 2505 | } 2506 | .wp-block-social-links.is-style-logos-only .wp-social-link-dribbble { 2507 | color: #e94c89; 2508 | } 2509 | .wp-block-social-links.is-style-logos-only .wp-social-link-dropbox { 2510 | color: #4280ff; 2511 | } 2512 | .wp-block-social-links.is-style-logos-only .wp-social-link-etsy { 2513 | color: #f45800; 2514 | } 2515 | .wp-block-social-links.is-style-logos-only .wp-social-link-facebook { 2516 | color: #1778f2; 2517 | } 2518 | .wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx { 2519 | color: #000; 2520 | } 2521 | .wp-block-social-links.is-style-logos-only .wp-social-link-flickr { 2522 | color: #0461dd; 2523 | } 2524 | .wp-block-social-links.is-style-logos-only .wp-social-link-foursquare { 2525 | color: #e65678; 2526 | } 2527 | .wp-block-social-links.is-style-logos-only .wp-social-link-github { 2528 | color: #24292d; 2529 | } 2530 | .wp-block-social-links.is-style-logos-only .wp-social-link-goodreads { 2531 | color: #382110; 2532 | } 2533 | .wp-block-social-links.is-style-logos-only .wp-social-link-google { 2534 | color: #ea4434; 2535 | } 2536 | .wp-block-social-links.is-style-logos-only .wp-social-link-instagram { 2537 | color: #f00075; 2538 | } 2539 | .wp-block-social-links.is-style-logos-only .wp-social-link-lastfm { 2540 | color: #e21b24; 2541 | } 2542 | .wp-block-social-links.is-style-logos-only .wp-social-link-linkedin { 2543 | color: #0d66c2; 2544 | } 2545 | .wp-block-social-links.is-style-logos-only .wp-social-link-mastodon { 2546 | color: #3288d4; 2547 | } 2548 | .wp-block-social-links.is-style-logos-only .wp-social-link-medium { 2549 | color: #02ab6c; 2550 | } 2551 | .wp-block-social-links.is-style-logos-only .wp-social-link-meetup { 2552 | color: #f6405f; 2553 | } 2554 | .wp-block-social-links.is-style-logos-only .wp-social-link-patreon { 2555 | color: #ff424d; 2556 | } 2557 | .wp-block-social-links.is-style-logos-only .wp-social-link-pinterest { 2558 | color: #e60122; 2559 | } 2560 | .wp-block-social-links.is-style-logos-only .wp-social-link-pocket { 2561 | color: #ef4155; 2562 | } 2563 | .wp-block-social-links.is-style-logos-only .wp-social-link-reddit { 2564 | color: #fe4500; 2565 | } 2566 | .wp-block-social-links.is-style-logos-only .wp-social-link-skype { 2567 | color: #0478d7; 2568 | } 2569 | .wp-block-social-links.is-style-logos-only .wp-social-link-snapchat { 2570 | color: #fff; 2571 | stroke: #000; 2572 | } 2573 | .wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud { 2574 | color: #ff5600; 2575 | } 2576 | .wp-block-social-links.is-style-logos-only .wp-social-link-spotify { 2577 | color: #1bd760; 2578 | } 2579 | .wp-block-social-links.is-style-logos-only .wp-social-link-telegram { 2580 | color: #2aabee; 2581 | } 2582 | .wp-block-social-links.is-style-logos-only .wp-social-link-tiktok { 2583 | color: #000; 2584 | } 2585 | .wp-block-social-links.is-style-logos-only .wp-social-link-tumblr { 2586 | color: #011835; 2587 | } 2588 | .wp-block-social-links.is-style-logos-only .wp-social-link-twitch { 2589 | color: #6440a4; 2590 | } 2591 | .wp-block-social-links.is-style-logos-only .wp-social-link-twitter { 2592 | color: #1da1f2; 2593 | } 2594 | .wp-block-social-links.is-style-logos-only .wp-social-link-vimeo { 2595 | color: #1eb7ea; 2596 | } 2597 | .wp-block-social-links.is-style-logos-only .wp-social-link-vk { 2598 | color: #4680c2; 2599 | } 2600 | .wp-block-social-links.is-style-logos-only .wp-social-link-wordpress { 2601 | color: #3499cd; 2602 | } 2603 | .wp-block-social-links.is-style-logos-only .wp-social-link-yelp { 2604 | color: #d32422; 2605 | } 2606 | .wp-block-social-links.is-style-logos-only .wp-social-link-youtube { 2607 | color: #f00; 2608 | } 2609 | 2610 | .wp-block-social-links.is-style-pill-shape .wp-social-link { 2611 | width: auto; 2612 | } 2613 | .wp-block-social-links.is-style-pill-shape .wp-social-link a { 2614 | padding-left: calc((2 / 3) * 1em); 2615 | padding-right: calc((2 / 3) * 1em); 2616 | } 2617 | 2618 | .wp-block-spacer { 2619 | clear: both; 2620 | } 2621 | 2622 | .wp-block-tag-cloud.aligncenter { 2623 | text-align: center; 2624 | } 2625 | .wp-block-tag-cloud.alignfull { 2626 | padding-left: 1em; 2627 | padding-right: 1em; 2628 | } 2629 | 2630 | .wp-block-table { 2631 | margin: 0 0 1em 0; 2632 | overflow-x: auto; 2633 | } 2634 | .wp-block-table table { 2635 | border-collapse: collapse; 2636 | width: 100%; 2637 | } 2638 | .wp-block-table .has-fixed-layout { 2639 | table-layout: fixed; 2640 | width: 100%; 2641 | } 2642 | .wp-block-table .has-fixed-layout td, 2643 | .wp-block-table .has-fixed-layout th { 2644 | word-break: break-word; 2645 | } 2646 | .wp-block-table.alignleft, 2647 | .wp-block-table.aligncenter, 2648 | .wp-block-table.alignright { 2649 | display: table; 2650 | width: auto; 2651 | } 2652 | .wp-block-table.alignleft td, 2653 | .wp-block-table.alignleft th, 2654 | .wp-block-table.aligncenter td, 2655 | .wp-block-table.aligncenter th, 2656 | .wp-block-table.alignright td, 2657 | .wp-block-table.alignright th { 2658 | word-break: break-word; 2659 | } 2660 | .wp-block-table .has-subtle-light-gray-background-color { 2661 | background-color: #f3f4f5; 2662 | } 2663 | .wp-block-table .has-subtle-pale-green-background-color { 2664 | background-color: #e9fbe5; 2665 | } 2666 | .wp-block-table .has-subtle-pale-blue-background-color { 2667 | background-color: #e7f5fe; 2668 | } 2669 | .wp-block-table .has-subtle-pale-pink-background-color { 2670 | background-color: #fcf0ef; 2671 | } 2672 | .wp-block-table.is-style-stripes { 2673 | border-spacing: 0; 2674 | border-collapse: inherit; 2675 | background-color: transparent; 2676 | border-bottom: 1px solid #f0f0f0; 2677 | } 2678 | .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { 2679 | background-color: #f0f0f0; 2680 | } 2681 | .wp-block-table.is-style-stripes.has-subtle-light-gray-background-color 2682 | tbody 2683 | tr:nth-child(odd) { 2684 | background-color: #f3f4f5; 2685 | } 2686 | .wp-block-table.is-style-stripes.has-subtle-pale-green-background-color 2687 | tbody 2688 | tr:nth-child(odd) { 2689 | background-color: #e9fbe5; 2690 | } 2691 | .wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color 2692 | tbody 2693 | tr:nth-child(odd) { 2694 | background-color: #e7f5fe; 2695 | } 2696 | .wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color 2697 | tbody 2698 | tr:nth-child(odd) { 2699 | background-color: #fcf0ef; 2700 | } 2701 | .wp-block-table.is-style-stripes th, 2702 | .wp-block-table.is-style-stripes td { 2703 | border-color: transparent; 2704 | } 2705 | 2706 | .wp-block-text-columns { 2707 | display: flex; 2708 | } 2709 | .wp-block-text-columns.aligncenter { 2710 | display: flex; 2711 | } 2712 | .wp-block-text-columns .wp-block-column { 2713 | margin: 0 1em; 2714 | padding: 0; 2715 | } 2716 | .wp-block-text-columns .wp-block-column:first-child { 2717 | margin-left: 0; 2718 | } 2719 | .wp-block-text-columns .wp-block-column:last-child { 2720 | margin-right: 0; 2721 | } 2722 | .wp-block-text-columns.columns-2 .wp-block-column { 2723 | width: calc(100% / 2); 2724 | } 2725 | .wp-block-text-columns.columns-3 .wp-block-column { 2726 | width: calc(100% / 3); 2727 | } 2728 | .wp-block-text-columns.columns-4 .wp-block-column { 2729 | width: calc(100% / 4); 2730 | } 2731 | 2732 | pre.wp-block-verse { 2733 | font-family: inherit; 2734 | overflow: auto; 2735 | white-space: pre-wrap; 2736 | } 2737 | 2738 | .wp-block-video { 2739 | margin: 0 0 1em 0; 2740 | } 2741 | .wp-block-video video { 2742 | width: 100%; 2743 | } 2744 | @supports ((position: -webkit-sticky) or (position: sticky)) { 2745 | .wp-block-video [poster] { 2746 | -o-object-fit: cover; 2747 | object-fit: cover; 2748 | } 2749 | } 2750 | .wp-block-video.aligncenter { 2751 | text-align: center; 2752 | } 2753 | .wp-block-video figcaption { 2754 | margin-top: 0.5em; 2755 | margin-bottom: 1em; 2756 | } 2757 | 2758 | .wp-block-post-featured-image a { 2759 | display: inline-block; 2760 | } 2761 | .wp-block-post-featured-image img { 2762 | max-width: 100%; 2763 | height: auto; 2764 | } 2765 | 2766 | :root { 2767 | /* stylelint-disable function-comma-space-after */ 2768 | /* stylelint-enable function-comma-space-after */ 2769 | } 2770 | :root .has-pale-pink-background-color { 2771 | background-color: #f78da7; 2772 | } 2773 | :root .has-vivid-red-background-color { 2774 | background-color: #cf2e2e; 2775 | } 2776 | :root .has-luminous-vivid-orange-background-color { 2777 | background-color: #ff6900; 2778 | } 2779 | :root .has-luminous-vivid-amber-background-color { 2780 | background-color: #fcb900; 2781 | } 2782 | :root .has-light-green-cyan-background-color { 2783 | background-color: #7bdcb5; 2784 | } 2785 | :root .has-vivid-green-cyan-background-color { 2786 | background-color: #00d084; 2787 | } 2788 | :root .has-pale-cyan-blue-background-color { 2789 | background-color: #8ed1fc; 2790 | } 2791 | :root .has-vivid-cyan-blue-background-color { 2792 | background-color: #0693e3; 2793 | } 2794 | :root .has-vivid-purple-background-color { 2795 | background-color: #9b51e0; 2796 | } 2797 | :root .has-white-background-color { 2798 | background-color: #fff; 2799 | } 2800 | :root .has-very-light-gray-background-color { 2801 | background-color: #eee; 2802 | } 2803 | :root .has-cyan-bluish-gray-background-color { 2804 | background-color: #abb8c3; 2805 | } 2806 | :root .has-very-dark-gray-background-color { 2807 | background-color: #313131; 2808 | } 2809 | :root .has-black-background-color { 2810 | background-color: #000; 2811 | } 2812 | :root .has-pale-pink-color { 2813 | color: #f78da7; 2814 | } 2815 | :root .has-vivid-red-color { 2816 | color: #cf2e2e; 2817 | } 2818 | :root .has-luminous-vivid-orange-color { 2819 | color: #ff6900; 2820 | } 2821 | :root .has-luminous-vivid-amber-color { 2822 | color: #fcb900; 2823 | } 2824 | :root .has-light-green-cyan-color { 2825 | color: #7bdcb5; 2826 | } 2827 | :root .has-vivid-green-cyan-color { 2828 | color: #00d084; 2829 | } 2830 | :root .has-pale-cyan-blue-color { 2831 | color: #8ed1fc; 2832 | } 2833 | :root .has-vivid-cyan-blue-color { 2834 | color: #0693e3; 2835 | } 2836 | :root .has-vivid-purple-color { 2837 | color: #9b51e0; 2838 | } 2839 | :root .has-white-color { 2840 | color: #fff; 2841 | } 2842 | :root .has-very-light-gray-color { 2843 | color: #eee; 2844 | } 2845 | :root .has-cyan-bluish-gray-color { 2846 | color: #abb8c3; 2847 | } 2848 | :root .has-very-dark-gray-color { 2849 | color: #313131; 2850 | } 2851 | :root .has-black-color { 2852 | color: #000; 2853 | } 2854 | :root .has-vivid-cyan-blue-to-vivid-purple-gradient-background { 2855 | background: linear-gradient(135deg, #0693e3 0%, #9b51e0 100%); 2856 | } 2857 | :root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { 2858 | background: linear-gradient(135deg, #00d084 0%, #0693e3 100%); 2859 | } 2860 | :root .has-light-green-cyan-to-vivid-green-cyan-gradient-background { 2861 | background: linear-gradient(135deg, #7adcb4 0%, #00d082 100%); 2862 | } 2863 | :root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { 2864 | background: linear-gradient(135deg, #fcb900 0%, #ff6900 100%); 2865 | } 2866 | :root .has-luminous-vivid-orange-to-vivid-red-gradient-background { 2867 | background: linear-gradient(135deg, #ff6900 0%, #cf2e2e 100%); 2868 | } 2869 | :root .has-very-light-gray-to-cyan-bluish-gray-gradient-background { 2870 | background: linear-gradient(135deg, #eeeeee 0%, #a9b8c3 100%); 2871 | } 2872 | :root .has-cool-to-warm-spectrum-gradient-background { 2873 | background: linear-gradient( 2874 | 135deg, 2875 | #4aeadc 0%, 2876 | #9778d1 20%, 2877 | #cf2aba 40%, 2878 | #ee2c82 60%, 2879 | #fb6962 80%, 2880 | #fef84c 100% 2881 | ); 2882 | } 2883 | :root .has-blush-light-purple-gradient-background { 2884 | background: linear-gradient(135deg, #ffceec 0%, #9896f0 100%); 2885 | } 2886 | :root .has-blush-bordeaux-gradient-background { 2887 | background: linear-gradient(135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); 2888 | } 2889 | :root .has-purple-crush-gradient-background { 2890 | background: linear-gradient(135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); 2891 | } 2892 | :root .has-luminous-dusk-gradient-background { 2893 | background: linear-gradient(135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); 2894 | } 2895 | :root .has-hazy-dawn-gradient-background { 2896 | background: linear-gradient(135deg, #faaca8 0%, #dad0ec 100%); 2897 | } 2898 | :root .has-pale-ocean-gradient-background { 2899 | background: linear-gradient(135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); 2900 | } 2901 | :root .has-electric-grass-gradient-background { 2902 | background: linear-gradient(135deg, #caf880 0%, #71ce7e 100%); 2903 | } 2904 | :root .has-subdued-olive-gradient-background { 2905 | background: linear-gradient(135deg, #fafae1 0%, #67a671 100%); 2906 | } 2907 | :root .has-atomic-cream-gradient-background { 2908 | background: linear-gradient(135deg, #fdd79a 0%, #004a59 100%); 2909 | } 2910 | :root .has-nightshade-gradient-background { 2911 | background: linear-gradient(135deg, #330968 0%, #31cdcf 100%); 2912 | } 2913 | :root .has-midnight-gradient-background { 2914 | background: linear-gradient(135deg, #020381 0%, #2874fc 100%); 2915 | } 2916 | :root .has-link-color a:not(.wp-block-button__link) { 2917 | color: #00e; 2918 | color: var(--wp--style--color--link, #00e); 2919 | } 2920 | 2921 | .has-small-font-size { 2922 | font-size: 0.8125em; 2923 | } 2924 | 2925 | .has-regular-font-size, 2926 | .has-normal-font-size { 2927 | font-size: 1em; 2928 | } 2929 | 2930 | .has-medium-font-size { 2931 | font-size: 1.25em; 2932 | } 2933 | 2934 | .has-large-font-size { 2935 | font-size: 2.25em; 2936 | } 2937 | 2938 | .has-larger-font-size, 2939 | .has-huge-font-size { 2940 | font-size: 2.625em; 2941 | } 2942 | 2943 | .has-text-align-center { 2944 | text-align: center; 2945 | } 2946 | 2947 | .has-text-align-left { 2948 | /*rtl:ignore*/ 2949 | text-align: left; 2950 | } 2951 | 2952 | .has-text-align-right { 2953 | /*rtl:ignore*/ 2954 | text-align: right; 2955 | } 2956 | 2957 | #end-resizable-editor-section { 2958 | display: none; 2959 | } 2960 | 2961 | .aligncenter { 2962 | clear: both; 2963 | } 2964 | 2965 | .items-justified-left { 2966 | justify-content: flex-start; 2967 | } 2968 | 2969 | .items-justified-center { 2970 | justify-content: center; 2971 | } 2972 | 2973 | .items-justified-right { 2974 | justify-content: flex-end; 2975 | } 2976 | 2977 | .items-justified-space-between { 2978 | justify-content: space-between; 2979 | } 2980 | 2981 | .screen-reader-text { 2982 | border: 0; 2983 | clip: rect(1px, 1px, 1px, 1px); 2984 | -webkit-clip-path: inset(50%); 2985 | clip-path: inset(50%); 2986 | height: 1px; 2987 | margin: -1px; 2988 | overflow: hidden; 2989 | padding: 0; 2990 | position: absolute; 2991 | width: 1px; 2992 | word-wrap: normal !important; 2993 | } 2994 | 2995 | .screen-reader-text:focus { 2996 | background-color: #ddd; 2997 | clip: auto !important; 2998 | -webkit-clip-path: none; 2999 | clip-path: none; 3000 | color: #444; 3001 | display: block; 3002 | font-size: 1em; 3003 | height: auto; 3004 | left: 5px; 3005 | line-height: normal; 3006 | padding: 15px 23px 14px; 3007 | text-decoration: none; 3008 | top: 5px; 3009 | width: auto; 3010 | z-index: 100000; 3011 | } 3012 | -------------------------------------------------------------------------------- /src/css/@wordpress/block-library/build-style/theme.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Colors 3 | */ 4 | /** 5 | * Breakpoints & Media Queries 6 | */ 7 | /** 8 | * SCSS Variables. 9 | * 10 | * Please use variables from this sheet to ensure consistency across the UI. 11 | * Don't add to this sheet unless you're pretty sure the value will be reused in many places. 12 | * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. 13 | */ 14 | /** 15 | * Colors 16 | */ 17 | /** 18 | * Fonts & basic variables. 19 | */ 20 | /** 21 | * Grid System. 22 | * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ 23 | */ 24 | /** 25 | * Dimensions. 26 | */ 27 | /** 28 | * Shadows. 29 | */ 30 | /** 31 | * Editor widths. 32 | */ 33 | /** 34 | * Block & Editor UI. 35 | */ 36 | /** 37 | * Block paddings. 38 | */ 39 | /** 40 | * React Native specific. 41 | * These variables do not appear to be used anywhere else. 42 | */ 43 | /** 44 | * Breakpoint mixins 45 | */ 46 | /** 47 | * Long content fade mixin 48 | * 49 | * Creates a fading overlay to signify that the content is longer 50 | * than the space allows. 51 | */ 52 | /** 53 | * Focus styles. 54 | */ 55 | /** 56 | * Applies editor left position to the selector passed as argument 57 | */ 58 | /** 59 | * Styles that are reused verbatim in a few places 60 | */ 61 | /** 62 | * Allows users to opt-out of animations via OS-level preferences. 63 | */ 64 | /** 65 | * Reset default styles for JavaScript UI based pages. 66 | * This is a WP-admin agnostic reset 67 | */ 68 | /** 69 | * Reset the WP Admin page styles for Gutenberg-like pages. 70 | */ 71 | #start-resizable-editor-section { 72 | display: none; 73 | } 74 | 75 | .wp-block-audio figcaption { 76 | color: #555; 77 | font-size: 13px; 78 | text-align: center; 79 | } 80 | .is-dark-theme .wp-block-audio figcaption { 81 | color: rgba(255, 255, 255, 0.65); 82 | } 83 | 84 | .wp-block-code { 85 | font-family: Menlo, Consolas, monaco, monospace; 86 | color: #1e1e1e; 87 | padding: 0.8em 1em; 88 | border: 1px solid #ddd; 89 | border-radius: 4px; 90 | } 91 | 92 | .wp-block-embed figcaption { 93 | color: #555; 94 | font-size: 13px; 95 | text-align: center; 96 | } 97 | .is-dark-theme .wp-block-embed figcaption { 98 | color: rgba(255, 255, 255, 0.65); 99 | } 100 | 101 | .blocks-gallery-caption { 102 | color: #555; 103 | font-size: 13px; 104 | text-align: center; 105 | } 106 | .is-dark-theme .blocks-gallery-caption { 107 | color: rgba(255, 255, 255, 0.65); 108 | } 109 | 110 | .wp-block-image figcaption { 111 | color: #555; 112 | font-size: 13px; 113 | text-align: center; 114 | } 115 | .is-dark-theme .wp-block-image figcaption { 116 | color: rgba(255, 255, 255, 0.65); 117 | } 118 | 119 | .wp-block-pullquote { 120 | border-top: 4px solid currentColor; 121 | border-bottom: 4px solid currentColor; 122 | margin-bottom: 1.75em; 123 | color: currentColor; 124 | } 125 | .wp-block-pullquote cite, 126 | .wp-block-pullquote footer, 127 | .wp-block-pullquote__citation { 128 | color: currentColor; 129 | text-transform: uppercase; 130 | font-size: 0.8125em; 131 | font-style: normal; 132 | } 133 | 134 | .wp-block-quote { 135 | border-left: 0.25em solid currentColor; 136 | margin: 0 0 1.75em 0; 137 | padding-left: 1em; 138 | } 139 | .wp-block-quote cite, 140 | .wp-block-quote footer { 141 | color: currentColor; 142 | font-size: 0.8125em; 143 | position: relative; 144 | font-style: normal; 145 | } 146 | .wp-block-quote.has-text-align-right { 147 | border-left: none; 148 | border-right: 0.25em solid currentColor; 149 | padding-left: 0; 150 | padding-right: 1em; 151 | } 152 | .wp-block-quote.has-text-align-center { 153 | border: none; 154 | padding-left: 0; 155 | } 156 | .wp-block-quote.is-style-large, 157 | .wp-block-quote.is-large { 158 | border: none; 159 | } 160 | 161 | .wp-block-search .wp-block-search__label { 162 | font-weight: bold; 163 | } 164 | 165 | .wp-block-group.has-background { 166 | padding: 1.25em 2.375em; 167 | margin-top: 0; 168 | margin-bottom: 0; 169 | } 170 | 171 | .wp-block-separator { 172 | border: none; 173 | border-bottom: 2px solid currentColor; 174 | margin-left: auto; 175 | margin-right: auto; 176 | opacity: 0.4; 177 | } 178 | .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { 179 | width: 100px; 180 | } 181 | .wp-block-separator.has-background:not(.is-style-dots) { 182 | border-bottom: none; 183 | height: 1px; 184 | } 185 | .wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) { 186 | height: 2px; 187 | } 188 | 189 | .wp-block-table thead { 190 | border-bottom: 3px solid; 191 | } 192 | .wp-block-table tfoot { 193 | border-top: 3px solid; 194 | } 195 | .wp-block-table td, 196 | .wp-block-table th { 197 | padding: 0.5em; 198 | border: 1px solid; 199 | word-break: normal; 200 | } 201 | .wp-block-table figcaption { 202 | color: #555; 203 | font-size: 13px; 204 | text-align: center; 205 | } 206 | .is-dark-theme .wp-block-table figcaption { 207 | color: rgba(255, 255, 255, 0.65); 208 | } 209 | 210 | .wp-block-video figcaption { 211 | color: #555; 212 | font-size: 13px; 213 | text-align: center; 214 | } 215 | .is-dark-theme .wp-block-video figcaption { 216 | color: rgba(255, 255, 255, 0.65); 217 | } 218 | 219 | .wp-block-template-part.has-background { 220 | padding: 1.25em 2.375em; 221 | margin-top: 0; 222 | margin-bottom: 0; 223 | } 224 | 225 | #end-resizable-editor-section { 226 | display: none; 227 | } 228 | -------------------------------------------------------------------------------- /src/css/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * 1. Correct the line height in all browsers. 8 | * 2. Prevent adjustments of font size after orientation changes in iOS. 9 | */ 10 | 11 | html { 12 | line-height: 1.15; /* 1 */ 13 | -webkit-text-size-adjust: 100%; /* 2 */ 14 | } 15 | 16 | /* Sections 17 | ========================================================================== */ 18 | 19 | /** 20 | * Remove the margin in all browsers. 21 | */ 22 | 23 | body { 24 | margin: 0; 25 | } 26 | 27 | /** 28 | * Render the `main` element consistently in IE. 29 | */ 30 | 31 | main { 32 | display: block; 33 | } 34 | 35 | /** 36 | * Correct the font size and margin on `h1` elements within `section` and 37 | * `article` contexts in Chrome, Firefox, and Safari. 38 | */ 39 | 40 | h1 { 41 | font-size: 2em; 42 | margin: 0.67em 0; 43 | } 44 | 45 | /* Grouping content 46 | ========================================================================== */ 47 | 48 | /** 49 | * 1. Add the correct box sizing in Firefox. 50 | * 2. Show the overflow in Edge and IE. 51 | */ 52 | 53 | hr { 54 | box-sizing: content-box; /* 1 */ 55 | height: 0; /* 1 */ 56 | overflow: visible; /* 2 */ 57 | } 58 | 59 | /** 60 | * 1. Correct the inheritance and scaling of font size in all browsers. 61 | * 2. Correct the odd `em` font sizing in all browsers. 62 | */ 63 | 64 | pre { 65 | font-family: monospace, monospace; /* 1 */ 66 | font-size: 1em; /* 2 */ 67 | } 68 | 69 | /* Text-level semantics 70 | ========================================================================== */ 71 | 72 | /** 73 | * Remove the gray background on active links in IE 10. 74 | */ 75 | 76 | a { 77 | background-color: transparent; 78 | } 79 | 80 | /** 81 | * 1. Remove the bottom border in Chrome 57- 82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 83 | */ 84 | 85 | abbr[title] { 86 | border-bottom: none; /* 1 */ 87 | text-decoration: underline; /* 2 */ 88 | text-decoration: underline dotted; /* 2 */ 89 | } 90 | 91 | /** 92 | * Add the correct font weight in Chrome, Edge, and Safari. 93 | */ 94 | 95 | b, 96 | strong { 97 | font-weight: bolder; 98 | } 99 | 100 | /** 101 | * 1. Correct the inheritance and scaling of font size in all browsers. 102 | * 2. Correct the odd `em` font sizing in all browsers. 103 | */ 104 | 105 | code, 106 | kbd, 107 | samp { 108 | font-family: monospace, monospace; /* 1 */ 109 | font-size: 1em; /* 2 */ 110 | } 111 | 112 | /** 113 | * Add the correct font size in all browsers. 114 | */ 115 | 116 | small { 117 | font-size: 80%; 118 | } 119 | 120 | /** 121 | * Prevent `sub` and `sup` elements from affecting the line height in 122 | * all browsers. 123 | */ 124 | 125 | sub, 126 | sup { 127 | font-size: 75%; 128 | line-height: 0; 129 | position: relative; 130 | vertical-align: baseline; 131 | } 132 | 133 | sub { 134 | bottom: -0.25em; 135 | } 136 | 137 | sup { 138 | top: -0.5em; 139 | } 140 | 141 | /* Embedded content 142 | ========================================================================== */ 143 | 144 | /** 145 | * Remove the border on images inside links in IE 10. 146 | */ 147 | 148 | img { 149 | border-style: none; 150 | } 151 | 152 | /* Forms 153 | ========================================================================== */ 154 | 155 | /** 156 | * 1. Change the font styles in all browsers. 157 | * 2. Remove the margin in Firefox and Safari. 158 | */ 159 | 160 | button, 161 | input, 162 | optgroup, 163 | select, 164 | textarea { 165 | font-family: inherit; /* 1 */ 166 | font-size: 100%; /* 1 */ 167 | line-height: 1.15; /* 1 */ 168 | margin: 0; /* 2 */ 169 | } 170 | 171 | /** 172 | * Show the overflow in IE. 173 | * 1. Show the overflow in Edge. 174 | */ 175 | 176 | button, 177 | input { 178 | /* 1 */ 179 | overflow: visible; 180 | } 181 | 182 | /** 183 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 184 | * 1. Remove the inheritance of text transform in Firefox. 185 | */ 186 | 187 | button, 188 | select { 189 | /* 1 */ 190 | text-transform: none; 191 | } 192 | 193 | /** 194 | * Correct the inability to style clickable types in iOS and Safari. 195 | */ 196 | 197 | button, 198 | [type="button"], 199 | [type="reset"], 200 | [type="submit"] { 201 | -webkit-appearance: button; 202 | } 203 | 204 | /** 205 | * Remove the inner border and padding in Firefox. 206 | */ 207 | 208 | button::-moz-focus-inner, 209 | [type="button"]::-moz-focus-inner, 210 | [type="reset"]::-moz-focus-inner, 211 | [type="submit"]::-moz-focus-inner { 212 | border-style: none; 213 | padding: 0; 214 | } 215 | 216 | /** 217 | * Restore the focus styles unset by the previous rule. 218 | */ 219 | 220 | button:-moz-focusring, 221 | [type="button"]:-moz-focusring, 222 | [type="reset"]:-moz-focusring, 223 | [type="submit"]:-moz-focusring { 224 | outline: 1px dotted ButtonText; 225 | } 226 | 227 | /** 228 | * Correct the padding in Firefox. 229 | */ 230 | 231 | fieldset { 232 | padding: 0.35em 0.75em 0.625em; 233 | } 234 | 235 | /** 236 | * 1. Correct the text wrapping in Edge and IE. 237 | * 2. Correct the color inheritance from `fieldset` elements in IE. 238 | * 3. Remove the padding so developers are not caught out when they zero out 239 | * `fieldset` elements in all browsers. 240 | */ 241 | 242 | legend { 243 | box-sizing: border-box; /* 1 */ 244 | color: inherit; /* 2 */ 245 | display: table; /* 1 */ 246 | max-width: 100%; /* 1 */ 247 | padding: 0; /* 3 */ 248 | white-space: normal; /* 1 */ 249 | } 250 | 251 | /** 252 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 253 | */ 254 | 255 | progress { 256 | vertical-align: baseline; 257 | } 258 | 259 | /** 260 | * Remove the default vertical scrollbar in IE 10+. 261 | */ 262 | 263 | textarea { 264 | overflow: auto; 265 | } 266 | 267 | /** 268 | * 1. Add the correct box sizing in IE 10. 269 | * 2. Remove the padding in IE 10. 270 | */ 271 | 272 | [type="checkbox"], 273 | [type="radio"] { 274 | box-sizing: border-box; /* 1 */ 275 | padding: 0; /* 2 */ 276 | } 277 | 278 | /** 279 | * Correct the cursor style of increment and decrement buttons in Chrome. 280 | */ 281 | 282 | [type="number"]::-webkit-inner-spin-button, 283 | [type="number"]::-webkit-outer-spin-button { 284 | height: auto; 285 | } 286 | 287 | /** 288 | * 1. Correct the odd appearance in Chrome and Safari. 289 | * 2. Correct the outline style in Safari. 290 | */ 291 | 292 | [type="search"] { 293 | -webkit-appearance: textfield; /* 1 */ 294 | outline-offset: -2px; /* 2 */ 295 | } 296 | 297 | /** 298 | * Remove the inner padding in Chrome and Safari on macOS. 299 | */ 300 | 301 | [type="search"]::-webkit-search-decoration { 302 | -webkit-appearance: none; 303 | } 304 | 305 | /** 306 | * 1. Correct the inability to style clickable types in iOS and Safari. 307 | * 2. Change font properties to `inherit` in Safari. 308 | */ 309 | 310 | ::-webkit-file-upload-button { 311 | -webkit-appearance: button; /* 1 */ 312 | font: inherit; /* 2 */ 313 | } 314 | 315 | /* Interactive 316 | ========================================================================== */ 317 | 318 | /* 319 | * Add the correct display in Edge, IE 10+, and Firefox. 320 | */ 321 | 322 | details { 323 | display: block; 324 | } 325 | 326 | /* 327 | * Add the correct display in all browsers. 328 | */ 329 | 330 | summary { 331 | display: list-item; 332 | } 333 | 334 | /* Misc 335 | ========================================================================== */ 336 | 337 | /** 338 | * Add the correct display in IE 10. 339 | */ 340 | 341 | [hidden] { 342 | display: none; 343 | } 344 | -------------------------------------------------------------------------------- /src/css/style.css: -------------------------------------------------------------------------------- 1 | /* CSS Custom Properties Definitions */ 2 | 3 | :root { 4 | --maxWidth-none: "none"; 5 | --maxWidth-xs: 20rem; 6 | --maxWidth-sm: 24rem; 7 | --maxWidth-md: 28rem; 8 | --maxWidth-lg: 32rem; 9 | --maxWidth-xl: 36rem; 10 | --maxWidth-2xl: 42rem; 11 | --maxWidth-3xl: 48rem; 12 | --maxWidth-4xl: 56rem; 13 | --maxWidth-full: "100%"; 14 | --maxWidth-wrapper: var(--maxWidth-2xl); 15 | --spacing-px: "1px"; 16 | --spacing-0: 0; 17 | --spacing-1: 0.25rem; 18 | --spacing-2: 0.5rem; 19 | --spacing-3: 0.75rem; 20 | --spacing-4: 1rem; 21 | --spacing-5: 1.25rem; 22 | --spacing-6: 1.5rem; 23 | --spacing-8: 2rem; 24 | --spacing-10: 2.5rem; 25 | --spacing-12: 3rem; 26 | --spacing-16: 4rem; 27 | --spacing-20: 5rem; 28 | --spacing-24: 6rem; 29 | --spacing-32: 8rem; 30 | --fontFamily-sans: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 31 | "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, 32 | "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 33 | --fontFamily-serif: "Merriweather", "Georgia", Cambria, "Times New Roman", 34 | Times, serif; 35 | --font-body: var(--fontFamily-serif); 36 | --font-heading: var(--fontFamily-sans); 37 | --fontWeight-normal: 400; 38 | --fontWeight-medium: 500; 39 | --fontWeight-semibold: 600; 40 | --fontWeight-bold: 700; 41 | --fontWeight-extrabold: 800; 42 | --fontWeight-black: 900; 43 | --fontSize-root: 16px; 44 | --lineHeight-none: 1; 45 | --lineHeight-tight: 1.1; 46 | --lineHeight-normal: 1.5; 47 | --lineHeight-relaxed: 1.625; 48 | /* 1.200 Minor Third Type Scale */ 49 | --fontSize-0: 0.833rem; 50 | --fontSize-1: 1rem; 51 | --fontSize-2: 1.2rem; 52 | --fontSize-3: 1.44rem; 53 | --fontSize-4: 1.728rem; 54 | --fontSize-5: 2.074rem; 55 | --fontSize-6: 2.488rem; 56 | --fontSize-7: 2.986rem; 57 | --color-primary: #005b99; 58 | --color-text: #2e353f; 59 | --color-text-light: #4f5969; 60 | --color-heading: #1a202c; 61 | --color-heading-black: black; 62 | --color-accent: #d1dce5; 63 | } 64 | 65 | /* HTML elements */ 66 | 67 | *, 68 | :after, 69 | :before { 70 | box-sizing: border-box; 71 | } 72 | 73 | html { 74 | line-height: var(--lineHeight-normal); 75 | font-size: var(--fontSize-root); 76 | -webkit-font-smoothing: antialiased; 77 | -moz-osx-font-smoothing: grayscale; 78 | } 79 | 80 | body { 81 | font-family: var(--font-body); 82 | font-size: var(--fontSize-1); 83 | color: var(--color-text); 84 | } 85 | 86 | footer { 87 | padding: var(--spacing-6) var(--spacing-0); 88 | } 89 | 90 | hr { 91 | background: var(--color-accent); 92 | height: 1px; 93 | border: 0; 94 | } 95 | 96 | /* Heading */ 97 | 98 | h1, 99 | h2, 100 | h3, 101 | h4, 102 | h5, 103 | h6 { 104 | font-family: var(--font-heading); 105 | margin-top: var(--spacing-12); 106 | margin-bottom: var(--spacing-6); 107 | line-height: var(--lineHeight-tight); 108 | letter-spacing: -0.025em; 109 | } 110 | 111 | h2, 112 | h3, 113 | h4, 114 | h5, 115 | h6 { 116 | font-weight: var(--fontWeight-bold); 117 | color: var(--color-heading); 118 | } 119 | 120 | h1 { 121 | font-weight: var(--fontWeight-black); 122 | font-size: var(--fontSize-6); 123 | color: var(--color-heading-black); 124 | } 125 | 126 | h2 { 127 | font-size: var(--fontSize-5); 128 | } 129 | 130 | h3 { 131 | font-size: var(--fontSize-4); 132 | } 133 | 134 | h4 { 135 | font-size: var(--fontSize-3); 136 | } 137 | 138 | h5 { 139 | font-size: var(--fontSize-2); 140 | } 141 | 142 | h6 { 143 | font-size: var(--fontSize-1); 144 | } 145 | 146 | h1 > a { 147 | color: inherit; 148 | text-decoration: none; 149 | } 150 | 151 | h2 > a, 152 | h3 > a, 153 | h4 > a, 154 | h5 > a, 155 | h6 > a { 156 | text-decoration: none; 157 | color: inherit; 158 | } 159 | 160 | /* Prose */ 161 | 162 | p { 163 | line-height: var(--lineHeight-relaxed); 164 | --baseline-multiplier: 0.179; 165 | --x-height-multiplier: 0.35; 166 | margin: var(--spacing-0) var(--spacing-0) var(--spacing-8) var(--spacing-0); 167 | padding: var(--spacing-0); 168 | } 169 | 170 | ul, 171 | ol { 172 | margin-left: var(--spacing-0); 173 | margin-right: var(--spacing-0); 174 | padding: var(--spacing-0); 175 | margin-bottom: var(--spacing-8); 176 | list-style-position: outside; 177 | list-style-image: none; 178 | } 179 | 180 | ul li, 181 | ol li { 182 | padding-left: var(--spacing-0); 183 | margin-bottom: calc(var(--spacing-8) / 2); 184 | } 185 | 186 | li > p { 187 | margin-bottom: calc(var(--spacing-8) / 2); 188 | } 189 | 190 | li *:last-child { 191 | margin-bottom: var(--spacing-0); 192 | } 193 | 194 | li > ul { 195 | margin-left: var(--spacing-8); 196 | margin-top: calc(var(--spacing-8) / 2); 197 | } 198 | 199 | blockquote { 200 | color: var(--color-text-light); 201 | margin-left: calc(-1 * var(--spacing-6)); 202 | margin-right: var(--spacing-8); 203 | padding: var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-6); 204 | border-left: var(--spacing-1) solid var(--color-primary); 205 | font-size: var(--fontSize-2); 206 | font-style: italic; 207 | margin-bottom: var(--spacing-8); 208 | } 209 | 210 | blockquote > :last-child { 211 | margin-bottom: var(--spacing-0); 212 | } 213 | 214 | blockquote > ul, 215 | blockquote > ol { 216 | list-style-position: inside; 217 | } 218 | 219 | table { 220 | width: 100%; 221 | margin-bottom: var(--spacing-8); 222 | border-collapse: collapse; 223 | border-spacing: 0.25rem; 224 | } 225 | 226 | table thead tr th { 227 | border-bottom: 1px solid var(--color-accent); 228 | } 229 | 230 | /* Link */ 231 | 232 | a { 233 | color: var(--color-primary); 234 | word-break: break-word; 235 | } 236 | 237 | a:hover, 238 | a:focus { 239 | text-decoration: none; 240 | } 241 | 242 | /* Custom classes */ 243 | 244 | .global-wrapper { 245 | margin: var(--spacing-0) auto; 246 | max-width: var(--maxWidth-wrapper); 247 | padding: var(--spacing-10) var(--spacing-5); 248 | } 249 | 250 | .global-wrapper[data-is-root-path="true"] .bio { 251 | margin-bottom: var(--spacing-20); 252 | } 253 | 254 | .global-header { 255 | margin-bottom: var(--spacing-12); 256 | } 257 | 258 | .main-heading { 259 | font-size: var(--fontSize-7); 260 | margin: 0; 261 | } 262 | 263 | .post-list-item { 264 | margin-bottom: var(--spacing-8); 265 | margin-top: var(--spacing-8); 266 | } 267 | 268 | .post-list-item p { 269 | margin-bottom: var(--spacing-0); 270 | } 271 | 272 | .post-list-item h2 { 273 | font-size: var(--fontSize-4); 274 | color: var(--color-primary); 275 | margin-bottom: var(--spacing-2); 276 | margin-top: var(--spacing-0); 277 | } 278 | 279 | .post-list-item header { 280 | margin-bottom: var(--spacing-4); 281 | } 282 | 283 | .header-link-home { 284 | font-weight: var(--fontWeight-bold); 285 | font-family: var(--font-heading); 286 | text-decoration: none; 287 | font-size: var(--fontSize-2); 288 | } 289 | 290 | .bio { 291 | display: flex; 292 | margin-bottom: var(--spacing-16); 293 | } 294 | 295 | .bio p { 296 | margin-bottom: var(--spacing-0); 297 | } 298 | 299 | .bio-avatar { 300 | margin-right: var(--spacing-4); 301 | margin-bottom: var(--spacing-0); 302 | max-width: 80px; 303 | height: auto; 304 | border-radius: 100%; 305 | } 306 | 307 | .blog-post header h1 { 308 | margin: var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0); 309 | } 310 | 311 | .blog-post header p { 312 | font-size: var(--fontSize-2); 313 | font-family: var(--font-heading); 314 | } 315 | 316 | .blog-post-nav ul { 317 | margin: var(--spacing-0); 318 | } 319 | 320 | .gatsby-highlight { 321 | margin-bottom: var(--spacing-8); 322 | } 323 | 324 | /* Media queries */ 325 | 326 | @media (max-width: 42rem) { 327 | blockquote { 328 | padding: var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-4); 329 | margin-left: var(--spacing-0); 330 | } 331 | ul, 332 | ol { 333 | list-style-position: inside; 334 | } 335 | } 336 | -------------------------------------------------------------------------------- /src/pages/404.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import { graphql } from "gatsby" 3 | 4 | import Layout from "../components/layout" 5 | import Seo from "../components/seo" 6 | 7 | const NotFoundPage = ({ data, location }) => { 8 | const siteTitle = data.site.siteMetadata.title 9 | 10 | return ( 11 | 12 | 13 |

404: Not Found

14 |

You just hit a route that doesn't exist... the sadness.

15 |
16 | ) 17 | } 18 | 19 | export default NotFoundPage 20 | 21 | export const pageQuery = graphql` 22 | query { 23 | site { 24 | siteMetadata { 25 | title 26 | } 27 | } 28 | } 29 | ` 30 | -------------------------------------------------------------------------------- /src/templates/blog-post-archive.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import { Link, graphql } from "gatsby" 3 | import parse from "html-react-parser" 4 | 5 | import Bio from "../components/bio" 6 | import Layout from "../components/layout" 7 | import Seo from "../components/seo" 8 | 9 | const BlogIndex = ({ 10 | data, 11 | pageContext: { nextPagePath, previousPagePath }, 12 | }) => { 13 | const posts = data.allWpPost.nodes 14 | 15 | if (!posts.length) { 16 | return ( 17 | 18 | 19 | 20 |

21 | No blog posts found. Add posts to your WordPress site and they'll 22 | appear here! 23 |

24 |
25 | ) 26 | } 27 | 28 | return ( 29 | 30 | 31 | 32 | 33 | 34 |
    35 | {posts.map(post => { 36 | const title = post.title 37 | 38 | return ( 39 |
  1. 40 |
    45 |
    46 |

    47 | 48 | {parse(title)} 49 | 50 |

    51 | {post.date} 52 |
    53 |
    {parse(post.excerpt)}
    54 |
    55 |
  2. 56 | ) 57 | })} 58 |
59 | 60 | {previousPagePath && ( 61 | <> 62 | Previous page 63 |
64 | 65 | )} 66 | {nextPagePath && Next page} 67 |
68 | ) 69 | } 70 | 71 | export default BlogIndex 72 | 73 | export const pageQuery = graphql` 74 | query WordPressPostArchive($offset: Int!, $postsPerPage: Int!) { 75 | allWpPost( 76 | sort: { fields: [date], order: DESC } 77 | limit: $postsPerPage 78 | skip: $offset 79 | ) { 80 | nodes { 81 | excerpt 82 | uri 83 | date(formatString: "MMMM DD, YYYY") 84 | title 85 | excerpt 86 | } 87 | } 88 | } 89 | ` 90 | -------------------------------------------------------------------------------- /src/templates/blog-post.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import { Link, graphql } from "gatsby" 3 | import { GatsbyImage } from "gatsby-plugin-image" 4 | import parse from "html-react-parser" 5 | 6 | // We're using Gutenberg so we need the block styles 7 | // these are copied into this project due to a conflict in the postCSS 8 | // version used by the Gatsby and @wordpress packages that causes build 9 | // failures. 10 | // @todo update this once @wordpress upgrades their postcss version 11 | import "../css/@wordpress/block-library/build-style/style.css" 12 | import "../css/@wordpress/block-library/build-style/theme.css" 13 | 14 | import Bio from "../components/bio" 15 | import Layout from "../components/layout" 16 | import Seo from "../components/seo" 17 | 18 | const BlogPostTemplate = ({ data: { previous, next, post } }) => { 19 | const featuredImage = { 20 | data: post.featuredImage?.node?.localFile?.childImageSharp?.gatsbyImageData, 21 | alt: post.featuredImage?.node?.alt || ``, 22 | } 23 | 24 | return ( 25 | 26 | 27 | 28 |
33 |
34 |

{parse(post.title)}

35 | 36 |

{post.date}

37 | 38 | {/* if we have a featured image for this post let's display it */} 39 | {featuredImage?.data && ( 40 | 45 | )} 46 |
47 | 48 | {!!post.content && ( 49 |
{parse(post.content)}
50 | )} 51 | 52 |
53 | 54 |
55 | 56 |
57 |
58 | 59 | 86 |
87 | ) 88 | } 89 | 90 | export default BlogPostTemplate 91 | 92 | export const pageQuery = graphql` 93 | query BlogPostById( 94 | $id: String! 95 | $previousPostId: String 96 | $nextPostId: String 97 | ) { 98 | post: wpPost(id: { eq: $id }) { 99 | id 100 | excerpt 101 | content 102 | title 103 | date(formatString: "MMMM DD, YYYY") 104 | featuredImage { 105 | node { 106 | altText 107 | localFile { 108 | childImageSharp { 109 | gatsbyImageData( 110 | quality: 100 111 | placeholder: TRACED_SVG 112 | layout: FULL_WIDTH 113 | ) 114 | } 115 | } 116 | } 117 | } 118 | } 119 | previous: wpPost(id: { eq: $previousPostId }) { 120 | uri 121 | title 122 | } 123 | next: wpPost(id: { eq: $nextPostId }) { 124 | uri 125 | title 126 | } 127 | } 128 | ` 129 | -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyjs/gatsby-starter-wordpress-blog/5b69e6d389f4a2f5c2349e3b4a33638693d017b6/static/favicon.ico -------------------------------------------------------------------------------- /static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | --------------------------------------------------------------------------------