├── .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 |
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 | [ ](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 |
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 |
40 |
45 |
46 |
47 |
48 | {parse(title)}
49 |
50 |
51 | {post.date}
52 |
53 |
54 |
55 |
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 |
50 | )}
51 |
52 |
53 |
54 |
57 |
58 |
59 |
60 |
69 |
70 | {previous && (
71 |
72 | ← {parse(previous.title)}
73 |
74 | )}
75 |
76 |
77 |
78 | {next && (
79 |
80 | {parse(next.title)} →
81 |
82 | )}
83 |
84 |
85 |
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 |
--------------------------------------------------------------------------------