]> _ Git - sycomore-fondation.git/commitdiff
wip #5812 @2:00 init wordpress
authorsoufiane <soufiane@cubedesigners.com>
Fri, 21 Apr 2023 16:10:14 +0000 (18:10 +0200)
committersoufiane <soufiane@cubedesigners.com>
Fri, 21 Apr 2023 16:10:14 +0000 (18:10 +0200)
237 files changed:
wp-content/themes/twentytwentyone/.stylelintignore [new file with mode: 0644]
wp-content/themes/twentytwentyone/.stylelintrc-css.json [new file with mode: 0644]
wp-content/themes/twentytwentyone/.stylelintrc.json [new file with mode: 0644]
wp-content/themes/twentytwentyone/404.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/archive.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/custom-color-overrides.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/ie-editor.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/ie.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/print.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/style-dark-mode-rtl.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/style-dark-mode.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/style-editor-customizer.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/css/style-editor.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/Daffodils.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/Reading.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/in-the-bois-de-boulogne.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/playing-in-the-sand.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/roses-tremieres-hollyhocks-1884.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/self-portrait-1885.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/the-garden-at-bougival-1884.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/villa-with-orange-trees-nice.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/images/young-woman-in-mauve.jpg [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/customize-helpers.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/customize-preview.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/customize.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/dark-mode-toggler.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/editor-dark-mode-support.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/editor.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/palette-colorpicker.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/polyfills.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/primary-navigation.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/responsive-embeds.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/js/skip-link-focus-fix.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/01-settings/file-header.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/01-settings/fonts.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/01-settings/global.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/02-tools/functions.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/02-tools/mixins.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/03-generic/breakpoints.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/03-generic/clearings.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/03-generic/normalize.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/03-generic/reset.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/03-generic/vertical-margins.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/04-elements/blockquote.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/04-elements/forms-editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/04-elements/forms.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/04-elements/links.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/04-elements/media.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/04-elements/misc.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/_config.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/audio/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/blocks-editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/blocks.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/button/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/button/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/code/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/code/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/columns/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/columns/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/cover/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/cover/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/file/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/file/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/gallery/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/gallery/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/group/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/group/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/heading/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/heading/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/html/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-comments/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-comments/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-posts/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-posts/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/legacy/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/legacy/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/list/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/list/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/media-text/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/media-text/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/navigation/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/navigation/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/paragraph/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/paragraph/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/preformatted/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/preformatted/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/pullquote/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/pullquote/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/query-loop/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/query-loop/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/quote/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/quote/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/rss/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/rss/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/search/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/search/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/separator/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/separator/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/social-icons/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/social-icons/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/table/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/table/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/tag-clould/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/tag-clould/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_font-sizes.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/verse/_editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/verse/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/05-blocks/video/_style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/404.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/archives.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/comments.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/entry.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/footer-navigation.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/footer.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/header.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/navigation.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/pagination.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/posts-and-pages.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/search.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/single.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/06-components/widgets.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/07-utilities/a11y.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/07-utilities/color-palette.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/07-utilities/ie.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/07-utilities/measure.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/07-utilities/print.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/style-dark-mode.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/style-editor.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/assets/sass/style.scss [new file with mode: 0644]
wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-custom-colors.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize-color-control.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize-notice-control.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-dark-mode.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-svg-icons.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/comments.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/footer.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/functions.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/header.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/image.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/back-compat.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/block-patterns.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/block-styles.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/custom-css.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/menu-functions.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/starter-content.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/template-functions.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/inc/template-tags.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/index.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/package-lock.json [new file with mode: 0644]
wp-content/themes/twentytwentyone/package.json [new file with mode: 0644]
wp-content/themes/twentytwentyone/page.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/postcss.config.js [new file with mode: 0644]
wp-content/themes/twentytwentyone/readme.txt [new file with mode: 0644]
wp-content/themes/twentytwentyone/screenshot.png [new file with mode: 0644]
wp-content/themes/twentytwentyone/search.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/searchform.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/single.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/style-rtl.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/style.css [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/content/content-excerpt.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/content/content-none.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/content/content-page.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/content/content-single.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/content/content.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-aside.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-audio.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-chat.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-gallery.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-image.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-link.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-quote.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-status.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-video.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/footer/footer-widgets.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/header/entry-header.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/header/excerpt-header.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/header/site-branding.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/header/site-header.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/header/site-nav.php [new file with mode: 0644]
wp-content/themes/twentytwentyone/template-parts/post/author-bio.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold-Italic.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular-Italic.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/dm-sans/LICENSE.txt [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/OFL.txt [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/inter/LICENSE.txt [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/LICENSE.md [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2 [new file with mode: 0644]
wp-content/themes/twentytwentythree/parts/comments.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/parts/footer.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/parts/header.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/parts/post-meta.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/patterns/call-to-action.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/patterns/footer-default.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/patterns/hidden-404.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/patterns/hidden-comments.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/patterns/hidden-no-results.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/patterns/post-meta.php [new file with mode: 0644]
wp-content/themes/twentytwentythree/readme.txt [new file with mode: 0644]
wp-content/themes/twentytwentythree/screenshot.png [new file with mode: 0644]
wp-content/themes/twentytwentythree/style.css [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/aubergine.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/block-out.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/canary.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/electric.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/grapes.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/marigold.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/pilgrimage.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/pitch.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/sherbet.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/styles/whisper.json [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/404.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/archive.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/blank.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/blog-alternative.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/home.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/index.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/page.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/search.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/templates/single.html [new file with mode: 0644]
wp-content/themes/twentytwentythree/theme.json [new file with mode: 0644]

diff --git a/wp-content/themes/twentytwentyone/.stylelintignore b/wp-content/themes/twentytwentyone/.stylelintignore
new file mode 100644 (file)
index 0000000..b732fe3
--- /dev/null
@@ -0,0 +1,10 @@
+vendor/
+node_modules/
+assets/images
+*.php
+*.map
+*.png
+*.json
+LICENSE
+composer.lock
+*.txt
diff --git a/wp-content/themes/twentytwentyone/.stylelintrc-css.json b/wp-content/themes/twentytwentyone/.stylelintrc-css.json
new file mode 100644 (file)
index 0000000..7676b68
--- /dev/null
@@ -0,0 +1,23 @@
+{
+       "extends": [
+               "@wordpress/stylelint-config"
+       ],
+       "rules": {
+               "indentation": "tab",
+               "no-duplicate-selectors": null,
+               "function-url-quotes": null,
+               "selector-attribute-quotes": null,
+               "declaration-block-no-duplicate-properties": null,
+               "function-calc-no-unspaced-operator": null,
+               "selector-pseudo-class-no-unknown": null,
+               "selector-class-pattern": null,
+               "font-weight-notation": null,
+               "selector-type-no-unknown": null,
+               "max-line-length": null,
+               "at-rule-empty-line-before": null,
+               "selector-pseudo-element-colon-notation": null,
+               "number-leading-zero": null,
+               "no-descending-specificity": null,
+               "length-zero-no-unit": [true, {"ignore": ["custom-properties"]}]
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/.stylelintrc.json b/wp-content/themes/twentytwentyone/.stylelintrc.json
new file mode 100644 (file)
index 0000000..c27cf37
--- /dev/null
@@ -0,0 +1,16 @@
+{
+       "extends": [
+               "@wordpress/stylelint-config/scss"
+       ],
+       "rules": {
+               "selector-class-pattern": null,
+               "font-weight-notation": null,
+               "selector-type-no-unknown": null,
+               "max-line-length": null,
+               "at-rule-empty-line-before": null,
+               "selector-pseudo-element-colon-notation": null,
+               "number-leading-zero": null,
+               "no-descending-specificity": null,
+               "length-zero-no-unit": [true, {"ignore": ["custom-properties"]}]
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/404.php b/wp-content/themes/twentytwentyone/404.php
new file mode 100644 (file)
index 0000000..c15a2e5
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+/**
+ * The template for displaying 404 pages (not found)
+ *
+ * @link https://codex.wordpress.org/Creating_an_Error_404_Page
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header();
+?>
+
+       <header class="page-header alignwide">
+               <h1 class="page-title"><?php esc_html_e( 'Nothing here', 'twentytwentyone' ); ?></h1>
+       </header><!-- .page-header -->
+
+       <div class="error-404 not-found default-max-width">
+               <div class="page-content">
+                       <p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentytwentyone' ); ?></p>
+                       <?php get_search_form(); ?>
+               </div><!-- .page-content -->
+       </div><!-- .error-404 -->
+
+<?php
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/archive.php b/wp-content/themes/twentytwentyone/archive.php
new file mode 100644 (file)
index 0000000..a9fbea2
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+/**
+ * The template for displaying archive pages
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header();
+
+$description = get_the_archive_description();
+?>
+
+<?php if ( have_posts() ) : ?>
+
+       <header class="page-header alignwide">
+               <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?>
+               <?php if ( $description ) : ?>
+                       <div class="archive-description"><?php echo wp_kses_post( wpautop( $description ) ); ?></div>
+               <?php endif; ?>
+       </header><!-- .page-header -->
+
+       <?php while ( have_posts() ) : ?>
+               <?php the_post(); ?>
+               <?php get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) ); ?>
+       <?php endwhile; ?>
+
+       <?php twenty_twenty_one_the_posts_navigation(); ?>
+
+<?php else : ?>
+       <?php get_template_part( 'template-parts/content/content-none' ); ?>
+<?php endif; ?>
+
+<?php
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/assets/css/custom-color-overrides.css b/wp-content/themes/twentytwentyone/assets/css/custom-color-overrides.css
new file mode 100644 (file)
index 0000000..3993d7e
--- /dev/null
@@ -0,0 +1,5 @@
+/**
+ * Custom Color Overrides
+ *
+ * This file is automatically populated if the user chooses custom colors in the Customizer.
+ */
diff --git a/wp-content/themes/twentytwentyone/assets/css/ie-editor.css b/wp-content/themes/twentytwentyone/assets/css/ie-editor.css
new file mode 100644 (file)
index 0000000..954d0dc
--- /dev/null
@@ -0,0 +1,2986 @@
+@charset "UTF-8";
+
+/**
+ * These styles should be loaded by the Block Editor only
+ */
+
+/* Variables */
+:root {
+
+       /* Font Family */
+
+       /* Font Size */
+
+       /* Line Height */
+
+       /* Headings */
+
+       /* Block: Latest posts */
+
+       /* Colors */
+
+       /* Body text color, site title, footer text color. */
+
+       /* Headings */
+
+       /* Mint, default body background */
+
+       /* Used for borders (separators) */
+
+       /* Spacing */
+
+       /* Elevation */
+
+       /* Forms */
+
+       /* Cover block */
+
+       /* Buttons */
+
+       /* entry */
+
+       /* Header */
+
+       /* Main navigation */
+
+       /* Pagination */
+
+       /* Footer */
+
+       /* Block: Pull quote */
+
+       /* Block: Table */
+
+       /* Widgets */
+
+       /* Admin-bar height */
+}
+
+/**
+ * Responsive Styles
+ */
+
+/**
+ * Required Variables
+ */
+
+/**
+ * Root Media Query Variables
+ */
+
+/**
+ * Extends
+ */
+.default-max-width {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .default-max-width {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .default-max-width {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.wide-max-width {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wide-max-width {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .wide-max-width {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+@media only screen and (min-width: 482px) {
+
+       .full-max-width {
+               max-width: 100%;
+               width: auto;
+               margin-left: auto;
+               margin-right: auto;
+       }
+}
+
+blockquote {
+       padding: 0;
+       position: relative;
+       margin: 30px 0 30px 25px;
+}
+
+blockquote > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+blockquote > *:first-child {
+       margin-top: 0;
+}
+
+blockquote > *:last-child {
+       margin-bottom: 0;
+}
+
+blockquote p {
+       letter-spacing: normal;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       font-style: normal;
+       font-weight: 700;
+       line-height: 1.7;
+}
+
+blockquote cite,
+blockquote footer {
+       font-weight: normal;
+       letter-spacing: normal;
+}
+
+blockquote.alignleft,
+blockquote.alignright {
+       padding-left: inherit;
+}
+
+blockquote.alignleft p,
+blockquote.alignright p {
+       font-size: 1.125rem;
+       max-width: inherit;
+       width: inherit;
+}
+
+blockquote.alignleft cite,
+blockquote.alignleft footer,
+blockquote.alignright cite,
+blockquote.alignright footer {
+       font-size: 1rem;
+       letter-spacing: normal;
+}
+
+blockquote strong {
+       font-weight: bolder;
+}
+
+blockquote:before {
+       content: "“";
+       font-size: 1.25rem;
+       line-height: 1.7;
+       position: absolute;
+       left: -12px;
+}
+
+blockquote .wp-block-quote__citation,
+blockquote cite,
+blockquote footer {
+       color: #28303d;
+       font-size: 1rem;
+       font-style: normal;
+}
+@media only screen and (max-width: 481px) {
+
+       blockquote {
+               padding-left: 13px;
+       }
+
+       blockquote:before {
+               left: 0;
+       }
+}
+
+img {
+       height: auto;
+       vertical-align: middle;
+}
+
+/* Classic editor images */
+
+/* Make sure embeds and iframes fit their containers. */
+img,
+.entry-content img,
+embed,
+iframe,
+object,
+video {
+       max-width: 100%;
+}
+
+/* Media captions */
+figcaption,
+.wp-caption,
+.wp-caption-text,
+.wp-block-embed figcaption {
+       color: currentColor;
+       font-size: 1rem;
+       line-height: 1.7;
+       margin-top: 10px;
+       margin-bottom: 20px;
+       text-align: center;
+}
+
+.alignleft figcaption,
+.alignright figcaption,
+.alignleft .wp-caption,
+.alignright .wp-caption,
+.alignleft .wp-caption-text,
+.alignright .wp-caption-text,
+.alignleft .wp-block-embed figcaption,
+.alignright .wp-block-embed figcaption {
+       margin-bottom: 0;
+}
+
+/* WP Smiley */
+.page-content .wp-smiley,
+.entry-content .wp-smiley,
+.comment-content .wp-smiley {
+       border: none;
+       margin-bottom: 0;
+       margin-top: 0;
+       padding: 0;
+}
+
+select {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       font-size: 1.125rem;
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       padding: 10px 30px 10px 10px;
+       background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right 10px top 60%;
+}
+
+select:focus {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       font-size: 1.125rem;
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       padding: 10px 30px 10px 10px;
+       background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right 10px top 60%;
+}
+
+/*
+ * text-underline-offset doesn't work in Chrome at all 👎
+ * But looks nice in Safari/Firefox, so let's keep it and
+ * maybe Chrome will support it soon.
+ */
+a {
+       cursor: pointer;
+       color: #28303d;
+       text-underline-offset: 3px;
+       text-decoration-skip-ink: all;
+}
+
+a:hover {
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       text-decoration: underline 1px dotted currentColor;
+       text-decoration-skip-ink: none;
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: #000;
+       color: #fff;
+       text-decoration: none;
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: #fff;
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: rgba(0, 0, 0, 0.9);
+       color: #fff;
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: #fff;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       outline-offset: -2px;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link:focus {
+       color: #21759b;
+       background-color: #f1f1f1;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).custom-logo-link {
+       background: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
+       outline: 2px dotted #28303d;
+}
+
+.wp-block-button__link {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+}
+
+.wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-button__link:hover,
+.wp-block-button__link:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.wp-block-button__link:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.wp-block-button__link:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+/**
+ * Block Options
+ */
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
+       border-color: currentColor !important;
+       background-color: transparent !important;
+       color: inherit !important;
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background {
+       border-color: currentColor;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background:not(.has-text-color) {
+       color: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: transparent;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:hover {
+       background-color: #28303d !important;
+       border-color: transparent !important;
+       color: #d1e4dd !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: #28303d !important;
+       border-color: transparent !important;
+       color: #d1e4dd !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:hover {
+       background-color: #28303d !important;
+       color: #d1e4dd !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: #28303d !important;
+       color: #d1e4dd !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:hover {
+       color: #d1e4dd !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:active {
+       color: #d1e4dd !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-button.is-style-squared {
+       border-radius: 0;
+}
+
+.is-style-outline .wp-block-button__link[style*=radius],
+.wp-block-button__link[style*=radius] {
+       outline-offset: 2px;
+}
+
+.wp-block-code code {
+       white-space: pre !important;
+       overflow-x: auto;
+}
+
+.wp-block-code {
+       border-color: #28303d;
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: 20px;
+       color: currentColor;
+}
+
+.wp-block-cover,
+.wp-block-cover-image {
+       background-color: #000;
+       min-height: 450px;
+       margin-top: inherit;
+       margin-bottom: inherit;
+}
+
+.wp-block-cover:not(.alignwide):not(.alignfull),
+.wp-block-cover-image:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+[data-align=full] .wp-block-cover,
+[data-align=full] .wp-block-cover-image {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-cover > .wp-block-cover__inner-container > *:first-child,
+.wp-block-cover-image > .wp-block-cover__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-cover > .wp-block-cover__inner-container > *:last-child:not(.block-list-appender),
+.wp-block-cover-image > .wp-block-cover__inner-container > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-cover.has-child-selected > .wp-block-cover__inner-container > *:nth-last-child(2),
+.wp-block-cover.is-selected > .wp-block-cover__inner-container > *:nth-last-child(2),
+.wp-block-cover-image.has-child-selected > .wp-block-cover__inner-container > *:nth-last-child(2),
+.wp-block-cover-image.is-selected > .wp-block-cover__inner-container > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover .block-editor-block-list__block,
+.wp-block-cover-image .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text,
+.wp-block-cover-image .block-editor-block-list__block,
+.wp-block-cover .wp-block-cover__inner-container a,
+.wp-block-cover .wp-block-cover-image-text a,
+.wp-block-cover .wp-block-cover-text a,
+.wp-block-cover .block-editor-block-list__block a,
+.wp-block-cover-image .wp-block-cover__inner-container a,
+.wp-block-cover-image .wp-block-cover-image-text a,
+.wp-block-cover-image .wp-block-cover-text a,
+.wp-block-cover-image .block-editor-block-list__block a {
+       color: currentColor;
+}
+
+.wp-block-cover .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover .wp-block-cover-text .has-link-color a,
+.wp-block-cover .block-editor-block-list__block .has-link-color a,
+.wp-block-cover-image .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover-image .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover-text .has-link-color a,
+.wp-block-cover-image .block-editor-block-list__block .has-link-color a {
+       color: #28303d;
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover__inner-container {
+       color: #fff;
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-image-text {
+       color: #fff;
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-text {
+       color: #fff;
+}
+
+.wp-block-cover:not([class*=background-color]) .block-editor-block-list__block {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover__inner-container {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-image-text {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-text {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .block-editor-block-list__block {
+       color: #fff;
+}
+
+.wp-block-cover h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+       padding: 0;
+       text-align: inherit;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-cover h2 {
+               font-size: 3rem;
+       }
+}
+
+.wp-block-cover-image h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+       padding: 0;
+       text-align: inherit;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-cover-image h2 {
+               font-size: 3rem;
+       }
+}
+
+.wp-block-cover h2.has-text-align-left,
+.wp-block-cover-image h2.has-text-align-left {
+       text-align: left;
+}
+
+.wp-block-cover h2.has-text-align-center,
+.wp-block-cover-image h2.has-text-align-center {
+       text-align: center;
+}
+
+.wp-block-cover h2.has-text-align-right,
+.wp-block-cover-image h2.has-text-align-right {
+       text-align: right;
+}
+
+.wp-block-cover.is-style-twentytwentyone-border,
+.wp-block-cover-image.is-style-twentytwentyone-border {
+       border: 3px solid #28303d;
+}
+
+.wp-block-cover[class*=-background-color][class] .wp-block-cover__inner-container,
+.wp-block-cover-image[class*=-background-color][class] .wp-block-cover__inner-container {
+       background-color: unset;
+}
+
+.wp-block-columns:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-columns .wp-block,
+.wp-block-columns .wp-block-column {
+       max-width: inherit;
+}
+
+.wp-block-columns > .wp-block-column > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-columns > .wp-block-column > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-columns.has-child-selected > .wp-block-column > *:nth-last-child(2),
+.wp-block-columns.is-selected > .wp-block-column > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
+               margin-left: -50px;
+               margin-top: 63px;
+               z-index: 2;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background) {
+               padding-left: 50px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               padding-left: 50px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
+               margin-top: 0;
+       }
+}
+
+.wp-block[data-align=full] > .wp-block-columns p:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block[data-align=full] > .wp-block-columns h1:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block[data-align=full] > .wp-block-columns h2:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block[data-align=full] > .wp-block-columns h3:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block[data-align=full] > .wp-block-columns h4:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block[data-align=full] > .wp-block-columns h5:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block[data-align=full] > .wp-block-columns h6:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-file .wp-block-file__textlink {
+       text-decoration: underline;
+       text-decoration-style: solid;
+       text-decoration-thickness: 1px;
+}
+
+.wp-block-file .wp-block-file__textlink:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.wp-block-file .wp-block-file__button {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+       display: inline-block;
+}
+
+.wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-file .wp-block-file__button:hover,
+.wp-block-file .wp-block-file__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.wp-block-file .wp-block-file__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.wp-block-file .wp-block-file__button:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+.wp-block-file .wp-block-file__button:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-gallery figcaption {
+       margin-bottom: 0;
+}
+
+.wp-block-gallery figcaption a {
+       color: #fff;
+}
+
+.wp-block-group.has-background {
+       padding: 30px;
+}
+
+[data-align=full] .wp-block-group.has-background {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-group.is-style-twentytwentyone-border {
+       border: 3px solid #28303d;
+       padding: 30px;
+}
+
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > [data-align=full] {
+       max-width: calc(100% + 60px);
+       width: calc(100% + 60px);
+       margin-left: -30px;
+}
+
+.wp-block-group > .wp-block-group__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-group > .wp-block-group__inner-container > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-group.has-child-selected > .wp-block-group__inner-container > *:nth-last-child(2),
+.wp-block-group.is-selected > .wp-block-group__inner-container > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+
+.wp-block-group .wp-block-group.has-background > .block-editor-block-list__layout > [data-align=full] {
+       margin: 0;
+       width: 100%;
+}
+
+.wp-block-heading h1,
+h1,
+.h1,
+.wp-block-heading h2,
+h2,
+.h2,
+.wp-block-heading h3,
+h3,
+.h3,
+.wp-block-heading h4,
+h4,
+.h4,
+.wp-block-heading h5,
+h5,
+.h5,
+.wp-block-heading h6,
+h6,
+.h6 {
+       clear: both;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: normal;
+}
+
+.wp-block-heading h1 strong,
+h1 strong,
+.h1 strong,
+.wp-block-heading h2 strong,
+h2 strong,
+.h2 strong,
+.wp-block-heading h3 strong,
+h3 strong,
+.h3 strong,
+.wp-block-heading h4 strong,
+h4 strong,
+.h4 strong,
+.wp-block-heading h5 strong,
+h5 strong,
+.h5 strong,
+.wp-block-heading h6 strong,
+h6 strong,
+.h6 strong {
+       font-weight: 600;
+}
+
+.wp-block-heading h1[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+h1[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.h1[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.wp-block-heading h2[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+h2[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.h2[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.wp-block-heading h3[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+h3[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.h3[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.wp-block-heading h4[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+h4[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.h4[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.wp-block-heading h5[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+h5[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.h5[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.wp-block-heading h6[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+h6[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.h6[style*="--wp--typography--line-height"] {
+       line-height: 1.7;
+}
+
+.wp-block-heading h1 {
+       font-size: 4rem;
+       letter-spacing: normal;
+       line-height: 1.1;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .wp-block-heading h1 {
+               font-size: 6rem;
+       }
+}
+
+h1 {
+       font-size: 4rem;
+       letter-spacing: normal;
+       line-height: 1.1;
+}
+
+@media only screen and (min-width: 652px) {
+
+       h1 {
+               font-size: 6rem;
+       }
+}
+
+.h1 {
+       font-size: 4rem;
+       letter-spacing: normal;
+       line-height: 1.1;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .h1 {
+               font-size: 6rem;
+       }
+}
+
+.wp-block-heading h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .wp-block-heading h2 {
+               font-size: 3rem;
+       }
+}
+
+h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       h2 {
+               font-size: 3rem;
+       }
+}
+
+.h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .h2 {
+               font-size: 3rem;
+       }
+}
+
+.wp-block-heading h3 {
+       font-size: 2rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .wp-block-heading h3 {
+               font-size: 2rem;
+       }
+}
+
+h3 {
+       font-size: 2rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       h3 {
+               font-size: 2rem;
+       }
+}
+
+.h3 {
+       font-size: 2rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .h3 {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-heading h4,
+h4,
+.h4 {
+       font-size: 1.5rem;
+       font-weight: 600;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+.wp-block-heading h5,
+h5,
+.h5 {
+       font-size: 1.125rem;
+       font-weight: 600;
+       letter-spacing: 0.05em;
+       line-height: 1.3;
+}
+
+.wp-block-heading h6,
+h6,
+.h6 {
+       font-size: 1rem;
+       font-weight: 600;
+       letter-spacing: 0.05em;
+       line-height: 1.3;
+}
+
+[data-type="core/html"] textarea {
+       color: #28303d;
+       border-radius: 0;
+       padding: 20px;
+}
+
+/* Center image block by default in the editor */
+.wp-block-image,
+.wp-block-image > div:not(.components-placeholder) {
+       text-align: center;
+}
+
+[data-type="core/image"] .block-editor-block-list__block-edit figure.is-resized {
+       margin: 0 auto;
+}
+
+/* Block Styles */
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: 3px solid #28303d;
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: 20px;
+}
+
+.wp-block-latest-comments,
+.wp-block-latest-posts {
+       padding-left: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: 50px;
+       margin-bottom: 50px;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid {
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.wp-block-latest-posts.is-grid > li {
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > * {
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+
+.wp-block-latest-posts > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > a {
+       display: inline-block;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 2rem;
+       font-weight: normal;
+       line-height: 1.3;
+       margin-bottom: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-latest-posts > li > a {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-author {
+       color: #28303d;
+       font-size: 1.25rem;
+       line-height: 1.7;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: #28303d;
+       font-size: 1rem;
+       line-height: 1.7;
+}
+
+[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date,
+.has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: currentColor;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
+.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.7;
+       margin-top: 20px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers {
+       border-top: 3px solid #28303d;
+       border-bottom: 3px solid #28303d;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li {
+       padding-bottom: 30px;
+       border-bottom: 1px solid #28303d;
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
+       padding-bottom: 30px;
+       border-bottom: 1px solid #28303d;
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
+       padding-bottom: 0;
+       border-bottom: none;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
+       box-shadow: inset 0 -1px 0 0 #28303d;
+       border-bottom: 2px solid #28303d;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
+       margin: 0;
+       padding-top: 30px;
+       padding-right: 25px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
+       padding-bottom: 30px;
+}
+@media screen and (min-width: 600px) {
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
+               width: 50%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
+               width: 33%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
+               width: 25%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
+               width: 20%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
+               width: 17%;
+       }
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
+       border: 3px solid #28303d;
+       padding: 30px 25px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
+       padding-bottom: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
+       margin-top: 25px;
+       margin-bottom: 25px;
+}
+
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 50%;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 33.33%;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 16.66%;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 14.28%;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 11.11%;
+}
+
+.gallery-caption {
+       display: block;
+}
+
+ul,
+ol {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       margin: 30px 0;
+       padding-left: 50px;
+}
+
+ul.aligncenter,
+ol.aligncenter {
+       list-style-position: inside;
+       padding: 0;
+       text-align: center;
+}
+
+ul.alignright,
+ol.alignright {
+       list-style-position: inside;
+       padding: 0;
+       text-align: right;
+}
+
+li > ul,
+li > ol {
+       margin: 0;
+}
+
+dt {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: bold;
+}
+
+[data-align=full] .wp-block-media-text {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-media-text > .wp-block-media-text__content > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-media-text > .wp-block-media-text__content > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-media-text.has-child-selected > .wp-block-media-text__content > *:nth-last-child(2),
+.wp-block-media-text.is-selected > .wp-block-media-text__content > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+
+.wp-block-media-text .wp-block-media-text__content {
+       padding: 25px;
+}
+
+.wp-block-media-text.is-style-twentytwentyone-border {
+       border: 3px solid #28303d;
+}
+
+.wp-block-navigation [data-block] {
+       margin-top: revert;
+       margin-bottom: revert;
+}
+
+.wp-block-navigation .wp-block-navigation__container {
+       background: #d1e4dd;
+}
+
+.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__label {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       font-weight: normal;
+}
+
+.wp-block-navigation .has-child .wp-block-navigation__container {
+       box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover {
+       color: #28303d;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:focus {
+       color: #28303d;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link__content {
+       color: currentColor;
+}
+
+p {
+       line-height: 1.7;
+}
+
+p.has-background {
+       padding: 20px;
+}
+
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre !important;
+       font-size: 1rem;
+}
+
+.wp-block-pullquote {
+       padding: 40px 0;
+       text-align: center;
+       border-width: 3px;
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+}
+
+.wp-block-pullquote blockquote::before {
+       color: currentColor;
+       content: "“";
+       display: block;
+       position: relative;
+       left: 0;
+       font-size: 3rem;
+       font-weight: 500;
+       line-height: 1;
+}
+
+.wp-block-pullquote p {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 2rem;
+       font-style: normal;
+       font-weight: 700;
+       letter-spacing: normal;
+       line-height: 1.3;
+       margin: 0;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-pullquote p {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-pullquote a {
+       color: currentColor;
+}
+
+.wp-block-pullquote .wp-block-pullquote__citation,
+.wp-block-pullquote cite,
+.wp-block-pullquote footer {
+       font-size: 1rem;
+       font-style: normal;
+       text-transform: none;
+}
+
+.wp-block-pullquote:not(.is-style-solid-color) {
+       background: none;
+}
+
+.wp-block-pullquote.is-style-solid-color {
+       margin-left: auto;
+       margin-right: auto;
+       padding: 50px;
+       border-width: 3px;
+       border-style: solid;
+       border-color: #28303d;
+}
+@media (min-width: 600px) {
+
+       .wp-block-pullquote.is-style-solid-color {
+               padding: 100px;
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote::before {
+       text-align: left;
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
+.wp-block-pullquote.is-style-solid-color.alignright blockquote {
+       padding-left: 20px;
+       padding-right: 20px;
+       max-width: inherit;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote {
+       margin: 0;
+       max-width: 100%;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote p {
+       font-size: 2rem;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-pullquote.is-style-solid-color blockquote p {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
+.wp-block-pullquote.is-style-solid-color cite,
+.wp-block-pullquote.is-style-solid-color footer {
+       color: currentColor;
+}
+
+.wp-block[data-align=full] .wp-block-pullquote:not(.is-style-solid-color) blockquote {
+       padding: 0 40px;
+}
+
+.wp-block[data-align=left] .wp-block-pullquote.is-style-solid-color {
+       padding: 20px;
+}
+
+.wp-block[data-align=right] .wp-block-pullquote.is-style-solid-color {
+       padding: 20px;
+}
+
+.wp-block-query.has-background {
+       padding: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-query.has-background {
+               padding: 30px;
+       }
+}
+
+.wp-block-quote {
+       position: relative;
+       border-left: none;
+       margin: 30px auto 30px 25px;
+}
+
+.wp-block-quote p {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       font-style: normal;
+       font-weight: 700;
+       line-height: 1.7;
+}
+
+.wp-block-quote strong {
+       font-weight: bolder;
+}
+
+.wp-block-quote:before {
+       content: "“";
+       font-size: 1.25rem;
+       line-height: 1.7;
+       left: -12px;
+}
+
+.wp-block-quote .wp-block-quote__citation {
+       color: currentColor;
+       font-size: 1rem;
+       font-style: normal;
+}
+
+.has-background .wp-block-quote .wp-block-quote__citation,
+[class*=background-color] .wp-block-quote .wp-block-quote__citation,
+[style*=background-color] .wp-block-quote .wp-block-quote__citation,
+.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation {
+       color: currentColor;
+}
+
+.wp-block-quote.has-text-align-right {
+       margin: 30px 25px 30px auto;
+       padding-right: 0;
+       border-right: none;
+}
+
+.wp-block-quote.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.has-text-align-right p:before {
+       content: "”";
+       font-size: 1.25rem;
+       font-weight: normal;
+       line-height: 1.7;
+       margin-right: 5px;
+}
+
+.wp-block-quote.has-text-align-center {
+       margin: 30px auto;
+}
+
+.wp-block-quote.has-text-align-center:before {
+       display: none;
+}
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+       padding-left: 0;
+
+       /* Resetting margins to match _block-container.scss */
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-quote.is-large p {
+       font-size: 2.25rem;
+       font-style: normal;
+       line-height: 1.35;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-large p {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-style-large p {
+       font-size: 2.25rem;
+       font-style: normal;
+       line-height: 1.35;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-style-large p {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-large:before {
+       font-size: 2.25rem;
+       line-height: 1.35;
+       left: -25px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-large:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-style-large:before {
+       font-size: 2.25rem;
+       line-height: 1.35;
+       left: -25px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-style-large:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-large.has-text-align-right:before,
+.wp-block-quote.is-style-large.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.is-large.has-text-align-right p:before {
+       content: "”";
+       font-size: 2.25rem;
+       font-weight: normal;
+       line-height: 1.35;
+       margin-right: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-large.has-text-align-right p:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-style-large.has-text-align-right p:before {
+       content: "”";
+       font-size: 2.25rem;
+       font-weight: normal;
+       line-height: 1.35;
+       margin-right: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-style-large.has-text-align-right p:before {
+               font-size: 2.5rem;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.is-large,
+       .wp-block-quote.is-style-large {
+               padding-left: 25px;
+       }
+
+       .wp-block-quote.is-large:before,
+       .wp-block-quote.is-style-large:before {
+               left: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right,
+       .wp-block-quote.is-style-large.has-text-align-right {
+               padding-left: 0;
+               padding-right: 25px;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right:before,
+       .wp-block-quote.is-style-large.has-text-align-right:before {
+               right: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote {
+               padding-left: 13px;
+       }
+
+       .wp-block-quote:before {
+               left: 0;
+       }
+
+       .wp-block-quote.has-text-align-right {
+               padding-left: 0;
+               padding-right: 13px;
+       }
+
+       .wp-block-quote.has-text-align-right:before {
+               right: 0;
+       }
+
+       .wp-block-quote.has-text-align-center {
+               padding-left: 0;
+               padding-right: 0;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-quote {
+               margin-left: auto;
+       }
+
+       .wp-block-quote.has-text-align-right {
+               margin-right: auto;
+       }
+}
+
+.wp-block-rss {
+       padding-left: 0;
+}
+
+.wp-block-rss > li {
+       list-style: none;
+}
+
+.wp-block-rss:not(.is-grid) > li {
+       margin-top: 50px;
+       margin-bottom: 50px;
+}
+
+.wp-block-rss:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid > li {
+       margin-bottom: 30px;
+}
+
+.wp-block-rss.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-rss > li > * {
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+
+.wp-block-rss > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss .wp-block-rss__item-title > a {
+       display: inline-block;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 2rem;
+       font-weight: normal;
+       line-height: 1.3;
+       margin-bottom: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-rss .wp-block-rss__item-title > a {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-rss .wp-block-rss__item-author {
+       color: #28303d;
+       font-size: 1.25rem;
+       line-height: 1.7;
+}
+
+.wp-block-rss .wp-block-rss__item-publish-date {
+       color: #28303d;
+       font-size: 1rem;
+       line-height: 1.7;
+}
+
+[class*=inner-container] .wp-block-rss .wp-block-rss__item-publish-date,
+.has-background .wp-block-rss .wp-block-rss__item-publish-date {
+       color: currentColor;
+}
+
+.wp-block-rss .wp-block-rss__item-excerpt,
+.wp-block-rss .wp-block-rss__item-full-content {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.7;
+       margin-top: 20px;
+}
+
+.wp-block-rss.alignfull {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.entry-content [class*=inner-container] .wp-block-rss.alignfull,
+.entry-content .has-background .wp-block-rss.alignfull {
+       padding-left: 0;
+       padding-right: 0;
+}
+
+.wp-block-search {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wp-block-search {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .wp-block-search {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.wp-block-search .wp-block-search__label {
+       font-size: 1.125rem;
+       font-weight: 500;
+       margin-bottom: 10px;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+.wp-block-search .wp-block-search__input {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.7;
+       max-width: inherit;
+       margin-right: -3px;
+       padding: 10px;
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+.is-dark-theme .wp-block-search .wp-block-search__input {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.has-background .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+.has-background .wp-block-search .wp-block-search__input {
+       border-color: #28303d !important;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+       box-shadow: none;
+       margin-left: 0;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:hover,
+.wp-block-search .wp-block-search__button.wp-block-search__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button.has-icon {
+       padding: 6px 15px;
+       display: inherit;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button.has-icon svg {
+       width: 40px;
+       height: 40px;
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:hover {
+       background-color: #d1e4dd !important;
+       color: #28303d !important;
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:active {
+       background-color: #d1e4dd !important;
+       color: #28303d !important;
+}
+
+.has-text-color .wp-block-search .wp-block-search__button.wp-block-search__button:hover {
+       color: #28303d !important;
+}
+
+.has-text-color .wp-block-search .wp-block-search__button.wp-block-search__button:active {
+       color: #28303d !important;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       padding: 3px;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__input {
+       border: none;
+}
+
+.wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button:hover {
+       color: #28303d;
+}
+
+.wp-block-search.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__button:hover {
+       color: #28303d;
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button,
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__button {
+       color: #28303d;
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button:hover {
+       background-color: #28303d;
+       color: #fff;
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__button:hover {
+       background-color: #28303d;
+       color: #fff;
+}
+
+.wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button {
+       padding: 15px 30px;
+}
+
+.wp-block[data-align=center] > * {
+       text-align: center;
+}
+
+.wp-block[data-align=center] .wp-block-search__button-only .wp-block-search__inside-wrapper {
+       justify-content: center;
+}
+
+.wp-block-separator,
+hr {
+       border-bottom: 1px solid #28303d;
+       clear: both;
+       opacity: 1;
+}
+
+.wp-block-separator[style*="text-align:right"] {
+       border-right-color: #28303d;
+}
+
+.wp-block-separator[style*="text-align: right"] {
+       border-right-color: #28303d;
+}
+
+hr[style*="text-align:right"] {
+       border-right-color: #28303d;
+}
+
+hr[style*="text-align: right"] {
+       border-right-color: #28303d;
+}
+
+.wp-block-separator:not(.is-style-dots) {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-separator:not(.is-style-dots) {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block-separator:not(.is-style-dots) {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+hr:not(.is-style-dots) {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       hr:not(.is-style-dots) {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       hr:not(.is-style-dots) {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+[data-align=full] > .wp-block-separator,
+[data-align=wide] > .wp-block-separator,
+[data-align=full] > hr,
+[data-align=wide] > hr {
+       max-width: inherit;
+}
+
+.wp-block-separator.is-style-twentytwentyone-separator-thick,
+hr.is-style-twentytwentyone-separator-thick {
+       border-bottom-width: 3px;
+}
+
+.wp-block-separator.is-style-dots,
+hr.is-style-dots {
+       border-bottom: none;
+}
+
+.wp-block-separator.is-style-dots.has-background,
+.wp-block-separator.is-style-dots.has-text-color,
+hr.is-style-dots.has-background,
+hr.is-style-dots.has-text-color {
+       background-color: transparent !important;
+}
+
+.wp-block-separator.is-style-dots.has-background:before,
+.wp-block-separator.is-style-dots.has-text-color:before,
+hr.is-style-dots.has-background:before,
+hr.is-style-dots.has-text-color:before {
+       color: currentColor !important;
+}
+
+.wp-block-separator.is-style-dots:before {
+       color: #28303d;
+}
+
+hr.is-style-dots:before {
+       color: #28303d;
+}
+
+.has-background .wp-block-separator,
+[class*=background-color] .wp-block-separator,
+[style*=background-color] .wp-block-separator,
+.wp-block-cover[style*=background-image] .wp-block-separator,
+.has-background hr,
+[class*=background-color] hr,
+[style*=background-color] hr,
+.wp-block-cover[style*=background-image] hr {
+       border-color: currentColor;
+}
+
+.wp-block-social-links [data-block] {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color button {
+       color: #28303d;
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link {
+       background: none;
+}
+
+table thead,
+table tfoot,
+.wp-block-table thead,
+.wp-block-table tfoot {
+       text-align: center;
+}
+
+table th,
+.wp-block-table th {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+table td,
+table th,
+.wp-block-table td,
+.wp-block-table th {
+       padding: 10px;
+}
+
+table.is-style-regular .has-background,
+table.is-style-stripes .has-background,
+table.is-style-stripes .has-background thead tr,
+table.is-style-stripes .has-background tfoot tr,
+table.is-style-stripes .has-background tbody tr,
+.wp-block-table.is-style-regular .has-background,
+.wp-block-table.is-style-stripes .has-background,
+.wp-block-table.is-style-stripes .has-background thead tr,
+.wp-block-table.is-style-stripes .has-background tfoot tr,
+.wp-block-table.is-style-stripes .has-background tbody tr {
+       color: #28303d;
+}
+
+table.is-style-stripes,
+.wp-block-table.is-style-stripes {
+       border-color: #f0f0f0;
+}
+
+table.is-style-stripes th,
+table.is-style-stripes td,
+.wp-block-table.is-style-stripes th,
+.wp-block-table.is-style-stripes td {
+       border-width: 0;
+}
+
+table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: #f0f0f0;
+}
+
+.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: #f0f0f0;
+}
+
+table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: rgba(255, 255, 255, 0.9);
+}
+
+.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: rgba(255, 255, 255, 0.9);
+}
+
+table.wp-calendar-table td,
+table.wp-calendar-table th {
+       background: transparent;
+       border: 0;
+       text-align: center;
+       line-height: 2;
+       vertical-align: middle;
+}
+
+table.wp-calendar-table th {
+       font-weight: bold;
+}
+
+table.wp-calendar-table thead,
+table.wp-calendar-table tbody {
+       color: currentColor;
+       border: 1px solid;
+}
+
+table.wp-calendar-table caption {
+       font-weight: bold;
+       text-align: left;
+       margin-bottom: 20px;
+       color: currentColor;
+}
+
+.wp-calendar-nav {
+       text-align: left;
+       margin-top: 10px;
+}
+
+.wp-calendar-nav svg {
+       height: 1em;
+       vertical-align: middle;
+}
+
+.wp-calendar-nav svg path {
+       fill: currentColor;
+}
+
+.wp-calendar-nav .wp-calendar-nav-next {
+       float: right;
+}
+
+.wp-block-tag-cloud.aligncenter {
+       text-align: center;
+}
+
+pre.wp-block-verse {
+       padding: 0;
+       color: currentColor;
+}
+
+:root .is-extra-small-text {
+       font-size: 1rem;
+}
+
+:root .has-extra-small-font-size {
+       font-size: 1rem;
+}
+
+:root .is-small-text {
+       font-size: 1.125rem;
+}
+
+:root .has-small-font-size {
+       font-size: 1.125rem;
+}
+
+:root .is-regular-text {
+       font-size: 1.25rem;
+}
+
+:root .has-regular-font-size {
+       font-size: 1.25rem;
+}
+
+:root .is-normal-font-size {
+       font-size: 1.25rem;
+}
+
+:root .has-normal-font-size {
+       font-size: 1.25rem;
+}
+
+:root .has-medium-font-size {
+       font-size: 1.25rem;
+}
+
+:root .is-large-text {
+       font-size: 1.5rem;
+       line-height: 1.3;
+}
+
+:root .has-large-font-size {
+       font-size: 1.5rem;
+       line-height: 1.3;
+}
+
+:root .is-larger-text {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-larger-text {
+               font-size: 2.5rem;
+       }
+}
+
+:root .has-larger-font-size {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-larger-font-size {
+               font-size: 2.5rem;
+       }
+}
+
+:root .is-extra-large-text {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-extra-large-text {
+               font-size: 2.5rem;
+       }
+}
+
+:root .has-extra-large-font-size {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-extra-large-font-size {
+               font-size: 2.5rem;
+       }
+}
+
+:root .is-huge-text {
+       font-size: 6rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-huge-text {
+               font-size: 6rem;
+       }
+}
+
+:root .has-huge-font-size {
+       font-size: 6rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-huge-font-size {
+               font-size: 6rem;
+       }
+}
+
+:root .is-gigantic-text {
+       font-size: 9rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-gigantic-text {
+               font-size: 9rem;
+       }
+}
+
+:root .has-gigantic-font-size {
+       font-size: 9rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-gigantic-font-size {
+               font-size: 9rem;
+       }
+}
+
+/**
+* Editor Post Title
+* - Needs a special styles
+*/
+.wp-block.editor-post-title__block {
+       border-bottom: 3px solid #28303d;
+       padding-bottom: 60px;
+       margin-bottom: 90px;
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block.editor-post-title__block {
+               max-width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block.editor-post-title__block {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.wp-block.editor-post-title__block .editor-post-title__input {
+       color: #39414d;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 4rem;
+       font-weight: 300;
+       line-height: 1.1;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block.editor-post-title__block .editor-post-title__input {
+               font-size: 6rem;
+       }
+}
+
+.wp-block.block-editor-default-block-appender > textarea {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+}
+
+.has-primary-color[class] {
+       color: #28303d;
+}
+
+.has-secondary-color[class] {
+       color: #39414d;
+}
+
+.has-primary-background-color[class] {
+       background-color: #28303d;
+       color: #d1e4dd;
+}
+
+.has-secondary-background-color[class] {
+       background-color: #39414d;
+       color: #d1e4dd;
+}
+
+.has-white-background-color[class] {
+       color: #39414d;
+}
+
+.has-black-background-color[class] {
+       color: #28303d;
+}
+
+[data-block] {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wp-block {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .wp-block {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.wp-block[data-align=wide] {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block[data-align=wide] {
+               max-width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block[data-align=wide] {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.wp-block.alignwide {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block.alignwide {
+               max-width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block.alignwide {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.wp-block[data-align=full],
+.wp-block.alignfull {
+       max-width: none;
+}
+
+.alignleft {
+       margin: 0;
+       margin-right: 25px;
+}
+
+.alignright {
+       margin: 0;
+       margin-left: 25px;
+}
+
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: normal;
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: left;
+       margin: 0.1em 0.1em 0 0;
+       font-size: 5rem;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .has-drop-cap:not(:focus)::first-letter {
+               font-size: 7rem;
+       }
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wp-block[data-align=left] > * {
+               max-width: 290px;
+               margin-right: 25px;
+       }
+
+       .wp-block[data-align=right] > * {
+               max-width: 290px;
+               margin-left: 25px;
+       }
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote {
+       border: none;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote:before {
+       left: 5px;
+}
+
+html {
+       line-height: 1.7;
+}
+
+html,
+body {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+body {
+       background-color: #d1e4dd;
+       font-size: 1.25rem;
+       font-weight: normal;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+body,
+.wp-block a {
+       color: #28303d;
+}
+
+.wp-block a:hover {
+       text-decoration-style: dotted;
+}
+
+.wp-block a:focus {
+       outline: 2px solid #28303d;
+       text-decoration: none;
+}
+
+.has-background .has-link-color a,
+.has-background.has-link-color a {
+       color: #28303d;
+}
+
+button,
+a {
+       cursor: pointer;
+}
+
+.has-black-color[class] {
+       color: #000;
+}
+
+.has-black-color[class] > [class*=__inner-container] {
+       color: #000;
+}
+
+.has-gray-color[class] {
+       color: #39414d;
+}
+
+.has-gray-color[class] > [class*=__inner-container] {
+       color: #39414d;
+}
+
+.has-dark-gray-color[class] {
+       color: #28303d;
+}
+
+.has-dark-gray-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-green-color[class] {
+       color: #d1e4dd;
+}
+
+.has-green-color[class] > [class*=__inner-container] {
+       color: #d1e4dd;
+}
+
+.has-blue-color[class] {
+       color: #d1dfe4;
+}
+
+.has-blue-color[class] > [class*=__inner-container] {
+       color: #d1dfe4;
+}
+
+.has-purple-color[class] {
+       color: #d1d1e4;
+}
+
+.has-purple-color[class] > [class*=__inner-container] {
+       color: #d1d1e4;
+}
+
+.has-red-color[class] {
+       color: #e4d1d1;
+}
+
+.has-red-color[class] > [class*=__inner-container] {
+       color: #e4d1d1;
+}
+
+.has-orange-color[class] {
+       color: #e4dad1;
+}
+
+.has-orange-color[class] > [class*=__inner-container] {
+       color: #e4dad1;
+}
+
+.has-yellow-color[class] {
+       color: #eeeadd;
+}
+
+.has-yellow-color[class] > [class*=__inner-container] {
+       color: #eeeadd;
+}
+
+.has-white-color[class] {
+       color: #fff;
+}
+
+.has-white-color[class] > [class*=__inner-container] {
+       color: #fff;
+}
+
+.has-background a,
+.has-background p,
+.has-background h1,
+.has-background h2,
+.has-background h3,
+.has-background h4,
+.has-background h5,
+.has-background h6 {
+       color: currentColor;
+}
+
+.has-black-background-color[class] {
+       background-color: #000;
+}
+
+.has-black-background-color[class] > [class*=__inner-container] {
+       background-color: #000;
+}
+
+.has-dark-gray-background-color[class] {
+       background-color: #28303d;
+}
+
+.has-dark-gray-background-color[class] > [class*=__inner-container] {
+       background-color: #28303d;
+}
+
+.has-gray-background-color[class] {
+       background-color: #39414d;
+}
+
+.has-gray-background-color[class] > [class*=__inner-container] {
+       background-color: #39414d;
+}
+
+.has-light-gray-background-color[class] {
+       background-color: #f0f0f0;
+}
+
+.has-light-gray-background-color[class] > [class*=__inner-container] {
+       background-color: #f0f0f0;
+}
+
+.has-green-background-color[class] {
+       background-color: #d1e4dd;
+}
+
+.has-green-background-color[class] > [class*=__inner-container] {
+       background-color: #d1e4dd;
+}
+
+.has-blue-background-color[class] {
+       background-color: #d1dfe4;
+}
+
+.has-blue-background-color[class] > [class*=__inner-container] {
+       background-color: #d1dfe4;
+}
+
+.has-purple-background-color[class] {
+       background-color: #d1d1e4;
+}
+
+.has-purple-background-color[class] > [class*=__inner-container] {
+       background-color: #d1d1e4;
+}
+
+.has-red-background-color[class] {
+       background-color: #e4d1d1;
+}
+
+.has-red-background-color[class] > [class*=__inner-container] {
+       background-color: #e4d1d1;
+}
+
+.has-orange-background-color[class] {
+       background-color: #e4dad1;
+}
+
+.has-orange-background-color[class] > [class*=__inner-container] {
+       background-color: #e4dad1;
+}
+
+.has-yellow-background-color[class] {
+       background-color: #eeeadd;
+}
+
+.has-yellow-background-color[class] > [class*=__inner-container] {
+       background-color: #eeeadd;
+}
+
+.has-white-background-color[class] {
+       background-color: #fff;
+}
+
+.has-white-background-color[class] > [class*=__inner-container] {
+       background-color: #fff;
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] {
+       color: #fff;
+}
+
+.has-background:not(.has-text-color).has-gray-background-color[class] {
+       color: #fff;
+}
+
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] {
+       color: #fff;
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-blue-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-purple-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-red-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-orange-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-yellow-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-white-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-purple-to-yellow-gradient-background {
+       background: linear-gradient(160deg, #d1d1e4, #eeeadd);
+}
+
+.has-yellow-to-purple-gradient-background {
+       background: linear-gradient(160deg, #eeeadd, #d1d1e4);
+}
+
+.has-green-to-yellow-gradient-background {
+       background: linear-gradient(160deg, #d1e4dd, #eeeadd);
+}
+
+.has-yellow-to-green-gradient-background {
+       background: linear-gradient(160deg, #eeeadd, #d1e4dd);
+}
+
+.has-red-to-yellow-gradient-background {
+       background: linear-gradient(160deg, #e4d1d1, #eeeadd);
+}
+
+.has-yellow-to-red-gradient-background {
+       background: linear-gradient(160deg, #eeeadd, #e4d1d1);
+}
+
+.has-purple-to-red-gradient-background {
+       background: linear-gradient(160deg, #d1d1e4, #e4d1d1);
+}
+
+.has-red-to-purple-gradient-background {
+       background: linear-gradient(160deg, #e4d1d1, #d1d1e4);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/css/ie.css b/wp-content/themes/twentytwentyone/assets/css/ie.css
new file mode 100644 (file)
index 0000000..be4c32a
--- /dev/null
@@ -0,0 +1,7259 @@
+@charset "UTF-8";
+
+/*
+Theme Name: Twenty Twenty-One
+Theme URI: https://wordpress.org/themes/twentytwentyone/
+Author: the WordPress team
+Author URI: https://wordpress.org/
+Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
+Requires at least: 5.3
+Tested up to: 6.2
+Requires PHP: 5.6
+Version: 1.8
+License: GNU General Public License v2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Text Domain: twentytwentyone
+Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready
+
+Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
+Twenty Twenty-One is distributed under the terms of the GNU GPL.
+*/
+
+/**
+ * SETTINGS
+ * File-header..........The file header for the themes style.css file.
+ * Fonts................Any font files, if the project needs specific fonts.
+ * Global...............Project-specific, globally available variables.
+ *
+ * TOOLS
+ * Functions............Global functions.
+ * Mixins...............Global mixins.
+ *
+ * GENERIC
+ * Normalize.css........Normalise browser defaults.
+ * Breakpoints..........Mixins and variables for responsive styles
+ * Vertical-margins.....Vertical spacing for the main components.
+ * Reset................Reset specific elements to make them easier to style in other contexts.
+ * Clearings............Clearings for the main components.
+ *
+ * ELEMENTS
+ * Blockquote...........Default blockquote.
+ * Forms................Element-level form styling.
+ * Headings.............H1–H6
+ * Links................Default links.
+ * Lists................Default lists.
+ * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
+ *
+ * BLOCKS
+ * Audio................Specific styles for the audio block.
+ * Button...............Specific styles for the button block.
+ * Code.................Specific styles for the code block.
+ * Columns..............Specific styles for the columns block.
+ * Cover................Specific styles for the cover block.
+ * File.................Specific styles for the file block.
+ * Gallery..............Specific styles for the gallery block.
+ * Group................Specific styles for the group block.
+ * Heading..............Specific styles for the heading block.
+ * Image................Specific styles for the image block.
+ * Latest comments......Specific styles for the latest comments block.
+ * Latest posts.........Specific styles for the latest posts block.
+ * Legacy...............Specific styles for the legacy gallery.
+ * List.................Specific styles for the list block.
+ * Media text...........Specific styles for the media and text block.
+ * Navigation...........Specific styles for the navigation block.
+ * Paragraph............Specific styles for the paragraph block.
+ * Pullquote............Specific styles for the pullquote block.
+ * Quote................Specific styles for the quote block.
+ * Search...............Specific styles for the search block.
+ * Separator............Specific styles for the separator block.
+ * Table................Specific styles for the table block.
+ * Verse................Specific styles for the verse block.
+ * Video................Specific styles for the video block.
+ * Utilities............Block alignments.
+ *
+ * COMPONENTS
+ * Header...............Header styles.
+ * Footer...............Footer styles.
+ * Comments.............Comment styles.
+ * Archives.............Archive styles.
+ * 404..................404 styles.
+ * Search...............Search styles.
+ * Navigation...........Navigation styles.
+ * Footer Navigation....Footer Navigation styles.
+ * Pagination...........Pagination styles.
+ * Single...............Single page and post styles.
+ * Posts and pages......Misc, sticky post styles.
+ * Entry................Entry, author biography.
+ * Widget...............Widget styles.
+ * Editor...............Editor styles.
+ *
+ * UTILITIES
+ * A11y.................Screen reader text, prefers reduced motion etc.
+ * Color Palette........Classes for the color palette colors.
+ * Editor Font Sizes....Editor Font Sizes.
+ * Measure..............The width of a line of text, in characters.
+ */
+
+/* Categories 01 to 03 are the basics. */
+
+/* Variables */
+:root {
+
+       /* Font Family */
+
+       /* Font Size */
+
+       /* Line Height */
+
+       /* Headings */
+
+       /* Block: Latest posts */
+
+       /* Colors */
+
+       /* Body text color, site title, footer text color. */
+
+       /* Headings */
+
+       /* Mint, default body background */
+
+       /* Used for borders (separators) */
+
+       /* Spacing */
+
+       /* Elevation */
+
+       /* Forms */
+
+       /* Cover block */
+
+       /* Buttons */
+
+       /* entry */
+
+       /* Header */
+
+       /* Main navigation */
+
+       /* Pagination */
+
+       /* Footer */
+
+       /* Block: Pull quote */
+
+       /* Block: Table */
+
+       /* Widgets */
+
+       /* Admin-bar height */
+}
+
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+html {
+       line-height: 1.15; /* 1 */
+       -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+body {
+       margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+main {
+       display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+h1 {
+       font-size: 2em;
+       margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+hr {
+       box-sizing: content-box; /* 1 */
+       height: 0; /* 1 */
+       overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+pre {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+a {
+       background-color: transparent;
+       text-decoration-thickness: 1px;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+abbr[title] {
+       border-bottom: none; /* 1 */
+       text-decoration: underline; /* 2 */
+       text-decoration-style: dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+b,
+strong {
+       font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+code,
+kbd,
+samp {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+small {
+       font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+sub,
+sup {
+       font-size: 75%;
+       line-height: 0;
+       position: relative;
+       vertical-align: baseline;
+}
+
+sub {
+       bottom: -0.25em;
+}
+
+sup {
+       top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+img {
+       border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+       font-family: inherit; /* 1 */
+       font-size: 100%; /* 1 */
+       line-height: 1.15; /* 1 */
+       margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+button,
+input { /* 1 */
+       overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+button,
+select { /* 1 */
+       text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+       -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+button::-moz-focus-inner,
+[type=button]::-moz-focus-inner,
+[type=reset]::-moz-focus-inner,
+[type=submit]::-moz-focus-inner {
+       border-style: none;
+       padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+button:-moz-focusring,
+[type=button]:-moz-focusring,
+[type=reset]:-moz-focusring,
+[type=submit]:-moz-focusring {
+       outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+fieldset {
+       padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+legend {
+       box-sizing: border-box; /* 1 */
+       color: inherit; /* 2 */
+       display: table; /* 1 */
+       max-width: 100%; /* 1 */
+       padding: 0; /* 3 */
+       white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+progress {
+       vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+textarea {
+       overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+[type=checkbox],
+[type=radio] {
+       box-sizing: border-box; /* 1 */
+       padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+[type=number]::-webkit-inner-spin-button,
+[type=number]::-webkit-outer-spin-button {
+       height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+[type=search] {
+       -webkit-appearance: textfield; /* 1 */
+       outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+[type=search]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+::-webkit-file-upload-button {
+       -webkit-appearance: button; /* 1 */
+       font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+details {
+       display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+summary {
+       display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+template {
+       display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+[hidden] {
+       display: none;
+}
+
+/**
+ * Responsive Styles
+ */
+
+/**
+ * Required Variables
+ */
+
+/**
+ * Root Media Query Variables
+ */
+
+/**
+ * Extends
+ */
+.post-thumbnail {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .post-thumbnail {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .post-thumbnail {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.entry-content .wp-audio-shortcode {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .entry-content .wp-audio-shortcode {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .entry-content .wp-audio-shortcode {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.default-max-width {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .default-max-width {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .default-max-width {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.widget-area {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .widget-area {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .widget-area {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.pagination {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .pagination {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .pagination {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.comments-pagination {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .comments-pagination {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .comments-pagination {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.post-navigation {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .post-navigation {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .post-navigation {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.site-footer {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .site-footer {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .site-footer {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.site-header {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .site-header {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.alignwide {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignwide {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .alignwide {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.wide-max-width {
+       max-width: calc(100vw - 30px);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wide-max-width {
+               max-width: calc(100vw - 100px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .wide-max-width {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.alignfull {
+       max-width: 100%;
+       width: 100%;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.wp-block-group .wp-block-group__inner-container > *.alignfull {
+       max-width: 100%;
+       width: 100%;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.full-max-width {
+       max-width: 100%;
+       width: 100%;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignfull,
+       .full-max-width {
+               max-width: 100%;
+               width: auto;
+               margin-left: auto;
+               margin-right: auto;
+       }
+}
+
+.entry-header .post-thumbnail {
+       margin-left: auto;
+       margin-right: auto;
+       width: calc(100vw - 30px);
+       max-width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .entry-header .post-thumbnail {
+               width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .entry-header .post-thumbnail {
+               width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.singular .post-thumbnail {
+       margin-left: auto;
+       margin-right: auto;
+       width: calc(100vw - 30px);
+       max-width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .singular .post-thumbnail {
+               width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .singular .post-thumbnail {
+               width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.alignfull [class*=inner-container] > .alignwide {
+       margin-left: auto;
+       margin-right: auto;
+       width: calc(100vw - 30px);
+       max-width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .alignfull [class*=inner-container] > .alignwide {
+               width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .alignfull [class*=inner-container] > .alignwide {
+               width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.alignwide [class*=inner-container] > .alignwide {
+       margin-left: auto;
+       margin-right: auto;
+       width: calc(100vw - 30px);
+       max-width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .alignwide [class*=inner-container] > .alignwide {
+               width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .alignwide [class*=inner-container] > .alignwide {
+               width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignleft {
+
+               /*rtl:ignore*/
+               margin-left: calc((100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+
+               /*rtl:ignore*/
+               margin-right: 25px;
+       }
+       @media only screen and (min-width: 482px) {
+
+               .entry-content > .alignleft {
+                       margin-left: calc((100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+       @media only screen and (min-width: 822px) {
+
+               .entry-content > .alignleft {
+                       margin-left: calc((100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignright {
+
+               /*rtl:ignore*/
+               margin-left: 25px;
+
+               /*rtl:ignore*/
+               margin-right: calc((100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+       }
+       @media only screen and (min-width: 482px) {
+
+               .entry-content > .alignright {
+                       margin-right: calc((100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+       @media only screen and (min-width: 822px) {
+
+               .entry-content > .alignright {
+                       margin-right: calc((100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+}
+
+/**
+ * Site Structure
+ *
+ * - Set vertical margins and responsive widths on
+ *   top-level wrappers and content wrappers
+ * - `--global--width-content` is a responsive variable
+ * - See: globals/_global-width-responsive.scss
+ */
+
+/**
+ * Top Level Wrappers (header, main, footer)
+ * - Set vertical padding and horizontal margins
+ */
+.site-header,
+.site-main,
+.widget-area,
+.site-footer {
+       padding-top: 30px;
+       padding-bottom: 30px;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.site-header {
+       padding-top: 23px;
+       padding-bottom: 60px;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               padding-bottom: 90px;
+       }
+}
+
+/**
+ * Site-main children wrappers
+ * - Add double vertical margins here for clearer hierarchy
+ */
+.site-main > * {
+       margin-top: 90px;
+       margin-bottom: 90px;
+}
+
+.site-main > *:first-child {
+       margin-top: 0;
+}
+
+.site-main > *:last-child {
+       margin-bottom: 0;
+}
+
+/**
+ * Set the default maximum responsive content-width
+ */
+
+/**
+ * Set the wide maximum responsive content-width
+ */
+
+/**
+ * Set the full maximum responsive content-width
+ */
+
+/*
+ * Block & non-gutenberg content wrappers
+ * - Set margins
+ */
+.entry-header,
+.post-thumbnail,
+.entry-content,
+.entry-footer,
+.author-bio {
+       margin-top: 30px;
+       margin-right: auto;
+       margin-bottom: 30px;
+       margin-left: auto;
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-vertical margin logic
+ */
+.site-main > article > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.site-main > .not-found > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.entry-content > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+[class*=inner-container] > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.wp-block-template-part > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.wp-block-post-template :where(li > *) {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-main > article > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       .site-main > .not-found > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       .entry-content > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       [class*=inner-container] > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       .wp-block-template-part > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       .wp-block-post-template :where(li > *) {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+}
+
+.site-main > article > *:first-child,
+.site-main > .not-found > *:first-child,
+.entry-content > *:first-child,
+[class*=inner-container] > *:first-child,
+.wp-block-template-part > *:first-child,
+.wp-block-post-template :where(li > *):first-child {
+       margin-top: 0;
+}
+
+.site-main > article > *:last-child,
+.site-main > .not-found > *:last-child,
+.entry-content > *:last-child,
+[class*=inner-container] > *:last-child,
+.wp-block-template-part > *:last-child,
+.wp-block-post-template :where(li > *):last-child {
+       margin-bottom: 0;
+}
+
+.site-footer > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.widget-area > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-footer > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       .widget-area > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-unit margins
+ */
+.entry-header > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.post-thumbnail > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.page-content > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.comment-content > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.widget > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.entry-header > *:first-child,
+.post-thumbnail > *:first-child,
+.page-content > *:first-child,
+.comment-content > *:first-child,
+.widget > *:first-child {
+       margin-top: 0;
+}
+
+.entry-header > *:last-child,
+.post-thumbnail > *:last-child,
+.page-content > *:last-child,
+.comment-content > *:last-child,
+.widget > *:last-child {
+       margin-bottom: 0;
+}
+
+/*
+ * .entry-content children specific controls
+ * - Adds special margin overrides for alignment utility classes
+ */
+.entry-content > * {
+
+       /* Reset alignleft and alignright margins after alignfull */
+}
+
+.entry-content > *.alignleft,
+.entry-content > *.alignright,
+.entry-content > *.alignleft:first-child + *,
+.entry-content > *.alignright:first-child + *,
+.entry-content > *.alignfull.has-background {
+       margin-top: 0;
+}
+
+.entry-content > *:last-child,
+.entry-content > *.alignfull.has-background {
+       margin-bottom: 0;
+}
+
+.entry-content > *.alignfull + .alignleft {
+       margin-top: 30px;
+}
+
+.entry-content > *.alignfull + .alignright {
+       margin-top: 30px;
+}
+
+/**
+ * Reset specific elements to make them easier to style in other contexts.
+ */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+form,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       padding: 0;
+       margin: 0;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+/**
+ * Apply generic border-box to all elements.
+ * See:
+ * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
+ */
+html {
+
+       /* Apply border-box across the entire page. */
+       box-sizing: border-box;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       line-height: 1.7;
+}
+
+/**
+ * Relax the definition a bit, to allow components to override it manually.
+ */
+*,
+*::before,
+*::after {
+       box-sizing: inherit;
+}
+
+body {
+       font-size: 1.25rem;
+       font-weight: normal;
+       color: #28303d;
+       text-align: left;
+       background-color: #d1e4dd;
+}
+
+.clear:before,
+.clear:after,
+.entry-content:before,
+.entry-content:after,
+.comment-content:before,
+.comment-content:after,
+.site-header:before,
+.site-header:after,
+.site-content:before,
+.site-content:after,
+.site-footer:before,
+.site-footer:after {
+       content: "";
+       display: table;
+       table-layout: fixed;
+}
+
+.clear:after,
+.entry-content:after,
+.comment-content:after,
+.site-header:after,
+.site-content:after,
+.site-footer:after {
+       clear: both;
+}
+
+/* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */
+blockquote {
+       padding: 0;
+       position: relative;
+       margin: 30px 0 30px 25px;
+}
+
+blockquote > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+blockquote > *:first-child {
+       margin-top: 0;
+}
+
+blockquote > *:last-child {
+       margin-bottom: 0;
+}
+
+blockquote p {
+       letter-spacing: normal;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       font-style: normal;
+       font-weight: 700;
+       line-height: 1.7;
+}
+
+blockquote cite,
+blockquote footer {
+       font-weight: normal;
+       letter-spacing: normal;
+}
+
+blockquote.alignleft,
+blockquote.alignright {
+       padding-left: inherit;
+}
+
+blockquote.alignleft p,
+blockquote.alignright p {
+       font-size: 1.125rem;
+       max-width: inherit;
+       width: inherit;
+}
+
+blockquote.alignleft cite,
+blockquote.alignleft footer,
+blockquote.alignright cite,
+blockquote.alignright footer {
+       font-size: 1rem;
+       letter-spacing: normal;
+}
+
+blockquote strong {
+       font-weight: bolder;
+}
+
+blockquote:before {
+       content: "“";
+       font-size: 1.25rem;
+       line-height: 1.7;
+       position: absolute;
+       left: -12px;
+}
+
+blockquote .wp-block-quote__citation,
+blockquote cite,
+blockquote footer {
+       color: #28303d;
+       font-size: 1rem;
+       font-style: normal;
+}
+@media only screen and (max-width: 481px) {
+
+       blockquote {
+               padding-left: 13px;
+       }
+
+       blockquote:before {
+               left: 0;
+       }
+}
+
+input[type=text] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=email] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=url] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=password] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=search] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=number] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=tel] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=date] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=month] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=week] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=time] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=datetime] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=datetime-local] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=color] {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+.site textarea {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       padding: 10px;
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=text]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=email]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=url]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=password]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=search]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=number]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=tel]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=date]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=month]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=week]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=time]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=datetime]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=datetime-local]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=color]:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+.site textarea:focus {
+       color: #28303d;
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+input[type=text]:disabled,
+input[type=email]:disabled,
+input[type=url]:disabled,
+input[type=password]:disabled,
+input[type=search]:disabled,
+input[type=number]:disabled,
+input[type=tel]:disabled,
+input[type=date]:disabled,
+input[type=month]:disabled,
+input[type=week]:disabled,
+input[type=time]:disabled,
+input[type=datetime]:disabled,
+input[type=datetime-local]:disabled,
+input[type=color]:disabled,
+.site textarea:disabled {
+       opacity: 0.7;
+}
+
+.is-dark-theme input[type=text] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=email] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=url] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=password] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=search] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=number] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=tel] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=date] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=month] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=week] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=time] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=datetime] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=datetime-local] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme input[type=color] {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme .site textarea {
+       background: rgba(255, 255, 255, 0.9);
+}
+
+input[type=search]:focus {
+       outline-offset: -7px;
+}
+
+.is-dark-theme input[type=search]:focus {
+       outline-color: #d1e4dd;
+}
+
+input[type=color] {
+       padding: 5px;
+       height: 40px;
+}
+
+input[type=email],
+input[type=url] {
+
+       /*rtl:ignore*/
+       direction: ltr;
+}
+
+select {
+       border: 3px solid #39414d;
+       color: #28303d;
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       line-height: 1.7;
+       padding: 10px 30px 10px 10px;
+       background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right 10px top 60%;
+}
+
+select:focus {
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+.is-dark-theme select {
+       background: rgba(255, 255, 255, 0.9) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right 10px top 60%;
+}
+
+textarea {
+       width: 100%;
+}
+
+label {
+       font-size: 1.125rem;
+       font-weight: 500;
+       margin-bottom: 10px;
+}
+
+/**
+https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
+https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
+License: MIT.
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type=checkbox] {
+               -webkit-appearance: none;
+               -moz-appearance: none;
+               position: relative;
+               width: 25px;
+               height: 25px;
+               border: 3px solid #39414d;
+               background: #fff;
+       }
+
+       input[type=radio] {
+               -webkit-appearance: none;
+               -moz-appearance: none;
+               position: relative;
+               width: 25px;
+               height: 25px;
+               border: 3px solid #39414d;
+               background: #fff;
+       }
+
+       input[type=checkbox]:disabled,
+       input[type=radio]:disabled {
+               opacity: 0.7;
+       }
+
+       .is-dark-theme input[type=checkbox] {
+               background: rgba(255, 255, 255, 0.9);
+       }
+
+       .is-dark-theme input[type=radio] {
+               background: rgba(255, 255, 255, 0.9);
+       }
+
+       input[type=checkbox]:focus {
+               outline-offset: 2px;
+               outline: 2px dotted #39414d;
+       }
+
+       input[type=checkbox]:after {
+               content: "";
+               opacity: 0;
+               display: block;
+               left: 5px;
+               top: 2px;
+               position: absolute;
+               width: 7px;
+               height: 13px;
+               border: 3px solid #28303d;
+               border-top: 0;
+               border-left: 0;
+               transform: rotate(30deg);
+       }
+
+       input[type=checkbox]:checked {
+               color: #28303d;
+       }
+
+       input[type=checkbox]:checked:after {
+               opacity: 1;
+       }
+
+       input[type=radio] {
+               border-radius: 50%;
+       }
+
+       input[type=radio]:focus {
+               outline-offset: 2px;
+               outline: 2px dotted #39414d;
+       }
+
+       input[type=radio]:after {
+               content: "";
+               opacity: 0;
+               display: block;
+               left: 3px;
+               top: 3px;
+               position: absolute;
+               width: 11px;
+               height: 11px;
+               border-radius: 50%;
+               background: #28303d;
+       }
+
+       input[type=radio]:checked {
+               border: 4px solid #39414d;
+       }
+
+       input[type=radio]:checked:after {
+               opacity: 1;
+       }
+
+       input[type=radio]:checked:focus {
+               outline-offset: 4px;
+               outline: 2px dotted #39414d;
+       }
+}
+
+input[type=checkbox] + label {
+       display: inline-block;
+       padding-left: 10px;
+       font-size: 1rem;
+       vertical-align: top;
+}
+
+input[type=radio] + label {
+       display: inline-block;
+       padding-left: 10px;
+       font-size: 1rem;
+       vertical-align: top;
+}
+
+/**
+ * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type=range] {
+               -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
+               width: 100%; /* Specific width is required for Firefox. */
+               height: 6px;
+               background: #39414d;
+               border-radius: 6px;
+               outline-offset: 10px;
+       }
+
+       input[type=range]:disabled {
+               opacity: 0.7;
+       }
+
+       input[type=range]::-webkit-slider-thumb {
+               -webkit-appearance: none;
+               border: 3px solid #39414d;
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: #d1e4dd;
+               cursor: pointer;
+       }
+
+       input[type=range]::-moz-range-thumb {
+               border: 3px solid #39414d;
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: #d1e4dd;
+               cursor: pointer;
+               box-sizing: border-box;
+       }
+}
+
+input[type=range]::-ms-track {
+       width: 100%;
+       height: 6px;
+       border-radius: 6px;
+       border-width: 19px 0;
+       border-color: #d1e4dd;
+       background: transparent;
+       color: transparent;
+       cursor: pointer;
+}
+
+input[type=range]::-ms-fill-upper {
+       background: #39414d;
+       border-radius: 6px;
+}
+
+input[type=range]::-ms-fill-lower {
+       background: #39414d;
+       border-radius: 6px;
+}
+
+input[type=range]::-ms-thumb {
+       border: 3px solid #39414d;
+       height: 44px;
+       width: 44px;
+       border-radius: 50%;
+       background: #d1e4dd;
+       cursor: pointer;
+}
+
+fieldset {
+       display: grid;
+       border-color: #39414d;
+       padding: 25px;
+}
+
+fieldset legend {
+       font-size: 1.5rem;
+}
+
+fieldset input[type=submit] {
+       max-width: max-content;
+}
+
+fieldset input:not([type=submit]) {
+       margin-bottom: 20px;
+}
+
+fieldset input[type=radio],
+fieldset input[type=checkbox] {
+       margin-bottom: 0;
+}
+
+fieldset input[type=radio] + label {
+       font-size: 1.125rem;
+       padding-left: 0;
+       margin-bottom: 20px;
+}
+
+fieldset input[type=checkbox] + label {
+       font-size: 1.125rem;
+       padding-left: 0;
+       margin-bottom: 20px;
+}
+
+::-moz-placeholder {
+       opacity: 1;
+}
+
+.post-password-message {
+       font-size: 1.5rem;
+}
+
+.post-password-form {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+.post-password-form__label {
+       width: 100%;
+       margin-bottom: 0;
+}
+
+.post-password-form input[type=password] {
+       flex-grow: 1;
+       margin-top: 10px;
+       margin-right: 17px;
+}
+
+.post-password-form__submit {
+       margin-top: 10px;
+}
+@media only screen and (min-width: 592px) {
+
+       .post-password-form__submit {
+               margin-left: 10px;
+       }
+}
+
+img {
+       height: auto;
+       vertical-align: middle;
+}
+
+/* Classic editor images */
+
+/* Make sure embeds and iframes fit their containers. */
+img,
+.entry-content img,
+embed,
+iframe,
+object,
+video {
+       max-width: 100%;
+}
+
+/* Media captions */
+figcaption,
+.wp-caption,
+.wp-caption-text,
+.wp-block-embed figcaption {
+       color: currentColor;
+       font-size: 1rem;
+       line-height: 1.7;
+       margin-top: 10px;
+       margin-bottom: 20px;
+       text-align: center;
+}
+
+.alignleft figcaption,
+.alignright figcaption,
+.alignleft .wp-caption,
+.alignright .wp-caption,
+.alignleft .wp-caption-text,
+.alignright .wp-caption-text,
+.alignleft .wp-block-embed figcaption,
+.alignright .wp-block-embed figcaption {
+       margin-bottom: 0;
+}
+
+/* WP Smiley */
+.page-content .wp-smiley,
+.entry-content .wp-smiley,
+.comment-content .wp-smiley {
+       border: none;
+       margin-bottom: 0;
+       margin-top: 0;
+       padding: 0;
+}
+
+/* Over here, place any elements that do not need to have their own file. */
+b,
+strong {
+       font-weight: 700;
+}
+
+dfn,
+cite,
+em,
+i {
+       font-style: italic;
+}
+
+pre {
+       white-space: pre;
+       overflow-x: auto;
+}
+
+/*
+ * text-underline-offset doesn't work in Chrome at all 👎
+ * But looks nice in Safari/Firefox, so let's keep it and
+ * maybe Chrome will support it soon.
+ */
+a {
+       cursor: pointer;
+       color: #28303d;
+       text-underline-offset: 3px;
+       text-decoration-skip-ink: all;
+}
+
+a:hover {
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       text-decoration: underline 1px dotted currentColor;
+       text-decoration-skip-ink: none;
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: #000;
+       color: #fff;
+       text-decoration: none;
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: #fff;
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: rgba(0, 0, 0, 0.9);
+       color: #fff;
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: #fff;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       outline-offset: -2px;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link:focus {
+       color: #21759b;
+       background-color: #f1f1f1;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).custom-logo-link {
+       background: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
+       outline: 2px dotted #28303d;
+}
+
+.has-background .has-link-color a,
+.has-background.has-link-color a {
+       color: #28303d;
+}
+
+/* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */
+.wp-block-audio audio:focus {
+       outline-offset: 5px;
+       outline: 2px solid #28303d;
+}
+
+/**
+ * Button
+ */
+.site .button,
+button {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+}
+
+input[type=submit] {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+}
+
+input[type=reset] {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+}
+
+.wp-block-search .wp-block-search__button,
+.wp-block-button .wp-block-button__link,
+.wp-block-file a.wp-block-file__button {
+       border: 3px solid transparent;
+       border-radius: 0;
+       cursor: pointer;
+       font-weight: 500;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       line-height: 1.5;
+       padding: 15px 30px;
+       text-decoration: none;
+}
+
+.site .button:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+button:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+input[type=submit]:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+input[type=reset]:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background button:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.has-background button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.site .button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+input[type=submit]:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+input[type=reset]:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.site .button:hover,
+.site .button:active,
+button:hover,
+button:active,
+input[type=submit]:hover,
+input[type=submit]:active,
+input[type=reset]:hover,
+input[type=reset]:active,
+.wp-block-search .wp-block-search__button:hover,
+.wp-block-search .wp-block-search__button:active,
+.wp-block-button .wp-block-button__link:hover,
+.wp-block-button .wp-block-button__link:active,
+.wp-block-file a.wp-block-file__button:hover,
+.wp-block-file a.wp-block-file__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.site .button:focus,
+button:focus,
+input[type=submit]:focus,
+input[type=reset]:focus,
+.wp-block-search .wp-block-search__button:focus,
+.wp-block-button .wp-block-button__link:focus,
+.wp-block-file a.wp-block-file__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.site .button:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+button:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+input[type=submit]:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+input[type=reset]:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+.wp-block-search .wp-block-search__button:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+.wp-block-button .wp-block-button__link:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+.wp-block-file a.wp-block-file__button:disabled {
+       background-color: rgba(255, 255, 255, 0.5);
+       border-color: rgba(255, 255, 255, 0.5);
+       color: #39414d;
+}
+
+/**
+ * Block Options
+ */
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #d1e4dd;
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: #28303d;
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: #28303d;
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
+       border-color: currentColor !important;
+       background-color: transparent !important;
+       color: inherit !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background {
+       border-color: currentColor;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: #28303d;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background:not(.has-text-color) {
+       color: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: transparent;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:hover {
+       border-color: transparent !important;
+       background-color: #28303d !important;
+       color: #d1e4dd !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:active {
+       border-color: transparent !important;
+       background-color: #28303d !important;
+       color: #d1e4dd !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:hover {
+       background-color: #28303d !important;
+       color: #d1e4dd !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: #28303d !important;
+       color: #d1e4dd !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:hover {
+       color: #d1e4dd !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:active {
+       color: #d1e4dd !important;
+}
+
+.wp-block-button .is-style-squared .wp-block-button__link {
+       border-radius: 0;
+}
+
+.is-style-outline .wp-block-button__link[style*=radius]:focus {
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+.wp-block-button a.wp-block-button__link[style*=radius]:focus {
+       outline-offset: 2px;
+       outline: 2px dotted #39414d;
+}
+
+.wp-block-code {
+       border-color: #28303d;
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: 20px;
+}
+
+.wp-block-code code {
+       color: #28303d;
+       white-space: pre;
+       overflow-x: auto;
+       display: block;
+}
+
+.wp-block-columns:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-columns .wp-block-column > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-columns .wp-block-column > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+}
+
+.wp-block-columns .wp-block-column > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-columns .wp-block-column > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-columns .wp-block-column:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-columns .wp-block-column:not(:last-child) {
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-columns .wp-block-column:not(:last-child) {
+               margin-bottom: 30px;
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block-columns .wp-block-column:not(:last-child) {
+               margin-bottom: 0;
+       }
+}
+
+.wp-block-columns.is-style-twentytwentyone-columns-overlap {
+       justify-content: space-around;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
+               margin-left: -50px;
+               margin-top: 63px;
+               z-index: 2;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
+               background-color: #d1e4dd;
+               padding: 20px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background) {
+               padding-left: 50px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               padding-left: 50px;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
+               margin-top: 0;
+       }
+}
+
+.wp-block-columns.alignfull .wp-block-column p:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-columns.alignfull .wp-block-column h1:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-columns.alignfull .wp-block-column h2:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-columns.alignfull .wp-block-column h3:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-columns.alignfull .wp-block-column h4:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-columns.alignfull .wp-block-column h5:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-columns.alignfull .wp-block-column h6:not(.has-background) {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-cover,
+.wp-block-cover-image {
+       background-color: #000;
+       min-height: 450px;
+       margin-top: inherit;
+       margin-bottom: inherit;
+
+       /* default & custom background-color */
+
+       /* Treating H2 separately to account for legacy /core styles */
+
+       /* Block Styles */
+
+       /* The background color class is used just for the overlay, and does not need to be applied to the inner container. */
+}
+
+.wp-block-cover:not(.alignwide):not(.alignfull),
+.wp-block-cover-image:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-cover.alignfull,
+.wp-block-cover-image.alignfull {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover-image .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text {
+       color: currentColor;
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-cover .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button) {
+       color: currentColor;
+}
+
+.wp-block-cover .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover .wp-block-cover-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover-image .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover-text .has-link-color a {
+       color: #28303d;
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover__inner-container {
+       color: #fff;
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-image-text {
+       color: #fff;
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-text {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover__inner-container {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-image-text {
+       color: #fff;
+}
+
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-text {
+       color: #fff;
+}
+
+.wp-block-cover h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+       max-width: inherit;
+       text-align: inherit;
+       padding: 0;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-cover h2 {
+               font-size: 3rem;
+       }
+}
+
+.wp-block-cover-image h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+       max-width: inherit;
+       text-align: inherit;
+       padding: 0;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-cover-image h2 {
+               font-size: 3rem;
+       }
+}
+
+.wp-block-cover h2.has-text-align-left,
+.wp-block-cover-image h2.has-text-align-left {
+       text-align: left;
+}
+
+.wp-block-cover h2.has-text-align-center,
+.wp-block-cover-image h2.has-text-align-center {
+       text-align: center;
+}
+
+.wp-block-cover h2.has-text-align-right,
+.wp-block-cover-image h2.has-text-align-right {
+       text-align: right;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover__inner-container {
+       width: calc(100% - 60px);
+}
+
+.wp-block-cover .wp-block-cover__inner-container > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.wp-block-cover-image .wp-block-cover__inner-container > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-cover .wp-block-cover__inner-container > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+
+       .wp-block-cover-image .wp-block-cover__inner-container > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *:first-child,
+.wp-block-cover-image .wp-block-cover__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *:last-child,
+.wp-block-cover-image .wp-block-cover__inner-container > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-cover.alignleft,
+.wp-block-cover.alignright,
+.wp-block-cover-image.alignleft,
+.wp-block-cover-image.alignright {
+       margin-top: 0;
+}
+
+.wp-block-cover.alignleft > * {
+       margin-top: 60px;
+       margin-bottom: 60px;
+       padding-left: 25px;
+       padding-right: 25px;
+       width: 100%;
+}
+
+.wp-block-cover.alignright > * {
+       margin-top: 60px;
+       margin-bottom: 60px;
+       padding-left: 25px;
+       padding-right: 25px;
+       width: 100%;
+}
+
+.wp-block-cover-image.alignleft > * {
+       margin-top: 60px;
+       margin-bottom: 60px;
+       padding-left: 25px;
+       padding-right: 25px;
+       width: 100%;
+}
+
+.wp-block-cover-image.alignright > * {
+       margin-top: 60px;
+       margin-bottom: 60px;
+       padding-left: 25px;
+       padding-right: 25px;
+       width: 100%;
+}
+
+.wp-block-cover.has-left-content,
+.wp-block-cover.has-right-content,
+.wp-block-cover-image.has-left-content,
+.wp-block-cover-image.has-right-content {
+       justify-content: center;
+}
+
+.wp-block-cover.is-style-twentytwentyone-border,
+.wp-block-cover-image.is-style-twentytwentyone-border {
+       border: 3px solid #28303d;
+}
+
+.wp-block-cover[class*=-background-color][class] .wp-block-cover__inner-container,
+.wp-block-cover-image[class*=-background-color][class] .wp-block-cover__inner-container {
+       background-color: unset;
+}
+
+.wp-block-file a.wp-block-file__button:active,
+.wp-block-file a.wp-block-file__button:focus,
+.wp-block-file a.wp-block-file__button:hover {
+       opacity: inherit;
+}
+
+.wp-block-file a.wp-block-file__button {
+       display: inline-block;
+}
+
+.wp-block-gallery {
+       margin: 0 auto;
+}
+
+.wp-block-gallery .blocks-gallery-image,
+.wp-block-gallery .blocks-gallery-item {
+       width: calc(50% - 10px);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption,
+.wp-block-gallery .blocks-gallery-item figcaption {
+       margin: 0;
+       color: #fff;
+       font-size: 1rem;
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption a,
+.wp-block-gallery .blocks-gallery-item figcaption a {
+       color: #fff;
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption a:focus {
+       background-color: transparent;
+       outline: 2px solid #28303d;
+       text-decoration: none;
+}
+
+.wp-block-gallery .blocks-gallery-item figcaption a:focus {
+       background-color: transparent;
+       outline: 2px solid #28303d;
+       text-decoration: none;
+}
+
+.wp-block-gallery .blocks-gallery-image a:focus img,
+.wp-block-gallery .blocks-gallery-item a:focus img {
+       outline-offset: 2px;
+}
+
+.wp-block-group {
+       display: block;
+       clear: both;
+       display: flow-root;
+}
+
+.wp-block-group:before,
+.wp-block-group:after {
+       content: "";
+       display: block;
+       clear: both;
+}
+
+.wp-block-group .wp-block-group__inner-container {
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.wp-block-group .wp-block-group__inner-container > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-group .wp-block-group__inner-container > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+}
+
+.wp-block-group .wp-block-group__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-group .wp-block-group__inner-container > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-group.has-background {
+       padding: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-group.has-background {
+               padding: 30px;
+       }
+}
+
+.wp-block-group.is-style-twentytwentyone-border {
+       border: 3px solid #28303d;
+       padding: 30px;
+}
+
+.wp-block-group.has-background .wp-block-group__inner-container > .alignfull {
+       max-width: calc(100% + 60px);
+       width: calc(100% + 60px);
+       margin-left: -30px;
+}
+
+.wp-block-group.has-background .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
+       max-width: calc(100% + 60px);
+       width: calc(100% + 60px);
+       margin-left: -30px;
+}
+
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > .alignfull {
+       max-width: calc(100% + 60px);
+       width: calc(100% + 60px);
+       margin-left: -30px;
+}
+
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
+       max-width: calc(100% + 60px);
+       width: calc(100% + 60px);
+       margin-left: -30px;
+}
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+       clear: both;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: normal;
+}
+
+h1 strong,
+.h1 strong,
+h2 strong,
+.h2 strong,
+h3 strong,
+.h3 strong,
+h4 strong,
+.h4 strong,
+h5 strong,
+.h5 strong,
+h6 strong,
+.h6 strong {
+       font-weight: 600;
+}
+
+h1 {
+       font-size: 4rem;
+       letter-spacing: normal;
+       line-height: 1.1;
+}
+
+@media only screen and (min-width: 652px) {
+
+       h1 {
+               font-size: 6rem;
+       }
+}
+
+.h1 {
+       font-size: 4rem;
+       letter-spacing: normal;
+       line-height: 1.1;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .h1 {
+               font-size: 6rem;
+       }
+}
+
+h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       h2 {
+               font-size: 3rem;
+       }
+}
+
+.h2 {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .h2 {
+               font-size: 3rem;
+       }
+}
+
+h3 {
+       font-size: 2rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       h3 {
+               font-size: 2rem;
+       }
+}
+
+.h3 {
+       font-size: 2rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .h3 {
+               font-size: 2rem;
+       }
+}
+
+h4,
+.h4 {
+       font-size: 1.5rem;
+       font-weight: 600;
+       letter-spacing: normal;
+       line-height: 1.3;
+}
+
+h5,
+.h5 {
+       font-size: 1.125rem;
+       font-weight: 600;
+       letter-spacing: 0.05em;
+       line-height: 1.3;
+}
+
+h6,
+.h6 {
+       font-size: 1rem;
+       font-weight: 600;
+       letter-spacing: 0.05em;
+       line-height: 1.3;
+}
+
+.wp-block-image {
+       text-align: center;
+}
+
+.wp-block-image figcaption {
+       color: #28303d;
+       font-size: 1rem;
+       line-height: 1.7;
+       margin-top: 10px;
+       margin-bottom: 20px;
+       text-align: center;
+}
+
+.wp-block-image .alignright {
+       margin-left: 25px;
+}
+
+.wp-block-image .alignleft {
+       margin-right: 25px;
+}
+
+.wp-block-image a:focus img {
+       outline-offset: 2px;
+}
+
+.entry-content > *[class=wp-block-image],
+.entry-content [class*=inner-container] > *[class=wp-block-image] {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.entry-content > *[class=wp-block-image] + *,
+.entry-content [class*=inner-container] > *[class=wp-block-image] + * {
+       margin-top: 0;
+}
+
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: 3px solid #28303d;
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: 20px;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .wp-block-image > .alignleft,
+       .entry-content > .wp-block-image > .alignright {
+               max-width: 50%;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .entry-content > .wp-block-image > .alignleft,
+       .entry-content > .wp-block-image > .alignright {
+               margin-left: 0;
+               margin-right: 0;
+       }
+}
+
+.wp-block-latest-comments {
+       padding-left: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment {
+       font-size: 1.125rem;
+       line-height: 1.7;
+
+       /* Vertical margins logic */
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-date {
+       color: #28303d;
+       font-size: 1.125rem;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
+       font-size: 1.125rem;
+       line-height: 1.7;
+       margin: 0;
+}
+
+.wp-block-latest-posts {
+       padding-left: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: 50px;
+       margin-bottom: 50px;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.widget-area .wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid {
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.wp-block-latest-posts.is-grid > li {
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > * {
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+
+.wp-block-latest-posts > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > a {
+       display: inline-block;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 2rem;
+       font-weight: normal;
+       line-height: 1.3;
+       margin-bottom: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-latest-posts > li > a {
+               font-size: 2rem;
+       }
+}
+
+.widget-area .wp-block-latest-posts > li > a {
+       font-size: 1.125rem;
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-author {
+       color: #28303d;
+       font-size: 1.25rem;
+       line-height: 1.7;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: #28303d;
+       font-size: 1rem;
+       line-height: 1.7;
+}
+
+[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date,
+.has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: currentColor;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
+.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.7;
+       margin-top: 20px;
+}
+
+.wp-block-latest-posts.alignfull {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.entry-content [class*=inner-container] .wp-block-latest-posts.alignfull,
+.entry-content .has-background .wp-block-latest-posts.alignfull {
+       padding-left: 0;
+       padding-right: 0;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers {
+       border-top: 3px solid #28303d;
+       border-bottom: 3px solid #28303d;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li {
+       padding-bottom: 30px;
+       border-bottom: 1px solid #28303d;
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
+       padding-bottom: 30px;
+       border-bottom: 1px solid #28303d;
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
+       padding-bottom: 0;
+       border-bottom: none;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
+       box-shadow: inset 0 -1px 0 0 #28303d;
+       border-bottom: 2px solid #28303d;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
+       margin: 0;
+       padding-top: 30px;
+       padding-right: 25px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
+       padding-bottom: 30px;
+}
+@media screen and (min-width: 600px) {
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
+               width: 50%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
+               width: 33%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
+               width: 25%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
+               width: 20%;
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
+               width: 17%;
+       }
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
+       border: 3px solid #28303d;
+       padding: 30px 25px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
+       padding-bottom: 30px;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
+       margin-top: 25px;
+       margin-bottom: 25px;
+}
+
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+}
+
+.gallery-item a {
+       display: block;
+}
+
+.gallery-item a:focus img {
+       outline-offset: -2px;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 50%;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 33.33%;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 16.66%;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 14.28%;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 11.11%;
+}
+
+.gallery-caption {
+       display: block;
+}
+
+figure.wp-caption a:focus img {
+       outline-offset: 2px;
+}
+
+ul,
+ol {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       margin: 0;
+       padding-left: 50px;
+}
+
+ul.aligncenter,
+ol.aligncenter,
+ul.alignright,
+ol.alignright {
+       list-style-position: inside;
+       padding: 0;
+}
+
+ul.alignright,
+ol.alignright {
+       text-align: right;
+}
+
+ul {
+       list-style-type: disc;
+}
+
+ul ul {
+       list-style-type: circle;
+}
+
+ol {
+       list-style-type: decimal;
+}
+
+ol ul {
+       list-style-type: circle;
+}
+
+dt {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: bold;
+}
+
+dd {
+       margin: 0;
+       padding-left: 50px;
+}
+
+.wp-block-media-text {
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-media-text.alignfull {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-media-text a:focus img {
+       outline-offset: -1px;
+}
+
+.wp-block-media-text .wp-block-media-text__content {
+       padding: 25px;
+}
+@media only screen and (min-width: 592px) {
+
+       .wp-block-media-text .wp-block-media-text__content {
+               padding: 30px;
+       }
+}
+
+.wp-block-media-text .wp-block-media-text__content > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-media-text .wp-block-media-text__content > * {
+               margin-top: 30px;
+               margin-bottom: 30px;
+       }
+}
+
+.wp-block-media-text .wp-block-media-text__content > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-media-text .wp-block-media-text__content > *:last-child {
+       margin-bottom: 0;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
+               padding-top: 30px;
+               padding-bottom: 30px;
+       }
+}
+
+.wp-block-media-text.is-style-twentytwentyone-border {
+       border: 3px solid #28303d;
+}
+
+.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__label {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.25rem;
+       font-weight: normal;
+}
+
+.wp-block-navigation .wp-block-navigation-link__submenu-icon {
+       padding: 0;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation-link {
+       display: inherit;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container {
+       border: none;
+       left: 0;
+       min-width: max-content;
+       opacity: 0;
+       padding: 0;
+       position: inherit;
+       top: inherit;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container .wp-block-navigation-link__submenu-icon {
+       display: none;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container {
+       background: #d1e4dd;
+       margin: 0;
+       padding: 0;
+       position: absolute;
+       top: 100%;
+       border: 1px solid #28303d;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:before {
+       content: "";
+       display: block;
+       position: absolute;
+       width: 0;
+       top: -10px;
+       left: 25px;
+       border-style: solid;
+       border-color: #28303d transparent;
+       border-width: 0 7px 10px 7px;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
+       content: "";
+       display: block;
+       position: absolute;
+       width: 0;
+       top: -10px;
+       left: 25px;
+       border-style: solid;
+       border-color: #28303d transparent;
+       border-width: 0 7px 10px 7px;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
+       top: -9px;
+       border-color: #d1e4dd transparent;
+}
+
+.wp-block-navigation:not(.has-background) .wp-block-navigation__container {
+       background: #d1e4dd;
+}
+
+.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation__container {
+       background: #d1e4dd;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover {
+       color: #28303d;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:focus {
+       color: #28303d;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link__content {
+       color: currentColor;
+}
+
+p {
+       line-height: 1.7;
+}
+
+p.has-background {
+       padding: 20px;
+}
+
+p.has-text-color a {
+       color: #28303d;
+}
+
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre;
+}
+
+.wp-block-pullquote {
+       padding: 40px 0;
+       text-align: center;
+       border-width: 3px;
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-pullquote blockquote::before {
+       color: currentColor;
+       content: "“";
+       display: block;
+       position: relative;
+       left: 0;
+       font-size: 3rem;
+       font-weight: 500;
+       line-height: 1;
+}
+
+.wp-block-pullquote p {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 2rem;
+       font-style: normal;
+       font-weight: 700;
+       letter-spacing: normal;
+       line-height: 1.3;
+       margin: 0;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-pullquote p {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-pullquote a {
+       color: currentColor;
+}
+
+.wp-block-pullquote .wp-block-pullquote__citation,
+.wp-block-pullquote cite,
+.wp-block-pullquote footer {
+       color: currentColor;
+       display: block;
+       font-size: 1rem;
+       font-style: normal;
+       text-transform: none;
+}
+
+.wp-block-pullquote:not(.is-style-solid-color) {
+       background: none;
+}
+
+.wp-block-pullquote.alignleft:not(.is-style-solid-color) blockquote:before,
+.wp-block-pullquote.alignleft:not(.is-style-solid-color) cite {
+       text-align: center;
+}
+
+.wp-block-pullquote.alignwide > p {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-pullquote.alignwide > p {
+               max-width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block-pullquote.alignwide > p {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.wp-block-pullquote.alignwide blockquote {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-pullquote.alignwide blockquote {
+               max-width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block-pullquote.alignwide blockquote {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p {
+       padding: 0 40px;
+}
+
+.wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
+       padding: 0 40px;
+}
+
+.wp-block-pullquote.is-style-solid-color {
+       color: #28303d;
+       padding: 50px;
+       border-width: 3px;
+       border-style: solid;
+       border-color: #28303d;
+}
+@media (min-width: 600px) {
+
+       .wp-block-pullquote.is-style-solid-color {
+               padding: 100px;
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote::before {
+       text-align: left;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote {
+       margin: 0;
+       max-width: inherit;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote p {
+       font-size: 2rem;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-pullquote.is-style-solid-color blockquote p {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
+.wp-block-pullquote.is-style-solid-color cite,
+.wp-block-pullquote.is-style-solid-color footer {
+       color: currentColor;
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft,
+.wp-block-pullquote.is-style-solid-color.alignright {
+       padding: 20px;
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
+.wp-block-pullquote.is-style-solid-color.alignright blockquote {
+       max-width: initial;
+}
+
+.wp-block-query.has-background {
+       padding: 20px;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-query.has-background {
+               padding: 30px;
+       }
+}
+
+.wp-block-quote {
+       border-left: none;
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-quote:before {
+       content: "“";
+       font-size: 1.25rem;
+       line-height: 1.7;
+       left: 8px;
+}
+
+.has-background .wp-block-quote .wp-block-quote__citation,
+[class*=background-color] .wp-block-quote .wp-block-quote__citation,
+[style*=background-color] .wp-block-quote .wp-block-quote__citation,
+.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation,
+.has-background .wp-block-quote cite,
+[class*=background-color] .wp-block-quote cite,
+[style*=background-color] .wp-block-quote cite,
+.wp-block-cover[style*=background-image] .wp-block-quote cite,
+.has-background .wp-block-quote footer,
+[class*=background-color] .wp-block-quote footer,
+[style*=background-color] .wp-block-quote footer,
+.wp-block-cover[style*=background-image] .wp-block-quote footer {
+       color: currentColor;
+}
+
+.wp-block-quote.has-text-align-right {
+       margin: 30px 25px 30px auto;
+       padding-right: 0;
+       border-right: none;
+}
+
+.wp-block-quote.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.has-text-align-right p:before {
+       content: "”";
+       font-size: 1.25rem;
+       font-weight: normal;
+       line-height: 1.7;
+       margin-right: 5px;
+}
+
+.wp-block-quote.has-text-align-center {
+       margin: 30px auto;
+}
+
+.wp-block-quote.has-text-align-center:before {
+       display: none;
+}
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+       padding-left: 0;
+       padding-right: 0;
+
+       /* Resetting margins to match _block-container.scss */
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.wp-block-quote.is-large p {
+       font-size: 2.25rem;
+       font-style: normal;
+       line-height: 1.35;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-large p {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-style-large p {
+       font-size: 2.25rem;
+       font-style: normal;
+       line-height: 1.35;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-style-large p {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-large:before {
+       font-size: 2.25rem;
+       line-height: 1.35;
+       left: -25px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-large:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-style-large:before {
+       font-size: 2.25rem;
+       line-height: 1.35;
+       left: -25px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-style-large:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-large.has-text-align-right:before,
+.wp-block-quote.is-style-large.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.is-large.has-text-align-right p:before {
+       content: "”";
+       font-size: 2.25rem;
+       font-weight: normal;
+       line-height: 1.35;
+       margin-right: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-large.has-text-align-right p:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-style-large.has-text-align-right p:before {
+       content: "”";
+       font-size: 2.25rem;
+       font-weight: normal;
+       line-height: 1.35;
+       margin-right: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-quote.is-style-large.has-text-align-right p:before {
+               font-size: 2.5rem;
+       }
+}
+
+.wp-block-quote.is-large .wp-block-quote__citation,
+.wp-block-quote.is-large cite,
+.wp-block-quote.is-large footer,
+.wp-block-quote.is-style-large .wp-block-quote__citation,
+.wp-block-quote.is-style-large cite,
+.wp-block-quote.is-style-large footer {
+       color: #28303d;
+       font-size: 1.125rem;
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.is-large,
+       .wp-block-quote.is-style-large {
+               padding-left: 25px;
+       }
+
+       .wp-block-quote.is-large:before,
+       .wp-block-quote.is-style-large:before {
+               left: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right,
+       .wp-block-quote.is-style-large.has-text-align-right {
+               padding-left: 0;
+               padding-right: 25px;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right:before,
+       .wp-block-quote.is-style-large.has-text-align-right:before {
+               right: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-center,
+       .wp-block-quote.is-style-large.has-text-align-center {
+               padding-left: 0;
+               padding-right: 0;
+       }
+
+       .wp-block-quote.has-text-align-right {
+               padding-left: 0;
+               padding-right: 13px;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.has-text-align-right:before {
+               right: 0;
+       }
+
+       .wp-block-quote.has-text-align-center {
+               padding-left: 0;
+               padding-right: 0;
+       }
+}
+
+.wp-block-rss {
+       padding-left: 0;
+}
+
+.wp-block-rss > li {
+       list-style: none;
+}
+
+.wp-block-rss:not(.is-grid) > li {
+       margin-top: 50px;
+       margin-bottom: 50px;
+}
+
+.wp-block-rss:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid > li {
+       margin-bottom: 30px;
+}
+
+.wp-block-rss.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-rss > li > * {
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+
+.wp-block-rss > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss .wp-block-rss__item-title > a {
+       display: inline-block;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 2rem;
+       font-weight: normal;
+       line-height: 1.3;
+       margin-bottom: 10px;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-rss .wp-block-rss__item-title > a {
+               font-size: 2rem;
+       }
+}
+
+.wp-block-rss .wp-block-rss__item-author {
+       color: #28303d;
+       font-size: 1.25rem;
+       line-height: 1.7;
+}
+
+.wp-block-rss .wp-block-rss__item-publish-date {
+       color: #28303d;
+       font-size: 1rem;
+       line-height: 1.7;
+}
+
+[class*=inner-container] .wp-block-rss .wp-block-rss__item-publish-date,
+.has-background .wp-block-rss .wp-block-rss__item-publish-date {
+       color: currentColor;
+}
+
+.wp-block-rss .wp-block-rss__item-excerpt,
+.wp-block-rss .wp-block-rss__item-full-content {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.7;
+       margin-top: 20px;
+}
+
+.wp-block-rss.alignfull {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.entry-content [class*=inner-container] .wp-block-rss.alignfull,
+.entry-content .has-background .wp-block-rss.alignfull {
+       padding-left: 0;
+       padding-right: 0;
+}
+
+.wp-block-search {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wp-block-search {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .wp-block-search {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.wp-block-search__button-only.aligncenter .wp-block-search__inside-wrapper {
+       justify-content: center;
+}
+
+.wp-block-search .wp-block-search__label {
+       font-size: 1.125rem;
+       font-weight: 500;
+       margin-bottom: 10px;
+}
+
+.wp-block-search .wp-block-search__input {
+       border: 3px solid #39414d;
+       border-radius: 0;
+       color: #28303d;
+       line-height: 1.7;
+       max-width: inherit;
+       margin-right: -3px;
+       padding: 10px;
+}
+
+.wp-block-search .wp-block-search__input:focus {
+       color: #28303d;
+       border-color: #39414d;
+}
+
+.has-background .wp-block-search .wp-block-search__input {
+       border-color: #28303d !important;
+}
+
+.wp-block-search button.wp-block-search__button {
+       margin-left: 0;
+       line-height: 1;
+}
+
+.wp-block-search button.wp-block-search__button.has-icon {
+       padding: 6px 15px;
+}
+
+.wp-block-search button.wp-block-search__button.has-icon svg {
+       width: 40px;
+       height: 40px;
+       fill: currentColor;
+}
+
+.has-background .wp-block-search button.wp-block-search__button:hover {
+       background-color: #d1e4dd !important;
+       color: #28303d !important;
+}
+
+.has-background .wp-block-search button.wp-block-search__button:active {
+       background-color: #d1e4dd !important;
+       color: #28303d !important;
+}
+
+.has-text-color .wp-block-search button.wp-block-search__button:hover {
+       color: #28303d !important;
+}
+
+.has-text-color .wp-block-search button.wp-block-search__button:active {
+       color: #28303d !important;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       background-color: #fff;
+       border: 3px solid #39414d;
+       border-radius: 0;
+       padding: 3px;
+}
+
+.has-background .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       border-color: #28303d !important;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
+       margin-left: 0;
+       margin-right: 0;
+       padding-left: 10px;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
+       color: #28303d;
+       outline-offset: -2px;
+       outline: 2px dotted #39414d;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
+       padding: 15px 30px;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
+       color: #28303d;
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
+       color: #28303d;
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
+       background-color: #28303d;
+       color: #fff;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button.has-icon {
+       padding: 6px 15px;
+}
+
+.wp-block-search__button {
+       box-shadow: none;
+}
+
+hr {
+       border-style: none;
+       clear: both;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+hr,
+hr.wp-block-separator {
+       border-bottom: 1px solid #28303d;
+}
+
+hr.wp-block-separator {
+       opacity: 1;
+
+       /**
+   * Block Options
+   */
+}
+
+hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+hr.wp-block-separator:not(.is-style-dots).alignwide {
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       hr.wp-block-separator:not(.is-style-dots).alignwide {
+               max-width: calc(100vw - 100px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       hr.wp-block-separator:not(.is-style-dots).alignwide {
+               max-width: min(calc(100vw - 200px), 1240px);
+       }
+}
+
+hr.wp-block-separator:not(.is-style-dots).alignfull {
+       max-width: 100%;
+}
+
+hr.wp-block-separator.is-style-twentytwentyone-separator-thick {
+       border-bottom-width: 3px;
+}
+
+hr.wp-block-separator.is-style-dots.has-background,
+hr.wp-block-separator.is-style-dots.has-text-color {
+       background-color: transparent !important;
+}
+
+hr.wp-block-separator.is-style-dots.has-background:before,
+hr.wp-block-separator.is-style-dots.has-text-color:before {
+       color: currentColor !important;
+}
+
+hr.wp-block-separator.is-style-dots:before {
+       color: #28303d;
+       font-size: 2.25rem;
+       letter-spacing: 1.125rem;
+       padding-left: 1.125rem;
+}
+@media only screen and (min-width: 652px) {
+
+       hr.wp-block-separator.is-style-dots:before {
+               font-size: 2.5rem;
+       }
+}
+
+.has-background hr.wp-block-separator,
+[class*=background-color] hr.wp-block-separator,
+[style*=background-color] hr.wp-block-separator,
+.wp-block-cover[style*=background-image] hr.wp-block-separator {
+       border-color: currentColor;
+}
+
+.wp-block-social-links a:focus {
+       color: #28303d;
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color a {
+       color: #28303d;
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link,
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color.has-icon-background-color.has-icon-background-color .wp-social-link {
+       background: none;
+}
+
+table,
+.wp-block-table {
+       width: 100%;
+       min-width: 240px;
+       border-collapse: collapse;
+}
+
+table thead,
+table tfoot,
+.wp-block-table thead,
+.wp-block-table tfoot {
+       text-align: center;
+}
+
+table th,
+.wp-block-table th {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+table td,
+table th,
+.wp-block-table td,
+.wp-block-table th {
+       padding: 10px;
+       border: 1px solid;
+}
+
+table figcaption,
+.wp-block-table figcaption {
+       color: #28303d;
+       font-size: 1rem;
+}
+
+table.is-style-regular .has-background,
+table.is-style-stripes .has-background,
+table.is-style-stripes .has-background thead tr,
+table.is-style-stripes .has-background tfoot tr,
+table.is-style-stripes .has-background tbody tr,
+.wp-block-table.is-style-regular .has-background,
+.wp-block-table.is-style-stripes .has-background,
+.wp-block-table.is-style-stripes .has-background thead tr,
+.wp-block-table.is-style-stripes .has-background tfoot tr,
+.wp-block-table.is-style-stripes .has-background tbody tr {
+       color: #28303d;
+}
+
+table.is-style-stripes,
+.wp-block-table.is-style-stripes {
+       border-color: #f0f0f0;
+}
+
+table.is-style-stripes th,
+table.is-style-stripes td,
+.wp-block-table.is-style-stripes th,
+.wp-block-table.is-style-stripes td {
+       border-width: 0;
+}
+
+table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: #f0f0f0;
+}
+
+.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: #f0f0f0;
+}
+
+table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: rgba(255, 255, 255, 0.9);
+}
+
+.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: rgba(255, 255, 255, 0.9);
+}
+
+table.wp-calendar-table td,
+table.wp-calendar-table th {
+       background: transparent;
+       border: 0;
+       text-align: center;
+       line-height: 2;
+       vertical-align: middle;
+       word-break: normal;
+}
+
+table.wp-calendar-table th {
+       font-weight: bold;
+}
+
+table.wp-calendar-table thead,
+table.wp-calendar-table tbody {
+       color: currentColor;
+       border: 1px solid;
+}
+
+table.wp-calendar-table caption {
+       font-weight: bold;
+       text-align: left;
+       margin-bottom: 20px;
+       color: currentColor;
+}
+
+.wp-calendar-nav {
+       text-align: left;
+       margin-top: 10px;
+}
+
+.wp-calendar-nav svg {
+       height: 1em;
+       vertical-align: middle;
+}
+
+.wp-calendar-nav svg path {
+       fill: currentColor;
+}
+
+.wp-calendar-nav .wp-calendar-nav-next {
+       float: right;
+}
+
+.wp-block-tag-cloud.alignfull {
+       padding-left: 20px;
+       padding-right: 20px;
+}
+
+.wp-block-verse {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+.wp-block-video figcaption {
+       color: #28303d;
+       font-size: 1rem;
+       margin-top: 10px;
+       margin-bottom: 20px;
+       text-align: center;
+}
+
+* > figure > video {
+       max-width: unset;
+       width: 100%;
+       vertical-align: middle;
+}
+
+:root .is-extra-small-text {
+       font-size: 1rem;
+}
+
+:root .has-extra-small-font-size {
+       font-size: 1rem;
+}
+
+:root .is-small-text {
+       font-size: 1.125rem;
+}
+
+:root .has-small-font-size {
+       font-size: 1.125rem;
+}
+
+:root .is-regular-text {
+       font-size: 1.25rem;
+}
+
+:root .has-regular-font-size {
+       font-size: 1.25rem;
+}
+
+:root .is-normal-font-size {
+       font-size: 1.25rem;
+}
+
+:root .has-normal-font-size {
+       font-size: 1.25rem;
+}
+
+:root .has-medium-font-size {
+       font-size: 1.25rem;
+}
+
+:root .is-large-text {
+       font-size: 1.5rem;
+       line-height: 1.3;
+}
+
+:root .has-large-font-size {
+       font-size: 1.5rem;
+       line-height: 1.3;
+}
+
+:root .is-larger-text {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-larger-text {
+               font-size: 2.5rem;
+       }
+}
+
+:root .has-larger-font-size {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-larger-font-size {
+               font-size: 2.5rem;
+       }
+}
+
+:root .is-extra-large-text {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-extra-large-text {
+               font-size: 2.5rem;
+       }
+}
+
+:root .has-extra-large-font-size {
+       font-size: 2.5rem;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-extra-large-font-size {
+               font-size: 2.5rem;
+       }
+}
+
+:root .is-huge-text {
+       font-size: 6rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-huge-text {
+               font-size: 6rem;
+       }
+}
+
+:root .has-huge-font-size {
+       font-size: 6rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-huge-font-size {
+               font-size: 6rem;
+       }
+}
+
+:root .is-gigantic-text {
+       font-size: 9rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .is-gigantic-text {
+               font-size: 9rem;
+       }
+}
+
+:root .has-gigantic-font-size {
+       font-size: 9rem;
+       line-height: 1.3;
+       font-weight: 300;
+}
+@media only screen and (min-width: 652px) {
+
+       :root .has-gigantic-font-size {
+               font-size: 9rem;
+       }
+}
+
+/* Block Alignments */
+
+/**
+ * These selectors set the default max width for content appearing inside a post or page.
+ */
+
+/**
+ * .alignleft
+ */
+.alignleft {
+
+       /*rtl:ignore*/
+       text-align: left;
+       margin-top: 0;
+}
+
+.entry-content > .alignleft {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignleft {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .entry-content > .alignleft {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignleft {
+
+               /*rtl:ignore*/
+               float: left;
+
+               /*rtl:ignore*/
+               margin-right: 25px;
+               margin-bottom: 30px;
+       }
+
+       .entry-content > .alignleft {
+               max-width: calc(50% - (100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+       }
+       @media only screen and (min-width: 482px) {
+
+               .entry-content > .alignleft {
+                       max-width: calc(50% - (100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+       @media only screen and (min-width: 822px) {
+
+               .entry-content > .alignleft {
+                       max-width: calc(50% - (100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+}
+
+/**
+ * .aligncenter
+ */
+.aligncenter {
+       clear: both;
+       display: block;
+       float: none;
+       margin-right: auto;
+       margin-left: auto;
+       text-align: center;
+}
+
+/**
+ * .alignright
+ */
+.alignright {
+       margin-top: 0;
+       margin-bottom: 30px;
+}
+
+.entry-content > .alignright {
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignright {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .entry-content > .alignright {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignright {
+
+               /*rtl:ignore*/
+               float: right;
+
+               /*rtl:ignore*/
+               margin-left: 25px;
+       }
+
+       .entry-content > .alignright {
+               max-width: calc(50% - (100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+       }
+       @media only screen and (min-width: 482px) {
+
+               .entry-content > .alignright {
+                       max-width: calc(50% - (100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+       @media only screen and (min-width: 822px) {
+
+               .entry-content > .alignright {
+                       max-width: calc(50% - (100vw - min(calc(100vw - 4 * 25px), 610px)) *1);
+               }
+       }
+}
+
+[class*=inner-container] > .alignleft + *,
+[class*=inner-container] > .alignright + * {
+       margin-top: 0;
+}
+
+/**
+ * .alignwide
+ */
+
+/**
+ * .alignfull
+ */
+.alignwide,
+.alignfull {
+       clear: both;
+}
+
+.has-left-content {
+       justify-content: flex-start;
+}
+
+.has-right-content {
+       justify-content: flex-end;
+}
+
+.has-parallax {
+       background-attachment: fixed;
+}
+
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: normal;
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: left;
+       margin: 0.1em 0.1em 0 0;
+       font-size: 5rem;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .has-drop-cap:not(:focus)::first-letter {
+               font-size: 7rem;
+       }
+}
+
+.has-drop-cap:not(:focus)::after {
+       content: "";
+       display: table;
+       clear: both;
+       padding-top: 14px;
+}
+
+.desktop-only {
+       display: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .desktop-only {
+               display: block;
+       }
+}
+
+/* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */
+.site-header {
+       display: flex;
+       align-items: flex-start;
+       flex-wrap: wrap;
+       row-gap: 30px;
+}
+
+.wp-custom-logo .site-header {
+       align-items: center;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               padding-top: 40px;
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .site-header {
+               padding-top: 72px;
+       }
+}
+
+.site-branding {
+       color: #28303d;
+       margin-right: 140px;
+}
+
+.site-branding:last-child {
+       margin-right: 0;
+       width: 100%;
+       text-align: center;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-branding {
+               margin-right: initial;
+               margin-top: 4px;
+       }
+}
+
+.site-title {
+       color: #28303d;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.5rem;
+       letter-spacing: normal;
+       text-transform: uppercase;
+       line-height: 1.3;
+       margin-bottom: 5px;
+}
+
+.site-title a {
+       color: currentColor;
+       font-weight: normal;
+}
+
+.site-title a:link,
+.site-title a:visited,
+.site-title a:active {
+       color: currentColor;
+}
+
+.site-title a:hover {
+       color: #39414d;
+}
+
+.site-title a:focus {
+       color: #39414d;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-title {
+               font-size: 1.5rem;
+       }
+}
+
+.site-description {
+       color: currentColor;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.4;
+}
+
+.site-title > a {
+       text-decoration-color: #39414d;
+}
+
+.site-logo {
+       margin: 15px 0;
+}
+
+.site-header > .site-logo {
+       width: 100%;
+       padding-bottom: 45px;
+       border-bottom: 1px solid;
+       text-align: center;
+}
+
+.site-logo .custom-logo {
+       margin-left: auto;
+       margin-right: auto;
+       max-width: 96px;
+       max-height: 96px;
+       height: auto;
+       display: inline-block;
+       width: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-logo .custom-logo {
+               max-width: 300px;
+               max-height: 100px;
+               height: auto;
+               width: auto;
+       }
+}
+
+@media only screen and (max-width: 481px) {
+
+       .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
+               position: absolute;
+               padding-top: 15px;
+               margin-top: 0;
+               top: 0;
+       }
+
+       .primary-navigation-open .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
+               display: none;
+       }
+
+       .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
+               max-height: calc(10px + 2em);
+       }
+
+       .site-header.has-logo.has-title-and-tagline {
+               align-items: flex-start;
+       }
+
+       .site-header.has-logo.has-title-and-tagline.has-menu {
+               justify-content: space-between;
+       }
+
+       .site-header.has-logo.has-title-and-tagline.has-menu .site-branding {
+               max-width: calc(100% - 160px);
+       }
+
+       .site-header.has-logo.has-title-and-tagline .site-branding {
+               margin-right: 0;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline:after {
+               display: none;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .primary-navigation {
+               position: relative;
+               top: 0;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container {
+               position: relative;
+               padding-top: 0;
+               margin-top: -10px;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu {
+               padding-left: 11px;
+               padding-right: 11px;
+               margin-right: -15px;
+       }
+
+       .site-header:not(.has-logo).has-title-and-tagline .site-branding {
+               margin-right: 0;
+               max-width: calc(100% - 160px);
+       }
+
+       .site-header:not(.has-menu) {
+               justify-content: center;
+       }
+}
+
+.site-footer {
+       padding-top: 0;
+       padding-bottom: 51px;
+}
+
+.no-widgets .site-footer {
+       margin-top: 180px;
+}
+@media only screen and (max-width: 481px) {
+
+       .no-widgets .site-footer {
+               margin-top: 90px;
+       }
+}
+
+.site-footer > .site-info {
+       padding-top: 30px;
+       color: #28303d;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       line-height: 1.7;
+       border-top: 3px solid #28303d;
+}
+
+.site-footer > .site-info .site-name {
+       text-transform: uppercase;
+       font-size: 1.5rem;
+}
+
+.site-footer > .site-info .privacy-policy {
+       margin-top: 15px;
+}
+
+.site-footer > .site-info .powered-by {
+       margin-top: 15px;
+}
+@media only screen and (min-width: 822px) {
+
+       .site-footer > .site-info {
+               display: flex;
+               align-items: center;
+       }
+
+       .site-footer > .site-info .site-name {
+               margin-right: 15px;
+       }
+
+       .site-footer > .site-info .privacy-policy,
+       .site-footer > .site-info .powered-by {
+               margin-top: initial;
+               margin-left: auto;
+       }
+
+       .site-footer > .site-info .privacy-policy + .powered-by {
+               margin-left: 15px;
+       }
+}
+
+.site-footer > .site-info a {
+       color: #28303d;
+}
+
+.site-footer > .site-info a:link {
+       color: #28303d;
+}
+
+.site-footer > .site-info a:visited {
+       color: #28303d;
+}
+
+.site-footer > .site-info a:active {
+       color: #28303d;
+}
+
+.site-footer > .site-info a:hover {
+       color: #28303d;
+}
+
+.site-footer > .site-info a:focus {
+       color: #28303d;
+}
+
+.is-dark-theme .site-footer > .site-info a:focus {
+       color: #d1e4dd;
+}
+
+.has-background-white .site-footer > .site-info a:focus {
+       color: #fff;
+}
+
+.singular .entry-header {
+       border-bottom: 3px solid #28303d;
+       padding-bottom: 60px;
+       margin-bottom: 90px;
+}
+
+.home .entry-header {
+       border-bottom: none;
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+.singular .has-post-thumbnail .entry-header {
+       border-bottom: none;
+       padding-bottom: 39px;
+       margin-bottom: 0;
+}
+
+.no-results.not-found > *:first-child {
+       margin-bottom: 90px;
+}
+
+.page-links {
+       clear: both;
+}
+
+.page-links .post-page-numbers {
+       display: inline-block;
+       margin-left: 13px;
+       margin-right: 13px;
+       min-width: 44px;
+       min-height: 44px;
+}
+
+.page-links .post-page-numbers:first-child {
+       margin-left: 0;
+}
+
+.entry-title {
+       color: #28303d;
+       font-size: 2.25rem;
+       letter-spacing: normal;
+       line-height: 1.3;
+       overflow-wrap: break-word;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .entry-title {
+               font-size: 3rem;
+       }
+}
+
+.entry-title a {
+       color: currentColor;
+       text-underline-offset: 0.15em;
+}
+
+.entry-title a:hover {
+       color: #28303d;
+}
+
+.entry-title a:focus {
+       color: #39414d;
+}
+
+.entry-title a:active {
+       color: currentColor;
+}
+
+.singular .entry-title {
+       font-size: 4rem;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .singular .entry-title {
+               font-size: 6rem;
+       }
+}
+
+h1.entry-title {
+       line-height: 1.1;
+       font-weight: 300;
+}
+
+/**
+ * Entry Content
+ */
+.entry-content,
+.entry-summary {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+.entry-content p {
+       word-wrap: break-word;
+}
+
+.entry-content > iframe[style] {
+       margin: 30px 0 !important;
+       max-width: 100% !important;
+}
+
+.entry-footer {
+       color: #28303d;
+       clear: both;
+       float: none;
+       font-size: 1rem;
+       display: block;
+}
+
+.entry-footer > span {
+       display: inline-block;
+}
+
+.entry-footer a {
+       color: currentColor;
+}
+
+.entry-footer a:hover {
+       color: #28303d;
+}
+
+.entry-footer a:focus {
+       color: #28303d;
+}
+
+.entry-footer a:active {
+       color: currentColor;
+}
+
+.site-main > article > .entry-footer {
+       margin-top: 30px;
+       padding-top: 20px;
+       padding-bottom: 90px;
+       border-bottom: 1px solid #28303d;
+}
+
+body:not(.single) .site-main > article:last-of-type .entry-footer {
+       border-bottom: 1px solid transparent;
+}
+
+.single .site-main > article > .entry-footer {
+       margin-top: 102px;
+       margin-bottom: 102px;
+       padding-bottom: 0;
+       padding-top: 24px;
+       border-top: 3px solid #28303d;
+       border-bottom: 1px solid transparent;
+       display: grid;
+       grid-template-columns: repeat(2, 1fr);
+       column-gap: 50px;
+}
+
+.single .site-main > article > .entry-footer .post-taxonomies,
+.single .site-main > article > .entry-footer .full-size-link {
+       justify-content: flex-end;
+       text-align: right;
+}
+
+.single .site-main > article > .entry-footer .full-size-link:first-child:last-child {
+       grid-column: span 2;
+}
+
+.single .site-main > article > .entry-footer .posted-on,
+.single .site-main > article > .entry-footer .byline,
+.single .site-main > article > .entry-footer .cat-links,
+.single .site-main > article > .entry-footer .tags-links {
+       display: block;
+}
+@media only screen and (max-width: 481px) {
+
+       .single .site-main > article > .entry-footer {
+               display: block;
+       }
+
+       .single .site-main > article > .entry-footer .full-size-link {
+               display: block;
+       }
+
+       .single .site-main > article > .entry-footer .post-taxonomies,
+       .single .site-main > article > .entry-footer .full-size-link {
+               text-align: left;
+       }
+}
+
+/**
+ * Post Thumbnails
+ */
+.post-thumbnail {
+       text-align: center;
+}
+
+.post-thumbnail .wp-post-image {
+       display: block;
+       width: auto;
+       max-width: 100%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top: 60px;
+}
+
+/**
+ * Author
+ */
+.author-bio {
+       position: relative;
+       font-size: 1rem;
+       max-width: calc(100vw - 30px);
+}
+@media only screen and (min-width: 482px) {
+
+       .author-bio {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .author-bio {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.site-main > article > .author-bio {
+       margin-top: 60px;
+}
+
+.author-bio.show-avatars .avatar {
+       display: inline-block;
+       vertical-align: top;
+       border-radius: 50%;
+}
+
+.author-bio.show-avatars .author-bio-content {
+       display: inline-block;
+       padding-left: 25px;
+       max-width: calc(100vw - 120px);
+}
+@media only screen and (min-width: 482px) {
+
+       .author-bio.show-avatars .author-bio-content {
+               max-width: calc(min(calc(100vw - 4 * 25px), 610px) - 90px);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .author-bio.show-avatars .author-bio-content {
+               max-width: calc(min(calc(100vw - 8 * 25px), 610px) - 90px);
+       }
+}
+
+.author-bio .author-bio-content .author-title {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.5rem;
+       display: inline;
+}
+
+.author-bio .author-bio-content .author-description {
+       font-size: 1rem;
+       margin-top: 15px;
+       margin-bottom: 15px;
+}
+
+.page-title {
+       font-size: 4rem;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .page-title {
+               font-size: 6rem;
+       }
+}
+
+h1.page-title,
+h2.page-title {
+       font-weight: 300;
+}
+
+h1.page-title {
+       line-height: 1.1;
+}
+
+.page-header {
+       border-bottom: 3px solid #28303d;
+       padding-bottom: 60px;
+}
+
+.archive .content-area .format-aside .entry-content,
+.archive .content-area .format-status .entry-content,
+.archive .content-area .format-link .entry-content,
+.search .content-area .format-aside .entry-content,
+.search .content-area .format-status .entry-content,
+.search .content-area .format-link .entry-content,
+.blog .content-area .format-aside .entry-content,
+.blog .content-area .format-status .entry-content,
+.blog .content-area .format-link .entry-content {
+       font-size: 1.5rem;
+}
+
+.archive .format-image .entry-content,
+.archive .format-gallery .entry-content,
+.archive .format-video .entry-content,
+.search .format-image .entry-content,
+.search .format-gallery .entry-content,
+.search .format-video .entry-content,
+.blog .format-image .entry-content,
+.blog .format-gallery .entry-content,
+.blog .format-video .entry-content {
+       margin-top: 60px;
+}
+
+.archive .entry-footer .cat-links,
+.archive .entry-footer .tags-links,
+.search .entry-footer .cat-links,
+.search .entry-footer .tags-links,
+.blog .entry-footer .cat-links,
+.blog .entry-footer .tags-links {
+       display: block;
+}
+
+.archive.logged-in .entry-footer .posted-on,
+.search.logged-in .entry-footer .posted-on,
+.blog.logged-in .entry-footer .posted-on {
+       margin-right: 10px;
+}
+
+.archive-description {
+       margin-top: 30px;
+       font-size: 2.25rem;
+       line-height: 1.3;
+}
+
+@media only screen and (min-width: 652px) {
+
+       .archive-description {
+               font-size: 2.5rem;
+       }
+}
+
+.error404 main p {
+       font-size: 1.5rem;
+       margin-bottom: 50px;
+}
+
+.search-no-results .page-content {
+       margin-top: 90px;
+}
+
+/**
+ * Comments Wrapper
+ */
+.comments-area > * {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.comments-area > *:first-child {
+       margin-top: 0;
+}
+
+.comments-area > *:last-child {
+       margin-bottom: 0;
+}
+
+.comments-area.show-avatars .avatar {
+       border-radius: 50%;
+       position: absolute;
+       top: 10px;
+}
+
+.comments-area.show-avatars .fn {
+       display: inline-block;
+       padding-left: 85px;
+}
+
+.comments-area.show-avatars .comment-metadata {
+       padding: 8px 0 9px 85px;
+}
+
+/**
+ * Comment Title
+ */
+.comments-title {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+}
+@media only screen and (min-width: 652px) {
+
+       .comments-title {
+               font-size: 3rem;
+       }
+}
+
+.comment-reply-title {
+       font-size: 2.25rem;
+       letter-spacing: normal;
+}
+@media only screen and (min-width: 652px) {
+
+       .comment-reply-title {
+               font-size: 3rem;
+       }
+}
+
+.comment-reply-title {
+       display: flex;
+       justify-content: space-between;
+}
+
+.comment-reply-title small a {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1rem;
+       font-style: normal;
+       font-weight: normal;
+       letter-spacing: normal;
+}
+
+/* Nested comment reply title*/
+.comment .comment-respond .comment-reply-title {
+       font-size: 1.5rem;
+}
+
+/**
+ * Comment Lists
+ */
+.comment-list {
+       padding-left: 0;
+       list-style: none;
+}
+
+.comment-list > li {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.comment-list .children {
+       list-style: none;
+       padding-left: 0;
+}
+
+.comment-list .children > li {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .comment-list .depth-2,
+       .comment-list .depth-3 {
+               padding-left: 100px;
+       }
+}
+
+/**
+ * Comment Meta
+ */
+.comment-meta .comment-author {
+       line-height: 1.3;
+       margin-bottom: 5px;
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-meta .comment-author {
+               margin-bottom: 0;
+               padding-right: 0;
+       }
+}
+
+.comment-meta .comment-author .fn {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-weight: normal;
+       font-size: 1.5rem;
+       hyphens: auto;
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.comment-meta .comment-metadata {
+       color: #28303d;
+       font-size: 1rem;
+       padding: 8px 0 9px 0;
+}
+
+.comment-meta .comment-metadata .edit-link {
+       margin-left: 25px;
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-meta {
+               margin-right: inherit;
+       }
+
+       .comment-meta .comment-author {
+               max-width: inherit;
+       }
+}
+
+.reply {
+       font-size: 1.125rem;
+       line-height: 1.3;
+}
+
+.bypostauthor {
+       display: block;
+}
+
+.says {
+       display: none;
+}
+
+.pingback .url,
+.trackback .url {
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+.comment-body {
+       position: relative;
+       margin-bottom: 51px;
+}
+
+.comment-body > * {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.comment-body .reply {
+       margin: 0;
+}
+
+.comment-content {
+       word-wrap: break-word;
+}
+
+.pingback .comment-body,
+.trackback .comment-body {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.comment-respond {
+       margin-top: 30px;
+}
+
+.comment-respond > * {
+       margin-top: 20px;
+       margin-bottom: 20px;
+}
+
+.comment-respond > *:first-child {
+       margin-top: 0;
+}
+
+.comment-respond > *:last-child {
+       margin-bottom: 0;
+}
+
+.comment-respond > *:last-child.comment-form {
+       margin-bottom: 30px;
+}
+
+.comment-author {
+       padding-top: 3px;
+}
+
+.comment-author .url {
+       color: currentColor;
+}
+
+.comment-form {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+.comment-form > * {
+       flex-basis: 100%;
+}
+
+.comment-form .comment-notes {
+       font-size: 1.125rem;
+}
+
+.comment-form .comment-form-url,
+.comment-form .comment-form-comment {
+       width: 100%;
+}
+
+.comment-form .comment-form-author,
+.comment-form .comment-form-email {
+       flex-basis: 0;
+       flex-grow: 1;
+}
+@media only screen and (max-width: 481px) {
+
+       .comment-form .comment-form-author,
+       .comment-form .comment-form-email {
+               flex-basis: 100%;
+       }
+}
+
+.comment-form .comment-form-cookies-consent > label {
+       font-size: 1rem;
+       font-weight: normal;
+}
+
+.comment-form .comment-notes {
+       font-size: 1rem;
+       font-weight: normal;
+}
+
+.comment-form > p {
+       margin-bottom: 20px;
+}
+
+.comment-form > p:first-of-type {
+       margin-top: 0;
+}
+
+.comment-form > p:last-of-type {
+       margin-bottom: 0;
+}
+
+.comment-form > p label {
+       display: block;
+       font-size: 1.125rem;
+       margin-bottom: 10px;
+       width: 100%;
+       font-weight: 500;
+}
+
+.comment-form > p input[type=email] {
+       display: block;
+       font-size: 1.125rem;
+       margin-bottom: 10px;
+       width: 100%;
+       font-weight: 500;
+}
+
+.comment-form > p input[type=text] {
+       display: block;
+       font-size: 1.125rem;
+       margin-bottom: 10px;
+       width: 100%;
+       font-weight: 500;
+}
+
+.comment-form > p input[type=url] {
+       display: block;
+       font-size: 1.125rem;
+       margin-bottom: 10px;
+       width: 100%;
+       font-weight: 500;
+}
+
+.comment-form > p textarea {
+       display: block;
+       font-size: 1.125rem;
+       margin-bottom: 10px;
+       width: 100%;
+       font-weight: 500;
+}
+
+.comment-form > p.comment-form-cookies-consent {
+       display: flex;
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-form > p.comment-form-author {
+               margin-right: 38px;
+       }
+
+       .comment-form > p.comment-notes,
+       .comment-form > p.logged-in-as {
+               display: block;
+       }
+}
+
+.menu-button-container {
+       display: none;
+       justify-content: space-between;
+       position: absolute;
+       right: 0;
+       padding-top: 15px;
+       padding-bottom: 8px;
+}
+@media only screen and (max-width: 481px) {
+
+       .menu-button-container {
+               display: flex;
+       }
+}
+
+.menu-button-container #primary-mobile-menu {
+       display: flex;
+       margin-left: auto;
+       padding: 10px 15px;
+       font-size: 1rem;
+       font-weight: 500;
+       background-color: transparent;
+       border: none;
+       color: #28303d;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon {
+       display: flex;
+       align-items: center;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon .svg-icon {
+       margin-left: 5px;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon.open .svg-icon {
+       position: relative;
+       top: -1px;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon.close {
+       display: none;
+}
+
+.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.open {
+       display: none;
+}
+
+.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
+       display: flex;
+}
+
+.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
+       animation-name: twentytwentyone-close-button-transition;
+       animation-duration: 0.3s;
+}
+
+.primary-navigation-open .menu-button-container {
+       width: 100%;
+       z-index: 500;
+       background-color: #d1e4dd;
+}
+
+.primary-navigation-open .menu-button-container #primary-mobile-menu {
+       position: static;
+}
+
+.primary-navigation {
+       position: absolute;
+       top: 0;
+       right: 0;
+       color: #28303d;
+       font-size: 1.25rem;
+       line-height: 1.15;
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.primary-navigation > .primary-menu-container {
+       position: fixed;
+       visibility: hidden;
+       opacity: 0;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       padding-top: calc(2rem + 47px);
+       padding-left: 20px;
+       padding-right: 20px;
+       padding-bottom: 25px;
+       background-color: #d1e4dd;
+       transform: translateY(30px);
+}
+@media (prefers-reduced-motion: no-preference) {
+
+       .primary-navigation > .primary-menu-container {
+               transition: all 0.15s ease-in-out;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > .primary-menu-container {
+               height: 100vh;
+               z-index: 499;
+               overflow-x: hidden;
+               overflow-y: auto;
+               border: 2px solid transparent;
+       }
+
+       .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               position: fixed;
+               transform: translateY(0) translateX(100%);
+       }
+
+       .admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               top: 32px;
+       }
+       @media only screen and (max-width: 782px) {
+
+               .admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+                       top: 46px;
+               }
+       }
+
+       .admin-bar .primary-navigation > .primary-menu-container {
+               height: calc(100vh - 32px);
+       }
+       @media only screen and (max-width: 782px) {
+
+               .admin-bar .primary-navigation > .primary-menu-container {
+                       height: calc(100vh - 46px);
+               }
+       }
+
+       .primary-navigation > .primary-menu-container:focus {
+               border: 2px solid #28303d;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation-open .primary-navigation {
+               width: 100%;
+               position: fixed;
+               z-index: 2;
+       }
+}
+
+.primary-navigation-open .primary-navigation > .primary-menu-container {
+       position: absolute;
+       visibility: visible;
+       opacity: 1;
+       transform: translateY(0);
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation-open .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               transform: translateX(0) translateY(0);
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation {
+               position: relative;
+               margin-left: auto;
+       }
+
+       .primary-navigation > .primary-menu-container {
+               visibility: visible;
+               opacity: 1;
+               position: relative;
+               padding: 0;
+               background-color: transparent;
+               overflow: initial;
+               transform: none;
+       }
+
+       .primary-navigation #toggle-menu {
+               display: none;
+       }
+
+       .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
+               display: none;
+       }
+
+       .admin-bar .primary-navigation {
+               top: initial;
+       }
+
+       .admin-bar .primary-navigation > .primary-menu-container {
+               top: initial;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper {
+       display: flex;
+       justify-content: flex-start;
+       flex-wrap: wrap;
+       list-style: none;
+       margin: 0;
+       max-width: none;
+       padding-left: 0;
+       position: relative;
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > div > .menu-wrapper {
+               padding-bottom: 100px;
+       }
+
+       .primary-navigation > div > .menu-wrapper ul {
+               padding-left: 0;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper li {
+       display: block;
+       position: relative;
+       width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation > div > .menu-wrapper li {
+               margin: 0;
+               width: inherit;
+       }
+
+       .primary-navigation > div > .menu-wrapper li:last-child {
+               margin-right: 0;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
+       display: flex;
+       height: calc(27px + 1em);
+       width: 44px;
+       padding: 0;
+       justify-content: center;
+       align-items: center;
+       background: transparent;
+       color: currentColor;
+       border: none;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
+       outline: 2px solid #28303d;
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
+               display: none;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus,
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
+       height: 100%;
+       display: flex;
+       align-items: center;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg,
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
+       margin-top: -1px;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
+       display: none;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-minus {
+       display: flex;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-plus {
+       display: none;
+}
+
+.primary-navigation > div > .menu-wrapper > li > .sub-menu {
+       position: relative;
+}
+@media only screen and (min-width: 482px) and (prefers-reduced-motion: no-preference) {
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu {
+               transition: all 0.5s ease;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu {
+               left: 0;
+               margin: 0;
+               min-width: max-content;
+               position: absolute;
+               top: 100%;
+               padding-top: 3px;
+               z-index: 88888;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:before {
+               content: "";
+               display: block;
+               position: absolute;
+               width: 0;
+               top: -10px;
+               left: 25px;
+               border-style: solid;
+               border-color: #28303d transparent;
+               border-width: 0 7px 10px 7px;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
+               content: "";
+               display: block;
+               position: absolute;
+               width: 0;
+               top: -10px;
+               left: 25px;
+               border-style: solid;
+               border-color: #28303d transparent;
+               border-width: 0 7px 10px 7px;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
+               top: -9px;
+               border-color: #d1e4dd transparent;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+               background: #d1e4dd;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left {
+
+               /* rtl:ignore */
+               left: 0;
+
+               /* rtl:ignore */
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:before {
+
+               /* rtl:ignore */
+               left: 25px;
+
+               /* rtl:ignore */
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:after {
+
+               /* rtl:ignore */
+               left: 25px;
+
+               /* rtl:ignore */
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right {
+
+               /* rtl:ignore */
+               right: 0;
+
+               /* rtl:ignore */
+               left: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:before {
+
+               /* rtl:ignore */
+               left: auto;
+
+               /* rtl:ignore */
+               right: 25px;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:after {
+
+               /* rtl:ignore */
+               left: auto;
+
+               /* rtl:ignore */
+               right: 25px;
+       }
+}
+
+.primary-navigation .primary-menu > .menu-item:hover > a {
+       color: #28303d;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .primary-menu-container {
+               margin-right: -13px;
+               margin-left: -13px;
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item {
+               display: flex;
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item > a {
+               padding-left: 13px;
+               padding-right: 13px;
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
+               margin-left: -8px;
+       }
+}
+
+.primary-navigation a {
+       display: block;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.125rem;
+       font-weight: normal;
+       padding: 13px 0;
+       text-decoration: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation a {
+               display: block;
+               font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+               font-size: 1.25rem;
+               font-weight: normal;
+       }
+}
+
+.primary-navigation a + svg {
+       fill: #28303d;
+}
+
+.primary-navigation a:hover {
+       color: #28303d;
+}
+
+.primary-navigation a:link {
+       color: #28303d;
+}
+
+.primary-navigation a:visited {
+       color: #28303d;
+}
+
+.primary-navigation a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.primary-navigation a:focus {
+       position: relative;
+       z-index: 99999;
+       outline-offset: 0;
+       text-decoration-thickness: 2px;
+}
+
+.primary-navigation .current-menu-item > a:first-child,
+.primary-navigation .current_page_item > a:first-child {
+       text-decoration: underline;
+       text-decoration-style: solid;
+}
+
+.primary-navigation .current-menu-item > a:first-child:hover,
+.primary-navigation .current_page_item > a:first-child:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.primary-navigation .sub-menu {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+       margin-left: 13px;
+       border: 1px solid #28303d;
+}
+
+.primary-navigation .sub-menu .sub-menu {
+       border: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .sub-menu > .menu-item > .sub-menu {
+               padding: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation .sub-menu .menu-item:last-child {
+               margin-bottom: 0;
+       }
+}
+
+.primary-navigation .sub-menu .menu-item > a {
+       padding: 17px 13px;
+       display: block;
+       font-size: 1.125rem;
+       font-style: normal;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .sub-menu .menu-item > a {
+               font-size: 1rem;
+               font-style: normal;
+       }
+}
+
+.primary-navigation .menu-item-has-children > .svg-icon {
+       display: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .menu-item-has-children > .svg-icon {
+               display: inline-block;
+               height: 100%;
+       }
+
+       .primary-navigation .menu-item-has-children .sub-menu .svg-icon {
+               display: none;
+       }
+}
+
+.primary-navigation .menu-item-description {
+       display: block;
+       clear: both;
+       font-size: 1rem;
+       text-transform: none;
+       line-height: 1.7;
+}
+
+.primary-navigation .menu-item-description > span {
+       display: inline-block;
+}
+
+@media only screen and (max-width: 481px) {
+
+       .lock-scrolling .site {
+               position: fixed;
+               max-width: 100%;
+               width: 100%;
+       }
+}
+@keyframes twentytwentyone-close-button-transition {
+
+       from {
+               opacity: 0;
+       }
+
+       to {
+               opacity: 1;
+       }
+}
+
+.footer-navigation {
+       margin-top: 60px;
+       margin-bottom: 30px;
+       color: #28303d;
+       font-size: 1rem;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+
+.footer-navigation-wrapper {
+       display: flex;
+       justify-content: center;
+       flex-wrap: wrap;
+       list-style: none;
+       padding-left: 0;
+}
+
+.footer-navigation-wrapper li {
+       display: inline;
+       line-height: 3;
+}
+
+.footer-navigation-wrapper li a {
+       padding: 17px 13px;
+       color: #28303d;
+}
+
+.footer-navigation-wrapper li a:link {
+       color: #28303d;
+}
+
+.footer-navigation-wrapper li a:visited {
+       color: #28303d;
+}
+
+.footer-navigation-wrapper li a:active {
+       color: #28303d;
+}
+
+.footer-navigation-wrapper li a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+       color: #28303d;
+}
+
+.is-dark-theme .footer-navigation-wrapper li a:focus .svg-icon {
+       fill: #d1e4dd;
+}
+
+.has-background-white .footer-navigation-wrapper li a:focus .svg-icon {
+       fill: #fff;
+}
+
+.footer-navigation-wrapper li .svg-icon {
+       vertical-align: middle;
+       fill: #28303d;
+}
+
+.footer-navigation-wrapper li .svg-icon:hover {
+       transform: scale(1.1);
+}
+@media (prefers-reduced-motion: no-preference) {
+
+       .footer-navigation-wrapper li .svg-icon {
+               transition: transform 0.1s ease;
+       }
+}
+
+.footer-navigation-wrapper .sub-menu-toggle,
+.footer-navigation-wrapper .menu-item-description {
+       display: none;
+}
+
+/* Next/Previous navigation */
+.navigation,
+.navigation a {
+       color: #28303d;
+}
+
+.navigation a {
+       text-decoration: none;
+}
+
+.navigation a:hover {
+       color: #28303d;
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.navigation a:focus {
+       color: #39414d;
+}
+
+.navigation a:active {
+       color: #28303d;
+}
+
+.navigation .nav-links > * {
+       min-width: 44px;
+       min-height: 44px;
+}
+
+.navigation .nav-links .nav-next a,
+.navigation .nav-links .nav-previous a {
+       display: flex;
+       flex-direction: column;
+}
+
+.navigation .nav-links .dots {
+       text-align: center;
+}
+@media only screen and (min-width: 592px) {
+
+       .navigation .nav-links {
+               display: flex;
+               justify-content: center;
+               flex-wrap: wrap;
+       }
+
+       .navigation .nav-links .nav-next,
+       .navigation .nav-links .nav-previous {
+               flex: 0 1 auto;
+               margin-bottom: inherit;
+               margin-top: inherit;
+               max-width: calc(50% - 10px);
+       }
+
+       .navigation .nav-links .nav-next {
+               text-align: right;
+       }
+}
+
+.navigation .svg-icon {
+       display: inline-block;
+       fill: currentColor;
+       vertical-align: middle;
+       position: relative;
+}
+
+.navigation .nav-previous .svg-icon,
+.navigation .prev .svg-icon {
+       top: -2px;
+       margin-right: 5px;
+}
+
+.navigation .nav-next .svg-icon,
+.navigation .next .svg-icon {
+       top: -1px;
+       margin-left: 5px;
+}
+
+.post-navigation {
+       margin: 30px auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .post-navigation {
+               margin: 30px auto;
+       }
+}
+
+.post-navigation .meta-nav {
+       line-height: 1.7;
+       color: #28303d;
+}
+
+.post-navigation .post-title {
+       display: inline-block;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.5rem;
+       font-weight: 600;
+       line-height: 1.3;
+}
+@media only screen and (min-width: 822px) {
+
+       .post-navigation .post-title {
+               margin: 5px 29px 0;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .post-navigation .nav-links {
+               justify-content: space-between;
+       }
+}
+
+.post-navigation .nav-next,
+.post-navigation .nav-previous {
+       margin-top: 30px;
+       margin-bottom: 30px;
+}
+
+.post-navigation .nav-next:first-child,
+.post-navigation .nav-previous:first-child {
+       margin-top: 0;
+}
+
+.post-navigation .nav-next:last-child,
+.post-navigation .nav-previous:last-child {
+       margin-bottom: 0;
+}
+
+.pagination,
+.comments-pagination {
+       border-top: 3px solid #28303d;
+       padding-top: 30px;
+       margin: 30px auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .pagination,
+       .comments-pagination {
+               margin: 30px auto;
+       }
+}
+
+.pagination .nav-links,
+.comments-pagination .nav-links {
+       margin-top: -30px;
+}
+
+.pagination .nav-links a:hover {
+       color: #28303d;
+}
+
+.comments-pagination .nav-links a:hover {
+       color: #28303d;
+}
+
+.is-dark-theme .pagination .nav-links a:active {
+       color: #d1e4dd;
+}
+
+.is-dark-theme .pagination .nav-links a:hover:active {
+       color: #d1e4dd;
+}
+
+.is-dark-theme .pagination .nav-links a:hover:focus {
+       color: #d1e4dd;
+}
+
+.is-dark-theme .comments-pagination .nav-links a:active {
+       color: #d1e4dd;
+}
+
+.is-dark-theme .comments-pagination .nav-links a:hover:active {
+       color: #d1e4dd;
+}
+
+.is-dark-theme .comments-pagination .nav-links a:hover:focus {
+       color: #d1e4dd;
+}
+
+.has-background-white .pagination .nav-links a:active {
+       color: #fff;
+}
+
+.has-background-white .pagination .nav-links a:hover:active {
+       color: #fff;
+}
+
+.has-background-white .pagination .nav-links a:hover:focus {
+       color: #fff;
+}
+
+.has-background-white .comments-pagination .nav-links a:active {
+       color: #fff;
+}
+
+.has-background-white .comments-pagination .nav-links a:hover:active {
+       color: #fff;
+}
+
+.has-background-white .comments-pagination .nav-links a:hover:focus {
+       color: #fff;
+}
+
+.pagination .nav-links > * {
+       color: #28303d;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.5rem;
+       font-weight: normal;
+       margin-top: 30px;
+       margin-left: 13px;
+       margin-right: 13px;
+}
+
+.comments-pagination .nav-links > * {
+       color: #28303d;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+       font-size: 1.5rem;
+       font-weight: normal;
+       margin-top: 30px;
+       margin-left: 13px;
+       margin-right: 13px;
+}
+
+.pagination .nav-links > *.current,
+.comments-pagination .nav-links > *.current {
+       text-decoration: underline;
+}
+
+.pagination .nav-links > *:not(.dots):not(.current):hover,
+.comments-pagination .nav-links > *:not(.dots):not(.current):hover {
+       text-decoration-style: dotted;
+}
+
+.pagination .nav-links > *:first-child,
+.comments-pagination .nav-links > *:first-child {
+       margin-left: 0;
+}
+
+.pagination .nav-links > *:last-child,
+.comments-pagination .nav-links > *:last-child {
+       margin-right: 0;
+}
+
+.pagination .nav-links > *.next,
+.comments-pagination .nav-links > *.next {
+       margin-left: auto;
+}
+
+.pagination .nav-links > *.prev,
+.comments-pagination .nav-links > *.prev {
+       margin-right: auto;
+}
+@media only screen and (max-width: 821px) {
+
+       .pagination .nav-links,
+       .comments-pagination .nav-links {
+               display: flex;
+               flex-wrap: wrap;
+       }
+
+       .pagination .page-numbers,
+       .comments-pagination .page-numbers {
+               display: none;
+       }
+
+       .pagination .page-numbers.prev,
+       .pagination .page-numbers.next,
+       .comments-pagination .page-numbers.prev,
+       .comments-pagination .page-numbers.next {
+               display: inline-block;
+               flex: 0 1 auto;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .pagination .nav-short,
+       .comments-pagination .nav-short {
+               display: none;
+       }
+}
+
+.comments-pagination {
+       padding-top: 20px;
+       margin: 90px auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .comments-pagination {
+               margin: 90px auto 120px auto;
+       }
+}
+
+.comments-pagination .nav-links > * {
+       font-size: 1.25rem;
+}
+
+.widget-area {
+       margin-top: 180px;
+       padding-bottom: 10px;
+       color: #28303d;
+       font-size: 1.125rem;
+       font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+}
+@media only screen and (min-width: 652px) {
+
+       .widget-area {
+               display: grid;
+               grid-template-columns: repeat(2, 1fr);
+               column-gap: 50px;
+       }
+}
+@media only screen and (min-width: 1024px) {
+
+       .widget-area {
+               grid-template-columns: repeat(3, 1fr);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .widget-area {
+               margin-top: 90px;
+       }
+}
+
+.widget-area .wp-block-social-links.alignright {
+       margin-top: 30px;
+       justify-content: flex-end;
+}
+
+.widget-area .wp-block-social-links.alignleft {
+       margin-top: 30px;
+}
+
+.widget-area:after {
+       content: "";
+       display: table;
+       clear: both;
+}
+
+.widget h1,
+.widget h2,
+.widget h3,
+.widget h4,
+.widget h5,
+.widget h6 {
+       font-weight: 700;
+       line-height: 1.4;
+}
+
+.widget h1 {
+       font-size: 1.25rem;
+}
+
+.widget h2 {
+       font-size: 1.125rem;
+}
+
+.widget h3,
+.widget h4,
+.widget h5,
+.widget h6 {
+       font-size: 1rem;
+}
+
+.widget ul {
+       list-style-type: none;
+       padding: 0;
+}
+
+.widget ul li {
+       line-height: 1.9;
+}
+
+.widget ul.sub-menu,
+.widget ul.children {
+       margin-left: 13px;
+}
+
+.widget ul .sub-menu-toggle {
+       display: none;
+}
+
+.widget a {
+       color: #28303d;
+       text-decoration: underline;
+       text-decoration-style: solid;
+       text-decoration-color: currentColor;
+}
+
+.widget a:link {
+       color: #28303d;
+}
+
+.widget a:visited {
+       color: #28303d;
+}
+
+.widget a:active {
+       color: #28303d;
+}
+
+.widget a:hover {
+       color: #28303d;
+       text-decoration-style: dotted;
+}
+
+.search-form {
+       display: flex;
+       flex-wrap: wrap;
+       margin: auto;
+       max-width: calc(100vw - 30px);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .search-form {
+               max-width: min(calc(100vw - 100px), 610px);
+       }
+}
+
+@media only screen and (min-width: 822px) {
+
+       .search-form {
+               max-width: min(calc(100vw - 200px), 610px);
+       }
+}
+
+.search-form > label {
+       width: 100%;
+       margin-bottom: 0;
+       font-weight: 500;
+}
+
+.search-form .search-field {
+       flex-grow: 1;
+       max-width: inherit;
+       margin-top: 10px;
+       margin-right: 17px;
+}
+
+.search-form .search-submit {
+       margin-top: 10px;
+       margin-left: 10px;
+}
+
+.widget_search > .search-form .search-field {
+       margin-right: -3px;
+       -webkit-appearance: none;
+       margin-bottom: 15px;
+}
+
+.widget_search > .search-form .search-submit {
+       margin-left: 0;
+       margin-bottom: 15px;
+}
+
+.widget_rss a.rsswidget .rss-widget-icon {
+       display: none;
+}
+
+/* Category 07 is for any utility classes that are not assigned to a specific component. */
+.screen-reader-text {
+       border: 0;
+       clip: rect(1px, 1px, 1px, 1px);
+       -webkit-clip-path: inset(50%);
+       clip-path: inset(50%);
+       height: 1px;
+       margin: -1px;
+       overflow: hidden;
+       padding: 0;
+       position: absolute !important;
+       width: 1px;
+       word-wrap: normal !important;
+       word-break: normal;
+}
+
+.skip-link:focus {
+       background-color: #f1f1f1;
+       border-radius: 3px;
+       box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
+       clip: auto !important;
+       -webkit-clip-path: none;
+       clip-path: none;
+       color: #21759b;
+       display: block;
+       font-size: 0.875rem;
+       font-weight: 700;
+       height: auto;
+       left: 5px;
+       line-height: normal;
+       padding: 15px 23px 14px;
+       text-decoration: none;
+       top: 5px;
+       width: auto;
+       z-index: 100000;
+}
+
+/* Do not show the outline on the skip link target. */
+#content[tabindex="-1"]:focus {
+       outline: 0;
+}
+
+.has-black-color[class] {
+       color: #000;
+}
+
+.has-black-color[class] > [class*=__inner-container] {
+       color: #000;
+}
+
+.has-gray-color[class] {
+       color: #39414d;
+}
+
+.has-gray-color[class] > [class*=__inner-container] {
+       color: #39414d;
+}
+
+.has-dark-gray-color[class] {
+       color: #28303d;
+}
+
+.has-dark-gray-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-green-color[class] {
+       color: #d1e4dd;
+}
+
+.has-green-color[class] > [class*=__inner-container] {
+       color: #d1e4dd;
+}
+
+.has-blue-color[class] {
+       color: #d1dfe4;
+}
+
+.has-blue-color[class] > [class*=__inner-container] {
+       color: #d1dfe4;
+}
+
+.has-purple-color[class] {
+       color: #d1d1e4;
+}
+
+.has-purple-color[class] > [class*=__inner-container] {
+       color: #d1d1e4;
+}
+
+.has-red-color[class] {
+       color: #e4d1d1;
+}
+
+.has-red-color[class] > [class*=__inner-container] {
+       color: #e4d1d1;
+}
+
+.has-orange-color[class] {
+       color: #e4dad1;
+}
+
+.has-orange-color[class] > [class*=__inner-container] {
+       color: #e4dad1;
+}
+
+.has-yellow-color[class] {
+       color: #eeeadd;
+}
+
+.has-yellow-color[class] > [class*=__inner-container] {
+       color: #eeeadd;
+}
+
+.has-white-color[class] {
+       color: #fff;
+}
+
+.has-white-color[class] > [class*=__inner-container] {
+       color: #fff;
+}
+
+.has-background a,
+.has-background p,
+.has-background h1,
+.has-background h2,
+.has-background h3,
+.has-background h4,
+.has-background h5,
+.has-background h6 {
+       color: currentColor;
+}
+
+.has-black-background-color[class] {
+       background-color: #000;
+}
+
+.has-black-background-color[class] > [class*=__inner-container] {
+       background-color: #000;
+}
+
+.has-dark-gray-background-color[class] {
+       background-color: #28303d;
+}
+
+.has-dark-gray-background-color[class] > [class*=__inner-container] {
+       background-color: #28303d;
+}
+
+.has-gray-background-color[class] {
+       background-color: #39414d;
+}
+
+.has-gray-background-color[class] > [class*=__inner-container] {
+       background-color: #39414d;
+}
+
+.has-light-gray-background-color[class] {
+       background-color: #f0f0f0;
+}
+
+.has-light-gray-background-color[class] > [class*=__inner-container] {
+       background-color: #f0f0f0;
+}
+
+.has-green-background-color[class] {
+       background-color: #d1e4dd;
+}
+
+.has-green-background-color[class] > [class*=__inner-container] {
+       background-color: #d1e4dd;
+}
+
+.has-blue-background-color[class] {
+       background-color: #d1dfe4;
+}
+
+.has-blue-background-color[class] > [class*=__inner-container] {
+       background-color: #d1dfe4;
+}
+
+.has-purple-background-color[class] {
+       background-color: #d1d1e4;
+}
+
+.has-purple-background-color[class] > [class*=__inner-container] {
+       background-color: #d1d1e4;
+}
+
+.has-red-background-color[class] {
+       background-color: #e4d1d1;
+}
+
+.has-red-background-color[class] > [class*=__inner-container] {
+       background-color: #e4d1d1;
+}
+
+.has-orange-background-color[class] {
+       background-color: #e4dad1;
+}
+
+.has-orange-background-color[class] > [class*=__inner-container] {
+       background-color: #e4dad1;
+}
+
+.has-yellow-background-color[class] {
+       background-color: #eeeadd;
+}
+
+.has-yellow-background-color[class] > [class*=__inner-container] {
+       background-color: #eeeadd;
+}
+
+.has-white-background-color[class] {
+       background-color: #fff;
+}
+
+.has-white-background-color[class] > [class*=__inner-container] {
+       background-color: #fff;
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] {
+       color: #fff;
+}
+
+.has-background:not(.has-text-color).has-gray-background-color[class] {
+       color: #fff;
+}
+
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] {
+       color: #fff;
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-blue-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-purple-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-red-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-orange-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-yellow-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-white-background-color[class] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       color: #28303d;
+}
+
+.has-purple-to-yellow-gradient-background {
+       background: linear-gradient(160deg, #d1d1e4, #eeeadd);
+}
+
+.has-yellow-to-purple-gradient-background {
+       background: linear-gradient(160deg, #eeeadd, #d1d1e4);
+}
+
+.has-green-to-yellow-gradient-background {
+       background: linear-gradient(160deg, #d1e4dd, #eeeadd);
+}
+
+.has-yellow-to-green-gradient-background {
+       background: linear-gradient(160deg, #eeeadd, #d1e4dd);
+}
+
+.has-red-to-yellow-gradient-background {
+       background: linear-gradient(160deg, #e4d1d1, #eeeadd);
+}
+
+.has-yellow-to-red-gradient-background {
+       background: linear-gradient(160deg, #eeeadd, #e4d1d1);
+}
+
+.has-purple-to-red-gradient-background {
+       background: linear-gradient(160deg, #d1d1e4, #e4d1d1);
+}
+
+.has-red-to-purple-gradient-background {
+       background: linear-gradient(160deg, #e4d1d1, #d1d1e4);
+}
+
+header *,
+main *,
+footer * {
+       max-width: unset;
+}
+
+html,
+body,
+div,
+header,
+nav,
+article,
+figure,
+hr,
+main,
+section,
+footer {
+       max-width: none;
+}
+
+.is-IE.is-dark-theme {
+       color: #fff;
+}
+
+.is-IE.is-dark-theme *,
+.is-IE.is-dark-theme a,
+.is-IE.is-dark-theme .site-description,
+.is-IE.is-dark-theme .entry-title,
+.is-IE.is-dark-theme .entry-footer,
+.is-IE.is-dark-theme .widget-area,
+.is-IE.is-dark-theme .post-navigation .meta-nav,
+.is-IE.is-dark-theme .footer-navigation-wrapper li a:link,
+.is-IE.is-dark-theme .site-footer > .site-info,
+.is-IE.is-dark-theme .site-footer > .site-info a,
+.is-IE.is-dark-theme .site-footer > .site-info a:visited {
+       color: #fff;
+}
+
+.is-IE.is-dark-theme .sub-menu-toggle svg,
+.is-IE.is-dark-theme .sub-menu-toggle path,
+.is-IE.is-dark-theme .post-navigation .meta-nav svg,
+.is-IE.is-dark-theme .post-navigation .meta-nav path {
+       fill: #fff;
+}
+
+.is-IE.is-dark-theme .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+       background: #000;
+}
+@media only screen and (max-width: 481px) {
+
+       .is-IE.is-dark-theme.primary-navigation-open .primary-navigation > .primary-menu-container,
+       .is-IE.is-dark-theme.primary-navigation-open .menu-button-container {
+               background-color: #000;
+       }
+}
+
+.is-IE.is-dark-theme .skip-link:focus {
+       color: #21759b;
+}
+
+.is-IE .navigation .nav-links {
+       display: block;
+}
+
+.is-IE .post-thumbnail .wp-post-image {
+       min-width: auto;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/css/print.css b/wp-content/themes/twentytwentyone/assets/css/print.css
new file mode 100644 (file)
index 0000000..07fc5c4
--- /dev/null
@@ -0,0 +1,178 @@
+/*
+Adding print support. The print styles are based on the the great work of
+Andreas Hecht in https://www.jotform.com/blog/css-perfect-print-stylesheet-98272/.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+# Margins & paddings
+# Typography
+# Page breaks
+# Links
+# Visibility
+--------------------------------------------------------------*/
+@media print {
+
+       /* Margins & paddings */
+       @page {
+               margin: 2cm;
+       }
+
+       .entry .entry-header,
+       .entry,
+       .single .site-main > article > .entry-footer {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       .site-footer .site-info {
+               margin: 0;
+       }
+
+       .site-header {
+               padding: 0;
+       }
+
+       /* Fonts */
+       body {
+               font: 13pt Georgia, "Times New Roman", Times, serif;
+               font: 13pt var(--global--font-secondary, Georgia, "Times New Roman", Times, serif);
+               line-height: 1.3;
+               background: #fff !important;
+               color: #000;
+       }
+
+       .has-background-dark * {
+               color: #000 !important;
+       }
+
+       h1,
+       .entry-title,
+       .singular .entry-title,
+       .page-title {
+               font-size: 22pt;
+               font-weight: bold;
+       }
+
+       h2,
+       h3,
+       h4,
+       .has-regular-font-size,
+       .has-large-font-size,
+       h2.author-title,
+       p.author-bio,
+       .comments-title,
+       .archive-description {
+               font-size: 14pt;
+               margin-top: 25px;
+       }
+
+       .comment-meta,
+       .comment-meta .comment-author .fn {
+               font-size: 13pt;
+       }
+
+       /* Page breaks */
+       a {
+               page-break-inside: avoid;
+       }
+
+       blockquote {
+               page-break-inside: avoid;
+       }
+
+       h1,
+       h2,
+       h3,
+       h4,
+       h5,
+       h6 {
+               page-break-after: avoid;
+               page-break-inside: avoid;
+       }
+
+       img {
+               page-break-inside: avoid;
+               page-break-after: avoid;
+       }
+
+       table,
+       pre,
+       figure {
+               page-break-inside: avoid;
+       }
+
+       ul,
+       ol,
+       dl {
+               page-break-before: avoid;
+       }
+
+       /* Links */
+       a:link,
+       a:visited,
+       a {
+               background: transparent;
+               font-weight: bold;
+               text-decoration: underline;
+               text-align: left;
+       }
+
+       a[href^=http]:after {
+               content: " < " attr(href) "> ";
+       }
+
+       a:after > img {
+               content: "";
+       }
+
+       article a[href^="#"]:after {
+               content: "";
+       }
+
+       a:not(:local-link):after {
+               content: " < " attr(href) "> ";
+       }
+
+       .entry-title a:after {
+               content: "\a< " attr(href) "> ";
+               white-space: pre;
+               font-size: 14pt;
+       }
+
+       .cat-links a:after,
+       .tags-links a:after,
+       .byline a:after,
+       .comment-metadata a:after,
+       .wp-block-calendar a:after,
+       .wp-block-tag-cloud a:after,
+       .page-links a:after {
+               content: "";
+       }
+
+       /* Visibility */
+       .primary-navigation,
+       .site-title + .primary-navigation,
+       .footer-navigation,
+       .entry-footer,
+       .post-navigation,
+       .navigation.pagination,
+       .widget-area,
+       .edit-link,
+       .more-link,
+       .comment-reply,
+       .reply,
+       .comment .comment-metadata .edit-link,
+       .comment-respond,
+       #dark-mode-toggler {
+               display: none !important;
+       }
+
+       .entry .entry-content .wp-block-button .wp-block-button__link,
+       .entry .entry-content .button,
+       .entry .entry-content .wp-block-file__button {
+               color: #000;
+               background: none;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/css/style-dark-mode-rtl.css b/wp-content/themes/twentytwentyone/assets/css/style-dark-mode-rtl.css
new file mode 100644 (file)
index 0000000..8f24f06
--- /dev/null
@@ -0,0 +1,113 @@
+/* OS dark theme preference */
+@media only screen {
+
+       .is-dark-theme.is-dark-theme {
+               --global--color-background: var(--global--color-dark-gray);
+               --global--color-primary: var(--global--color-light-gray);
+               --global--color-secondary: var(--global--color-light-gray);
+               --button--color-text: var(--global--color-background);
+               --button--color-text-hover: var(--global--color-secondary);
+               --button--color-text-active: var(--global--color-secondary);
+               --button--color-background: var(--global--color-secondary);
+               --button--color-background-active: var(--global--color-background);
+               --global--color-border: #9ea1a7;
+
+               /* Block: Table */
+               --table--stripes-border-color: rgba(240, 240, 240, 0.15);
+               --table--stripes-background-color: rgba(240, 240, 240, 0.15);
+       }
+
+       .is-dark-theme img {
+               filter: brightness(0.85) contrast(1.1);
+       }
+
+       .respect-color-scheme-preference.is-dark-theme body {
+               background-color: var(--global--color-background);
+       }
+
+       #dark-mode-toggler {
+               cursor: pointer;
+               display: flex;
+               align-items: center;
+               justify-content: center;
+               font-size: var(--global--font-size-xs);
+               padding: 0.5em;
+               min-height: 44px;
+               min-width: max-content;
+               border: 2px solid currentColor;
+               box-shadow: none;
+               background: var(--button--color-text);
+               color: var(--button--color-background);
+               z-index: 9998;
+       }
+
+       .no-js #dark-mode-toggler {
+               display: none;
+       }
+
+       #dark-mode-toggler.fixed-bottom {
+               position: fixed;
+               bottom: 5px;
+               left: 5px;
+       }
+
+       #dark-mode-toggler.fixed-bottom.hide:not(:focus) {
+               bottom: -80px;
+       }
+
+       #dark-mode-toggler.relative {
+               position: absolute;
+               height: 44px;
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px);
+               left: calc(50vw - var(--responsive--alignwide-width) / 2 - 0.5em);
+       }
+
+       .admin-bar #dark-mode-toggler.relative {
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 32px);
+       }
+}
+@media only screen and (max-width: 782px) {
+
+       .admin-bar #dark-mode-toggler.relative {
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 46px);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .admin-bar #dark-mode-toggler.relative {
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 26px);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       body:not(.primary-navigation-open) #dark-mode-toggler.relative ~ nav {
+               top: 88px;
+       }
+}
+@media only screen {
+
+       .primary-navigation-open #dark-mode-toggler {
+               display: none;
+       }
+}
+@media only screen {
+
+       #dark-mode-toggler:hover,
+       #dark-mode-toggler:focus {
+               color: var(--button--color-background-active);
+               border: 2px solid var(--button--color-text-active);
+               background-color: var(--button--color-text-active);
+       }
+}
+@media only screen {
+
+       .is-IE #dark-mode-toggler {
+               display: none;
+       }
+}
+@media only screen and (prefers-reduced-motion: no-preference) {
+
+       #dark-mode-toggler.fixed-bottom {
+               transition: bottom 0.5s;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/css/style-dark-mode.css b/wp-content/themes/twentytwentyone/assets/css/style-dark-mode.css
new file mode 100644 (file)
index 0000000..2cf1d4e
--- /dev/null
@@ -0,0 +1,113 @@
+/* OS dark theme preference */
+@media only screen {
+
+       .is-dark-theme.is-dark-theme {
+               --global--color-background: var(--global--color-dark-gray);
+               --global--color-primary: var(--global--color-light-gray);
+               --global--color-secondary: var(--global--color-light-gray);
+               --button--color-text: var(--global--color-background);
+               --button--color-text-hover: var(--global--color-secondary);
+               --button--color-text-active: var(--global--color-secondary);
+               --button--color-background: var(--global--color-secondary);
+               --button--color-background-active: var(--global--color-background);
+               --global--color-border: #9ea1a7;
+
+               /* Block: Table */
+               --table--stripes-border-color: rgba(240, 240, 240, 0.15);
+               --table--stripes-background-color: rgba(240, 240, 240, 0.15);
+       }
+
+       .is-dark-theme img {
+               filter: brightness(0.85) contrast(1.1);
+       }
+
+       .respect-color-scheme-preference.is-dark-theme body {
+               background-color: var(--global--color-background);
+       }
+
+       #dark-mode-toggler {
+               cursor: pointer;
+               display: flex;
+               align-items: center;
+               justify-content: center;
+               font-size: var(--global--font-size-xs);
+               padding: 0.5em;
+               min-height: 44px;
+               min-width: max-content;
+               border: 2px solid currentColor;
+               box-shadow: none;
+               background: var(--button--color-text);
+               color: var(--button--color-background);
+               z-index: 9998;
+       }
+
+       .no-js #dark-mode-toggler {
+               display: none;
+       }
+
+       #dark-mode-toggler.fixed-bottom {
+               position: fixed;
+               bottom: 5px;
+               right: 5px;
+       }
+
+       #dark-mode-toggler.fixed-bottom.hide:not(:focus) {
+               bottom: -80px;
+       }
+
+       #dark-mode-toggler.relative {
+               position: absolute;
+               height: 44px;
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px);
+               right: calc(50vw - var(--responsive--alignwide-width) / 2 - 0.5em);
+       }
+
+       .admin-bar #dark-mode-toggler.relative {
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 32px);
+       }
+}
+@media only screen and (max-width: 782px) {
+
+       .admin-bar #dark-mode-toggler.relative {
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 46px);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .admin-bar #dark-mode-toggler.relative {
+               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 26px);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       body:not(.primary-navigation-open) #dark-mode-toggler.relative ~ nav {
+               top: 88px;
+       }
+}
+@media only screen {
+
+       .primary-navigation-open #dark-mode-toggler {
+               display: none;
+       }
+}
+@media only screen {
+
+       #dark-mode-toggler:hover,
+       #dark-mode-toggler:focus {
+               color: var(--button--color-background-active);
+               border: 2px solid var(--button--color-text-active);
+               background-color: var(--button--color-text-active);
+       }
+}
+@media only screen {
+
+       .is-IE #dark-mode-toggler {
+               display: none;
+       }
+}
+@media only screen and (prefers-reduced-motion: no-preference) {
+
+       #dark-mode-toggler.fixed-bottom {
+               transition: bottom 0.5s;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/css/style-editor-customizer.css b/wp-content/themes/twentytwentyone/assets/css/style-editor-customizer.css
new file mode 100644 (file)
index 0000000..4166745
--- /dev/null
@@ -0,0 +1,3 @@
+/**
+ * These styles are generated by the Customizer and only loaded when a custom color scheme is active.
+ */
diff --git a/wp-content/themes/twentytwentyone/assets/css/style-editor.css b/wp-content/themes/twentytwentyone/assets/css/style-editor.css
new file mode 100644 (file)
index 0000000..ccd7195
--- /dev/null
@@ -0,0 +1,2595 @@
+@charset "UTF-8";
+
+/**
+ * These styles should be loaded by the Block Editor only
+ */
+
+/* Variables */
+:root {
+
+       /* Font Family */
+       --global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+       --global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+
+       /* Font Size */
+       --global--font-size-base: 1.25rem;
+       --global--font-size-xs: 1rem;
+       --global--font-size-sm: 1.125rem;
+       --global--font-size-md: 1.25rem;
+       --global--font-size-lg: 1.5rem;
+       --global--font-size-xl: 2.25rem;
+       --global--font-size-xxl: 4rem;
+       --global--font-size-xxxl: 5rem;
+       --global--font-size-page-title: var(--global--font-size-xxl);
+       --global--letter-spacing: normal;
+
+       /* Line Height */
+       --global--line-height-body: 1.7;
+       --global--line-height-heading: 1.3;
+       --global--line-height-page-title: 1.1;
+
+       /* Headings */
+       --heading--font-family: var(--global--font-primary);
+       --heading--font-size-h6: var(--global--font-size-xs);
+       --heading--font-size-h5: var(--global--font-size-sm);
+       --heading--font-size-h4: var(--global--font-size-lg);
+       --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
+       --heading--font-size-h2: var(--global--font-size-xl);
+       --heading--font-size-h1: var(--global--font-size-page-title);
+       --heading--letter-spacing-h6: 0.05em;
+       --heading--letter-spacing-h5: 0.05em;
+       --heading--letter-spacing-h4: var(--global--letter-spacing);
+       --heading--letter-spacing-h3: var(--global--letter-spacing);
+       --heading--letter-spacing-h2: var(--global--letter-spacing);
+       --heading--letter-spacing-h1: var(--global--letter-spacing);
+       --heading--line-height-h6: var(--global--line-height-heading);
+       --heading--line-height-h5: var(--global--line-height-heading);
+       --heading--line-height-h4: var(--global--line-height-heading);
+       --heading--line-height-h3: var(--global--line-height-heading);
+       --heading--line-height-h2: var(--global--line-height-heading);
+       --heading--line-height-h1: var(--global--line-height-page-title);
+       --heading--font-weight: normal;
+       --heading--font-weight-page-title: 300;
+       --heading--font-weight-strong: 600;
+
+       /* Block: Latest posts */
+       --latest-posts--title-font-family: var(--heading--font-family);
+       --latest-posts--title-font-size: var(--heading--font-size-h3);
+       --latest-posts--description-font-family: var(--global--font-secondary);
+       --latest-posts--description-font-size: var(--global--font-size-sm);
+       --list--font-family: var(--global--font-secondary);
+       --definition-term--font-family: var(--global--font-primary);
+
+       /* Colors */
+       --global--color-black: #000;
+       --global--color-dark-gray: #28303d;
+       --global--color-gray: #39414d;
+       --global--color-light-gray: #f0f0f0;
+       --global--color-green: #d1e4dd;
+       --global--color-blue: #d1dfe4;
+       --global--color-purple: #d1d1e4;
+       --global--color-red: #e4d1d1;
+       --global--color-orange: #e4dad1;
+       --global--color-yellow: #eeeadd;
+       --global--color-white: #fff;
+       --global--color-white-50: rgba(255, 255, 255, 0.5);
+       --global--color-white-90: rgba(255, 255, 255, 0.9);
+       --global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */
+       --global--color-secondary: var(--global--color-gray); /* Headings */
+       --global--color-primary-hover: var(--global--color-primary);
+       --global--color-background: var(--global--color-green); /* Mint, default body background */
+       --global--color-border: var(--global--color-primary); /* Used for borders (separators) */
+
+       /* Spacing */
+       --global--spacing-unit: 20px;
+       --global--spacing-measure: unset;
+       --global--spacing-horizontal: 25px;
+       --global--spacing-vertical: 30px;
+
+       /* Elevation */
+       --global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);
+
+       /* Forms */
+       --form--font-family: var(--global--font-secondary);
+       --form--font-size: var(--global--font-size-sm);
+       --form--line-height: var(--global--line-height-body);
+       --form--color-text: var(--global--color-dark-gray);
+       --form--color-ranged: var(--global--color-secondary);
+       --form--label-weight: 500;
+       --form--border-color: var(--global--color-secondary);
+       --form--border-width: 3px;
+       --form--border-radius: 0;
+       --form--spacing-unit: calc(0.5 * var(--global--spacing-unit));
+
+       /* Cover block */
+       --cover--height: calc(15 * var(--global--spacing-vertical));
+       --cover--color-foreground: var(--global--color-white);
+       --cover--color-background: var(--global--color-black);
+
+       /* Buttons */
+       --button--color-text: var(--global--color-background);
+       --button--color-text-hover: var(--global--color-secondary);
+       --button--color-text-active: var(--global--color-secondary);
+       --button--color-background: var(--global--color-secondary);
+       --button--color-background-active: var(--global--color-background);
+       --button--font-family: var(--global--font-primary);
+       --button--font-size: var(--global--font-size-base);
+       --button--font-weight: 500;
+       --button--line-height: 1.5;
+       --button--border-width: 3px;
+       --button--border-radius: 0;
+       --button--padding-vertical: 15px;
+       --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
+
+       /* entry */
+       --entry-header--color: var(--global--color-primary);
+       --entry-header--color-link: currentColor;
+       --entry-header--color-hover: var(--global--color-primary-hover);
+       --entry-header--color-focus: var(--global--color-secondary);
+       --entry-header--font-size: var(--heading--font-size-h2);
+       --entry-content--font-family: var(--global--font-secondary);
+       --entry-author-bio--font-family: var(--heading--font-family);
+       --entry-author-bio--font-size: var(--heading--font-size-h4);
+
+       /* Header */
+       --branding--color-text: var(--global--color-primary);
+       --branding--color-link: var(--global--color-primary);
+       --branding--color-link-hover: var(--global--color-secondary);
+       --branding--title--font-family: var(--global--font-primary);
+       --branding--title--font-size: var(--global--font-size-lg);
+       --branding--title--font-size-mobile: var(--heading--font-size-h4);
+       --branding--title--font-weight: normal;
+       --branding--title--text-transform: uppercase;
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--description--font-size: var(--global--font-size-sm);
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--logo--max-width: 300px;
+       --branding--logo--max-height: 100px;
+       --branding--logo--max-width-mobile: 96px;
+       --branding--logo--max-height-mobile: 96px;
+
+       /* Main navigation */
+       --primary-nav--font-family: var(--global--font-secondary);
+       --primary-nav--font-family-mobile: var(--global--font-primary);
+       --primary-nav--font-size: var(--global--font-size-md);
+       --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
+       --primary-nav--font-size-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-button: var(--global--font-size-xs);
+       --primary-nav--font-style: normal;
+       --primary-nav--font-style-sub-menu-mobile: normal;
+       --primary-nav--font-weight: normal;
+       --primary-nav--font-weight-button: 500;
+       --primary-nav--color-link: var(--global--color-primary);
+       --primary-nav--color-link-hover: var(--global--color-primary-hover);
+       --primary-nav--color-text: var(--global--color-primary);
+       --primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
+       --primary-nav--border-color: var(--global--color-primary);
+
+       /* Pagination */
+       --pagination--color-text: var(--global--color-primary);
+       --pagination--color-link-hover: var(--global--color-primary-hover);
+       --pagination--font-family: var(--global--font-secondary);
+       --pagination--font-size: var(--global--font-size-lg);
+       --pagination--font-weight: normal;
+       --pagination--font-weight-strong: 600;
+
+       /* Footer */
+       --footer--color-text: var(--global--color-primary);
+       --footer--color-link: var(--global--color-primary);
+       --footer--color-link-hover: var(--global--color-primary-hover);
+       --footer--font-family: var(--global--font-primary);
+       --footer--font-size: var(--global--font-size-sm);
+
+       /* Block: Pull quote */
+       --pullquote--font-family: var(--global--font-primary);
+       --pullquote--font-size: var(--heading--font-size-h3);
+       --pullquote--font-style: normal;
+       --pullquote--letter-spacing: var(--heading--letter-spacing-h4);
+       --pullquote--line-height: var(--global--line-height-heading);
+       --pullquote--border-width: 3px;
+       --pullquote--border-color: var(--global--color-primary);
+       --pullquote--color-foreground: var(--global--color-primary);
+       --pullquote--color-background: var(--global--color-background);
+       --quote--font-family: var(--global--font-secondary);
+       --quote--font-size: var(--global--font-size-md);
+       --quote--font-size-large: var(--global--font-size-xl);
+       --quote--font-style: normal;
+       --quote--font-weight: 700;
+       --quote--font-weight-strong: bolder;
+       --quote--font-style-large: normal;
+       --quote--font-style-cite: normal;
+       --quote--line-height: var(--global--line-height-body);
+       --quote--line-height-large: 1.35;
+       --separator--border-color: var(--global--color-border);
+       --separator--height: 1px;
+
+       /* Block: Table */
+       --table--stripes-border-color: var(--global--color-light-gray);
+       --table--stripes-background-color: var(--global--color-light-gray);
+       --table--has-background-text-color: var(--global--color-dark-gray);
+
+       /* Widgets */
+       --widget--line-height-list: 1.9;
+       --widget--line-height-title: 1.4;
+       --widget--font-weight-title: 700;
+       --widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));
+
+       /* Admin-bar height */
+       --global--admin-bar--height: 0px;
+}
+
+.admin-bar {
+       --global--admin-bar--height: 32px;
+}
+@media only screen and (max-width: 782px) {
+
+       .admin-bar {
+               --global--admin-bar--height: 46px;
+       }
+}
+
+@media only screen and (min-width: 652px) {
+
+       :root {
+               --global--font-size-xl: 2.5rem;
+               --global--font-size-xxl: 6rem;
+               --global--font-size-xxxl: 9rem;
+               --heading--font-size-h3: 2rem;
+               --heading--font-size-h2: 3rem;
+       }
+}
+
+/**
+ * Responsive Styles
+ */
+
+/**
+ * Required Variables
+ */
+
+/**
+ * Root Media Query Variables
+ */
+:root {
+       --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
+       --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignfull-width: 100%;
+       --responsive--alignright-margin: var(--global--spacing-horizontal);
+       --responsive--alignleft-margin: var(--global--spacing-horizontal);
+}
+
+@media only screen and (min-width: 482px) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
+               --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
+               --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+               --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 610px);
+               --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1240px);
+       }
+}
+
+/**
+ * Extends
+ */
+.default-max-width {
+       max-width: var(--responsive--aligndefault-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.wide-max-width {
+       max-width: var(--responsive--alignwide-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .full-max-width {
+               max-width: var(--responsive--alignfull-width);
+               width: auto;
+               margin-left: auto;
+               margin-right: auto;
+       }
+}
+
+blockquote {
+       padding: 0;
+       position: relative;
+       margin: var(--global--spacing-vertical) 0 var(--global--spacing-vertical) var(--global--spacing-horizontal);
+}
+
+blockquote > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+blockquote > *:first-child {
+       margin-top: 0;
+}
+
+blockquote > *:last-child {
+       margin-bottom: 0;
+}
+
+blockquote p {
+       letter-spacing: var(--heading--letter-spacing-h4);
+       font-family: var(--quote--font-family);
+       font-size: var(--quote--font-size);
+       font-style: var(--quote--font-style);
+       font-weight: var(--quote--font-weight);
+       line-height: var(--quote--line-height);
+}
+
+blockquote cite,
+blockquote footer {
+       font-weight: normal;
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       letter-spacing: var(--global--letter-spacing);
+}
+
+blockquote.alignleft,
+blockquote.alignright {
+       padding-left: inherit;
+}
+
+blockquote.alignleft p,
+blockquote.alignright p {
+       font-size: var(--heading--font-size-h5);
+       max-width: inherit;
+       width: inherit;
+}
+
+blockquote.alignleft cite,
+blockquote.alignleft footer,
+blockquote.alignright cite,
+blockquote.alignright footer {
+       font-size: var(--global--font-size-xs);
+       letter-spacing: var(--global--letter-spacing);
+}
+
+blockquote strong {
+       font-weight: var(--quote--font-weight-strong);
+}
+
+blockquote:before {
+       content: "“";
+       font-size: var(--quote--font-size);
+       line-height: var(--quote--line-height);
+       position: absolute;
+       left: calc(-0.5 * var(--global--spacing-horizontal));
+}
+
+blockquote .wp-block-quote__citation,
+blockquote cite,
+blockquote footer {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       font-style: var(--quote--font-style-cite);
+}
+@media only screen and (max-width: 481px) {
+
+       blockquote {
+               padding-left: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       blockquote:before {
+               left: 0;
+       }
+}
+
+img {
+       height: auto;
+       max-width: 100%;
+       vertical-align: middle;
+}
+
+/* Classic editor images */
+.entry-content img {
+       max-width: 100%;
+}
+
+/* Make sure embeds and iframes fit their containers. */
+embed,
+iframe,
+object,
+video {
+       max-width: 100%;
+}
+
+/* Media captions */
+figcaption,
+.wp-caption,
+.wp-caption-text,
+.wp-block-embed figcaption {
+       color: currentColor;
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+.alignleft figcaption,
+.alignright figcaption,
+.alignleft .wp-caption,
+.alignright .wp-caption,
+.alignleft .wp-caption-text,
+.alignright .wp-caption-text,
+.alignleft .wp-block-embed figcaption,
+.alignright .wp-block-embed figcaption {
+       margin-bottom: 0;
+}
+
+/* WP Smiley */
+.page-content .wp-smiley,
+.entry-content .wp-smiley,
+.comment-content .wp-smiley {
+       border: none;
+       margin-bottom: 0;
+       margin-top: 0;
+       padding: 0;
+}
+
+select,
+select:focus {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       font-size: var(--form--font-size);
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit);
+       background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right var(--form--spacing-unit) top 60%;
+}
+
+/*
+ * text-underline-offset doesn't work in Chrome at all 👎
+ * But looks nice in Safari/Firefox, so let's keep it and
+ * maybe Chrome will support it soon.
+ */
+a {
+       cursor: pointer;
+       color: var(--wp--style--color--link, var(--global--color-primary));
+       text-underline-offset: 3px;
+       text-decoration-skip-ink: all;
+}
+
+a:hover {
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       text-decoration: underline 1px dotted currentColor;
+       text-decoration-skip-ink: none;
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: var(--global--color-black);
+       color: var(--global--color-white);
+       text-decoration: none;
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: rgba(0, 0, 0, 0.9);
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       outline-offset: -2px;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link:focus {
+       color: #21759b;
+       background-color: #f1f1f1;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).custom-logo-link {
+       background: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
+       outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.has-background .has-link-color a,
+.has-background.has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.wp-block-button__link {
+       border: var(--button--border-width) solid transparent;
+       border-radius: var(--button--border-radius);
+       cursor: pointer;
+       font-weight: var(--button--font-weight);
+       font-family: var(--button--font-family);
+       font-size: var(--button--font-size);
+       line-height: var(--button--line-height);
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+       text-decoration: none;
+}
+
+.wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-primary));
+}
+
+.has-background .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.wp-block-button__link:hover,
+.wp-block-button__link:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.wp-block-button__link:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.wp-block-button__link:disabled {
+       background-color: var(--global--color-white-50);
+       border-color: var(--global--color-white-50);
+       color: var(--button--color-text-active);
+}
+
+/**
+ * Block Options
+ */
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-background));
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
+       border-color: currentColor !important;
+       background-color: transparent !important;
+       color: inherit !important;
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background {
+       border-color: currentColor;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background:not(.has-text-color) {
+       color: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: transparent;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:hover,
+.wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: var(--global--color-primary) !important;
+       border-color: transparent !important;
+       color: var(--global--color-background) !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:hover,
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: var(--local--color-primary, var(--global--color-primary)) !important;
+       color: var(--local--color-background, var(--global--color-background)) !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:active {
+       color: var(--local--color-background, var(--global--color-background)) !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-button.is-style-squared {
+       border-radius: 0;
+}
+
+.is-style-outline .wp-block-button__link[style*=radius],
+.wp-block-button__link[style*=radius] {
+       outline-offset: 2px;
+}
+
+.wp-block-code code {
+       white-space: pre !important;
+       overflow-x: auto;
+}
+
+.wp-block-code {
+       border-color: var(--global--color-border);
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: var(--global--spacing-unit);
+       color: currentColor;
+}
+
+.wp-block-cover,
+.wp-block-cover-image {
+       background-color: var(--cover--color-background);
+       min-height: var(--cover--height);
+       margin-top: inherit;
+       margin-bottom: inherit;
+}
+
+.wp-block-cover:not(.alignwide):not(.alignfull),
+.wp-block-cover-image:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+[data-align=full] .wp-block-cover,
+[data-align=full] .wp-block-cover-image {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-cover > .wp-block-cover__inner-container > *:first-child,
+.wp-block-cover-image > .wp-block-cover__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-cover > .wp-block-cover__inner-container > *:last-child:not(.block-list-appender),
+.wp-block-cover-image > .wp-block-cover__inner-container > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-cover.has-child-selected > .wp-block-cover__inner-container > *:nth-last-child(2),
+.wp-block-cover.is-selected > .wp-block-cover__inner-container > *:nth-last-child(2),
+.wp-block-cover-image.has-child-selected > .wp-block-cover__inner-container > *:nth-last-child(2),
+.wp-block-cover-image.is-selected > .wp-block-cover__inner-container > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover .block-editor-block-list__block,
+.wp-block-cover-image .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text,
+.wp-block-cover-image .block-editor-block-list__block {
+       color: currentColor;
+}
+
+.wp-block-cover .wp-block-cover__inner-container a,
+.wp-block-cover .wp-block-cover-image-text a,
+.wp-block-cover .wp-block-cover-text a,
+.wp-block-cover .block-editor-block-list__block a,
+.wp-block-cover-image .wp-block-cover__inner-container a,
+.wp-block-cover-image .wp-block-cover-image-text a,
+.wp-block-cover-image .wp-block-cover-text a,
+.wp-block-cover-image .block-editor-block-list__block a {
+       color: currentColor;
+}
+
+.wp-block-cover .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover .wp-block-cover-text .has-link-color a,
+.wp-block-cover .block-editor-block-list__block .has-link-color a,
+.wp-block-cover-image .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover-image .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover-text .has-link-color a,
+.wp-block-cover-image .block-editor-block-list__block .has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover__inner-container,
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-image-text,
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-text,
+.wp-block-cover:not([class*=background-color]) .block-editor-block-list__block,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover__inner-container,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-image-text,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-text,
+.wp-block-cover-image:not([class*=background-color]) .block-editor-block-list__block {
+       color: var(--cover--color-foreground);
+}
+
+.wp-block-cover h2,
+.wp-block-cover-image h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+       padding: 0;
+       text-align: inherit;
+}
+
+.wp-block-cover h2.has-text-align-left,
+.wp-block-cover-image h2.has-text-align-left {
+       text-align: left;
+}
+
+.wp-block-cover h2.has-text-align-center,
+.wp-block-cover-image h2.has-text-align-center {
+       text-align: center;
+}
+
+.wp-block-cover h2.has-text-align-right,
+.wp-block-cover-image h2.has-text-align-right {
+       text-align: right;
+}
+
+.wp-block-cover.is-style-twentytwentyone-border,
+.wp-block-cover-image.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-cover[class*=-background-color][class] .wp-block-cover__inner-container,
+.wp-block-cover-image[class*=-background-color][class] .wp-block-cover__inner-container {
+       background-color: unset;
+}
+
+.wp-block-columns:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-columns .wp-block,
+.wp-block-columns .wp-block-column {
+       max-width: inherit;
+}
+
+.wp-block-columns > .wp-block-column > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-columns > .wp-block-column > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-columns.has-child-selected > .wp-block-column > *:nth-last-child(2),
+.wp-block-columns.is-selected > .wp-block-column > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
+               margin-left: calc(-2 * var(--global--spacing-horizontal));
+               margin-top: calc(2.5 * var(--global--spacing-horizontal));
+               z-index: 2;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
+               background-color: var(--global--color-background);
+               padding: var(--global--spacing-unit);
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               padding-left: calc(2 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
+               margin-top: 0;
+       }
+}
+
+.wp-block[data-align=full] > .wp-block-columns p:not(.has-background),
+.wp-block[data-align=full] > .wp-block-columns h1:not(.has-background),
+.wp-block[data-align=full] > .wp-block-columns h2:not(.has-background),
+.wp-block[data-align=full] > .wp-block-columns h3:not(.has-background),
+.wp-block[data-align=full] > .wp-block-columns h4:not(.has-background),
+.wp-block[data-align=full] > .wp-block-columns h5:not(.has-background),
+.wp-block[data-align=full] > .wp-block-columns h6:not(.has-background) {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+}
+
+.wp-block-file .wp-block-file__textlink {
+       text-decoration: underline;
+       text-decoration-style: solid;
+       text-decoration-thickness: 1px;
+}
+
+.wp-block-file .wp-block-file__textlink:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.wp-block-file .wp-block-file__button {
+       border: var(--button--border-width) solid transparent;
+       border-radius: var(--button--border-radius);
+       cursor: pointer;
+       font-weight: var(--button--font-weight);
+       font-family: var(--button--font-family);
+       font-size: var(--button--font-size);
+       line-height: var(--button--line-height);
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+       text-decoration: none;
+       display: inline-block;
+}
+
+.wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-primary));
+}
+
+.has-background .wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .wp-block-file .wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.wp-block-file .wp-block-file__button:hover,
+.wp-block-file .wp-block-file__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.wp-block-file .wp-block-file__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.wp-block-file .wp-block-file__button:disabled {
+       background-color: var(--global--color-white-50);
+       border-color: var(--global--color-white-50);
+       color: var(--button--color-text-active);
+}
+
+.wp-block-file .wp-block-file__button:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-gallery figcaption {
+       margin-bottom: 0;
+}
+
+.wp-block-gallery figcaption a {
+       color: var(--global--color-white);
+}
+
+.wp-block-group.has-background {
+       padding: var(--global--spacing-vertical);
+}
+
+[data-align=full] .wp-block-group.has-background {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-group.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       padding: var(--global--spacing-vertical);
+}
+
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > [data-align=full] {
+       max-width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
+       width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
+       margin-left: calc(-1 * var(--global--spacing-vertical));
+}
+
+.wp-block-group > .wp-block-group__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-group > .wp-block-group__inner-container > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-group.has-child-selected > .wp-block-group__inner-container > *:nth-last-child(2),
+.wp-block-group.is-selected > .wp-block-group__inner-container > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+
+.wp-block-group .wp-block-group.has-background > .block-editor-block-list__layout > [data-align=full] {
+       margin: 0;
+       width: 100%;
+}
+
+.wp-block-heading h1,
+h1,
+.h1,
+.wp-block-heading h2,
+h2,
+.h2,
+.wp-block-heading h3,
+h3,
+.h3,
+.wp-block-heading h4,
+h4,
+.h4,
+.wp-block-heading h5,
+h5,
+.h5,
+.wp-block-heading h6,
+h6,
+.h6 {
+       clear: both;
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+}
+
+.wp-block-heading h1 strong,
+h1 strong,
+.h1 strong,
+.wp-block-heading h2 strong,
+h2 strong,
+.h2 strong,
+.wp-block-heading h3 strong,
+h3 strong,
+.h3 strong,
+.wp-block-heading h4 strong,
+h4 strong,
+.h4 strong,
+.wp-block-heading h5 strong,
+h5 strong,
+.h5 strong,
+.wp-block-heading h6 strong,
+h6 strong,
+.h6 strong {
+       font-weight: var(--heading--font-weight-strong);
+}
+
+.wp-block-heading h1[style*="--wp--typography--line-height"],
+h1[style*="--wp--typography--line-height"],
+.h1[style*="--wp--typography--line-height"],
+.wp-block-heading h2[style*="--wp--typography--line-height"],
+h2[style*="--wp--typography--line-height"],
+.h2[style*="--wp--typography--line-height"],
+.wp-block-heading h3[style*="--wp--typography--line-height"],
+h3[style*="--wp--typography--line-height"],
+.h3[style*="--wp--typography--line-height"],
+.wp-block-heading h4[style*="--wp--typography--line-height"],
+h4[style*="--wp--typography--line-height"],
+.h4[style*="--wp--typography--line-height"],
+.wp-block-heading h5[style*="--wp--typography--line-height"],
+h5[style*="--wp--typography--line-height"],
+.h5[style*="--wp--typography--line-height"],
+.wp-block-heading h6[style*="--wp--typography--line-height"],
+h6[style*="--wp--typography--line-height"],
+.h6[style*="--wp--typography--line-height"] {
+       line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+}
+
+.wp-block-heading h1,
+h1,
+.h1 {
+       font-size: var(--heading--font-size-h1);
+       letter-spacing: var(--heading--letter-spacing-h1);
+       line-height: var(--heading--line-height-h1);
+}
+
+.wp-block-heading h2,
+h2,
+.h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+}
+
+.wp-block-heading h3,
+h3,
+.h3 {
+       font-size: var(--heading--font-size-h3);
+       letter-spacing: var(--heading--letter-spacing-h3);
+       line-height: var(--heading--line-height-h3);
+}
+
+.wp-block-heading h4,
+h4,
+.h4 {
+       font-size: var(--heading--font-size-h4);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h4);
+       line-height: var(--heading--line-height-h4);
+}
+
+.wp-block-heading h5,
+h5,
+.h5 {
+       font-size: var(--heading--font-size-h5);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h5);
+       line-height: var(--heading--line-height-h5);
+}
+
+.wp-block-heading h6,
+h6,
+.h6 {
+       font-size: var(--heading--font-size-h6);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h6);
+       line-height: var(--heading--line-height-h6);
+}
+
+[data-type="core/html"] textarea {
+       color: var(--global--color-dark-gray);
+       border-radius: 0;
+       padding: var(--global--spacing-unit);
+}
+
+/* Center image block by default in the editor */
+.wp-block-image,
+.wp-block-image > div:not(.components-placeholder) {
+       text-align: center;
+}
+
+[data-type="core/image"] .block-editor-block-list__block-edit figure.is-resized {
+       margin: 0 auto;
+}
+
+/* Block Styles */
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: var(--global--spacing-unit);
+}
+
+.wp-block-latest-comments {
+       padding-left: 0;
+}
+
+.wp-block-latest-posts {
+       padding-left: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: calc(1.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid {
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.wp-block-latest-posts.is-grid > li {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > * {
+       margin-top: calc(0.333 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > a {
+       display: inline-block;
+       font-family: var(--latest-posts--title-font-family);
+       font-size: var(--latest-posts--title-font-size);
+       font-weight: var(--heading--font-weight);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-author {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-md);
+       line-height: var(--global--line-height-body);
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+}
+
+[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date,
+.has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: currentColor;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
+.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
+       font-family: var(--latest-posts--description-font-family);
+       font-size: var(--latest-posts--description-font-size);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers {
+       border-top: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
+       padding-bottom: var(--global--spacing-vertical);
+       border-bottom: var(--separator--height) solid var(--global--color-border);
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
+       padding-bottom: 0;
+       border-bottom: none;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
+       box-shadow: inset 0 -1px 0 0 var(--global--color-border);
+       border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
+       margin: 0;
+       padding-top: var(--global--spacing-vertical);
+       padding-right: var(--global--spacing-horizontal);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
+       padding-bottom: var(--global--spacing-vertical);
+}
+@media screen and (min-width: 600px) {
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
+               width: calc(100% / 2);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
+               width: calc(100% / 3);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
+               width: calc(100% / 4);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
+               width: calc(100% / 5);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
+               width: calc(100% / 6);
+       }
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
+       padding-bottom: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
+       margin-top: var(--global--spacing-horizontal);
+       margin-bottom: var(--global--spacing-horizontal);
+}
+
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 50%;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 33.33%;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 16.66%;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 14.28%;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 11.11%;
+}
+
+.gallery-caption {
+       display: block;
+}
+
+ul,
+ol {
+       font-family: var(--list--font-family);
+       margin: var(--global--spacing-vertical) 0;
+       padding-left: calc(2 * var(--global--spacing-horizontal));
+}
+
+ul.aligncenter,
+ol.aligncenter {
+       list-style-position: inside;
+       padding: 0;
+       text-align: center;
+}
+
+ul.alignright,
+ol.alignright {
+       list-style-position: inside;
+       padding: 0;
+       text-align: right;
+}
+
+li > ul,
+li > ol {
+       margin: 0;
+}
+
+dt {
+       font-family: var(--definition-term--font-family);
+       font-weight: bold;
+}
+
+[data-align=full] .wp-block-media-text {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-media-text > .wp-block-media-text__content > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-media-text > .wp-block-media-text__content > *:last-child:not(.block-list-appender) {
+       margin-bottom: 0;
+}
+
+.wp-block-media-text.has-child-selected > .wp-block-media-text__content > *:nth-last-child(2),
+.wp-block-media-text.is-selected > .wp-block-media-text__content > *:nth-last-child(2) {
+       margin-bottom: 0;
+}
+
+.wp-block-media-text .wp-block-media-text__content {
+       padding: var(--global--spacing-horizontal);
+}
+
+.wp-block-media-text.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-navigation [data-block] {
+       margin-top: revert;
+       margin-bottom: revert;
+}
+
+.wp-block-navigation .wp-block-navigation__container {
+       background: var(--global--color-background);
+}
+
+.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__label {
+       font-family: var(--primary-nav--font-family);
+       font-size: var(--primary-nav--font-size);
+       font-weight: var(--primary-nav--font-weight);
+}
+
+.wp-block-navigation .has-child .wp-block-navigation__container {
+       box-shadow: var(--global--elevation);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover,
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:focus {
+       color: var(--primary-nav--color-link-hover);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link__content {
+       color: currentColor;
+}
+
+p {
+       line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+}
+
+p.has-background {
+       padding: var(--global--spacing-unit);
+}
+
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre !important;
+       font-size: var(--global--font-size-xs);
+}
+
+.wp-block-pullquote {
+       padding: calc(2 * var(--global--spacing-unit)) 0;
+       text-align: center;
+       border-width: var(--pullquote--border-width);
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+}
+
+.wp-block-pullquote blockquote::before {
+       color: currentColor;
+       content: "“";
+       display: block;
+       position: relative;
+       left: 0;
+       font-size: 3rem;
+       font-weight: 500;
+       line-height: 1;
+}
+
+.wp-block-pullquote p {
+       font-family: var(--pullquote--font-family);
+       font-size: var(--pullquote--font-size);
+       font-style: var(--pullquote--font-style);
+       font-weight: 700;
+       letter-spacing: var(--pullquote--letter-spacing);
+       line-height: var(--pullquote--line-height);
+       margin: 0;
+}
+
+.wp-block-pullquote a {
+       color: currentColor;
+}
+
+.wp-block-pullquote .wp-block-pullquote__citation,
+.wp-block-pullquote cite,
+.wp-block-pullquote footer {
+       font-size: var(--global--font-size-xs);
+       font-style: var(--pullquote--font-style);
+       text-transform: none;
+}
+
+.wp-block-pullquote:not(.is-style-solid-color) {
+       background: none;
+}
+
+.wp-block-pullquote.is-style-solid-color {
+       margin-left: auto;
+       margin-right: auto;
+       padding: calc(2.5 * var(--global--spacing-unit));
+       border-width: var(--pullquote--border-width);
+       border-style: solid;
+       border-color: var(--pullquote--border-color);
+}
+@media (min-width: 600px) {
+
+       .wp-block-pullquote.is-style-solid-color {
+               padding: calc(5 * var(--global--spacing-unit));
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote::before {
+       text-align: left;
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
+.wp-block-pullquote.is-style-solid-color.alignright blockquote {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+       max-width: inherit;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote {
+       margin: 0;
+       max-width: 100%;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote p {
+       font-size: var(--pullquote--font-size);
+}
+
+.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
+.wp-block-pullquote.is-style-solid-color cite,
+.wp-block-pullquote.is-style-solid-color footer {
+       color: currentColor;
+}
+
+.wp-block[data-align=full] .wp-block-pullquote:not(.is-style-solid-color) blockquote {
+       padding: 0 calc(2 * var(--global--spacing-unit));
+}
+
+.wp-block[data-align=left] .wp-block-pullquote.is-style-solid-color,
+.wp-block[data-align=right] .wp-block-pullquote.is-style-solid-color {
+       padding: var(--global--spacing-unit);
+}
+
+.wp-block-query.has-background {
+       padding: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-query.has-background {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-quote {
+       position: relative;
+       border-left: none;
+       margin: var(--global--spacing-vertical) auto var(--global--spacing-vertical) var(--global--spacing-horizontal);
+}
+
+.wp-block-quote p {
+       font-family: var(--quote--font-family);
+       font-size: var(--quote--font-size);
+       font-style: var(--quote--font-style);
+       font-weight: var(--quote--font-weight);
+       line-height: var(--quote--line-height);
+}
+
+.wp-block-quote strong {
+       font-weight: var(--quote--font-weight-strong);
+}
+
+.wp-block-quote:before {
+       content: "“";
+       font-size: var(--quote--font-size);
+       line-height: var(--quote--line-height);
+       left: calc(-0.5 * var(--global--spacing-horizontal));
+}
+
+.wp-block-quote .wp-block-quote__citation {
+       color: currentColor;
+       font-size: var(--global--font-size-xs);
+       font-style: var(--quote--font-style-cite);
+}
+
+.has-background .wp-block-quote .wp-block-quote__citation,
+[class*=background-color] .wp-block-quote .wp-block-quote__citation,
+[style*=background-color] .wp-block-quote .wp-block-quote__citation,
+.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation {
+       color: currentColor;
+}
+
+.wp-block-quote.has-text-align-right {
+       margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto;
+       padding-right: 0;
+       border-right: none;
+}
+
+.wp-block-quote.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.has-text-align-right p:before {
+       content: "”";
+       font-size: var(--quote--font-size);
+       font-weight: normal;
+       line-height: var(--quote--line-height);
+       margin-right: 5px;
+}
+
+.wp-block-quote.has-text-align-center {
+       margin: var(--global--spacing-vertical) auto;
+}
+
+.wp-block-quote.has-text-align-center:before {
+       display: none;
+}
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+       padding-left: 0;
+
+       /* Resetting margins to match _block-container.scss */
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-quote.is-large p,
+.wp-block-quote.is-style-large p {
+       font-size: var(--quote--font-size-large);
+       font-style: var(--quote--font-style-large);
+       line-height: var(--quote--line-height-large);
+}
+
+.wp-block-quote.is-large:before,
+.wp-block-quote.is-style-large:before {
+       font-size: var(--quote--font-size-large);
+       line-height: var(--quote--line-height-large);
+       left: calc(-1 * var(--global--spacing-horizontal));
+}
+
+.wp-block-quote.is-large.has-text-align-right:before,
+.wp-block-quote.is-style-large.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.is-large.has-text-align-right p:before,
+.wp-block-quote.is-style-large.has-text-align-right p:before {
+       content: "”";
+       font-size: var(--quote--font-size-large);
+       font-weight: normal;
+       line-height: var(--quote--line-height-large);
+       margin-right: 10px;
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.is-large,
+       .wp-block-quote.is-style-large {
+               padding-left: var(--global--spacing-horizontal);
+       }
+
+       .wp-block-quote.is-large:before,
+       .wp-block-quote.is-style-large:before {
+               left: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right,
+       .wp-block-quote.is-style-large.has-text-align-right {
+               padding-left: 0;
+               padding-right: var(--global--spacing-horizontal);
+       }
+
+       .wp-block-quote.is-large.has-text-align-right:before,
+       .wp-block-quote.is-style-large.has-text-align-right:before {
+               right: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote {
+               padding-left: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-quote:before {
+               left: 0;
+       }
+
+       .wp-block-quote.has-text-align-right {
+               padding-left: 0;
+               padding-right: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-quote.has-text-align-right:before {
+               right: 0;
+       }
+
+       .wp-block-quote.has-text-align-center {
+               padding-left: 0;
+               padding-right: 0;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-quote {
+               margin-left: auto;
+       }
+
+       .wp-block-quote.has-text-align-right {
+               margin-right: auto;
+       }
+}
+
+.wp-block-rss {
+       padding-left: 0;
+}
+
+.wp-block-rss > li {
+       list-style: none;
+}
+
+.wp-block-rss:not(.is-grid) > li {
+       margin-top: calc(1.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid > li {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-rss.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-rss > li > * {
+       margin-top: calc(0.333 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss .wp-block-rss__item-title > a {
+       display: inline-block;
+       font-family: var(--latest-posts--title-font-family);
+       font-size: var(--latest-posts--title-font-size);
+       font-weight: var(--heading--font-weight);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss .wp-block-rss__item-author {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-md);
+       line-height: var(--global--line-height-body);
+}
+
+.wp-block-rss .wp-block-rss__item-publish-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+}
+
+[class*=inner-container] .wp-block-rss .wp-block-rss__item-publish-date,
+.has-background .wp-block-rss .wp-block-rss__item-publish-date {
+       color: currentColor;
+}
+
+.wp-block-rss .wp-block-rss__item-excerpt,
+.wp-block-rss .wp-block-rss__item-full-content {
+       font-family: var(--latest-posts--description-font-family);
+       font-size: var(--latest-posts--description-font-size);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss.alignfull {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+}
+
+.entry-content [class*=inner-container] .wp-block-rss.alignfull,
+.entry-content .has-background .wp-block-rss.alignfull {
+       padding-left: 0;
+       padding-right: 0;
+}
+
+.wp-block-search {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.wp-block-search .wp-block-search__label {
+       font-size: var(--form--font-size);
+       font-weight: var(--form--label-weight);
+       margin-bottom: calc(var(--global--spacing-vertical) / 3);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+.wp-block-search .wp-block-search__input {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       font-family: var(--form--font-family);
+       font-size: var(--form--font-size);
+       line-height: var(--form--line-height);
+       max-width: inherit;
+       margin-right: calc(-1 * var(--button--border-width));
+       padding: var(--form--spacing-unit);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+.is-dark-theme .wp-block-search .wp-block-search__input {
+       background: var(--global--color-white-90);
+}
+
+.has-background .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+.has-background .wp-block-search .wp-block-search__input {
+       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button {
+       border: var(--button--border-width) solid transparent;
+       border-radius: var(--button--border-radius);
+       cursor: pointer;
+       font-weight: var(--button--font-weight);
+       font-family: var(--button--font-family);
+       font-size: var(--button--font-size);
+       line-height: var(--button--line-height);
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+       text-decoration: none;
+       box-shadow: none;
+       margin-left: 0;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-primary));
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:hover,
+.wp-block-search .wp-block-search__button.wp-block-search__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:disabled {
+       background-color: var(--global--color-white-50);
+       border-color: var(--global--color-white-50);
+       color: var(--button--color-text-active);
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button.has-icon {
+       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+       display: inherit;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button.has-icon svg {
+       width: 40px;
+       height: 40px;
+}
+
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:hover,
+.has-background .wp-block-search .wp-block-search__button.wp-block-search__button:active {
+       background-color: var(--local--color-background, var(--global--color-background)) !important;
+       color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.has-text-color .wp-block-search .wp-block-search__button.wp-block-search__button:hover,
+.has-text-color .wp-block-search .wp-block-search__button.wp-block-search__button:active {
+       color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search .wp-block-search__button.wp-block-search__button:focus {
+       outline-offset: inherit;
+       outline: inherit;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       padding: var(--form--border-width);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__input {
+       border: none;
+}
+
+.wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button:hover,
+.wp-block-search.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__button:hover {
+       color: var(--global--color-dark-gray);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button,
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__button {
+       color: var(--global--color-dark-gray);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button:hover,
+.is-dark-theme .wp-block-search.wp-block-search__button-inside.wp-block-search__icon-button .wp-block-search__button:hover {
+       background-color: var(--global--color-dark-gray);
+       color: var(--global--color-white);
+}
+
+.wp-block-search.wp-block-search__button-inside.wp-block-search__text-button .wp-block-search__button {
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+}
+
+.wp-block[data-align=center] > * {
+       text-align: center;
+}
+
+.wp-block[data-align=center] .wp-block-search__button-only .wp-block-search__inside-wrapper {
+       justify-content: center;
+}
+
+.wp-block-separator,
+hr {
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       clear: both;
+       opacity: 1;
+}
+
+.wp-block-separator[style*="text-align:right"],
+.wp-block-separator[style*="text-align: right"],
+hr[style*="text-align:right"],
+hr[style*="text-align: right"] {
+       border-right-color: var(--separator--border-color);
+}
+
+.wp-block-separator:not(.is-style-dots),
+hr:not(.is-style-dots) {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+[data-align=full] > .wp-block-separator,
+[data-align=wide] > .wp-block-separator,
+[data-align=full] > hr,
+[data-align=wide] > hr {
+       max-width: inherit;
+}
+
+.wp-block-separator.is-style-twentytwentyone-separator-thick,
+hr.is-style-twentytwentyone-separator-thick {
+       border-bottom-width: calc(3 * var(--separator--height));
+}
+
+.wp-block-separator.is-style-dots,
+hr.is-style-dots {
+       border-bottom: none;
+}
+
+.wp-block-separator.is-style-dots.has-background,
+.wp-block-separator.is-style-dots.has-text-color,
+hr.is-style-dots.has-background,
+hr.is-style-dots.has-text-color {
+       background-color: transparent !important;
+}
+
+.wp-block-separator.is-style-dots.has-background:before,
+.wp-block-separator.is-style-dots.has-text-color:before,
+hr.is-style-dots.has-background:before,
+hr.is-style-dots.has-text-color:before {
+       color: currentColor !important;
+}
+
+.wp-block-separator.is-style-dots:before,
+hr.is-style-dots:before {
+       color: var(--separator--border-color);
+}
+
+.has-background .wp-block-separator,
+[class*=background-color] .wp-block-separator,
+[style*=background-color] .wp-block-separator,
+.wp-block-cover[style*=background-image] .wp-block-separator,
+.has-background hr,
+[class*=background-color] hr,
+[style*=background-color] hr,
+.wp-block-cover[style*=background-image] hr {
+       border-color: currentColor;
+}
+
+.wp-block-social-links [data-block] {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color button {
+       color: var(--global--color-primary);
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link {
+       background: none;
+}
+
+table thead,
+table tfoot,
+.wp-block-table thead,
+.wp-block-table tfoot {
+       text-align: center;
+}
+
+table th,
+.wp-block-table th {
+       font-family: var(--heading--font-family);
+}
+
+table td,
+table th,
+.wp-block-table td,
+.wp-block-table th {
+       padding: calc(0.5 * var(--global--spacing-unit));
+}
+
+table.is-style-regular .has-background,
+table.is-style-stripes .has-background,
+table.is-style-stripes .has-background thead tr,
+table.is-style-stripes .has-background tfoot tr,
+table.is-style-stripes .has-background tbody tr,
+.wp-block-table.is-style-regular .has-background,
+.wp-block-table.is-style-stripes .has-background,
+.wp-block-table.is-style-stripes .has-background thead tr,
+.wp-block-table.is-style-stripes .has-background tfoot tr,
+.wp-block-table.is-style-stripes .has-background tbody tr {
+       color: var(--table--has-background-text-color);
+}
+
+table.is-style-stripes,
+.wp-block-table.is-style-stripes {
+       border-color: var(--table--stripes-border-color);
+}
+
+table.is-style-stripes th,
+table.is-style-stripes td,
+.wp-block-table.is-style-stripes th,
+.wp-block-table.is-style-stripes td {
+       border-width: 0;
+}
+
+table.is-style-stripes tbody tr:nth-child(odd),
+.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: var(--table--stripes-background-color);
+}
+
+table.is-style-stripes .has-background tbody tr:nth-child(odd),
+.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: var(--global--color-white-90);
+}
+
+table.wp-calendar-table td,
+table.wp-calendar-table th {
+       background: transparent;
+       border: 0;
+       text-align: center;
+       line-height: 2;
+       vertical-align: middle;
+}
+
+table.wp-calendar-table th {
+       font-weight: bold;
+}
+
+table.wp-calendar-table thead,
+table.wp-calendar-table tbody {
+       color: currentColor;
+       border: 1px solid;
+}
+
+table.wp-calendar-table caption {
+       font-weight: bold;
+       text-align: left;
+       margin-bottom: var(--global--spacing-unit);
+       color: currentColor;
+}
+
+.wp-calendar-nav {
+       text-align: left;
+       margin-top: calc(var(--global--spacing-unit) / 2);
+}
+
+.wp-calendar-nav svg {
+       height: 1em;
+       vertical-align: middle;
+}
+
+.wp-calendar-nav svg path {
+       fill: currentColor;
+}
+
+.wp-calendar-nav .wp-calendar-nav-next {
+       float: right;
+}
+
+.wp-block-tag-cloud.aligncenter {
+       text-align: center;
+}
+
+pre.wp-block-verse {
+       padding: 0;
+       color: currentColor;
+}
+
+:root .is-extra-small-text,
+:root .has-extra-small-font-size {
+       font-size: var(--global--font-size-xs);
+}
+
+:root .is-small-text,
+:root .has-small-font-size {
+       font-size: var(--global--font-size-sm);
+}
+
+:root .is-regular-text,
+:root .has-regular-font-size,
+:root .is-normal-font-size,
+:root .has-normal-font-size,
+:root .has-medium-font-size {
+       font-size: var(--global--font-size-base);
+}
+
+:root .is-large-text,
+:root .has-large-font-size {
+       font-size: var(--global--font-size-lg);
+       line-height: var(--global--line-height-heading);
+}
+
+:root .is-larger-text,
+:root .has-larger-font-size,
+:root .is-extra-large-text,
+:root .has-extra-large-font-size {
+       font-size: var(--global--font-size-xl);
+       line-height: var(--global--line-height-heading);
+}
+
+:root .is-huge-text,
+:root .has-huge-font-size {
+       font-size: var(--global--font-size-xxl);
+       line-height: var(--global--line-height-heading);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+:root .is-gigantic-text,
+:root .has-gigantic-font-size {
+       font-size: var(--global--font-size-xxxl);
+       line-height: var(--global--line-height-heading);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+/**
+* Editor Post Title
+* - Needs a special styles
+*/
+.wp-block.editor-post-title__block {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+       max-width: var(--responsive--alignwide-width);
+}
+
+.wp-block.editor-post-title__block .editor-post-title__input {
+       color: var(--global--color-secondary);
+       font-family: var(--heading--font-family);
+       font-size: var(--global--font-size-page-title);
+       font-weight: var(--heading--font-weight-page-title);
+       line-height: var(--heading--line-height-h1);
+}
+
+.wp-block.block-editor-default-block-appender > textarea {
+       font-family: var(--global--font-secondary);
+       font-size: var(--global--font-size-md);
+}
+
+.has-primary-color[class] {
+       color: var(--global--color-primary);
+}
+
+.has-secondary-color[class] {
+       color: var(--global--color-secondary);
+}
+
+.has-background a,
+.has-background p,
+.has-background h1,
+.has-background h2,
+.has-background h3,
+.has-background h4,
+.has-background h5,
+.has-background h6 {
+       color: currentColor;
+}
+
+.has-primary-background-color[class] {
+       background-color: var(--global--color-primary);
+       color: var(--global--color-background);
+}
+
+.has-secondary-background-color[class] {
+       background-color: var(--global--color-secondary);
+       color: var(--global--color-background);
+}
+
+.has-white-background-color[class] {
+       background-color: var(--global--color-white);
+       color: var(--global--color-secondary);
+}
+
+.has-black-background-color[class] {
+       background-color: var(--global--color-black);
+       color: var(--global--color-primary);
+}
+
+[data-block] {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.wp-block[data-align=wide],
+.wp-block.alignwide {
+       max-width: var(--responsive--alignwide-width);
+}
+
+.wp-block[data-align=full],
+.wp-block.alignfull {
+       max-width: none;
+}
+
+.alignleft {
+       margin: 0;
+       margin-right: var(--global--spacing-horizontal);
+}
+
+.alignright {
+       margin: 0;
+       margin-left: var(--global--spacing-horizontal);
+}
+
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: left;
+       margin: 0.1em 0.1em 0 0;
+       font-size: calc(1.2 * var(--heading--font-size-h1));
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wp-block[data-align=left] > * {
+               max-width: 290px;
+               margin-right: var(--global--spacing-horizontal);
+       }
+
+       .wp-block[data-align=right] > * {
+               max-width: 290px;
+               margin-left: var(--global--spacing-horizontal);
+       }
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote {
+       border: none;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote:before {
+       left: 5px;
+}
+
+html {
+       font-family: var(--global--font-secondary);
+       line-height: var(--global--line-height-body);
+}
+
+body {
+       --wp--typography--line-height: var(--global--line-height-body);
+       color: var(--global--color-primary);
+       background-color: var(--global--color-background);
+       font-family: var(--global--font-secondary);
+       font-size: var(--global--font-size-base);
+       font-weight: normal;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+.wp-block a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.wp-block a:hover {
+       text-decoration-style: dotted;
+}
+
+.wp-block a:focus {
+       outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+       text-decoration: none;
+}
+
+.has-background .has-link-color a,
+.has-background.has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+button,
+a {
+       cursor: pointer;
+}
+
+.has-black-color[class] {
+       color: var(--global--color-black);
+}
+
+.has-black-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-black, #000);
+       color: var(--local--color-primary);
+}
+
+.has-gray-color[class] {
+       color: var(--global--color-gray);
+}
+
+.has-gray-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-gray, #000);
+       color: var(--local--color-primary);
+}
+
+.has-dark-gray-color[class] {
+       color: var(--global--color-dark-gray);
+}
+
+.has-dark-gray-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-dark-gray, #000);
+       color: var(--local--color-primary);
+}
+
+.has-green-color[class] {
+       color: var(--global--color-green);
+}
+
+.has-green-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-green, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-blue-color[class] {
+       color: var(--global--color-blue);
+}
+
+.has-blue-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-blue, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-purple-color[class] {
+       color: var(--global--color-purple);
+}
+
+.has-purple-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-purple, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-red-color[class] {
+       color: var(--global--color-red);
+}
+
+.has-red-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-red, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-orange-color[class] {
+       color: var(--global--color-orange);
+}
+
+.has-orange-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-orange, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-yellow-color[class] {
+       color: var(--global--color-yellow);
+}
+
+.has-yellow-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-yellow, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-white-color[class] {
+       color: var(--global--color-white);
+}
+
+.has-white-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-white, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-background a,
+.has-background p,
+.has-background h1,
+.has-background h2,
+.has-background h3,
+.has-background h4,
+.has-background h5,
+.has-background h6 {
+       color: currentColor;
+}
+
+.has-black-background-color[class] {
+       background-color: var(--global--color-black);
+}
+
+.has-black-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-black, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-dark-gray-background-color[class] {
+       background-color: var(--global--color-dark-gray);
+}
+
+.has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-dark-gray, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-gray-background-color[class] {
+       background-color: var(--global--color-gray);
+}
+
+.has-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-gray, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-light-gray-background-color[class] {
+       background-color: var(--global--color-light-gray);
+}
+
+.has-light-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-light-gray, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-green-background-color[class] {
+       background-color: var(--global--color-green);
+}
+
+.has-green-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-green, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-blue-background-color[class] {
+       background-color: var(--global--color-blue);
+}
+
+.has-blue-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-blue, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-purple-background-color[class] {
+       background-color: var(--global--color-purple);
+}
+
+.has-purple-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-purple, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-red-background-color[class] {
+       background-color: var(--global--color-red);
+}
+
+.has-red-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-red, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-orange-background-color[class] {
+       background-color: var(--global--color-orange);
+}
+
+.has-orange-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-orange, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-yellow-background-color[class] {
+       background-color: var(--global--color-yellow);
+}
+
+.has-yellow-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-yellow, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-white-background-color[class] {
+       background-color: var(--global--color-white);
+}
+
+.has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-white, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class],
+.has-background:not(.has-text-color).has-gray-background-color[class],
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] {
+       color: var(--global--color-white);
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-background, #fff);
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.is-dark-theme .has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-primary, #000);
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class],
+.has-background:not(.has-text-color).has-blue-background-color[class],
+.has-background:not(.has-text-color).has-purple-background-color[class],
+.has-background:not(.has-text-color).has-red-background-color[class],
+.has-background:not(.has-text-color).has-orange-background-color[class],
+.has-background:not(.has-text-color).has-yellow-background-color[class],
+.has-background:not(.has-text-color).has-white-background-color[class] {
+       color: var(--global--color-dark-gray);
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-primary, #000);
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.is-dark-theme .has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-background, #fff);
+}
+
+.has-purple-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-yellow));
+}
+
+.has-yellow-to-purple-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-purple));
+}
+
+.has-green-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-green), var(--global--color-yellow));
+}
+
+.has-yellow-to-green-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-green));
+}
+
+.has-red-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-red), var(--global--color-yellow));
+}
+
+.has-yellow-to-red-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-red));
+}
+
+.has-purple-to-red-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-red));
+}
+
+.has-red-to-purple-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-red), var(--global--color-purple));
+}
diff --git a/wp-content/themes/twentytwentyone/assets/images/Daffodils.jpg b/wp-content/themes/twentytwentyone/assets/images/Daffodils.jpg
new file mode 100644 (file)
index 0000000..bd062b9
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/Daffodils.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/Reading.jpg b/wp-content/themes/twentytwentyone/assets/images/Reading.jpg
new file mode 100644 (file)
index 0000000..cfa732a
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/Reading.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/in-the-bois-de-boulogne.jpg b/wp-content/themes/twentytwentyone/assets/images/in-the-bois-de-boulogne.jpg
new file mode 100644 (file)
index 0000000..cf74f5d
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/in-the-bois-de-boulogne.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/playing-in-the-sand.jpg b/wp-content/themes/twentytwentyone/assets/images/playing-in-the-sand.jpg
new file mode 100644 (file)
index 0000000..557ae0f
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/playing-in-the-sand.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/roses-tremieres-hollyhocks-1884.jpg b/wp-content/themes/twentytwentyone/assets/images/roses-tremieres-hollyhocks-1884.jpg
new file mode 100644 (file)
index 0000000..ff53416
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/roses-tremieres-hollyhocks-1884.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/self-portrait-1885.jpg b/wp-content/themes/twentytwentyone/assets/images/self-portrait-1885.jpg
new file mode 100644 (file)
index 0000000..623598b
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/self-portrait-1885.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/the-garden-at-bougival-1884.jpg b/wp-content/themes/twentytwentyone/assets/images/the-garden-at-bougival-1884.jpg
new file mode 100644 (file)
index 0000000..6594d3d
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/the-garden-at-bougival-1884.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/villa-with-orange-trees-nice.jpg b/wp-content/themes/twentytwentyone/assets/images/villa-with-orange-trees-nice.jpg
new file mode 100644 (file)
index 0000000..5b78d96
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/villa-with-orange-trees-nice.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/images/young-woman-in-mauve.jpg b/wp-content/themes/twentytwentyone/assets/images/young-woman-in-mauve.jpg
new file mode 100644 (file)
index 0000000..df00d31
Binary files /dev/null and b/wp-content/themes/twentytwentyone/assets/images/young-woman-in-mauve.jpg differ
diff --git a/wp-content/themes/twentytwentyone/assets/js/customize-helpers.js b/wp-content/themes/twentytwentyone/assets/js/customize-helpers.js
new file mode 100644 (file)
index 0000000..6678c3d
--- /dev/null
@@ -0,0 +1,39 @@
+/**
+ * Get luminance from a HEX color.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param {string} hex - The hex color.
+ *
+ * @return {number} - Returns the luminance, number between 0 and 255.
+ */
+function twentytwentyoneGetHexLum( hex ) { // jshint ignore:line
+       var rgb = twentytwentyoneGetRgbFromHex( hex );
+       return Math.round( ( 0.2126 * rgb.r ) + ( 0.7152 * rgb.g ) + ( 0.0722 * rgb.b ) );
+}
+
+/**
+ * Get RGB from HEX.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param {string} hex - The hex color.
+ *
+ * @return {Object} - Returns an object {r, g, b}
+ */
+function twentytwentyoneGetRgbFromHex( hex ) {
+       var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
+               result;
+
+       // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF").
+       hex = hex.replace( shorthandRegex, function( m, r, g, b ) {
+               return r.toString() + r.toString() + g.toString() + g.toString() + b.toString() + b.toString();
+       } );
+
+       result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec( hex );
+       return result ? {
+               r: parseInt( result[1], 16 ),
+               g: parseInt( result[2], 16 ),
+               b: parseInt( result[3], 16 )
+       } : null;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/js/customize-preview.js b/wp-content/themes/twentytwentyone/assets/js/customize-preview.js
new file mode 100644 (file)
index 0000000..a9d9a6f
--- /dev/null
@@ -0,0 +1,62 @@
+/* global twentytwentyoneGetHexLum, jQuery */
+( function() {
+       // Add listener for the "background_color" control.
+       wp.customize( 'background_color', function( value ) {
+               value.bind( function( to ) {
+                       var lum = twentytwentyoneGetHexLum( to ),
+                               isDark = 127 > lum,
+                               textColor = ! isDark ? 'var(--global--color-dark-gray)' : 'var(--global--color-light-gray)',
+                               tableColor = ! isDark ? 'var(--global--color-light-gray)' : 'var(--global--color-dark-gray)',
+                               stylesheetID = 'twentytwentyone-customizer-inline-styles',
+                               stylesheet,
+                               styles;
+
+                       // Modify the html & body classes depending on whether this is a dark background or not.
+                       if ( isDark ) {
+                               document.body.classList.add( 'is-dark-theme' );
+                               document.documentElement.classList.add( 'is-dark-theme' );
+                               document.body.classList.remove( 'is-light-theme' );
+                               document.documentElement.classList.remove( 'is-light-theme' );
+                               document.documentElement.classList.remove( 'respect-color-scheme-preference' );
+                       } else {
+                               document.body.classList.remove( 'is-dark-theme' );
+                               document.documentElement.classList.remove( 'is-dark-theme' );
+                               document.body.classList.add( 'is-light-theme' );
+                               document.documentElement.classList.add( 'is-light-theme' );
+                               if ( wp.customize( 'respect_user_color_preference' ).get() ) {
+                                       document.documentElement.classList.add( 'respect-color-scheme-preference' );
+                               }
+                       }
+
+                       // Toggle the white background class.
+                       if ( 225 <= lum ) {
+                               document.body.classList.add( 'has-background-white' );
+                       } else {
+                               document.body.classList.remove( 'has-background-white' );
+                       }
+
+                       stylesheet = jQuery( '#' + stylesheetID );
+                       styles = '';
+                       // If the stylesheet doesn't exist, create it and append it to <head>.
+                       if ( ! stylesheet.length ) {
+                               jQuery( '#twenty-twenty-one-style-inline-css' ).after( '<style id="' + stylesheetID + '"></style>' );
+                               stylesheet = jQuery( '#' + stylesheetID );
+                       }
+
+                       // Generate the styles.
+                       styles += '--global--color-primary:' + textColor + ';';
+                       styles += '--global--color-secondary:' + textColor + ';';
+                       styles += '--global--color-background:' + to + ';';
+
+                       styles += '--button--color-background:' + textColor + ';';
+                       styles += '--button--color-text:' + to + ';';
+                       styles += '--button--color-text-hover:' + textColor + ';';
+
+                       styles += '--table--stripes-border-color:' + tableColor + ';';
+                       styles += '--table--stripes-background-color:' + tableColor + ';';
+
+                       // Add the styles.
+                       stylesheet.html( ':root{' + styles + '}' );
+               } );
+       } );
+}() );
diff --git a/wp-content/themes/twentytwentyone/assets/js/customize.js b/wp-content/themes/twentytwentyone/assets/js/customize.js
new file mode 100644 (file)
index 0000000..d47d0d4
--- /dev/null
@@ -0,0 +1,25 @@
+/* global twentytwentyoneGetHexLum */
+
+( function() {
+       // Wait until the customizer has finished loading.
+       wp.customize.bind( 'ready', function() {
+               // Hide the "respect_user_color_preference" setting if the background-color is dark.
+               if ( 127 > twentytwentyoneGetHexLum( wp.customize( 'background_color' ).get() ) ) {
+                       wp.customize.control( 'respect_user_color_preference' ).deactivate();
+                       wp.customize.control( 'respect_user_color_preference_notice' ).deactivate();
+               }
+
+               // Handle changes to the background-color.
+               wp.customize( 'background_color', function( setting ) {
+                       setting.bind( function( value ) {
+                               if ( 127 > twentytwentyoneGetHexLum( value ) ) {
+                                       wp.customize.control( 'respect_user_color_preference' ).deactivate();
+                                       wp.customize.control( 'respect_user_color_preference_notice' ).activate();
+                               } else {
+                                       wp.customize.control( 'respect_user_color_preference' ).activate();
+                                       wp.customize.control( 'respect_user_color_preference_notice' ).deactivate();
+                               }
+                       } );
+               } );
+       } );
+}() );
diff --git a/wp-content/themes/twentytwentyone/assets/js/dark-mode-toggler.js b/wp-content/themes/twentytwentyone/assets/js/dark-mode-toggler.js
new file mode 100644 (file)
index 0000000..f5519d0
--- /dev/null
@@ -0,0 +1,71 @@
+function toggleDarkMode() { // jshint ignore:line
+       var toggler = document.getElementById( 'dark-mode-toggler' );
+
+       if ( 'false' === toggler.getAttribute( 'aria-pressed' ) ) {
+               toggler.setAttribute( 'aria-pressed', 'true' );
+               document.documentElement.classList.add( 'is-dark-theme' );
+               document.body.classList.add( 'is-dark-theme' );
+               window.localStorage.setItem( 'twentytwentyoneDarkMode', 'yes' );
+       } else {
+               toggler.setAttribute( 'aria-pressed', 'false' );
+               document.documentElement.classList.remove( 'is-dark-theme' );
+               document.body.classList.remove( 'is-dark-theme' );
+               window.localStorage.setItem( 'twentytwentyoneDarkMode', 'no' );
+       }
+}
+
+function twentytwentyoneIsDarkMode() {
+       var isDarkMode = window.matchMedia( '(prefers-color-scheme: dark)' ).matches;
+
+       if ( 'yes' === window.localStorage.getItem( 'twentytwentyoneDarkMode' ) ) {
+               isDarkMode = true;
+       } else if ( 'no' === window.localStorage.getItem( 'twentytwentyoneDarkMode' ) ) {
+               isDarkMode = false;
+       }
+
+       return isDarkMode;
+}
+
+function darkModeInitialLoad() {
+       var toggler = document.getElementById( 'dark-mode-toggler' ),
+               isDarkMode = twentytwentyoneIsDarkMode();
+
+       if ( isDarkMode ) {
+               document.documentElement.classList.add( 'is-dark-theme' );
+               document.body.classList.add( 'is-dark-theme' );
+       } else {
+               document.documentElement.classList.remove( 'is-dark-theme' );
+               document.body.classList.remove( 'is-dark-theme' );
+       }
+
+       if ( toggler && isDarkMode ) {
+               toggler.setAttribute( 'aria-pressed', 'true' );
+       }
+}
+
+function darkModeRepositionTogglerOnScroll() {
+
+       var toggler = document.getElementById( 'dark-mode-toggler' ),
+               prevScroll = window.scrollY || document.documentElement.scrollTop,
+               currentScroll,
+
+               checkScroll = function() {
+                       currentScroll = window.scrollY || document.documentElement.scrollTop;
+                       if (
+                               currentScroll + ( window.innerHeight * 1.5 ) > document.body.clientHeight ||
+                               currentScroll < prevScroll
+                       ) {
+                               toggler.classList.remove( 'hide' );
+                       } else if ( currentScroll > prevScroll && 250 < currentScroll ) {
+                               toggler.classList.add( 'hide' );
+                       }
+                       prevScroll = currentScroll;
+               };
+
+       if ( toggler ) {
+               window.addEventListener( 'scroll', checkScroll );
+       }
+}
+
+darkModeInitialLoad();
+darkModeRepositionTogglerOnScroll();
diff --git a/wp-content/themes/twentytwentyone/assets/js/editor-dark-mode-support.js b/wp-content/themes/twentytwentyone/assets/js/editor-dark-mode-support.js
new file mode 100644 (file)
index 0000000..088ecad
--- /dev/null
@@ -0,0 +1,44 @@
+/* global twentytwentyoneIsDarkMode, setTimeout */
+
+// Check the color scheme preference and inject the classes if necessary.
+if ( document.body.classList.contains( 'twentytwentyone-supports-dark-theme' ) ) {
+       twentytwentyoneDarkModeEditorInit();
+}
+
+/**
+ * Once the editor loads, add the dark mode class.
+ *
+ * Wait for the editor to load by periodically checking for an element, then we add the classes.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param {number} attempt Track the number of tries
+ * @return {void}
+ */
+function twentytwentyoneDarkModeEditorInit( attempt ) {
+       var container = document.querySelector( '.block-editor__typewriter' ),
+               maxAttempts = 8;
+
+       // Set the initial attempt if it's undefined.
+       attempt = attempt || 0;
+
+       if ( twentytwentyoneIsDarkMode() ) {
+               if ( null === container ) {
+                       // Try again.
+                       if ( attempt < maxAttempts ) {
+                               setTimeout(
+                                       function() {
+                                               twentytwentyoneDarkModeEditorInit( attempt + 1 );
+                                       },
+                                       // Double the delay, give the server some time to breathe.
+                                       25 * Math.pow( 2, attempt )
+                               );
+                       }
+                       return;
+               }
+
+               document.body.classList.add( 'is-dark-theme' );
+               document.documentElement.classList.add( 'is-dark-theme' );
+               container.classList.add( 'is-dark-theme' );
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/js/editor.js b/wp-content/themes/twentytwentyone/assets/js/editor.js
new file mode 100644 (file)
index 0000000..b94c97c
--- /dev/null
@@ -0,0 +1,38 @@
+/* global setTimeout */
+wp.domReady( function() {
+       // Unregister "Wide" Separator Style.
+       wp.blocks.unregisterBlockStyle( 'core/separator', 'wide' );
+
+       // Add to ".block-editor__typewriter" the "is-dark-theme" class if needed.
+       function twentytwentyoneCopyDarkThemeClass() {
+               var editor,
+                       attemptDelay = 25,
+                       attempt = 0,
+                       maxAttempts = 10;
+
+               if ( ! document.body.classList.contains( 'is-dark-theme' ) ) {
+                       return;
+               }
+
+               editor = document.querySelector( '.block-editor__typewriter' );
+               if ( null === editor ) {
+                       // Try again.
+                       if ( attempt < maxAttempts ) {
+                               setTimeout( function() {
+                                       twentytwentyoneCopyDarkThemeClass();
+                               }, attemptDelay );
+
+                               // Increment the attempts counter.
+                               attempt++;
+
+                               // Double the delay, give the server some time to breathe.
+                               attemptDelay *= 2;
+                       }
+                       return;
+               }
+
+               editor.classList.add( 'is-dark-theme' );
+       }
+
+       twentytwentyoneCopyDarkThemeClass();
+} );
diff --git a/wp-content/themes/twentytwentyone/assets/js/palette-colorpicker.js b/wp-content/themes/twentytwentyone/assets/js/palette-colorpicker.js
new file mode 100644 (file)
index 0000000..ced9e02
--- /dev/null
@@ -0,0 +1,55 @@
+/**
+ * Script for our custom colorpicker control.
+ *
+ * This is copied from wp-admin/js/customize-controls.js
+ * with a few tweaks:
+ *             Removed the hue picker script because we don't use it here
+ *             Added the "palettes" argument in wpColorPicker().
+ *
+ * @since Twenty Twenty-One 1.0
+ */
+wp.customize.controlConstructor['twenty-twenty-one-color'] = wp.customize.Control.extend( {
+       ready: function() {
+               var control = this,
+                       updating = false,
+                       picker;
+
+               picker = this.container.find( '.color-picker-hex' );
+               picker.val( control.setting() ).wpColorPicker( {
+                       palettes: control.params.palette,
+                       change: function() {
+                               updating = true;
+                               control.setting.set( picker.wpColorPicker( 'color' ) );
+                               updating = false;
+                       },
+                       clear: function() {
+                               updating = true;
+                               control.setting.set( '' );
+                               updating = false;
+                       }
+               } );
+
+               control.setting.bind( function( value ) {
+                       // Bail if the update came from the control itself.
+                       if ( updating ) {
+                               return;
+                       }
+                       picker.val( value );
+                       picker.wpColorPicker( 'color', value );
+               } );
+
+               // Collapse color picker when hitting Esc instead of collapsing the current section.
+               control.container.on( 'keydown', function( event ) {
+                       var pickerContainer;
+                       if ( 27 !== event.which ) { // Esc.
+                               return;
+                       }
+                       pickerContainer = control.container.find( '.wp-picker-container' );
+                       if ( pickerContainer.hasClass( 'wp-picker-active' ) ) {
+                               picker.wpColorPicker( 'close' );
+                               control.container.find( '.wp-color-result' ).focus();
+                               event.stopPropagation(); // Prevent section from being collapsed.
+                       }
+               } );
+       }
+} );
diff --git a/wp-content/themes/twentytwentyone/assets/js/polyfills.js b/wp-content/themes/twentytwentyone/assets/js/polyfills.js
new file mode 100644 (file)
index 0000000..f2692d8
--- /dev/null
@@ -0,0 +1,46 @@
+/**
+ * File polyfills.js.
+ *
+ * Polyfills for IE11.
+ */
+
+/**
+ * Polyfill for Element.closest() because we need to support IE11.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
+ */
+if ( ! Element.prototype.matches ) {
+       Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
+}
+
+if ( ! Element.prototype.closest ) {
+       Element.prototype.closest = function( s ) {
+               var el = this;
+               do {
+                       if ( Element.prototype.matches.call( el, s ) ) {
+                               return el;
+                       }
+                       el = el.parentElement || el.parentNode;
+               } while ( el !== null && el.nodeType === 1 );
+               return null;
+       };
+}
+
+/**
+ * Polyfill for NodeList.foreach() because we need to support IE11.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
+ */
+if ( window.NodeList && ! NodeList.prototype.forEach ) {
+       NodeList.prototype.forEach = function( callback, thisArg ) {
+               var i;
+               thisArg = thisArg || window;
+               for ( i = 0; i < this.length; i++ ) {
+                       callback.call( thisArg, this[i], i, this );
+               }
+       };
+}
diff --git a/wp-content/themes/twentytwentyone/assets/js/primary-navigation.js b/wp-content/themes/twentytwentyone/assets/js/primary-navigation.js
new file mode 100644 (file)
index 0000000..c53af82
--- /dev/null
@@ -0,0 +1,204 @@
+/**
+ * File primary-navigation.js.
+ *
+ * Required to open and close the mobile navigation.
+ */
+
+/**
+ * Toggle an attribute's value
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param {Element} el - The element.
+ * @param {boolean} withListeners - Whether we want to add/remove listeners or not.
+ */
+function twentytwentyoneToggleAriaExpanded( el, withListeners ) {
+       if ( 'true' !== el.getAttribute( 'aria-expanded' ) ) {
+               el.setAttribute( 'aria-expanded', 'true' );
+               twentytwentyoneSubmenuPosition( el.parentElement );
+               if ( withListeners ) {
+                       document.addEventListener( 'click', twentytwentyoneCollapseMenuOnClickOutside );
+               }
+       } else {
+               el.setAttribute( 'aria-expanded', 'false' );
+               if ( withListeners ) {
+                       document.removeEventListener( 'click', twentytwentyoneCollapseMenuOnClickOutside );
+               }
+       }
+}
+
+function twentytwentyoneCollapseMenuOnClickOutside( event ) {
+       if ( ! document.getElementById( 'site-navigation' ).contains( event.target ) ) {
+               document.getElementById( 'site-navigation' ).querySelectorAll( '.sub-menu-toggle' ).forEach( function( button ) {
+                       button.setAttribute( 'aria-expanded', 'false' );
+               } );
+       }
+}
+
+/**
+ * Changes the position of submenus so they always fit the screen horizontally.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param {Element} li - The li element.
+ */
+function twentytwentyoneSubmenuPosition( li ) {
+       var subMenu = li.querySelector( 'ul.sub-menu' ),
+               rect,
+               right,
+               left,
+               windowWidth;
+
+       if ( ! subMenu ) {
+               return;
+       }
+
+       rect = subMenu.getBoundingClientRect();
+       right = Math.round( rect.right );
+       left = Math.round( rect.left );
+       windowWidth = Math.round( window.innerWidth );
+
+       if ( right > windowWidth ) {
+               subMenu.classList.add( 'submenu-reposition-right' );
+       } else if ( document.body.classList.contains( 'rtl' ) && left < 0 ) {
+               subMenu.classList.add( 'submenu-reposition-left' );
+       }
+}
+
+/**
+ * Handle clicks on submenu toggles.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param {Element} el - The element.
+ */
+function twentytwentyoneExpandSubMenu( el ) { // jshint ignore:line
+       // Close other expanded items.
+       el.closest( 'nav' ).querySelectorAll( '.sub-menu-toggle' ).forEach( function( button ) {
+               if ( button !== el ) {
+                       button.setAttribute( 'aria-expanded', 'false' );
+               }
+       } );
+
+       // Toggle aria-expanded on the button.
+       twentytwentyoneToggleAriaExpanded( el, true );
+
+       // On tab-away collapse the menu.
+       el.parentNode.querySelectorAll( 'ul > li:last-child > a' ).forEach( function( linkEl ) {
+               linkEl.addEventListener( 'blur', function( event ) {
+                       if ( ! el.parentNode.contains( event.relatedTarget ) ) {
+                               el.setAttribute( 'aria-expanded', 'false' );
+                       }
+               } );
+       } );
+}
+
+( function() {
+       /**
+        * Menu Toggle Behaviors
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param {string} id - The ID.
+        */
+       var navMenu = function( id ) {
+               var wrapper = document.body, // this is the element to which a CSS class is added when a mobile nav menu is open
+                       mobileButton = document.getElementById( id + '-mobile-menu' ),
+                       navMenuEl = document.getElementById( 'site-navigation' );
+
+               // If there's no nav menu, none of this is necessary.
+               if ( ! navMenuEl ) {
+                       return;
+               }
+
+               if ( mobileButton ) {
+                       mobileButton.onclick = function() {
+                               wrapper.classList.toggle( id + '-navigation-open' );
+                               wrapper.classList.toggle( 'lock-scrolling' );
+                               twentytwentyoneToggleAriaExpanded( mobileButton );
+                               mobileButton.focus();
+                       };
+               }
+
+               /**
+                * Trap keyboard navigation in the menu modal.
+                * Adapted from Twenty Twenty.
+                *
+                * @since Twenty Twenty-One 1.0
+                */
+               document.addEventListener( 'keydown', function( event ) {
+                       var modal, elements, selectors, lastEl, firstEl, activeEl, tabKey, shiftKey, escKey;
+                       if ( ! wrapper.classList.contains( id + '-navigation-open' ) ) {
+                               return;
+                       }
+
+                       modal = document.querySelector( '.' + id + '-navigation' );
+                       selectors = 'input, a, button';
+                       elements = modal.querySelectorAll( selectors );
+                       elements = Array.prototype.slice.call( elements );
+                       tabKey = event.keyCode === 9;
+                       shiftKey = event.shiftKey;
+                       escKey = event.keyCode === 27;
+                       activeEl = document.activeElement; // eslint-disable-line @wordpress/no-global-active-element
+                       lastEl = elements[ elements.length - 1 ];
+                       firstEl = elements[0];
+
+                       if ( escKey ) {
+                               event.preventDefault();
+                               wrapper.classList.remove( id + '-navigation-open', 'lock-scrolling' );
+                               twentytwentyoneToggleAriaExpanded( mobileButton );
+                               mobileButton.focus();
+                       }
+
+                       if ( ! shiftKey && tabKey && lastEl === activeEl ) {
+                               event.preventDefault();
+                               firstEl.focus();
+                       }
+
+                       if ( shiftKey && tabKey && firstEl === activeEl ) {
+                               event.preventDefault();
+                               lastEl.focus();
+                       }
+
+                       // If there are no elements in the menu, don't move the focus
+                       if ( tabKey && firstEl === lastEl ) {
+                               event.preventDefault();
+                       }
+               } );
+
+               /**
+                * Close menu and scroll to anchor when an anchor link is clicked.
+                * Adapted from Twenty Twenty.
+                *
+                * @since Twenty Twenty-One 1.1
+                */
+               document.getElementById( 'site-navigation' ).addEventListener( 'click', function( event ) {
+                       // If target onclick is <a> with # within the href attribute
+                       if ( event.target.hash ) {
+                               wrapper.classList.remove( id + '-navigation-open', 'lock-scrolling' );
+                               twentytwentyoneToggleAriaExpanded( mobileButton );
+                               // Wait 550 and scroll to the anchor.
+                               setTimeout(function () {
+                                       var anchor = document.getElementById(event.target.hash.slice(1));
+                                       if ( anchor ) {
+                                               anchor.scrollIntoView();
+                                       }
+                               }, 550);
+                       }
+               } );
+
+               navMenuEl.querySelectorAll( '.menu-wrapper > .menu-item-has-children' ).forEach( function( li ) {
+                       li.addEventListener( 'mouseenter', function() {
+                               this.querySelector( '.sub-menu-toggle' ).setAttribute( 'aria-expanded', 'true' );
+                               twentytwentyoneSubmenuPosition( li );
+                       } );
+                       li.addEventListener( 'mouseleave', function() {
+                               this.querySelector( '.sub-menu-toggle' ).setAttribute( 'aria-expanded', 'false' );
+                       } );
+               } );
+       };
+
+       window.addEventListener( 'load', function() {
+               new navMenu( 'primary' );
+       } );
+}() );
diff --git a/wp-content/themes/twentytwentyone/assets/js/responsive-embeds.js b/wp-content/themes/twentytwentyone/assets/js/responsive-embeds.js
new file mode 100644 (file)
index 0000000..2beed6e
--- /dev/null
@@ -0,0 +1,36 @@
+/**
+ * File responsive-embeds.js.
+ *
+ * Make embeds responsive so they don't overflow their container.
+ */
+
+/**
+ * Add max-width & max-height to <iframe> elements, depending on their width & height props.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return {void}
+ */
+function twentytwentyoneResponsiveEmbeds() {
+       var proportion, parentWidth;
+
+       // Loop iframe elements.
+       document.querySelectorAll( 'iframe' ).forEach( function( iframe ) {
+               // Only continue if the iframe has a width & height defined.
+               if ( iframe.width && iframe.height ) {
+                       // Calculate the proportion/ratio based on the width & height.
+                       proportion = parseFloat( iframe.width ) / parseFloat( iframe.height );
+                       // Get the parent element's width.
+                       parentWidth = parseFloat( window.getComputedStyle( iframe.parentElement, null ).width.replace( 'px', '' ) );
+                       // Set the max-width & height.
+                       iframe.style.maxWidth = '100%';
+                       iframe.style.maxHeight = Math.round( parentWidth / proportion ).toString() + 'px';
+               }
+       } );
+}
+
+// Run on initial load.
+twentytwentyoneResponsiveEmbeds();
+
+// Run on resize.
+window.onresize = twentytwentyoneResponsiveEmbeds;
diff --git a/wp-content/themes/twentytwentyone/assets/js/skip-link-focus-fix.js b/wp-content/themes/twentytwentyone/assets/js/skip-link-focus-fix.js
new file mode 100644 (file)
index 0000000..5ae1338
--- /dev/null
@@ -0,0 +1,35 @@
+/**
+ * File skip-link-focus-fix.js.
+ *
+ * Helps with accessibility for keyboard only users.
+ *
+ * This is the source file for what is minified in the twenty_twenty_one_skip_link_focus_fix() PHP function.
+ *
+ * Learn more: https://git.io/vWdr2
+ *
+ * @since Twenty Twenty-One 1.0
+ */
+( function() {
+       var isIe = /(trident|msie)/i.test( navigator.userAgent );
+
+       if ( isIe && document.getElementById && window.addEventListener ) {
+               window.addEventListener( 'hashchange', function() {
+                       var id = location.hash.substring( 1 ),
+                               element;
+
+                       if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
+                               return;
+                       }
+
+                       element = document.getElementById( id );
+
+                       if ( element ) {
+                               if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
+                                       element.tabIndex = -1;
+                               }
+
+                               element.focus();
+                       }
+               }, false );
+       }
+}() );
diff --git a/wp-content/themes/twentytwentyone/assets/sass/01-settings/file-header.scss b/wp-content/themes/twentytwentyone/assets/sass/01-settings/file-header.scss
new file mode 100644 (file)
index 0000000..72cbd42
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+Theme Name: Twenty Twenty-One
+Theme URI: https://wordpress.org/themes/twentytwentyone/
+Author: the WordPress team
+Author URI: https://wordpress.org/
+Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
+Requires at least: 5.3
+Tested up to: 6.2
+Requires PHP: 5.6
+Version: 1.8
+License: GNU General Public License v2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Text Domain: twentytwentyone
+Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready
+
+Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
+Twenty Twenty-One is distributed under the terms of the GNU GPL.
+*/
diff --git a/wp-content/themes/twentytwentyone/assets/sass/01-settings/fonts.scss b/wp-content/themes/twentytwentyone/assets/sass/01-settings/fonts.scss
new file mode 100644 (file)
index 0000000..6eba5e2
--- /dev/null
@@ -0,0 +1 @@
+// Do we need to serve a font? Add the @font-face styles here.
diff --git a/wp-content/themes/twentytwentyone/assets/sass/01-settings/global.scss b/wp-content/themes/twentytwentyone/assets/sass/01-settings/global.scss
new file mode 100644 (file)
index 0000000..91d8452
--- /dev/null
@@ -0,0 +1,249 @@
+/* Variables */
+
+// Vertical Rhythm Multiplier
+$baseline-unit: 10px;
+
+:root {
+
+       /* Font Family */
+       --global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+       --global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+
+       /* Font Size */
+       --global--font-size-base: 1.25rem; // 20px / 16px
+       --global--font-size-xs: 1rem; // 16px / 16px
+       --global--font-size-sm: 1.125rem; // 18px / 16px
+       --global--font-size-md: 1.25rem; // 20px / 16px
+       --global--font-size-lg: 1.5rem; // 24px / 16px
+       --global--font-size-xl: 2.25rem; // 36px / 16px
+       --global--font-size-xxl: 4rem; // 64px / 16px
+       --global--font-size-xxxl: 5rem; // 80px / 16px
+       --global--font-size-page-title: var(--global--font-size-xxl);
+       --global--letter-spacing: normal;
+
+       /* Line Height */
+       --global--line-height-body: 1.7;
+       --global--line-height-heading: 1.3;
+       --global--line-height-page-title: 1.1;
+
+       /* Headings */
+       --heading--font-family: var(--global--font-primary);
+
+       --heading--font-size-h6: var(--global--font-size-xs);
+       --heading--font-size-h5: var(--global--font-size-sm);
+       --heading--font-size-h4: var(--global--font-size-lg);
+       --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
+       --heading--font-size-h2: var(--global--font-size-xl);
+       --heading--font-size-h1: var(--global--font-size-page-title);
+
+       --heading--letter-spacing-h6: 0.05em;
+       --heading--letter-spacing-h5: 0.05em;
+       --heading--letter-spacing-h4: var(--global--letter-spacing);
+       --heading--letter-spacing-h3: var(--global--letter-spacing);
+       --heading--letter-spacing-h2: var(--global--letter-spacing);
+       --heading--letter-spacing-h1: var(--global--letter-spacing);
+
+       --heading--line-height-h6: var(--global--line-height-heading);
+       --heading--line-height-h5: var(--global--line-height-heading);
+       --heading--line-height-h4: var(--global--line-height-heading);
+       --heading--line-height-h3: var(--global--line-height-heading);
+       --heading--line-height-h2: var(--global--line-height-heading);
+       --heading--line-height-h1: var(--global--line-height-page-title);
+
+       --heading--font-weight: normal;
+       --heading--font-weight-page-title: 300;
+       --heading--font-weight-strong: 600;
+
+       /* Block: Latest posts */
+       --latest-posts--title-font-family: var(--heading--font-family);
+       --latest-posts--title-font-size: var(--heading--font-size-h3);
+       --latest-posts--description-font-family: var(--global--font-secondary);
+       --latest-posts--description-font-size: var(--global--font-size-sm);
+
+       --list--font-family: var(--global--font-secondary);
+       --definition-term--font-family: var(--global--font-primary);
+
+       /* Colors */
+       --global--color-black: #000;
+       --global--color-dark-gray: #28303d;
+       --global--color-gray: #39414d;
+       --global--color-light-gray: #f0f0f0;
+       --global--color-green: #d1e4dd;
+       --global--color-blue: #d1dfe4;
+       --global--color-purple: #d1d1e4;
+       --global--color-red: #e4d1d1;
+       --global--color-orange: #e4dad1;
+       --global--color-yellow: #eeeadd;
+       --global--color-white: #fff;
+       --global--color-white-50: rgba(255, 255, 255, 0.5); // Used for disabled buttons
+       --global--color-white-90: rgba(255, 255, 255, 0.9); // Used in form fields.
+
+       --global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */
+       --global--color-secondary: var(--global--color-gray); /* Headings */
+       --global--color-primary-hover: var(--global--color-primary);
+       --global--color-background: var(--global--color-green); /* Mint, default body background */
+       --global--color-border: var(--global--color-primary); /* Used for borders (separators) */
+
+       /* Spacing */
+       --global--spacing-unit: #{2 * $baseline-unit}; // 20px
+       --global--spacing-measure: unset; // Use ch units here. ie: 60ch = 60 character max-width
+       --global--spacing-horizontal: #{2.5 * $baseline-unit}; // 25px
+       --global--spacing-vertical: #{3 * $baseline-unit}; // 30px.
+
+       /* Elevation */
+       --global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);
+
+       /* Forms */
+       --form--font-family: var(--global--font-secondary);
+       --form--font-size: var(--global--font-size-sm);
+       --form--line-height: var(--global--line-height-body);
+       --form--color-text: var(--global--color-dark-gray); // Text color in input fields is always dark over light background.
+       --form--color-ranged: var(--global--color-secondary);
+       --form--label-weight: 500;
+       --form--border-color: var(--global--color-secondary);
+       --form--border-width: 3px;
+       --form--border-radius: 0;
+       --form--spacing-unit: calc(0.5 * var(--global--spacing-unit));
+
+       /* Cover block */
+       --cover--height: calc(15 * var(--global--spacing-vertical));
+       --cover--color-foreground: var(--global--color-white);
+       --cover--color-background: var(--global--color-black);
+
+       /* Buttons */
+       // Colors
+       --button--color-text: var(--global--color-background);
+       --button--color-text-hover: var(--global--color-secondary);
+       --button--color-text-active: var(--global--color-secondary);
+       --button--color-background: var(--global--color-secondary);
+       --button--color-background-active: var(--global--color-background);
+       // Fonts
+       --button--font-family: var(--global--font-primary);
+       --button--font-size: var(--global--font-size-base);
+       --button--font-weight: 500;
+       --button--line-height: 1.5;
+       // Borders
+       --button--border-width: 3px;
+       --button--border-radius: 0;
+       // Spacing
+       --button--padding-vertical: 15px;
+       --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
+
+       /* entry */
+       --entry-header--color: var(--global--color-primary);
+       --entry-header--color-link: currentColor;
+       --entry-header--color-hover: var(--global--color-primary-hover);
+       --entry-header--color-focus: var(--global--color-secondary);
+       --entry-header--font-size: var(--heading--font-size-h2);
+       --entry-content--font-family: var(--global--font-secondary);
+       --entry-author-bio--font-family: var(--heading--font-family);
+       --entry-author-bio--font-size: var(--heading--font-size-h4);
+
+       /* Header */
+       --branding--color-text: var(--global--color-primary);
+       --branding--color-link: var(--global--color-primary);
+       --branding--color-link-hover: var(--global--color-secondary);
+       --branding--title--font-family: var(--global--font-primary);
+       --branding--title--font-size: var(--global--font-size-lg);
+       --branding--title--font-size-mobile: var(--heading--font-size-h4);
+       --branding--title--font-weight: normal;
+       --branding--title--text-transform: uppercase;
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--description--font-size: var(--global--font-size-sm);
+       --branding--description--font-family: var(--global--font-secondary);
+
+       --branding--logo--max-width: 300px;
+       --branding--logo--max-height: 100px;
+       --branding--logo--max-width-mobile: 96px;
+       --branding--logo--max-height-mobile: 96px;
+
+       /* Main navigation */
+       --primary-nav--font-family: var(--global--font-secondary);
+       --primary-nav--font-family-mobile: var(--global--font-primary);
+       --primary-nav--font-size: var(--global--font-size-md);
+       --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
+       --primary-nav--font-size-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-button: var(--global--font-size-xs);
+       --primary-nav--font-style: normal;
+       --primary-nav--font-style-sub-menu-mobile: normal;
+       --primary-nav--font-weight: normal;
+       --primary-nav--font-weight-button: 500;
+       --primary-nav--color-link: var(--global--color-primary);
+       --primary-nav--color-link-hover: var(--global--color-primary-hover);
+       --primary-nav--color-text: var(--global--color-primary);
+       --primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
+       --primary-nav--border-color: var(--global--color-primary);
+
+       /* Pagination */
+       --pagination--color-text: var(--global--color-primary);
+       --pagination--color-link-hover: var(--global--color-primary-hover);
+       --pagination--font-family: var(--global--font-secondary);
+       --pagination--font-size: var(--global--font-size-lg);
+       --pagination--font-weight: normal;
+       --pagination--font-weight-strong: 600;
+
+       /* Footer */
+       --footer--color-text: var(--global--color-primary);
+       --footer--color-link: var(--global--color-primary);
+       --footer--color-link-hover: var(--global--color-primary-hover);
+       --footer--font-family: var(--global--font-primary);
+       --footer--font-size: var(--global--font-size-sm);
+
+       /* Block: Pull quote */
+       --pullquote--font-family: var(--global--font-primary);
+       --pullquote--font-size: var(--heading--font-size-h3);
+       --pullquote--font-style: normal;
+       --pullquote--letter-spacing: var(--heading--letter-spacing-h4);
+       --pullquote--line-height: var(--global--line-height-heading);
+       --pullquote--border-width: 3px;
+       --pullquote--border-color: var(--global--color-primary);
+       --pullquote--color-foreground: var(--global--color-primary);
+       --pullquote--color-background: var(--global--color-background);
+
+       --quote--font-family: var(--global--font-secondary);
+       --quote--font-size: var(--global--font-size-md);
+       --quote--font-size-large: var(--global--font-size-xl);
+       --quote--font-style: normal;
+       --quote--font-weight: 700;
+       --quote--font-weight-strong: bolder;
+       --quote--font-style-large: normal;
+       --quote--font-style-cite: normal;
+       --quote--line-height: var(--global--line-height-body);
+       --quote--line-height-large: 1.35;
+
+       --separator--border-color: var(--global--color-border);
+       --separator--height: 1px;
+
+       /* Block: Table */
+       --table--stripes-border-color: var(--global--color-light-gray);
+       --table--stripes-background-color: var(--global--color-light-gray);
+       --table--has-background-text-color: var(--global--color-dark-gray);
+
+       /* Widgets */
+       --widget--line-height-list: 1.9;
+       --widget--line-height-title: 1.4;
+       --widget--font-weight-title: 700;
+       --widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));
+
+       /* Admin-bar height */
+       --global--admin-bar--height: 0px;
+}
+
+.admin-bar {
+       --global--admin-bar--height: 32px;
+
+       @media only screen and (max-width: 782px) {
+               --global--admin-bar--height: 46px;
+       }
+}
+
+@media only screen and (min-width: 652px) { // Not using the mixin because it's compiled after this file
+       :root {
+               --global--font-size-xl: 2.5rem; // 40px / 16px
+               --global--font-size-xxl: 6rem; // 96px / 16px
+               --global--font-size-xxxl: 9rem; // 144px / 16px
+               --heading--font-size-h3: 2rem; // 32px / 16px
+               --heading--font-size-h2: 3rem; // 48px / 16px
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/02-tools/functions.scss b/wp-content/themes/twentytwentyone/assets/sass/02-tools/functions.scss
new file mode 100644 (file)
index 0000000..831bbdc
--- /dev/null
@@ -0,0 +1,178 @@
+// Remove the unit of a length
+// @param {Number} $number - Number to remove unit from
+// @return {Number} - Unitless number
+@function strip-unit($number) {
+       @if type-of($number) == "number" and not unitless($number) {
+               @return $number / ($number * 0 + 1);
+       }
+
+       @return $number;
+}
+
+// ----
+// Sass (v3.3.14)
+// Compass (v1.0.0.rc.1)
+// ----
+
+@function pow($x, $y) {
+       $ret: 1;
+
+       @if $y > 0 {
+               @for $i from 1 through $y {
+                       $ret: $ret * $x;
+               }
+       } @else {
+               @for $i from $y to 0 {
+                       $ret: $ret / $x;
+               }
+       }
+
+       @return $ret;
+}
+
+// Map deep get
+// @author Hugo Giraudel
+// @access public
+// @param {Map} $map - Map
+// @param {Arglist} $keys - Key chain
+// @return {*} - Desired value
+//
+// Example:
+// $m-breakpoint: map-deep-get($__prefix-default-config, "layouts", "M");
+@function map-deep-get($map, $keys...) {
+       @each $key in $keys {
+               $map: map-get($map, $key);
+       }
+       @return $map;
+}
+
+// Deep set function to set a value in nested maps
+// @author Hugo Giraudel
+// @access public
+// @param {Map} $map - Map
+// @param {List} $keys -  Key chaine
+// @param {*} $value - Value to assign
+// @return {Map}
+//
+// Example:
+// $__prefix-default-config: map-deep-set($__prefix-default-config, "layouts" "M", 650px);
+@function map-deep-set($map, $keys, $value) {
+       $maps: ($map);
+       $result: null;
+
+       // If the last key is a map already
+       // Warn the user we will be overriding it with $value
+       @if type-of(nth($keys, -1)) == "map" {
+               @warn "The last key you specified is a map; it will be overridden with `#{$value}`.";
+       }
+
+       // If $keys is a single key
+       // Just merge and return
+       @if length($keys) == 1 {
+               @return map-merge($map, ($keys: $value));
+       }
+
+       // Loop from the first to the second to last key from $keys
+       // Store the associated map to this key in the $maps list
+       // If the key doesn't exist, throw an error
+       @for $i from 1 through length($keys) - 1 {
+               $current-key: nth($keys, $i);
+               $current-map: nth($maps, -1);
+               $current-get: map-get($current-map, $current-key);
+               @if $current-get == null {
+                       @error "Key `#{$key}` doesn't exist at current level in map.";
+               }
+               $maps: append($maps, $current-get);
+       }
+
+       // Loop from the last map to the first one
+       // Merge it with the previous one
+       @for $i from length($maps) through 1 {
+               $current-map: nth($maps, $i);
+               $current-key: nth($keys, $i);
+               $current-val: if($i == length($maps), $value, $result);
+               $result: map-merge($current-map, ($current-key: $current-val));
+       }
+
+       // Return result
+       @return $result;
+}
+
+// jQuery-style extend function
+// - Child themes can use this function to `reset` the values in
+//   config maps without editing the `master` Sass files.
+// - src: https://www.sitepoint.com/extra-map-functions-sass/
+// - About `map-merge()`:
+// - - only takes 2 arguments
+// - - is not recursive
+// @param {Map} $map - first map
+// @param {ArgList} $maps - other maps
+// @param {Bool} $deep - recursive mode
+// @return {Map}
+
+// Examples:
+
+// $grid-configuration-default: (
+//     'columns': 12,
+//     'layouts': (
+//             'small': 800px,
+//             'medium': 1000px,
+//             'large': 1200px,
+//     ),
+// );
+
+// $grid-configuration-custom: (
+//     'layouts': (
+//             'large': 1300px,
+//             'huge': 1500px
+//     ),
+// );
+
+// $grid-configuration-user: (
+//     'direction': 'ltr',
+//     'columns': 16,
+//     'layouts': (
+//             'large': 1300px,
+//             'huge': 1500px
+//     ),
+// );
+
+// $deep: false
+// $grid-configuration: map-extend($grid-configuration-default, $grid-configuration-custom, $grid-configuration-user);
+// --> ("columns": 16, "layouts": (("large": 1300px, "huge": 1500px)), "direction": "ltr")
+
+// $deep: true
+// $grid-configuration: map-extend($grid-configuration-default, $grid-configuration-custom, $grid-configuration-user, true);
+// --> ("columns": 16, "layouts": (("small": 800px, "medium": 1000px, "large": 1300px, "huge": 1500px)), "direction": "ltr")
+
+@function map-extend($map, $maps.../*, $deep */) {
+       $last: nth($maps, -1);
+       $deep: $last == true;
+       $max: if($deep, length($maps) - 1, length($maps));
+
+       // Loop through all maps in $maps...
+       @for $i from 1 through $max {
+               // Store current map
+               $current: nth($maps, $i);
+
+               // If not in deep mode, simply merge current map with map
+               @if not $deep {
+                       $map: map-merge($map, $current);
+               } @else {
+                       // If in deep mode, loop through all tuples in current map
+                       @each $key, $value in $current {
+
+                               // If value is a nested map and same key from map is a nested map as well
+                               @if type-of($value) == "map" and type-of(map-get($map, $key)) == "map" {
+                                       // Recursive extend
+                                       $value: map-extend(map-get($map, $key), $value, true);
+                               }
+
+                               // Merge current tuple with map
+                               $map: map-merge($map, ($key: $value));
+                       }
+               }
+       }
+
+       @return $map;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/02-tools/mixins.scss b/wp-content/themes/twentytwentyone/assets/sass/02-tools/mixins.scss
new file mode 100644 (file)
index 0000000..475baf5
--- /dev/null
@@ -0,0 +1,100 @@
+// Responsive breakpoints mixin
+@mixin add_variables( $view: frontend ) {
+
+       @if frontend == $view {
+
+               :root {
+                       @content;
+               }
+       }
+
+       @if editor == $view {
+
+               :root,
+               body {
+                       @content;
+               }
+       }
+}
+
+// Button style
+// - Applies button styles to blocks and elements that share them.
+@mixin button-style() {
+       border: var(--button--border-width) solid transparent;
+       border-radius: var(--button--border-radius);
+       cursor: pointer;
+       font-weight: var(--button--font-weight);
+       font-family: var(--button--font-family);
+       font-size: var(--button--font-size);
+       line-height: var(--button--line-height);
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+       text-decoration: none;
+
+       // Standard Button Color Relationship Logic
+       &:not(:hover):not(:active) {
+
+               // Text colors
+               &:not(.has-text-color) {
+                       color: var(--global--color-background);
+
+                       // Nested
+                       .has-background & {
+                               color: var(--local--color-background, var(--global--color-primary));
+
+                               &.has-background {
+                                       color: var(--global--color-primary);
+                               }
+                       }
+               }
+
+               // Background-colors
+               &:not(.has-background) {
+                       background-color: var(--global--color-primary);
+
+                       // Nested
+                       .has-background & {
+                               background-color: var(--local--color-primary, var(--global--color-primary));
+                       }
+               }
+       }
+
+       // Hover Button color should match parent element foreground color
+       &:hover,
+       &:active {
+               background-color: transparent;
+               border-color: currentColor;
+               color: inherit;
+       }
+
+       // Focus Button outline color should always match the current text color
+       &:focus {
+               outline-offset: -6px;
+               outline: 2px dotted currentColor;
+       }
+
+       // Disabled Button colors
+       &:disabled {
+               background-color: var(--global--color-white-50);
+               border-color: var(--global--color-white-50);
+               color: var(--button--color-text-active);
+       }
+}
+
+@mixin innerblock-margin-clear($container) {
+
+       // Clear the top margin for the first-child.
+       > #{$container} > *:first-child {
+               margin-top: 0;
+       }
+
+       // Last child that is not the appender.
+       > #{$container} > *:last-child:not(.block-list-appender) {
+               margin-bottom: 0;
+       }
+
+       // When selected, the last item becomes the second last because of the appender.
+       &.has-child-selected > #{$container} > *:nth-last-child(2),
+       &.is-selected > #{$container} > *:nth-last-child(2) {
+               margin-bottom: 0;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/03-generic/breakpoints.scss b/wp-content/themes/twentytwentyone/assets/sass/03-generic/breakpoints.scss
new file mode 100644 (file)
index 0000000..254c813
--- /dev/null
@@ -0,0 +1,217 @@
+/**
+ * Responsive Styles
+ */
+
+/**
+ * Required Variables
+ */
+
+$default_width: 610px;
+$max_content_width: 1240px;
+$breakpoint_sm: 482px;
+$breakpoint_md: 592px;
+$breakpoint_lg: 652px;
+$breakpoint_xl: 822px;
+$breakpoint_xxl: 1024px;
+
+// Responsive breakpoints mixin
+@mixin media( $res ) {
+
+       @if mobile-only == $res {
+               @media only screen and (max-width: #{$breakpoint_sm - 1}) {
+                       @content;
+               }
+       }
+
+       @if mobile == $res {
+               @media only screen and (min-width: #{$breakpoint_sm}) {
+                       @content;
+               }
+       }
+
+       @if tablet-only == $res {
+               @media only screen and (max-width: #{$breakpoint_md - 1}) {
+                       @content;
+               }
+       }
+
+       @if tablet == $res {
+               @media only screen and (min-width: #{$breakpoint_md}) {
+                       @content;
+               }
+       }
+
+       @if laptop-only == $res {
+               @media only screen and (max-width: #{$breakpoint_lg - 1}) {
+                       @content;
+               }
+       }
+
+       @if laptop == $res {
+               @media only screen and (min-width: #{$breakpoint_lg}) {
+                       @content;
+               }
+       }
+
+       @if desktop-only == $res {
+               @media only screen and (max-width: #{$breakpoint_xl - 1}) {
+                       @content;
+               }
+       }
+
+       @if desktop == $res {
+               @media only screen and (min-width: #{$breakpoint_xl}) {
+                       @content;
+               }
+       }
+
+       @if wide-only == $res {
+               @media only screen and (max-width: #{$breakpoint_xxl - 1}) {
+                       @content;
+               }
+       }
+
+       @if wide == $res {
+               @media only screen and (min-width: #{$breakpoint_xxl}) {
+                       @content;
+               }
+       }
+}
+
+/**
+ * Root Media Query Variables
+ */
+:root {
+       --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
+       --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignfull-width: 100%;
+       --responsive--alignright-margin: var(--global--spacing-horizontal);
+       --responsive--alignleft-margin: var(--global--spacing-horizontal);
+}
+
+@include media(mobile) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), #{$default_width});
+               --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
+               --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+               --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+       }
+}
+
+@include media(desktop) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), #{$default_width});
+               --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), #{$max_content_width});
+       }
+}
+
+/**
+ * Extends
+ */
+%responsive-aligndefault-width {
+       max-width: var(--responsive--aligndefault-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+%responsive-alignwide-width {
+       max-width: var(--responsive--alignwide-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+%responsive-alignfull-width-mobile {
+       max-width: var(--responsive--alignfull-width);
+       width: var(--responsive--alignfull-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@include media(mobile) {
+       %responsive-alignfull-width {
+               max-width: var(--responsive--alignfull-width);
+               width: auto;
+               margin-left: auto;
+               margin-right: auto;
+       }
+}
+
+%responsive-alignwide-width-nested {
+       margin-left: auto;
+       margin-right: auto;
+       width: var(--responsive--alignwide-width);
+       max-width: var(--responsive--alignfull-width);
+}
+
+%responsive-alignfull-width-nested {
+       margin-left: auto;
+       margin-right: auto;
+       width: calc(var(--responsive--alignfull-width) - calc(2 * var(--responsive--spacing-horizontal)));
+       max-width: var(--responsive--alignfull-width);
+}
+
+@include media(desktop) {
+       %responsive-alignfull-width-nested {
+               margin-left: auto;
+               margin-right: auto;
+               width: calc(var(--responsive--alignfull-width) - calc(4 * var(--responsive--spacing-horizontal)));
+               max-width: var(--responsive--alignfull-width);
+       }
+}
+
+
+%responsive-alignleft-mobile {
+
+       /*rtl:ignore*/
+       margin-left: 0;
+
+       /*rtl:ignore*/
+       margin-right: var(--responsive--spacing-horizontal);
+}
+
+@include media(mobile) {
+       %responsive-alignleft {
+
+               /*rtl:ignore*/
+               margin-left: var(--responsive--alignleft-margin);
+
+               /*rtl:ignore*/
+               margin-right: var(--global--spacing-horizontal);
+       }
+}
+
+%responsive-alignright-mobile {
+
+       /*rtl:ignore*/
+       margin-left: var(--responsive--spacing-horizontal);
+
+       /*rtl:ignore*/
+       margin-right: 0;
+}
+
+@include media(mobile) {
+       %responsive-alignright {
+
+               /*rtl:ignore*/
+               margin-left: var(--global--spacing-horizontal);
+
+               /*rtl:ignore*/
+               margin-right: var(--responsive--alignright-margin);
+       }
+}
+
+// Output
+.default-max-width {
+       @extend %responsive-aligndefault-width;
+}
+
+.wide-max-width {
+       @extend %responsive-alignwide-width;
+}
+
+.full-max-width {
+       @extend %responsive-alignfull-width;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/03-generic/clearings.scss b/wp-content/themes/twentytwentyone/assets/sass/03-generic/clearings.scss
new file mode 100644 (file)
index 0000000..14a7887
--- /dev/null
@@ -0,0 +1,25 @@
+.clear:before,
+.clear:after,
+.entry-content:before,
+.entry-content:after,
+.comment-content:before,
+.comment-content:after,
+.site-header:before,
+.site-header:after,
+.site-content:before,
+.site-content:after,
+.site-footer:before,
+.site-footer:after {
+       content: "";
+       display: table;
+       table-layout: fixed;
+}
+
+.clear:after,
+.entry-content:after,
+.comment-content:after,
+.site-header:after,
+.site-content:after,
+.site-footer:after {
+       clear: both;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/03-generic/normalize.scss b/wp-content/themes/twentytwentyone/assets/sass/03-generic/normalize.scss
new file mode 100644 (file)
index 0000000..388182a
--- /dev/null
@@ -0,0 +1,350 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+
+html {
+       line-height: 1.15; /* 1 */
+       -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+
+body {
+       margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+
+main {
+       display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+       font-size: 2em;
+       margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+       box-sizing: content-box; /* 1 */
+       height: 0; /* 1 */
+       overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+       background-color: transparent;
+       text-decoration-thickness: 1px;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+       border-bottom: none; /* 1 */
+       text-decoration: underline; /* 2 */
+       text-decoration-style: dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+       font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+       font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+       font-size: 75%;
+       line-height: 0;
+       position: relative;
+       vertical-align: baseline;
+}
+
+sub {
+       bottom: -0.25em;
+}
+
+sup {
+       top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+
+img {
+       border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+       font-family: inherit; /* 1 */
+       font-size: 100%; /* 1 */
+       line-height: 1.15; /* 1 */
+       margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+       overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+       text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+       -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+       border-style: none;
+       padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+       outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+       padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+
+legend {
+       box-sizing: border-box; /* 1 */
+       color: inherit; /* 2 */
+       display: table; /* 1 */
+       max-width: 100%; /* 1 */
+       padding: 0; /* 3 */
+       white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+       vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+       overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+       box-sizing: border-box; /* 1 */
+       padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+       height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+       -webkit-appearance: textfield; /* 1 */
+       outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+       -webkit-appearance: button; /* 1 */
+       font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+       display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+       display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+       display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+       display: none;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/03-generic/reset.scss b/wp-content/themes/twentytwentyone/assets/sass/03-generic/reset.scss
new file mode 100644 (file)
index 0000000..d539b0e
--- /dev/null
@@ -0,0 +1,75 @@
+/**
+ * Reset specific elements to make them easier to style in other contexts.
+ */
+
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+form,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       padding: 0;
+       margin: 0;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+/**
+ * Apply generic border-box to all elements.
+ * See:
+ * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
+ */
+
+html {
+
+       /* Apply border-box across the entire page. */
+       box-sizing: border-box;
+
+       // HTML resets
+       font-family: var(--global--font-secondary);
+       line-height: var(--global--line-height-body);
+}
+
+/**
+ * Relax the definition a bit, to allow components to override it manually.
+ */
+* {
+
+       &,
+       &::before,
+       &::after {
+               box-sizing: inherit;
+       }
+}
+
+// body resets
+body {
+       font-size: var(--global--font-size-base);
+       font-weight: normal;
+       color: var(--global--color-primary);
+       text-align: left;
+       background-color: var(--global--color-background);
+}
+
+
+button {
+       cursor: pointer;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/03-generic/vertical-margins.scss b/wp-content/themes/twentytwentyone/assets/sass/03-generic/vertical-margins.scss
new file mode 100644 (file)
index 0000000..e6746a3
--- /dev/null
@@ -0,0 +1,173 @@
+/**
+ * Site Structure
+ *
+ * - Set vertical margins and responsive widths on
+ *   top-level wrappers and content wrappers
+ * - `--global--width-content` is a responsive variable
+ * - See: globals/_global-width-responsive.scss
+ */
+
+/**
+ * Top Level Wrappers (header, main, footer)
+ * - Set vertical padding and horizontal margins
+ */
+.site-header,
+.site-main,
+.widget-area,
+.site-footer {
+       padding-top: var(--global--spacing-vertical);
+       padding-bottom: var(--global--spacing-vertical);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.site-header {
+       padding-top: calc(0.75 * var(--global--spacing-vertical));
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+
+       @include media(mobile) {
+               padding-bottom: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+/**
+ * Site-main children wrappers
+ * - Add double vertical margins here for clearer hierarchy
+ */
+.site-main > * {
+       margin-top: calc(3 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+
+       &:first-child {
+               margin-top: 0;
+       }
+
+       &:last-child {
+               margin-bottom: 0;
+       }
+}
+
+/**
+ * Set the default maximum responsive content-width
+ */
+.default-max-width {
+       @extend %responsive-aligndefault-width;
+}
+
+/**
+ * Set the wide maximum responsive content-width
+ */
+.wide-max-width {
+       @extend %responsive-alignwide-width;
+}
+
+/**
+ * Set the full maximum responsive content-width
+ */
+.full-max-width {
+       @extend %responsive-alignfull-width-mobile;
+       @extend %responsive-alignfull-width;
+}
+
+/*
+ * Block & non-gutenberg content wrappers
+ * - Set margins
+ */
+.entry-header,
+.post-thumbnail,
+.entry-content,
+.entry-footer,
+.author-bio {
+       margin-top: var(--global--spacing-vertical);
+       margin-right: auto;
+       margin-bottom: var(--global--spacing-vertical);
+       margin-left: auto;
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-vertical margin logic
+ */
+.site-main > article > *, // apply vertical margins to article level
+.site-main > .not-found > *, // apply vertical margins to article level
+.entry-content > *,
+[class*="inner-container"] > *,
+.wp-block-template-part > *,
+.wp-block-post-template :where(li > *) { // using :where keeps specificity low.
+
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+
+       @include media(mobile) {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+       &:first-child {
+               margin-top: 0;
+       }
+
+       &:last-child {
+               margin-bottom: 0;
+       }
+}
+
+.site-footer > *,
+.widget-area > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+
+       @include media(mobile) {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-unit margins
+ */
+//.site-header > *, // Removed, to align site title and menu.
+.entry-header > *,
+.post-thumbnail > *,
+.page-content > *,
+.comment-content > *,
+.widget > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+
+       &:first-child {
+               margin-top: 0;
+       }
+
+       &:last-child {
+               margin-bottom: 0;
+       }
+}
+
+
+/*
+ * .entry-content children specific controls
+ * - Adds special margin overrides for alignment utility classes
+ */
+.entry-content > * {
+
+       &.alignleft,
+       &.alignright,
+       &.alignleft:first-child + *,
+       &.alignright:first-child + *,
+       &.alignfull.has-background {
+               margin-top: 0;
+       }
+
+       &:last-child,
+       &.alignfull.has-background {
+               margin-bottom: 0;
+       }
+
+       /* Reset alignleft and alignright margins after alignfull */
+       &.alignfull + .alignleft,
+       &.alignfull + .alignright {
+               margin-top: var(--global--spacing-vertical);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/04-elements/blockquote.scss b/wp-content/themes/twentytwentyone/assets/sass/04-elements/blockquote.scss
new file mode 100644 (file)
index 0000000..e599b0b
--- /dev/null
@@ -0,0 +1,81 @@
+blockquote {
+       padding: 0;
+       position: relative;
+       margin: var(--global--spacing-vertical) 0 var(--global--spacing-vertical) var(--global--spacing-horizontal);
+
+       > * {
+               margin-top: var(--global--spacing-unit);
+               margin-bottom: var(--global--spacing-unit);
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       p {
+               letter-spacing: var(--heading--letter-spacing-h4);
+               font-family: var(--quote--font-family);
+               font-size: var(--quote--font-size);
+               font-style: var(--quote--font-style);
+               font-weight: var(--quote--font-weight);
+               line-height: var(--quote--line-height);
+       }
+
+       cite,
+       footer {
+               font-weight: normal;
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               letter-spacing: var(--global--letter-spacing);
+       }
+
+       &.alignleft,
+       &.alignright {
+
+               padding-left: inherit;
+
+               p {
+                       font-size: var(--heading--font-size-h5);
+                       max-width: inherit;
+                       width: inherit;
+               }
+
+               cite,
+               footer {
+                       font-size: var(--global--font-size-xs);
+                       letter-spacing: var(--global--letter-spacing);
+               }
+       }
+
+       strong {
+               font-weight: var(--quote--font-weight-strong);
+       }
+
+       &:before {
+               content: "\201C";
+               font-size: var(--quote--font-size);
+               line-height: var(--quote--line-height);
+               position: absolute;
+               left: calc(-0.5 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-quote__citation,
+       cite,
+       footer {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               font-style: var(--quote--font-style-cite);
+       }
+
+       @include media(mobile-only) {
+               padding-left: calc(0.5 * var(--global--spacing-horizontal));
+
+               &:before {
+                       left: 0;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/04-elements/forms-editor.scss b/wp-content/themes/twentytwentyone/assets/sass/04-elements/forms-editor.scss
new file mode 100644 (file)
index 0000000..67c8f61
--- /dev/null
@@ -0,0 +1,13 @@
+select,
+select:focus {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       font-size: var(--form--font-size);
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit);
+       background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat; // stylelint-disable-line function-url-quotes
+       background-position: right var(--form--spacing-unit) top 60%;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/04-elements/forms.scss b/wp-content/themes/twentytwentyone/assets/sass/04-elements/forms.scss
new file mode 100644 (file)
index 0000000..6e734aa
--- /dev/null
@@ -0,0 +1,329 @@
+input[type="text"],
+input[type="email"],
+input[type="url"],
+input[type="password"],
+input[type="search"],
+input[type="number"],
+input[type="tel"],
+input[type="date"],
+input[type="month"],
+input[type="week"],
+input[type="time"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="color"],
+.site textarea {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       line-height: var(--global--line-height-body);
+       padding: var(--form--spacing-unit);
+       // Gives a little more space for the outline offset.
+       margin: 0 2px;
+       max-width: 100%;
+
+       &:focus {
+               color: var(--form--color-text);
+               outline-offset: 2px;
+               outline: 2px dotted var(--form--border-color);
+       }
+
+       &:disabled {
+               opacity: 0.7;
+       }
+
+       .is-dark-theme & {
+               background: var(--global--color-white-90);
+       }
+}
+
+// Reset the negative offset from normalize to make the thicker "border" work on focus.
+input[type="search"] {
+
+       &:focus {
+               outline-offset: -7px;
+
+               .is-dark-theme & {
+                       outline-color: var(--global--color-background);
+               }
+       }
+}
+
+input[type="color"] {
+       padding: calc(var(--form--spacing-unit) / 2);
+       height: calc(4 * var(--form--spacing-unit));
+}
+
+input[type="email"],
+input[type="url"] {
+
+       /*rtl:ignore*/
+       direction: ltr;
+}
+
+select {
+       border: var(--form--border-width) solid var(--form--border-color);
+       color: var(--form--color-text);
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       line-height: var(--global--line-height-body);
+       padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit);
+       background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat; // stylelint-disable-line function-url-quotes
+       background-position: right var(--form--spacing-unit) top 60%;
+
+       &:focus {
+               outline-offset: 2px;
+               outline: 2px dotted var(--form--border-color);
+       }
+
+       .is-dark-theme & {
+               background: var(--global--color-white-90) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat; // stylelint-disable-line function-url-quotes
+               background-position: right var(--form--spacing-unit) top 60%;
+       }
+}
+
+textarea {
+       width: 100%;
+}
+
+label {
+       font-size: var(--form--font-size);
+       font-weight: var(--form--label-weight);
+       margin-bottom: calc(var(--global--spacing-vertical) / 3);
+}
+
+/**
+https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
+https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
+License: MIT.
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type="checkbox"],
+       input[type="radio"] {
+               -webkit-appearance: none;
+               -moz-appearance: none;
+               position: relative;
+               width: 25px;
+               height: 25px;
+               border: var(--form--border-width) solid var(--form--border-color);
+               background: var(--global--color-white);
+
+               &:disabled {
+                       opacity: 0.7;
+               }
+
+               .is-dark-theme & {
+                       background: var(--global--color-white-90);
+               }
+       }
+
+       input[type="checkbox"] {
+
+               &:focus {
+                       outline-offset: 2px;
+                       outline: 2px dotted var(--form--border-color);
+               }
+
+               &:after {
+                       content: "";
+                       opacity: 0;
+                       display: block;
+                       left: 5px;
+                       top: 2px;
+                       position: absolute;
+                       width: 7px;
+                       height: 13px;
+                       border: 3px solid var(--form--color-text);
+                       border-top: 0;
+                       border-left: 0;
+                       transform: rotate(30deg);
+               }
+
+               &:checked {
+                       color: var(--form--color-text);
+
+                       &:after {
+                               opacity: 1;
+                       }
+               }
+       }
+
+       input[type="radio"] {
+               border-radius: 50%;
+
+               &:focus {
+                       outline-offset: 2px;
+                       outline: 2px dotted var(--form--border-color);
+               }
+
+               &:after {
+                       content: "";
+                       opacity: 0;
+                       display: block;
+                       left: 3px;
+                       top: 3px;
+                       position: absolute;
+                       width: 11px;
+                       height: 11px;
+                       border-radius: 50%;
+                       background: var(--form--color-text);
+               }
+
+               &:checked {
+                       border: 4px solid var(--form--border-color);
+
+                       &:after {
+                               opacity: 1;
+                       }
+
+                       // Focus style for checked radio buttons.
+                       &:focus {
+                               outline-offset: 4px;
+                               outline: 2px dotted var(--form--border-color);
+                       }
+               }
+       }
+}
+
+input[type="checkbox"] + label,
+input[type="radio"] + label {
+       display: inline-block;
+       padding-left: 10px;
+       font-size: var(--global--font-size-xs);
+       vertical-align: top;
+}
+
+/**
+ * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type="range"] {
+               -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
+               width: 100%; /* Specific width is required for Firefox. */
+               height: 6px;
+               background: var(--form--color-ranged);
+               border-radius: 6px;
+               outline-offset: 10px;
+
+               &:disabled {
+                       opacity: 0.7;
+               }
+       }
+
+       input[type="range"]::-webkit-slider-thumb {
+               -webkit-appearance: none;
+               border: 3px solid var(--form--color-ranged);
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: var(--global--color-background);
+               cursor: pointer;
+       }
+
+       input[type="range"]::-moz-range-thumb {
+               border: 3px solid var(--form--color-ranged);
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: var(--global--color-background);
+               cursor: pointer;
+               box-sizing: border-box;
+       }
+}
+
+input[type="range"]::-ms-track {
+       width: 100%;
+       height: 6px;
+       border-radius: 6px;
+       border-width: 19px 0;
+       border-color: var(--global--color-background);
+       background: transparent;
+       color: transparent;
+       cursor: pointer;
+}
+
+input[type="range"]::-ms-fill-upper {
+       background: var(--form--color-ranged);
+       border-radius: 6px;
+}
+
+input[type="range"]::-ms-fill-lower {
+       background: var(--form--color-ranged);
+       border-radius: 6px;
+}
+
+input[type="range"]::-ms-thumb {
+       border: 3px solid var(--form--color-ranged);
+       height: 44px;
+       width: 44px;
+       border-radius: 50%;
+       background: var(--global--color-background);
+       cursor: pointer;
+}
+
+fieldset {
+       display: grid;
+       border-color: var(--global--color-secondary);
+       padding: var(--global--spacing-horizontal);
+
+       legend {
+               font-size: var(--global--font-size-lg);
+       }
+
+       input {
+
+               &[type="submit"] {
+                       max-width: max-content;
+               }
+
+               &:not([type="submit"]) {
+                       margin-bottom: var(--global--spacing-unit);
+               }
+
+               &[type="radio"],
+               &[type="checkbox"] {
+                       margin-bottom: 0;
+               }
+
+               &[type="radio"] + label,
+               &[type="checkbox"] + label {
+                       font-size: var(--form--font-size);
+                       padding-left: 0;
+                       margin-bottom: var(--global--spacing-unit);
+               }
+       }
+}
+
+::-moz-placeholder { // Firefox 19+
+       opacity: 1;
+}
+
+.post-password-message {
+       font-size: var(--global--font-size-lg);
+}
+
+.post-password-form {
+       display: flex;
+       flex-wrap: wrap;
+
+       &__label {
+               width: 100%;
+               margin-bottom: 0;
+       }
+
+       input[type="password"] {
+               flex-grow: 1;
+               margin-top: calc(var(--global--spacing-vertical) / 3);
+               margin-right: calc(0.66 * var(--global--spacing-horizontal));
+       }
+
+       &__submit {
+               margin-top: calc(var(--global--spacing-vertical) / 3);
+               @include media(tablet) {
+                       margin-left: calc(0.4 * var(--global--spacing-horizontal));
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/04-elements/links.scss b/wp-content/themes/twentytwentyone/assets/sass/04-elements/links.scss
new file mode 100644 (file)
index 0000000..6c121e0
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * text-underline-offset doesn't work in Chrome at all 👎
+ * But looks nice in Safari/Firefox, so let's keep it and
+ * maybe Chrome will support it soon.
+ */
+a {
+       cursor: pointer;
+       color: var(--wp--style--color--link, var(--global--color-primary));
+       text-underline-offset: 3px;
+       text-decoration-skip-ink: all;
+}
+
+a:hover {
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+
+       text-decoration: underline 1px dotted currentColor;
+       text-decoration-skip-ink: none;
+       background: rgba(255, 255, 255, .9);
+
+       // Change text color when the body background is dark.
+       .is-dark-theme & {
+               background: var(--global--color-black);
+               color: var(--global--color-white);
+               text-decoration: none;
+
+               .meta-nav {
+                       color: var(--wp--style--color--link, var(--global--color-white));
+               }
+       }
+
+       // Change colors when the body background is white.
+       .has-background-white & {
+               background: rgba(0, 0, 0, .9);
+               color: var(--wp--style--color--link, var(--global--color-white));
+
+               .meta-nav {
+                       color: var(--wp--style--color--link, var(--global--color-white));
+               }
+       }
+
+       &.skip-link {
+
+               /* Only visible in Windows High Contrast mode */
+               outline: 2px solid transparent;
+               outline-offset: -2px;
+
+               &:focus {
+                       color: #21759b;
+                       background-color: #f1f1f1;
+               }
+       }
+
+       &.custom-logo-link {
+               background: none;
+       }
+
+       img {
+               outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary));
+       }
+}
+
+// Enforce the custom link color even if a custom background color has been set.
+// The extra specificity here is required to override the background color styles.
+.has-background {
+       // Target both current level and nested block.
+       .has-link-color a,
+       &.has-link-color a {
+               color: var(--wp--style--color--link, var(--global--color-primary));
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/04-elements/media.scss b/wp-content/themes/twentytwentyone/assets/sass/04-elements/media.scss
new file mode 100644 (file)
index 0000000..b141fb5
--- /dev/null
@@ -0,0 +1,46 @@
+img {
+       height: auto;
+       max-width: 100%;
+       vertical-align: middle;
+}
+
+/* Classic editor images */
+.entry-content img {
+       max-width: 100%;
+}
+
+/* Make sure embeds and iframes fit their containers. */
+embed,
+iframe,
+object,
+video {
+       max-width: 100%;
+}
+
+/* Media captions */
+figcaption,
+.wp-caption,
+.wp-caption-text,
+.wp-block-embed figcaption {
+       color: currentColor;
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+
+       .alignleft &,
+       .alignright & {
+               margin-bottom: 0;
+       }
+}
+
+/* WP Smiley */
+.page-content .wp-smiley,
+.entry-content .wp-smiley,
+.comment-content .wp-smiley {
+       border: none;
+       margin-bottom: 0;
+       margin-top: 0;
+       padding: 0;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/04-elements/misc.scss b/wp-content/themes/twentytwentyone/assets/sass/04-elements/misc.scss
new file mode 100644 (file)
index 0000000..9fe7247
--- /dev/null
@@ -0,0 +1,17 @@
+/* Over here, place any elements that do not need to have their own file. */
+b,
+strong {
+       font-weight: 700;
+}
+
+dfn,
+cite,
+em,
+i {
+       font-style: italic;
+}
+
+pre {
+       white-space: pre;
+       overflow-x: auto;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/_config.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/_config.scss
new file mode 100644 (file)
index 0000000..481c544
--- /dev/null
@@ -0,0 +1,7 @@
+//  Variable Configuration
+//  - Import all config files for display in
+//    the editor, customizer, and front end.
+
+
+@import "separator/config";
+@import "utilities/config";
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/audio/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/audio/_style.scss
new file mode 100644 (file)
index 0000000..0e2d1d0
--- /dev/null
@@ -0,0 +1,7 @@
+.wp-block-audio {
+
+       audio:focus {
+               outline-offset: 5px;
+               outline: 2px solid var(--global--color-primary);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/blocks-editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/blocks-editor.scss
new file mode 100644 (file)
index 0000000..58fa8b4
--- /dev/null
@@ -0,0 +1,36 @@
+// Block Styles for the Editor
+// - These styles replace key Gutenberg Block styles for fonts, colors, and
+//   spacing with CSS-variables overrides in the Block Editor
+// - In the future the Block styles may get compiled to individual .css
+//   files and conditionally loaded
+
+@import "button/editor";
+@import "code/editor";
+@import "cover/editor";
+@import "columns/editor";
+@import "file/editor";
+@import "gallery/editor";
+@import "group/editor";
+@import "heading/editor";
+@import "html/editor";
+@import "image/editor";
+@import "latest-comments/editor";
+@import "latest-posts/editor";
+@import "legacy/editor"; // "Blocks" from the legacy WP editor, ie: galleries, .button class, etc.
+@import "list/editor";
+@import "media-text/editor";
+@import "navigation/editor";
+@import "paragraph/editor";
+@import "preformatted/editor";
+@import "pullquote/editor";
+@import "query-loop/editor";
+@import "quote/editor";
+@import "rss/editor";
+@import "search/editor";
+@import "separator/editor";
+@import "social-icons/editor";
+@import "table/editor";
+@import "tag-clould/editor";
+@import "verse/editor";
+@import "utilities/font-sizes";
+@import "utilities/editor"; // Import LAST to cascade properly
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/blocks.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/blocks.scss
new file mode 100644 (file)
index 0000000..b8d04e2
--- /dev/null
@@ -0,0 +1,37 @@
+// Blocks
+// - These styles replace key Gutenberg Block styles with font, color, and
+//   spacing with CSS-variables overrides
+// - In the future the Block styles may get compiled to individual .css
+//   files and conditionally loaded
+
+@import "audio/style";
+@import "button/style";
+@import "code/style";
+@import "columns/style";
+@import "cover/style";
+@import "file/style";
+@import "gallery/style";
+@import "group/style";
+@import "heading/style";
+@import "image/style";
+@import "latest-comments/style";
+@import "latest-posts/style";
+@import "legacy/style"; // "Blocks" from the legacy WP editor, ie: galleries, .button class, etc.
+@import "list/style";
+@import "media-text/style";
+@import "navigation/style";
+@import "paragraph/style";
+@import "preformatted/style";
+@import "pullquote/style";
+@import "query-loop/style";
+@import "quote/style";
+@import "rss/style";
+@import "search/style";
+@import "separator/style";
+@import "social-icons/style";
+@import "table/style";
+@import "tag-clould/style";
+@import "verse/style";
+@import "video/style";
+@import "utilities/font-sizes";
+@import "utilities/style"; // Import LAST to cascade properly
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/button/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/button/_editor.scss
new file mode 100644 (file)
index 0000000..1aed34c
--- /dev/null
@@ -0,0 +1,126 @@
+.wp-block-button__link {
+       // Extend button style
+       @include button-style();
+}
+
+/**
+ * Block Options
+ */
+
+.wp-block-button {
+
+       // Target the default and filled button states.
+       &:not(.is-style-outline) {
+
+               .wp-block-button__link:not(:hover):not(:active) {
+
+                       // Text colors
+                       &:not(.has-text-color) {
+                               color: var(--global--color-background);
+
+                               // Nested
+                               .has-background & {
+                                       color: var(--local--color-background, var(--global--color-background));
+
+                                       &.has-background {
+                                               color: var(--global--color-primary);
+                                       }
+                               }
+                       }
+
+                       // Background-colors
+                       &:not(.has-background) {
+                               background-color: var(--global--color-primary);
+
+                               // Nested
+                               .has-background & {
+                                       background-color: var(--local--color-primary, var(--global--color-primary));
+                               }
+                       }
+               }
+
+               // Hover Button color should match parent element foreground color
+               .wp-block-button__link:hover,
+               .wp-block-button__link:active {
+                       border-color: currentColor !important;
+                       background-color: transparent !important;
+                       color: inherit !important;
+               }
+
+               // Remove :focus styles in the editor
+               .wp-block-button__link:focus {
+                       outline-offset: inherit;
+                       outline: inherit;
+               }
+       }
+
+       // Outline Style.
+       &.is-style-outline {
+
+               .wp-block-button__link:not(:hover):not(:active) {
+
+                       // Border colors
+                       &:not(.has-text-color),
+                       &:not(.has-background),
+                       &.has-background {
+                               border-color: currentColor;
+                       }
+
+                       // Text colors
+                       &:not(.has-text-color) {
+                               color: var(--global--color-primary);
+
+                               // Nested
+                               .has-background & {
+                                       color: var(--local--color-primary, var(--global--color-primary));
+                               }
+                       }
+
+                       &.has-background {
+                               // Nested
+                               .has-background &:not(.has-text-color) {
+                                       color: inherit;
+                               }
+                       }
+
+                       // Background-colors
+                       &:not(.has-background) {
+                               background-color: transparent;
+                       }
+               }
+
+               // Hover Button color should match default button style
+               .wp-block-button__link:hover,
+               .wp-block-button__link:active {
+
+                       background-color: var(--global--color-primary) !important;
+                       border-color: transparent !important;
+                       color: var(--global--color-background) !important;
+
+                       .has-background & {
+                               background-color: var(--local--color-primary, var(--global--color-primary)) !important;
+                               color: var(--local--color-background, var(--global--color-background)) !important;
+                       }
+
+                       .has-text-color & {
+                               color: var(--local--color-background, var(--global--color-background)) !important;
+                       }
+               }
+
+               // Remove :focus styles in the editor
+               .wp-block-button__link:focus {
+                       outline-offset: inherit;
+                       outline: inherit;
+               }
+       }
+
+       // Squared Style
+       &.is-style-squared {
+               border-radius: 0;
+       }
+}
+
+.is-style-outline .wp-block-button__link[style*="radius"],
+.wp-block-button__link[style*="radius"] {
+       outline-offset: 2px;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/button/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/button/_style.scss
new file mode 100644 (file)
index 0000000..74a0f7f
--- /dev/null
@@ -0,0 +1,122 @@
+/**
+ * Button
+ */
+.site .button,
+button,
+input[type="submit"],
+input[type="reset"],
+.wp-block-search .wp-block-search__button,
+.wp-block-button .wp-block-button__link,
+.wp-block-file a.wp-block-file__button {
+       // Extend button style
+       @include button-style();
+}
+
+/**
+ * Block Options
+ */
+.wp-block-button {
+
+       // Target the default and filled button states.
+       &:not(.is-style-outline) {
+
+               .wp-block-button__link:not(:hover):not(:active) {
+
+                       // Text colors
+                       &:not(.has-text-color) {
+                               color: var(--global--color-background);
+
+                               // Nested
+                               .has-background & {
+                                       color: var(--local--color-background, var(--global--color-background));
+
+                                       &.has-background {
+                                               color: var(--global--color-primary);
+                                       }
+                               }
+                       }
+
+                       // Background-colors
+                       &:not(.has-background) {
+                               background-color: var(--global--color-primary);
+
+                               // Nested
+                               .has-background & {
+                                       background-color: var(--local--color-primary, var(--global--color-primary));
+                               }
+                       }
+               }
+
+               // Hover Button color should match parent element foreground color
+               .wp-block-button__link:hover,
+               .wp-block-button__link:active {
+                       border-color: currentColor !important;
+                       background-color: transparent !important;
+                       color: inherit !important;
+               }
+       }
+
+       // Outline Style.
+       &.is-style-outline {
+
+               .wp-block-button__link:not(:hover):not(:active) {
+
+                       // Border colors
+                       &:not(.has-text-color),
+                       &:not(.has-background),
+                       &.has-background {
+                               border-color: currentColor;
+                       }
+
+                       // Text colors
+                       &:not(.has-text-color) {
+                               color: var(--global--color-primary);
+
+                               // Nested
+                               .has-background & {
+                                       color: var(--local--color-primary, var(--global--color-primary));
+                               }
+                       }
+
+                       &.has-background {
+                               // Nested
+                               .has-background &:not(.has-text-color) {
+                                       color: inherit;
+                               }
+                       }
+
+                       // Background-colors
+                       &:not(.has-background) {
+                               background-color: transparent;
+                       }
+               }
+
+               .wp-block-button__link:hover,
+               .wp-block-button__link:active {
+
+                       border-color: transparent !important;
+                       background-color: var(--global--color-primary) !important;
+                       color: var(--global--color-background) !important;
+
+                       .has-background & {
+                               background-color: var(--local--color-primary, var(--global--color-primary)) !important;
+                               color: var(--local--color-background, var(--global--color-background)) !important;
+                       }
+
+                       .has-text-color & {
+                               color: var(--local--color-background, var(--global--color-background)) !important;
+                       }
+               }
+       }
+
+       // Squared Style
+       .is-style-squared .wp-block-button__link {
+               border-radius: 0;
+       }
+}
+
+.is-style-outline .wp-block-button__link[style*="radius"]:focus,
+.wp-block-button a.wp-block-button__link[style*="radius"]:focus {
+       outline-offset: 2px;
+       outline: 2px dotted var(--button--color-background);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/code/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/code/_editor.scss
new file mode 100644 (file)
index 0000000..0fc99c9
--- /dev/null
@@ -0,0 +1,13 @@
+.wp-block-code code {
+       white-space: pre !important;
+       overflow-x: auto;
+}
+
+.wp-block-code {
+       border-color: var(--global--color-border);
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: var(--global--spacing-unit);
+       color: currentColor;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/code/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/code/_style.scss
new file mode 100644 (file)
index 0000000..2867559
--- /dev/null
@@ -0,0 +1,14 @@
+.wp-block-code {
+       border-color: var(--global--color-border);
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: var(--global--spacing-unit);
+
+       code {
+               color: var(--global--color-primary);
+               white-space: pre;
+               overflow-x: auto;
+               display: block;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/columns/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/columns/_editor.scss
new file mode 100644 (file)
index 0000000..7e259aa
--- /dev/null
@@ -0,0 +1,68 @@
+.wp-block-columns {
+
+       &:not(.alignwide):not(.alignfull) {
+               clear: both;
+       }
+
+       .wp-block,
+       .wp-block-column {
+               // Allow Gutenberg to set the width of a block that lives inside the columns block.
+               max-width: inherit;
+       }
+
+       @include innerblock-margin-clear(".wp-block-column");
+
+       &.is-style-twentytwentyone-columns-overlap {
+
+               @include media(laptop) {
+
+                       .wp-block-column:nth-child(2n) {
+                               margin-left: calc(-2 * var(--global--spacing-horizontal));
+                               margin-top: calc(2.5 * var(--global--spacing-horizontal));
+                               z-index: 2;
+
+                               // Provide text-based child blocks with a default background color to ensure they're readable.
+                               > p,
+                               > h1,
+                               > h2,
+                               > h3,
+                               > h4,
+                               > h5,
+                               > h6,
+                               > ul,
+                               > ol,
+                               > pre {
+
+                                       &:not(.has-background) {
+                                               background-color: var(--global--color-background);
+                                               padding: var(--global--spacing-unit);
+                                       }
+                               }
+
+                               // Lists should still have their usual left padding.
+                               > ul:not(.has-background),
+                               > ol:not(.has-background) {
+                                       padding-left: calc(2 * var(--global--spacing-horizontal));
+                               }
+
+                               &.is-vertically-aligned-center {
+                                       margin-top: 0;
+                               }
+                       }
+               }
+       }
+
+       .wp-block[data-align="full"] > & {
+
+               p:not(.has-background),
+               h1:not(.has-background),
+               h2:not(.has-background),
+               h3:not(.has-background),
+               h4:not(.has-background),
+               h5:not(.has-background),
+               h6:not(.has-background) {
+                       padding-left: var(--global--spacing-unit);
+                       padding-right: var(--global--spacing-unit);
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/columns/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/columns/_style.scss
new file mode 100644 (file)
index 0000000..8fb713a
--- /dev/null
@@ -0,0 +1,105 @@
+.wp-block-columns {
+
+       &:not(.alignwide):not(.alignfull) {
+               clear: both;
+       }
+
+       .wp-block-column {
+
+               > * {
+                       margin-top: calc(0.66 * var(--global--spacing-vertical));
+                       margin-bottom: calc(0.66 * var(--global--spacing-vertical));
+
+                       @include media(mobile) {
+                               margin-top: var(--global--spacing-vertical);
+                               margin-bottom: var(--global--spacing-vertical);
+                       }
+
+                       &:first-child {
+                               margin-top: 0;
+                       }
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       .wp-block-column:not(:last-child) {
+               margin-bottom: calc(0.66 * var(--global--spacing-vertical));
+
+               @include media(mobile) {
+                       margin-bottom: var(--global--spacing-vertical);
+               }
+
+               @include media(desktop) {
+                       margin-bottom: 0;
+               }
+       }
+
+       &.is-style-twentytwentyone-columns-overlap {
+
+               justify-content: space-around;
+
+               @include media(laptop) {
+
+                       .wp-block-column {
+
+                               &:nth-child(2n) {
+                                       margin-left: calc(-2 * var(--global--spacing-horizontal));
+                                       margin-top: calc(2.5 * var(--global--spacing-horizontal));
+                                       z-index: 2;
+
+                                       // Provide text-based child blocks with a default background color to ensure they're readable.
+                                       > p,
+                                       > h1,
+                                       > h2,
+                                       > h3,
+                                       > h4,
+                                       > h5,
+                                       > h6,
+                                       > ul,
+                                       > ol,
+                                       > pre {
+
+                                               &:not(.has-background) {
+                                                       background-color: var(--global--color-background);
+                                                       padding: var(--global--spacing-unit);
+                                               }
+                                       }
+
+                                       // Lists should still have their usual left padding.
+                                       > ul:not(.has-background),
+                                       > ol:not(.has-background) {
+                                               padding-left: calc(2 * var(--global--spacing-horizontal));
+                                       }
+
+                                       &.is-vertically-aligned-center {
+                                               margin-top: 0;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       &.alignfull {
+
+               .wp-block-column {
+
+                       p:not(.has-background),
+                       h1:not(.has-background),
+                       h2:not(.has-background),
+                       h3:not(.has-background),
+                       h4:not(.has-background),
+                       h5:not(.has-background),
+                       h6:not(.has-background) {
+                               padding-left: var(--global--spacing-unit);
+                               padding-right: var(--global--spacing-unit);
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/cover/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/cover/_editor.scss
new file mode 100644 (file)
index 0000000..0512b2c
--- /dev/null
@@ -0,0 +1,76 @@
+.wp-block-cover,
+.wp-block-cover-image {
+
+       &:not(.alignwide):not(.alignfull) {
+               clear: both;
+       }
+
+       background-color: var(--cover--color-background);
+       min-height: var(--cover--height);
+       margin-top: inherit;
+       margin-bottom: inherit;
+
+       [data-align="full"] & {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       @include innerblock-margin-clear(".wp-block-cover__inner-container");
+
+       .wp-block-cover__inner-container,
+       .wp-block-cover-image-text,
+       .wp-block-cover-text,
+       .block-editor-block-list__block {
+               color: currentColor; // uses text color specified with background-color options in /blocks/utilities/_style.scss
+
+               a {
+                       color: currentColor;
+               }
+
+               .has-link-color a {
+                       color: var(--wp--style--color--link, var(--global--color-primary));
+               }
+       }
+
+       // Default & custom background-color
+       &:not([class*="background-color"]) {
+
+               .wp-block-cover__inner-container,
+               .wp-block-cover-image-text,
+               .wp-block-cover-text,
+               .block-editor-block-list__block {
+                       color: var(--cover--color-foreground);
+               }
+       }
+
+       // Treating H2 separately to account for legacy /core styles
+       h2 {
+               font-size: var(--heading--font-size-h2);
+               letter-spacing: var(--heading--letter-spacing-h2);
+               line-height: var(--heading--line-height-h2);
+               padding: 0;
+               text-align: inherit;
+
+               &.has-text-align-left {
+                       text-align: left;
+               }
+
+               &.has-text-align-center {
+                       text-align: center;
+               }
+
+               &.has-text-align-right {
+                       text-align: right;
+               }
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-border {
+               border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       }
+
+       // The background color class is used just for the overlay, and does not need to be applied to the inner container.
+       &[class*="-background-color"][class] .wp-block-cover__inner-container {
+               background-color: unset;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/cover/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/cover/_style.scss
new file mode 100644 (file)
index 0000000..7114cfd
--- /dev/null
@@ -0,0 +1,116 @@
+.wp-block-cover,
+.wp-block-cover-image {
+
+       &:not(.alignwide):not(.alignfull) {
+               clear: both;
+       }
+
+       &.alignfull {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       background-color: var(--cover--color-background);
+       min-height: var(--cover--height);
+       margin-top: inherit;
+       margin-bottom: inherit;
+
+       .wp-block-cover__inner-container,
+       .wp-block-cover-image-text,
+       .wp-block-cover-text {
+               color: currentColor; // Uses text color specified with background-color options in 07-utilities\color-palette.scss
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+
+               a:not(.wp-block-button__link):not(.wp-block-file__button) {
+                       color: currentColor;
+               }
+
+               .has-link-color a {
+                       color: var(--wp--style--color--link, var(--global--color-primary));
+               }
+       }
+
+       /* default & custom background-color */
+       &:not([class*="background-color"]) {
+
+               .wp-block-cover__inner-container,
+               .wp-block-cover-image-text,
+               .wp-block-cover-text {
+                       color: var(--cover--color-foreground);
+               }
+       }
+
+       /* Treating H2 separately to account for legacy /core styles */
+       h2 {
+               font-size: var(--heading--font-size-h2);
+               letter-spacing: var(--heading--letter-spacing-h2);
+               line-height: var(--heading--line-height-h2);
+               max-width: inherit; // undo opinionated styles
+               text-align: inherit; // undo opinionated styles
+               padding: 0;
+
+               &.has-text-align-left {
+                       text-align: left;
+               }
+
+               &.has-text-align-center {
+                       text-align: center;
+               }
+
+               &.has-text-align-right {
+                       text-align: right;
+               }
+       }
+
+       .wp-block-cover__inner-container {
+
+               width: calc(100% - calc(2 * var(--global--spacing-vertical)));
+
+               > * {
+                       margin-top: calc(0.666 * var(--global--spacing-vertical));
+                       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+
+                       @include media(mobile) {
+                               margin-top: var(--global--spacing-vertical);
+                               margin-bottom: var(--global--spacing-vertical);
+                       }
+
+                       &:first-child {
+                               margin-top: 0;
+                       }
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+       }
+
+       &.alignleft,
+       &.alignright {
+               margin-top: 0;
+
+               > * {
+                       margin-top: calc(2 * var(--global--spacing-vertical));
+                       margin-bottom: calc(2 * var(--global--spacing-vertical));
+                       padding-left: var(--global--spacing-horizontal);
+                       padding-right: var(--global--spacing-horizontal);
+                       width: 100%;
+               }
+       }
+
+       &.has-left-content,
+       &.has-right-content {
+               justify-content: center;
+       }
+
+       /* Block Styles */
+       &.is-style-twentytwentyone-border {
+               border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       }
+
+       /* The background color class is used just for the overlay, and does not need to be applied to the inner container. */
+       &[class*="-background-color"][class] .wp-block-cover__inner-container {
+               background-color: unset;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/file/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/file/_editor.scss
new file mode 100644 (file)
index 0000000..7b7d84c
--- /dev/null
@@ -0,0 +1,25 @@
+.wp-block-file {
+
+       .wp-block-file__textlink {
+               text-decoration: underline;
+               text-decoration-style: solid;
+               text-decoration-thickness: 1px;
+
+               &:hover {
+                       text-decoration: underline;
+                       text-decoration-style: dotted;
+               }
+       }
+
+       .wp-block-file__button {
+               // Extend button style
+               @include button-style();
+               display: inline-block;
+
+               // Remove :focus styles in the editor
+               &:focus {
+                       outline-offset: inherit;
+                       outline: inherit;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/file/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/file/_style.scss
new file mode 100644 (file)
index 0000000..5426f8a
--- /dev/null
@@ -0,0 +1,13 @@
+.wp-block-file {
+
+       // Undo Gutenberg hover defaults
+       a.wp-block-file__button:active,
+       a.wp-block-file__button:focus,
+       a.wp-block-file__button:hover {
+               opacity: inherit;
+       }
+
+       a.wp-block-file__button {
+               display: inline-block;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/gallery/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/gallery/_editor.scss
new file mode 100644 (file)
index 0000000..f08dfa5
--- /dev/null
@@ -0,0 +1,10 @@
+.wp-block-gallery {
+
+       figcaption {
+               margin-bottom: 0;
+
+               a {
+                       color: var(--global--color-white);
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/gallery/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/gallery/_style.scss
new file mode 100644 (file)
index 0000000..81c9d1a
--- /dev/null
@@ -0,0 +1,33 @@
+.wp-block-gallery {
+
+       margin: 0 auto;
+
+       .blocks-gallery-image,
+       .blocks-gallery-item {
+
+               // On mobile and responsive viewports, we allow only 1 or 2 columns at the most.
+               width: calc((100% - var(--global--spacing-unit)) / 2);
+
+               figcaption {
+                       margin: 0;
+                       // Text color is always white to account for default gradient background
+                       color: var(--global--color-white);
+                       font-size: var(--global--font-size-xs);
+
+                       a {
+                               color: var(--global--color-white);
+
+                               &:focus {
+                                       background-color: transparent;
+                                       outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+                                       text-decoration: none;
+                               }
+                       }
+               }
+
+               a:focus img {
+                       outline-offset: 2px;
+               }
+
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/group/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/group/_editor.scss
new file mode 100644 (file)
index 0000000..5f28b46
--- /dev/null
@@ -0,0 +1,30 @@
+.wp-block-group {
+
+       &.has-background {
+               padding: var(--global--spacing-vertical);
+
+               [data-align="full"] & {
+                       margin-top: 0;
+                       margin-bottom: 0;
+               }
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-border {
+               border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+               padding: var(--global--spacing-vertical);
+
+               .wp-block-group__inner-container > [data-align="full"] {
+                       max-width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical)));
+                       width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical)));
+                       margin-left: calc(-1 * var(--global--spacing-vertical));
+               }
+       }
+
+       @include innerblock-margin-clear(".wp-block-group__inner-container");
+}
+
+.wp-block-group .wp-block-group.has-background > .block-editor-block-list__layout > [data-align="full"] {
+       margin: 0;
+       width: 100%;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/group/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/group/_style.scss
new file mode 100644 (file)
index 0000000..72c756d
--- /dev/null
@@ -0,0 +1,70 @@
+.wp-block-group {
+       // Start IE clearfix.
+       // This hack is only necessary because we want to support IE11.
+       // If we don't want to support IE11, then "display: flow-root" would suffice.
+       display: block;
+       clear: both;
+
+       display: flow-root; // stylelint-disable-line declaration-block-no-duplicate-properties
+
+       &:before,
+       &:after {
+               content: "";
+               display: block;
+               clear: both;
+       }
+       // End IE clearfix.
+
+       .wp-block-group__inner-container {
+               margin-left: auto;
+               margin-right: auto;
+
+               > * {
+                       margin-top: calc(0.666 * var(--global--spacing-vertical));
+                       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+
+                       &.alignfull {
+                               @extend %responsive-alignfull-width-mobile;
+                       }
+
+                       @include media(mobile) {
+                               margin-top: var(--global--spacing-vertical);
+                               margin-bottom: var(--global--spacing-vertical);
+                       }
+
+                       &:first-child {
+                               margin-top: 0;
+                       }
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+       }
+
+       &.has-background {
+               padding: calc(0.666 * var(--global--spacing-vertical));
+
+               @include media(mobile) {
+                       padding: var(--global--spacing-vertical);
+               }
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-border {
+               border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+               padding: var(--global--spacing-vertical);
+       }
+
+       // Adjust alignfull items to account for left and right padding.
+       &.has-background,
+       &.is-style-twentytwentyone-border {
+
+               .wp-block-group__inner-container > .alignfull,
+               .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
+                       max-width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical)));
+                       width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical)));
+                       margin-left: calc(-1 * var(--global--spacing-vertical));
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/heading/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/heading/_editor.scss
new file mode 100644 (file)
index 0000000..b1c6a9e
--- /dev/null
@@ -0,0 +1,81 @@
+.wp-block-heading h1,
+h1,
+.h1,
+.wp-block-heading h2,
+h2,
+.h2,
+.wp-block-heading h3,
+h3,
+.h3,
+.wp-block-heading h4,
+h4,
+.h4,
+.wp-block-heading h5,
+h5,
+.h5,
+.wp-block-heading h6,
+h6,
+.h6 {
+       clear: both;
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+
+       strong {
+               font-weight: var(--heading--font-weight-strong);
+       }
+
+       &[style*="--wp--typography--line-height"] {
+               line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+       }
+}
+
+.wp-block-heading h1,
+h1,
+.h1 {
+       font-size: var(--heading--font-size-h1);
+       letter-spacing: var(--heading--letter-spacing-h1);
+       line-height: var(--heading--line-height-h1);
+}
+
+.wp-block-heading h2,
+h2,
+.h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+}
+
+.wp-block-heading h3,
+h3,
+.h3 {
+       font-size: var(--heading--font-size-h3);
+       letter-spacing: var(--heading--letter-spacing-h3);
+       line-height: var(--heading--line-height-h3);
+}
+
+.wp-block-heading h4,
+h4,
+.h4 {
+       font-size: var(--heading--font-size-h4);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h4);
+       line-height: var(--heading--line-height-h4);
+}
+
+.wp-block-heading h5,
+h5,
+.h5 {
+       font-size: var(--heading--font-size-h5);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h5);
+       line-height: var(--heading--line-height-h5);
+}
+
+.wp-block-heading h6,
+h6,
+.h6 {
+       font-size: var(--heading--font-size-h6);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h6);
+       line-height: var(--heading--line-height-h6);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/heading/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/heading/_style.scss
new file mode 100644 (file)
index 0000000..5e5e307
--- /dev/null
@@ -0,0 +1,65 @@
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+       clear: both;
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+
+       strong {
+               font-weight: var(--heading--font-weight-strong);
+       }
+}
+
+h1,
+.h1 {
+       font-size: var(--heading--font-size-h1);
+       letter-spacing: var(--heading--letter-spacing-h1);
+       line-height: var(--heading--line-height-h1);
+}
+
+h2,
+.h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+}
+
+h3,
+.h3 {
+       font-size: var(--heading--font-size-h3);
+       letter-spacing: var(--heading--letter-spacing-h3);
+       line-height: var(--heading--line-height-h3);
+}
+
+h4,
+.h4 {
+       font-size: var(--heading--font-size-h4);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h4);
+       line-height: var(--heading--line-height-h4);
+}
+
+h5,
+.h5 {
+       font-size: var(--heading--font-size-h5);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h5);
+       line-height: var(--heading--line-height-h5);
+}
+
+h6,
+.h6 {
+       font-size: var(--heading--font-size-h6);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h6);
+       line-height: var(--heading--line-height-h6);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/html/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/html/_editor.scss
new file mode 100644 (file)
index 0000000..eae872e
--- /dev/null
@@ -0,0 +1,6 @@
+[data-type="core/html"] textarea {
+       // Make sure that the color is not white on white when a dark body background is used.
+       color: var(--global--color-dark-gray);
+       border-radius: 0;
+       padding: var(--global--spacing-unit);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss
new file mode 100644 (file)
index 0000000..c108a60
--- /dev/null
@@ -0,0 +1,21 @@
+/* Center image block by default in the editor */
+
+.wp-block-image,
+.wp-block-image > div:not(.components-placeholder) {
+       text-align: center;
+}
+
+[data-type="core/image"] .block-editor-block-list__block-edit figure.is-resized {
+       margin: 0 auto;
+}
+
+/* Block Styles */
+
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: var(--global--spacing-unit);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss
new file mode 100644 (file)
index 0000000..989f060
--- /dev/null
@@ -0,0 +1,63 @@
+.wp-block-image {
+       text-align: center;
+
+       figcaption {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               line-height: var(--global--line-height-body);
+               margin-top: calc(0.5 * var(--global--spacing-unit));
+               margin-bottom: var(--global--spacing-unit);
+               text-align: center;
+       }
+
+       .alignright {
+               margin-left: var(--global--spacing-horizontal);
+       }
+
+       .alignleft {
+               margin-right: var(--global--spacing-horizontal);
+       }
+
+       a:focus img {
+               outline-offset: 2px;
+       }
+}
+
+// Remove vertical margins from image block wrappers when floated
+.entry-content > *[class="wp-block-image"],
+.entry-content [class*="inner-container"] > *[class="wp-block-image"] {
+       margin-top: 0;
+       margin-bottom: 0;
+
+       // Remove top margins from the following element when previous image block is floated
+       + * {
+               margin-top: 0;
+       }
+}
+
+// Block Styles
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: var(--global--spacing-unit);
+}
+
+.entry-content {
+
+       > .wp-block-image {
+
+               > .alignleft,
+               > .alignright {
+                       @include media(mobile) {
+                               max-width: 50%;
+                       }
+                       @include media(mobile-only) {
+                               margin-left: 0;
+                               margin-right: 0;
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-comments/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-comments/_editor.scss
new file mode 100644 (file)
index 0000000..fa7703d
--- /dev/null
@@ -0,0 +1,3 @@
+.wp-block-latest-comments {
+       padding-left: 0;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-comments/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-comments/_style.scss
new file mode 100644 (file)
index 0000000..1ab2748
--- /dev/null
@@ -0,0 +1,35 @@
+.wp-block-latest-comments {
+       padding-left: 0;
+
+       .wp-block-latest-comments__comment {
+               font-size: var(--global--font-size-sm);
+               line-height: var(--global--line-height-body);
+
+               /* Vertical margins logic */
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       .wp-block-latest-comments__comment-meta {
+               font-family: var(--heading--font-family);
+       }
+
+       .wp-block-latest-comments__comment-date {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-sm);
+       }
+
+       .wp-block-latest-comments__comment-excerpt p {
+               font-size: var(--global--font-size-sm);
+               line-height: var(--global--line-height-body);
+               margin: 0;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-posts/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-posts/_editor.scss
new file mode 100644 (file)
index 0000000..a5cf5c4
--- /dev/null
@@ -0,0 +1,144 @@
+.wp-block-latest-posts {
+       padding-left: 0;
+
+       // Vertical margins logic
+       &:not(.is-grid) > li {
+               margin-top: calc(1.666 * var(--global--spacing-vertical));
+               margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       &.is-grid {
+               word-wrap: break-word;
+               word-break: break-word;
+
+               > li {
+                       margin-bottom: var(--global--spacing-vertical);
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+       }
+
+       > li > * {
+               margin-top: calc(0.333 * var(--global--spacing-vertical));
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       // Post title
+       > li > a {
+               display: inline-block;
+               font-family: var(--latest-posts--title-font-family);
+               font-size: var(--latest-posts--title-font-size);
+               font-weight: var(--heading--font-weight);
+               line-height: var(--global--line-height-heading);
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+       }
+
+       // Post author
+       .wp-block-latest-posts__post-author {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-md);
+               line-height: var(--global--line-height-body);
+       }
+
+       // Post date
+       .wp-block-latest-posts__post-date {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               line-height: var(--global--line-height-body);
+
+               [class*="inner-container"] &,
+               .has-background & {
+                       color: currentColor;
+               }
+       }
+
+       // Post content
+       .wp-block-latest-posts__post-excerpt,
+       .wp-block-latest-posts__post-full-content {
+               font-family: var(--latest-posts--description-font-family);
+               font-size: var(--latest-posts--description-font-size);
+               line-height: var(--global--line-height-body);
+               margin-top: calc(0.666 * var(--global--spacing-vertical));
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-latest-posts-dividers {
+               border-top: calc(3 * var(--separator--height)) solid var(--global--color-border);
+               border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border);
+
+               &:not(.is-grid) > li,
+               > li {
+                       padding-bottom: var(--global--spacing-vertical);
+                       border-bottom: var(--separator--height) solid var(--global--color-border);
+                       margin-top: var(--global--spacing-vertical);
+                       margin-bottom: var(--global--spacing-vertical);
+
+                       &:last-child {
+                               padding-bottom: 0;
+                               border-bottom: none;
+                       }
+               }
+
+               &.is-grid {
+                       // Border moves up 1px to overlap the li borders in the last row.
+                       box-shadow: inset 0 -1px 0 0 var(--global--color-border);
+                       border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border);
+
+                       li {
+                               margin: 0;
+                               padding-top: var(--global--spacing-vertical);
+                               padding-right: var(--global--spacing-horizontal);
+
+                               &:last-child {
+                                       padding-bottom: var(--global--spacing-vertical);
+                               }
+                       }
+
+                       // This is using a non-standard media query because it is directly overriding the gutenberg-provided widths.
+                       // https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/latest-posts/style.scss#L28-L34
+                       @media screen and (min-width: 600px) {
+                               @for $i from 2 through 6 {
+                                       &.columns-#{ $i } li {
+                                               width: calc((100% / #{ $i }));
+                                       }
+                               }
+                       }
+               }
+       }
+
+       &.is-style-twentytwentyone-latest-posts-borders {
+
+               li {
+                       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+                       padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
+
+                       &:last-child {
+                               padding-bottom: var(--global--spacing-vertical);
+                               margin-bottom: var(--global--spacing-vertical);
+                       }
+               }
+
+               &:not(.is-grid) li {
+                       margin-top: var(--global--spacing-horizontal);
+                       margin-bottom: var(--global--spacing-horizontal);
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-posts/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/latest-posts/_style.scss
new file mode 100644 (file)
index 0000000..7c94ecb
--- /dev/null
@@ -0,0 +1,179 @@
+.wp-block-latest-posts {
+       padding-left: 0;
+
+       // Vertical margins logic
+       &:not(.is-grid) > li {
+               margin-top: calc(1.666 * var(--global--spacing-vertical));
+               margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       .widget-area &:not(.is-grid) > li {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       &.is-grid {
+               word-wrap: break-word;
+               word-break: break-word;
+
+               > li {
+                       margin-bottom: var(--global--spacing-vertical);
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+
+               // Remove bottom margins in grid columns
+               &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1),
+               &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1) ~ li,
+               &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1),
+               &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1) ~ li,
+               &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1),
+               &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1) ~ li,
+               &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1),
+               &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1) ~ li,
+               &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1),
+               &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li {
+                       margin-bottom: 0;
+               }
+       }
+
+       > li > * {
+               margin-top: calc(0.333 * var(--global--spacing-vertical));
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       // Post title
+       > li > a {
+               display: inline-block;
+               font-family: var(--latest-posts--title-font-family);
+               font-size: var(--latest-posts--title-font-size);
+               font-weight: var(--heading--font-weight);
+               line-height: var(--global--line-height-heading);
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+       }
+
+       .widget-area & > li > a {
+               font-size: var(--global--font-size-sm);
+               margin-bottom: 0;
+       }
+
+       // Post author
+       .wp-block-latest-posts__post-author {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-md);
+               line-height: var(--global--line-height-body);
+       }
+
+       // Post date
+       .wp-block-latest-posts__post-date {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               line-height: var(--global--line-height-body);
+
+               [class*="inner-container"] &,
+               .has-background & {
+                       color: currentColor;
+               }
+       }
+
+       // Post content
+       .wp-block-latest-posts__post-excerpt,
+       .wp-block-latest-posts__post-full-content {
+               font-family: var(--latest-posts--description-font-family);
+               font-size: var(--latest-posts--description-font-size);
+               line-height: var(--global--line-height-body);
+               margin-top: calc(0.666 * var(--global--spacing-vertical));
+       }
+
+       // Utility classes
+       &.alignfull {
+               padding-left: var(--global--spacing-unit);
+               padding-right: var(--global--spacing-unit);
+
+               .entry-content [class*="inner-container"] &,
+               .entry-content .has-background & {
+                       padding-left: 0;
+                       padding-right: 0;
+               }
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-latest-posts-dividers {
+               border-top: calc(3 * var(--separator--height)) solid var(--global--color-border);
+               border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border);
+
+               &:not(.is-grid) > li,
+               > li {
+                       padding-bottom: var(--global--spacing-vertical);
+                       border-bottom: var(--separator--height) solid var(--global--color-border);
+                       margin-top: var(--global--spacing-vertical);
+                       margin-bottom: var(--global--spacing-vertical);
+
+                       &:last-child {
+                               padding-bottom: 0;
+                               border-bottom: none;
+                       }
+               }
+
+               &.is-grid {
+                       // Border moves up 1px to overlap the li borders in the last row.
+                       box-shadow: inset 0 -1px 0 0 var(--global--color-border);
+                       border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border);
+
+                       li {
+                               margin: 0;
+                               padding-top: var(--global--spacing-vertical);
+                               padding-right: var(--global--spacing-horizontal);
+
+                               &:last-child {
+                                       padding-bottom: var(--global--spacing-vertical);
+                               }
+                       }
+
+                       // This is using a non-standard media query because it is directly overriding the gutenberg-provided widths.
+                       // https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/latest-posts/style.scss#L28-L34
+                       @media screen and (min-width: 600px) {
+                               @for $i from 2 through 6 {
+                                       &.columns-#{ $i } li {
+                                               width: calc((100% / #{ $i }));
+                                       }
+                               }
+                       }
+               }
+       }
+
+       &.is-style-twentytwentyone-latest-posts-borders {
+
+               li {
+                       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+                       padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
+
+                       &:last-child {
+                               padding-bottom: var(--global--spacing-vertical);
+                       }
+               }
+
+               &:not(.is-grid) li {
+                       margin-top: var(--global--spacing-horizontal);
+                       margin-bottom: var(--global--spacing-horizontal);
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/legacy/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/legacy/_editor.scss
new file mode 100644 (file)
index 0000000..c3b540f
--- /dev/null
@@ -0,0 +1,42 @@
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+
+       .gallery-columns-2 & {
+               max-width: 50%;
+       }
+
+       .gallery-columns-3 & {
+               max-width: 33.33%;
+       }
+
+       .gallery-columns-4 & {
+               max-width: 25%;
+       }
+
+       .gallery-columns-5 & {
+               max-width: 20%;
+       }
+
+       .gallery-columns-6 & {
+               max-width: 16.66%;
+       }
+
+       .gallery-columns-7 & {
+               max-width: 14.28%;
+       }
+
+       .gallery-columns-8 & {
+               max-width: 12.5%;
+       }
+
+       .gallery-columns-9 & {
+               max-width: 11.11%;
+       }
+}
+
+.gallery-caption {
+       display: block;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/legacy/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/legacy/_style.scss
new file mode 100644 (file)
index 0000000..efbc1bf
--- /dev/null
@@ -0,0 +1,55 @@
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+
+       a {
+               display: block;
+       }
+
+       a:focus img {
+               outline-offset: -2px;
+       }
+
+       .gallery-columns-2 & {
+               max-width: 50%;
+       }
+
+       .gallery-columns-3 & {
+               max-width: 33.33%;
+       }
+
+       .gallery-columns-4 & {
+               max-width: 25%;
+       }
+
+       .gallery-columns-5 & {
+               max-width: 20%;
+       }
+
+       .gallery-columns-6 & {
+               max-width: 16.66%;
+       }
+
+       .gallery-columns-7 & {
+               max-width: 14.28%;
+       }
+
+       .gallery-columns-8 & {
+               max-width: 12.5%;
+       }
+
+       .gallery-columns-9 & {
+               max-width: 11.11%;
+       }
+}
+
+.gallery-caption {
+       display: block;
+}
+
+// Legacy images, linked
+figure.wp-caption a:focus img {
+       outline-offset: 2px;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/list/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/list/_editor.scss
new file mode 100644 (file)
index 0000000..1b27b3c
--- /dev/null
@@ -0,0 +1,32 @@
+ul,
+ol {
+       font-family: var(--list--font-family);
+       margin: var(--global--spacing-vertical) 0;
+       padding-left: calc(2 * var(--global--spacing-horizontal));
+
+       // Utility classes
+       &.aligncenter {
+               list-style-position: inside;
+               padding: 0;
+               text-align: center;
+       }
+
+       &.alignright {
+               list-style-position: inside;
+               padding: 0;
+               text-align: right;
+       }
+}
+
+li {
+
+       > ul,
+       > ol {
+               margin: 0;
+       }
+}
+
+dt {
+       font-family: var(--definition-term--font-family);
+       font-weight: bold;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/list/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/list/_style.scss
new file mode 100644 (file)
index 0000000..6d09e6b
--- /dev/null
@@ -0,0 +1,44 @@
+ul,
+ol {
+       font-family: var(--list--font-family);
+       margin: 0;
+       padding-left: calc(2 * var(--global--spacing-horizontal));
+
+       // Utility classes
+       &.aligncenter {
+               list-style-position: inside;
+               padding: 0;
+       }
+
+       &.alignright {
+               list-style-position: inside;
+               text-align: right;
+               padding: 0;
+       }
+}
+
+ul {
+       list-style-type: disc;
+
+       ul {
+               list-style-type: circle;
+       }
+}
+
+ol {
+       list-style-type: decimal;
+
+       ul {
+               list-style-type: circle;
+       }
+}
+
+dt {
+       font-family: var(--definition-term--font-family);
+       font-weight: bold;
+}
+
+dd {
+       margin: 0;
+       padding-left: calc(2 * var(--global--spacing-horizontal));
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/media-text/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/media-text/_editor.scss
new file mode 100644 (file)
index 0000000..583dc3d
--- /dev/null
@@ -0,0 +1,18 @@
+.wp-block-media-text {
+
+       [data-align="full"] & {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       @include innerblock-margin-clear(".wp-block-media-text__content");
+
+       .wp-block-media-text__content {
+               padding: var(--global--spacing-horizontal);
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-border {
+               border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/media-text/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/media-text/_style.scss
new file mode 100644 (file)
index 0000000..7879886
--- /dev/null
@@ -0,0 +1,53 @@
+.wp-block-media-text {
+
+       &.alignfull {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       a:focus img {
+               outline-offset: -1px;
+       }
+
+       .wp-block-media-text__content {
+               padding: var(--global--spacing-horizontal);
+
+               @include media(tablet) {
+                       padding: var(--global--spacing-vertical);
+               }
+
+               > * {
+                       margin-top: calc(0.666 * var(--global--spacing-vertical));
+                       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+
+                       @include media(mobile) {
+                               margin-top: var(--global--spacing-vertical);
+                               margin-bottom: var(--global--spacing-vertical);
+                       }
+
+                       &:first-child {
+                               margin-top: 0;
+                       }
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+       }
+
+       /**
+        * Block Options
+        */
+
+       &.is-stacked-on-mobile .wp-block-media-text__content {
+               @include media(mobile) {
+                       padding-top: var(--global--spacing-vertical);
+                       padding-bottom: var(--global--spacing-vertical);
+               }
+       }
+
+       // Block Styles
+       &.is-style-twentytwentyone-border {
+               border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/navigation/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/navigation/_editor.scss
new file mode 100644 (file)
index 0000000..38b4a7e
--- /dev/null
@@ -0,0 +1,45 @@
+.wp-block-navigation {
+
+       [data-block] {
+               margin-top: revert;
+               margin-bottom: revert;
+       }
+
+       .wp-block-navigation__container {
+               background: var(--global--color-background);
+       }
+
+       .wp-block-navigation-link {
+
+               .wp-block-navigation-link__label {
+                       font-family: var(--primary-nav--font-family);
+                       font-size: var(--primary-nav--font-size);
+                       font-weight: var(--primary-nav--font-weight);
+               }
+       }
+
+       .has-child {
+
+               .wp-block-navigation__container {
+                       box-shadow: var(--global--elevation);
+               }
+       }
+
+       &:not(.has-text-color) {
+
+               .wp-block-navigation-link {
+
+                       > a {
+
+                               &:hover,
+                               &:focus {
+                                       color: var(--primary-nav--color-link-hover);
+                               }
+                       }
+               }
+
+               .wp-block-navigation-link__content {
+                       color: currentColor;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/navigation/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/navigation/_style.scss
new file mode 100644 (file)
index 0000000..d991e52
--- /dev/null
@@ -0,0 +1,103 @@
+.wp-block-navigation {
+
+       .wp-block-navigation-link {
+               .wp-block-navigation-link__label {
+                       font-family: var(--primary-nav--font-family);
+                       font-size: var(--primary-nav--font-size);
+                       font-weight: var(--primary-nav--font-weight);
+               }
+       }
+
+       .wp-block-navigation-link__submenu-icon {
+               padding: 0;
+       }
+
+       // Top level navigation container.
+       > .wp-block-navigation__container {
+
+               .has-child {
+
+                       .wp-block-navigation-link {
+                               display: inherit;
+                       }
+
+                       .wp-block-navigation__container {
+                               border: none;
+                               left: 0;
+                               min-width: max-content;
+                               opacity: 0;
+                               padding: 0;
+                               position: inherit;
+                               top: inherit;
+
+                               .wp-block-navigation-link__submenu-icon {
+                                       display: none;
+                               }
+                       }
+               }
+
+               > .has-child {
+
+                       > .wp-block-navigation__container {
+                               background: var(--global--color-background);
+                               margin: 0;
+                               padding: 0;
+                               position: absolute;
+                               top: 100%;
+                               border: 1px solid var(--primary-nav--border-color);
+
+                               &:before,
+                               &:after {
+                                       content: "";
+                                       display: block;
+                                       position: absolute;
+                                       width: 0;
+                                       top: -10px;
+                                       left: var(--global--spacing-horizontal);
+                                       border-style: solid;
+                                       border-color: var(--primary-nav--border-color) transparent;
+                                       border-width: 0 7px 10px 7px;
+                               }
+
+                               &:after {
+                                       top: -9px;
+                                       border-color: var(--global--color-background) transparent;
+                               }
+                       }
+               }
+       }
+
+       &:not(.has-background) {
+
+               .wp-block-navigation__container {
+                       background: var(--global--color-background);
+
+                       .wp-block-navigation__container {
+                               background: var(--global--color-background);
+                       }
+               }
+       }
+
+       &:not(.has-text-color) {
+
+               .wp-block-navigation-link {
+
+                       > a {
+
+                               &:hover,
+                               &:focus {
+                                       color: var(--primary-nav--color-link-hover);
+                               }
+
+                               &:hover {
+                                       text-decoration: underline;
+                                       text-decoration-style: dotted;
+                               }
+                       }
+               }
+
+               .wp-block-navigation-link__content {
+                       color: currentColor;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/paragraph/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/paragraph/_editor.scss
new file mode 100644 (file)
index 0000000..3ee367d
--- /dev/null
@@ -0,0 +1,7 @@
+p {
+       line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+
+       &.has-background {
+               padding: var(--global--spacing-unit);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/paragraph/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/paragraph/_style.scss
new file mode 100644 (file)
index 0000000..46bca91
--- /dev/null
@@ -0,0 +1,14 @@
+p {
+
+       line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+
+       // inherits general font style set at <body>
+       &.has-background {
+               padding: var(--global--spacing-unit);
+       }
+
+       // Override `color: inherit` from Core styles.
+       &.has-text-color a {
+               color: var(--wp--style--color--link, var(--global--color-primary));
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/preformatted/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/preformatted/_editor.scss
new file mode 100644 (file)
index 0000000..83c2654
--- /dev/null
@@ -0,0 +1,6 @@
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre !important;
+       font-size: var(--global--font-size-xs);
+
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/preformatted/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/preformatted/_style.scss
new file mode 100644 (file)
index 0000000..342b116
--- /dev/null
@@ -0,0 +1,4 @@
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/pullquote/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/pullquote/_editor.scss
new file mode 100644 (file)
index 0000000..5b223b1
--- /dev/null
@@ -0,0 +1,106 @@
+.wp-block-pullquote {
+       padding: calc(2 * var(--global--spacing-unit)) 0;
+       text-align: center;
+       border-width: var(--pullquote--border-width);
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+
+       blockquote::before {
+               color: currentColor;
+               content: "\201C";
+               display: block;
+               position: relative; // Override the absolute position.
+               left: 0;
+               font-size: 3rem;
+               font-weight: 500;
+               line-height: 1;
+       }
+
+       p {
+               font-family: var(--pullquote--font-family);
+               font-size: var(--pullquote--font-size);
+               font-style: var(--pullquote--font-style);
+               font-weight: 700;
+               letter-spacing: var(--pullquote--letter-spacing);
+               line-height: var(--pullquote--line-height);
+               margin: 0;
+       }
+
+       a {
+               color: currentColor;
+       }
+
+       .wp-block-pullquote__citation,
+       cite,
+       footer {
+               font-size: var(--global--font-size-xs);
+               font-style: var(--pullquote--font-style);
+               text-transform: none;
+       }
+
+       // Block Options
+       &:not(.is-style-solid-color) {
+               background: none;
+       }
+
+       &.is-style-solid-color {
+               margin-left: auto;
+               margin-right: auto;
+               padding: calc(2.5 * var(--global--spacing-unit));
+               border-width: var(--pullquote--border-width);
+               border-style: solid;
+               border-color: var(--pullquote--border-color);
+
+               @media ( min-width: 600px ) {
+                       padding: calc(5 * var(--global--spacing-unit));
+               }
+
+               blockquote::before {
+                       text-align: left;
+               }
+
+               &.alignleft blockquote,
+               &.alignright blockquote {
+                       padding-left: var(--global--spacing-unit);
+                       padding-right: var(--global--spacing-unit);
+                       max-width: inherit;
+               }
+
+               blockquote {
+                       margin: 0;
+                       max-width: 100%;
+
+                       p {
+                               font-size: var(--pullquote--font-size);
+                       }
+               }
+
+               .wp-block-pullquote__citation,
+               cite,
+               footer {
+                       color: currentColor;
+               }
+       }
+
+}
+
+.wp-block[data-align="full"] {
+
+       .wp-block-pullquote:not(.is-style-solid-color) {
+
+               blockquote {
+                       padding: 0 calc(2 * var(--global--spacing-unit));
+               }
+       }
+}
+
+.wp-block[data-align="left"],
+.wp-block[data-align="right"] {
+
+       .wp-block-pullquote.is-style-solid-color {
+               padding: var(--global--spacing-unit);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/pullquote/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/pullquote/_style.scss
new file mode 100644 (file)
index 0000000..ad0bc2c
--- /dev/null
@@ -0,0 +1,110 @@
+.wp-block-pullquote {
+       padding: calc(2 * var(--global--spacing-unit)) 0;
+       text-align: center;
+       border-width: var(--pullquote--border-width);
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+
+       blockquote::before {
+               color: currentColor;
+               content: "\201C";
+               display: block;
+               position: relative; // Override the absolute position.
+               left: 0;
+               font-size: 3rem;
+               font-weight: 500;
+               line-height: 1;
+       }
+
+       p {
+               font-family: var(--pullquote--font-family);
+               font-size: var(--pullquote--font-size);
+               font-style: var(--pullquote--font-style);
+               font-weight: 700;
+               letter-spacing: var(--pullquote--letter-spacing);
+               line-height: var(--pullquote--line-height);
+               margin: 0;
+       }
+
+       a {
+               color: currentColor;
+       }
+
+       .wp-block-pullquote__citation,
+       cite,
+       footer {
+               color: currentColor;
+               display: block;
+               font-size: var(--global--font-size-xs);
+               font-style: var(--pullquote--font-style);
+               text-transform: none;
+       }
+
+       /**
+        * Block Options
+        */
+       &:not(.is-style-solid-color) {
+               background: none;
+       }
+
+       &.alignleft:not(.is-style-solid-color) {
+
+               blockquote:before,
+               cite {
+                       text-align: center;
+               }
+       }
+
+       &.alignwide > p,
+       &.alignwide blockquote {
+               max-width: var(--responsive--alignwide-width);
+       }
+
+       &.alignfull:not(.is-style-solid-color) > p,
+       &.alignfull:not(.is-style-solid-color) blockquote {
+               padding: 0 calc(2 * var(--global--spacing-unit));
+       }
+
+       &.is-style-solid-color {
+               color: var(--pullquote--color-foreground);
+               padding: calc(2.5 * var(--global--spacing-unit));
+               border-width: var(--pullquote--border-width);
+               border-style: solid;
+               border-color: var(--pullquote--border-color);
+
+               @media (min-width: 600px) {
+                       padding: calc(5 * var(--global--spacing-unit));
+               }
+
+               blockquote::before {
+                       text-align: left;
+               }
+
+               blockquote {
+                       margin: 0;
+                       max-width: inherit;
+
+                       p {
+                               font-size: var(--pullquote--font-size);
+                       }
+               }
+
+               .wp-block-pullquote__citation,
+               cite,
+               footer {
+                       color: currentColor;
+               }
+
+               &.alignleft,
+               &.alignright {
+                       padding: var(--global--spacing-unit);
+
+                       blockquote {
+                               max-width: initial;
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/query-loop/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/query-loop/_editor.scss
new file mode 100644 (file)
index 0000000..ed43dd0
--- /dev/null
@@ -0,0 +1,10 @@
+.wp-block-query {
+
+       &.has-background {
+               padding: calc(0.666 * var(--global--spacing-vertical));
+
+               @include media(mobile) {
+                       padding: var(--global--spacing-vertical);
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/query-loop/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/query-loop/_style.scss
new file mode 100644 (file)
index 0000000..ed43dd0
--- /dev/null
@@ -0,0 +1,10 @@
+.wp-block-query {
+
+       &.has-background {
+               padding: calc(0.666 * var(--global--spacing-vertical));
+
+               @include media(mobile) {
+                       padding: var(--global--spacing-vertical);
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/quote/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/quote/_editor.scss
new file mode 100644 (file)
index 0000000..0d36ff1
--- /dev/null
@@ -0,0 +1,150 @@
+.wp-block-quote {
+       position: relative;
+       border-left: none;
+       margin: var(--global--spacing-vertical) auto var(--global--spacing-vertical) var(--global--spacing-horizontal);
+
+       p {
+               font-family: var(--quote--font-family);
+               font-size: var(--quote--font-size);
+               font-style: var(--quote--font-style);
+               font-weight: var(--quote--font-weight);
+               line-height: var(--quote--line-height);
+       }
+
+       strong {
+               font-weight: var(--quote--font-weight-strong);
+       }
+
+       &:before {
+               content: "\201C";
+               font-size: var(--quote--font-size);
+               line-height: var(--quote--line-height);
+               left: calc(-0.5 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-quote__citation {
+               color: currentColor;
+               font-size: var(--global--font-size-xs);
+               font-style: var(--quote--font-style-cite);
+
+               .has-background &,
+               [class*="background-color"] &,
+               [style*="background-color"] &,
+               .wp-block-cover[style*="background-image"] & {
+                       color: currentColor;
+               }
+       }
+
+       &.has-text-align-right {
+               margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto;
+               padding-right: 0;
+               border-right: none;
+
+               // Hide the left aligned quote.
+               &:before {
+                       display: none;
+               }
+
+               // Align the quote left of the text.
+               p:before {
+                       content: "\201D";
+                       font-size: var(--quote--font-size);
+                       font-weight: normal;
+                       line-height: var(--quote--line-height);
+                       margin-right: 5px;
+               }
+       }
+
+       &.has-text-align-center {
+               margin: var(--global--spacing-vertical) auto;
+
+               &:before {
+                       display: none;
+               }
+       }
+
+       &.is-large,
+       &.is-style-large {
+               padding-left: 0;
+
+               /* Resetting margins to match _block-container.scss */
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+
+               p {
+                       font-size: var(--quote--font-size-large);
+                       font-style: var(--quote--font-style-large);
+                       line-height: var(--quote--line-height-large);
+               }
+
+               &:before {
+                       font-size: var(--quote--font-size-large);
+                       line-height: var(--quote--line-height-large);
+                       left: calc(-1 * var(--global--spacing-horizontal));
+               }
+
+               &.has-text-align-right {
+
+                       // Hide the left aligned quote.
+                       &:before {
+                               display: none;
+                       }
+
+                       // Align the quote left of the text.
+                       p:before {
+                               content: "\201D";
+                               font-size: var(--quote--font-size-large);
+                               font-weight: normal;
+                               line-height: var(--quote--line-height-large);
+                               margin-right: 10px;
+                       }
+               }
+
+               @include media(mobile-only) {
+                       padding-left: var(--global--spacing-horizontal);
+
+                       &:before {
+                               left: 0;
+                       }
+
+                       &.has-text-align-right {
+                               padding-left: 0;
+                               padding-right: var(--global--spacing-horizontal);
+
+                               &:before {
+                                       right: 0;
+                               }
+                       }
+               }
+       }
+
+       @include media(mobile-only) {
+               padding-left: calc(0.5 * var(--global--spacing-horizontal));
+
+               &:before {
+                       left: 0;
+               }
+
+               &.has-text-align-right {
+                       padding-left: 0;
+                       padding-right: calc(0.5 * var(--global--spacing-horizontal));
+
+                       &:before {
+                               right: 0;
+                       }
+               }
+
+               &.has-text-align-center {
+                       padding-left: 0;
+                       padding-right: 0;
+               }
+       }
+
+       @include media(mobile) {
+               margin-left: auto;
+
+               &.has-text-align-right {
+                       margin-right: auto;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/quote/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/quote/_style.scss
new file mode 100644 (file)
index 0000000..8d8e3c4
--- /dev/null
@@ -0,0 +1,138 @@
+.wp-block-quote {
+       border-left: none;
+
+       &:before {
+               content: "\201C";
+               font-size: var(--quote--font-size);
+               line-height: var(--quote--line-height);
+               left: 8px;
+       }
+
+       .wp-block-quote__citation,
+       cite,
+       footer {
+
+               .has-background &,
+               [class*="background-color"] &,
+               [style*="background-color"] &,
+               .wp-block-cover[style*="background-image"] & {
+                       color: currentColor;
+               }
+       }
+
+       /**
+        * Block Options
+        */
+       &.has-text-align-right {
+               margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto;
+               padding-right: 0;
+               border-right: none;
+
+               // Hide the left aligned quote.
+               &:before {
+                       display: none;
+               }
+
+               // Align the quote left of the text.
+               p:before {
+                       content: "\201D";
+                       font-size: var(--quote--font-size);
+                       font-weight: normal;
+                       line-height: var(--quote--line-height);
+                       margin-right: 5px;
+               }
+       }
+
+       &.has-text-align-center {
+               margin: var(--global--spacing-vertical) auto;
+
+               &:before {
+                       display: none;
+               }
+       }
+
+       &.is-large,
+       &.is-style-large {
+               padding-left: 0;
+               padding-right: 0;
+
+               /* Resetting margins to match _block-container.scss */
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+
+               p {
+                       font-size: var(--quote--font-size-large);
+                       font-style: var(--quote--font-style-large);
+                       line-height: var(--quote--line-height-large);
+               }
+
+               &:before {
+                       font-size: var(--quote--font-size-large);
+                       line-height: var(--quote--line-height-large);
+                       left: calc(-1 * var(--global--spacing-horizontal));
+               }
+
+               &.has-text-align-right {
+
+                       // Hide the left aligned quote.
+                       &:before {
+                               display: none;
+                       }
+
+                       // Align the quote left of the text.
+                       p:before {
+                               content: "\201D";
+                               font-size: var(--quote--font-size-large);
+                               font-weight: normal;
+                               line-height: var(--quote--line-height-large);
+                               margin-right: 10px;
+                       }
+               }
+
+               .wp-block-quote__citation,
+               cite,
+               footer {
+                       color: var(--global--color-primary);
+                       font-size: var(--global--font-size-sm);
+               }
+
+               @include media(mobile-only) {
+                       padding-left: var(--global--spacing-horizontal);
+
+                       &:before {
+                               left: 0;
+                       }
+
+                       &.has-text-align-right {
+                               padding-left: 0;
+                               padding-right: var(--global--spacing-horizontal);
+
+                               &:before {
+                                       right: 0;
+                               }
+                       }
+
+                       &.has-text-align-center {
+                               padding-left: 0;
+                               padding-right: 0;
+                       }
+               }
+       }
+
+       @include media(mobile-only) {
+
+               &.has-text-align-right {
+                       padding-left: 0;
+                       padding-right: calc(0.5 * var(--global--spacing-horizontal));
+
+                       &:before {
+                               right: 0;
+                       }
+               }
+
+               &.has-text-align-center {
+                       padding-left: 0;
+                       padding-right: 0;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/rss/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/rss/_editor.scss
new file mode 100644 (file)
index 0000000..d1e0f63
--- /dev/null
@@ -0,0 +1,109 @@
+.wp-block-rss {
+       padding-left: 0;
+
+       > li {
+               list-style: none;
+       }
+
+       // Vertical margins logic
+       &:not(.is-grid) > li {
+               margin-top: calc(1.666 * var(--global--spacing-vertical));
+               margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       &.is-grid {
+
+               > li {
+                       margin-bottom: var(--global--spacing-vertical);
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+
+               // Remove bottom margins in grid columns
+               &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1),
+               &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1) ~ li,
+               &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1),
+               &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1) ~ li,
+               &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1),
+               &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1) ~ li,
+               &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1),
+               &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1) ~ li,
+               &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1),
+               &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li {
+                       margin-bottom: 0;
+               }
+       }
+
+       > li > * {
+               margin-top: calc(0.333 * var(--global--spacing-vertical));
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       // Post title
+       .wp-block-rss__item-title > a {
+               display: inline-block;
+               font-family: var(--latest-posts--title-font-family);
+               font-size: var(--latest-posts--title-font-size);
+               font-weight: var(--heading--font-weight);
+               line-height: var(--global--line-height-heading);
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+       }
+
+       // Post author
+       .wp-block-rss__item-author {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-md);
+               line-height: var(--global--line-height-body);
+       }
+
+       // Post date
+       .wp-block-rss__item-publish-date {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               line-height: var(--global--line-height-body);
+
+               [class*="inner-container"] &,
+               .has-background & {
+                       color: currentColor;
+               }
+       }
+
+       // Post content
+       .wp-block-rss__item-excerpt,
+       .wp-block-rss__item-full-content {
+               font-family: var(--latest-posts--description-font-family);
+               font-size: var(--latest-posts--description-font-size);
+               line-height: var(--global--line-height-body);
+               margin-top: calc(0.666 * var(--global--spacing-vertical));
+       }
+
+       // Utility classes
+       &.alignfull {
+               padding-left: var(--global--spacing-unit);
+               padding-right: var(--global--spacing-unit);
+
+               .entry-content [class*="inner-container"] &,
+               .entry-content .has-background & {
+                       padding-left: 0;
+                       padding-right: 0;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/rss/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/rss/_style.scss
new file mode 100644 (file)
index 0000000..d1e0f63
--- /dev/null
@@ -0,0 +1,109 @@
+.wp-block-rss {
+       padding-left: 0;
+
+       > li {
+               list-style: none;
+       }
+
+       // Vertical margins logic
+       &:not(.is-grid) > li {
+               margin-top: calc(1.666 * var(--global--spacing-vertical));
+               margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       &.is-grid {
+
+               > li {
+                       margin-bottom: var(--global--spacing-vertical);
+
+                       &:last-child {
+                               margin-bottom: 0;
+                       }
+               }
+
+               // Remove bottom margins in grid columns
+               &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1),
+               &.columns-2 > li:nth-last-child(-n + 2):nth-child(2n + 1) ~ li,
+               &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1),
+               &.columns-3 > li:nth-last-child(-n + 3):nth-child(3n + 1) ~ li,
+               &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1),
+               &.columns-4 > li:nth-last-child(-n + 4):nth-child(4n + 1) ~ li,
+               &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1),
+               &.columns-5 > li:nth-last-child(-n + 5):nth-child(5n + 1) ~ li,
+               &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1),
+               &.columns-6 > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li {
+                       margin-bottom: 0;
+               }
+       }
+
+       > li > * {
+               margin-top: calc(0.333 * var(--global--spacing-vertical));
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       // Post title
+       .wp-block-rss__item-title > a {
+               display: inline-block;
+               font-family: var(--latest-posts--title-font-family);
+               font-size: var(--latest-posts--title-font-size);
+               font-weight: var(--heading--font-weight);
+               line-height: var(--global--line-height-heading);
+               margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+       }
+
+       // Post author
+       .wp-block-rss__item-author {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-md);
+               line-height: var(--global--line-height-body);
+       }
+
+       // Post date
+       .wp-block-rss__item-publish-date {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               line-height: var(--global--line-height-body);
+
+               [class*="inner-container"] &,
+               .has-background & {
+                       color: currentColor;
+               }
+       }
+
+       // Post content
+       .wp-block-rss__item-excerpt,
+       .wp-block-rss__item-full-content {
+               font-family: var(--latest-posts--description-font-family);
+               font-size: var(--latest-posts--description-font-size);
+               line-height: var(--global--line-height-body);
+               margin-top: calc(0.666 * var(--global--spacing-vertical));
+       }
+
+       // Utility classes
+       &.alignfull {
+               padding-left: var(--global--spacing-unit);
+               padding-right: var(--global--spacing-unit);
+
+               .entry-content [class*="inner-container"] &,
+               .entry-content .has-background & {
+                       padding-left: 0;
+                       padding-right: 0;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/search/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/search/_editor.scss
new file mode 100644 (file)
index 0000000..6be9178
--- /dev/null
@@ -0,0 +1,114 @@
+.wp-block-search {
+       max-width: var(--responsive--aligndefault-width);
+
+       .wp-block-search__label {
+               font-size: var(--form--font-size);
+               font-weight: var(--form--label-weight);
+               margin-bottom: calc(var(--global--spacing-vertical) / 3);
+       }
+
+       &.wp-block-search__button-inside .wp-block-search__inside-wrapper,
+       .wp-block-search__input {
+               border: var(--form--border-width) solid var(--form--border-color);
+               border-radius: var(--form--border-radius);
+               font-family: var(--form--font-family);
+               font-size: var(--form--font-size);
+               line-height: var(--form--line-height);
+               max-width: inherit;
+               margin-right: calc(-1 * var(--button--border-width));
+               padding: var(--form--spacing-unit);
+
+               .is-dark-theme & {
+                       background: var(--global--color-white-90);
+               }
+
+               .has-background & {
+                       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+               }
+       }
+
+       .wp-block-search__button.wp-block-search__button {
+               @include button-style();
+               box-shadow: none;
+               margin-left: 0;
+
+               &.has-icon {
+                       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+                       display: inherit;
+
+                       svg {
+                               width: 40px;
+                               height: 40px;
+                       }
+               }
+
+               &:hover,
+               &:active {
+
+                       .has-background & {
+                               background-color: var(--local--color-background, var(--global--color-background)) !important;
+                               color: var(--local--color-primary, var(--global--color-primary)) !important;
+                       }
+
+                       .has-text-color & {
+                               color: var(--local--color-primary, var(--global--color-primary)) !important;
+                       }
+               }
+
+               // Remove :focus styles in the editor
+               &:focus {
+                       outline-offset: inherit;
+                       outline: inherit;
+               }
+       }
+
+       &.wp-block-search__button-inside {
+
+               .wp-block-search__inside-wrapper {
+                       padding: var(--form--border-width);
+               }
+
+               .wp-block-search__input {
+                       border: none;
+               }
+
+               &.wp-block-search__text-button,
+               &.wp-block-search__icon-button {
+
+                       .wp-block-search__button {
+                               // Search button always needs black contrast against white form background
+                               &:hover {
+                                       color: var(--global--color-dark-gray);
+                               }
+
+                               .is-dark-theme & {
+                                       color: var(--global--color-dark-gray);
+
+                                       &:hover {
+                                               background-color: var(--global--color-dark-gray);
+                                               color: var(--global--color-white);
+                                       }
+                               }
+                       }
+               }
+
+               &.wp-block-search__text-button .wp-block-search__button {
+                       // Match the text button size with the icon button.
+                       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+               }
+       }
+}
+
+.wp-block[data-align="center"] > * {
+       text-align: center;
+}
+
+.wp-block[data-align="center"] {
+
+       .wp-block-search__button-only {
+
+               .wp-block-search__inside-wrapper {
+                       justify-content: center;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/search/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/search/_style.scss
new file mode 100644 (file)
index 0000000..46899b5
--- /dev/null
@@ -0,0 +1,116 @@
+.wp-block-search {
+       max-width: var(--responsive--aligndefault-width);
+
+       &__button-only.aligncenter {
+
+               .wp-block-search__inside-wrapper {
+                       justify-content: center;
+               }
+       }
+
+       .wp-block-search__label {
+               font-size: var(--form--font-size);
+               font-weight: var(--form--label-weight);
+               margin-bottom: calc(var(--global--spacing-vertical) / 3);
+       }
+
+       .wp-block-search__input {
+               border: var(--form--border-width) solid var(--form--border-color);
+               border-radius: var(--form--border-radius);
+               color: var(--form--color-text);
+               line-height: var(--form--line-height);
+               max-width: inherit;
+               margin-right: calc(-1 * var(--button--border-width));
+               padding: var(--form--spacing-unit);
+
+               &:focus {
+                       color: var(--form--color-text);
+                       border-color: var(--form--border-color);
+               }
+
+               .has-background & {
+                       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+               }
+       }
+
+       button.wp-block-search__button {
+               margin-left: 0;
+               line-height: 1;
+
+               &.has-icon {
+                       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+
+                       svg {
+                               width: 40px;
+                               height: 40px;
+                               fill: currentColor;
+                       }
+               }
+
+               &:hover,
+               &:active {
+
+                       .has-background & {
+                               background-color: var(--local--color-background, var(--global--color-background)) !important;
+                               color: var(--local--color-primary, var(--global--color-primary)) !important;
+                       }
+
+                       .has-text-color & {
+                               color: var(--local--color-primary, var(--global--color-primary)) !important;
+                       }
+               }
+       }
+
+       &.wp-block-search__button-inside {
+
+               .wp-block-search__inside-wrapper {
+                       background-color: var(--global--color-white);
+                       border: var(--form--border-width) solid var(--form--border-color);
+                       border-radius: var(--form--border-radius);
+                       padding: var(--form--border-width);
+
+                       .has-background & {
+                               border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+                       }
+
+                       .wp-block-search__input {
+                               margin-left: 0;
+                               margin-right: 0;
+                               padding-left: var(--form--spacing-unit);
+
+                               // Add outline for focus styles to override default
+                               &:focus {
+                                       color: var(--form--color-text);
+                                       outline-offset: -2px;
+                                       outline: 2px dotted var(--form--border-color);
+                               }
+                       }
+
+                       button.wp-block-search__button {
+                               padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+
+                               // Search button always needs black contrast against white form background
+                               &:hover {
+                                       color: var(--global--color-dark-gray);
+                               }
+
+                               .is-dark-theme & {
+                                       color: var(--global--color-dark-gray);
+
+                                       &:hover {
+                                               background-color: var(--global--color-dark-gray);
+                                               color: var(--global--color-white);
+                                       }
+                               }
+
+                               &.has-icon {
+                                       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+                               }
+                       }
+               }
+       }
+}
+
+.wp-block-search__button {
+       box-shadow: none;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/separator/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/separator/_editor.scss
new file mode 100644 (file)
index 0000000..dc5b2bd
--- /dev/null
@@ -0,0 +1,48 @@
+.wp-block-separator,
+hr {
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       clear: both;
+       opacity: 1;
+
+       &[style*="text-align:right"],
+       &[style*="text-align: right"] {
+               border-right-color: var(--separator--border-color);
+       }
+
+       &:not(.is-style-dots) {
+               max-width: var(--responsive--aligndefault-width);
+       }
+
+       [data-align="full"] > &,
+       [data-align="wide"] > & {
+               max-width: inherit;
+       }
+
+       &.is-style-twentytwentyone-separator-thick {
+               border-bottom-width: calc(3 * var(--separator--height));
+       }
+
+       &.is-style-dots {
+               border-bottom: none;
+
+               &.has-background,
+               &.has-text-color {
+                       background-color: transparent !important;
+
+                       &:before {
+                               color: currentColor !important;
+                       }
+               }
+
+               &:before {
+                       color: var(--separator--border-color);
+               }
+       }
+
+       .has-background &,
+       [class*="background-color"] &,
+       [style*="background-color"] &,
+       .wp-block-cover[style*="background-image"] & {
+               border-color: currentColor;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/separator/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/separator/_style.scss
new file mode 100644 (file)
index 0000000..c088d3e
--- /dev/null
@@ -0,0 +1,60 @@
+hr {
+       border-style: none;
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       clear: both;
+       margin-left: auto;
+       margin-right: auto;
+
+       &.wp-block-separator {
+               border-bottom: var(--separator--height) solid var(--separator--border-color);
+               opacity: 1;
+
+               &:not(.is-style-dots):not(.alignwide) {
+                       max-width: var(--responsive--aligndefault-width);
+               }
+
+               &:not(.is-style-dots) {
+
+                       &.alignwide {
+                               max-width: var(--responsive--alignwide-width);
+                       }
+
+                       &.alignfull {
+                               max-width: var(--responsive--alignfull-width);
+                       }
+               }
+
+               /**
+                * Block Options
+                */
+               &.is-style-twentytwentyone-separator-thick {
+                       border-bottom-width: calc(3 * var(--separator--height));
+               }
+
+               &.is-style-dots {
+
+                       &.has-background,
+                       &.has-text-color {
+                               background-color: transparent !important;
+
+                               &:before {
+                                       color: currentColor !important;
+                               }
+                       }
+
+                       &:before {
+                               color: var(--separator--border-color);
+                               font-size: var(--global--font-size-xl);
+                               letter-spacing: var(--global--font-size-sm);
+                               padding-left: var(--global--font-size-sm);
+                       }
+               }
+
+               .has-background &,
+               [class*="background-color"] &,
+               [style*="background-color"] &,
+               .wp-block-cover[style*="background-image"] & {
+                       border-color: currentColor;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/social-icons/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/social-icons/_editor.scss
new file mode 100644 (file)
index 0000000..e258460
--- /dev/null
@@ -0,0 +1,20 @@
+.wp-block-social-links {
+
+       // Social icons are horizontal, so they don't need vertical spacing.
+       [data-block] {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       &.is-style-twentytwentyone-social-icons-color {
+
+               button {
+                       color: var(--global--color-primary);
+               }
+
+               .wp-social-link {
+                       background: none;
+               }
+       }
+
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/social-icons/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/social-icons/_style.scss
new file mode 100644 (file)
index 0000000..f63b263
--- /dev/null
@@ -0,0 +1,19 @@
+.wp-block-social-links {
+
+       a:focus {
+               color: var(--global--color-primary);
+       }
+
+       &.is-style-twentytwentyone-social-icons-color {
+
+               a {
+                       color: var(--global--color-primary);
+               }
+
+               .wp-social-link,
+               &.has-icon-background-color.has-icon-background-color .wp-social-link {
+                       background: none;
+               }
+
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/table/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/table/_editor.scss
new file mode 100644 (file)
index 0000000..a0c7cfc
--- /dev/null
@@ -0,0 +1,89 @@
+table,
+.wp-block-table {
+
+       thead,
+       tfoot {
+               text-align: center;
+       }
+
+       th {
+               font-family: var(--heading--font-family);
+       }
+
+       td,
+       th {
+               padding: calc(0.5 * var(--global--spacing-unit));
+       }
+
+       &.is-style-regular .has-background,
+       &.is-style-stripes .has-background,
+       &.is-style-stripes .has-background thead tr,
+       &.is-style-stripes .has-background tfoot tr,
+       &.is-style-stripes .has-background tbody tr {
+               color: var(--table--has-background-text-color);
+       }
+
+       &.is-style-stripes {
+               border-color: var(--table--stripes-border-color);
+
+               th,
+               td {
+                       border-width: 0;
+               }
+
+               tbody tr:nth-child(odd) {
+                       background-color: var(--table--stripes-background-color);
+               }
+
+               .has-background tbody tr:nth-child(odd) {
+                       background-color: var(--global--color-white-90);
+               }
+       }
+}
+
+table.wp-calendar-table {
+
+       td,
+       th {
+               background: transparent;
+               border: 0;
+               text-align: center;
+               line-height: 2;
+               vertical-align: middle;
+       }
+
+       th {
+               font-weight: bold;
+       }
+
+       thead,
+       tbody {
+               color: currentColor;
+               border: 1px solid;
+       }
+
+       caption {
+               font-weight: bold;
+               text-align: left;
+               margin-bottom: var(--global--spacing-unit);
+               color: currentColor;
+       }
+}
+
+.wp-calendar-nav {
+       text-align: left;
+       margin-top: calc(var(--global--spacing-unit) / 2);
+
+       svg {
+               height: 1em;
+               vertical-align: middle;
+
+               path {
+                       fill: currentColor;
+               }
+       }
+
+       .wp-calendar-nav-next {
+               float: right;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/table/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/table/_style.scss
new file mode 100644 (file)
index 0000000..0417397
--- /dev/null
@@ -0,0 +1,99 @@
+table,
+.wp-block-table {
+       width: 100%;
+       min-width: 240px;
+       border-collapse: collapse;
+
+       thead,
+       tfoot {
+               text-align: center;
+       }
+
+       th {
+               font-family: var(--heading--font-family);
+       }
+
+       td,
+       th {
+               padding: calc(0.5 * var(--global--spacing-unit));
+               border: 1px solid;
+       }
+
+       figcaption {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+       }
+
+       &.is-style-regular .has-background,
+       &.is-style-stripes .has-background,
+       &.is-style-stripes .has-background thead tr,
+       &.is-style-stripes .has-background tfoot tr,
+       &.is-style-stripes .has-background tbody tr {
+               color: var(--table--has-background-text-color);
+       }
+
+       &.is-style-stripes {
+               border-color: var(--table--stripes-border-color);
+
+               th,
+               td {
+                       border-width: 0;
+               }
+
+               tbody tr:nth-child(odd) {
+                       background-color: var(--table--stripes-background-color);
+               }
+
+               .has-background tbody tr:nth-child(odd) {
+                       background-color: var(--global--color-white-90);
+               }
+       }
+}
+
+table.wp-calendar-table {
+
+       td,
+       th {
+               background: transparent;
+               border: 0;
+               text-align: center;
+               line-height: 2;
+               vertical-align: middle;
+               word-break: normal;
+       }
+
+       th {
+               font-weight: bold;
+       }
+
+       thead,
+       tbody {
+               color: currentColor;
+               border: 1px solid;
+       }
+
+       caption {
+               font-weight: bold;
+               text-align: left;
+               margin-bottom: var(--global--spacing-unit);
+               color: currentColor;
+       }
+}
+
+.wp-calendar-nav {
+       text-align: left;
+       margin-top: calc(var(--global--spacing-unit) / 2);
+
+       svg {
+               height: 1em;
+               vertical-align: middle;
+
+               path {
+                       fill: currentColor;
+               }
+       }
+
+       .wp-calendar-nav-next {
+               float: right;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/tag-clould/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/tag-clould/_editor.scss
new file mode 100644 (file)
index 0000000..5efd121
--- /dev/null
@@ -0,0 +1,6 @@
+.wp-block-tag-cloud {
+
+       &.aligncenter {
+               text-align: center;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/tag-clould/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/tag-clould/_style.scss
new file mode 100644 (file)
index 0000000..dcf88ac
--- /dev/null
@@ -0,0 +1,7 @@
+.wp-block-tag-cloud {
+
+       &.alignfull {
+               padding-left: var(--global--spacing-unit);
+               padding-right: var(--global--spacing-unit);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss
new file mode 100644 (file)
index 0000000..ca1b430
--- /dev/null
@@ -0,0 +1,140 @@
+/**
+* Editor Post Title
+* - Needs a special styles
+*/
+
+// Post title style
+.wp-block.editor-post-title__block {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+       max-width: var(--responsive--alignwide-width);
+
+       .editor-post-title__input {
+               color: var(--global--color-secondary);
+               font-family: var(--heading--font-family);
+               font-size: var(--global--font-size-page-title);
+               font-weight: var(--heading--font-weight-page-title);
+               line-height: var(--heading--line-height-h1);
+       }
+}
+
+// Editor UI font styles
+.wp-block.block-editor-default-block-appender > textarea {
+       font-family: var(--global--font-secondary);
+       font-size: var(--global--font-size-md);
+}
+
+// Gutenberg text color options
+.has-primary-color[class] {
+       color: var(--global--color-primary);
+}
+
+.has-secondary-color[class] {
+       color: var(--global--color-secondary);
+}
+
+// Gutenberg background-color options
+.has-background {
+
+       a,
+       p,
+       h1,
+       h2,
+       h3,
+       h4,
+       h5,
+       h6 {
+               color: currentColor;
+       }
+}
+
+.has-primary-background-color[class] {
+       background-color: var(--global--color-primary);
+       color: var(--global--color-background);
+}
+
+.has-secondary-background-color[class] {
+       background-color: var(--global--color-secondary);
+       color: var(--global--color-background);
+}
+
+.has-white-background-color[class] {
+       background-color: var(--global--color-white);
+       color: var(--global--color-secondary);
+}
+
+.has-black-background-color[class] {
+       background-color: var(--global--color-black);
+       color: var(--global--color-primary);
+}
+
+// Spacing Overrides
+[data-block] {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+// Block Alignments
+.wp-block {
+
+       // Gutenberg injects a rule that limits the max width of .wp-block to 580px
+       // This line overrides it to use the responsive spacing rules for default width content
+       max-width: var(--responsive--aligndefault-width);
+
+       // Use the theme's max-width for wide alignment.
+       &[data-align="wide"],
+       &.alignwide {
+               max-width: var(--responsive--alignwide-width);
+       }
+
+       &[data-align="full"],
+       &.alignfull {
+               max-width: none;
+       }
+}
+
+.alignleft {
+       margin: 0;
+       margin-right: var(--global--spacing-horizontal);
+}
+
+.alignright {
+       margin: 0;
+       margin-left: var(--global--spacing-horizontal);
+}
+
+// Drop cap
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: left;
+       margin: 0.1em 0.1em 0 0;
+       font-size: calc(1.2 * var(--heading--font-size-h1));
+}
+
+@media only screen and (min-width: 482px) {
+
+       .wp-block[data-align="left"] > * {
+               max-width: 290px;
+               margin-right: var(--global--spacing-horizontal);
+       }
+
+       .wp-block[data-align="right"] > * {
+               max-width: 290px;
+               margin-left: var(--global--spacing-horizontal);
+       }
+}
+
+// Remove the border of blockquotes inside the classic block.
+.wp-block-freeform.block-library-rich-text__tinymce blockquote {
+       border: none;
+}
+
+// Adjust the position of the quote symbol for blockquotes inside the classic block.
+.wp-block-freeform.block-library-rich-text__tinymce blockquote:before {
+       left: 5px;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_font-sizes.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_font-sizes.scss
new file mode 100644 (file)
index 0000000..26f9739
--- /dev/null
@@ -0,0 +1,53 @@
+// Gutenberg Font-size utility classes
+:root {
+
+       .is-extra-small-text,
+       .has-extra-small-font-size {
+               font-size: var(--global--font-size-xs);
+       }
+
+       .is-small-text,
+       .has-small-font-size {
+               font-size: var(--global--font-size-sm);
+       }
+
+       .is-regular-text,
+       .has-regular-font-size,
+       .is-normal-font-size,
+       .has-normal-font-size,
+       .has-medium-font-size {
+               font-size: var(--global--font-size-base);
+       }
+
+       .is-large-text,
+       .has-large-font-size {
+               font-size: var(--global--font-size-lg);
+               line-height: var(--global--line-height-heading);
+       }
+
+       .is-larger-text,
+       .has-larger-font-size,
+       .is-extra-large-text,
+       .has-extra-large-font-size {
+               font-size: var(--global--font-size-xl);
+               line-height: var(--global--line-height-heading);
+       }
+
+       .is-huge-text,
+       .has-huge-font-size {
+               font-size: var(--global--font-size-xxl);
+               line-height: var(--global--line-height-heading);
+
+               // This size is meant to mimic the page titles, so the font weight is reduced to match.
+               font-weight: var(--heading--font-weight-page-title);
+       }
+
+       .is-gigantic-text,
+       .has-gigantic-font-size {
+               font-size: var(--global--font-size-xxxl);
+               line-height: var(--global--line-height-heading);
+
+               // This size is meant to mimic the page titles, so the font weight is reduced to match.
+               font-weight: var(--heading--font-weight-page-title);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_style.scss
new file mode 100644 (file)
index 0000000..b747a2f
--- /dev/null
@@ -0,0 +1,160 @@
+/* Block Alignments */
+
+/**
+ * These selectors set the default max width for content appearing inside a post or page.
+ */
+.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
+*[class*="inner-container"] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
+       @extend %responsive-aligndefault-width;
+}
+
+/**
+ * .alignleft
+ */
+.alignleft {
+
+       /*rtl:ignore*/
+       text-align: left;
+
+       margin-top: 0;
+}
+
+// Targeting the .entry-content class is necessary to ensure these styles
+// only apply when the block isn't nested.
+.entry-content > .alignleft {
+       max-width: var(--responsive--aligndefault-width);
+       @extend %responsive-alignleft;
+}
+
+@include media(mobile) {
+
+       .alignleft {
+
+               /*rtl:ignore*/
+               float: left;
+
+               /*rtl:ignore*/
+               margin-right: var(--global--spacing-horizontal);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+       .entry-content > .alignleft {
+               max-width: calc(50% - var(--responsive--alignleft-margin));
+       }
+}
+
+/**
+ * .aligncenter
+ */
+.aligncenter {
+       clear: both;
+       display: block;
+       float: none;
+       margin-right: auto;
+       margin-left: auto;
+       text-align: center;
+}
+
+/**
+ * .alignright
+ */
+.alignright {
+
+       margin-top: 0;
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+// Targeting the .entry-content class is necessary to ensure these styles
+// only apply when the block isn't nested.
+.entry-content > .alignright {
+       max-width: var(--responsive--aligndefault-width);
+       @extend %responsive-alignright;
+}
+
+@include media(mobile) {
+
+       .alignright {
+
+               /*rtl:ignore*/
+               float: right;
+
+               /*rtl:ignore*/
+               margin-left: var(--global--spacing-horizontal);
+       }
+
+       .entry-content > .alignright {
+               max-width: calc(50% - var(--responsive--alignright-margin));
+       }
+}
+
+// Make sure siblings of floated elements are top-aligned when nested
+[class*="inner-container"] > .alignleft + *,
+[class*="inner-container"] > .alignright + * {
+       margin-top: 0;
+}
+
+/**
+ * .alignwide
+ */
+.alignwide {
+       clear: both;
+       @extend %responsive-alignwide-width;
+}
+
+.alignwide [class*="inner-container"] > .alignwide {
+       @extend %responsive-alignwide-width-nested;
+}
+
+/**
+ * .alignfull
+ */
+.alignfull {
+       clear: both;
+       @extend %responsive-alignfull-width-mobile;
+       @extend %responsive-alignfull-width;
+}
+
+.alignfull [class*="inner-container"] > .alignwide {
+       @extend %responsive-alignwide-width-nested;
+}
+
+// Content alignment
+.has-left-content {
+       justify-content: flex-start;
+}
+
+.has-right-content {
+       justify-content: flex-end;
+}
+
+// Parallax
+.has-parallax {
+       background-attachment: fixed;
+}
+
+// Drop caps
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: left;
+       margin: 0.1em 0.1em 0 0;
+       font-size: calc(1.2 * var(--heading--font-size-h1));
+}
+
+.has-drop-cap:not(:focus)::after {
+       content: "";
+       display: table;
+       clear: both;
+       padding-top: 14px;
+}
+
+.desktop-only {
+       display: none;
+
+       @include media(mobile) {
+               display: block;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/verse/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/verse/_editor.scss
new file mode 100644 (file)
index 0000000..fa44996
--- /dev/null
@@ -0,0 +1,4 @@
+pre.wp-block-verse {
+       padding: 0;
+       color: currentColor;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/verse/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/verse/_style.scss
new file mode 100644 (file)
index 0000000..264173b
--- /dev/null
@@ -0,0 +1,3 @@
+.wp-block-verse {
+       font-family: var(--entry-content--font-family);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/video/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/video/_style.scss
new file mode 100644 (file)
index 0000000..6a4a389
--- /dev/null
@@ -0,0 +1,16 @@
+.wp-block-video {
+
+       figcaption {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               margin-top: calc(0.5 * var(--global--spacing-unit));
+               margin-bottom: var(--global--spacing-unit);
+               text-align: center;
+       }
+}
+
+* > figure > video {
+       max-width: unset;
+       width: 100%;
+       vertical-align: middle;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/404.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/404.scss
new file mode 100644 (file)
index 0000000..d8309eb
--- /dev/null
@@ -0,0 +1,4 @@
+.error404 main p {
+       font-size: var(--global--font-size-lg);
+       margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/archives.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/archives.scss
new file mode 100644 (file)
index 0000000..d1b1a52
--- /dev/null
@@ -0,0 +1,68 @@
+.page-title {
+       font-size: var(--global--font-size-page-title);
+}
+
+h1.page-title,
+h2.page-title {
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+h1.page-title {
+       line-height: var(--heading--line-height-h1);
+}
+
+.page-header {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+}
+
+.archive,
+.search,
+.blog {
+
+       .content-area {
+
+               .format-aside,
+               .format-status,
+               .format-link {
+
+                       .entry-content {
+                               font-size: var(--global--font-size-lg);
+                       }
+               }
+
+       }
+
+       .format-image,
+       .format-gallery,
+       .format-video {
+
+               .entry-content {
+                       margin-top: calc(2 * var(--global--spacing-vertical));
+               }
+       }
+
+       .entry-footer {
+
+               .cat-links,
+               .tags-links {
+                       display: block;
+               }
+       }
+
+       &.logged-in {
+
+               .entry-footer {
+
+                       .posted-on {
+                               margin-right: calc(0.5 * var(--global--spacing-unit));
+                       }
+               }
+       }
+}
+
+.archive-description {
+       margin-top: var(--global--spacing-vertical);
+       font-size: var(--global--font-size-xl);
+       line-height: var(--global--line-height-heading);
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/comments.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/comments.scss
new file mode 100644 (file)
index 0000000..ae0e688
--- /dev/null
@@ -0,0 +1,292 @@
+/**
+ * Comments Wrapper
+ */
+.comments-area {
+
+       > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+
+       &.show-avatars {
+
+               .avatar {
+                       border-radius: 50%;
+                       position: absolute;
+                       top: 10px;
+               }
+
+               .fn {
+                       display: inline-block;
+                       padding-left: 85px;
+               }
+
+               .comment-metadata {
+                       padding: 8px 0 9px 85px;
+               }
+
+       }
+}
+
+/**
+ * Comment Title
+ */
+
+.comments-title,
+.comment-reply-title {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+}
+
+.comment-reply-title {
+       display: flex;
+       justify-content: space-between;
+
+       small {
+
+               a {
+                       font-family: var(--global--font-secondary);
+                       font-size: var(--global--font-size-xs);
+                       font-style: normal;
+                       font-weight: normal;
+                       letter-spacing: normal;
+               }
+       }
+}
+
+/* Nested comment reply title*/
+.comment .comment-respond .comment-reply-title {
+       font-size: var(--global--font-size-lg);
+}
+
+/**
+ * Comment Lists
+ */
+.comment-list {
+       padding-left: 0;
+       list-style: none;
+
+       > li {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+}
+
+.comment-list .children {
+       list-style: none;
+       padding-left: 0;
+
+       > li {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+}
+
+.comment-list .depth-2,
+.comment-list .depth-3 {
+       @include media(mobile) {
+               padding-left: calc(4 * var(--global--spacing-horizontal));
+       }
+}
+
+/**
+ * Comment Meta
+ */
+.comment-meta {
+
+       .comment-author {
+               line-height: var(--global--line-height-heading);
+               margin-bottom: calc(0.25 * var(--global--spacing-unit));
+
+               @include media(mobile) {
+                       margin-bottom: 0;
+                       padding-right: 0;
+               }
+
+               .fn {
+                       font-family: var(--global--font-secondary);
+                       font-weight: normal;
+                       font-size: var(--global--font-size-lg);
+                       hyphens: auto;
+                       word-wrap: break-word;
+                       word-break: break-word;
+               }
+
+       }
+
+       .comment-metadata {
+               color: var(--global--color-primary);
+               font-size: var(--global--font-size-xs);
+               padding: 8px 0 9px 0;
+
+               .edit-link {
+                       margin-left: var(--global--spacing-horizontal);
+               }
+
+       }
+
+       @include media(mobile) {
+               margin-right: inherit;
+
+               .comment-author {
+                       max-width: inherit;
+               }
+       }
+}
+
+.reply {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-heading);
+}
+
+.bypostauthor {
+       display: block;
+}
+
+.says {
+       display: none;
+}
+
+.pingback .url,
+.trackback .url {
+       font-family: var(--global--font-primary);
+}
+
+// Comment body
+.comment-body {
+       position: relative;
+       margin-bottom: calc(1.7 * var(--global--spacing-vertical));
+
+       > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+       .reply {
+               margin: 0;
+       }
+}
+
+.comment-content {
+       word-wrap: break-word;
+}
+
+// Pingbacks & Trackbacks
+.pingback .comment-body,
+.trackback .comment-body {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-respond {
+       margin-top: var(--global--spacing-vertical);
+}
+
+.comment-respond > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+
+       &:first-child {
+               margin-top: 0;
+       }
+
+       &:last-child {
+               margin-bottom: 0;
+
+               &.comment-form {
+                       margin-bottom: var(--global--spacing-vertical);
+               }
+       }
+}
+
+.comment-author {
+       padding-top: 3px;
+
+       .url {
+               color: currentColor;
+       }
+}
+
+.comment-form {
+       display: flex;
+       flex-wrap: wrap;
+
+       > * {
+               flex-basis: 100%;
+       }
+
+       .comment-notes {
+               font-size: var(--global--font-size-sm);
+       }
+
+       .comment-form-url,
+       .comment-form-comment {
+               width: 100%;
+       }
+
+       .comment-form-author,
+       .comment-form-email {
+               flex-basis: 0;
+               flex-grow: 1;
+
+               @include media(mobile-only) {
+                       flex-basis: 100%;
+               }
+       }
+
+       .comment-form-cookies-consent > label,
+       .comment-notes {
+               font-size: var(--global--font-size-xs);
+               font-weight: normal;
+       }
+}
+
+.comment-form > p {
+       margin-bottom: var(--global--spacing-unit);
+
+       &:first-of-type {
+               margin-top: 0;
+       }
+
+       &:last-of-type {
+               margin-bottom: 0;
+       }
+
+       label,
+       input[type="email"],
+       input[type="text"],
+       input[type="url"],
+       textarea {
+               display: block;
+               font-size: var(--global--font-size-sm);
+               margin-bottom: calc(.5 * var(--global--spacing-unit));
+               width: 100%;
+               font-weight: var(--form--label-weight);
+       }
+
+       &.comment-form-cookies-consent {
+               display: flex;
+       }
+
+       @include media(mobile) {
+
+               &.comment-form-author {
+                       margin-right: calc(1.5 * var(--global--spacing-horizontal));
+               }
+
+               &.comment-notes,
+               &.logged-in-as {
+                       display: block;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/editor.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/editor.scss
new file mode 100644 (file)
index 0000000..0279484
--- /dev/null
@@ -0,0 +1,44 @@
+html {
+       font-family: var(--global--font-secondary);
+       line-height: var(--global--line-height-body);
+}
+
+body {
+       --wp--typography--line-height: var(--global--line-height-body);
+       color: var(--global--color-primary);
+       background-color: var(--global--color-background);
+       font-family: var(--global--font-secondary);
+       font-size: var(--global--font-size-base);
+       font-weight: normal;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+// Links styles
+.wp-block a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+
+       &:hover {
+               text-decoration-style: dotted;
+       }
+
+       &:focus {
+               outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+               text-decoration: none;
+       }
+}
+
+// Enforce the custom link color even if a custom background color has been set.
+// The extra specificity here is required to override the background color styles.
+.has-background {
+       // Target both current level and nested block.
+       .has-link-color a,
+       &.has-link-color a {
+               color: var(--wp--style--color--link, var(--global--color-primary));
+       }
+}
+
+button,
+a {
+       cursor: pointer;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/entry.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/entry.scss
new file mode 100644 (file)
index 0000000..1ec1a10
--- /dev/null
@@ -0,0 +1,210 @@
+.entry-title {
+
+       color: var(--entry-header--color);
+       font-size: var(--entry-header--font-size);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+       overflow-wrap: break-word;
+
+       a {
+               color: var(--entry-header--color-link);
+               text-underline-offset: 0.15em;
+
+               &:hover {
+                       color: var(--entry-header--color-hover);
+               }
+
+               &:focus {
+                       color: var(--entry-header--color-focus);
+               }
+
+               &:active {
+                       color: var(--entry-header--color-link);
+               }
+       }
+}
+
+.singular .entry-title {
+       font-size: var(--global--font-size-page-title);
+}
+
+h1.entry-title {
+       line-height: var(--heading--line-height-h1);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+/**
+ * Entry Content
+ */
+
+.entry-content,
+.entry-summary {
+       font-family: var(--entry-content--font-family);
+}
+
+.entry-content {
+
+       p {
+               word-wrap: break-word;
+       }
+
+       // Overwrite iframe embeds that have inline styles.
+       > iframe[style] {
+
+               margin: var(--global--spacing-vertical) 0 !important;
+               max-width: 100% !important;
+       }
+
+       // Classic editor audio embeds.
+       .wp-audio-shortcode {
+               @extend %responsive-aligndefault-width;
+       }
+}
+
+.entry-footer {
+
+       color: var(--global--color-primary);
+       clear: both;
+       float: none;
+       font-size: var(--global--font-size-xs);
+       display: block;
+
+       > span {
+               display: inline-block;
+       }
+
+       a {
+               color: currentColor;
+
+               &:hover,
+               &:focus {
+                       color: var(--global--color-primary-hover);
+               }
+
+               &:active {
+                       color: currentColor;
+               }
+       }
+}
+
+// Extra specificity to override rules in _vertical-margins.scss
+.site-main > article > .entry-footer {
+       margin-top: var(--global--spacing-vertical);
+       padding-top: var(--global--spacing-unit);
+       padding-bottom: calc(3 * var(--global--spacing-vertical));
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+}
+
+body:not(.single) .site-main > article:last-of-type .entry-footer {
+       border-bottom: var(--separator--height) solid transparent;
+}
+
+.single .site-main > article > .entry-footer {
+       margin-top: calc(3.4 * var(--global--spacing-vertical));
+       margin-bottom: calc(3.4 * var(--global--spacing-vertical));
+       padding-bottom: 0;
+       padding-top: calc(0.8 * var(--global--spacing-vertical));
+       border-top: 3px solid var(--separator--border-color);
+       border-bottom: var(--separator--height) solid transparent;
+       display: grid;
+       grid-template-columns: repeat(2, 1fr);
+       column-gap: calc(2 * var(--global--spacing-horizontal));
+
+       .post-taxonomies,
+       .full-size-link {
+               justify-content: flex-end;
+               text-align: right;
+       }
+
+       .full-size-link:first-child:last-child {
+               grid-column: span 2;
+       }
+
+       .posted-on,
+       .byline,
+       .cat-links,
+       .tags-links {
+               display: block;
+       }
+
+       @include media(mobile-only) {
+               display: block;
+
+               .full-size-link {
+                       display: block;
+               }
+
+               .post-taxonomies,
+               .full-size-link {
+                       text-align: left;
+               }
+       }
+}
+
+/**
+ * Post Thumbnails
+ */
+
+.post-thumbnail {
+       @extend %responsive-aligndefault-width;
+       text-align: center;
+
+       .entry-header &,
+       .singular & {
+               @extend %responsive-alignwide-width-nested;
+       }
+
+       .wp-post-image {
+               display: block;
+               width: auto;
+               max-width: 100%;
+               margin-left: auto;
+               margin-right: auto;
+               margin-top: calc(2 * var(--global--spacing-vertical));
+       }
+}
+
+/**
+ * Author
+ */
+
+.author-bio {
+       position: relative;
+       font-size: var(--global--font-size-xs);
+       max-width: var(--responsive--aligndefault-width);
+
+       .site-main > article > & {
+               margin-top: calc(2 * var(--global--spacing-vertical));
+       }
+
+       // Avatars are optional and can be turned off.
+       &.show-avatars {
+
+               .avatar {
+                       display: inline-block;
+                       vertical-align: top;
+                       border-radius: 50%;
+               }
+
+               .author-bio-content {
+                       display: inline-block;
+                       padding-left: var(--global--spacing-horizontal);
+                       max-width: calc(var(--responsive--aligndefault-width) - 90px);
+               }
+       }
+
+       .author-bio-content {
+
+               .author-title {
+                       font-family: var(--entry-author-bio--font-family);
+                       font-size: var(--entry-author-bio--font-size);
+                       display: inline;
+               }
+
+               .author-description {
+                       font-size: var(--global--font-size-xs);
+                       margin-top: calc(0.5 * var(--global--spacing-vertical));
+                       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/footer-navigation.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/footer-navigation.scss
new file mode 100644 (file)
index 0000000..0d816cd
--- /dev/null
@@ -0,0 +1,76 @@
+
+.footer-navigation {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: var(--global--spacing-vertical);
+       color: var(--footer--color-text);
+       font-size: var(--global--font-size-xs);
+       font-family: var(--footer--font-family);
+}
+
+.footer-navigation-wrapper {
+       display: flex;
+       justify-content: center;
+       flex-wrap: wrap;
+       list-style: none;
+       padding-left: 0;
+
+       li {
+               display: inline;
+               // This is to prevent hover styles from overlapping when the menu wraps.
+               line-height: 3;
+
+               a {
+                       padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
+                       color: var(--footer--color-link);
+
+                       &:link,
+                       &:visited,
+                       &:active {
+                               color: var(--footer--color-link);
+                       }
+
+                       &:hover {
+                               text-decoration: underline;
+                               text-decoration-style: dotted;
+                               text-decoration-skip-ink: none;
+                               color: var(--footer--color-link-hover);
+                       }
+
+                       &:focus {
+
+                               .is-dark-theme & {
+
+                                       .svg-icon {
+                                               fill: var(--wp--style--color--link, var(--global--color-background));
+                                       }
+                               }
+
+                               // Change colors when the body background is white.
+                               .has-background-white & {
+
+                                       .svg-icon {
+                                               fill: var(--wp--style--color--link, var(--global--color-white));
+                                       }
+                               }
+                       }
+               }
+
+               .svg-icon {
+                       vertical-align: middle;
+                       fill: var(--footer--color-link);
+
+                       &:hover {
+                               transform: scale(1.1);
+                       }
+
+                       @media (prefers-reduced-motion: no-preference) {
+                               transition: transform 0.1s ease;
+                       }
+               }
+       }
+
+       .sub-menu-toggle,
+       .menu-item-description {
+               display: none;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/footer.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/footer.scss
new file mode 100644 (file)
index 0000000..0707f3c
--- /dev/null
@@ -0,0 +1,84 @@
+// Footer
+.site-footer {
+       padding-top: 0;
+       padding-bottom: calc(1.7 * var(--global--spacing-vertical));
+       @extend %responsive-alignwide-width;
+
+       // Increase the top vertical spacing when there is no widget area.
+       .no-widgets & {
+               margin-top: calc(6 * var(--global--spacing-vertical));
+       }
+
+       @include media(mobile-only) {
+
+               .no-widgets & {
+                       margin-top: calc(3 * var(--global--spacing-vertical));
+               }
+       }
+}
+
+// Footer Branding
+.site-footer > .site-info {
+       padding-top: var(--global--spacing-vertical);
+       color: var(--footer--color-text);
+       font-family: var(--footer--font-family);
+       font-size: var(--footer--font-size);
+       line-height: var(--global--line-height-body);
+       border-top: 3px solid var(--global--color-border);
+
+       .site-name {
+               text-transform: var(--branding--title--text-transform);
+               font-size: var(--branding--title--font-size);
+       }
+
+       .privacy-policy,
+       .powered-by {
+               margin-top: calc(0.5 * var(--global--spacing-vertical));
+       }
+
+       @include media(desktop) {
+               display: flex;
+               align-items: center;
+
+               .site-name {
+                       margin-right: calc(0.5 * var(--global--spacing-vertical));
+               }
+
+               .privacy-policy,
+               .powered-by {
+                       margin-top: initial;
+                       margin-left: auto;
+               }
+
+               .privacy-policy + .powered-by {
+                       margin-left: calc(0.5 * var(--global--spacing-vertical));
+               }
+       }
+
+       a {
+               color: var(--footer--color-link);
+
+               &:link,
+               &:visited,
+               &:active {
+                       color: var(--footer--color-link);
+               }
+
+               &:hover {
+                       color: var(--footer--color-link-hover);
+               }
+
+               &:focus {
+                       color: var(--footer--color-link-hover);
+
+                       .is-dark-theme & {
+                               color: var(--wp--style--color--link, var(--global--color-background));
+                       }
+
+                       // Change colors when the body background is white.
+                       .has-background-white & {
+                               color: var(--wp--style--color--link, var(--global--color-white));
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/header.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/header.scss
new file mode 100644 (file)
index 0000000..557e2f5
--- /dev/null
@@ -0,0 +1,202 @@
+// Site header
+.site-header {
+       @extend %responsive-alignwide-width;
+       display: flex;
+       align-items: flex-start;
+       flex-wrap: wrap;
+       row-gap: var(--global--spacing-vertical); // Add space in case the menu wraps below the site branding.
+
+       .wp-custom-logo & {
+               align-items: center;
+       }
+
+       @include media(mobile) {
+               padding-top: calc(var(--global--spacing-vertical) / 0.75); // 40px
+       }
+
+       @include media(desktop) {
+               padding-top: calc(2.4 * var(--global--spacing-vertical)); // 60px
+       }
+}
+
+// Site branding
+.site-branding {
+       color: var(--branding--color-text);
+       margin-right: 140px;
+
+       &:last-child {
+               margin-right: 0;
+               width: 100%;
+               text-align: center;
+       }
+
+       @include media(mobile) {
+               margin-right: initial;
+               margin-top: 4px; // Align the baseline of the site title with the primary menu
+       }
+}
+
+// Site title
+.site-title {
+
+       color: var(--branding--color-link);
+       font-family: var(--branding--title--font-family);
+       font-size: var(--branding--title--font-size-mobile);
+       letter-spacing: normal;
+       text-transform: var(--branding--title--text-transform);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(var(--global--spacing-vertical) / 6);
+
+       a {
+               color: currentColor;
+               font-weight: var(--branding--title--font-weight);
+
+               &:link,
+               &:visited,
+               &:active {
+                       color: currentColor;
+               }
+
+               &:hover,
+               &:focus {
+                       color: var(--branding--color-link-hover);
+               }
+
+       }
+
+       @include media(mobile) {
+               font-size: var(--branding--title--font-size);
+       }
+}
+
+// Site description
+.site-description {
+       color: currentColor;
+       font-family: var(--branding--description--font-family);
+       font-size: var(--branding--description--font-size);
+       line-height: 1.4;
+}
+
+.site-title > a {
+       text-decoration-color: var(--global--color-secondary);
+}
+
+// Site logo
+.site-logo {
+
+       margin: calc(var(--global--spacing-vertical) / 2) 0;
+
+       .site-header > & {
+               width: 100%;
+               padding-bottom: calc(var(--global--spacing-vertical) * 1.5);
+               border-bottom: 1px solid;
+               text-align: center;
+       }
+
+       .custom-logo {
+               margin-left: auto;
+               margin-right: auto;
+               max-width: var(--branding--logo--max-width-mobile);
+               max-height: var(--branding--logo--max-height-mobile);
+               height: auto;
+               display: inline-block;
+               width: auto;
+       }
+
+       @include media(mobile) {
+
+               .custom-logo {
+                       max-width: var(--branding--logo--max-width);
+                       max-height: var(--branding--logo--max-height);
+                       height: auto;
+                       width: auto;
+               }
+       }
+}
+
+@include media(mobile-only) {
+
+       .site-header {
+
+               &.has-logo {
+
+                       &:not(.has-title-and-tagline) {
+
+                               &.has-menu {
+
+                                       .site-logo {
+                                               position: absolute;
+                                               padding-top: calc(0.5 * var(--global--spacing-vertical));
+                                               margin-top: 0;
+                                               top: var(--global--admin-bar--height);
+
+                                               .primary-navigation-open & {
+                                                       display: none;
+                                               }
+
+                                               img {
+                                                       max-height: calc(var(--button--padding-vertical) - (0.25 * var(--global--spacing-unit)) + 1.7em);
+                                               }
+                                       }
+                               }
+                       }
+
+                       &.has-title-and-tagline {
+                               align-items: flex-start;
+
+                               &.has-menu {
+                                       justify-content: space-between;
+
+                                       .site-branding {
+                                               max-width: calc(100% - 160px);
+                                       }
+                               }
+
+                               .site-branding {
+                                       margin-right: 0;
+                               }
+
+                               body:not(.primary-navigation-open) & {
+
+                                       &:after {
+                                               display: none;
+                                       }
+
+                                       .primary-navigation {
+                                               position: relative;
+                                               top: 0;
+                                       }
+
+                                       .menu-button-container {
+                                               position: relative;
+                                               padding-top: 0;
+                                               margin-top: calc(0px - var(--button--padding-vertical) + (0.25 * var(--global--spacing-unit)));
+
+                                               #primary-mobile-menu {
+                                                       // The 4.5px here is to offset the icon size horizontallly
+                                                       // (the icon's width is larger than the path's width and has extra space on the sides).
+                                                       padding-left: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
+                                                       padding-right: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
+                                                       margin-right: calc(0px - var(--global--spacing-horizontal) * 0.6);
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               &:not(.has-logo) {
+
+                       &.has-title-and-tagline {
+
+                               .site-branding {
+                                       margin-right: 0;
+                                       max-width: calc(100% - 160px);
+                               }
+                       }
+               }
+
+               &:not(.has-menu) {
+                       justify-content: center;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/navigation.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/navigation.scss
new file mode 100644 (file)
index 0000000..d716ba3
--- /dev/null
@@ -0,0 +1,538 @@
+
+// Navigation
+
+// Mobile menu toggles
+.menu-button-container {
+       display: none;
+       justify-content: space-between;
+       position: absolute;
+       right: 0;
+       padding-top: calc(0.5 * var(--global--spacing-vertical));
+       padding-bottom: calc(0.25 * var(--global--spacing-vertical));
+
+       @include media(mobile-only) {
+               display: flex;
+       }
+
+       // Override specificity from default button styles.
+       #primary-mobile-menu {
+               display: flex;
+               margin-left: auto;
+               padding: calc(var(--button--padding-vertical) - (0.25 * var(--global--spacing-unit))) calc(0.5 * var(--button--padding-horizontal));
+               font-size: var(--primary-nav--font-size-button);
+               font-weight: var(--primary-nav--font-weight-button);
+               background-color: transparent;
+               border: none;
+               color: var(--primary-nav--color-link);
+
+               .dropdown-icon {
+                       display: flex;
+                       align-items: center;
+
+                       .svg-icon {
+                               margin-left: calc(0.25 * var(--global--spacing-unit));
+                       }
+
+                       // Menu icon is off-center vertically to prevent blurry pixels.
+                       &.open .svg-icon {
+                               position: relative;
+                               top: -1px;
+                       }
+
+                       &.close {
+                               display: none;
+                       }
+               }
+
+               &[aria-expanded*="true"] {
+
+                       .dropdown-icon {
+
+                               &.open {
+                                       display: none;
+                               }
+
+                               &.close {
+                                       display: flex;
+
+                                       .has-logo.has-title-and-tagline & {
+                                               animation-name: twentytwentyone-close-button-transition;
+                                               animation-duration: 0.3s;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       // When the menu is open, hide the close button and show the hide button.
+       .primary-navigation-open & {
+               width: 100%;
+               z-index: 500;
+               background-color: var(--global--color-background);
+
+               #primary-mobile-menu {
+                       position: static;
+               }
+       }
+}
+
+.primary-navigation {
+       position: absolute;
+       top: var(--global--admin-bar--height);
+       right: 0;
+       color: var(--primary-nav--color-text);
+       font-size: var(--primary-nav--font-size);
+       line-height: 1.15;
+       margin-top: 0;
+       margin-bottom: 0;
+
+       // Mobile menu closed
+       > .primary-menu-container {
+               position: fixed;
+               visibility: hidden;
+               opacity: 0;
+               top: 0;
+               right: 0;
+               bottom: 0;
+               left: 0;
+               // Height of the menu-button-container using font size, line height, and total padding, plus 5px so the focus of the first item is visible.
+               padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px);
+               padding-left: var(--global--spacing-unit);
+               padding-right: var(--global--spacing-unit);
+               padding-bottom: var(--global--spacing-horizontal);
+               background-color: var(--global--color-background);
+               transform: translateY(var(--global--spacing-vertical));
+
+               @media (prefers-reduced-motion: no-preference) {
+                       transition: all .15s ease-in-out;
+               }
+
+               @include media(mobile-only) {
+                       height: 100vh;
+                       z-index: 499;
+                       overflow-x: hidden;
+                       overflow-y: auto;
+                       border: 2px solid transparent;
+
+                       .has-logo.has-title-and-tagline & {
+                               position: fixed;
+                               transform: translateY(0) translateX(100%);
+                       }
+
+                       .admin-bar .has-logo.has-title-and-tagline & {
+                               top: var(--global--admin-bar--height);
+                       }
+
+                       .admin-bar & {
+                               height: calc(100vh - var(--global--admin-bar--height));
+                       }
+
+                       &:focus {
+                               border: 2px solid var(--global--color-primary);
+                       }
+               }
+       }
+
+       // Mobile menu open
+       .primary-navigation-open & {
+
+               @include media(mobile-only) {
+                       width: 100%;
+                       position: fixed;
+                       z-index: 2; // To be greater than the cover block and embeds.
+               }
+
+               > .primary-menu-container {
+                       position: absolute;
+                       visibility: visible;
+                       opacity: 1;
+                       transform: translateY(0);
+               }
+       }
+
+       .primary-navigation-open .has-logo.has-title-and-tagline & {
+               @include media(mobile-only) {
+
+                       > .primary-menu-container {
+                               transform: translateX(0) translateY(0);
+                       }
+               }
+       }
+
+       @include media(mobile) {
+               position: relative;
+               margin-left: auto;
+
+               // Hide Mobile menu on desktop
+               > .primary-menu-container {
+                       visibility: visible;
+                       opacity: 1;
+                       position: relative;
+                       padding: 0;
+                       background-color: transparent;
+                       overflow: initial;
+                       transform: none;
+               }
+
+               // Hide mobile menu toggle
+               #toggle-menu {
+                       display: none;
+               }
+
+               // Hide sub-sub-menus
+               > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded="false"] ~ ul {
+                       display: none;
+               }
+
+               // Don't adjust position when logged-in
+               .admin-bar & {
+                       top: initial;
+
+                       > .primary-menu-container {
+                               top: initial;
+                       }
+               }
+       }
+
+       // Menu list wrapper
+       > div > .menu-wrapper {
+               display: flex;
+               justify-content: flex-start;
+               flex-wrap: wrap;
+               list-style: none;
+               margin: 0;
+               max-width: none;
+               padding-left: 0;
+               position: relative;
+
+               @include media(mobile-only) {
+                       padding-bottom: 100px;
+
+                       ul {
+                               padding-left: 0;
+                       }
+               }
+
+               li {
+                       display: block;
+                       position: relative;
+                       width: 100%;
+
+                       @include media(mobile) {
+                               margin: 0;
+                               width: inherit;
+
+                               &:last-child {
+                                       margin-right: 0;
+                               }
+                       }
+               }
+
+               // Sub-menu buttons
+               .sub-menu-toggle {
+                       display: flex;
+                       height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px);
+                       width: 44px;
+                       padding: 0;
+                       justify-content: center;
+                       align-items: center;
+                       background: transparent;
+                       color: currentColor;
+                       border: none;
+
+                       &:focus {
+                               outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+                       }
+
+                       @include media(mobile-only) {
+                               display: none;
+                       }
+
+                       .icon-plus,
+                       .icon-minus {
+                               height: 100%;
+                               display: flex;
+                               align-items: center;
+
+                               svg {
+                                       margin-top: -1px;
+                               }
+                       }
+
+                       .icon-minus {
+                               display: none;
+                       }
+
+                       // When the sub-menu is open, display the minus icon
+                       &[aria-expanded="true"] {
+
+                               .icon-minus {
+                                       display: flex;
+                               }
+
+                               .icon-plus {
+                                       display: none;
+                               }
+                       }
+               }
+
+               // Sub-menus Flyout
+               > li > .sub-menu {
+
+                       position: relative;
+
+                       @include media(mobile) {
+                               @media (prefers-reduced-motion: no-preference) {
+                                       transition: all 0.5s ease;
+                               }
+                       }
+
+                       @include media(mobile) {
+                               left: 0;
+                               margin: 0;
+                               min-width: max-content;
+                               position: absolute;
+                               top: 100%;
+                               padding-top: 3px;
+                               z-index: 88888;
+
+                               &:before,
+                               &:after {
+                                       content: "";
+                                       display: block;
+                                       position: absolute;
+                                       width: 0;
+                                       top: -10px;
+                                       left: var(--global--spacing-horizontal);
+                                       border-style: solid;
+                                       border-color: var(--primary-nav--border-color) transparent;
+                                       border-width: 0 7px 10px 7px;
+                               }
+
+                               &:after {
+                                       top: -9px;
+                                       border-color: var(--global--color-background) transparent;
+                               }
+
+                               li {
+                                       background: var(--global--color-background);
+                               }
+
+                               &.submenu-reposition-left {
+
+                                       /* rtl:ignore */
+                                       left: 0;
+
+                                       /* rtl:ignore */
+                                       right: auto;
+
+                                       &:before,
+                                       &:after {
+
+                                               /* rtl:ignore */
+                                               left: var(--global--spacing-horizontal);
+
+                                               /* rtl:ignore */
+                                               right: auto;
+                                       }
+                               }
+
+                               &.submenu-reposition-right {
+
+                                       /* rtl:ignore */
+                                       right: 0;
+
+                                       /* rtl:ignore */
+                                       left: auto;
+
+                                       &:before,
+                                       &:after {
+
+                                               /* rtl:ignore */
+                                               left: auto;
+
+                                               /* rtl:ignore */
+                                               right: var(--global--spacing-horizontal);
+                                       }
+                               }
+                       }
+               }
+       }
+
+       // Top-level Item Link Colors
+       .primary-menu > .menu-item:hover > a {
+               color: var(--primary-nav--color-link-hover);
+       }
+
+       .primary-menu-container {
+               @include media(mobile) {
+                       // Better align with the site title when the menu wraps.
+                       margin-right: calc(0px - var(--primary-nav--padding));
+                       margin-left: calc(0px - var(--primary-nav--padding));
+
+                       // Top-level Menu Item
+                       > ul > .menu-item {
+                               display: flex;
+
+                               > a {
+                                       padding-left: var(--primary-nav--padding);
+                                       padding-right: var(--primary-nav--padding);
+
+                                       + .sub-menu-toggle {
+                                               margin-left: calc(5px - var(--primary-nav--padding));
+                                       }
+                               }
+                       }
+               }
+       }
+
+       // Menu Item Link
+       a {
+               display: block;
+               font-family: var(--primary-nav--font-family-mobile);
+               font-size: var(--primary-nav--font-size-mobile);
+               font-weight: var(--primary-nav--font-weight);
+               padding: var(--primary-nav--padding) 0;
+               text-decoration: none;
+
+               @include media(mobile) {
+                       display: block;
+                       font-family: var(--primary-nav--font-family);
+                       font-size: var(--primary-nav--font-size);
+                       font-weight: var(--primary-nav--font-weight);
+               }
+
+               + svg {
+                       fill: var(--primary-nav--color-text);
+               }
+
+               &:hover,
+               &:link,
+               &:visited {
+                       color: var(--primary-nav--color-link-hover);
+               }
+
+               &:hover {
+                       text-decoration: underline;
+                       text-decoration-style: dotted;
+               }
+
+               &:focus {
+                       position: relative;
+                       z-index: 99999; // Ensure focus styles appear above absolute positioned elements
+                       outline-offset: 0;
+                       text-decoration-thickness: 2px;
+               }
+       }
+
+       .current-menu-item > a:first-child,
+       .current_page_item > a:first-child {
+               text-decoration: underline;
+               text-decoration-style: solid;
+
+               &:hover {
+                       text-decoration: underline;
+                       text-decoration-style: dotted;
+               }
+       }
+
+       // Sub-menu depth indicators + text styles
+       .sub-menu {
+               margin: 0;
+               padding: 0;
+               list-style: none;
+               margin-left: var(--primary-nav--padding);
+               border: 1px solid var(--primary-nav--border-color);
+
+               .sub-menu {
+                       border: none;
+               }
+
+               // Sub-menu items om wide screens.
+               @include media(mobile) {
+
+                       // For nested sub-menus, don't duplicate the padding
+                       > .menu-item > .sub-menu {
+                               padding: 0;
+                       }
+               }
+
+               .menu-item {
+
+                       @include media(mobile-only) {
+
+                               &:last-child {
+                                       margin-bottom: 0;
+                               }
+
+                       }
+
+                       > a {
+                               padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
+                               display: block;
+                               font-size: var(--primary-nav--font-size-sub-menu-mobile);
+                               font-style: var(--primary-nav--font-style-sub-menu-mobile);
+
+                               @include media(mobile) {
+                                       font-size: var(--primary-nav--font-size-sub-menu);
+                                       font-style: var(--primary-nav--font-style);
+                               }
+                       }
+               }
+       }
+
+       // Show top-level sub-menu indicators above mobile-breakpoint-only
+       .menu-item-has-children {
+
+               > .svg-icon {
+                       display: none;
+               }
+
+               @include media(mobile) {
+
+                       > .svg-icon {
+                               display: inline-block;
+                               height: 100%;
+                       }
+
+                       .sub-menu .svg-icon {
+                               display: none;
+                       }
+               }
+
+       }
+
+       .menu-item-description {
+               display: block;
+               clear: both;
+               font-size: var(--global--font-size-xs);
+               text-transform: none;
+               line-height: 1.7;
+
+               > span {
+                       display: inline-block;
+               }
+       }
+}
+
+// Keep the menu pinned to the top when the menu is open.
+@include media(mobile-only) {
+
+       .lock-scrolling .site {
+               position: fixed;
+               max-width: 100%;
+               width: 100%;
+       }
+}
+
+// Close button animation for when a custom logo is present.
+@keyframes twentytwentyone-close-button-transition {
+
+       from {
+               opacity: 0;
+       }
+
+       to {
+               opacity: 1;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/pagination.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/pagination.scss
new file mode 100644 (file)
index 0000000..0f3029c
--- /dev/null
@@ -0,0 +1,243 @@
+/* Next/Previous navigation */
+
+// All navigation
+.navigation {
+       color: var(--global--color-primary);
+
+       a {
+               color: var(--global--color-primary);
+               text-decoration: none;
+
+               &:hover {
+                       color: var(--global--color-primary-hover);
+                       text-decoration: underline;
+                       text-decoration-style: dotted;
+               }
+
+               &:focus {
+                       color: var(--global--color-secondary);
+               }
+
+               &:active {
+                       color: var(--global--color-primary);
+               }
+       }
+
+       .nav-links {
+
+               > * {
+                       min-width: 44px;
+                       min-height: 44px;
+               }
+
+               .nav-next a,
+               .nav-previous a {
+                       display: flex;
+                       flex-direction: column;
+               }
+
+               .dots {
+                       text-align: center;
+               }
+
+               @include media(tablet) {
+                       display: flex;
+                       justify-content: center;
+                       flex-wrap: wrap;
+
+                       .nav-next,
+                       .nav-previous {
+                               flex: 0 1 auto;
+                               margin-bottom: inherit;
+                               margin-top: inherit;
+                               max-width: calc(50% - (0.5 * var(--global--spacing-unit)));
+                       }
+
+                       .nav-next {
+                               text-align: right;
+                       }
+               }
+       }
+
+       .svg-icon {
+               display: inline-block;
+               fill: currentColor;
+               vertical-align: middle;
+               position: relative;
+       }
+
+       .nav-previous .svg-icon,
+       .prev .svg-icon {
+               top: -2px;
+               margin-right: calc(0.25 * var(--global--spacing-unit));
+       }
+
+       .nav-next .svg-icon,
+       .next .svg-icon {
+               top: -1px;
+               margin-left: calc(0.25 * var(--global--spacing-unit));
+       }
+}
+
+// Singular navigation
+.post-navigation {
+
+       margin: var(--global--spacing-vertical) auto;
+
+       @include media(desktop) {
+               margin: var(--global--spacing-vertical) auto;
+       }
+
+       @extend %responsive-alignwide-width;
+
+       .meta-nav {
+               line-height: var(--global--line-height-body);
+               color: var(--global--color-primary);
+       }
+
+       .post-title {
+               display: inline-block;
+               font-family: var(--global--font-primary);
+               font-size: var(--global--font-size-lg);
+               font-weight: var(--pagination--font-weight-strong);
+               line-height: var(--global--line-height-heading);
+               @include media(desktop) {
+                       margin: 5px calc(24px + (0.25 * var(--global--spacing-unit))) 0;
+               }
+       }
+
+       .nav-links {
+               @include media(mobile) {
+                       justify-content: space-between;
+               }
+       }
+
+       .nav-next,
+       .nav-previous {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+
+               &:first-child {
+                       margin-top: 0;
+               }
+
+               &:last-child {
+                       margin-bottom: 0;
+               }
+       }
+}
+
+// Index/archive navigation
+.pagination,
+.comments-pagination {
+
+       border-top: 3px solid var(--global--color-border);
+       padding-top: var(--global--spacing-vertical);
+       margin: var(--global--spacing-vertical) auto;
+
+       @include media(desktop) {
+               margin: var(--global--spacing-vertical) auto;
+       }
+
+       @extend %responsive-alignwide-width;
+
+       // Resets the top margin added to the .nav-links items below.
+       .nav-links {
+               margin-top: calc(-1 * var(--global--spacing-vertical));
+
+               a:hover {
+                       color: var(--pagination--color-link-hover);
+               }
+
+               .is-dark-theme & {
+
+                       a:active,
+                       a:hover:active,
+                       a:hover:focus {
+                               color: var(--global--color-background);
+                       }
+               }
+
+               .has-background-white & {
+
+                       a:active,
+                       a:hover:active,
+                       a:hover:focus {
+                               color: var(--global--color-white);
+                       }
+               }
+       }
+
+       .nav-links > * {
+               color: var(--pagination--color-text);
+               font-family: var(--pagination--font-family);
+               font-size: var(--pagination--font-size);
+               font-weight: var(--pagination--font-weight);
+               margin-top: var(--global--spacing-vertical);
+               margin-left: calc(0.66 * var(--global--spacing-unit));
+               margin-right: calc(0.66 * var(--global--spacing-unit));
+
+               &.current {
+                       text-decoration: underline;
+               }
+
+               &:not(.dots):not(.current):hover {
+                       text-decoration-style: dotted;
+               }
+
+               &:first-child {
+                       margin-left: 0;
+               }
+
+               &:last-child {
+                       margin-right: 0;
+               }
+
+               &.next {
+                       margin-left: auto;
+               }
+
+               &.prev {
+                       margin-right: auto;
+               }
+       }
+
+       @include media(desktop-only) {
+
+               .nav-links {
+                       display: flex;
+                       flex-wrap: wrap;
+               }
+
+               .page-numbers {
+                       display: none;
+
+                       &.prev,
+                       &.next {
+                               display: inline-block;
+                               flex: 0 1 auto;
+                       }
+               }
+       }
+
+       @include media(mobile-only) {
+
+               .nav-short {
+                       display: none;
+               }
+       }
+}
+
+// Comments pagination
+.comments-pagination {
+       padding-top: calc(0.66 * var(--global--spacing-vertical));
+       margin: calc(3 * var(--global--spacing-vertical)) auto;
+
+       @include media(desktop) {
+               margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto;
+       }
+
+       .nav-links > * {
+               font-size: var(--global--font-size-md);
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/posts-and-pages.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/posts-and-pages.scss
new file mode 100644 (file)
index 0000000..a6f2876
--- /dev/null
@@ -0,0 +1,24 @@
+.sticky {
+       // This class is required to pass ThemeCheck.
+}
+
+.no-results.not-found > *:first-child {
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+// Styling for wp_link_pages.
+.page-links {
+       clear: both;
+
+       .post-page-numbers {
+               display: inline-block;
+               margin-left: calc(0.66 * var(--global--spacing-unit));
+               margin-right: calc(0.66 * var(--global--spacing-unit));
+               min-width: 44px;
+               min-height: 44px;
+
+               &:first-child {
+                       margin-left: 0;
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/search.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/search.scss
new file mode 100644 (file)
index 0000000..a4ccf52
--- /dev/null
@@ -0,0 +1,3 @@
+.search-no-results .page-content {
+       margin-top: calc(3 * var(--global--spacing-vertical));
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/single.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/single.scss
new file mode 100644 (file)
index 0000000..239aa85
--- /dev/null
@@ -0,0 +1,17 @@
+.singular .entry-header {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.home .entry-header {
+       border-bottom: none;
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+.singular .has-post-thumbnail .entry-header {
+       border-bottom: none;
+       padding-bottom: calc(1.3 * var(--global--spacing-vertical));
+       margin-bottom: 0;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/06-components/widgets.scss b/wp-content/themes/twentytwentyone/assets/sass/06-components/widgets.scss
new file mode 100644 (file)
index 0000000..b896c6b
--- /dev/null
@@ -0,0 +1,157 @@
+.widget-area {
+       @extend %responsive-alignwide-width;
+       margin-top: calc(6 * var(--global--spacing-vertical));
+       padding-bottom: calc(var(--global--spacing-vertical) / 3);
+       color: var(--footer--color-text);
+       font-size: var(--footer--font-size);
+       font-family: var(--footer--font-family);
+
+       @include media(laptop) {
+               display: grid;
+               grid-template-columns: repeat(2, 1fr);
+               column-gap: calc(2 * var(--global--spacing-horizontal));
+       }
+
+       @include media(wide) {
+               grid-template-columns: repeat(3, 1fr);
+       }
+
+       @include media(mobile-only) {
+               margin-top: calc(3 * var(--global--spacing-vertical));
+       }
+
+       .wp-block-social-links {
+
+               &.alignright {
+                       margin-top: var(--global--spacing-vertical);
+                       justify-content: flex-end;
+               }
+
+               &.alignleft {
+                       margin-top: var(--global--spacing-vertical);
+               }
+       }
+
+       &:after {
+               content: "";
+               display: table;
+               clear: both;
+       }
+}
+
+.widget {
+
+       h1,
+       h2,
+       h3,
+       h4,
+       h5,
+       h6 {
+               font-weight: var(--widget--font-weight-title);
+               line-height: var(--widget--line-height-title);
+       }
+
+       h1 {
+               font-size: var(--global--font-size-md);
+       }
+
+       h2 {
+               font-size: var(--global--font-size-sm);
+       }
+
+       h3 {
+               font-size: var(--global--font-size-xs);
+       }
+
+       h4 {
+               font-size: var(--global--font-size-xs);
+       }
+
+       h5 {
+               font-size: var(--global--font-size-xs);
+       }
+
+       h6 {
+               font-size: var(--global--font-size-xs);
+       }
+
+       ul {
+               list-style-type: none;
+               padding: 0;
+
+               li {
+                       line-height: var(--widget--line-height-list);
+               }
+
+               &.sub-menu,
+               &.children {
+                       margin-left: var(--widget--spacing-menu);
+               }
+
+               .sub-menu-toggle {
+                       display: none;
+               }
+       }
+
+       a {
+               color: var(--footer--color-link);
+               text-decoration: underline;
+               text-decoration-style: solid;
+               text-decoration-color: currentColor;
+
+               &:link,
+               &:visited,
+               &:active {
+                       color: var(--footer--color-link);
+               }
+
+               &:hover {
+                       color: var(--footer--color-link-hover);
+                       text-decoration-style: dotted;
+               }
+       }
+}
+
+// Search widget styles
+.search-form {
+       display: flex;
+       flex-wrap: wrap;
+       margin: auto;
+       max-width: var(--responsive--aligndefault-width);
+
+       > label {
+               width: 100%;
+               margin-bottom: 0;
+               font-weight: var(--form--label-weight);
+       }
+
+       .search-field {
+               flex-grow: 1;
+               max-width: inherit;
+               margin-top: calc(var(--global--spacing-vertical) / 3);
+               margin-right: calc(0.66 * var(--global--spacing-horizontal));
+       }
+
+       .search-submit {
+               margin-top: calc(var(--global--spacing-vertical) / 3);
+               margin-left: 10px;
+       }
+}
+
+.widget_search > .search-form {
+
+       .search-field {
+               margin-right: calc(-1 * var(--button--border-width));
+               -webkit-appearance: none;
+               margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+       }
+
+       .search-submit {
+               margin-left: 0;
+               margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+       }
+}
+
+.widget_rss a.rsswidget .rss-widget-icon {
+       display: none;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/07-utilities/a11y.scss b/wp-content/themes/twentytwentyone/assets/sass/07-utilities/a11y.scss
new file mode 100644 (file)
index 0000000..0431ca0
--- /dev/null
@@ -0,0 +1,40 @@
+.screen-reader-text {
+       border: 0;
+       clip: rect(1px, 1px, 1px, 1px);
+       -webkit-clip-path: inset(50%);
+       clip-path: inset(50%);
+       height: 1px;
+       margin: -1px;
+       overflow: hidden;
+       padding: 0;
+       position: absolute !important;
+       width: 1px;
+       word-wrap: normal !important;
+       word-break: normal;
+}
+
+.skip-link:focus {
+       background-color: #f1f1f1;
+       border-radius: 3px;
+       box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
+       clip: auto !important;
+       -webkit-clip-path: none;
+       clip-path: none;
+       color: #21759b;
+       display: block;
+       font-size: 0.875rem;
+       font-weight: 700;
+       height: auto;
+       left: 5px;
+       line-height: normal;
+       padding: 15px 23px 14px;
+       text-decoration: none;
+       top: 5px;
+       width: auto;
+       z-index: 100000;
+}
+
+/* Do not show the outline on the skip link target. */
+#content[tabindex="-1"]:focus {
+       outline: 0;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/07-utilities/color-palette.scss b/wp-content/themes/twentytwentyone/assets/sass/07-utilities/color-palette.scss
new file mode 100644 (file)
index 0000000..5454e0c
--- /dev/null
@@ -0,0 +1,277 @@
+// Gutenberg text color options
+
+.has-black-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-black, #000000);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-black);
+}
+
+.has-gray-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-gray, #000000);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-gray);
+}
+
+.has-dark-gray-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-dark-gray, #000000);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-dark-gray);
+}
+
+.has-green-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-green, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-green);
+}
+
+.has-blue-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-blue, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-blue);
+}
+
+.has-purple-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-purple, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-purple);
+}
+
+.has-red-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-red, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-red);
+}
+
+.has-orange-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-orange, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-orange);
+}
+
+.has-yellow-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-yellow, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-yellow);
+}
+
+.has-white-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-primary: var(--global--color-white, #FFFFFF);
+               color: var(--local--color-primary);
+       }
+       color: var(--global--color-white);
+}
+
+// Gutenberg background-color options
+.has-background {
+
+       a,
+       p,
+       h1,
+       h2,
+       h3,
+       h4,
+       h5,
+       h6 {
+               color: currentColor;
+       }
+}
+
+.has-black-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-black, #000000);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-black);
+}
+
+.has-dark-gray-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-dark-gray, #000000);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-dark-gray);
+}
+
+.has-gray-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-gray, #000000);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-gray);
+}
+
+.has-light-gray-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-light-gray, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-light-gray);
+}
+
+.has-green-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-green, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-green);
+}
+
+.has-blue-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-blue, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-blue);
+}
+
+.has-purple-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-purple, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-purple);
+}
+
+.has-red-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-red, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-red);
+}
+
+.has-orange-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-orange, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-orange);
+}
+
+.has-yellow-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-yellow, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-yellow);
+}
+
+.has-white-background-color[class] {
+       // Localize CSS-variables to limit relationship scope
+       > [class*="__inner-container"] {
+               --local--color-background: var(--global--color-white, #FFFFFF);
+               background-color: var(--local--color-background);
+       }
+       background-color: var(--global--color-white);
+}
+
+.has-background:not(.has-text-color) {
+
+       &.has-black-background-color[class],
+       &.has-gray-background-color[class],
+       &.has-dark-gray-background-color[class] {
+               color: var(--global--color-white);
+
+               // Localize CSS-variables to limit relationship scope
+               > [class*="__inner-container"] {
+                       --local--color-primary: var(--global--color-background, #FFFFFF);
+                       // Reverse the local foreground color in darkmode
+                       .is-dark-theme & {
+                               --local--color-primary: var(--global--color-primary, #000000);
+                       }
+                       color: var(--local--color-primary, var(--global--color-primary));
+               }
+       }
+
+       &.has-green-background-color[class],
+       &.has-blue-background-color[class],
+       &.has-purple-background-color[class],
+       &.has-red-background-color[class],
+       &.has-orange-background-color[class],
+       &.has-yellow-background-color[class],
+       &.has-white-background-color[class] {
+               color: var(--global--color-dark-gray);
+
+               // Localize CSS-variables to limit relationship scope
+               > [class*="__inner-container"] {
+                       --local--color-primary: var(--global--color-primary, #000000);
+                       // Reverse the local foreground color in darkmode
+                       .is-dark-theme & {
+                               --local--color-primary: var(--global--color-background, #FFFFFF);
+                       }
+                       color: var(--local--color-primary, var(--global--color-primary));
+               }
+       }
+}
+
+// Custom gradients
+.has-purple-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-yellow));
+}
+
+.has-yellow-to-purple-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-purple));
+}
+
+.has-green-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-green), var(--global--color-yellow));
+}
+
+.has-yellow-to-green-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-green));
+}
+
+.has-red-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-red), var(--global--color-yellow));
+}
+
+.has-yellow-to-red-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-red));
+}
+
+.has-purple-to-red-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-red));
+}
+
+.has-red-to-purple-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-red), var(--global--color-purple));
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/07-utilities/ie.scss b/wp-content/themes/twentytwentyone/assets/sass/07-utilities/ie.scss
new file mode 100644 (file)
index 0000000..7df9025
--- /dev/null
@@ -0,0 +1,53 @@
+.is-IE {
+
+       &.is-dark-theme {
+               color: #fff;
+
+               *,
+               a,
+               .site-description,
+               .entry-title,
+               .entry-footer,
+               .widget-area,
+               .post-navigation .meta-nav,
+               .footer-navigation-wrapper li a:link,
+               .site-footer > .site-info,
+               .site-footer > .site-info a,
+               .site-footer > .site-info a:visited {
+                       color: #fff;
+               }
+
+               .sub-menu-toggle svg,
+               .sub-menu-toggle path,
+               .post-navigation .meta-nav svg,
+               .post-navigation .meta-nav path {
+                       fill: #fff;
+               }
+
+               .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+                       background: #000;
+               }
+
+               &.primary-navigation-open {
+                       @include media(mobile-only) {
+
+                               .primary-navigation > .primary-menu-container,
+                               .menu-button-container {
+                                       background-color: #000;
+                               }
+                       }
+               }
+
+               .skip-link:focus {
+                       color: #21759b;
+               }
+       }
+
+       .navigation .nav-links {
+               display: block;
+       }
+
+       .post-thumbnail .wp-post-image {
+               min-width: auto;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/07-utilities/measure.scss b/wp-content/themes/twentytwentyone/assets/sass/07-utilities/measure.scss
new file mode 100644 (file)
index 0000000..38026ed
--- /dev/null
@@ -0,0 +1,22 @@
+// Measure
+// - The width of a line of text, in characters, is known as its measure.
+
+header *,
+main *,
+footer * {
+       max-width: var(--global--spacing-measure);
+}
+
+html,
+body,
+div,
+header,
+nav,
+article,
+figure,
+hr,
+main,
+section,
+footer {
+       max-width: none;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/07-utilities/print.scss b/wp-content/themes/twentytwentyone/assets/sass/07-utilities/print.scss
new file mode 100644 (file)
index 0000000..b164156
--- /dev/null
@@ -0,0 +1,184 @@
+/*
+Adding print support. The print styles are based on the the great work of
+Andreas Hecht in https://www.jotform.com/blog/css-perfect-print-stylesheet-98272/.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+# Margins & paddings
+# Typography
+# Page breaks
+# Links
+# Visibility
+--------------------------------------------------------------*/
+
+@media print {
+
+       /* Margins & paddings */
+
+       @page {
+               margin: 2cm;
+       }
+
+       .entry .entry-header,
+       .entry,
+       .single .site-main > article > .entry-footer {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       .site-footer .site-info {
+               margin: 0;
+       }
+
+       .site-header {
+               padding: 0;
+       }
+
+       /* Fonts */
+
+       body {
+               font: 13pt Georgia, "Times New Roman", Times, serif; // Fallback for browsers without CSS variables support.
+               font: 13pt var(--global--font-secondary, Georgia, "Times New Roman", Times, serif);
+               line-height: 1.3;
+               background: #fff !important;
+               color: #000;
+       }
+
+       // Override color settings that changes the text to white.
+       .has-background-dark * {
+               color: #000 !important;
+       }
+
+       h1,
+       .entry-title,
+       .singular .entry-title,
+       .page-title {
+               font-size: 22pt;
+               font-weight: bold;
+       }
+
+       h2,
+       h3,
+       h4,
+       .has-regular-font-size,
+       .has-large-font-size,
+       h2.author-title,
+       p.author-bio,
+       .comments-title,
+       .archive-description {
+               font-size: 14pt;
+               margin-top: 25px;
+       }
+
+       .comment-meta,
+       .comment-meta .comment-author .fn {
+               font-size: 13pt;
+       }
+
+       /* Page breaks */
+
+       a {
+               page-break-inside: avoid;
+       }
+
+       blockquote {
+               page-break-inside: avoid;
+       }
+
+       h1,
+       h2,
+       h3,
+       h4,
+       h5,
+       h6 {
+               page-break-after: avoid;
+               page-break-inside: avoid;
+       }
+
+       img {
+               page-break-inside: avoid;
+               page-break-after: avoid;
+       }
+
+       table,
+       pre,
+       figure {
+               page-break-inside: avoid;
+       }
+
+       ul,
+       ol,
+       dl {
+               page-break-before: avoid;
+       }
+
+       /* Links */
+
+       a:link,
+       a:visited,
+       a {
+               background: transparent;
+               font-weight: bold;
+               text-decoration: underline;
+               text-align: left;
+       }
+
+       a[href^="http"]:after {
+               content: " < " attr(href) "> ";
+       }
+
+       a:after > img {
+               content: "";
+       }
+
+       article a[href^="#"]:after {
+               content: "";
+       }
+
+       a:not(:local-link):after { // stylelint-disable-line selector-pseudo-class-no-unknown
+               content: " < " attr(href) "> ";
+       }
+
+       .entry-title a:after {
+               content: "\a < " attr(href) "> ";
+               white-space: pre;
+               font-size: 14pt;
+       }
+
+       .cat-links a:after,
+       .tags-links a:after,
+       .byline a:after,
+       .comment-metadata a:after,
+       .wp-block-calendar a:after,
+       .wp-block-tag-cloud a:after,
+       .page-links a:after {
+               content: "";
+       }
+
+       /* Visibility */
+       .primary-navigation,
+       .site-title + .primary-navigation,
+       .footer-navigation,
+       .entry-footer,
+       .post-navigation,
+       .navigation.pagination,
+       .widget-area,
+       .edit-link,
+       .more-link,
+       .comment-reply,
+       .reply,
+       .comment .comment-metadata .edit-link,
+       .comment-respond,
+       #dark-mode-toggler {
+               display: none !important;
+       }
+
+       .entry .entry-content .wp-block-button .wp-block-button__link,
+       .entry .entry-content .button,
+       .entry .entry-content .wp-block-file__button {
+               color: #000;
+               background: none;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/style-dark-mode.scss b/wp-content/themes/twentytwentyone/assets/sass/style-dark-mode.scss
new file mode 100644 (file)
index 0000000..b98321b
--- /dev/null
@@ -0,0 +1,106 @@
+/* OS dark theme preference */
+@media only screen {
+
+       .is-dark-theme.is-dark-theme {
+               --global--color-background: var(--global--color-dark-gray);
+               --global--color-primary: var(--global--color-light-gray);
+               --global--color-secondary: var(--global--color-light-gray);
+               --button--color-text: var(--global--color-background);
+               --button--color-text-hover: var(--global--color-secondary);
+               --button--color-text-active: var(--global--color-secondary);
+               --button--color-background: var(--global--color-secondary);
+               --button--color-background-active: var(--global--color-background);
+               --global--color-border: #9ea1a7;
+
+               /* Block: Table */
+               --table--stripes-border-color: rgba(240, 240, 240, 0.15);
+               --table--stripes-background-color: rgba(240, 240, 240, 0.15);
+       }
+
+       .is-dark-theme img {
+               filter: brightness(.85) contrast(1.1);
+       }
+
+       .respect-color-scheme-preference.is-dark-theme body {
+               background-color: var(--global--color-background);
+       }
+
+       #dark-mode-toggler {
+               cursor: pointer;
+               display: flex;
+               align-items: center;
+               justify-content: center;
+               font-size: var(--global--font-size-xs);
+               padding: 0.5em;
+               min-height: 44px; // A11y requirement for minimum clickable area.
+               min-width: max-content;
+               border: 2px solid currentColor;
+               box-shadow: none;
+               background: var(--button--color-text);
+               color: var(--button--color-background);
+               z-index: 9998;
+
+               .no-js & {
+                       display: none;
+               }
+
+               &.fixed-bottom {
+                       position: fixed;
+                       bottom: 5px; // The bottom property has transition (see below).
+                       right: 5px;
+
+                       &.hide:not(:focus) {
+                               bottom: -80px;
+                       }
+               }
+
+               &.relative {
+                       position: absolute;
+                       height: 44px;
+                       top: calc(2.4 * var(--global--spacing-vertical) - 44px);
+                       right: calc(50vw - var(--responsive--alignwide-width) / 2 - 0.5em);
+
+                       .admin-bar & {
+                               top: calc(2.4 * var(--global--spacing-vertical) - 44px + 32px);
+
+                               @media only screen and (max-width: 782px) {
+                                       top: calc(2.4 * var(--global--spacing-vertical) - 44px + 46px);
+                               }
+
+                               @media only screen and (max-width: 481px) {
+                                       top: calc(2.4 * var(--global--spacing-vertical) - 44px + 26px);
+                               }
+                       }
+
+                       ~ nav {
+
+                               body:not(.primary-navigation-open) & {
+                                       @media only screen and (max-width: 481px) {
+                                               top: calc(44px + 44px);
+                                       }
+                               }
+                       }
+               }
+
+               .primary-navigation-open & {
+                       display: none;
+               }
+
+               &:hover,
+               &:focus {
+                       color: var(--button--color-background-active);
+                       border: 2px solid var(--button--color-text-active);
+                       background-color: var(--button--color-text-active);
+               }
+
+               .is-IE & {
+                       display: none;
+               }
+
+               &.fixed-bottom {
+                       @media (prefers-reduced-motion: no-preference) {
+                               transition: bottom 0.5s;
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/style-editor.scss b/wp-content/themes/twentytwentyone/assets/sass/style-editor.scss
new file mode 100644 (file)
index 0000000..6106d38
--- /dev/null
@@ -0,0 +1,21 @@
+/**
+ * These styles should be loaded by the Block Editor only
+ */
+@import "01-settings/fonts";
+@import "01-settings/global";
+
+@import "02-tools/mixins";
+@import "02-tools/functions";
+
+@import "03-generic/breakpoints";
+
+@import "04-elements/blockquote";
+@import "04-elements/media";
+@import "04-elements/forms-editor";
+@import "04-elements/links";
+
+@import "05-blocks/blocks-editor";
+
+@import "06-components/editor";
+
+@import "07-utilities/color-palette";
diff --git a/wp-content/themes/twentytwentyone/assets/sass/style.scss b/wp-content/themes/twentytwentyone/assets/sass/style.scss
new file mode 100644 (file)
index 0000000..5a57a61
--- /dev/null
@@ -0,0 +1,121 @@
+@import "01-settings/file-header";
+
+/**
+ * SETTINGS
+ * File-header..........The file header for the themes style.css file.
+ * Fonts................Any font files, if the project needs specific fonts.
+ * Global...............Project-specific, globally available variables.
+ *
+ * TOOLS
+ * Functions............Global functions.
+ * Mixins...............Global mixins.
+ *
+ * GENERIC
+ * Normalize.css........Normalise browser defaults.
+ * Breakpoints..........Mixins and variables for responsive styles
+ * Vertical-margins.....Vertical spacing for the main components.
+ * Reset................Reset specific elements to make them easier to style in other contexts.
+ * Clearings............Clearings for the main components.
+ *
+ * ELEMENTS
+ * Blockquote...........Default blockquote.
+ * Forms................Element-level form styling.
+ * Headings.............H1–H6
+ * Links................Default links.
+ * Lists................Default lists.
+ * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
+ *
+ * BLOCKS
+ * Audio................Specific styles for the audio block.
+ * Button...............Specific styles for the button block.
+ * Code.................Specific styles for the code block.
+ * Columns..............Specific styles for the columns block.
+ * Cover................Specific styles for the cover block.
+ * File.................Specific styles for the file block.
+ * Gallery..............Specific styles for the gallery block.
+ * Group................Specific styles for the group block.
+ * Heading..............Specific styles for the heading block.
+ * Image................Specific styles for the image block.
+ * Latest comments......Specific styles for the latest comments block.
+ * Latest posts.........Specific styles for the latest posts block.
+ * Legacy...............Specific styles for the legacy gallery.
+ * List.................Specific styles for the list block.
+ * Media text...........Specific styles for the media and text block.
+ * Navigation...........Specific styles for the navigation block.
+ * Paragraph............Specific styles for the paragraph block.
+ * Pullquote............Specific styles for the pullquote block.
+ * Quote................Specific styles for the quote block.
+ * Search...............Specific styles for the search block.
+ * Separator............Specific styles for the separator block.
+ * Table................Specific styles for the table block.
+ * Verse................Specific styles for the verse block.
+ * Video................Specific styles for the video block.
+ * Utilities............Block alignments.
+ *
+ * COMPONENTS
+ * Header...............Header styles.
+ * Footer...............Footer styles.
+ * Comments.............Comment styles.
+ * Archives.............Archive styles.
+ * 404..................404 styles.
+ * Search...............Search styles.
+ * Navigation...........Navigation styles.
+ * Footer Navigation....Footer Navigation styles.
+ * Pagination...........Pagination styles.
+ * Single...............Single page and post styles.
+ * Posts and pages......Misc, sticky post styles.
+ * Entry................Entry, author biography.
+ * Widget...............Widget styles.
+ * Editor...............Editor styles.
+ *
+ * UTILITIES
+ * A11y.................Screen reader text, prefers reduced motion etc.
+ * Color Palette........Classes for the color palette colors.
+ * Editor Font Sizes....Editor Font Sizes.
+ * Measure..............The width of a line of text, in characters.
+ */
+// Print................Print styles
+
+/* Categories 01 to 03 are the basics. */
+@import "01-settings/fonts";
+@import "01-settings/global";
+
+@import "02-tools/mixins";
+@import "02-tools/functions";
+
+@import "03-generic/normalize";
+@import "03-generic/breakpoints";
+@import "03-generic/vertical-margins";
+@import "03-generic/reset";
+@import "03-generic/clearings";
+
+/* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */
+@import "04-elements/blockquote";
+@import "04-elements/forms";
+@import "04-elements/media";
+@import "04-elements/misc";
+@import "04-elements/links";
+
+/* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */
+@import "05-blocks/blocks";
+
+/* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */
+@import "06-components/header";
+@import "06-components/footer";
+@import "06-components/single";
+@import "06-components/posts-and-pages";
+@import "06-components/entry";
+@import "06-components/archives";
+@import "06-components/404";
+@import "06-components/search";
+@import "06-components/comments";
+@import "06-components/navigation";
+@import "06-components/footer-navigation";
+@import "06-components/pagination";
+@import "06-components/widgets";
+
+/* Category 07 is for any utility classes that are not assigned to a specific component. */
+@import "07-utilities/a11y";
+@import "07-utilities/color-palette";
+@import "07-utilities/measure";
+@import "07-utilities/ie";
diff --git a/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-custom-colors.php b/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-custom-colors.php
new file mode 100644 (file)
index 0000000..3b6833c
--- /dev/null
@@ -0,0 +1,167 @@
+<?php
+/**
+ * Custom Colors Class
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * This class is in charge of color customization via the Customizer.
+ */
+class Twenty_Twenty_One_Custom_Colors {
+
+       /**
+        * Instantiate the object.
+        *
+        * @since Twenty Twenty-One 1.0
+        */
+       public function __construct() {
+
+               // Enqueue color variables for customizer & frontend.
+               add_action( 'wp_enqueue_scripts', array( $this, 'custom_color_variables' ) );
+
+               // Enqueue color variables for editor.
+               add_action( 'enqueue_block_editor_assets', array( $this, 'editor_custom_color_variables' ) );
+
+               // Add body-class if needed.
+               add_filter( 'body_class', array( $this, 'body_class' ) );
+       }
+
+       /**
+        * Determine the luminance of the given color and then return #fff or #000 so that the text is always readable.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $background_color The background color.
+        * @return string (hex color)
+        */
+       public function custom_get_readable_color( $background_color ) {
+               return ( 127 < self::get_relative_luminance_from_hex( $background_color ) ) ? '#000' : '#fff';
+       }
+
+       /**
+        * Generate color variables.
+        *
+        * Adjust the color value of the CSS variables depending on the background color theme mod.
+        * Both text and link colors needs to be updated.
+        * The code below needs to be updated, because the colors are no longer theme mods.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string|null $context Can be "editor" or null.
+        * @return string
+        */
+       public function generate_custom_color_variables( $context = null ) {
+
+               $theme_css        = 'editor' === $context ? ':root .editor-styles-wrapper{' : ':root{';
+               $background_color = get_theme_mod( 'background_color', 'D1E4DD' );
+
+               if ( 'd1e4dd' !== strtolower( $background_color ) ) {
+                       $theme_css .= '--global--color-background: #' . $background_color . ';';
+                       $theme_css .= '--global--color-primary: ' . $this->custom_get_readable_color( $background_color ) . ';';
+                       $theme_css .= '--global--color-secondary: ' . $this->custom_get_readable_color( $background_color ) . ';';
+                       $theme_css .= '--button--color-background: ' . $this->custom_get_readable_color( $background_color ) . ';';
+                       $theme_css .= '--button--color-text-hover: ' . $this->custom_get_readable_color( $background_color ) . ';';
+
+                       if ( '#fff' === $this->custom_get_readable_color( $background_color ) ) {
+                               $theme_css .= '--table--stripes-border-color: rgba(240, 240, 240, 0.15);';
+                               $theme_css .= '--table--stripes-background-color: rgba(240, 240, 240, 0.15);';
+                       }
+               }
+
+               $theme_css .= '}';
+
+               return $theme_css;
+       }
+
+       /**
+        * Customizer & frontend custom color variables.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function custom_color_variables() {
+               if ( 'd1e4dd' !== strtolower( get_theme_mod( 'background_color', 'D1E4DD' ) ) ) {
+                       wp_add_inline_style( 'twenty-twenty-one-style', $this->generate_custom_color_variables() );
+               }
+       }
+
+       /**
+        * Editor custom color variables.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function editor_custom_color_variables() {
+               wp_enqueue_style(
+                       'twenty-twenty-one-custom-color-overrides',
+                       get_theme_file_uri( 'assets/css/custom-color-overrides.css' ),
+                       array(),
+                       wp_get_theme()->get( 'Version' )
+               );
+
+               $background_color = get_theme_mod( 'background_color', 'D1E4DD' );
+               if ( 'd1e4dd' !== strtolower( $background_color ) ) {
+                       wp_add_inline_style( 'twenty-twenty-one-custom-color-overrides', $this->generate_custom_color_variables( 'editor' ) );
+               }
+       }
+
+       /**
+        * Get luminance from a HEX color.
+        *
+        * @static
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $hex The HEX color.
+        * @return int Returns a number (0-255).
+        */
+       public static function get_relative_luminance_from_hex( $hex ) {
+
+               // Remove the "#" symbol from the beginning of the color.
+               $hex = ltrim( $hex, '#' );
+
+               // Make sure there are 6 digits for the below calculations.
+               if ( 3 === strlen( $hex ) ) {
+                       $hex = substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) . substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) . substr( $hex, 2, 1 ) . substr( $hex, 2, 1 );
+               }
+
+               // Get red, green, blue.
+               $red   = hexdec( substr( $hex, 0, 2 ) );
+               $green = hexdec( substr( $hex, 2, 2 ) );
+               $blue  = hexdec( substr( $hex, 4, 2 ) );
+
+               // Calculate the luminance.
+               $lum = ( 0.2126 * $red ) + ( 0.7152 * $green ) + ( 0.0722 * $blue );
+               return (int) round( $lum );
+       }
+
+       /**
+        * Adds a class to <body> if the background-color is dark.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param array $classes The existing body classes.
+        * @return array
+        */
+       public function body_class( $classes ) {
+               $background_color = get_theme_mod( 'background_color', 'D1E4DD' );
+               $luminance        = self::get_relative_luminance_from_hex( $background_color );
+
+               if ( 127 > $luminance ) {
+                       $classes[] = 'is-dark-theme';
+               } else {
+                       $classes[] = 'is-light-theme';
+               }
+
+               if ( 225 <= $luminance ) {
+                       $classes[] = 'has-background-white';
+               }
+
+               return $classes;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize-color-control.php b/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize-color-control.php
new file mode 100644 (file)
index 0000000..48049dc
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Customize API: WP_Customize_Color_Control class
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Customize Color Control class.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @see WP_Customize_Control
+ */
+class Twenty_Twenty_One_Customize_Color_Control extends WP_Customize_Color_Control {
+       /**
+        * The control type.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @var string
+        */
+       public $type = 'twenty-twenty-one-color';
+
+       /**
+        * Colorpicker palette
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @var array
+        */
+       public $palette;
+
+       /**
+        * Enqueue control related scripts/styles.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function enqueue() {
+               parent::enqueue();
+
+               // Enqueue the script.
+               wp_enqueue_script(
+                       'twentytwentyone-control-color',
+                       get_theme_file_uri( 'assets/js/palette-colorpicker.js' ),
+                       array( 'customize-controls', 'jquery', 'customize-base', 'wp-color-picker' ),
+                       wp_get_theme()->get( 'Version' ),
+                       false
+               );
+       }
+
+       /**
+        * Refresh the parameters passed to the JavaScript via JSON.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @uses WP_Customize_Control::to_json()
+        *
+        * @return void
+        */
+       public function to_json() {
+               parent::to_json();
+               $this->json['palette'] = $this->palette;
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize-notice-control.php b/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize-notice-control.php
new file mode 100644 (file)
index 0000000..4014685
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Customize API: Twenty_Twenty_One_Customize_Notice_Control class
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Customize Notice Control class.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @see WP_Customize_Control
+ */
+class Twenty_Twenty_One_Customize_Notice_Control extends WP_Customize_Control {
+       /**
+        * The control type.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @var string
+        */
+       public $type = 'twenty-twenty-one-notice';
+
+       /**
+        * Renders the control content.
+        *
+        * This simply prints the notice we need.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function render_content() {
+               ?>
+               <div class="notice notice-warning">
+                       <p><?php esc_html_e( 'To access the Dark Mode settings, select a light background color.', 'twentytwentyone' ); ?></p>
+                       <p><a href="<?php echo esc_url( __( 'https://wordpress.org/documentation/article/twenty-twenty-one/#dark-mode-support', 'twentytwentyone' ) ); ?>">
+                               <?php esc_html_e( 'Learn more about Dark Mode.', 'twentytwentyone' ); ?>
+                       </a></p>
+               </div><!-- .notice -->
+               <?php
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize.php b/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-customize.php
new file mode 100644 (file)
index 0000000..4a0fe6f
--- /dev/null
@@ -0,0 +1,180 @@
+<?php
+/**
+ * Customizer settings for this theme.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+if ( ! class_exists( 'Twenty_Twenty_One_Customize' ) ) {
+       /**
+        * Customizer Settings.
+        *
+        * @since Twenty Twenty-One 1.0
+        */
+       class Twenty_Twenty_One_Customize {
+
+               /**
+                * Constructor. Instantiate the object.
+                *
+                * @since Twenty Twenty-One 1.0
+                */
+               public function __construct() {
+                       add_action( 'customize_register', array( $this, 'register' ) );
+               }
+
+               /**
+                * Register customizer options.
+                *
+                * @since Twenty Twenty-One 1.0
+                *
+                * @param WP_Customize_Manager $wp_customize Theme Customizer object.
+                * @return void
+                */
+               public function register( $wp_customize ) {
+
+                       // Change site-title & description to postMessage.
+                       $wp_customize->get_setting( 'blogname' )->transport        = 'postMessage'; // @phpstan-ignore-line. Assume that this setting exists.
+                       $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; // @phpstan-ignore-line. Assume that this setting exists.
+
+                       // Add partial for blogname.
+                       $wp_customize->selective_refresh->add_partial(
+                               'blogname',
+                               array(
+                                       'selector'        => '.site-title',
+                                       'render_callback' => array( $this, 'partial_blogname' ),
+                               )
+                       );
+
+                       // Add partial for blogdescription.
+                       $wp_customize->selective_refresh->add_partial(
+                               'blogdescription',
+                               array(
+                                       'selector'        => '.site-description',
+                                       'render_callback' => array( $this, 'partial_blogdescription' ),
+                               )
+                       );
+
+                       // Add "display_title_and_tagline" setting for displaying the site-title & tagline.
+                       $wp_customize->add_setting(
+                               'display_title_and_tagline',
+                               array(
+                                       'capability'        => 'edit_theme_options',
+                                       'default'           => true,
+                                       'sanitize_callback' => array( __CLASS__, 'sanitize_checkbox' ),
+                               )
+                       );
+
+                       // Add control for the "display_title_and_tagline" setting.
+                       $wp_customize->add_control(
+                               'display_title_and_tagline',
+                               array(
+                                       'type'    => 'checkbox',
+                                       'section' => 'title_tagline',
+                                       'label'   => esc_html__( 'Display Site Title & Tagline', 'twentytwentyone' ),
+                               )
+                       );
+
+                       /**
+                        * Add excerpt or full text selector to customizer
+                        */
+                       $wp_customize->add_section(
+                               'excerpt_settings',
+                               array(
+                                       'title'    => esc_html__( 'Excerpt Settings', 'twentytwentyone' ),
+                                       'priority' => 120,
+                               )
+                       );
+
+                       $wp_customize->add_setting(
+                               'display_excerpt_or_full_post',
+                               array(
+                                       'capability'        => 'edit_theme_options',
+                                       'default'           => 'excerpt',
+                                       'sanitize_callback' => static function( $value ) {
+                                               return 'excerpt' === $value || 'full' === $value ? $value : 'excerpt';
+                                       },
+                               )
+                       );
+
+                       $wp_customize->add_control(
+                               'display_excerpt_or_full_post',
+                               array(
+                                       'type'    => 'radio',
+                                       'section' => 'excerpt_settings',
+                                       'label'   => esc_html__( 'On Archive Pages, posts show:', 'twentytwentyone' ),
+                                       'choices' => array(
+                                               'excerpt' => esc_html__( 'Summary', 'twentytwentyone' ),
+                                               'full'    => esc_html__( 'Full text', 'twentytwentyone' ),
+                                       ),
+                               )
+                       );
+
+                       // Background color.
+                       // Include the custom control class.
+                       include_once get_theme_file_path( 'classes/class-twenty-twenty-one-customize-color-control.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
+
+                       // Register the custom control.
+                       $wp_customize->register_control_type( 'Twenty_Twenty_One_Customize_Color_Control' );
+
+                       // Get the palette from theme-supports.
+                       $palette = get_theme_support( 'editor-color-palette' );
+
+                       // Build the colors array from theme-support.
+                       $colors = array();
+                       if ( isset( $palette[0] ) && is_array( $palette[0] ) ) {
+                               foreach ( $palette[0] as $palette_color ) {
+                                       $colors[] = $palette_color['color'];
+                               }
+                       }
+
+                       // Add the control. Overrides the default background-color control.
+                       $wp_customize->add_control(
+                               new Twenty_Twenty_One_Customize_Color_Control(
+                                       $wp_customize,
+                                       'background_color',
+                                       array(
+                                               'label'   => esc_html_x( 'Background color', 'Customizer control', 'twentytwentyone' ),
+                                               'section' => 'colors',
+                                               'palette' => $colors,
+                                       )
+                               )
+                       );
+               }
+
+               /**
+                * Sanitize boolean for checkbox.
+                *
+                * @since Twenty Twenty-One 1.0
+                *
+                * @param bool $checked Whether or not a box is checked.
+                * @return bool
+                */
+               public static function sanitize_checkbox( $checked = null ) {
+                       return (bool) isset( $checked ) && true === $checked;
+               }
+
+               /**
+                * Render the site title for the selective refresh partial.
+                *
+                * @since Twenty Twenty-One 1.0
+                *
+                * @return void
+                */
+               public function partial_blogname() {
+                       bloginfo( 'name' );
+               }
+
+               /**
+                * Render the site tagline for the selective refresh partial.
+                *
+                * @since Twenty Twenty-One 1.0
+                *
+                * @return void
+                */
+               public function partial_blogdescription() {
+                       bloginfo( 'description' );
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-dark-mode.php b/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-dark-mode.php
new file mode 100644 (file)
index 0000000..75b2e12
--- /dev/null
@@ -0,0 +1,384 @@
+<?php
+/**
+ * Dark Mode Class
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * This class is in charge of Dark Mode.
+ */
+class Twenty_Twenty_One_Dark_Mode {
+
+       /**
+        * Instantiate the object.
+        *
+        * @since Twenty Twenty-One 1.0
+        */
+       public function __construct() {
+
+               // Enqueue assets for the block-editor.
+               add_action( 'enqueue_block_editor_assets', array( $this, 'editor_custom_color_variables' ) );
+
+               // Add styles for dark-mode.
+               add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
+
+               // Add scripts for customizer controls.
+               add_action( 'customize_controls_enqueue_scripts', array( $this, 'customize_controls_enqueue_scripts' ) );
+
+               // Add customizer controls.
+               add_action( 'customize_register', array( $this, 'customizer_controls' ) );
+
+               // Add HTML classes.
+               add_filter( 'twentytwentyone_html_classes', array( $this, 'html_classes' ) );
+
+               // Add classes to <body> in the dashboard.
+               add_filter( 'admin_body_class', array( $this, 'admin_body_classes' ) );
+
+               // Add the switch on the frontend & customizer.
+               add_action( 'wp_footer', array( $this, 'the_switch' ) );
+
+               // Add the privacy policy content.
+               add_action( 'admin_init', array( $this, 'add_privacy_policy_content' ) );
+       }
+
+       /**
+        * Editor custom color variables & scripts.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function editor_custom_color_variables() {
+               if ( ! $this->switch_should_render() ) {
+                       return;
+               }
+               $background_color            = get_theme_mod( 'background_color', 'D1E4DD' );
+               $should_respect_color_scheme = get_theme_mod( 'respect_user_color_preference', false );
+               if ( $should_respect_color_scheme && Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( $background_color ) > 127 ) {
+                       // Add Dark Mode variable overrides.
+                       wp_add_inline_style(
+                               'twenty-twenty-one-custom-color-overrides',
+                               '.is-dark-theme.is-dark-theme .editor-styles-wrapper { --global--color-background: var(--global--color-dark-gray); --global--color-primary: var(--global--color-light-gray); --global--color-secondary: var(--global--color-light-gray); --button--color-text: var(--global--color-background); --button--color-text-hover: var(--global--color-secondary); --button--color-text-active: var(--global--color-secondary); --button--color-background: var(--global--color-secondary); --button--color-background-active: var(--global--color-background); --global--color-border: #9ea1a7; --table--stripes-border-color: rgba(240, 240, 240, 0.15); --table--stripes-background-color: rgba(240, 240, 240, 0.15); }'
+                       );
+               }
+               wp_enqueue_script(
+                       'twentytwentyone-dark-mode-support-toggle',
+                       get_template_directory_uri() . '/assets/js/dark-mode-toggler.js',
+                       array(),
+                       '1.0.0',
+                       true
+               );
+
+               wp_enqueue_script(
+                       'twentytwentyone-editor-dark-mode-support',
+                       get_template_directory_uri() . '/assets/js/editor-dark-mode-support.js',
+                       array( 'twentytwentyone-dark-mode-support-toggle' ),
+                       '1.0.0',
+                       true
+               );
+       }
+
+       /**
+        * Enqueue scripts and styles.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function enqueue_scripts() {
+               if ( ! $this->switch_should_render() ) {
+                       return;
+               }
+               $url = get_template_directory_uri() . '/assets/css/style-dark-mode.css';
+               if ( is_rtl() ) {
+                       $url = get_template_directory_uri() . '/assets/css/style-dark-mode-rtl.css';
+               }
+               wp_enqueue_style( 'tt1-dark-mode', $url, array( 'twenty-twenty-one-style' ), wp_get_theme()->get( 'Version' ) ); // @phpstan-ignore-line. Version is always a string.
+       }
+
+       /**
+        * Enqueue scripts for the customizer.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function customize_controls_enqueue_scripts() {
+               if ( ! $this->switch_should_render() ) {
+                       return;
+               }
+               wp_enqueue_script(
+                       'twentytwentyone-customize-controls',
+                       get_template_directory_uri() . '/assets/js/customize.js',
+                       array( 'customize-base', 'customize-controls', 'underscore', 'jquery', 'twentytwentyone-customize-helpers' ),
+                       '1.0.0',
+                       true
+               );
+       }
+
+       /**
+        * Register customizer options.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param WP_Customize_Manager $wp_customize Theme Customizer object.
+        * @return void
+        */
+       public function customizer_controls( $wp_customize ) {
+
+               $colors_section = $wp_customize->get_section( 'colors' );
+               if ( is_object( $colors_section ) ) {
+                       $colors_section->title = __( 'Colors & Dark Mode', 'twentytwentyone' );
+               }
+
+               // Custom notice control.
+               include_once get_theme_file_path( 'classes/class-twenty-twenty-one-customize-notice-control.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
+
+               $wp_customize->add_setting(
+                       'respect_user_color_preference_notice',
+                       array(
+                               'capability'        => 'edit_theme_options',
+                               'default'           => '',
+                               'sanitize_callback' => '__return_empty_string',
+                       )
+               );
+
+               $wp_customize->add_control(
+                       new Twenty_Twenty_One_Customize_Notice_Control(
+                               $wp_customize,
+                               'respect_user_color_preference_notice',
+                               array(
+                                       'section'         => 'colors',
+                                       'priority'        => 100,
+                                       'active_callback' => static function() {
+                                               return 127 >= Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( get_theme_mod( 'background_color', 'D1E4DD' ) );
+                                       },
+                               )
+                       )
+               );
+
+               $wp_customize->add_setting(
+                       'respect_user_color_preference',
+                       array(
+                               'capability'        => 'edit_theme_options',
+                               'default'           => false,
+                               'sanitize_callback' => static function( $value ) {
+                                       return (bool) $value;
+                               },
+                       )
+               );
+
+               $description  = '<p>';
+               $description .= sprintf(
+                       /* translators: %s: Twenty Twenty-One support article URL. */
+                       __( 'Dark Mode is a device setting. If a visitor to your site requests it, your site will be shown with a dark background and light text. <a href="%s">Learn more about Dark Mode.</a>', 'twentytwentyone' ),
+                       esc_url( __( 'https://wordpress.org/documentation/article/twenty-twenty-one/#dark-mode-support', 'twentytwentyone' ) )
+               );
+               $description .= '</p>';
+               $description .= '<p>' . __( 'Dark Mode can also be turned on and off with a button that you can find in the bottom corner of the page.', 'twentytwentyone' ) . '</p>';
+
+               $wp_customize->add_control(
+                       'respect_user_color_preference',
+                       array(
+                               'type'            => 'checkbox',
+                               'section'         => 'colors',
+                               'label'           => esc_html__( 'Dark Mode support', 'twentytwentyone' ),
+                               'priority'        => 110,
+                               'description'     => $description,
+                               'active_callback' => static function( $value ) {
+                                       return 127 < Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( get_theme_mod( 'background_color', 'D1E4DD' ) );
+                               },
+                       )
+               );
+
+               // Add partial for background_color.
+               $wp_customize->selective_refresh->add_partial(
+                       'background_color',
+                       array(
+                               'selector'            => '#dark-mode-toggler',
+                               'container_inclusive' => true,
+                               'render_callback'     => function() {
+                                       $attrs = ( $this->switch_should_render() ) ? array() : array( 'style' => 'display:none;' );
+                                       $this->the_html( $attrs );
+                               },
+                       )
+               );
+       }
+
+       /**
+        * Calculate classes for the main <html> element.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $classes The classes for <html> element.
+        * @return string
+        */
+       public function html_classes( $classes ) {
+               if ( ! $this->switch_should_render() ) {
+                       return $classes;
+               }
+
+               $background_color            = get_theme_mod( 'background_color', 'D1E4DD' );
+               $should_respect_color_scheme = get_theme_mod( 'respect_user_color_preference', false );
+               if ( $should_respect_color_scheme && 127 <= Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( $background_color ) ) {
+                       return ( $classes ) ? ' respect-color-scheme-preference' : 'respect-color-scheme-preference';
+               }
+
+               return $classes;
+       }
+
+       /**
+        * Adds a class to the <body> element in the editor to accommodate dark-mode.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $classes The admin body-classes.
+        * @return string
+        */
+       public function admin_body_classes( $classes ) {
+               if ( ! $this->switch_should_render() ) {
+                       return $classes;
+               }
+
+               global $current_screen;
+               if ( empty( $current_screen ) ) {
+                       set_current_screen();
+               }
+
+               if ( $current_screen->is_block_editor() ) {
+                       $should_respect_color_scheme = get_theme_mod( 'respect_user_color_preference', false );
+                       $background_color            = get_theme_mod( 'background_color', 'D1E4DD' );
+
+                       if ( $should_respect_color_scheme && Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( $background_color ) > 127 ) {
+                               $classes .= ' twentytwentyone-supports-dark-theme';
+                       }
+               }
+
+               return $classes;
+       }
+
+       /**
+        * Determine if we want to print the dark-mode switch or not.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return bool
+        */
+       public function switch_should_render() {
+               global $is_IE;
+               return (
+                       get_theme_mod( 'respect_user_color_preference', false ) &&
+                       ! $is_IE &&
+                       127 <= Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( get_theme_mod( 'background_color', 'D1E4DD' ) )
+               );
+       }
+
+       /**
+        * Add night/day switch.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function the_switch() {
+               if ( ! $this->switch_should_render() ) {
+                       return;
+               }
+               $this->the_html();
+               $this->the_script();
+       }
+
+       /**
+        * Print the dark-mode switch HTML.
+        *
+        * Inspired from https://codepen.io/aaroniker/pen/KGpXZo (MIT-licensed)
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param array $attrs The attributes to add to our <button> element.
+        * @return void
+        */
+       public function the_html( $attrs = array() ) {
+               $attrs = wp_parse_args(
+                       $attrs,
+                       array(
+                               'id'           => 'dark-mode-toggler',
+                               'class'        => 'fixed-bottom',
+                               'aria-pressed' => 'false',
+                               'onClick'      => 'toggleDarkMode()',
+                       )
+               );
+               echo '<button';
+               foreach ( $attrs as $key => $val ) {
+                       echo ' ' . esc_attr( $key ) . '="' . esc_attr( $val ) . '"';
+               }
+               echo '>';
+               printf(
+                       /* translators: %s: On/Off */
+                       esc_html__( 'Dark Mode: %s', 'twentytwentyone' ),
+                       '<span aria-hidden="true"></span>'
+               );
+               echo '</button>';
+               ?>
+               <style>
+                       #dark-mode-toggler > span {
+                               margin-<?php echo is_rtl() ? 'right' : 'left'; ?>: 5px;
+                       }
+                       #dark-mode-toggler > span::before {
+                               content: '<?php esc_attr_e( 'Off', 'twentytwentyone' ); ?>';
+                       }
+                       #dark-mode-toggler[aria-pressed="true"] > span::before {
+                               content: '<?php esc_attr_e( 'On', 'twentytwentyone' ); ?>';
+                       }
+                       <?php if ( is_admin() || wp_is_json_request() ) : ?>
+                               .components-editor-notices__pinned ~ .edit-post-visual-editor #dark-mode-toggler {
+                                       z-index: 20;
+                               }
+                               .is-dark-theme.is-dark-theme #dark-mode-toggler:not(:hover):not(:focus) {
+                                       color: var(--global--color-primary);
+                               }
+                               @media only screen and (max-width: 782px) {
+                                       #dark-mode-toggler {
+                                               margin-top: 32px;
+                                       }
+                               }
+                       <?php endif; ?>
+               </style>
+
+               <?php
+       }
+
+       /**
+        * Print the dark-mode switch script.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function the_script() {
+               echo '<script>';
+               include get_template_directory() . '/assets/js/dark-mode-toggler.js'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude
+               echo '</script>';
+       }
+
+       /**
+        * Adds information to the privacy policy.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       public function add_privacy_policy_content() {
+               if ( ! function_exists( 'wp_add_privacy_policy_content' ) ) {
+                       return;
+               }
+               $content = '<p class="privacy-policy-tutorial">' . __( 'Twenty Twenty-One uses LocalStorage when Dark Mode support is enabled.', 'twentytwentyone' ) . '</p>'
+                               . '<strong class="privacy-policy-tutorial">' . __( 'Suggested text:', 'twentytwentyone' ) . '</strong> '
+                               . __( 'This website uses LocalStorage to save the setting when Dark Mode support is turned on or off.<br> LocalStorage is necessary for the setting to work and is only used when a user clicks on the Dark Mode button.<br> No data is saved in the database or transferred.', 'twentytwentyone' );
+               wp_add_privacy_policy_content( __( 'Twenty Twenty-One', 'twentytwentyone' ), wp_kses_post( wpautop( $content, false ) ) );
+       }
+
+}
diff --git a/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-svg-icons.php b/wp-content/themes/twentytwentyone/classes/class-twenty-twenty-one-svg-icons.php
new file mode 100644 (file)
index 0000000..d88aabc
--- /dev/null
@@ -0,0 +1,253 @@
+<?php
+/**
+ * SVG Icons class
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * This class is in charge of displaying SVG icons across the site.
+ *
+ * Place each <svg> source on its own array key, without adding either
+ * the `width` or `height` attributes, since these are added dynamically,
+ * before rendering the SVG code.
+ *
+ * All icons are assumed to have equal width and height, hence the option
+ * to only specify a `$size` parameter in the svg methods.
+ *
+ * @since Twenty Twenty-One 1.0
+ */
+class Twenty_Twenty_One_SVG_Icons {
+
+       /**
+        * User Interface icons – svg sources.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @var array
+        */
+       protected static $icons = array(
+               'arrow_right' => '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 13v-2h12l-4-4 1-2 7 7-7 7-1-2 4-4z" fill="currentColor"/></svg>',
+               'arrow_left'  => '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M20 13v-2H8l4-4-1-2-7 7 7 7 1-2-4-4z" fill="currentColor"/></svg>',
+               'close'       => '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 10.9394L5.53033 4.46973L4.46967 5.53039L10.9393 12.0001L4.46967 18.4697L5.53033 19.5304L12 13.0607L18.4697 19.5304L19.5303 18.4697L13.0607 12.0001L19.5303 5.53039L18.4697 4.46973L12 10.9394Z" fill="currentColor"/></svg>',
+               'menu'        => '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 6H19.5V7.5H4.5V6ZM4.5 12H19.5V13.5H4.5V12ZM19.5 18H4.5V19.5H19.5V18Z" fill="currentColor"/></svg>',
+               'plus'        => '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z" fill="currentColor"/></svg>',
+               'minus'       => '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 11h12v2H6z" fill="currentColor"/></svg>',
+       );
+
+       /**
+        * Social Icons – svg sources.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @var array
+        */
+       protected static $social_icons = array(
+               '500px'      => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M6.94026,15.1412c.00437.01213.108.29862.168.44064a6.55008,6.55008,0,1,0,6.03191-9.09557,6.68654,6.68654,0,0,0-2.58357.51467A8.53914,8.53914,0,0,0,8.21268,8.61344L8.209,8.61725V3.22948l9.0504-.00008c.32934-.0036.32934-.46353.32934-.61466s0-.61091-.33035-.61467L7.47248,2a.43.43,0,0,0-.43131.42692v7.58355c0,.24466.30476.42131.58793.4819.553.11812.68074-.05864.81617-.2457l.018-.02481A10.52673,10.52673,0,0,1,9.32258,9.258a5.35268,5.35268,0,1,1,7.58985,7.54976,5.417,5.417,0,0,1-3.80867,1.56365,5.17483,5.17483,0,0,1-2.69822-.74478l.00342-4.61111a2.79372,2.79372,0,0,1,.71372-1.78792,2.61611,2.61611,0,0,1,1.98282-.89477,2.75683,2.75683,0,0,1,1.95525.79477,2.66867,2.66867,0,0,1,.79656,1.909,2.724,2.724,0,0,1-2.75849,2.748,4.94651,4.94651,0,0,1-.86254-.13719c-.31234-.093-.44519.34058-.48892.48349-.16811.54966.08453.65862.13687.67489a3.75751,3.75751,0,0,0,1.25234.18375,3.94634,3.94634,0,1,0-2.82444-6.742,3.67478,3.67478,0,0,0-1.13028,2.584l-.00041.02323c-.0035.11667-.00579,2.881-.00644,3.78811l-.00407-.00451a6.18521,6.18521,0,0,1-1.0851-1.86092c-.10544-.27856-.34358-.22925-.66857-.12917-.14192.04372-.57386.17677-.47833.489Zm4.65165-1.08338a.51346.51346,0,0,0,.19513.31818l.02276.022a.52945.52945,0,0,0,.3517.18416.24242.24242,0,0,0,.16577-.0611c.05473-.05082.67382-.67812.73287-.738l.69041.68819a.28978.28978,0,0,0,.21437.11032.53239.53239,0,0,0,.35708-.19486c.29792-.30419.14885-.46821.07676-.54751l-.69954-.69975.72952-.73469c.16-.17311.01874-.35708-.12218-.498-.20461-.20461-.402-.25742-.52855-.14083l-.7254.72665-.73354-.73375a.20128.20128,0,0,0-.14179-.05695.54135.54135,0,0,0-.34379.19648c-.22561.22555-.274.38149-.15656.5059l.73374.7315-.72942.73072A.26589.26589,0,0,0,11.59191,14.05782Zm1.59866-9.915A8.86081,8.86081,0,0,0,9.854,4.776a.26169.26169,0,0,0-.16938.22759.92978.92978,0,0,0,.08619.42094c.05682.14524.20779.531.50006.41955a8.40969,8.40969,0,0,1,2.91968-.55484,7.87875,7.87875,0,0,1,3.086.62286,8.61817,8.61817,0,0,1,2.30562,1.49315.2781.2781,0,0,0,.18318.07586c.15529,0,.30425-.15253.43167-.29551.21268-.23861.35873-.4369.1492-.63538a8.50425,8.50425,0,0,0-2.62312-1.694A9.0177,9.0177,0,0,0,13.19058,4.14283ZM19.50945,18.6236h0a.93171.93171,0,0,0-.36642-.25406.26589.26589,0,0,0-.27613.06613l-.06943.06929A7.90606,7.90606,0,0,1,7.60639,18.505a7.57284,7.57284,0,0,1-1.696-2.51537,8.58715,8.58715,0,0,1-.5147-1.77754l-.00871-.04864c-.04939-.25873-.28755-.27684-.62981-.22448-.14234.02178-.5755.088-.53426.39969l.001.00712a9.08807,9.08807,0,0,0,15.406,4.99094c.00193-.00192.04753-.04718.0725-.07436C19.79425,19.16234,19.87422,18.98728,19.50945,18.6236Z"></path></svg>',
+               'amazon'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M13.582,8.182C11.934,8.367,9.78,8.49,8.238,9.166c-1.781,0.769-3.03,2.337-3.03,4.644 c0,2.953,1.86,4.429,4.253,4.429c2.02,0,3.125-0.477,4.685-2.065c0.516,0.747,0.685,1.109,1.629,1.894 c0.212,0.114,0.483,0.103,0.672-0.066l0.006,0.006c0.567-0.505,1.599-1.401,2.18-1.888c0.231-0.188,0.19-0.496,0.009-0.754 c-0.52-0.718-1.072-1.303-1.072-2.634V8.305c0-1.876,0.133-3.599-1.249-4.891C15.23,2.369,13.422,2,12.04,2 C9.336,2,6.318,3.01,5.686,6.351C5.618,6.706,5.877,6.893,6.109,6.945l2.754,0.298C9.121,7.23,9.308,6.977,9.357,6.72 c0.236-1.151,1.2-1.706,2.284-1.706c0.584,0,1.249,0.215,1.595,0.738c0.398,0.584,0.346,1.384,0.346,2.061V8.182z M13.049,14.088 c-0.451,0.8-1.169,1.291-1.967,1.291c-1.09,0-1.728-0.83-1.728-2.061c0-2.42,2.171-2.86,4.227-2.86v0.615 C13.582,12.181,13.608,13.104,13.049,14.088z M20.683,19.339C18.329,21.076,14.917,22,11.979,22c-4.118,0-7.826-1.522-10.632-4.057 c-0.22-0.199-0.024-0.471,0.241-0.317c3.027,1.762,6.771,2.823,10.639,2.823c2.608,0,5.476-0.541,8.115-1.66 C20.739,18.62,21.072,19.051,20.683,19.339z M21.336,21.043c-0.194,0.163-0.379,0.076-0.293-0.139 c0.284-0.71,0.92-2.298,0.619-2.684c-0.301-0.386-1.99-0.183-2.749-0.092c-0.23,0.027-0.266-0.173-0.059-0.319 c1.348-0.946,3.555-0.673,3.811-0.356C22.925,17.773,22.599,19.986,21.336,21.043z"></path></svg>',
+               'bandcamp'   => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M15.27 17.289 3 17.289 8.73 6.711 21 6.711 15.27 17.289"></path></svg>',
+               'behance'    => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M7.799,5.698c0.589,0,1.12,0.051,1.606,0.156c0.482,0.102,0.894,0.273,1.241,0.507c0.344,0.235,0.612,0.546,0.804,0.938 c0.188,0.387,0.281,0.871,0.281,1.443c0,0.619-0.141,1.137-0.421,1.551c-0.284,0.413-0.7,0.751-1.255,1.014 c0.756,0.218,1.317,0.601,1.689,1.146c0.374,0.549,0.557,1.205,0.557,1.975c0,0.623-0.12,1.161-0.359,1.612 c-0.241,0.457-0.569,0.828-0.973,1.114c-0.408,0.288-0.876,0.5-1.399,0.637C9.052,17.931,8.514,18,7.963,18H2V5.698H7.799 M7.449,10.668c0.481,0,0.878-0.114,1.192-0.345c0.311-0.228,0.463-0.603,0.463-1.119c0-0.286-0.051-0.523-0.152-0.707 C8.848,8.315,8.711,8.171,8.536,8.07C8.362,7.966,8.166,7.894,7.94,7.854c-0.224-0.044-0.457-0.06-0.697-0.06H4.709v2.874H7.449z M7.6,15.905c0.267,0,0.521-0.024,0.759-0.077c0.243-0.053,0.457-0.137,0.637-0.261c0.182-0.12,0.332-0.283,0.441-0.491 C9.547,14.87,9.6,14.602,9.6,14.278c0-0.633-0.18-1.084-0.533-1.357c-0.356-0.27-0.83-0.404-1.413-0.404H4.709v3.388L7.6,15.905z M16.162,15.864c0.367,0.358,0.897,0.538,1.583,0.538c0.493,0,0.92-0.125,1.277-0.374c0.354-0.248,0.571-0.514,0.654-0.79h2.155 c-0.347,1.072-0.872,1.838-1.589,2.299C19.534,18,18.67,18.23,17.662,18.23c-0.701,0-1.332-0.113-1.899-0.337 c-0.567-0.227-1.041-0.544-1.439-0.958c-0.389-0.415-0.689-0.907-0.904-1.484c-0.213-0.574-0.32-1.21-0.32-1.899 c0-0.666,0.11-1.288,0.329-1.863c0.222-0.577,0.529-1.075,0.933-1.492c0.406-0.42,0.885-0.751,1.444-0.994 c0.558-0.241,1.175-0.363,1.857-0.363c0.754,0,1.414,0.145,1.98,0.44c0.563,0.291,1.026,0.686,1.389,1.181 c0.363,0.493,0.622,1.057,0.783,1.69c0.16,0.632,0.217,1.292,0.171,1.983h-6.428C15.557,14.84,15.795,15.506,16.162,15.864 M18.973,11.184c-0.291-0.321-0.783-0.496-1.384-0.496c-0.39,0-0.714,0.066-0.973,0.2c-0.254,0.132-0.461,0.297-0.621,0.491 c-0.157,0.197-0.265,0.405-0.328,0.628c-0.063,0.217-0.101,0.413-0.111,0.587h3.98C19.478,11.969,19.265,11.509,18.973,11.184z M15.057,7.738h4.985V6.524h-4.985L15.057,7.738z"></path></svg>',
+               'codepen'    => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M22.016,8.84c-0.002-0.013-0.005-0.025-0.007-0.037c-0.005-0.025-0.008-0.048-0.015-0.072 c-0.003-0.015-0.01-0.028-0.013-0.042c-0.008-0.02-0.015-0.04-0.023-0.062c-0.007-0.015-0.013-0.028-0.02-0.042 c-0.008-0.02-0.018-0.037-0.03-0.057c-0.007-0.013-0.017-0.027-0.025-0.038c-0.012-0.018-0.023-0.035-0.035-0.052 c-0.01-0.013-0.02-0.025-0.03-0.037c-0.015-0.017-0.028-0.032-0.043-0.045c-0.01-0.012-0.022-0.023-0.035-0.035 c-0.015-0.015-0.032-0.028-0.048-0.04c-0.012-0.01-0.025-0.02-0.037-0.03c-0.005-0.003-0.01-0.008-0.015-0.012l-9.161-6.096 c-0.289-0.192-0.666-0.192-0.955,0L2.359,8.237C2.354,8.24,2.349,8.245,2.344,8.249L2.306,8.277 c-0.017,0.013-0.033,0.027-0.048,0.04C2.246,8.331,2.234,8.342,2.222,8.352c-0.015,0.015-0.028,0.03-0.042,0.047 c-0.012,0.013-0.022,0.023-0.03,0.037C2.139,8.453,2.125,8.471,2.115,8.488C2.107,8.501,2.099,8.514,2.09,8.526 C2.079,8.548,2.069,8.565,2.06,8.585C2.054,8.6,2.047,8.613,2.04,8.626C2.032,8.648,2.025,8.67,2.019,8.69 c-0.005,0.013-0.01,0.027-0.013,0.042C1.999,8.755,1.995,8.778,1.99,8.803C1.989,8.817,1.985,8.828,1.984,8.84 C1.978,8.879,1.975,8.915,1.975,8.954v6.093c0,0.037,0.003,0.075,0.008,0.112c0.002,0.012,0.005,0.025,0.007,0.038 c0.005,0.023,0.008,0.047,0.015,0.072c0.003,0.015,0.008,0.028,0.013,0.04c0.007,0.022,0.013,0.042,0.022,0.063 c0.007,0.015,0.013,0.028,0.02,0.04c0.008,0.02,0.018,0.038,0.03,0.058c0.007,0.013,0.015,0.027,0.025,0.038 c0.012,0.018,0.023,0.035,0.035,0.052c0.01,0.013,0.02,0.025,0.03,0.037c0.013,0.015,0.028,0.032,0.042,0.045 c0.012,0.012,0.023,0.023,0.035,0.035c0.015,0.013,0.032,0.028,0.048,0.04l0.038,0.03c0.005,0.003,0.01,0.007,0.013,0.01 l9.163,6.095C11.668,21.953,11.833,22,12,22c0.167,0,0.332-0.047,0.478-0.144l9.163-6.095l0.015-0.01 c0.013-0.01,0.027-0.02,0.037-0.03c0.018-0.013,0.035-0.028,0.048-0.04c0.013-0.012,0.025-0.023,0.035-0.035 c0.017-0.015,0.03-0.032,0.043-0.045c0.01-0.013,0.02-0.025,0.03-0.037c0.013-0.018,0.025-0.035,0.035-0.052 c0.008-0.013,0.018-0.027,0.025-0.038c0.012-0.02,0.022-0.038,0.03-0.058c0.007-0.013,0.013-0.027,0.02-0.04 c0.008-0.022,0.015-0.042,0.023-0.063c0.003-0.013,0.01-0.027,0.013-0.04c0.007-0.025,0.01-0.048,0.015-0.072 c0.002-0.013,0.005-0.027,0.007-0.037c0.003-0.042,0.007-0.079,0.007-0.117V8.954C22.025,8.915,22.022,8.879,22.016,8.84z M12.862,4.464l6.751,4.49l-3.016,2.013l-3.735-2.492V4.464z M11.138,4.464v4.009l-3.735,2.494L4.389,8.954L11.138,4.464z M3.699,10.562L5.853,12l-2.155,1.438V10.562z M11.138,19.536l-6.749-4.491l3.015-2.011l3.735,2.492V19.536z M12,14.035L8.953,12 L12,9.966L15.047,12L12,14.035z M12.862,19.536v-4.009l3.735-2.492l3.016,2.011L12.862,19.536z M20.303,13.438L18.147,12 l2.156-1.438L20.303,13.438z"></path></svg>',
+               'deviantart' => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M 18.19 5.636 18.19 2 18.188 2 14.553 2 14.19 2.366 12.474 5.636 11.935 6 5.81 6 5.81 10.994 9.177 10.994 9.477 11.357 5.81 18.363 5.81 22 5.811 22 9.447 22 9.81 21.634 11.526 18.364 12.065 18 18.19 18 18.19 13.006 14.823 13.006 14.523 12.641 18.19 5.636z"></path></svg>',
+               'dribbble'   => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12,22C6.486,22,2,17.514,2,12S6.486,2,12,2c5.514,0,10,4.486,10,10S17.514,22,12,22z M20.434,13.369 c-0.292-0.092-2.644-0.794-5.32-0.365c1.117,3.07,1.572,5.57,1.659,6.09C18.689,17.798,20.053,15.745,20.434,13.369z M15.336,19.876c-0.127-0.749-0.623-3.361-1.822-6.477c-0.019,0.006-0.038,0.013-0.056,0.019c-4.818,1.679-6.547,5.02-6.701,5.334 c1.448,1.129,3.268,1.803,5.243,1.803C13.183,20.555,14.311,20.313,15.336,19.876z M5.654,17.724 c0.193-0.331,2.538-4.213,6.943-5.637c0.111-0.036,0.224-0.07,0.337-0.102c-0.214-0.485-0.448-0.971-0.692-1.45 c-4.266,1.277-8.405,1.223-8.778,1.216c-0.003,0.087-0.004,0.174-0.004,0.261C3.458,14.207,4.29,16.21,5.654,17.724z M3.639,10.264 c0.382,0.005,3.901,0.02,7.897-1.041c-1.415-2.516-2.942-4.631-3.167-4.94C5.979,5.41,4.193,7.613,3.639,10.264z M9.998,3.709 c0.236,0.316,1.787,2.429,3.187,5c3.037-1.138,4.323-2.867,4.477-3.085C16.154,4.286,14.17,3.471,12,3.471 C11.311,3.471,10.641,3.554,9.998,3.709z M18.612,6.612C18.432,6.855,17,8.69,13.842,9.979c0.199,0.407,0.389,0.821,0.567,1.237 c0.063,0.148,0.124,0.295,0.184,0.441c2.842-0.357,5.666,0.215,5.948,0.275C20.522,9.916,19.801,8.065,18.612,6.612z"></path></svg>',
+               'dropbox'    => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12,6.134L6.069,9.797L2,6.54l5.883-3.843L12,6.134z M2,13.054l5.883,3.843L12,13.459L6.069,9.797L2,13.054z M12,13.459 l4.116,3.439L22,13.054l-4.069-3.257L12,13.459z M22,6.54l-5.884-3.843L12,6.134l5.931,3.663L22,6.54z M12.011,14.2l-4.129,3.426 l-1.767-1.153v1.291l5.896,3.539l5.897-3.539v-1.291l-1.769,1.153L12.011,14.2z"></path></svg>',
+               'etsy'       => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M9.16033,4.038c0-.27174.02717-.43478.48913-.43478h6.22283c1.087,0,1.68478.92391,2.11957,2.663l.35326,1.38587h1.05978C19.59511,3.712,19.75815,2,19.75815,2s-2.663.29891-4.23913.29891h-7.962L3.29076,2.163v1.1413L4.731,3.57609c1.00543.19022,1.25.40761,1.33152,1.33152,0,0,.08152,2.71739.08152,7.20109s-.08152,7.17391-.08152,7.17391c0,.81522-.32609,1.11413-1.33152,1.30435l-1.44022.27174V22l4.2663-.13587h7.11957c1.60326,0,5.32609.13587,5.32609.13587.08152-.97826.625-5.40761.70652-5.89674H19.7038L18.644,18.52174c-.84239,1.90217-2.06522,2.038-3.42391,2.038H11.1712c-1.3587,0-2.01087-.54348-2.01087-1.712V12.65217s3.0163,0,3.99457.08152c.76087.05435,1.22283.27174,1.46739,1.33152l.32609,1.413h1.16848l-.08152-3.55978.163-3.587H15.02989l-.38043,1.57609c-.24457,1.03261-.40761,1.22283-1.46739,1.33152-1.38587.13587-4.02174.1087-4.02174.1087Z"></path></svg>',
+               'facebook'   => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg>',
+               'feed'       => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M2,8.667V12c5.515,0,10,4.485,10,10h3.333C15.333,14.637,9.363,8.667,2,8.667z M2,2v3.333 c9.19,0,16.667,7.477,16.667,16.667H22C22,10.955,13.045,2,2,2z M4.5,17C3.118,17,2,18.12,2,19.5S3.118,22,4.5,22S7,20.88,7,19.5 S5.882,17,4.5,17z"></path></svg>',
+               'flickr'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M6.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5S9.25,7,6.5,7z M17.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5 S20.25,7,17.5,7z"></path></svg>',
+               'foursquare' => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M17.573,2c0,0-9.197,0-10.668,0S5,3.107,5,3.805s0,16.948,0,16.948c0,0.785,0.422,1.077,0.66,1.172 c0.238,0.097,0.892,0.177,1.285-0.275c0,0,5.035-5.843,5.122-5.93c0.132-0.132,0.132-0.132,0.262-0.132h3.26 c1.368,0,1.588-0.977,1.732-1.552c0.078-0.318,0.692-3.428,1.225-6.122l0.675-3.368C19.56,2.893,19.14,2,17.573,2z M16.495,7.22 c-0.053,0.252-0.372,0.518-0.665,0.518c-0.293,0-4.157,0-4.157,0c-0.467,0-0.802,0.318-0.802,0.787v0.508 c0,0.467,0.337,0.798,0.805,0.798c0,0,3.197,0,3.528,0s0.655,0.362,0.583,0.715c-0.072,0.353-0.407,2.102-0.448,2.295 c-0.04,0.193-0.262,0.523-0.655,0.523c-0.33,0-2.88,0-2.88,0c-0.523,0-0.683,0.068-1.033,0.503 c-0.35,0.437-3.505,4.223-3.505,4.223c-0.032,0.035-0.063,0.027-0.063-0.015V4.852c0-0.298,0.26-0.648,0.648-0.648 c0,0,8.228,0,8.562,0c0.315,0,0.61,0.297,0.528,0.683L16.495,7.22z"></path></svg>',
+               'goodreads'  => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M17.3,17.5c-0.2,0.8-0.5,1.4-1,1.9c-0.4,0.5-1,0.9-1.7,1.2C13.9,20.9,13.1,21,12,21c-0.6,0-1.3-0.1-1.9-0.2 c-0.6-0.1-1.1-0.4-1.6-0.7c-0.5-0.3-0.9-0.7-1.2-1.2c-0.3-0.5-0.5-1.1-0.5-1.7h1.5c0.1,0.5,0.2,0.9,0.5,1.2 c0.2,0.3,0.5,0.6,0.9,0.8c0.3,0.2,0.7,0.3,1.1,0.4c0.4,0.1,0.8,0.1,1.2,0.1c1.4,0,2.5-0.4,3.1-1.2c0.6-0.8,1-2,1-3.5v-1.7h0 c-0.4,0.8-0.9,1.4-1.6,1.9c-0.7,0.5-1.5,0.7-2.4,0.7c-1,0-1.9-0.2-2.6-0.5C8.7,15,8.1,14.5,7.7,14c-0.5-0.6-0.8-1.3-1-2.1 c-0.2-0.8-0.3-1.6-0.3-2.5c0-0.9,0.1-1.7,0.4-2.5c0.3-0.8,0.6-1.5,1.1-2c0.5-0.6,1.1-1,1.8-1.4C10.3,3.2,11.1,3,12,3 c0.5,0,0.9,0.1,1.3,0.2c0.4,0.1,0.8,0.3,1.1,0.5c0.3,0.2,0.6,0.5,0.9,0.8c0.3,0.3,0.5,0.6,0.6,1h0V3.4h1.5V15 C17.6,15.9,17.5,16.7,17.3,17.5z M13.8,14.1c0.5-0.3,0.9-0.7,1.3-1.1c0.3-0.5,0.6-1,0.8-1.6c0.2-0.6,0.3-1.2,0.3-1.9 c0-0.6-0.1-1.2-0.2-1.9c-0.1-0.6-0.4-1.2-0.7-1.7c-0.3-0.5-0.7-0.9-1.3-1.2c-0.5-0.3-1.1-0.5-1.9-0.5s-1.4,0.2-1.9,0.5 c-0.5,0.3-1,0.7-1.3,1.2C8.5,6.4,8.3,7,8.1,7.6C8,8.2,7.9,8.9,7.9,9.5c0,0.6,0.1,1.3,0.2,1.9C8.3,12,8.6,12.5,8.9,13 c0.3,0.5,0.8,0.8,1.3,1.1c0.5,0.3,1.1,0.4,1.9,0.4C12.7,14.5,13.3,14.4,13.8,14.1z"></path></svg>',
+               'google'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12.02,10.18v3.72v0.01h5.51c-0.26,1.57-1.67,4.22-5.5,4.22c-3.31,0-6.01-2.75-6.01-6.12s2.7-6.12,6.01-6.12 c1.87,0,3.13,0.8,3.85,1.48l2.84-2.76C16.99,2.99,14.73,2,12.03,2c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.77,0,9.6-4.06,9.6-9.77 c0-0.83-0.11-1.42-0.25-2.05H12.02z"></path></svg>',
+               'github'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg>',
+               'instagram'  => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z"></path></svg>',
+               'lastfm'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M10.5002,0 C4.7006,0 0,4.70109753 0,10.4998496 C0,16.2989526 4.7006,21 10.5002,21 C16.299,21 21,16.2989526 21,10.4998496 C21,4.70109753 16.299,0 10.5002,0 Z M14.69735,14.7204413 C13.3164,14.7151781 12.4346,14.0870017 11.83445,12.6859357 L11.6816001,12.3451305 L10.35405,9.31011397 C9.92709997,8.26875064 8.85260001,7.57120012 7.68010001,7.57120012 C6.06945001,7.57120012 4.75925001,8.88509738 4.75925001,10.5009524 C4.75925001,12.1164565 6.06945001,13.4303036 7.68010001,13.4303036 C8.77200001,13.4303036 9.76514999,12.827541 10.2719501,11.8567047 C10.2893,11.8235214 10.3239,11.8019673 10.36305,11.8038219 C10.4007,11.8053759 10.43535,11.8287847 10.4504,11.8631709 L10.98655,13.1045863 C11.0016,13.1389726 10.9956,13.17782 10.97225,13.2068931 C10.1605001,14.1995341 8.96020001,14.7683115 7.68010001,14.7683115 C5.33305,14.7683115 3.42340001,12.8535563 3.42340001,10.5009524 C3.42340001,8.14679459 5.33300001,6.23203946 7.68010001,6.23203946 C9.45720002,6.23203946 10.8909,7.19074535 11.6138,8.86359341 C11.6205501,8.88018505 12.3412,10.5707777 12.97445,12.0190621 C13.34865,12.8739575 13.64615,13.3959676 14.6288,13.4291508 C15.5663001,13.4612814 16.25375,12.9121534 16.25375,12.1484869 C16.25375,11.4691321 15.8320501,11.3003585 14.8803,10.98216 C13.2365,10.4397989 12.34495,9.88605929 12.34495,8.51817658 C12.34495,7.1809207 13.26665,6.31615054 14.692,6.31615054 C15.62875,6.31615054 16.3155,6.7286858 16.79215,7.5768142 C16.80495,7.60062396 16.8079001,7.62814302 16.8004001,7.65420843 C16.7929,7.68027384 16.7748,7.70212868 16.7507001,7.713808 L15.86145,8.16900031 C15.8178001,8.19200805 15.7643,8.17807308 15.73565,8.13847371 C15.43295,7.71345711 15.0956,7.52513451 14.6423,7.52513451 C14.05125,7.52513451 13.6220001,7.92899802 13.6220001,8.48649708 C13.6220001,9.17382194 14.1529001,9.34144259 15.0339,9.61923972 C15.14915,9.65578139 15.26955,9.69397731 15.39385,9.73432853 C16.7763,10.1865133 17.57675,10.7311301 17.57675,12.1836251 C17.57685,13.629654 16.3389,14.7204413 14.69735,14.7204413 Z"></path></svg>',
+               'linkedin'   => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg>',
+               'mail'       => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M20,4H4C2.895,4,2,4.895,2,6v12c0,1.105,0.895,2,2,2h16c1.105,0,2-0.895,2-2V6C22,4.895,21.105,4,20,4z M20,8.236l-8,4.882 L4,8.236V6h16V8.236z"></path></svg>',
+               'mastodon'   => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z"/></svg>',
+               'medium'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M20.962,7.257l-5.457,8.867l-3.923-6.375l3.126-5.08c0.112-0.182,0.319-0.286,0.527-0.286c0.05,0,0.1,0.008,0.149,0.02 c0.039,0.01,0.078,0.023,0.114,0.041l5.43,2.715l0.006,0.003c0.004,0.002,0.007,0.006,0.011,0.008 C20.971,7.191,20.98,7.227,20.962,7.257z M9.86,8.592v5.783l5.14,2.57L9.86,8.592z M15.772,17.331l4.231,2.115 C20.554,19.721,21,19.529,21,19.016V8.835L15.772,17.331z M8.968,7.178L3.665,4.527C3.569,4.479,3.478,4.456,3.395,4.456 C3.163,4.456,3,4.636,3,4.938v11.45c0,0.306,0.224,0.669,0.498,0.806l4.671,2.335c0.12,0.06,0.234,0.088,0.337,0.088 c0.29,0,0.494-0.225,0.494-0.602V7.231C9,7.208,8.988,7.188,8.968,7.178z"></path></svg>',
+               'meetup'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"></path></svg>',
+               'pinterest'  => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2"></path></svg>',
+               'pocket'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M21.927,4.194C21.667,3.48,20.982,3,20.222,3h-0.01h-1.721H3.839C3.092,3,2.411,3.47,2.145,4.17 C2.066,4.378,2.026,4.594,2.026,4.814v6.035l0.069,1.2c0.29,2.73,1.707,5.115,3.899,6.778c0.039,0.03,0.079,0.059,0.119,0.089 l0.025,0.018c1.175,0.859,2.491,1.441,3.91,1.727c0.655,0.132,1.325,0.2,1.991,0.2c0.615,0,1.232-0.057,1.839-0.17 c0.073-0.014,0.145-0.028,0.219-0.044c0.02-0.004,0.042-0.012,0.064-0.023c1.359-0.297,2.621-0.864,3.753-1.691l0.025-0.018 c0.04-0.029,0.08-0.058,0.119-0.089c2.192-1.664,3.609-4.049,3.898-6.778l0.069-1.2V4.814C22.026,4.605,22,4.398,21.927,4.194z M17.692,10.481l-4.704,4.512c-0.266,0.254-0.608,0.382-0.949,0.382c-0.342,0-0.684-0.128-0.949-0.382l-4.705-4.512 C5.838,9.957,5.82,9.089,6.344,8.542c0.524-0.547,1.392-0.565,1.939-0.04l3.756,3.601l3.755-3.601 c0.547-0.524,1.415-0.506,1.939,0.04C18.256,9.089,18.238,9.956,17.692,10.481z"></path></svg>',
+               'reddit'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M22,11.816c0-1.256-1.021-2.277-2.277-2.277c-0.593,0-1.122,0.24-1.526,0.614c-1.481-0.965-3.455-1.594-5.647-1.69 l1.171-3.702l3.18,0.748c0.008,1.028,0.846,1.862,1.876,1.862c1.035,0,1.877-0.842,1.877-1.878c0-1.035-0.842-1.877-1.877-1.877 c-0.769,0-1.431,0.466-1.72,1.13l-3.508-0.826c-0.203-0.047-0.399,0.067-0.46,0.261l-1.35,4.268 c-2.316,0.038-4.411,0.67-5.97,1.671C5.368,9.765,4.853,9.539,4.277,9.539C3.021,9.539,2,10.56,2,11.816 c0,0.814,0.433,1.523,1.078,1.925c-0.037,0.221-0.061,0.444-0.061,0.672c0,3.292,4.011,5.97,8.941,5.97s8.941-2.678,8.941-5.97 c0-0.214-0.02-0.424-0.053-0.632C21.533,13.39,22,12.661,22,11.816z M18.776,4.394c0.606,0,1.1,0.493,1.1,1.1s-0.493,1.1-1.1,1.1 s-1.1-0.494-1.1-1.1S18.169,4.394,18.776,4.394z M2.777,11.816c0-0.827,0.672-1.5,1.499-1.5c0.313,0,0.598,0.103,0.838,0.269 c-0.851,0.676-1.477,1.479-1.812,2.36C2.983,12.672,2.777,12.27,2.777,11.816z M11.959,19.606c-4.501,0-8.164-2.329-8.164-5.193 S7.457,9.22,11.959,9.22s8.164,2.329,8.164,5.193S16.46,19.606,11.959,19.606z M20.636,13.001c-0.326-0.89-0.948-1.701-1.797-2.384 c0.248-0.186,0.55-0.301,0.883-0.301c0.827,0,1.5,0.673,1.5,1.5C21.223,12.299,20.992,12.727,20.636,13.001z M8.996,14.704 c-0.76,0-1.397-0.616-1.397-1.376c0-0.76,0.637-1.397,1.397-1.397c0.76,0,1.376,0.637,1.376,1.397 C10.372,14.088,9.756,14.704,8.996,14.704z M16.401,13.328c0,0.76-0.616,1.376-1.376,1.376c-0.76,0-1.399-0.616-1.399-1.376 c0-0.76,0.639-1.397,1.399-1.397C15.785,11.931,16.401,12.568,16.401,13.328z M15.229,16.708c0.152,0.152,0.152,0.398,0,0.55 c-0.674,0.674-1.727,1.002-3.219,1.002c-0.004,0-0.007-0.002-0.011-0.002c-0.004,0-0.007,0.002-0.011,0.002 c-1.492,0-2.544-0.328-3.218-1.002c-0.152-0.152-0.152-0.398,0-0.55c0.152-0.152,0.399-0.151,0.55,0 c0.521,0.521,1.394,0.775,2.669,0.775c0.004,0,0.007,0.002,0.011,0.002c0.004,0,0.007-0.002,0.011-0.002 c1.275,0,2.148-0.253,2.669-0.775C14.831,16.556,15.078,16.556,15.229,16.708z"></path></svg>',
+               'skype'      => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M10.113,2.699c0.033-0.006,0.067-0.013,0.1-0.02c0.033,0.017,0.066,0.033,0.098,0.051L10.113,2.699z M2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223z M21.275,13.771 c0.007-0.035,0.011-0.071,0.018-0.106c-0.018-0.031-0.033-0.064-0.052-0.095L21.275,13.771z M13.563,21.199 c0.032,0.019,0.065,0.035,0.096,0.053c0.036-0.006,0.071-0.011,0.105-0.017L13.563,21.199z M22,16.386 c0,1.494-0.581,2.898-1.637,3.953c-1.056,1.057-2.459,1.637-3.953,1.637c-0.967,0-1.914-0.251-2.75-0.725 c0.036-0.006,0.071-0.011,0.105-0.017l-0.202-0.035c0.032,0.019,0.065,0.035,0.096,0.053c-0.543,0.096-1.099,0.147-1.654,0.147 c-1.275,0-2.512-0.25-3.676-0.743c-1.125-0.474-2.135-1.156-3.002-2.023c-0.867-0.867-1.548-1.877-2.023-3.002 c-0.493-1.164-0.743-2.401-0.743-3.676c0-0.546,0.049-1.093,0.142-1.628c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103C2.244,9.5,2,8.566,2,7.615c0-1.493,0.582-2.898,1.637-3.953 c1.056-1.056,2.46-1.638,3.953-1.638c0.915,0,1.818,0.228,2.622,0.655c-0.033,0.007-0.067,0.013-0.1,0.02l0.199,0.031 c-0.032-0.018-0.066-0.034-0.098-0.051c0.002,0,0.003-0.001,0.004-0.001c0.586-0.112,1.187-0.169,1.788-0.169 c1.275,0,2.512,0.249,3.676,0.742c1.124,0.476,2.135,1.156,3.002,2.024c0.868,0.867,1.548,1.877,2.024,3.002 c0.493,1.164,0.743,2.401,0.743,3.676c0,0.575-0.054,1.15-0.157,1.712c-0.018-0.031-0.033-0.064-0.052-0.095l0.034,0.201 c0.007-0.035,0.011-0.071,0.018-0.106C21.754,14.494,22,15.432,22,16.386z M16.817,14.138c0-1.331-0.613-2.743-3.033-3.282 l-2.209-0.49c-0.84-0.192-1.807-0.444-1.807-1.237c0-0.794,0.679-1.348,1.903-1.348c2.468,0,2.243,1.696,3.468,1.696 c0.645,0,1.209-0.379,1.209-1.031c0-1.521-2.435-2.663-4.5-2.663c-2.242,0-4.63,0.952-4.63,3.488c0,1.221,0.436,2.521,2.839,3.123 l2.984,0.745c0.903,0.223,1.129,0.731,1.129,1.189c0,0.762-0.758,1.507-2.129,1.507c-2.679,0-2.307-2.062-3.743-2.062 c-0.645,0-1.113,0.444-1.113,1.078c0,1.236,1.501,2.886,4.856,2.886C15.236,17.737,16.817,16.199,16.817,14.138z"></path></svg>',
+               'snapchat'   => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12.065,2a5.526,5.526,0,0,1,3.132.892A5.854,5.854,0,0,1,17.326,5.4a5.821,5.821,0,0,1,.351,2.33q0,.612-.117,2.487a.809.809,0,0,0,.365.091,1.93,1.93,0,0,0,.664-.176,1.93,1.93,0,0,1,.664-.176,1.3,1.3,0,0,1,.729.234.7.7,0,0,1,.351.6.839.839,0,0,1-.41.7,2.732,2.732,0,0,1-.9.41,3.192,3.192,0,0,0-.9.378.728.728,0,0,0-.41.618,1.575,1.575,0,0,0,.156.56,6.9,6.9,0,0,0,1.334,1.953,5.6,5.6,0,0,0,1.881,1.315,5.875,5.875,0,0,0,1.042.3.42.42,0,0,1,.365.456q0,.911-2.852,1.341a1.379,1.379,0,0,0-.143.507,1.8,1.8,0,0,1-.182.605.451.451,0,0,1-.429.241,5.878,5.878,0,0,1-.807-.085,5.917,5.917,0,0,0-.833-.085,4.217,4.217,0,0,0-.807.065,2.42,2.42,0,0,0-.82.293,6.682,6.682,0,0,0-.755.5q-.351.267-.755.527a3.886,3.886,0,0,1-.989.436A4.471,4.471,0,0,1,11.831,22a4.307,4.307,0,0,1-1.256-.176,3.784,3.784,0,0,1-.976-.436q-.4-.26-.749-.527a6.682,6.682,0,0,0-.755-.5,2.422,2.422,0,0,0-.807-.293,4.432,4.432,0,0,0-.82-.065,5.089,5.089,0,0,0-.853.1,5,5,0,0,1-.762.1.474.474,0,0,1-.456-.241,1.819,1.819,0,0,1-.182-.618,1.411,1.411,0,0,0-.143-.521q-2.852-.429-2.852-1.341a.42.42,0,0,1,.365-.456,5.793,5.793,0,0,0,1.042-.3,5.524,5.524,0,0,0,1.881-1.315,6.789,6.789,0,0,0,1.334-1.953A1.575,1.575,0,0,0,6,12.9a.728.728,0,0,0-.41-.618,3.323,3.323,0,0,0-.9-.384,2.912,2.912,0,0,1-.9-.41.814.814,0,0,1-.41-.684.71.71,0,0,1,.338-.593,1.208,1.208,0,0,1,.716-.241,1.976,1.976,0,0,1,.625.169,2.008,2.008,0,0,0,.69.169.919.919,0,0,0,.416-.091q-.117-1.849-.117-2.474A5.861,5.861,0,0,1,6.385,5.4,5.516,5.516,0,0,1,8.625,2.819,7.075,7.075,0,0,1,12.062,2Z"></path></svg>',
+               'soundcloud' => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M8.9,16.1L9,14L8.9,9.5c0-0.1,0-0.1-0.1-0.1c0,0-0.1-0.1-0.1-0.1c-0.1,0-0.1,0-0.1,0.1c0,0-0.1,0.1-0.1,0.1L8.3,14l0.1,2.1 c0,0.1,0,0.1,0.1,0.1c0,0,0.1,0.1,0.1,0.1C8.8,16.3,8.9,16.3,8.9,16.1z M11.4,15.9l0.1-1.8L11.4,9c0-0.1,0-0.2-0.1-0.2 c0,0-0.1,0-0.1,0s-0.1,0-0.1,0c-0.1,0-0.1,0.1-0.1,0.2l0,0.1l-0.1,5c0,0,0,0.7,0.1,2v0c0,0.1,0,0.1,0.1,0.1c0.1,0.1,0.1,0.1,0.2,0.1 c0.1,0,0.1,0,0.2-0.1c0.1,0,0.1-0.1,0.1-0.2L11.4,15.9z M2.4,12.9L2.5,14l-0.2,1.1c0,0.1,0,0.1-0.1,0.1c0,0-0.1,0-0.1-0.1L2.1,14 l0.1-1.1C2.2,12.9,2.3,12.9,2.4,12.9C2.3,12.9,2.4,12.9,2.4,12.9z M3.1,12.2L3.3,14l-0.2,1.8c0,0.1,0,0.1-0.1,0.1 c-0.1,0-0.1,0-0.1-0.1L2.8,14L3,12.2C3,12.2,3,12.2,3.1,12.2C3.1,12.2,3.1,12.2,3.1,12.2z M3.9,11.9L4.1,14l-0.2,2.1 c0,0.1,0,0.1-0.1,0.1c-0.1,0-0.1,0-0.1-0.1L3.5,14l0.2-2.1c0-0.1,0-0.1,0.1-0.1C3.9,11.8,3.9,11.8,3.9,11.9z M4.7,11.9L4.9,14 l-0.2,2.1c0,0.1-0.1,0.1-0.1,0.1c-0.1,0-0.1,0-0.1-0.1L4.3,14l0.2-2.2c0-0.1,0-0.1,0.1-0.1C4.7,11.7,4.7,11.8,4.7,11.9z M5.6,12 l0.2,2l-0.2,2.1c0,0.1-0.1,0.1-0.1,0.1c0,0-0.1,0-0.1,0c0,0,0-0.1,0-0.1L5.1,14l0.2-2c0,0,0-0.1,0-0.1s0.1,0,0.1,0 C5.5,11.9,5.5,11.9,5.6,12L5.6,12z M6.4,10.7L6.6,14l-0.2,2.1c0,0,0,0.1,0,0.1c0,0-0.1,0-0.1,0c-0.1,0-0.1-0.1-0.2-0.2L5.9,14 l0.2-3.3c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0C6.4,10.7,6.4,10.7,6.4,10.7z M7.2,10l0.2,4.1l-0.2,2.1c0,0,0,0.1,0,0.1 c0,0-0.1,0-0.1,0c-0.1,0-0.2-0.1-0.2-0.2l-0.1-2.1L6.8,10c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0S7.2,9.9,7.2,10z M8,9.6L8.2,14 L8,16.1c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2L7.5,14l0.1-4.4c0-0.1,0-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0.1,0,0.1,0,0.1,0.1 C8,9.6,8,9.6,8,9.6z M11.4,16.1L11.4,16.1L11.4,16.1z M9.7,9.6L9.8,14l-0.1,2.1c0,0.1,0,0.1-0.1,0.2s-0.1,0.1-0.2,0.1 c-0.1,0-0.1,0-0.1-0.1s-0.1-0.1-0.1-0.2L9.2,14l0.1-4.4c0-0.1,0-0.1,0.1-0.2s0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1S9.7,9.5,9.7,9.6 L9.7,9.6z M10.6,9.8l0.1,4.3l-0.1,2c0,0.1,0,0.1-0.1,0.2c0,0-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1c0,0-0.1-0.1-0.1-0.2L10,14 l0.1-4.3c0-0.1,0-0.1,0.1-0.2c0,0,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1S10.6,9.7,10.6,9.8z M12.4,14l-0.1,2c0,0.1,0,0.1-0.1,0.2 c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.1-0.1-0.1-0.2l-0.1-1l-0.1-1l0.1-5.5v0c0-0.1,0-0.2,0.1-0.2 c0.1,0,0.1-0.1,0.2-0.1c0,0,0.1,0,0.1,0c0.1,0,0.1,0.1,0.1,0.2L12.4,14z M22.1,13.9c0,0.7-0.2,1.3-0.7,1.7c-0.5,0.5-1.1,0.7-1.7,0.7 h-6.8c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.1-0.1-0.1-0.2V8.2c0-0.1,0.1-0.2,0.2-0.3c0.5-0.2,1-0.3,1.6-0.3c1.1,0,2.1,0.4,2.9,1.1 c0.8,0.8,1.3,1.7,1.4,2.8c0.3-0.1,0.6-0.2,1-0.2c0.7,0,1.3,0.2,1.7,0.7C21.8,12.6,22.1,13.2,22.1,13.9L22.1,13.9z"></path></svg>',
+               'spotify'    => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12,2C6.477,2,2,6.477,2,12c0,5.523,4.477,10,10,10c5.523,0,10-4.477,10-10C22,6.477,17.523,2,12,2 M16.586,16.424 c-0.18,0.295-0.563,0.387-0.857,0.207c-2.348-1.435-5.304-1.76-8.785-0.964c-0.335,0.077-0.67-0.133-0.746-0.469 c-0.077-0.335,0.132-0.67,0.469-0.746c3.809-0.871,7.077-0.496,9.713,1.115C16.673,15.746,16.766,16.13,16.586,16.424 M17.81,13.7 c-0.226,0.367-0.706,0.482-1.072,0.257c-2.687-1.652-6.785-2.131-9.965-1.166C6.36,12.917,5.925,12.684,5.8,12.273 C5.675,11.86,5.908,11.425,6.32,11.3c3.632-1.102,8.147-0.568,11.234,1.328C17.92,12.854,18.035,13.335,17.81,13.7 M17.915,10.865 c-3.223-1.914-8.54-2.09-11.618-1.156C5.804,9.859,5.281,9.58,5.131,9.086C4.982,8.591,5.26,8.069,5.755,7.919 c3.532-1.072,9.404-0.865,13.115,1.338c0.445,0.264,0.59,0.838,0.327,1.282C18.933,10.983,18.359,11.129,17.915,10.865"></path></svg>',
+               'tumblr'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M16.749,17.396c-0.357,0.17-1.041,0.319-1.551,0.332c-1.539,0.041-1.837-1.081-1.85-1.896V9.847h3.861V6.937h-3.847V2.039 c0,0-2.77,0-2.817,0c-0.046,0-0.127,0.041-0.138,0.144c-0.165,1.499-0.867,4.13-3.783,5.181v2.484h1.945v6.282 c0,2.151,1.587,5.206,5.775,5.135c1.413-0.024,2.982-0.616,3.329-1.126L16.749,17.396z"></path></svg>',
+               'twitch'     => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M16.499,8.089h-1.636v4.91h1.636V8.089z M12,8.089h-1.637v4.91H12V8.089z M4.228,3.178L3,6.451v13.092h4.499V22h2.456 l2.454-2.456h3.681L21,14.636V3.178H4.228z M19.364,13.816l-2.864,2.865H12l-2.453,2.453V16.68H5.863V4.814h13.501V13.816z"></path></svg>',
+               'twitter'    => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg>',
+               'vimeo'      => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M22.396,7.164c-0.093,2.026-1.507,4.799-4.245,8.32C15.322,19.161,12.928,21,10.97,21c-1.214,0-2.24-1.119-3.079-3.359 c-0.56-2.053-1.119-4.106-1.68-6.159C5.588,9.243,4.921,8.122,4.206,8.122c-0.156,0-0.701,0.328-1.634,0.98L1.594,7.841 c1.027-0.902,2.04-1.805,3.037-2.708C6.001,3.95,7.03,3.327,7.715,3.264c1.619-0.156,2.616,0.951,2.99,3.321 c0.404,2.557,0.685,4.147,0.841,4.769c0.467,2.121,0.981,3.181,1.542,3.181c0.435,0,1.09-0.688,1.963-2.065 c0.871-1.376,1.338-2.422,1.401-3.142c0.125-1.187-0.343-1.782-1.401-1.782c-0.498,0-1.012,0.115-1.541,0.341 c1.023-3.35,2.977-4.977,5.862-4.884C21.511,3.066,22.52,4.453,22.396,7.164z"></path></svg>',
+               'vk'         => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M22,7.1c0.2,0.4-0.4,1.5-1.6,3.1c-0.2,0.2-0.4,0.5-0.7,0.9c-0.5,0.7-0.9,1.1-0.9,1.4c-0.1,0.3-0.1,0.6,0.1,0.8 c0.1,0.1,0.4,0.4,0.8,0.9h0l0,0c1,0.9,1.6,1.7,2,2.3c0,0,0,0.1,0.1,0.1c0,0.1,0,0.1,0.1,0.3c0,0.1,0,0.2,0,0.4 c0,0.1-0.1,0.2-0.3,0.3c-0.1,0.1-0.4,0.1-0.6,0.1l-2.7,0c-0.2,0-0.4,0-0.6-0.1c-0.2-0.1-0.4-0.1-0.5-0.2l-0.2-0.1 c-0.2-0.1-0.5-0.4-0.7-0.7s-0.5-0.6-0.7-0.8c-0.2-0.2-0.4-0.4-0.6-0.6C14.8,15,14.6,15,14.4,15c0,0,0,0-0.1,0c0,0-0.1,0.1-0.2,0.2 c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.1-0.1,0.3-0.2,0.5c-0.1,0.2-0.1,0.5-0.1,0.8c0,0.1,0,0.2,0,0.3c0,0.1-0.1,0.2-0.1,0.2l0,0.1 c-0.1,0.1-0.3,0.2-0.6,0.2h-1.2c-0.5,0-1,0-1.5-0.2c-0.5-0.1-1-0.3-1.4-0.6s-0.7-0.5-1.1-0.7s-0.6-0.4-0.7-0.6l-0.3-0.3 c-0.1-0.1-0.2-0.2-0.3-0.3s-0.4-0.5-0.7-0.9s-0.7-1-1.1-1.6c-0.4-0.6-0.8-1.3-1.3-2.2C2.9,9.4,2.5,8.5,2.1,7.5C2,7.4,2,7.3,2,7.2 c0-0.1,0-0.1,0-0.2l0-0.1c0.1-0.1,0.3-0.2,0.6-0.2l2.9,0c0.1,0,0.2,0,0.2,0.1S5.9,6.9,5.9,7L6,7c0.1,0.1,0.2,0.2,0.3,0.3 C6.4,7.7,6.5,8,6.7,8.4C6.9,8.8,7,9,7.1,9.2l0.2,0.3c0.2,0.4,0.4,0.8,0.6,1.1c0.2,0.3,0.4,0.5,0.5,0.7s0.3,0.3,0.4,0.4 c0.1,0.1,0.3,0.1,0.4,0.1c0.1,0,0.2,0,0.3-0.1c0,0,0,0,0.1-0.1c0,0,0.1-0.1,0.1-0.2c0.1-0.1,0.1-0.3,0.1-0.5c0-0.2,0.1-0.5,0.1-0.8 c0-0.4,0-0.8,0-1.3c0-0.3,0-0.5-0.1-0.8c0-0.2-0.1-0.4-0.1-0.5L9.6,7.6C9.4,7.3,9.1,7.2,8.7,7.1C8.6,7.1,8.6,7,8.7,6.9 C8.9,6.7,9,6.6,9.1,6.5c0.4-0.2,1.2-0.3,2.5-0.3c0.6,0,1,0.1,1.4,0.1c0.1,0,0.3,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.2,0.3 c0,0.1,0.1,0.2,0.1,0.3s0,0.3,0,0.5c0,0.2,0,0.4,0,0.6c0,0.2,0,0.4,0,0.7c0,0.3,0,0.6,0,0.9c0,0.1,0,0.2,0,0.4c0,0.2,0,0.4,0,0.5 c0,0.1,0,0.3,0,0.4s0.1,0.3,0.1,0.4c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.2-0.2,0.4-0.4 s0.3-0.4,0.5-0.7c0.2-0.3,0.5-0.7,0.7-1.1c0.4-0.7,0.8-1.5,1.1-2.3c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.1l0,0l0.1,0 c0,0,0,0,0.1,0s0.2,0,0.2,0l3,0c0.3,0,0.5,0,0.7,0S21.9,7,21.9,7L22,7.1z"></path></svg>',
+               'wordpress'  => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg>',
+               'yelp'       => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M12.271,16.718v1.417q-.011,3.257-.067,3.4a.707.707,0,0,1-.569.446,4.637,4.637,0,0,1-2.024-.424A4.609,4.609,0,0,1,7.8,20.565a.844.844,0,0,1-.19-.4.692.692,0,0,1,.044-.29,3.181,3.181,0,0,1,.379-.524q.335-.412,2.019-2.409.011,0,.669-.781a.757.757,0,0,1,.44-.274.965.965,0,0,1,.552.039.945.945,0,0,1,.418.324.732.732,0,0,1,.139.468Zm-1.662-2.8a.783.783,0,0,1-.58.781l-1.339.435q-3.067.981-3.257.981a.711.711,0,0,1-.6-.4,2.636,2.636,0,0,1-.19-.836,9.134,9.134,0,0,1,.011-1.857,3.559,3.559,0,0,1,.335-1.389.659.659,0,0,1,.625-.357,22.629,22.629,0,0,1,2.253.859q.781.324,1.283.524l.937.379a.771.771,0,0,1,.4.34A.982.982,0,0,1,10.609,13.917Zm9.213,3.313a4.467,4.467,0,0,1-1.021,1.8,4.559,4.559,0,0,1-1.512,1.417.671.671,0,0,1-.7-.078q-.156-.112-2.052-3.2l-.524-.859a.761.761,0,0,1-.128-.513.957.957,0,0,1,.217-.513.774.774,0,0,1,.926-.29q.011.011,1.327.446,2.264.736,2.7.887a2.082,2.082,0,0,1,.524.229.673.673,0,0,1,.245.68Zm-7.5-7.049q.056,1.137-.6,1.361-.647.19-1.272-.792L6.237,4.08a.7.7,0,0,1,.212-.691,5.788,5.788,0,0,1,2.314-1,5.928,5.928,0,0,1,2.5-.352.681.681,0,0,1,.547.5q.034.2.245,3.407T12.327,10.181Zm7.384,1.2a.679.679,0,0,1-.29.658q-.167.112-3.67.959-.747.167-1.015.257l.011-.022a.769.769,0,0,1-.513-.044.914.914,0,0,1-.413-.357.786.786,0,0,1,0-.971q.011-.011.836-1.137,1.394-1.908,1.673-2.275a2.423,2.423,0,0,1,.379-.435A.7.7,0,0,1,17.435,8a4.482,4.482,0,0,1,1.372,1.489,4.81,4.81,0,0,1,.9,1.868v.034Z"></path></svg>',
+               'youtube'    => '<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg>',
+       );
+
+       /**
+        * Social Icons – domain mappings.
+        *
+        * By default, each Icon ID is matched against a .com TLD. To override this behavior,
+        * specify all the domains it covers (including the .com TLD too, if applicable).
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @var array
+        */
+       protected static $social_icons_map = array(
+               'amazon'    => array(
+                       'amazon.com',
+                       'amazon.cn',
+                       'amazon.in',
+                       'amazon.fr',
+                       'amazon.de',
+                       'amazon.it',
+                       'amazon.nl',
+                       'amazon.es',
+                       'amazon.co',
+                       'amazon.ca',
+               ),
+               'behance'   => array(
+                       'behance.net',
+               ),
+               'codepen'   => array(
+                       'codepen.io',
+               ),
+               'facebook'  => array(
+                       'facebook.com',
+                       'fb.me',
+               ),
+               'feed'      => array(
+                       'feed',
+               ),
+               'lastfm'    => array(
+                       'last.fm',
+               ),
+               'mail'      => array(
+                       'mailto:',
+               ),
+               'mastodon'  => array(
+                       'mastodon.social',
+                       'pawoo.net',
+                       'mstdn.jp',
+                       'mastodon.cloud',
+                       'mastodon.online',
+                       'counter.social',
+                       'mstdn.social',
+                       'mas.to',
+                       'mastodon.world',
+                       'gc2.jp',
+               ),
+               'pocket'    => array(
+                       'getpocket.com',
+               ),
+               'twitch'    => array(
+                       'twitch.tv',
+               ),
+               'wordpress' => array(
+                       'wordpress.com',
+                       'wordpress.org',
+               ),
+       );
+
+       /**
+        * Gets the SVG code for a given icon.
+        *
+        * @static
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $group The icon group.
+        * @param string $icon  The icon.
+        * @param int    $size  The icon-size in pixels.
+        * @return string
+        */
+       public static function get_svg( $group, $icon, $size ) {
+
+               if ( 'ui' === $group ) {
+                       $arr = self::$icons;
+               } elseif ( 'social' === $group ) {
+                       $arr = self::$social_icons;
+               } else {
+                       $arr = array();
+               }
+
+               /**
+                * Filters Twenty Twenty-Ones's array of icons.
+                *
+                * The dynamic portion of the hook name, `$group`, refers to
+                * the name of the group of icons, either "ui" or "social".
+                *
+                * @since Twenty Twenty-One 1.0
+                *
+                * @param array $arr Array of icons.
+                */
+               $arr = apply_filters( "twenty_twenty_one_svg_icons_{$group}", $arr );
+
+               $svg = '';
+               if ( array_key_exists( $icon, $arr ) ) {
+                       $repl = sprintf( '<svg class="svg-icon" width="%d" height="%d" aria-hidden="true" role="img" focusable="false" ', $size, $size );
+
+                       $svg = preg_replace( '/^<svg /', $repl, trim( $arr[ $icon ] ) ); // Add extra attributes to SVG code.
+               }
+
+               // @phpstan-ignore-next-line.
+               return $svg;
+       }
+
+       /**
+        * Detects the social network from a URL and returns the SVG code for its icon.
+        *
+        * @static
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $uri  Social link.
+        * @param int    $size The icon-size in pixels.
+        * @return string|null
+        */
+       public static function get_social_link_svg( $uri, $size ) {
+               static $regex_map; // Only compute regex map once, for performance.
+
+               if ( ! isset( $regex_map ) ) {
+                       $regex_map = array();
+
+                       /**
+                        * Filters Twenty Twenty-Ones's array of domain mappings for social icons.
+                        *
+                        * By default, each Icon ID is matched against a .com TLD. To override this behavior,
+                        * specify all the domains it covers (including the .com TLD too, if applicable).
+                        *
+                        * @since Twenty Twenty-One 1.0
+                        *
+                        * @param array $social_icons_map Array of default social icons.
+                        */
+                       $map = apply_filters( 'twenty_twenty_one_social_icons_map', self::$social_icons_map );
+
+                       /**
+                        * Filters Twenty Twenty-One's array of social icons.
+                        *
+                        * @since Twenty Twenty-One 1.0
+                        *
+                        * @param array $social_icons Array of default social icons.
+                        */
+                       $social_icons = apply_filters( 'twenty_twenty_one_svg_icons_social', self::$social_icons );
+
+                       foreach ( array_keys( $social_icons ) as $icon ) {
+                               $domains            = array_key_exists( $icon, $map ) ? $map[ $icon ] : array( sprintf( '%s.com', $icon ) );
+                               $domains            = array_map( 'trim', $domains ); // Remove leading/trailing spaces, to prevent regex from failing to match.
+                               $domains            = array_map( 'preg_quote', $domains );
+                               $regex_map[ $icon ] = sprintf( '/(%s)/i', implode( '|', $domains ) );
+                       }
+               }
+               foreach ( $regex_map as $icon => $regex ) {
+                       if ( preg_match( $regex, $uri ) ) {
+
+                               return self::get_svg( 'social', $icon, $size ) . '<span class="screen-reader-text">';
+                       }
+               }
+               return null;
+       }
+
+}
diff --git a/wp-content/themes/twentytwentyone/comments.php b/wp-content/themes/twentytwentyone/comments.php
new file mode 100644 (file)
index 0000000..06e3d02
--- /dev/null
@@ -0,0 +1,92 @@
+<?php
+/**
+ * The template for displaying comments
+ *
+ * This is the template that displays the area of the page that contains both the current comments
+ * and the comment form.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/*
+ * If the current post is protected by a password and
+ * the visitor has not yet entered the password,
+ * return early without loading the comments.
+ */
+if ( post_password_required() ) {
+       return;
+}
+
+$twenty_twenty_one_comment_count = get_comments_number();
+?>
+
+<div id="comments" class="comments-area default-max-width <?php echo get_option( 'show_avatars' ) ? 'show-avatars' : ''; ?>">
+
+       <?php
+       if ( have_comments() ) :
+               ?>
+               <h2 class="comments-title">
+                       <?php if ( '1' === $twenty_twenty_one_comment_count ) : ?>
+                               <?php esc_html_e( '1 comment', 'twentytwentyone' ); ?>
+                       <?php else : ?>
+                               <?php
+                               printf(
+                                       /* translators: %s: Comment count number. */
+                                       esc_html( _nx( '%s comment', '%s comments', $twenty_twenty_one_comment_count, 'Comments title', 'twentytwentyone' ) ),
+                                       esc_html( number_format_i18n( $twenty_twenty_one_comment_count ) )
+                               );
+                               ?>
+                       <?php endif; ?>
+               </h2><!-- .comments-title -->
+
+               <ol class="comment-list">
+                       <?php
+                       wp_list_comments(
+                               array(
+                                       'avatar_size' => 60,
+                                       'style'       => 'ol',
+                                       'short_ping'  => true,
+                               )
+                       );
+                       ?>
+               </ol><!-- .comment-list -->
+
+               <?php
+               the_comments_pagination(
+                       array(
+                               'before_page_number' => esc_html__( 'Page', 'twentytwentyone' ) . ' ',
+                               'mid_size'           => 0,
+                               'prev_text'          => sprintf(
+                                       '%s <span class="nav-prev-text">%s</span>',
+                                       is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ),
+                                       esc_html__( 'Older comments', 'twentytwentyone' )
+                               ),
+                               'next_text'          => sprintf(
+                                       '<span class="nav-next-text">%s</span> %s',
+                                       esc_html__( 'Newer comments', 'twentytwentyone' ),
+                                       is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' )
+                               ),
+                       )
+               );
+               ?>
+
+               <?php if ( ! comments_open() ) : ?>
+                       <p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'twentytwentyone' ); ?></p>
+               <?php endif; ?>
+       <?php endif; ?>
+
+       <?php
+       comment_form(
+               array(
+                       'title_reply'        => esc_html__( 'Leave a comment', 'twentytwentyone' ),
+                       'title_reply_before' => '<h2 id="reply-title" class="comment-reply-title">',
+                       'title_reply_after'  => '</h2>',
+               )
+       );
+       ?>
+
+</div><!-- #comments -->
diff --git a/wp-content/themes/twentytwentyone/footer.php b/wp-content/themes/twentytwentyone/footer.php
new file mode 100644 (file)
index 0000000..4fc472d
--- /dev/null
@@ -0,0 +1,81 @@
+<?php
+/**
+ * The template for displaying the footer
+ *
+ * Contains the closing of the #content div and all content after.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+                       </main><!-- #main -->
+               </div><!-- #primary -->
+       </div><!-- #content -->
+
+       <?php get_template_part( 'template-parts/footer/footer-widgets' ); ?>
+
+       <footer id="colophon" class="site-footer">
+
+               <?php if ( has_nav_menu( 'footer' ) ) : ?>
+                       <nav aria-label="<?php esc_attr_e( 'Secondary menu', 'twentytwentyone' ); ?>" class="footer-navigation">
+                               <ul class="footer-navigation-wrapper">
+                                       <?php
+                                       wp_nav_menu(
+                                               array(
+                                                       'theme_location' => 'footer',
+                                                       'items_wrap'     => '%3$s',
+                                                       'container'      => false,
+                                                       'depth'          => 1,
+                                                       'link_before'    => '<span>',
+                                                       'link_after'     => '</span>',
+                                                       'fallback_cb'    => false,
+                                               )
+                                       );
+                                       ?>
+                               </ul><!-- .footer-navigation-wrapper -->
+                       </nav><!-- .footer-navigation -->
+               <?php endif; ?>
+               <div class="site-info">
+                       <div class="site-name">
+                               <?php if ( has_custom_logo() ) : ?>
+                                       <div class="site-logo"><?php the_custom_logo(); ?></div>
+                               <?php else : ?>
+                                       <?php if ( get_bloginfo( 'name' ) && get_theme_mod( 'display_title_and_tagline', true ) ) : ?>
+                                               <?php if ( is_front_page() && ! is_paged() ) : ?>
+                                                       <?php bloginfo( 'name' ); ?>
+                                               <?php else : ?>
+                                                       <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a>
+                                               <?php endif; ?>
+                                       <?php endif; ?>
+                               <?php endif; ?>
+                       </div><!-- .site-name -->
+
+                       <?php
+                       if ( function_exists( 'the_privacy_policy_link' ) ) {
+                               the_privacy_policy_link( '<div class="privacy-policy">', '</div>' );
+                       }
+                       ?>
+
+                       <div class="powered-by">
+                               <?php
+                               printf(
+                                       /* translators: %s: WordPress. */
+                                       esc_html__( 'Proudly powered by %s.', 'twentytwentyone' ),
+                                       '<a href="' . esc_url( __( 'https://wordpress.org/', 'twentytwentyone' ) ) . '">WordPress</a>'
+                               );
+                               ?>
+                       </div><!-- .powered-by -->
+
+               </div><!-- .site-info -->
+       </footer><!-- #colophon -->
+
+</div><!-- #page -->
+
+<?php wp_footer(); ?>
+
+</body>
+</html>
diff --git a/wp-content/themes/twentytwentyone/functions.php b/wp-content/themes/twentytwentyone/functions.php
new file mode 100644 (file)
index 0000000..ffbae09
--- /dev/null
@@ -0,0 +1,656 @@
+<?php
+/**
+ * Functions and definitions
+ *
+ * @link https://developer.wordpress.org/themes/basics/theme-functions/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// This theme requires WordPress 5.3 or later.
+if ( version_compare( $GLOBALS['wp_version'], '5.3', '<' ) ) {
+       require get_template_directory() . '/inc/back-compat.php';
+}
+
+if ( ! function_exists( 'twenty_twenty_one_setup' ) ) {
+       /**
+        * Sets up theme defaults and registers support for various WordPress features.
+        *
+        * Note that this function is hooked into the after_setup_theme hook, which
+        * runs before the init hook. The init hook is too late for some features, such
+        * as indicating support for post thumbnails.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_setup() {
+               /*
+                * Make theme available for translation.
+                * Translations can be filed in the /languages/ directory.
+                * If you're building a theme based on Twenty Twenty-One, use a find and replace
+                * to change 'twentytwentyone' to the name of your theme in all the template files.
+                */
+               load_theme_textdomain( 'twentytwentyone', get_template_directory() . '/languages' );
+
+               // Add default posts and comments RSS feed links to head.
+               add_theme_support( 'automatic-feed-links' );
+
+               /*
+                * Let WordPress manage the document title.
+                * This theme does not use a hard-coded <title> tag in the document head,
+                * WordPress will provide it for us.
+                */
+               add_theme_support( 'title-tag' );
+
+               /**
+                * Add post-formats support.
+                */
+               add_theme_support(
+                       'post-formats',
+                       array(
+                               'link',
+                               'aside',
+                               'gallery',
+                               'image',
+                               'quote',
+                               'status',
+                               'video',
+                               'audio',
+                               'chat',
+                       )
+               );
+
+               /*
+                * Enable support for Post Thumbnails on posts and pages.
+                *
+                * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
+                */
+               add_theme_support( 'post-thumbnails' );
+               set_post_thumbnail_size( 1568, 9999 );
+
+               register_nav_menus(
+                       array(
+                               'primary' => esc_html__( 'Primary menu', 'twentytwentyone' ),
+                               'footer'  => esc_html__( 'Secondary menu', 'twentytwentyone' ),
+                       )
+               );
+
+               /*
+                * Switch default core markup for search form, comment form, and comments
+                * to output valid HTML5.
+                */
+               add_theme_support(
+                       'html5',
+                       array(
+                               'comment-form',
+                               'comment-list',
+                               'gallery',
+                               'caption',
+                               'style',
+                               'script',
+                               'navigation-widgets',
+                       )
+               );
+
+               /*
+                * Add support for core custom logo.
+                *
+                * @link https://codex.wordpress.org/Theme_Logo
+                */
+               $logo_width  = 300;
+               $logo_height = 100;
+
+               add_theme_support(
+                       'custom-logo',
+                       array(
+                               'height'               => $logo_height,
+                               'width'                => $logo_width,
+                               'flex-width'           => true,
+                               'flex-height'          => true,
+                               'unlink-homepage-logo' => true,
+                       )
+               );
+
+               // Add theme support for selective refresh for widgets.
+               add_theme_support( 'customize-selective-refresh-widgets' );
+
+               // Add support for Block Styles.
+               add_theme_support( 'wp-block-styles' );
+
+               // Add support for full and wide align images.
+               add_theme_support( 'align-wide' );
+
+               // Add support for editor styles.
+               add_theme_support( 'editor-styles' );
+               $background_color = get_theme_mod( 'background_color', 'D1E4DD' );
+               if ( 127 > Twenty_Twenty_One_Custom_Colors::get_relative_luminance_from_hex( $background_color ) ) {
+                       add_theme_support( 'dark-editor-style' );
+               }
+
+               $editor_stylesheet_path = './assets/css/style-editor.css';
+
+               // Note, the is_IE global variable is defined by WordPress and is used
+               // to detect if the current browser is internet explorer.
+               global $is_IE;
+               if ( $is_IE ) {
+                       $editor_stylesheet_path = './assets/css/ie-editor.css';
+               }
+
+               // Enqueue editor styles.
+               add_editor_style( $editor_stylesheet_path );
+
+               // Add custom editor font sizes.
+               add_theme_support(
+                       'editor-font-sizes',
+                       array(
+                               array(
+                                       'name'      => esc_html__( 'Extra small', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'XS', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 16,
+                                       'slug'      => 'extra-small',
+                               ),
+                               array(
+                                       'name'      => esc_html__( 'Small', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'S', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 18,
+                                       'slug'      => 'small',
+                               ),
+                               array(
+                                       'name'      => esc_html__( 'Normal', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'M', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 20,
+                                       'slug'      => 'normal',
+                               ),
+                               array(
+                                       'name'      => esc_html__( 'Large', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'L', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 24,
+                                       'slug'      => 'large',
+                               ),
+                               array(
+                                       'name'      => esc_html__( 'Extra large', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'XL', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 40,
+                                       'slug'      => 'extra-large',
+                               ),
+                               array(
+                                       'name'      => esc_html__( 'Huge', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'XXL', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 96,
+                                       'slug'      => 'huge',
+                               ),
+                               array(
+                                       'name'      => esc_html__( 'Gigantic', 'twentytwentyone' ),
+                                       'shortName' => esc_html_x( 'XXXL', 'Font size', 'twentytwentyone' ),
+                                       'size'      => 144,
+                                       'slug'      => 'gigantic',
+                               ),
+                       )
+               );
+
+               // Custom background color.
+               add_theme_support(
+                       'custom-background',
+                       array(
+                               'default-color' => 'd1e4dd',
+                       )
+               );
+
+               // Editor color palette.
+               $black     = '#000000';
+               $dark_gray = '#28303D';
+               $gray      = '#39414D';
+               $green     = '#D1E4DD';
+               $blue      = '#D1DFE4';
+               $purple    = '#D1D1E4';
+               $red       = '#E4D1D1';
+               $orange    = '#E4DAD1';
+               $yellow    = '#EEEADD';
+               $white     = '#FFFFFF';
+
+               add_theme_support(
+                       'editor-color-palette',
+                       array(
+                               array(
+                                       'name'  => esc_html__( 'Black', 'twentytwentyone' ),
+                                       'slug'  => 'black',
+                                       'color' => $black,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Dark gray', 'twentytwentyone' ),
+                                       'slug'  => 'dark-gray',
+                                       'color' => $dark_gray,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Gray', 'twentytwentyone' ),
+                                       'slug'  => 'gray',
+                                       'color' => $gray,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Green', 'twentytwentyone' ),
+                                       'slug'  => 'green',
+                                       'color' => $green,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Blue', 'twentytwentyone' ),
+                                       'slug'  => 'blue',
+                                       'color' => $blue,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Purple', 'twentytwentyone' ),
+                                       'slug'  => 'purple',
+                                       'color' => $purple,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Red', 'twentytwentyone' ),
+                                       'slug'  => 'red',
+                                       'color' => $red,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Orange', 'twentytwentyone' ),
+                                       'slug'  => 'orange',
+                                       'color' => $orange,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'Yellow', 'twentytwentyone' ),
+                                       'slug'  => 'yellow',
+                                       'color' => $yellow,
+                               ),
+                               array(
+                                       'name'  => esc_html__( 'White', 'twentytwentyone' ),
+                                       'slug'  => 'white',
+                                       'color' => $white,
+                               ),
+                       )
+               );
+
+               add_theme_support(
+                       'editor-gradient-presets',
+                       array(
+                               array(
+                                       'name'     => esc_html__( 'Purple to yellow', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $purple . ' 0%, ' . $yellow . ' 100%)',
+                                       'slug'     => 'purple-to-yellow',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Yellow to purple', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $yellow . ' 0%, ' . $purple . ' 100%)',
+                                       'slug'     => 'yellow-to-purple',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Green to yellow', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $green . ' 0%, ' . $yellow . ' 100%)',
+                                       'slug'     => 'green-to-yellow',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Yellow to green', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $yellow . ' 0%, ' . $green . ' 100%)',
+                                       'slug'     => 'yellow-to-green',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Red to yellow', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $red . ' 0%, ' . $yellow . ' 100%)',
+                                       'slug'     => 'red-to-yellow',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Yellow to red', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $yellow . ' 0%, ' . $red . ' 100%)',
+                                       'slug'     => 'yellow-to-red',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Purple to red', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $purple . ' 0%, ' . $red . ' 100%)',
+                                       'slug'     => 'purple-to-red',
+                               ),
+                               array(
+                                       'name'     => esc_html__( 'Red to purple', 'twentytwentyone' ),
+                                       'gradient' => 'linear-gradient(160deg, ' . $red . ' 0%, ' . $purple . ' 100%)',
+                                       'slug'     => 'red-to-purple',
+                               ),
+                       )
+               );
+
+               /*
+               * Adds starter content to highlight the theme on fresh sites.
+               * This is done conditionally to avoid loading the starter content on every
+               * page load, as it is a one-off operation only needed once in the customizer.
+               */
+               if ( is_customize_preview() ) {
+                       require get_template_directory() . '/inc/starter-content.php';
+                       add_theme_support( 'starter-content', twenty_twenty_one_get_starter_content() );
+               }
+
+               // Add support for responsive embedded content.
+               add_theme_support( 'responsive-embeds' );
+
+               // Add support for custom line height controls.
+               add_theme_support( 'custom-line-height' );
+
+               // Add support for experimental link color control.
+               add_theme_support( 'experimental-link-color' );
+
+               // Add support for experimental cover block spacing.
+               add_theme_support( 'custom-spacing' );
+
+               // Add support for custom units.
+               // This was removed in WordPress 5.6 but is still required to properly support WP 5.5.
+               add_theme_support( 'custom-units' );
+
+               // Remove feed icon link from legacy RSS widget.
+               add_filter( 'rss_widget_feed_link', '__return_empty_string' );
+       }
+}
+add_action( 'after_setup_theme', 'twenty_twenty_one_setup' );
+
+/**
+ * Register widget area.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
+ *
+ * @return void
+ */
+function twenty_twenty_one_widgets_init() {
+
+       register_sidebar(
+               array(
+                       'name'          => esc_html__( 'Footer', 'twentytwentyone' ),
+                       'id'            => 'sidebar-1',
+                       'description'   => esc_html__( 'Add widgets here to appear in your footer.', 'twentytwentyone' ),
+                       'before_widget' => '<section id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</section>',
+                       'before_title'  => '<h2 class="widget-title">',
+                       'after_title'   => '</h2>',
+               )
+       );
+}
+add_action( 'widgets_init', 'twenty_twenty_one_widgets_init' );
+
+/**
+ * Set the content width in pixels, based on the theme's design and stylesheet.
+ *
+ * Priority 0 to make it available to lower priority callbacks.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @global int $content_width Content width.
+ *
+ * @return void
+ */
+function twenty_twenty_one_content_width() {
+       // This variable is intended to be overruled from themes.
+       // Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}.
+       // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
+       $GLOBALS['content_width'] = apply_filters( 'twenty_twenty_one_content_width', 750 );
+}
+add_action( 'after_setup_theme', 'twenty_twenty_one_content_width', 0 );
+
+/**
+ * Enqueue scripts and styles.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twenty_twenty_one_scripts() {
+       // Note, the is_IE global variable is defined by WordPress and is used
+       // to detect if the current browser is internet explorer.
+       global $is_IE, $wp_scripts;
+       if ( $is_IE ) {
+               // If IE 11 or below, use a flattened stylesheet with static values replacing CSS Variables.
+               wp_enqueue_style( 'twenty-twenty-one-style', get_template_directory_uri() . '/assets/css/ie.css', array(), wp_get_theme()->get( 'Version' ) );
+       } else {
+               // If not IE, use the standard stylesheet.
+               wp_enqueue_style( 'twenty-twenty-one-style', get_template_directory_uri() . '/style.css', array(), wp_get_theme()->get( 'Version' ) );
+       }
+
+       // RTL styles.
+       wp_style_add_data( 'twenty-twenty-one-style', 'rtl', 'replace' );
+
+       // Print styles.
+       wp_enqueue_style( 'twenty-twenty-one-print-style', get_template_directory_uri() . '/assets/css/print.css', array(), wp_get_theme()->get( 'Version' ), 'print' );
+
+       // Threaded comment reply styles.
+       if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
+               wp_enqueue_script( 'comment-reply' );
+       }
+
+       // Register the IE11 polyfill file.
+       wp_register_script(
+               'twenty-twenty-one-ie11-polyfills-asset',
+               get_template_directory_uri() . '/assets/js/polyfills.js',
+               array(),
+               wp_get_theme()->get( 'Version' ),
+               true
+       );
+
+       // Register the IE11 polyfill loader.
+       wp_register_script(
+               'twenty-twenty-one-ie11-polyfills',
+               null,
+               array(),
+               wp_get_theme()->get( 'Version' ),
+               true
+       );
+       wp_add_inline_script(
+               'twenty-twenty-one-ie11-polyfills',
+               wp_get_script_polyfill(
+                       $wp_scripts,
+                       array(
+                               'Element.prototype.matches && Element.prototype.closest && window.NodeList && NodeList.prototype.forEach' => 'twenty-twenty-one-ie11-polyfills-asset',
+                       )
+               )
+       );
+
+       // Main navigation scripts.
+       if ( has_nav_menu( 'primary' ) ) {
+               wp_enqueue_script(
+                       'twenty-twenty-one-primary-navigation-script',
+                       get_template_directory_uri() . '/assets/js/primary-navigation.js',
+                       array( 'twenty-twenty-one-ie11-polyfills' ),
+                       wp_get_theme()->get( 'Version' ),
+                       true
+               );
+       }
+
+       // Responsive embeds script.
+       wp_enqueue_script(
+               'twenty-twenty-one-responsive-embeds-script',
+               get_template_directory_uri() . '/assets/js/responsive-embeds.js',
+               array( 'twenty-twenty-one-ie11-polyfills' ),
+               wp_get_theme()->get( 'Version' ),
+               true
+       );
+}
+add_action( 'wp_enqueue_scripts', 'twenty_twenty_one_scripts' );
+
+/**
+ * Enqueue block editor script.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twentytwentyone_block_editor_script() {
+
+       wp_enqueue_script( 'twentytwentyone-editor', get_theme_file_uri( '/assets/js/editor.js' ), array( 'wp-blocks', 'wp-dom' ), wp_get_theme()->get( 'Version' ), true );
+}
+
+add_action( 'enqueue_block_editor_assets', 'twentytwentyone_block_editor_script' );
+
+/**
+ * Fix skip link focus in IE11.
+ *
+ * This does not enqueue the script because it is tiny and because it is only for IE11,
+ * thus it does not warrant having an entire dedicated blocking script being loaded.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @link https://git.io/vWdr2
+ */
+function twenty_twenty_one_skip_link_focus_fix() {
+
+       // If SCRIPT_DEBUG is defined and true, print the unminified file.
+       if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
+               echo '<script>';
+               include get_template_directory() . '/assets/js/skip-link-focus-fix.js';
+               echo '</script>';
+       } else {
+               // The following is minified via `npx terser --compress --mangle -- assets/js/skip-link-focus-fix.js`.
+               ?>
+               <script>
+               /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",(function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())}),!1);
+               </script>
+               <?php
+       }
+}
+add_action( 'wp_print_footer_scripts', 'twenty_twenty_one_skip_link_focus_fix' );
+
+/**
+ * Enqueue non-latin language styles.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twenty_twenty_one_non_latin_languages() {
+       $custom_css = twenty_twenty_one_get_non_latin_css( 'front-end' );
+
+       if ( $custom_css ) {
+               wp_add_inline_style( 'twenty-twenty-one-style', $custom_css );
+       }
+}
+add_action( 'wp_enqueue_scripts', 'twenty_twenty_one_non_latin_languages' );
+
+// SVG Icons class.
+require get_template_directory() . '/classes/class-twenty-twenty-one-svg-icons.php';
+
+// Custom color classes.
+require get_template_directory() . '/classes/class-twenty-twenty-one-custom-colors.php';
+new Twenty_Twenty_One_Custom_Colors();
+
+// Enhance the theme by hooking into WordPress.
+require get_template_directory() . '/inc/template-functions.php';
+
+// Menu functions and filters.
+require get_template_directory() . '/inc/menu-functions.php';
+
+// Custom template tags for the theme.
+require get_template_directory() . '/inc/template-tags.php';
+
+// Customizer additions.
+require get_template_directory() . '/classes/class-twenty-twenty-one-customize.php';
+new Twenty_Twenty_One_Customize();
+
+// Block Patterns.
+require get_template_directory() . '/inc/block-patterns.php';
+
+// Block Styles.
+require get_template_directory() . '/inc/block-styles.php';
+
+// Dark Mode.
+require_once get_template_directory() . '/classes/class-twenty-twenty-one-dark-mode.php';
+new Twenty_Twenty_One_Dark_Mode();
+
+/**
+ * Enqueue scripts for the customizer preview.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twentytwentyone_customize_preview_init() {
+       wp_enqueue_script(
+               'twentytwentyone-customize-helpers',
+               get_theme_file_uri( '/assets/js/customize-helpers.js' ),
+               array(),
+               wp_get_theme()->get( 'Version' ),
+               true
+       );
+
+       wp_enqueue_script(
+               'twentytwentyone-customize-preview',
+               get_theme_file_uri( '/assets/js/customize-preview.js' ),
+               array( 'customize-preview', 'customize-selective-refresh', 'jquery', 'twentytwentyone-customize-helpers' ),
+               wp_get_theme()->get( 'Version' ),
+               true
+       );
+}
+add_action( 'customize_preview_init', 'twentytwentyone_customize_preview_init' );
+
+/**
+ * Enqueue scripts for the customizer.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twentytwentyone_customize_controls_enqueue_scripts() {
+
+       wp_enqueue_script(
+               'twentytwentyone-customize-helpers',
+               get_theme_file_uri( '/assets/js/customize-helpers.js' ),
+               array(),
+               wp_get_theme()->get( 'Version' ),
+               true
+       );
+}
+add_action( 'customize_controls_enqueue_scripts', 'twentytwentyone_customize_controls_enqueue_scripts' );
+
+/**
+ * Calculate classes for the main <html> element.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twentytwentyone_the_html_classes() {
+       /**
+        * Filters the classes for the main <html> element.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string The list of classes. Default empty string.
+        */
+       $classes = apply_filters( 'twentytwentyone_html_classes', '' );
+       if ( ! $classes ) {
+               return;
+       }
+       echo 'class="' . esc_attr( $classes ) . '"';
+}
+
+/**
+ * Add "is-IE" class to body if the user is on Internet Explorer.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twentytwentyone_add_ie_class() {
+       ?>
+       <script>
+       if ( -1 !== navigator.userAgent.indexOf( 'MSIE' ) || -1 !== navigator.appVersion.indexOf( 'Trident/' ) ) {
+               document.body.classList.add( 'is-IE' );
+       }
+       </script>
+       <?php
+}
+add_action( 'wp_footer', 'twentytwentyone_add_ie_class' );
+
+if ( ! function_exists( 'wp_get_list_item_separator' ) ) :
+       /**
+        * Retrieves the list item separator based on the locale.
+        *
+        * Added for backward compatibility to support pre-6.0.0 WordPress versions.
+        *
+        * @since 6.0.0
+        */
+       function wp_get_list_item_separator() {
+               /* translators: Used between list items, there is a space after the comma. */
+               return __( ', ', 'twentytwentyone' );
+       }
+endif;
diff --git a/wp-content/themes/twentytwentyone/header.php b/wp-content/themes/twentytwentyone/header.php
new file mode 100644 (file)
index 0000000..a601a2a
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+/**
+ * The header.
+ *
+ * This is the template that displays all of the <head> section and everything up until main.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+<!doctype html>
+<html <?php language_attributes(); ?> <?php twentytwentyone_the_html_classes(); ?>>
+<head>
+       <meta charset="<?php bloginfo( 'charset' ); ?>" />
+       <meta name="viewport" content="width=device-width, initial-scale=1" />
+       <?php wp_head(); ?>
+</head>
+
+<body <?php body_class(); ?>>
+<?php wp_body_open(); ?>
+<div id="page" class="site">
+       <a class="skip-link screen-reader-text" href="#content">
+               <?php
+               /* translators: Hidden accessibility text. */
+               esc_html_e( 'Skip to content', 'twentytwentyone' );
+               ?>
+       </a>
+
+       <?php get_template_part( 'template-parts/header/site-header' ); ?>
+
+       <div id="content" class="site-content">
+               <div id="primary" class="content-area">
+                       <main id="main" class="site-main">
diff --git a/wp-content/themes/twentytwentyone/image.php b/wp-content/themes/twentytwentyone/image.php
new file mode 100644 (file)
index 0000000..2977f8f
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+/**
+ * The template for displaying image attachments
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header();
+
+// Start the loop.
+while ( have_posts() ) {
+       the_post();
+       ?>
+       <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+               <header class="entry-header alignwide">
+                       <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
+               </header><!-- .entry-header -->
+
+               <div class="entry-content">
+                       <figure class="wp-block-image">
+                               <?php
+                               /**
+                                * Filter the default image attachment size.
+                                *
+                                * @since Twenty Twenty-One 1.0
+                                *
+                                * @param string $image_size Image size. Default 'full'.
+                                */
+                               $image_size = apply_filters( 'twenty_twenty_one_attachment_size', 'full' );
+                               echo wp_get_attachment_image( get_the_ID(), $image_size );
+                               ?>
+
+                               <?php if ( wp_get_attachment_caption() ) : ?>
+                                       <figcaption class="wp-caption-text"><?php echo wp_kses_post( wp_get_attachment_caption() ); ?></figcaption>
+                               <?php endif; ?>
+                       </figure><!-- .wp-block-image -->
+
+                       <?php
+                       the_content();
+
+                       wp_link_pages(
+                               array(
+                                       'before'   => '<nav class="page-links" aria-label="' . esc_attr__( 'Page', 'twentytwentyone' ) . '">',
+                                       'after'    => '</nav>',
+                                       /* translators: %: Page number. */
+                                       'pagelink' => esc_html__( 'Page %', 'twentytwentyone' ),
+                               )
+                       );
+                       ?>
+               </div><!-- .entry-content -->
+
+               <footer class="entry-footer default-max-width">
+                       <?php
+                       // Check if there is a parent, then add the published in link.
+                       if ( wp_get_post_parent_id( $post ) ) {
+                               echo '<span class="posted-on">';
+                               printf(
+                                       /* translators: %s: Parent post. */
+                                       esc_html__( 'Published in %s', 'twentytwentyone' ),
+                                       '<a href="' . esc_url( get_the_permalink( wp_get_post_parent_id( $post ) ) ) . '">' . esc_html( get_the_title( wp_get_post_parent_id( $post ) ) ) . '</a>'
+                               );
+                               echo '</span>';
+                       } else {
+                               // Edit post link.
+                               edit_post_link(
+                                       sprintf(
+                                               /* translators: %s: Post title. Only visible to screen readers. */
+                                               esc_html__( 'Edit %s', 'twentytwentyone' ),
+                                               '<span class="screen-reader-text">' . get_the_title() . '</span>'
+                                       ),
+                                       '<span class="edit-link">',
+                                       '</span>'
+                               );
+                       }
+
+                       // Retrieve attachment metadata.
+                       $metadata = wp_get_attachment_metadata();
+                       if ( $metadata ) {
+                               printf(
+                                       '<span class="full-size-link"><span class="screen-reader-text">%1$s</span><a href="%2$s">%3$s &times; %4$s</a></span>',
+                                       /* translators: Hidden accessibility text. */
+                                       esc_html_x( 'Full size', 'Used before full size attachment link.', 'twentytwentyone' ), // phpcs:ignore WordPress.Security.EscapeOutput
+                                       esc_url( wp_get_attachment_url() ),
+                                       absint( $metadata['width'] ),
+                                       absint( $metadata['height'] )
+                               );
+                       }
+
+                       if ( wp_get_post_parent_id( $post ) ) {
+                               // Edit post link.
+                               edit_post_link(
+                                       sprintf(
+                                               /* translators: %s: Post title. Only visible to screen readers. */
+                                               esc_html__( 'Edit %s', 'twentytwentyone' ),
+                                               '<span class="screen-reader-text">' . get_the_title() . '</span>'
+                                       ),
+                                       '<span class="edit-link">',
+                                       '</span><br>'
+                               );
+                       }
+                       ?>
+               </footer><!-- .entry-footer -->
+       </article><!-- #post-<?php the_ID(); ?> -->
+       <?php
+       // If comments are open or there is at least one comment, load up the comment template.
+       if ( comments_open() || get_comments_number() ) {
+               comments_template();
+       }
+} // End the loop.
+
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/inc/back-compat.php b/wp-content/themes/twentytwentyone/inc/back-compat.php
new file mode 100644 (file)
index 0000000..ccf6351
--- /dev/null
@@ -0,0 +1,92 @@
+<?php
+/**
+ * Back compat functionality
+ *
+ * Prevents the theme from running on WordPress versions prior to 5.3,
+ * since this theme is not meant to be backward compatible beyond that and
+ * relies on many newer functions and markup changes introduced in 5.3.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Display upgrade notice on theme switch.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twenty_twenty_one_switch_theme() {
+       add_action( 'admin_notices', 'twenty_twenty_one_upgrade_notice' );
+}
+add_action( 'after_switch_theme', 'twenty_twenty_one_switch_theme' );
+
+/**
+ * Adds a message for unsuccessful theme switch.
+ *
+ * Prints an update nag after an unsuccessful attempt to switch to
+ * the theme on WordPress versions prior to 5.3.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @global string $wp_version WordPress version.
+ *
+ * @return void
+ */
+function twenty_twenty_one_upgrade_notice() {
+       echo '<div class="error"><p>';
+       printf(
+               /* translators: %s: WordPress Version. */
+               esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'twentytwentyone' ),
+               esc_html( $GLOBALS['wp_version'] )
+       );
+       echo '</p></div>';
+}
+
+/**
+ * Prevents the Customizer from being loaded on WordPress versions prior to 5.3.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @global string $wp_version WordPress version.
+ *
+ * @return void
+ */
+function twenty_twenty_one_customize() {
+       wp_die(
+               sprintf(
+                       /* translators: %s: WordPress Version. */
+                       esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'twentytwentyone' ),
+                       esc_html( $GLOBALS['wp_version'] )
+               ),
+               '',
+               array(
+                       'back_link' => true,
+               )
+       );
+}
+add_action( 'load-customize.php', 'twenty_twenty_one_customize' );
+
+/**
+ * Prevents the Theme Preview from being loaded on WordPress versions prior to 5.3.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @global string $wp_version WordPress version.
+ *
+ * @return void
+ */
+function twenty_twenty_one_preview() {
+       if ( isset( $_GET['preview'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
+               wp_die(
+                       sprintf(
+                               /* translators: %s: WordPress Version. */
+                               esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'twentytwentyone' ),
+                               esc_html( $GLOBALS['wp_version'] )
+                       )
+               );
+       }
+}
+add_action( 'template_redirect', 'twenty_twenty_one_preview' );
diff --git a/wp-content/themes/twentytwentyone/inc/block-patterns.php b/wp-content/themes/twentytwentyone/inc/block-patterns.php
new file mode 100644 (file)
index 0000000..b66dddf
--- /dev/null
@@ -0,0 +1,142 @@
+<?php
+/**
+ * Block Patterns
+ *
+ * @link https://developer.wordpress.org/reference/functions/register_block_pattern/
+ * @link https://developer.wordpress.org/reference/functions/register_block_pattern_category/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+if ( function_exists( 'register_block_pattern_category' ) ) {
+       /**
+        * Register Block Pattern Category.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_register_block_pattern_category() {
+               register_block_pattern_category(
+                       'twentytwentyone',
+                       array( 'label' => esc_html__( 'Twenty Twenty-One', 'twentytwentyone' ) )
+               );
+       }
+       add_action( 'init', 'twenty_twenty_one_register_block_pattern_category' );
+}
+
+/**
+ * Register Block Patterns.
+ */
+if ( function_exists( 'register_block_pattern' ) ) {
+       /**
+        * Register Block Pattern.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_register_block_pattern() {
+
+               // Large Text.
+               register_block_pattern(
+                       'twentytwentyone/large-text',
+                       array(
+                               'title'         => esc_html__( 'Large text', 'twentytwentyone' ),
+                               'categories'    => array( 'twentytwentyone' ),
+                               'viewportWidth' => 1440,
+                               'blockTypes'    => array( 'core/heading' ),
+                               'content'       => '<!-- wp:heading {"align":"wide","fontSize":"gigantic","style":{"typography":{"lineHeight":"1.1"}}} --><h2 class="alignwide has-text-align-wide has-gigantic-font-size" style="line-height:1.1">' . esc_html__( 'A new portfolio default theme for WordPress', 'twentytwentyone' ) . '</h2><!-- /wp:heading -->',
+                       )
+               );
+
+               // Links Area.
+               register_block_pattern(
+                       'twentytwentyone/links-area',
+                       array(
+                               'title'         => esc_html__( 'Links area', 'twentytwentyone' ),
+                               'categories'    => array( 'twentytwentyone' ),
+                               'viewportWidth' => 1440,
+                               'blockTypes'    => array( 'core/cover' ),
+                               'description'   => esc_html_x( 'A huge text followed by social networks and email address links.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'       => '<!-- wp:cover {"overlayColor":"green","contentPosition":"center center","align":"wide","className":"is-style-twentytwentyone-border"} --><div class="wp-block-cover alignwide has-green-background-color has-background-dim is-style-twentytwentyone-border"><div class="wp-block-cover__inner-container"><!-- wp:spacer {"height":20} --><div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div><!-- /wp:spacer --><!-- wp:paragraph {"fontSize":"huge"} --><p class="has-huge-font-size">' . wp_kses_post( __( 'Let&#8217;s Connect.', 'twentytwentyone' ) ) . '</p><!-- /wp:paragraph --><!-- wp:spacer {"height":75} --><div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div><!-- /wp:spacer --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:paragraph --><p><a href="#" data-type="URL">' . esc_html__( 'Twitter', 'twentytwentyone' ) . '</a> / <a href="#" data-type="URL">' . esc_html__( 'Instagram', 'twentytwentyone' ) . '</a> / <a href="#" data-type="URL">' . esc_html__( 'Dribbble', 'twentytwentyone' ) . '</a></p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:paragraph --><p><a href="#">' . esc_html__( 'example@example.com', 'twentytwentyone' ) . '</a></p><!-- /wp:paragraph --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:spacer {"height":20} --><div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div><!-- /wp:spacer --></div></div><!-- /wp:cover --><!-- wp:paragraph --><p></p><!-- /wp:paragraph -->',
+                       )
+               );
+
+               // Media & Text Article Title.
+               register_block_pattern(
+                       'twentytwentyone/media-text-article-title',
+                       array(
+                               'title'         => esc_html__( 'Media and text article title', 'twentytwentyone' ),
+                               'categories'    => array( 'twentytwentyone' ),
+                               'viewportWidth' => 1440,
+                               'description'   => esc_html_x( 'A Media & Text block with a big image on the left and a heading on the right. The heading is followed by a separator and a description paragraph.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'       => '<!-- wp:media-text {"mediaId":1752,"mediaLink":"' . esc_url( get_template_directory_uri() ) . '/assets/images/playing-in-the-sand.jpg","mediaType":"image","className":"is-style-twentytwentyone-border"} --><div class="wp-block-media-text alignwide is-stacked-on-mobile is-style-twentytwentyone-border"><figure class="wp-block-media-text__media"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/playing-in-the-sand.jpg" alt="' . esc_attr__( '&#8220;Playing in the Sand&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" class="wp-image-1752"/></figure><div class="wp-block-media-text__content"><!-- wp:heading {"align":"center"} --><h2 class="has-text-align-center">' . esc_html__( 'Playing in the Sand', 'twentytwentyone' ) . '</h2><!-- /wp:heading --><!-- wp:separator {"className":"is-style-dots"} --><hr class="wp-block-separator is-style-dots"/><!-- /wp:separator --><!-- wp:paragraph {"align":"center","fontSize":"small"} --><p class="has-text-align-center has-small-font-size">' . wp_kses_post( __( 'Berthe Morisot<br>(French, 1841-1895)', 'twentytwentyone' ) ) . '</p><!-- /wp:paragraph --></div></div><!-- /wp:media-text -->',
+                       )
+               );
+
+               // Overlapping Images.
+               register_block_pattern(
+                       'twentytwentyone/overlapping-images',
+                       array(
+                               'title'         => esc_html__( 'Overlapping images', 'twentytwentyone' ),
+                               'categories'    => array( 'twentytwentyone' ),
+                               'viewportWidth' => 1024,
+                               'blockTypes'    => array( 'core/columns' ),
+                               'description'   => esc_html_x( 'Three images inside an overlapping columns block.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'       => '<!-- wp:columns {"verticalAlignment":"center","align":"wide","className":"is-style-twentytwentyone-columns-overlap"} --><div class="wp-block-columns alignwide are-vertically-aligned-center is-style-twentytwentyone-columns-overlap"><!-- wp:column {"verticalAlignment":"center"} --><div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"full","sizeSlug":"full"} --><figure class="wp-block-image alignfull size-full"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/roses-tremieres-hollyhocks-1884.jpg" alt="' . esc_attr__( '&#8220;Roses Trémières&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure><!-- /wp:image --><!-- wp:spacer --><div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div><!-- /wp:spacer --><!-- wp:image {"align":"full","sizeSlug":"full"} --><figure class="wp-block-image alignfull size-full"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/in-the-bois-de-boulogne.jpg" alt="' . esc_attr__( '&#8220;In the Bois de Boulogne&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure><!-- /wp:image --></div><!-- /wp:column --><!-- wp:column {"verticalAlignment":"center"} --><div class="wp-block-column is-vertically-aligned-center"><!-- wp:spacer --><div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div><!-- /wp:spacer --><!-- wp:image {"align":"full",sizeSlug":"full"} --><figure class="wp-block-image alignfull size-full"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/young-woman-in-mauve.jpg" alt="' . esc_attr__( '&#8220;Young Woman in Mauve&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns -->',
+                       )
+               );
+
+               // Two Images Showcase.
+               register_block_pattern(
+                       'twentytwentyone/two-images-showcase',
+                       array(
+                               'title'         => esc_html__( 'Two images showcase', 'twentytwentyone' ),
+                               'categories'    => array( 'twentytwentyone' ),
+                               'viewportWidth' => 1440,
+                               'description'   => esc_html_x( 'A media & text block with a big image on the left and a smaller one with bordered frame on the right.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'       => '<!-- wp:media-text {"mediaId":1747,"mediaLink":"' . esc_url( get_template_directory_uri() ) . '/assets/images/Daffodils.jpg","mediaType":"image"} --><div class="wp-block-media-text alignwide is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/Daffodils.jpg" alt="' . esc_attr__( '&#8220;Daffodils&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:image {"align":"center","width":400,"height":512,"sizeSlug":"large","className":"is-style-twentytwentyone-image-frame"} --><figure class="wp-block-image aligncenter size-large is-resized is-style-twentytwentyone-image-frame"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/self-portrait-1885.jpg" alt="' . esc_attr__( '&#8220;Self portrait&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" width="400" height="512"/></figure><!-- /wp:image --></div></div><!-- /wp:media-text -->',
+                       )
+               );
+
+               // Overlapping Images and Text.
+               register_block_pattern(
+                       'twentytwentyone/overlapping-images-and-text',
+                       array(
+                               'title'         => esc_html__( 'Overlapping images and text', 'twentytwentyone' ),
+                               'categories'    => array( 'twentytwentyone' ),
+                               'viewportWidth' => 1440,
+                               'blockTypes'    => array( 'core/columns' ),
+                               'description'   => esc_html_x( 'An overlapping columns block with two images and a text description.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'       => '<!-- wp:columns {"verticalAlignment":null,"align":"wide","className":"is-style-twentytwentyone-columns-overlap"} --> <div class="wp-block-columns alignwide is-style-twentytwentyone-columns-overlap"><!-- wp:column --> <div class="wp-block-column"><!-- wp:image {sizeSlug":"full"} --> <figure class="wp-block-image size-full"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/the-garden-at-bougival-1884.jpg" alt="' . esc_attr__( '&#8220;The Garden at Bougival&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure> <!-- /wp:image --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"bottom"} --> <div class="wp-block-column is-vertically-aligned-bottom"><!-- wp:group {"className":"is-style-twentytwentyone-border","backgroundColor":"green"} --> <div class="wp-block-group is-style-twentytwentyone-border has-green-background-color has-background"><div class="wp-block-group__inner-container"><!-- wp:paragraph {"fontSize":"extra-large","style":{"typography":{"lineHeight":"1.4"}}} --> <p class="has-extra-large-font-size" style="line-height:1.4">' . esc_html__( 'Beautiful gardens painted by Berthe Morisot in the late 1800s', 'twentytwentyone' ) . '</p> <!-- /wp:paragraph --></div></div> <!-- /wp:group --></div> <!-- /wp:column --> <!-- wp:column --> <div class="wp-block-column"><!-- wp:image {sizeSlug":"full"} --> <figure class="wp-block-image size-full"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/villa-with-orange-trees-nice.jpg" alt="' . esc_attr__( '&#8220;Villa with Orange Trees, Nice&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure> <!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns -->',
+                       )
+               );
+
+               // Portfolio List.
+               register_block_pattern(
+                       'twentytwentyone/portfolio-list',
+                       array(
+                               'title'       => esc_html__( 'Portfolio list', 'twentytwentyone' ),
+                               'categories'  => array( 'twentytwentyone' ),
+                               'description' => esc_html_x( 'A list of projects with thumbnail images.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'     => '<!-- wp:separator {"className":"is-style-twentytwentyone-separator-thick"} --> <hr class="wp-block-separator is-style-twentytwentyone-separator-thick"/> <!-- /wp:separator --> <!-- wp:columns --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":80} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:paragraph {"fontSize":"extra-large"} --> <p class="has-extra-large-font-size"><a href="#">' . esc_html__( 'Roses Trémières', 'twentytwentyone' ) . '</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center"} --> <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"right","width":85,"height":67,"sizeSlug":"large"} --> <figure class="wp-block-image alignright size-large is-resized"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/roses-tremieres-hollyhocks-1884.jpg" alt="' . esc_attr__( '&#8220;Roses Trémières&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" width="85" height="67"/></figure> <!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:separator {"className":"is-style-default"} --> <hr class="wp-block-separator is-style-default"/> <!-- /wp:separator --> <!-- wp:columns --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":80} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:paragraph {"fontSize":"extra-large"} --> <p class="has-extra-large-font-size"><a href="#">' . esc_html__( 'Villa with Orange Trees, Nice', 'twentytwentyone' ) . '</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center"} --> <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"right","width":53,"height":67,"className":"alignright size-large is-resized"} --><figure class="wp-block-image is-resized alignright size-large"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/villa-with-orange-trees-nice.jpg" alt="&#8220;Villa with Orange Trees, Nice&#8221; by Berthe Morisot" width="53" height="67"/></figure><!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:separator {"className":"is-style-default"} --> <hr class="wp-block-separator is-style-default"/> <!-- /wp:separator --> <!-- wp:columns --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":80} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:paragraph {"fontSize":"extra-large"} --> <p class="has-extra-large-font-size"><a href="#">' . esc_html__( 'In the Bois de Boulogne', 'twentytwentyone' ) . '</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center"} --> <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"right","width":81,"height":67,"sizeSlug":"large"} --> <figure class="wp-block-image alignright size-large is-resized"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/in-the-bois-de-boulogne.jpg" alt="' . esc_attr__( '&#8220;In the Bois de Boulogne&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" width="81" height="67"/></figure> <!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:separator {"className":"is-style-default"} --> <hr class="wp-block-separator is-style-default"/> <!-- /wp:separator --> <!-- wp:columns --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":80} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:paragraph {"fontSize":"extra-large"} --> <p class="has-extra-large-font-size"><a href="#">' . esc_html__( 'The Garden at Bougival', 'twentytwentyone' ) . '</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center"} --> <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"right","width":85,"height":67,"sizeSlug":"large"} --> <figure class="wp-block-image alignright size-large is-resized"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/the-garden-at-bougival-1884.jpg" alt="' . esc_attr__( '&#8220;The Garden at Bougival&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" width="85" height="67"/></figure> <!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:separator {"className":"is-style-default"} --> <hr class="wp-block-separator is-style-default"/> <!-- /wp:separator --> <!-- wp:columns --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":80} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:paragraph {"fontSize":"extra-large"} --> <p class="has-extra-large-font-size"><a href="#">' . esc_html__( 'Young Woman in Mauve', 'twentytwentyone' ) . '</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center"} --> <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"right","width":54,"height":67,"sizeSlug":"large"} --> <figure class="wp-block-image alignright size-large is-resized"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/young-woman-in-mauve.jpg" alt="' . esc_attr__( '&#8220;Young Woman in Mauve&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" width="54" height="67"/></figure> <!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:separator {"className":"is-style-default"} --> <hr class="wp-block-separator is-style-default"/> <!-- /wp:separator --> <!-- wp:columns --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":80} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:paragraph {"fontSize":"extra-large"} --> <p class="has-extra-large-font-size"><a href="#">' . esc_html__( 'Reading', 'twentytwentyone' ) . '</a></p> <!-- /wp:paragraph --></div> <!-- /wp:column --> <!-- wp:column {"verticalAlignment":"center"} --> <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"right","width":84,"height":67,"sizeSlug":"large"} --> <figure class="wp-block-image alignright size-large is-resized"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/Reading.jpg" alt="' . esc_attr__( '&#8220;Reading&#8221; by Berthe Morisot', 'twentytwentyone' ) . '" width="84" height="67"/></figure> <!-- /wp:image --></div> <!-- /wp:column --></div> <!-- /wp:columns --> <!-- wp:separator {"className":"is-style-twentytwentyone-separator-thick"} --> <hr class="wp-block-separator is-style-twentytwentyone-separator-thick"/> <!-- /wp:separator -->',
+                       )
+               );
+
+               register_block_pattern(
+                       'twentytwentyone/contact-information',
+                       array(
+                               'title'       => esc_html__( 'Contact information', 'twentytwentyone' ),
+                               'categories'  => array( 'twentytwentyone' ),
+                               'blockTypes'  => array( 'core/columns' ),
+                               'description' => esc_html_x( 'A block with 3 columns that display contact information and social media links.', 'Block pattern description', 'twentytwentyone' ),
+                               'content'     => '<!-- wp:columns {"align":"wide"} --><div class="wp-block-columns alignwide"><!-- wp:column --><div class="wp-block-column"><!-- wp:paragraph --><p><a href="mailto:#">' . esc_html_x( 'example@example.com', 'Block pattern sample content', 'twentytwentyone' ) . '<br></a>' . esc_html_x( '123-456-7890', 'Block pattern sample content', 'twentytwentyone' ) . '</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:paragraph {"align":"center"} --><p class="has-text-align-center">' . esc_html_x( '123 Main Street', 'Block pattern sample content', 'twentytwentyone' ) . '<br>' . esc_html_x( 'Cambridge, MA, 02139', 'Block pattern sample content', 'twentytwentyone' ) . '</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column {"verticalAlignment":"center"} --><div class="wp-block-column is-vertically-aligned-center"><!-- wp:social-links {"align":"right","className":"is-style-twentytwentyone-social-icons-color"} --><ul class="wp-block-social-links alignright is-style-twentytwentyone-social-icons-color"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /--><!-- wp:social-link {"url":"https://www.facebook.com/WordPress/","service":"facebook"} /--><!-- wp:social-link {"url":"https://twitter.com/WordPress","service":"twitter"} /--><!-- wp:social-link {"url":"https://www.youtube.com/wordpress","service":"youtube"} /--></ul><!-- /wp:social-links --></div><!-- /wp:column --></div><!-- /wp:columns -->',
+                       )
+               );
+
+       }
+       add_action( 'init', 'twenty_twenty_one_register_block_pattern' );
+}
diff --git a/wp-content/themes/twentytwentyone/inc/block-styles.php b/wp-content/themes/twentytwentyone/inc/block-styles.php
new file mode 100644 (file)
index 0000000..fd673b3
--- /dev/null
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Block Styles
+ *
+ * @link https://developer.wordpress.org/reference/functions/register_block_style/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+if ( function_exists( 'register_block_style' ) ) {
+       /**
+        * Register block styles.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_register_block_styles() {
+               // Columns: Overlap.
+               register_block_style(
+                       'core/columns',
+                       array(
+                               'name'  => 'twentytwentyone-columns-overlap',
+                               'label' => esc_html__( 'Overlap', 'twentytwentyone' ),
+                       )
+               );
+
+               // Cover: Borders.
+               register_block_style(
+                       'core/cover',
+                       array(
+                               'name'  => 'twentytwentyone-border',
+                               'label' => esc_html__( 'Borders', 'twentytwentyone' ),
+                       )
+               );
+
+               // Group: Borders.
+               register_block_style(
+                       'core/group',
+                       array(
+                               'name'  => 'twentytwentyone-border',
+                               'label' => esc_html__( 'Borders', 'twentytwentyone' ),
+                       )
+               );
+
+               // Image: Borders.
+               register_block_style(
+                       'core/image',
+                       array(
+                               'name'  => 'twentytwentyone-border',
+                               'label' => esc_html__( 'Borders', 'twentytwentyone' ),
+                       )
+               );
+
+               // Image: Frame.
+               register_block_style(
+                       'core/image',
+                       array(
+                               'name'  => 'twentytwentyone-image-frame',
+                               'label' => esc_html__( 'Frame', 'twentytwentyone' ),
+                       )
+               );
+
+               // Latest Posts: Dividers.
+               register_block_style(
+                       'core/latest-posts',
+                       array(
+                               'name'  => 'twentytwentyone-latest-posts-dividers',
+                               'label' => esc_html__( 'Dividers', 'twentytwentyone' ),
+                       )
+               );
+
+               // Latest Posts: Borders.
+               register_block_style(
+                       'core/latest-posts',
+                       array(
+                               'name'  => 'twentytwentyone-latest-posts-borders',
+                               'label' => esc_html__( 'Borders', 'twentytwentyone' ),
+                       )
+               );
+
+               // Media & Text: Borders.
+               register_block_style(
+                       'core/media-text',
+                       array(
+                               'name'  => 'twentytwentyone-border',
+                               'label' => esc_html__( 'Borders', 'twentytwentyone' ),
+                       )
+               );
+
+               // Separator: Thick.
+               register_block_style(
+                       'core/separator',
+                       array(
+                               'name'  => 'twentytwentyone-separator-thick',
+                               'label' => esc_html__( 'Thick', 'twentytwentyone' ),
+                       )
+               );
+
+               // Social icons: Dark gray color.
+               register_block_style(
+                       'core/social-links',
+                       array(
+                               'name'  => 'twentytwentyone-social-icons-color',
+                               'label' => esc_html__( 'Dark gray', 'twentytwentyone' ),
+                       )
+               );
+       }
+       add_action( 'init', 'twenty_twenty_one_register_block_styles' );
+}
diff --git a/wp-content/themes/twentytwentyone/inc/custom-css.php b/wp-content/themes/twentytwentyone/inc/custom-css.php
new file mode 100644 (file)
index 0000000..6212d15
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Custom CSS
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Generate CSS.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string $selector The CSS selector.
+ * @param string $style    The CSS style.
+ * @param string $value    The CSS value.
+ * @param string $prefix   The CSS prefix.
+ * @param string $suffix   The CSS suffix.
+ * @param bool   $display  Print the styles.
+ * @return string
+ */
+function twenty_twenty_one_generate_css( $selector, $style, $value, $prefix = '', $suffix = '', $display = true ) {
+
+       // Bail early if there is no $selector elements or properties and $value.
+       if ( ! $value || ! $selector ) {
+               return '';
+       }
+
+       $css = sprintf( '%s { %s: %s; }', $selector, $style, $prefix . $value . $suffix );
+
+       if ( $display ) {
+               /*
+                * Note to reviewers: $css contains auto-generated CSS.
+                * It is included inside <style> tags and can only be interpreted as CSS on the browser.
+                * Using wp_strip_all_tags() here is sufficient escaping to avoid
+                * malicious attempts to close </style> and open a <script>.
+                */
+               echo wp_strip_all_tags( $css ); // phpcs:ignore WordPress.Security.EscapeOutput
+       }
+       return $css;
+}
diff --git a/wp-content/themes/twentytwentyone/inc/menu-functions.php b/wp-content/themes/twentytwentyone/inc/menu-functions.php
new file mode 100644 (file)
index 0000000..d8d2aae
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Functions and filters related to the menus.
+ *
+ * Makes the default WordPress navigation use an HTML structure similar
+ * to the Navigation block.
+ *
+ * @link https://make.wordpress.org/themes/2020/07/06/printing-navigation-block-html-from-a-legacy-menu-in-themes/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Add a button to top-level menu items that has sub-menus.
+ * An icon is added using CSS depending on the value of aria-expanded.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string $output Nav menu item start element.
+ * @param object $item   Nav menu item.
+ * @param int    $depth  Depth.
+ * @param object $args   Nav menu args.
+ * @return string Nav menu item start element.
+ */
+function twenty_twenty_one_add_sub_menu_toggle( $output, $item, $depth, $args ) {
+       if ( 0 === $depth && in_array( 'menu-item-has-children', $item->classes, true ) ) {
+
+               // Add toggle button.
+               $output .= '<button class="sub-menu-toggle" aria-expanded="false" onClick="twentytwentyoneExpandSubMenu(this)">';
+               $output .= '<span class="icon-plus">' . twenty_twenty_one_get_icon_svg( 'ui', 'plus', 18 ) . '</span>';
+               $output .= '<span class="icon-minus">' . twenty_twenty_one_get_icon_svg( 'ui', 'minus', 18 ) . '</span>';
+               /* translators: Hidden accessibility text. */
+               $output .= '<span class="screen-reader-text">' . esc_html__( 'Open menu', 'twentytwentyone' ) . '</span>';
+               $output .= '</button>';
+       }
+       return $output;
+}
+add_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_add_sub_menu_toggle', 10, 4 );
+
+/**
+ * Detects the social network from a URL and returns the SVG code for its icon.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string $uri  Social link.
+ * @param int    $size The icon size in pixels.
+ * @return string
+ */
+function twenty_twenty_one_get_social_link_svg( $uri, $size = 24 ) {
+       return Twenty_Twenty_One_SVG_Icons::get_social_link_svg( $uri, $size );
+}
+
+/**
+ * Displays SVG icons in the footer navigation.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string   $item_output The menu item's starting HTML output.
+ * @param WP_Post  $item        Menu item data object.
+ * @param int      $depth       Depth of the menu. Used for padding.
+ * @param stdClass $args        An object of wp_nav_menu() arguments.
+ * @return string The menu item output with social icon.
+ */
+function twenty_twenty_one_nav_menu_social_icons( $item_output, $item, $depth, $args ) {
+       // Change SVG icon inside social links menu if there is supported URL.
+       if ( 'footer' === $args->theme_location ) {
+               $svg = twenty_twenty_one_get_social_link_svg( $item->url, 24 );
+               if ( ! empty( $svg ) ) {
+                       $item_output = str_replace( $args->link_before, $svg, $item_output );
+               }
+       }
+
+       return $item_output;
+}
+
+add_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_nav_menu_social_icons', 10, 4 );
+
+/**
+ * Filters the arguments for a single nav menu item.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param stdClass $args  An object of wp_nav_menu() arguments.
+ * @param WP_Post  $item  Menu item data object.
+ * @param int      $depth Depth of menu item. Used for padding.
+ * @return stdClass
+ */
+function twenty_twenty_one_add_menu_description_args( $args, $item, $depth ) {
+       if ( '</span>' !== $args->link_after ) {
+               $args->link_after = '';
+       }
+
+       if ( 0 === $depth && isset( $item->description ) && $item->description ) {
+               // The extra <span> element is here for styling purposes: Allows the description to not be underlined on hover.
+               $args->link_after = '<p class="menu-item-description"><span>' . $item->description . '</span></p>';
+       }
+
+       return $args;
+}
+add_filter( 'nav_menu_item_args', 'twenty_twenty_one_add_menu_description_args', 10, 3 );
diff --git a/wp-content/themes/twentytwentyone/inc/starter-content.php b/wp-content/themes/twentytwentyone/inc/starter-content.php
new file mode 100644 (file)
index 0000000..bdbd9f8
--- /dev/null
@@ -0,0 +1,184 @@
+<?php
+/**
+ * Twenty Twenty-One Starter Content
+ *
+ * @link https://make.wordpress.org/core/2016/11/30/starter-content-for-themes-in-4-7/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Function to return the array of starter content for the theme.
+ *
+ * Passes it through the `twenty_twenty_one_starter_content` filter before returning.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return array A filtered array of args for the starter_content.
+ */
+function twenty_twenty_one_get_starter_content() {
+
+       // Define and register starter content to showcase the theme on new sites.
+       $starter_content = array(
+
+               // Specify the core-defined pages to create and add custom thumbnails to some of them.
+               'posts'     => array(
+                       'front' => array(
+                               'post_type'    => 'page',
+                               'post_title'   => esc_html_x( 'Create your website with blocks', 'Theme starter content', 'twentytwentyone' ),
+                               'post_content' => '
+                                       <!-- wp:heading {"align":"wide","fontSize":"gigantic","style":{"typography":{"lineHeight":"1.1"}}} -->
+                                       <h2 class="alignwide has-text-align-wide has-gigantic-font-size" style="line-height:1.1">' . esc_html_x( 'Create your website with blocks', 'Theme starter content', 'twentytwentyone' ) . '</h2>
+                                       <!-- /wp:heading -->
+
+                                       <!-- wp:spacer -->
+                                       <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:columns {"verticalAlignment":"center","align":"wide","className":"is-style-twentytwentyone-columns-overlap"} -->
+                                       <div class="wp-block-columns alignwide are-vertically-aligned-center is-style-twentytwentyone-columns-overlap"><!-- wp:column {"verticalAlignment":"center"} -->
+                                       <div class="wp-block-column is-vertically-aligned-center"><!-- wp:image {"align":"full","sizeSlug":"large"} -->
+                                       <figure class="wp-block-image alignfull size-large"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/roses-tremieres-hollyhocks-1884.jpg" alt="' . esc_attr__( '&#8220;Roses Trémières&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure>
+                                       <!-- /wp:image -->
+
+                                       <!-- wp:spacer -->
+                                       <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:image {"align":"full","sizeSlug":"large","className":"is-style-twentytwentyone-image-frame"} -->
+                                       <figure class="wp-block-image alignfull size-large is-style-twentytwentyone-image-frame"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/in-the-bois-de-boulogne.jpg" alt="' . esc_attr__( '&#8220;In the Bois de Boulogne&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure>
+                                       <!-- /wp:image --></div>
+                                       <!-- /wp:column -->
+
+                                       <!-- wp:column {"verticalAlignment":"center"} -->
+                                       <div class="wp-block-column is-vertically-aligned-center"><!-- wp:spacer -->
+                                       <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:image {"sizeSlug":"large","className":"alignfull size-full is-style-twentytwentyone-border"} -->
+                                       <figure class="wp-block-image size-large alignfull size-full is-style-twentytwentyone-border"><img src="' . esc_url( get_template_directory_uri() ) . '/assets/images/young-woman-in-mauve.jpg" alt="' . esc_attr__( '&#8220;Young Woman in Mauve&#8221; by Berthe Morisot', 'twentytwentyone' ) . '"/></figure>
+                                       <!-- /wp:image --></div>
+                                       <!-- /wp:column --></div>
+                                       <!-- /wp:columns -->
+
+                                       <!-- wp:spacer {"height":50} -->
+                                       <div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:columns {"verticalAlignment":"top","align":"wide"} -->
+                                       <div class="wp-block-columns alignwide are-vertically-aligned-top"><!-- wp:column {"verticalAlignment":"top"} -->
+                                       <div class="wp-block-column is-vertically-aligned-top"><!-- wp:heading {"level":3} -->
+                                       <h3>' . esc_html_x( 'Add block patterns', 'Theme starter content', 'twentytwentyone' ) . '</h3>
+                                       <!-- /wp:heading -->
+
+                                       <!-- wp:paragraph -->
+                                       <p>' . esc_html_x( 'Block patterns are pre-designed groups of blocks. To add one, select the Add Block button [+] in the toolbar at the top of the editor. Switch to the Patterns tab underneath the search bar, and choose a pattern.', 'Theme starter content', 'twentytwentyone' ) . '</p>
+                                       <!-- /wp:paragraph --></div>
+                                       <!-- /wp:column -->
+
+                                       <!-- wp:column {"verticalAlignment":"top"} -->
+                                       <div class="wp-block-column is-vertically-aligned-top"><!-- wp:heading {"level":3} -->
+                                       <h3>' . esc_html_x( 'Frame your images', 'Theme starter content', 'twentytwentyone' ) . '</h3>
+                                       <!-- /wp:heading -->
+
+                                       <!-- wp:paragraph -->
+                                       <p>' . esc_html_x( 'Twenty Twenty-One includes stylish borders for your content. With an Image block selected, open the "Styles" panel within the Editor sidebar. Select the "Frame" block style to activate it.', 'Theme starter content', 'twentytwentyone' ) . '</p>
+                                       <!-- /wp:paragraph --></div>
+                                       <!-- /wp:column -->
+
+                                       <!-- wp:column {"verticalAlignment":"top"} -->
+                                       <div class="wp-block-column is-vertically-aligned-top"><!-- wp:heading {"level":3} -->
+                                       <h3>' . esc_html_x( 'Overlap columns', 'Theme starter content', 'twentytwentyone' ) . '</h3>
+                                       <!-- /wp:heading -->
+
+                                       <!-- wp:paragraph -->
+                                       <p>' . esc_html_x( 'Twenty Twenty-One also includes an overlap style for column blocks. With a Columns block selected, open the "Styles" panel within the Editor sidebar. Choose the "Overlap" block style to try it out.', 'Theme starter content', 'twentytwentyone' ) . '</p>
+                                       <!-- /wp:paragraph --></div>
+                                       <!-- /wp:column --></div>
+                                       <!-- /wp:columns -->
+
+                                       <!-- wp:spacer -->
+                                       <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:cover {"overlayColor":"green","contentPosition":"center center","align":"wide","className":"is-style-twentytwentyone-border"} -->
+                                       <div class="wp-block-cover alignwide has-green-background-color has-background-dim is-style-twentytwentyone-border"><div class="wp-block-cover__inner-container"><!-- wp:spacer {"height":20} -->
+                                       <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:paragraph {"fontSize":"huge"} -->
+                                       <p class="has-huge-font-size">' . esc_html_x( 'Need help?', 'Theme starter content', 'twentytwentyone' ) . '</p>
+                                       <!-- /wp:paragraph -->
+
+                                       <!-- wp:spacer {"height":75} -->
+                                       <div style="height:75px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer -->
+
+                                       <!-- wp:columns -->
+                                       <div class="wp-block-columns"><!-- wp:column -->
+                                       <div class="wp-block-column"><!-- wp:paragraph -->
+                                       <p><a href="https://wordpress.org/documentation/article/twenty-twenty-one/">' . esc_html_x( 'Read the Theme Documentation', 'Theme starter content', 'twentytwentyone' ) . '</a></p>
+                                       <!-- /wp:paragraph --></div>
+                                       <!-- /wp:column -->
+
+                                       <!-- wp:column -->
+                                       <div class="wp-block-column"><!-- wp:paragraph -->
+                                       <p><a href="https://wordpress.org/support/theme/twentytwentyone/">' . esc_html_x( 'Check out the Support Forums', 'Theme starter content', 'twentytwentyone' ) . '</a></p>
+                                       <!-- /wp:paragraph --></div>
+                                       <!-- /wp:column --></div>
+                                       <!-- /wp:columns -->
+
+                                       <!-- wp:spacer {"height":20} -->
+                                       <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
+                                       <!-- /wp:spacer --></div></div>
+                                       <!-- /wp:cover -->',
+                       ),
+                       'about',
+                       'contact',
+                       'blog',
+               ),
+
+               // Default to a static front page and assign the front and posts pages.
+               'options'   => array(
+                       'show_on_front'  => 'page',
+                       'page_on_front'  => '{{front}}',
+                       'page_for_posts' => '{{blog}}',
+               ),
+
+               // Set up nav menus for each of the two areas registered in the theme.
+               'nav_menus' => array(
+                       // Assign a menu to the "primary" location.
+                       'primary' => array(
+                               'name'  => esc_html__( 'Primary menu', 'twentytwentyone' ),
+                               'items' => array(
+                                       'link_home', // Note that the core "home" page is actually a link in case a static front page is not used.
+                                       'page_about',
+                                       'page_blog',
+                                       'page_contact',
+                               ),
+                       ),
+
+                       // Assign a menu to the "footer" location.
+                       'footer'  => array(
+                               'name'  => esc_html__( 'Secondary menu', 'twentytwentyone' ),
+                               'items' => array(
+                                       'link_facebook',
+                                       'link_twitter',
+                                       'link_instagram',
+                                       'link_email',
+                               ),
+                       ),
+               ),
+       );
+
+       /**
+        * Filters the array of starter content.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param array $starter_content Array of starter content.
+        */
+       return apply_filters( 'twenty_twenty_one_starter_content', $starter_content );
+}
diff --git a/wp-content/themes/twentytwentyone/inc/template-functions.php b/wp-content/themes/twentytwentyone/inc/template-functions.php
new file mode 100644 (file)
index 0000000..d0d385d
--- /dev/null
@@ -0,0 +1,475 @@
+<?php
+/**
+ * Functions which enhance the theme by hooking into WordPress
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/**
+ * Adds custom classes to the array of body classes.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param array $classes Classes for the body element.
+ * @return array
+ */
+function twenty_twenty_one_body_classes( $classes ) {
+
+       // Helps detect if JS is enabled or not.
+       $classes[] = 'no-js';
+
+       // Adds `singular` to singular pages, and `hfeed` to all other pages.
+       $classes[] = is_singular() ? 'singular' : 'hfeed';
+
+       // Add a body class if main navigation is active.
+       if ( has_nav_menu( 'primary' ) ) {
+               $classes[] = 'has-main-navigation';
+       }
+
+       // Add a body class if there are no footer widgets.
+       if ( ! is_active_sidebar( 'sidebar-1' ) ) {
+               $classes[] = 'no-widgets';
+       }
+
+       return $classes;
+}
+add_filter( 'body_class', 'twenty_twenty_one_body_classes' );
+
+/**
+ * Adds custom class to the array of posts classes.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param array $classes An array of CSS classes.
+ * @return array
+ */
+function twenty_twenty_one_post_classes( $classes ) {
+       $classes[] = 'entry';
+
+       return $classes;
+}
+add_filter( 'post_class', 'twenty_twenty_one_post_classes', 10, 3 );
+
+/**
+ * Add a pingback url auto-discovery header for single posts, pages, or attachments.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twenty_twenty_one_pingback_header() {
+       if ( is_singular() && pings_open() ) {
+               echo '<link rel="pingback" href="', esc_url( get_bloginfo( 'pingback_url' ) ), '">';
+       }
+}
+add_action( 'wp_head', 'twenty_twenty_one_pingback_header' );
+
+/**
+ * Remove the `no-js` class from body if JS is supported.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return void
+ */
+function twenty_twenty_one_supports_js() {
+       echo '<script>document.body.classList.remove("no-js");</script>';
+}
+add_action( 'wp_footer', 'twenty_twenty_one_supports_js' );
+
+/**
+ * Changes comment form default fields.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param array $defaults The form defaults.
+ * @return array
+ */
+function twenty_twenty_one_comment_form_defaults( $defaults ) {
+
+       // Adjust height of comment form.
+       $defaults['comment_field'] = preg_replace( '/rows="\d+"/', 'rows="5"', $defaults['comment_field'] );
+
+       return $defaults;
+}
+add_filter( 'comment_form_defaults', 'twenty_twenty_one_comment_form_defaults' );
+
+/**
+ * Determines if post thumbnail can be displayed.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return bool
+ */
+function twenty_twenty_one_can_show_post_thumbnail() {
+       /**
+        * Filters whether post thumbnail can be displayed.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param bool $show_post_thumbnail Whether to show post thumbnail.
+        */
+       return apply_filters(
+               'twenty_twenty_one_can_show_post_thumbnail',
+               ! post_password_required() && ! is_attachment() && has_post_thumbnail()
+       );
+}
+
+/**
+ * Returns the size for avatars used in the theme.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @return int
+ */
+function twenty_twenty_one_get_avatar_size() {
+       return 60;
+}
+
+/**
+ * Creates continue reading text.
+ *
+ * @since Twenty Twenty-One 1.0
+ */
+function twenty_twenty_one_continue_reading_text() {
+       $continue_reading = sprintf(
+               /* translators: %s: Post title. Only visible to screen readers. */
+               esc_html__( 'Continue reading %s', 'twentytwentyone' ),
+               the_title( '<span class="screen-reader-text">', '</span>', false )
+       );
+
+       return $continue_reading;
+}
+
+/**
+ * Creates the continue reading link for excerpt.
+ *
+ * @since Twenty Twenty-One 1.0
+ */
+function twenty_twenty_one_continue_reading_link_excerpt() {
+       if ( ! is_admin() ) {
+               return '&hellip; <a class="more-link" href="' . esc_url( get_permalink() ) . '">' . twenty_twenty_one_continue_reading_text() . '</a>';
+       }
+}
+
+// Filter the excerpt more link.
+add_filter( 'excerpt_more', 'twenty_twenty_one_continue_reading_link_excerpt' );
+
+/**
+ * Creates the continue reading link.
+ *
+ * @since Twenty Twenty-One 1.0
+ */
+function twenty_twenty_one_continue_reading_link() {
+       if ( ! is_admin() ) {
+               return '<div class="more-link-container"><a class="more-link" href="' . esc_url( get_permalink() ) . '#more-' . esc_attr( get_the_ID() ) . '">' . twenty_twenty_one_continue_reading_text() . '</a></div>';
+       }
+}
+
+// Filter the content more link.
+add_filter( 'the_content_more_link', 'twenty_twenty_one_continue_reading_link' );
+
+if ( ! function_exists( 'twenty_twenty_one_post_title' ) ) {
+       /**
+        * Adds a title to posts and pages that are missing titles.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param string $title The title.
+        * @return string
+        */
+       function twenty_twenty_one_post_title( $title ) {
+               return '' === $title ? esc_html_x( 'Untitled', 'Added to posts and pages that are missing titles', 'twentytwentyone' ) : $title;
+       }
+}
+add_filter( 'the_title', 'twenty_twenty_one_post_title' );
+
+/**
+ * Gets the SVG code for a given icon.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string $group The icon group.
+ * @param string $icon  The icon.
+ * @param int    $size  The icon size in pixels.
+ * @return string
+ */
+function twenty_twenty_one_get_icon_svg( $group, $icon, $size = 24 ) {
+       return Twenty_Twenty_One_SVG_Icons::get_svg( $group, $icon, $size );
+}
+
+/**
+ * Changes the default navigation arrows to svg icons
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string $calendar_output The generated HTML of the calendar.
+ * @return string
+ */
+function twenty_twenty_one_change_calendar_nav_arrows( $calendar_output ) {
+       $calendar_output = str_replace( '&laquo; ', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ), $calendar_output );
+       $calendar_output = str_replace( ' &raquo;', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ), $calendar_output );
+       return $calendar_output;
+}
+add_filter( 'get_calendar', 'twenty_twenty_one_change_calendar_nav_arrows' );
+
+/**
+ * Get custom CSS.
+ *
+ * Return CSS for non-latin language, if available, or null
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string $type Whether to return CSS for the "front-end", "block-editor", or "classic-editor".
+ * @return string
+ */
+function twenty_twenty_one_get_non_latin_css( $type = 'front-end' ) {
+
+       // Fetch site locale.
+       $locale = get_bloginfo( 'language' );
+
+       /**
+        * Filters the fallback fonts for non-latin languages.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param array $font_family An array of locales and font families.
+        */
+       $font_family = apply_filters(
+               'twenty_twenty_one_get_localized_font_family_types',
+               array(
+
+                       // Arabic.
+                       'ar'    => array( 'Tahoma', 'Arial', 'sans-serif' ),
+                       'ary'   => array( 'Tahoma', 'Arial', 'sans-serif' ),
+                       'azb'   => array( 'Tahoma', 'Arial', 'sans-serif' ),
+                       'ckb'   => array( 'Tahoma', 'Arial', 'sans-serif' ),
+                       'fa-IR' => array( 'Tahoma', 'Arial', 'sans-serif' ),
+                       'haz'   => array( 'Tahoma', 'Arial', 'sans-serif' ),
+                       'ps'    => array( 'Tahoma', 'Arial', 'sans-serif' ),
+
+                       // Chinese Simplified (China) - Noto Sans SC.
+                       'zh-CN' => array( '\'PingFang SC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ),
+
+                       // Chinese Traditional (Taiwan) - Noto Sans TC.
+                       'zh-TW' => array( '\'PingFang TC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ),
+
+                       // Chinese (Hong Kong) - Noto Sans HK.
+                       'zh-HK' => array( '\'PingFang HK\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ),
+
+                       // Cyrillic.
+                       'bel'   => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'bg-BG' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'kk'    => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'mk-MK' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'mn'    => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'ru-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'sah'   => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'sr-RS' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'tt-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+                       'uk'    => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
+
+                       // Devanagari.
+                       'bn-BD' => array( 'Arial', 'sans-serif' ),
+                       'hi-IN' => array( 'Arial', 'sans-serif' ),
+                       'mr'    => array( 'Arial', 'sans-serif' ),
+                       'ne-NP' => array( 'Arial', 'sans-serif' ),
+
+                       // Greek.
+                       'el'    => array( '\'Helvetica Neue\', Helvetica, Arial, sans-serif' ),
+
+                       // Gujarati.
+                       'gu'    => array( 'Arial', 'sans-serif' ),
+
+                       // Hebrew.
+                       'he-IL' => array( '\'Arial Hebrew\'', 'Arial', 'sans-serif' ),
+
+                       // Japanese.
+                       'ja'    => array( 'sans-serif' ),
+
+                       // Korean.
+                       'ko-KR' => array( '\'Apple SD Gothic Neo\'', '\'Malgun Gothic\'', '\'Nanum Gothic\'', 'Dotum', 'sans-serif' ),
+
+                       // Thai.
+                       'th'    => array( '\'Sukhumvit Set\'', '\'Helvetica Neue\'', 'Helvetica', 'Arial', 'sans-serif' ),
+
+                       // Vietnamese.
+                       'vi'    => array( '\'Libre Franklin\'', 'sans-serif' ),
+
+               )
+       );
+
+       // Return if the selected language has no fallback fonts.
+       if ( empty( $font_family[ $locale ] ) ) {
+               return '';
+       }
+
+       /**
+        * Filters the elements to apply fallback fonts to.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @param array $elements An array of elements for "front-end", "block-editor", or "classic-editor".
+        */
+       $elements = apply_filters(
+               'twenty_twenty_one_get_localized_font_family_elements',
+               array(
+                       'front-end'      => array( 'body', 'input', 'textarea', 'button', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file__button', '.has-drop-cap:not(:focus)::first-letter', '.entry-content .wp-block-archives', '.entry-content .wp-block-categories', '.entry-content .wp-block-cover-image', '.entry-content .wp-block-latest-comments', '.entry-content .wp-block-latest-posts', '.entry-content .wp-block-pullquote', '.entry-content .wp-block-quote.is-large', '.entry-content .wp-block-quote.is-style-large', '.entry-content .wp-block-archives *', '.entry-content .wp-block-categories *', '.entry-content .wp-block-latest-posts *', '.entry-content .wp-block-latest-comments *', '.entry-content p', '.entry-content ol', '.entry-content ul', '.entry-content dl', '.entry-content dt', '.entry-content cite', '.entry-content figcaption', '.entry-content .wp-caption-text', '.comment-content p', '.comment-content ol', '.comment-content ul', '.comment-content dl', '.comment-content dt', '.comment-content cite', '.comment-content figcaption', '.comment-content .wp-caption-text', '.widget_text p', '.widget_text ol', '.widget_text ul', '.widget_text dl', '.widget_text dt', '.widget-content .rssSummary', '.widget-content cite', '.widget-content figcaption', '.widget-content .wp-caption-text' ),
+                       'block-editor'   => array( '.editor-styles-wrapper > *', '.editor-styles-wrapper p', '.editor-styles-wrapper ol', '.editor-styles-wrapper ul', '.editor-styles-wrapper dl', '.editor-styles-wrapper dt', '.editor-post-title__block .editor-post-title__input', '.editor-styles-wrapper .wp-block h1', '.editor-styles-wrapper .wp-block h2', '.editor-styles-wrapper .wp-block h3', '.editor-styles-wrapper .wp-block h4', '.editor-styles-wrapper .wp-block h5', '.editor-styles-wrapper .wp-block h6', '.editor-styles-wrapper .has-drop-cap:not(:focus)::first-letter', '.editor-styles-wrapper cite', '.editor-styles-wrapper figcaption', '.editor-styles-wrapper .wp-caption-text' ),
+                       'classic-editor' => array( 'body#tinymce.wp-editor', 'body#tinymce.wp-editor p', 'body#tinymce.wp-editor ol', 'body#tinymce.wp-editor ul', 'body#tinymce.wp-editor dl', 'body#tinymce.wp-editor dt', 'body#tinymce.wp-editor figcaption', 'body#tinymce.wp-editor .wp-caption-text', 'body#tinymce.wp-editor .wp-caption-dd', 'body#tinymce.wp-editor cite', 'body#tinymce.wp-editor table' ),
+               )
+       );
+
+       // Return if the specified type doesn't exist.
+       if ( empty( $elements[ $type ] ) ) {
+               return '';
+       }
+
+       // Include file if function doesn't exist.
+       if ( ! function_exists( 'twenty_twenty_one_generate_css' ) ) {
+               require_once get_theme_file_path( 'inc/custom-css.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
+       }
+
+       // Return the specified styles.
+       return twenty_twenty_one_generate_css( // @phpstan-ignore-line.
+               implode( ',', $elements[ $type ] ),
+               'font-family',
+               implode( ',', $font_family[ $locale ] ),
+               null,
+               null,
+               false
+       );
+}
+
+/**
+ * Print the first instance of a block in the content, and then break away.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string      $block_name The full block type name, or a partial match.
+ *                                Example: `core/image`, `core-embed/*`.
+ * @param string|null $content    The content to search in. Use null for get_the_content().
+ * @param int         $instances  How many instances of the block will be printed (max). Default  1.
+ * @return bool Returns true if a block was located & printed, otherwise false.
+ */
+function twenty_twenty_one_print_first_instance_of_block( $block_name, $content = null, $instances = 1 ) {
+       $instances_count = 0;
+       $blocks_content  = '';
+
+       if ( ! $content ) {
+               $content = get_the_content();
+       }
+
+       // Parse blocks in the content.
+       $blocks = parse_blocks( $content );
+
+       // Loop blocks.
+       foreach ( $blocks as $block ) {
+
+               // Sanity check.
+               if ( ! isset( $block['blockName'] ) ) {
+                       continue;
+               }
+
+               // Check if this the block matches the $block_name.
+               $is_matching_block = false;
+
+               // If the block ends with *, try to match the first portion.
+               if ( '*' === $block_name[-1] ) {
+                       $is_matching_block = 0 === strpos( $block['blockName'], rtrim( $block_name, '*' ) );
+               } else {
+                       $is_matching_block = $block_name === $block['blockName'];
+               }
+
+               if ( $is_matching_block ) {
+                       // Increment count.
+                       $instances_count++;
+
+                       // Add the block HTML.
+                       $blocks_content .= render_block( $block );
+
+                       // Break the loop if the $instances count was reached.
+                       if ( $instances_count >= $instances ) {
+                               break;
+                       }
+               }
+       }
+
+       if ( $blocks_content ) {
+               /** This filter is documented in wp-includes/post-template.php */
+               echo apply_filters( 'the_content', $blocks_content ); // phpcs:ignore WordPress.Security.EscapeOutput
+               return true;
+       }
+
+       return false;
+}
+
+/**
+ * Retrieve protected post password form content.
+ *
+ * @since Twenty Twenty-One 1.0
+ * @since Twenty Twenty-One 1.4 Corrected parameter name for `$output`,
+ *                              added the `$post` parameter.
+ *
+ * @param string      $output The password form HTML output.
+ * @param int|WP_Post $post   Optional. Post ID or WP_Post object. Default is global $post.
+ * @return string HTML content for password form for password protected post.
+ */
+function twenty_twenty_one_password_form( $output, $post = 0 ) {
+       $post   = get_post( $post );
+       $label  = 'pwbox-' . ( empty( $post->ID ) ? wp_rand() : $post->ID );
+       $output = '<p class="post-password-message">' . esc_html__( 'This content is password protected. Please enter a password to view.', 'twentytwentyone' ) . '</p>
+       <form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" class="post-password-form" method="post">
+       <label class="post-password-form__label" for="' . esc_attr( $label ) . '">' . esc_html_x( 'Password', 'Post password form', 'twentytwentyone' ) . '</label><input class="post-password-form__input" name="post_password" id="' . esc_attr( $label ) . '" type="password" spellcheck="false" size="20" /><input type="submit" class="post-password-form__submit" name="' . esc_attr_x( 'Submit', 'Post password form', 'twentytwentyone' ) . '" value="' . esc_attr_x( 'Enter', 'Post password form', 'twentytwentyone' ) . '" /></form>
+       ';
+       return $output;
+}
+add_filter( 'the_password_form', 'twenty_twenty_one_password_form', 10, 2 );
+
+/**
+ * Filters the list of attachment image attributes.
+ *
+ * @since Twenty Twenty-One 1.0
+ *
+ * @param string[]     $attr       Array of attribute values for the image markup, keyed by attribute name.
+ *                                 See wp_get_attachment_image().
+ * @param WP_Post      $attachment Image attachment post.
+ * @param string|int[] $size       Requested image size. Can be any registered image size name, or
+ *                                 an array of width and height values in pixels (in that order).
+ * @return string[] The filtered attributes for the image markup.
+ */
+function twenty_twenty_one_get_attachment_image_attributes( $attr, $attachment, $size ) {
+
+       if ( is_admin() ) {
+               return $attr;
+       }
+
+       if ( isset( $attr['class'] ) && false !== strpos( $attr['class'], 'custom-logo' ) ) {
+               return $attr;
+       }
+
+       $width  = false;
+       $height = false;
+
+       if ( is_array( $size ) ) {
+               $width  = (int) $size[0];
+               $height = (int) $size[1];
+       } elseif ( $attachment && is_object( $attachment ) && $attachment->ID ) {
+               $meta = wp_get_attachment_metadata( $attachment->ID );
+               if ( isset( $meta['width'] ) && isset( $meta['height'] ) ) {
+                       $width  = (int) $meta['width'];
+                       $height = (int) $meta['height'];
+               }
+       }
+
+       if ( $width && $height ) {
+
+               // Add style.
+               $attr['style'] = isset( $attr['style'] ) ? $attr['style'] : '';
+               $attr['style'] = 'width:100%;height:' . round( 100 * $height / $width, 2 ) . '%;max-width:' . $width . 'px;' . $attr['style'];
+       }
+
+       return $attr;
+}
+add_filter( 'wp_get_attachment_image_attributes', 'twenty_twenty_one_get_attachment_image_attributes', 10, 3 );
diff --git a/wp-content/themes/twentytwentyone/inc/template-tags.php b/wp-content/themes/twentytwentyone/inc/template-tags.php
new file mode 100644 (file)
index 0000000..fbd10bc
--- /dev/null
@@ -0,0 +1,253 @@
+<?php
+/**
+ * Custom template tags for this theme
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+if ( ! function_exists( 'twenty_twenty_one_posted_on' ) ) {
+       /**
+        * Prints HTML with meta information for the current post-date/time.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_posted_on() {
+               $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
+
+               $time_string = sprintf(
+                       $time_string,
+                       esc_attr( get_the_date( DATE_W3C ) ),
+                       esc_html( get_the_date() )
+               );
+               echo '<span class="posted-on">';
+               printf(
+                       /* translators: %s: Publish date. */
+                       esc_html__( 'Published %s', 'twentytwentyone' ),
+                       $time_string // phpcs:ignore WordPress.Security.EscapeOutput
+               );
+               echo '</span>';
+       }
+}
+
+if ( ! function_exists( 'twenty_twenty_one_posted_by' ) ) {
+       /**
+        * Prints HTML with meta information about theme author.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_posted_by() {
+               if ( ! get_the_author_meta( 'description' ) && post_type_supports( get_post_type(), 'author' ) ) {
+                       echo '<span class="byline">';
+                       printf(
+                               /* translators: %s: Author name. */
+                               esc_html__( 'By %s', 'twentytwentyone' ),
+                               '<a href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '" rel="author">' . esc_html( get_the_author() ) . '</a>'
+                       );
+                       echo '</span>';
+               }
+       }
+}
+
+if ( ! function_exists( 'twenty_twenty_one_entry_meta_footer' ) ) {
+       /**
+        * Prints HTML with meta information for the categories, tags and comments.
+        * Footer entry meta is displayed differently in archives and single posts.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_entry_meta_footer() {
+
+               // Early exit if not a post.
+               if ( 'post' !== get_post_type() ) {
+                       return;
+               }
+
+               // Hide meta information on pages.
+               if ( ! is_single() ) {
+
+                       if ( is_sticky() ) {
+                               echo '<p>' . esc_html_x( 'Featured post', 'Label for sticky posts', 'twentytwentyone' ) . '</p>';
+                       }
+
+                       $post_format = get_post_format();
+                       if ( 'aside' === $post_format || 'status' === $post_format ) {
+                               echo '<p><a href="' . esc_url( get_permalink() ) . '">' . twenty_twenty_one_continue_reading_text() . '</a></p>'; // phpcs:ignore WordPress.Security.EscapeOutput
+                       }
+
+                       // Posted on.
+                       twenty_twenty_one_posted_on();
+
+                       // Edit post link.
+                       edit_post_link(
+                               sprintf(
+                                       /* translators: %s: Post title. Only visible to screen readers. */
+                                       esc_html__( 'Edit %s', 'twentytwentyone' ),
+                                       '<span class="screen-reader-text">' . get_the_title() . '</span>'
+                               ),
+                               '<span class="edit-link">',
+                               '</span><br>'
+                       );
+
+                       if ( has_category() || has_tag() ) {
+
+                               echo '<div class="post-taxonomies">';
+
+                               $categories_list = get_the_category_list( wp_get_list_item_separator() );
+                               if ( $categories_list ) {
+                                       printf(
+                                               /* translators: %s: List of categories. */
+                                               '<span class="cat-links">' . esc_html__( 'Categorized as %s', 'twentytwentyone' ) . ' </span>',
+                                               $categories_list // phpcs:ignore WordPress.Security.EscapeOutput
+                                       );
+                               }
+
+                               $tags_list = get_the_tag_list( '', wp_get_list_item_separator() );
+                               if ( $tags_list ) {
+                                       printf(
+                                               /* translators: %s: List of tags. */
+                                               '<span class="tags-links">' . esc_html__( 'Tagged %s', 'twentytwentyone' ) . '</span>',
+                                               $tags_list // phpcs:ignore WordPress.Security.EscapeOutput
+                                       );
+                               }
+                               echo '</div>';
+                       }
+               } else {
+
+                       echo '<div class="posted-by">';
+                       // Posted on.
+                       twenty_twenty_one_posted_on();
+                       // Posted by.
+                       twenty_twenty_one_posted_by();
+                       // Edit post link.
+                       edit_post_link(
+                               sprintf(
+                                       /* translators: %s: Post title. Only visible to screen readers. */
+                                       esc_html__( 'Edit %s', 'twentytwentyone' ),
+                                       '<span class="screen-reader-text">' . get_the_title() . '</span>'
+                               ),
+                               '<span class="edit-link">',
+                               '</span>'
+                       );
+                       echo '</div>';
+
+                       if ( has_category() || has_tag() ) {
+
+                               echo '<div class="post-taxonomies">';
+
+                               $categories_list = get_the_category_list( wp_get_list_item_separator() );
+                               if ( $categories_list ) {
+                                       printf(
+                                               /* translators: %s: List of categories. */
+                                               '<span class="cat-links">' . esc_html__( 'Categorized as %s', 'twentytwentyone' ) . ' </span>',
+                                               $categories_list // phpcs:ignore WordPress.Security.EscapeOutput
+                                       );
+                               }
+
+                               $tags_list = get_the_tag_list( '', wp_get_list_item_separator() );
+                               if ( $tags_list ) {
+                                       printf(
+                                               /* translators: %s: List of tags. */
+                                               '<span class="tags-links">' . esc_html__( 'Tagged %s', 'twentytwentyone' ) . '</span>',
+                                               $tags_list // phpcs:ignore WordPress.Security.EscapeOutput
+                                       );
+                               }
+                               echo '</div>';
+                       }
+               }
+       }
+}
+
+if ( ! function_exists( 'twenty_twenty_one_post_thumbnail' ) ) {
+       /**
+        * Displays an optional post thumbnail.
+        *
+        * Wraps the post thumbnail in an anchor element on index views, or a div
+        * element when on single views.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_post_thumbnail() {
+               if ( ! twenty_twenty_one_can_show_post_thumbnail() ) {
+                       return;
+               }
+               ?>
+
+               <?php if ( is_singular() ) : ?>
+
+                       <figure class="post-thumbnail">
+                               <?php
+                               // Lazy-loading attributes should be skipped for thumbnails since they are immediately in the viewport.
+                               the_post_thumbnail( 'post-thumbnail', array( 'loading' => false ) );
+                               ?>
+                               <?php if ( wp_get_attachment_caption( get_post_thumbnail_id() ) ) : ?>
+                                       <figcaption class="wp-caption-text"><?php echo wp_kses_post( wp_get_attachment_caption( get_post_thumbnail_id() ) ); ?></figcaption>
+                               <?php endif; ?>
+                       </figure><!-- .post-thumbnail -->
+
+               <?php else : ?>
+
+                       <figure class="post-thumbnail">
+                               <a class="post-thumbnail-inner alignwide" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1">
+                                       <?php the_post_thumbnail( 'post-thumbnail' ); ?>
+                               </a>
+                               <?php if ( wp_get_attachment_caption( get_post_thumbnail_id() ) ) : ?>
+                                       <figcaption class="wp-caption-text"><?php echo wp_kses_post( wp_get_attachment_caption( get_post_thumbnail_id() ) ); ?></figcaption>
+                               <?php endif; ?>
+                       </figure><!-- .post-thumbnail -->
+
+               <?php endif; ?>
+               <?php
+       }
+}
+
+if ( ! function_exists( 'twenty_twenty_one_the_posts_navigation' ) ) {
+       /**
+        * Print the next and previous posts navigation.
+        *
+        * @since Twenty Twenty-One 1.0
+        *
+        * @return void
+        */
+       function twenty_twenty_one_the_posts_navigation() {
+               the_posts_pagination(
+                       array(
+                               'before_page_number' => esc_html__( 'Page', 'twentytwentyone' ) . ' ',
+                               'mid_size'           => 0,
+                               'prev_text'          => sprintf(
+                                       '%s <span class="nav-prev-text">%s</span>',
+                                       is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ),
+                                       wp_kses(
+                                               __( 'Newer <span class="nav-short">posts</span>', 'twentytwentyone' ),
+                                               array(
+                                                       'span' => array(
+                                                               'class' => array(),
+                                                       ),
+                                               )
+                                       )
+                               ),
+                               'next_text'          => sprintf(
+                                       '<span class="nav-next-text">%s</span> %s',
+                                       wp_kses(
+                                               __( 'Older <span class="nav-short">posts</span>', 'twentytwentyone' ),
+                                               array(
+                                                       'span' => array(
+                                                               'class' => array(),
+                                                       ),
+                                               )
+                                       ),
+                                       is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' )
+                               ),
+                       )
+               );
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/index.php b/wp-content/themes/twentytwentyone/index.php
new file mode 100644 (file)
index 0000000..4f37496
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * The main template file
+ *
+ * This is the most generic template file in a WordPress theme
+ * and one of the two required files for a theme (the other being style.css).
+ * It is used to display a page when nothing more specific matches a query.
+ * E.g., it puts together the home page when no home.php file exists.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header(); ?>
+
+<?php if ( is_home() && ! is_front_page() && ! empty( single_post_title( '', false ) ) ) : ?>
+       <header class="page-header alignwide">
+               <h1 class="page-title"><?php single_post_title(); ?></h1>
+       </header><!-- .page-header -->
+<?php endif; ?>
+
+<?php
+if ( have_posts() ) {
+
+       // Load posts loop.
+       while ( have_posts() ) {
+               the_post();
+
+               get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
+       }
+
+       // Previous/next page navigation.
+       twenty_twenty_one_the_posts_navigation();
+
+} else {
+
+       // If no content, include the "No posts found" template.
+       get_template_part( 'template-parts/content/content-none' );
+
+}
+
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/package-lock.json b/wp-content/themes/twentytwentyone/package-lock.json
new file mode 100644 (file)
index 0000000..47733f2
--- /dev/null
@@ -0,0 +1,6636 @@
+{
+       "name": "twentytwentyone",
+       "version": "1.8.0",
+       "lockfileVersion": 1,
+       "requires": true,
+       "dependencies": {
+               "@ampproject/remapping": {
+                       "version": "2.2.0",
+                       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+                       "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+                       "dev": true,
+                       "requires": {
+                               "@jridgewell/gen-mapping": "^0.1.0",
+                               "@jridgewell/trace-mapping": "^0.3.9"
+                       }
+               },
+               "@babel/code-frame": {
+                       "version": "7.12.13",
+                       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
+                       "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/highlight": "^7.12.13"
+                       }
+               },
+               "@babel/compat-data": {
+                       "version": "7.19.1",
+                       "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz",
+                       "integrity": "sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg==",
+                       "dev": true
+               },
+               "@babel/core": {
+                       "version": "7.19.1",
+                       "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz",
+                       "integrity": "sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw==",
+                       "dev": true,
+                       "requires": {
+                               "@ampproject/remapping": "^2.1.0",
+                               "@babel/code-frame": "^7.18.6",
+                               "@babel/generator": "^7.19.0",
+                               "@babel/helper-compilation-targets": "^7.19.1",
+                               "@babel/helper-module-transforms": "^7.19.0",
+                               "@babel/helpers": "^7.19.0",
+                               "@babel/parser": "^7.19.1",
+                               "@babel/template": "^7.18.10",
+                               "@babel/traverse": "^7.19.1",
+                               "@babel/types": "^7.19.0",
+                               "convert-source-map": "^1.7.0",
+                               "debug": "^4.1.0",
+                               "gensync": "^1.0.0-beta.2",
+                               "json5": "^2.2.1",
+                               "semver": "^6.3.0"
+                       },
+                       "dependencies": {
+                               "@babel/code-frame": {
+                                       "version": "7.18.6",
+                                       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+                                       "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@babel/highlight": "^7.18.6"
+                                       }
+                               },
+                               "@babel/helper-validator-identifier": {
+                                       "version": "7.19.1",
+                                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+                                       "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+                                       "dev": true
+                               },
+                               "@babel/highlight": {
+                                       "version": "7.18.6",
+                                       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+                                       "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@babel/helper-validator-identifier": "^7.18.6",
+                                               "chalk": "^2.0.0",
+                                               "js-tokens": "^4.0.0"
+                                       }
+                               },
+                               "json5": {
+                                       "version": "2.2.3",
+                                       "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+                                       "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+                                       "dev": true
+                               },
+                               "semver": {
+                                       "version": "6.3.0",
+                                       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+                                       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@babel/eslint-parser": {
+                       "version": "7.17.0",
+                       "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz",
+                       "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==",
+                       "dev": true,
+                       "requires": {
+                               "eslint-scope": "^5.1.1",
+                               "eslint-visitor-keys": "^2.1.0",
+                               "semver": "^6.3.0"
+                       },
+                       "dependencies": {
+                               "semver": {
+                                       "version": "6.3.0",
+                                       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+                                       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@babel/generator": {
+                       "version": "7.19.0",
+                       "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz",
+                       "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/types": "^7.19.0",
+                               "@jridgewell/gen-mapping": "^0.3.2",
+                               "jsesc": "^2.5.1"
+                       },
+                       "dependencies": {
+                               "@jridgewell/gen-mapping": {
+                                       "version": "0.3.2",
+                                       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+                                       "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@jridgewell/set-array": "^1.0.1",
+                                               "@jridgewell/sourcemap-codec": "^1.4.10",
+                                               "@jridgewell/trace-mapping": "^0.3.9"
+                                       }
+                               }
+                       }
+               },
+               "@babel/helper-compilation-targets": {
+                       "version": "7.19.1",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz",
+                       "integrity": "sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/compat-data": "^7.19.1",
+                               "@babel/helper-validator-option": "^7.18.6",
+                               "browserslist": "^4.21.3",
+                               "semver": "^6.3.0"
+                       },
+                       "dependencies": {
+                               "browserslist": {
+                                       "version": "4.21.4",
+                                       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+                                       "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "caniuse-lite": "^1.0.30001400",
+                                               "electron-to-chromium": "^1.4.251",
+                                               "node-releases": "^2.0.6",
+                                               "update-browserslist-db": "^1.0.9"
+                                       }
+                               },
+                               "caniuse-lite": {
+                                       "version": "1.0.30001410",
+                                       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz",
+                                       "integrity": "sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==",
+                                       "dev": true
+                               },
+                               "electron-to-chromium": {
+                                       "version": "1.4.258",
+                                       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.258.tgz",
+                                       "integrity": "sha512-vutF4q0dTUXoAFI7Vbtdwen/BJVwPgj8GRg/SElOodfH7VTX+svUe62A5BG41QRQGk5HsZPB0M++KH1lAlOt0A==",
+                                       "dev": true
+                               },
+                               "node-releases": {
+                                       "version": "2.0.6",
+                                       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+                                       "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
+                                       "dev": true
+                               },
+                               "semver": {
+                                       "version": "6.3.0",
+                                       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+                                       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@babel/helper-environment-visitor": {
+                       "version": "7.18.9",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+                       "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+                       "dev": true
+               },
+               "@babel/helper-function-name": {
+                       "version": "7.19.0",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+                       "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/template": "^7.18.10",
+                               "@babel/types": "^7.19.0"
+                       }
+               },
+               "@babel/helper-hoist-variables": {
+                       "version": "7.18.6",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+                       "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/types": "^7.18.6"
+                       }
+               },
+               "@babel/helper-module-imports": {
+                       "version": "7.18.6",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+                       "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/types": "^7.18.6"
+                       }
+               },
+               "@babel/helper-module-transforms": {
+                       "version": "7.19.0",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
+                       "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/helper-environment-visitor": "^7.18.9",
+                               "@babel/helper-module-imports": "^7.18.6",
+                               "@babel/helper-simple-access": "^7.18.6",
+                               "@babel/helper-split-export-declaration": "^7.18.6",
+                               "@babel/helper-validator-identifier": "^7.18.6",
+                               "@babel/template": "^7.18.10",
+                               "@babel/traverse": "^7.19.0",
+                               "@babel/types": "^7.19.0"
+                       },
+                       "dependencies": {
+                               "@babel/helper-validator-identifier": {
+                                       "version": "7.19.1",
+                                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+                                       "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@babel/helper-simple-access": {
+                       "version": "7.18.6",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
+                       "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/types": "^7.18.6"
+                       }
+               },
+               "@babel/helper-split-export-declaration": {
+                       "version": "7.18.6",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+                       "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/types": "^7.18.6"
+                       }
+               },
+               "@babel/helper-string-parser": {
+                       "version": "7.18.10",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
+                       "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
+                       "dev": true
+               },
+               "@babel/helper-validator-identifier": {
+                       "version": "7.12.11",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+                       "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
+                       "dev": true
+               },
+               "@babel/helper-validator-option": {
+                       "version": "7.18.6",
+                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+                       "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+                       "dev": true
+               },
+               "@babel/helpers": {
+                       "version": "7.19.0",
+                       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz",
+                       "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/template": "^7.18.10",
+                               "@babel/traverse": "^7.19.0",
+                               "@babel/types": "^7.19.0"
+                       }
+               },
+               "@babel/highlight": {
+                       "version": "7.13.10",
+                       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
+                       "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/helper-validator-identifier": "^7.12.11",
+                               "chalk": "^2.0.0",
+                               "js-tokens": "^4.0.0"
+                       }
+               },
+               "@babel/parser": {
+                       "version": "7.19.1",
+                       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.1.tgz",
+                       "integrity": "sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A==",
+                       "dev": true
+               },
+               "@babel/runtime": {
+                       "version": "7.17.9",
+                       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
+                       "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
+                       "dev": true,
+                       "requires": {
+                               "regenerator-runtime": "^0.13.4"
+                       }
+               },
+               "@babel/runtime-corejs3": {
+                       "version": "7.17.9",
+                       "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.9.tgz",
+                       "integrity": "sha512-WxYHHUWF2uZ7Hp1K+D1xQgbgkGUfA+5UPOegEXGt2Y5SMog/rYCVaifLZDbw8UkNXozEqqrZTy6bglL7xTaCOw==",
+                       "dev": true,
+                       "requires": {
+                               "core-js-pure": "^3.20.2",
+                               "regenerator-runtime": "^0.13.4"
+                       }
+               },
+               "@babel/template": {
+                       "version": "7.18.10",
+                       "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+                       "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/code-frame": "^7.18.6",
+                               "@babel/parser": "^7.18.10",
+                               "@babel/types": "^7.18.10"
+                       },
+                       "dependencies": {
+                               "@babel/code-frame": {
+                                       "version": "7.18.6",
+                                       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+                                       "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@babel/highlight": "^7.18.6"
+                                       }
+                               },
+                               "@babel/helper-validator-identifier": {
+                                       "version": "7.19.1",
+                                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+                                       "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+                                       "dev": true
+                               },
+                               "@babel/highlight": {
+                                       "version": "7.18.6",
+                                       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+                                       "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@babel/helper-validator-identifier": "^7.18.6",
+                                               "chalk": "^2.0.0",
+                                               "js-tokens": "^4.0.0"
+                                       }
+                               }
+                       }
+               },
+               "@babel/traverse": {
+                       "version": "7.19.1",
+                       "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.1.tgz",
+                       "integrity": "sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/code-frame": "^7.18.6",
+                               "@babel/generator": "^7.19.0",
+                               "@babel/helper-environment-visitor": "^7.18.9",
+                               "@babel/helper-function-name": "^7.19.0",
+                               "@babel/helper-hoist-variables": "^7.18.6",
+                               "@babel/helper-split-export-declaration": "^7.18.6",
+                               "@babel/parser": "^7.19.1",
+                               "@babel/types": "^7.19.0",
+                               "debug": "^4.1.0",
+                               "globals": "^11.1.0"
+                       },
+                       "dependencies": {
+                               "@babel/code-frame": {
+                                       "version": "7.18.6",
+                                       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+                                       "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@babel/highlight": "^7.18.6"
+                                       }
+                               },
+                               "@babel/helper-validator-identifier": {
+                                       "version": "7.19.1",
+                                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+                                       "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+                                       "dev": true
+                               },
+                               "@babel/highlight": {
+                                       "version": "7.18.6",
+                                       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+                                       "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@babel/helper-validator-identifier": "^7.18.6",
+                                               "chalk": "^2.0.0",
+                                               "js-tokens": "^4.0.0"
+                                       }
+                               },
+                               "globals": {
+                                       "version": "11.12.0",
+                                       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+                                       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@babel/types": {
+                       "version": "7.19.0",
+                       "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
+                       "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/helper-string-parser": "^7.18.10",
+                               "@babel/helper-validator-identifier": "^7.18.6",
+                               "to-fast-properties": "^2.0.0"
+                       },
+                       "dependencies": {
+                               "@babel/helper-validator-identifier": {
+                                       "version": "7.19.1",
+                                       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+                                       "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@csstools/cascade-layer-name-parser": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.1.tgz",
+                       "integrity": "sha512-SAAi5DpgJJWkfTvWSaqkgyIsTawa83hMwKrktkj6ra2h+q6ZN57vOGZ6ySHq6RSo+CbP64fA3aPChPBRDDUgtw==",
+                       "dev": true
+               },
+               "@csstools/css-parser-algorithms": {
+                       "version": "2.0.1",
+                       "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.0.1.tgz",
+                       "integrity": "sha512-B9/8PmOtU6nBiibJg0glnNktQDZ3rZnGn/7UmDfrm2vMtrdlXO3p7ErE95N0up80IRk9YEtB5jyj/TmQ1WH3dw==",
+                       "dev": true
+               },
+               "@csstools/css-tokenizer": {
+                       "version": "2.0.1",
+                       "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.0.1.tgz",
+                       "integrity": "sha512-sYD3H7ReR88S/4+V5VbKiBEUJF4FqvG+8aNJkxqoPAnbhFziDG22IDZc4+h+xA63SfgM+h15lq5OnLeCxQ9nPA==",
+                       "dev": true
+               },
+               "@csstools/media-query-list-parser": {
+                       "version": "2.0.1",
+                       "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.0.1.tgz",
+                       "integrity": "sha512-X2/OuzEbjaxhzm97UJ+95GrMeT29d1Ib+Pu+paGLuRWZnWRK9sI9r3ikmKXPWGA1C4y4JEdBEFpp9jEqCvLeRA==",
+                       "dev": true
+               },
+               "@es-joy/jsdoccomment": {
+                       "version": "0.10.8",
+                       "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz",
+                       "integrity": "sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ==",
+                       "dev": true,
+                       "requires": {
+                               "comment-parser": "1.2.4",
+                               "esquery": "^1.4.0",
+                               "jsdoc-type-pratt-parser": "1.1.1"
+                       },
+                       "dependencies": {
+                               "jsdoc-type-pratt-parser": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz",
+                                       "integrity": "sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@eslint/eslintrc": {
+                       "version": "1.4.1",
+                       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
+                       "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
+                       "dev": true,
+                       "requires": {
+                               "ajv": "^6.12.4",
+                               "debug": "^4.3.2",
+                               "espree": "^9.4.0",
+                               "globals": "^13.19.0",
+                               "ignore": "^5.2.0",
+                               "import-fresh": "^3.2.1",
+                               "js-yaml": "^4.1.0",
+                               "minimatch": "^3.1.2",
+                               "strip-json-comments": "^3.1.1"
+                       },
+                       "dependencies": {
+                               "debug": {
+                                       "version": "4.3.4",
+                                       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+                                       "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ms": "2.1.2"
+                                       }
+                               },
+                               "globals": {
+                                       "version": "13.20.0",
+                                       "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+                                       "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "type-fest": "^0.20.2"
+                                       }
+                               },
+                               "ignore": {
+                                       "version": "5.2.4",
+                                       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+                                       "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+                                       "dev": true
+                               },
+                               "minimatch": {
+                                       "version": "3.1.2",
+                                       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+                                       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "brace-expansion": "^1.1.7"
+                                       }
+                               },
+                               "type-fest": {
+                                       "version": "0.20.2",
+                                       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+                                       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@humanwhocodes/config-array": {
+                       "version": "0.11.8",
+                       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+                       "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+                       "dev": true,
+                       "requires": {
+                               "@humanwhocodes/object-schema": "^1.2.1",
+                               "debug": "^4.1.1",
+                               "minimatch": "^3.0.5"
+                       },
+                       "dependencies": {
+                               "minimatch": {
+                                       "version": "3.1.2",
+                                       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+                                       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "brace-expansion": "^1.1.7"
+                                       }
+                               }
+                       }
+               },
+               "@humanwhocodes/module-importer": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+                       "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+                       "dev": true
+               },
+               "@humanwhocodes/object-schema": {
+                       "version": "1.2.1",
+                       "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+                       "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+                       "dev": true
+               },
+               "@jridgewell/gen-mapping": {
+                       "version": "0.1.1",
+                       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+                       "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+                       "dev": true,
+                       "requires": {
+                               "@jridgewell/set-array": "^1.0.0",
+                               "@jridgewell/sourcemap-codec": "^1.4.10"
+                       }
+               },
+               "@jridgewell/resolve-uri": {
+                       "version": "3.1.0",
+                       "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+                       "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+                       "dev": true
+               },
+               "@jridgewell/set-array": {
+                       "version": "1.1.2",
+                       "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+                       "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+                       "dev": true
+               },
+               "@jridgewell/sourcemap-codec": {
+                       "version": "1.4.14",
+                       "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+                       "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+                       "dev": true
+               },
+               "@jridgewell/trace-mapping": {
+                       "version": "0.3.15",
+                       "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
+                       "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
+                       "dev": true,
+                       "requires": {
+                               "@jridgewell/resolve-uri": "^3.0.3",
+                               "@jridgewell/sourcemap-codec": "^1.4.10"
+                       }
+               },
+               "@nodelib/fs.scandir": {
+                       "version": "2.1.4",
+                       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
+                       "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
+                       "dev": true,
+                       "requires": {
+                               "@nodelib/fs.stat": "2.0.4",
+                               "run-parallel": "^1.1.9"
+                       }
+               },
+               "@nodelib/fs.stat": {
+                       "version": "2.0.4",
+                       "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+                       "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+                       "dev": true
+               },
+               "@nodelib/fs.walk": {
+                       "version": "1.2.6",
+                       "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
+                       "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+                       "dev": true,
+                       "requires": {
+                               "@nodelib/fs.scandir": "2.1.4",
+                               "fastq": "^1.6.0"
+                       }
+               },
+               "@stylelint/postcss-css-in-js": {
+                       "version": "0.37.3",
+                       "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz",
+                       "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/core": "^7.17.9"
+                       }
+               },
+               "@stylelint/postcss-markdown": {
+                       "version": "0.36.2",
+                       "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz",
+                       "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==",
+                       "dev": true,
+                       "requires": {
+                               "remark": "^13.0.0",
+                               "unist-util-find-all-after": "^3.0.2"
+                       }
+               },
+               "@types/json-schema": {
+                       "version": "7.0.11",
+                       "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+                       "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
+                       "dev": true
+               },
+               "@types/json5": {
+                       "version": "0.0.29",
+                       "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+                       "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+                       "dev": true
+               },
+               "@types/mdast": {
+                       "version": "3.0.10",
+                       "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
+                       "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
+                       "dev": true,
+                       "requires": {
+                               "@types/unist": "*"
+                       }
+               },
+               "@types/minimist": {
+                       "version": "1.2.2",
+                       "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
+                       "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
+                       "dev": true
+               },
+               "@types/normalize-package-data": {
+                       "version": "2.4.1",
+                       "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
+                       "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+                       "dev": true
+               },
+               "@types/parse-json": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+                       "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+                       "dev": true
+               },
+               "@types/unist": {
+                       "version": "2.0.6",
+                       "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
+                       "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==",
+                       "dev": true
+               },
+               "@typescript-eslint/eslint-plugin": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz",
+                       "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==",
+                       "dev": true,
+                       "requires": {
+                               "@typescript-eslint/experimental-utils": "4.33.0",
+                               "@typescript-eslint/scope-manager": "4.33.0",
+                               "debug": "^4.3.1",
+                               "functional-red-black-tree": "^1.0.1",
+                               "ignore": "^5.1.8",
+                               "regexpp": "^3.1.0",
+                               "semver": "^7.3.5",
+                               "tsutils": "^3.21.0"
+                       }
+               },
+               "@typescript-eslint/experimental-utils": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz",
+                       "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==",
+                       "dev": true,
+                       "requires": {
+                               "@types/json-schema": "^7.0.7",
+                               "@typescript-eslint/scope-manager": "4.33.0",
+                               "@typescript-eslint/types": "4.33.0",
+                               "@typescript-eslint/typescript-estree": "4.33.0",
+                               "eslint-scope": "^5.1.1",
+                               "eslint-utils": "^3.0.0"
+                       }
+               },
+               "@typescript-eslint/parser": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz",
+                       "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==",
+                       "dev": true,
+                       "requires": {
+                               "@typescript-eslint/scope-manager": "4.33.0",
+                               "@typescript-eslint/types": "4.33.0",
+                               "@typescript-eslint/typescript-estree": "4.33.0",
+                               "debug": "^4.3.1"
+                       }
+               },
+               "@typescript-eslint/scope-manager": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz",
+                       "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==",
+                       "dev": true,
+                       "requires": {
+                               "@typescript-eslint/types": "4.33.0",
+                               "@typescript-eslint/visitor-keys": "4.33.0"
+                       }
+               },
+               "@typescript-eslint/types": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz",
+                       "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==",
+                       "dev": true
+               },
+               "@typescript-eslint/typescript-estree": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz",
+                       "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==",
+                       "dev": true,
+                       "requires": {
+                               "@typescript-eslint/types": "4.33.0",
+                               "@typescript-eslint/visitor-keys": "4.33.0",
+                               "debug": "^4.3.1",
+                               "globby": "^11.0.3",
+                               "is-glob": "^4.0.1",
+                               "semver": "^7.3.5",
+                               "tsutils": "^3.21.0"
+                       }
+               },
+               "@typescript-eslint/visitor-keys": {
+                       "version": "4.33.0",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz",
+                       "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==",
+                       "dev": true,
+                       "requires": {
+                               "@typescript-eslint/types": "4.33.0",
+                               "eslint-visitor-keys": "^2.0.0"
+                       }
+               },
+               "@wordpress/browserslist-config": {
+                       "version": "5.9.0",
+                       "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.9.0.tgz",
+                       "integrity": "sha512-VC1QK741SRfrfsq2SdWHlkuDo7ZSXD7LFbK0dU6lOnuUt3f01HTU05NfcrC6uWCaoMP87MPDCQVaWTygNSFirQ==",
+                       "dev": true
+               },
+               "@wordpress/eslint-plugin": {
+                       "version": "9.3.0",
+                       "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-9.3.0.tgz",
+                       "integrity": "sha512-9F7B60gHAjiTIi9vBw5ZoH0MZW3UnmbuKols4kWpJVdgsvG4X1Wj6XXTLmQKrzh/Em7mD1CCIbCSyWknEzIOLw==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/eslint-parser": "^7.16.0",
+                               "@typescript-eslint/eslint-plugin": "^4.31.0",
+                               "@typescript-eslint/parser": "^4.31.0",
+                               "@wordpress/prettier-config": "^1.1.1",
+                               "cosmiconfig": "^7.0.0",
+                               "eslint-config-prettier": "^7.1.0",
+                               "eslint-plugin-import": "^2.25.2",
+                               "eslint-plugin-jest": "^24.1.3",
+                               "eslint-plugin-jsdoc": "^36.0.8",
+                               "eslint-plugin-jsx-a11y": "^6.4.1",
+                               "eslint-plugin-prettier": "^3.3.0",
+                               "eslint-plugin-react": "^7.22.0",
+                               "eslint-plugin-react-hooks": "^4.2.0",
+                               "globals": "^12.0.0",
+                               "prettier": "npm:wp-prettier@2.2.1-beta-1",
+                               "requireindex": "^1.2.0"
+                       },
+                       "dependencies": {
+                               "prettier": {
+                                       "version": "npm:wp-prettier@2.2.1-beta-1",
+                                       "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz",
+                                       "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "@wordpress/prettier-config": {
+                       "version": "1.2.0",
+                       "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-1.2.0.tgz",
+                       "integrity": "sha512-/hRr/p5rlSptjg82Mdy5rQ+mvW4GWCoKpe0FHC3oGy+E6SRcYfVGpnGCtmZa4TY69STD+eu59pCTl1J/EgUIUA==",
+                       "dev": true
+               },
+               "@wordpress/stylelint-config": {
+                       "version": "19.1.0",
+                       "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-19.1.0.tgz",
+                       "integrity": "sha512-K/wB9rhB+pH5WvDh3fV3DN5C3Bud+jPGXmnPY8fOXKMYI3twCFozK/j6sVuaJHqGp/0kKEF0hkkGh+HhD30KGQ==",
+                       "dev": true,
+                       "requires": {
+                               "stylelint-config-recommended": "^3.0.0",
+                               "stylelint-config-recommended-scss": "^4.2.0",
+                               "stylelint-scss": "^3.17.2"
+                       },
+                       "dependencies": {
+                               "stylelint-config-recommended-scss": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.3.0.tgz",
+                                       "integrity": "sha512-/noGjXlO8pJTr/Z3qGMoaRFK8n1BFfOqmAbX1RjTIcl4Yalr+LUb1zb9iQ7pRx1GsEBXOAm4g2z5/jou/pfMPg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "stylelint-config-recommended": "^5.0.0"
+                                       },
+                                       "dependencies": {
+                                               "stylelint-config-recommended": {
+                                                       "version": "5.0.0",
+                                                       "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz",
+                                                       "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==",
+                                                       "dev": true
+                                               }
+                                       }
+                               }
+                       }
+               },
+               "acorn": {
+                       "version": "8.8.2",
+                       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+                       "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+                       "dev": true
+               },
+               "acorn-jsx": {
+                       "version": "5.3.2",
+                       "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+                       "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+                       "dev": true
+               },
+               "ajv": {
+                       "version": "6.12.6",
+                       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+                       "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+                       "dev": true,
+                       "requires": {
+                               "fast-deep-equal": "^3.1.1",
+                               "fast-json-stable-stringify": "^2.0.0",
+                               "json-schema-traverse": "^0.4.1",
+                               "uri-js": "^4.2.2"
+                       }
+               },
+               "ansi-regex": {
+                       "version": "4.1.1",
+                       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+                       "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+                       "dev": true
+               },
+               "ansi-styles": {
+                       "version": "3.2.1",
+                       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+                       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+                       "dev": true,
+                       "requires": {
+                               "color-convert": "^1.9.0"
+                       }
+               },
+               "anymatch": {
+                       "version": "3.1.2",
+                       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+                       "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+                       "dev": true,
+                       "requires": {
+                               "normalize-path": "^3.0.0",
+                               "picomatch": "^2.0.4"
+                       }
+               },
+               "argparse": {
+                       "version": "2.0.1",
+                       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+                       "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+                       "dev": true
+               },
+               "aria-query": {
+                       "version": "4.2.2",
+                       "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
+                       "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/runtime": "^7.10.2",
+                               "@babel/runtime-corejs3": "^7.10.2"
+                       }
+               },
+               "array-includes": {
+                       "version": "3.1.4",
+                       "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
+                       "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.1",
+                               "get-intrinsic": "^1.1.1",
+                               "is-string": "^1.0.7"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       },
+                                       "dependencies": {
+                                               "has-symbols": {
+                                                       "version": "1.0.3",
+                                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "array-union": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+                       "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+                       "dev": true
+               },
+               "array.prototype.flat": {
+                       "version": "1.3.0",
+                       "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
+                       "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.2",
+                               "es-shim-unscopables": "^1.0.0"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       },
+                                       "dependencies": {
+                                               "has-symbols": {
+                                                       "version": "1.0.3",
+                                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "array.prototype.flatmap": {
+                       "version": "1.3.0",
+                       "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz",
+                       "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.2",
+                               "es-shim-unscopables": "^1.0.0"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       },
+                                       "dependencies": {
+                                               "has-symbols": {
+                                                       "version": "1.0.3",
+                                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "arrify": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+                       "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+                       "dev": true
+               },
+               "ast-types-flow": {
+                       "version": "0.0.7",
+                       "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
+                       "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
+                       "dev": true
+               },
+               "astral-regex": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+                       "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+                       "dev": true
+               },
+               "autoprefixer": {
+                       "version": "10.4.13",
+                       "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
+                       "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
+                       "dev": true,
+                       "requires": {
+                               "browserslist": "^4.21.4",
+                               "caniuse-lite": "^1.0.30001426",
+                               "fraction.js": "^4.2.0",
+                               "normalize-range": "^0.1.2",
+                               "picocolors": "^1.0.0",
+                               "postcss-value-parser": "^4.2.0"
+                       },
+                       "dependencies": {
+                               "browserslist": {
+                                       "version": "4.21.5",
+                                       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+                                       "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "caniuse-lite": "^1.0.30001449",
+                                               "electron-to-chromium": "^1.4.284",
+                                               "node-releases": "^2.0.8",
+                                               "update-browserslist-db": "^1.0.10"
+                                       }
+                               },
+                               "caniuse-lite": {
+                                       "version": "1.0.30001450",
+                                       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz",
+                                       "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==",
+                                       "dev": true
+                               },
+                               "electron-to-chromium": {
+                                       "version": "1.4.286",
+                                       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.286.tgz",
+                                       "integrity": "sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ==",
+                                       "dev": true
+                               },
+                               "node-releases": {
+                                       "version": "2.0.10",
+                                       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+                                       "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
+                                       "dev": true
+                               },
+                               "postcss-value-parser": {
+                                       "version": "4.2.0",
+                                       "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+                                       "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+                                       "dev": true
+                               },
+                               "update-browserslist-db": {
+                                       "version": "1.0.10",
+                                       "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+                                       "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "escalade": "^3.1.1",
+                                               "picocolors": "^1.0.0"
+                                       }
+                               }
+                       }
+               },
+               "axe-core": {
+                       "version": "4.4.1",
+                       "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz",
+                       "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==",
+                       "dev": true
+               },
+               "axobject-query": {
+                       "version": "2.2.0",
+                       "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
+                       "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
+                       "dev": true
+               },
+               "bail": {
+                       "version": "1.0.5",
+                       "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+                       "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
+                       "dev": true
+               },
+               "balanced-match": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+                       "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+                       "dev": true
+               },
+               "binary-extensions": {
+                       "version": "2.2.0",
+                       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+                       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+                       "dev": true
+               },
+               "brace-expansion": {
+                       "version": "1.1.11",
+                       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+                       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+                       "dev": true,
+                       "requires": {
+                               "balanced-match": "^1.0.0",
+                               "concat-map": "0.0.1"
+                       }
+               },
+               "braces": {
+                       "version": "3.0.2",
+                       "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+                       "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+                       "dev": true,
+                       "requires": {
+                               "fill-range": "^7.0.1"
+                       }
+               },
+               "browserslist": {
+                       "version": "4.16.6",
+                       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
+                       "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
+                       "dev": true,
+                       "requires": {
+                               "caniuse-lite": "^1.0.30001219",
+                               "colorette": "^1.2.2",
+                               "electron-to-chromium": "^1.3.723",
+                               "escalade": "^3.1.1",
+                               "node-releases": "^1.1.71"
+                       },
+                       "dependencies": {
+                               "caniuse-lite": {
+                                       "version": "1.0.30001235",
+                                       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz",
+                                       "integrity": "sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A==",
+                                       "dev": true
+                               },
+                               "colorette": {
+                                       "version": "1.2.2",
+                                       "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+                                       "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "call-bind": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
+                       "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+                       "dev": true,
+                       "requires": {
+                               "function-bind": "^1.1.1",
+                               "get-intrinsic": "^1.0.0"
+                       }
+               },
+               "callsites": {
+                       "version": "3.1.0",
+                       "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+                       "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+                       "dev": true
+               },
+               "camelcase": {
+                       "version": "5.3.1",
+                       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+                       "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+                       "dev": true
+               },
+               "camelcase-keys": {
+                       "version": "6.2.2",
+                       "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+                       "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+                       "dev": true,
+                       "requires": {
+                               "camelcase": "^5.3.1",
+                               "map-obj": "^4.0.0",
+                               "quick-lru": "^4.0.1"
+                       }
+               },
+               "caniuse-api": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+                       "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+                       "dev": true,
+                       "requires": {
+                               "browserslist": "^4.0.0",
+                               "caniuse-lite": "^1.0.0",
+                               "lodash.memoize": "^4.1.2",
+                               "lodash.uniq": "^4.5.0"
+                       }
+               },
+               "caniuse-lite": {
+                       "version": "1.0.30001164",
+                       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz",
+                       "integrity": "sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg==",
+                       "dev": true
+               },
+               "chalk": {
+                       "version": "2.4.2",
+                       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+                       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+                       "dev": true,
+                       "requires": {
+                               "ansi-styles": "^3.2.1",
+                               "escape-string-regexp": "^1.0.5",
+                               "supports-color": "^5.3.0"
+                       }
+               },
+               "character-entities": {
+                       "version": "1.2.4",
+                       "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+                       "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
+                       "dev": true
+               },
+               "character-entities-legacy": {
+                       "version": "1.1.4",
+                       "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+                       "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
+                       "dev": true
+               },
+               "character-reference-invalid": {
+                       "version": "1.1.4",
+                       "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+                       "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
+                       "dev": true
+               },
+               "chokidar": {
+                       "version": "3.5.2",
+                       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
+                       "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+                       "dev": true,
+                       "requires": {
+                               "anymatch": "~3.1.2",
+                               "braces": "~3.0.2",
+                               "fsevents": "~2.3.2",
+                               "glob-parent": "~5.1.2",
+                               "is-binary-path": "~2.1.0",
+                               "is-glob": "~4.0.1",
+                               "normalize-path": "~3.0.0",
+                               "readdirp": "~3.6.0"
+                       }
+               },
+               "chokidar-cli": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-3.0.0.tgz",
+                       "integrity": "sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==",
+                       "dev": true,
+                       "requires": {
+                               "chokidar": "^3.5.2",
+                               "lodash.debounce": "^4.0.8",
+                               "lodash.throttle": "^4.1.1",
+                               "yargs": "^13.3.0"
+                       }
+               },
+               "cliui": {
+                       "version": "5.0.0",
+                       "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+                       "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+                       "dev": true,
+                       "requires": {
+                               "string-width": "^3.1.0",
+                               "strip-ansi": "^5.2.0",
+                               "wrap-ansi": "^5.1.0"
+                       }
+               },
+               "clone-regexp": {
+                       "version": "2.2.0",
+                       "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
+                       "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
+                       "dev": true,
+                       "requires": {
+                               "is-regexp": "^2.0.0"
+                       }
+               },
+               "color-convert": {
+                       "version": "1.9.3",
+                       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+                       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+                       "dev": true,
+                       "requires": {
+                               "color-name": "1.1.3"
+                       }
+               },
+               "color-name": {
+                       "version": "1.1.3",
+                       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+                       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+                       "dev": true
+               },
+               "comment-parser": {
+                       "version": "1.2.4",
+                       "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz",
+                       "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==",
+                       "dev": true
+               },
+               "concat-map": {
+                       "version": "0.0.1",
+                       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+                       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+                       "dev": true
+               },
+               "convert-source-map": {
+                       "version": "1.8.0",
+                       "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+                       "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+                       "dev": true,
+                       "requires": {
+                               "safe-buffer": "~5.1.1"
+                       }
+               },
+               "core-js-pure": {
+                       "version": "3.22.2",
+                       "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.2.tgz",
+                       "integrity": "sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==",
+                       "dev": true
+               },
+               "cosmiconfig": {
+                       "version": "7.0.0",
+                       "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+                       "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+                       "dev": true,
+                       "requires": {
+                               "@types/parse-json": "^4.0.0",
+                               "import-fresh": "^3.2.1",
+                               "parse-json": "^5.0.0",
+                               "path-type": "^4.0.0",
+                               "yaml": "^1.10.0"
+                       }
+               },
+               "cross-spawn": {
+                       "version": "7.0.3",
+                       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+                       "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+                       "dev": true,
+                       "requires": {
+                               "path-key": "^3.1.0",
+                               "shebang-command": "^2.0.0",
+                               "which": "^2.0.1"
+                       }
+               },
+               "cssesc": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+                       "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+                       "dev": true
+               },
+               "cssnano-utils": {
+                       "version": "3.1.0",
+                       "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
+                       "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
+                       "dev": true
+               },
+               "damerau-levenshtein": {
+                       "version": "1.0.8",
+                       "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
+                       "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
+                       "dev": true
+               },
+               "debug": {
+                       "version": "4.3.1",
+                       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+                       "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+                       "dev": true,
+                       "requires": {
+                               "ms": "2.1.2"
+                       }
+               },
+               "decamelize": {
+                       "version": "1.2.0",
+                       "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+                       "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+                       "dev": true
+               },
+               "decamelize-keys": {
+                       "version": "1.1.0",
+                       "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+                       "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==",
+                       "dev": true,
+                       "requires": {
+                               "decamelize": "^1.1.0",
+                               "map-obj": "^1.0.0"
+                       },
+                       "dependencies": {
+                               "map-obj": {
+                                       "version": "1.0.1",
+                                       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+                                       "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "deep-is": {
+                       "version": "0.1.4",
+                       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+                       "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+                       "dev": true
+               },
+               "define-properties": {
+                       "version": "1.1.3",
+                       "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+                       "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+                       "dev": true,
+                       "requires": {
+                               "object-keys": "^1.0.12"
+                       }
+               },
+               "dependency-graph": {
+                       "version": "0.11.0",
+                       "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
+                       "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
+                       "dev": true
+               },
+               "dir-glob": {
+                       "version": "3.0.1",
+                       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+                       "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+                       "dev": true,
+                       "requires": {
+                               "path-type": "^4.0.0"
+                       }
+               },
+               "doctrine": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+                       "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+                       "dev": true,
+                       "requires": {
+                               "esutils": "^2.0.2"
+                       }
+               },
+               "dom-serializer": {
+                       "version": "0.2.2",
+                       "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
+                       "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+                       "dev": true,
+                       "requires": {
+                               "domelementtype": "^2.0.1",
+                               "entities": "^2.0.0"
+                       },
+                       "dependencies": {
+                               "domelementtype": {
+                                       "version": "2.3.0",
+                                       "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+                                       "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+                                       "dev": true
+                               },
+                               "entities": {
+                                       "version": "2.2.0",
+                                       "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+                                       "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "domelementtype": {
+                       "version": "1.3.1",
+                       "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+                       "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+                       "dev": true
+               },
+               "domhandler": {
+                       "version": "2.4.2",
+                       "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+                       "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+                       "dev": true,
+                       "requires": {
+                               "domelementtype": "1"
+                       }
+               },
+               "domutils": {
+                       "version": "1.7.0",
+                       "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+                       "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+                       "dev": true,
+                       "requires": {
+                               "dom-serializer": "0",
+                               "domelementtype": "1"
+                       }
+               },
+               "electron-to-chromium": {
+                       "version": "1.3.749",
+                       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz",
+                       "integrity": "sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A==",
+                       "dev": true
+               },
+               "emoji-regex": {
+                       "version": "9.2.2",
+                       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+                       "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+                       "dev": true
+               },
+               "entities": {
+                       "version": "1.1.2",
+                       "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+                       "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+                       "dev": true
+               },
+               "error-ex": {
+                       "version": "1.3.2",
+                       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+                       "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+                       "dev": true,
+                       "requires": {
+                               "is-arrayish": "^0.2.1"
+                       }
+               },
+               "es-abstract": {
+                       "version": "1.18.0-next.1",
+                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+                       "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
+                       "dev": true,
+                       "requires": {
+                               "es-to-primitive": "^1.2.1",
+                               "function-bind": "^1.1.1",
+                               "has": "^1.0.3",
+                               "has-symbols": "^1.0.1",
+                               "is-callable": "^1.2.2",
+                               "is-negative-zero": "^2.0.0",
+                               "is-regex": "^1.1.1",
+                               "object-inspect": "^1.8.0",
+                               "object-keys": "^1.1.1",
+                               "object.assign": "^4.1.1",
+                               "string.prototype.trimend": "^1.0.1",
+                               "string.prototype.trimstart": "^1.0.1"
+                       }
+               },
+               "es-shim-unscopables": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
+                       "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+                       "dev": true,
+                       "requires": {
+                               "has": "^1.0.3"
+                       }
+               },
+               "es-to-primitive": {
+                       "version": "1.2.1",
+                       "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+                       "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+                       "dev": true,
+                       "requires": {
+                               "is-callable": "^1.1.4",
+                               "is-date-object": "^1.0.1",
+                               "is-symbol": "^1.0.2"
+                       }
+               },
+               "escalade": {
+                       "version": "3.1.1",
+                       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+                       "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+                       "dev": true
+               },
+               "escape-string-regexp": {
+                       "version": "1.0.5",
+                       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+                       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+                       "dev": true
+               },
+               "eslint": {
+                       "version": "8.33.0",
+                       "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz",
+                       "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==",
+                       "dev": true,
+                       "requires": {
+                               "@eslint/eslintrc": "^1.4.1",
+                               "@humanwhocodes/config-array": "^0.11.8",
+                               "@humanwhocodes/module-importer": "^1.0.1",
+                               "@nodelib/fs.walk": "^1.2.8",
+                               "ajv": "^6.10.0",
+                               "chalk": "^4.0.0",
+                               "cross-spawn": "^7.0.2",
+                               "debug": "^4.3.2",
+                               "doctrine": "^3.0.0",
+                               "escape-string-regexp": "^4.0.0",
+                               "eslint-scope": "^7.1.1",
+                               "eslint-utils": "^3.0.0",
+                               "eslint-visitor-keys": "^3.3.0",
+                               "espree": "^9.4.0",
+                               "esquery": "^1.4.0",
+                               "esutils": "^2.0.2",
+                               "fast-deep-equal": "^3.1.3",
+                               "file-entry-cache": "^6.0.1",
+                               "find-up": "^5.0.0",
+                               "glob-parent": "^6.0.2",
+                               "globals": "^13.19.0",
+                               "grapheme-splitter": "^1.0.4",
+                               "ignore": "^5.2.0",
+                               "import-fresh": "^3.0.0",
+                               "imurmurhash": "^0.1.4",
+                               "is-glob": "^4.0.0",
+                               "is-path-inside": "^3.0.3",
+                               "js-sdsl": "^4.1.4",
+                               "js-yaml": "^4.1.0",
+                               "json-stable-stringify-without-jsonify": "^1.0.1",
+                               "levn": "^0.4.1",
+                               "lodash.merge": "^4.6.2",
+                               "minimatch": "^3.1.2",
+                               "natural-compare": "^1.4.0",
+                               "optionator": "^0.9.1",
+                               "regexpp": "^3.2.0",
+                               "strip-ansi": "^6.0.1",
+                               "strip-json-comments": "^3.1.0",
+                               "text-table": "^0.2.0"
+                       },
+                       "dependencies": {
+                               "@nodelib/fs.scandir": {
+                                       "version": "2.1.5",
+                                       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+                                       "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@nodelib/fs.stat": "2.0.5",
+                                               "run-parallel": "^1.1.9"
+                                       }
+                               },
+                               "@nodelib/fs.stat": {
+                                       "version": "2.0.5",
+                                       "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+                                       "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+                                       "dev": true
+                               },
+                               "@nodelib/fs.walk": {
+                                       "version": "1.2.8",
+                                       "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+                                       "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@nodelib/fs.scandir": "2.1.5",
+                                               "fastq": "^1.6.0"
+                                       }
+                               },
+                               "ansi-regex": {
+                                       "version": "5.0.1",
+                                       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+                                       "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+                                       "dev": true
+                               },
+                               "ansi-styles": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+                                       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-convert": "^2.0.1"
+                                       }
+                               },
+                               "chalk": {
+                                       "version": "4.1.2",
+                                       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+                                       "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-styles": "^4.1.0",
+                                               "supports-color": "^7.1.0"
+                                       }
+                               },
+                               "color-convert": {
+                                       "version": "2.0.1",
+                                       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+                                       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-name": "~1.1.4"
+                                       }
+                               },
+                               "color-name": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+                                       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+                                       "dev": true
+                               },
+                               "debug": {
+                                       "version": "4.3.4",
+                                       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+                                       "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ms": "2.1.2"
+                                       }
+                               },
+                               "doctrine": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+                                       "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "esutils": "^2.0.2"
+                                       }
+                               },
+                               "escape-string-regexp": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+                                       "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+                                       "dev": true
+                               },
+                               "eslint-scope": {
+                                       "version": "7.1.1",
+                                       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+                                       "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "esrecurse": "^4.3.0",
+                                               "estraverse": "^5.2.0"
+                                       }
+                               },
+                               "eslint-visitor-keys": {
+                                       "version": "3.3.0",
+                                       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+                                       "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+                                       "dev": true
+                               },
+                               "estraverse": {
+                                       "version": "5.3.0",
+                                       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+                                       "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+                                       "dev": true
+                               },
+                               "find-up": {
+                                       "version": "5.0.0",
+                                       "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+                                       "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+                                       "dev": true,
+                                       "requires": {
+                                               "locate-path": "^6.0.0",
+                                               "path-exists": "^4.0.0"
+                                       }
+                               },
+                               "glob-parent": {
+                                       "version": "6.0.2",
+                                       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+                                       "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "is-glob": "^4.0.3"
+                                       },
+                                       "dependencies": {
+                                               "is-glob": {
+                                                       "version": "4.0.3",
+                                                       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+                                                       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+                                                       "dev": true,
+                                                       "requires": {
+                                                               "is-extglob": "^2.1.1"
+                                                       }
+                                               }
+                                       }
+                               },
+                               "globals": {
+                                       "version": "13.20.0",
+                                       "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+                                       "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "type-fest": "^0.20.2"
+                                       }
+                               },
+                               "has-flag": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+                                       "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+                                       "dev": true
+                               },
+                               "ignore": {
+                                       "version": "5.2.4",
+                                       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+                                       "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+                                       "dev": true
+                               },
+                               "locate-path": {
+                                       "version": "6.0.0",
+                                       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+                                       "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-locate": "^5.0.0"
+                                       }
+                               },
+                               "minimatch": {
+                                       "version": "3.1.2",
+                                       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+                                       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "brace-expansion": "^1.1.7"
+                                       }
+                               },
+                               "p-limit": {
+                                       "version": "3.1.0",
+                                       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+                                       "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "yocto-queue": "^0.1.0"
+                                       }
+                               },
+                               "p-locate": {
+                                       "version": "5.0.0",
+                                       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+                                       "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-limit": "^3.0.2"
+                                       }
+                               },
+                               "path-exists": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+                                       "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+                                       "dev": true
+                               },
+                               "strip-ansi": {
+                                       "version": "6.0.1",
+                                       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+                                       "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-regex": "^5.0.1"
+                                       }
+                               },
+                               "supports-color": {
+                                       "version": "7.2.0",
+                                       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+                                       "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "has-flag": "^4.0.0"
+                                       }
+                               },
+                               "type-fest": {
+                                       "version": "0.20.2",
+                                       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+                                       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "eslint-config-prettier": {
+                       "version": "7.2.0",
+                       "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz",
+                       "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==",
+                       "dev": true
+               },
+               "eslint-import-resolver-node": {
+                       "version": "0.3.6",
+                       "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
+                       "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+                       "dev": true,
+                       "requires": {
+                               "debug": "^3.2.7",
+                               "resolve": "^1.20.0"
+                       },
+                       "dependencies": {
+                               "debug": {
+                                       "version": "3.2.7",
+                                       "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+                                       "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ms": "^2.1.1"
+                                       }
+                               },
+                               "is-core-module": {
+                                       "version": "2.9.0",
+                                       "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
+                                       "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "has": "^1.0.3"
+                                       }
+                               },
+                               "resolve": {
+                                       "version": "1.22.0",
+                                       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+                                       "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "is-core-module": "^2.8.1",
+                                               "path-parse": "^1.0.7",
+                                               "supports-preserve-symlinks-flag": "^1.0.0"
+                                       }
+                               }
+                       }
+               },
+               "eslint-module-utils": {
+                       "version": "2.7.3",
+                       "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
+                       "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
+                       "dev": true,
+                       "requires": {
+                               "debug": "^3.2.7",
+                               "find-up": "^2.1.0"
+                       },
+                       "dependencies": {
+                               "debug": {
+                                       "version": "3.2.7",
+                                       "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+                                       "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ms": "^2.1.1"
+                                       }
+                               }
+                       }
+               },
+               "eslint-plugin-import": {
+                       "version": "2.26.0",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
+                       "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
+                       "dev": true,
+                       "requires": {
+                               "array-includes": "^3.1.4",
+                               "array.prototype.flat": "^1.2.5",
+                               "debug": "^2.6.9",
+                               "doctrine": "^2.1.0",
+                               "eslint-import-resolver-node": "^0.3.6",
+                               "eslint-module-utils": "^2.7.3",
+                               "has": "^1.0.3",
+                               "is-core-module": "^2.8.1",
+                               "is-glob": "^4.0.3",
+                               "minimatch": "^3.1.2",
+                               "object.values": "^1.1.5",
+                               "resolve": "^1.22.0",
+                               "tsconfig-paths": "^3.14.1"
+                       },
+                       "dependencies": {
+                               "debug": {
+                                       "version": "2.6.9",
+                                       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                                       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ms": "2.0.0"
+                                       }
+                               },
+                               "is-core-module": {
+                                       "version": "2.9.0",
+                                       "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
+                                       "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "has": "^1.0.3"
+                                       }
+                               },
+                               "is-glob": {
+                                       "version": "4.0.3",
+                                       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+                                       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "is-extglob": "^2.1.1"
+                                       }
+                               },
+                               "minimatch": {
+                                       "version": "3.1.2",
+                                       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+                                       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "brace-expansion": "^1.1.7"
+                                       }
+                               },
+                               "ms": {
+                                       "version": "2.0.0",
+                                       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                                       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                                       "dev": true
+                               },
+                               "resolve": {
+                                       "version": "1.22.0",
+                                       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+                                       "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "is-core-module": "^2.8.1",
+                                               "path-parse": "^1.0.7",
+                                               "supports-preserve-symlinks-flag": "^1.0.0"
+                                       }
+                               }
+                       }
+               },
+               "eslint-plugin-jest": {
+                       "version": "24.7.0",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz",
+                       "integrity": "sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==",
+                       "dev": true,
+                       "requires": {
+                               "@typescript-eslint/experimental-utils": "^4.0.1"
+                       }
+               },
+               "eslint-plugin-jsdoc": {
+                       "version": "36.1.1",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.1.tgz",
+                       "integrity": "sha512-nuLDvH1EJaKx0PCa9oeQIxH6pACIhZd1gkalTUxZbaxxwokjs7TplqY0Q8Ew3CoZaf5aowm0g/Z3JGHCatt+gQ==",
+                       "dev": true,
+                       "requires": {
+                               "@es-joy/jsdoccomment": "0.10.8",
+                               "comment-parser": "1.2.4",
+                               "debug": "^4.3.2",
+                               "esquery": "^1.4.0",
+                               "jsdoc-type-pratt-parser": "^1.1.1",
+                               "lodash": "^4.17.21",
+                               "regextras": "^0.8.0",
+                               "semver": "^7.3.5",
+                               "spdx-expression-parse": "^3.0.1"
+                       },
+                       "dependencies": {
+                               "debug": {
+                                       "version": "4.3.4",
+                                       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+                                       "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ms": "2.1.2"
+                                       }
+                               }
+                       }
+               },
+               "eslint-plugin-jsx-a11y": {
+                       "version": "6.5.1",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz",
+                       "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/runtime": "^7.16.3",
+                               "aria-query": "^4.2.2",
+                               "array-includes": "^3.1.4",
+                               "ast-types-flow": "^0.0.7",
+                               "axe-core": "^4.3.5",
+                               "axobject-query": "^2.2.0",
+                               "damerau-levenshtein": "^1.0.7",
+                               "emoji-regex": "^9.2.2",
+                               "has": "^1.0.3",
+                               "jsx-ast-utils": "^3.2.1",
+                               "language-tags": "^1.0.5",
+                               "minimatch": "^3.0.4"
+                       }
+               },
+               "eslint-plugin-prettier": {
+                       "version": "3.4.1",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz",
+                       "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==",
+                       "dev": true,
+                       "requires": {
+                               "prettier-linter-helpers": "^1.0.0"
+                       }
+               },
+               "eslint-plugin-react": {
+                       "version": "7.29.4",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz",
+                       "integrity": "sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==",
+                       "dev": true,
+                       "requires": {
+                               "array-includes": "^3.1.4",
+                               "array.prototype.flatmap": "^1.2.5",
+                               "doctrine": "^2.1.0",
+                               "estraverse": "^5.3.0",
+                               "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+                               "minimatch": "^3.1.2",
+                               "object.entries": "^1.1.5",
+                               "object.fromentries": "^2.0.5",
+                               "object.hasown": "^1.1.0",
+                               "object.values": "^1.1.5",
+                               "prop-types": "^15.8.1",
+                               "resolve": "^2.0.0-next.3",
+                               "semver": "^6.3.0",
+                               "string.prototype.matchall": "^4.0.6"
+                       },
+                       "dependencies": {
+                               "estraverse": {
+                                       "version": "5.3.0",
+                                       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+                                       "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+                                       "dev": true
+                               },
+                               "minimatch": {
+                                       "version": "3.1.2",
+                                       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+                                       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "brace-expansion": "^1.1.7"
+                                       }
+                               },
+                               "resolve": {
+                                       "version": "2.0.0-next.3",
+                                       "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
+                                       "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "is-core-module": "^2.2.0",
+                                               "path-parse": "^1.0.6"
+                                       }
+                               },
+                               "semver": {
+                                       "version": "6.3.0",
+                                       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+                                       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "eslint-plugin-react-hooks": {
+                       "version": "4.5.0",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz",
+                       "integrity": "sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==",
+                       "dev": true
+               },
+               "eslint-scope": {
+                       "version": "5.1.1",
+                       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+                       "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+                       "dev": true,
+                       "requires": {
+                               "esrecurse": "^4.3.0",
+                               "estraverse": "^4.1.1"
+                       }
+               },
+               "eslint-utils": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+                       "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+                       "dev": true,
+                       "requires": {
+                               "eslint-visitor-keys": "^2.0.0"
+                       }
+               },
+               "eslint-visitor-keys": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+                       "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+                       "dev": true
+               },
+               "espree": {
+                       "version": "9.4.1",
+                       "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
+                       "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
+                       "dev": true,
+                       "requires": {
+                               "acorn": "^8.8.0",
+                               "acorn-jsx": "^5.3.2",
+                               "eslint-visitor-keys": "^3.3.0"
+                       },
+                       "dependencies": {
+                               "eslint-visitor-keys": {
+                                       "version": "3.3.0",
+                                       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+                                       "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "esquery": {
+                       "version": "1.4.0",
+                       "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+                       "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+                       "dev": true,
+                       "requires": {
+                               "estraverse": "^5.1.0"
+                       },
+                       "dependencies": {
+                               "estraverse": {
+                                       "version": "5.3.0",
+                                       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+                                       "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "esrecurse": {
+                       "version": "4.3.0",
+                       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+                       "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+                       "dev": true,
+                       "requires": {
+                               "estraverse": "^5.2.0"
+                       },
+                       "dependencies": {
+                               "estraverse": {
+                                       "version": "5.3.0",
+                                       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+                                       "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "estraverse": {
+                       "version": "4.3.0",
+                       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+                       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+                       "dev": true
+               },
+               "esutils": {
+                       "version": "2.0.3",
+                       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+                       "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+                       "dev": true
+               },
+               "execall": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
+                       "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
+                       "dev": true,
+                       "requires": {
+                               "clone-regexp": "^2.1.0"
+                       }
+               },
+               "extend": {
+                       "version": "3.0.2",
+                       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+                       "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+                       "dev": true
+               },
+               "fast-deep-equal": {
+                       "version": "3.1.3",
+                       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+                       "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+                       "dev": true
+               },
+               "fast-diff": {
+                       "version": "1.2.0",
+                       "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+                       "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+                       "dev": true
+               },
+               "fast-glob": {
+                       "version": "3.2.5",
+                       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
+                       "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
+                       "dev": true,
+                       "requires": {
+                               "@nodelib/fs.stat": "^2.0.2",
+                               "@nodelib/fs.walk": "^1.2.3",
+                               "glob-parent": "^5.1.0",
+                               "merge2": "^1.3.0",
+                               "micromatch": "^4.0.2",
+                               "picomatch": "^2.2.1"
+                       }
+               },
+               "fast-json-stable-stringify": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+                       "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+                       "dev": true
+               },
+               "fast-levenshtein": {
+                       "version": "2.0.6",
+                       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+                       "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+                       "dev": true
+               },
+               "fastest-levenshtein": {
+                       "version": "1.0.16",
+                       "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+                       "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+                       "dev": true
+               },
+               "fastq": {
+                       "version": "1.11.0",
+                       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
+                       "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
+                       "dev": true,
+                       "requires": {
+                               "reusify": "^1.0.4"
+                       }
+               },
+               "file-entry-cache": {
+                       "version": "6.0.1",
+                       "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+                       "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+                       "dev": true,
+                       "requires": {
+                               "flat-cache": "^3.0.4"
+                       }
+               },
+               "fill-range": {
+                       "version": "7.0.1",
+                       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+                       "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+                       "dev": true,
+                       "requires": {
+                               "to-regex-range": "^5.0.1"
+                       }
+               },
+               "find-up": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+                       "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+                       "dev": true,
+                       "requires": {
+                               "locate-path": "^2.0.0"
+                       }
+               },
+               "flat-cache": {
+                       "version": "3.0.4",
+                       "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+                       "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+                       "dev": true,
+                       "requires": {
+                               "flatted": "^3.1.0",
+                               "rimraf": "^3.0.2"
+                       }
+               },
+               "flatted": {
+                       "version": "3.1.1",
+                       "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+                       "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
+                       "dev": true
+               },
+               "fraction.js": {
+                       "version": "4.2.0",
+                       "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+                       "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+                       "dev": true
+               },
+               "fs-extra": {
+                       "version": "11.1.0",
+                       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz",
+                       "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==",
+                       "dev": true,
+                       "requires": {
+                               "graceful-fs": "^4.2.0",
+                               "jsonfile": "^6.0.1",
+                               "universalify": "^2.0.0"
+                       }
+               },
+               "fs.realpath": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+                       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+                       "dev": true
+               },
+               "fsevents": {
+                       "version": "2.3.2",
+                       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+                       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+                       "dev": true,
+                       "optional": true
+               },
+               "function-bind": {
+                       "version": "1.1.1",
+                       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+                       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+                       "dev": true
+               },
+               "functional-red-black-tree": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+                       "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+                       "dev": true
+               },
+               "functions-have-names": {
+                       "version": "1.2.3",
+                       "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+                       "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+                       "dev": true
+               },
+               "gensync": {
+                       "version": "1.0.0-beta.2",
+                       "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+                       "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+                       "dev": true
+               },
+               "get-caller-file": {
+                       "version": "2.0.5",
+                       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+                       "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+                       "dev": true
+               },
+               "get-intrinsic": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
+                       "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
+                       "dev": true,
+                       "requires": {
+                               "function-bind": "^1.1.1",
+                               "has": "^1.0.3",
+                               "has-symbols": "^1.0.1"
+                       }
+               },
+               "get-stdin": {
+                       "version": "8.0.0",
+                       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+                       "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+                       "dev": true
+               },
+               "get-symbol-description": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+                       "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "get-intrinsic": "^1.1.1"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "glob": {
+                       "version": "7.1.7",
+                       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+                       "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+                       "dev": true,
+                       "requires": {
+                               "fs.realpath": "^1.0.0",
+                               "inflight": "^1.0.4",
+                               "inherits": "2",
+                               "minimatch": "^3.0.4",
+                               "once": "^1.3.0",
+                               "path-is-absolute": "^1.0.0"
+                       }
+               },
+               "glob-parent": {
+                       "version": "5.1.2",
+                       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+                       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+                       "dev": true,
+                       "requires": {
+                               "is-glob": "^4.0.1"
+                       }
+               },
+               "global-modules": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+                       "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+                       "dev": true,
+                       "requires": {
+                               "global-prefix": "^3.0.0"
+                       }
+               },
+               "global-prefix": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+                       "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+                       "dev": true,
+                       "requires": {
+                               "ini": "^1.3.5",
+                               "kind-of": "^6.0.2",
+                               "which": "^1.3.1"
+                       },
+                       "dependencies": {
+                               "which": {
+                                       "version": "1.3.1",
+                                       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+                                       "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "isexe": "^2.0.0"
+                                       }
+                               }
+                       }
+               },
+               "globals": {
+                       "version": "12.4.0",
+                       "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+                       "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+                       "dev": true,
+                       "requires": {
+                               "type-fest": "^0.8.1"
+                       }
+               },
+               "globby": {
+                       "version": "11.0.3",
+                       "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz",
+                       "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==",
+                       "dev": true,
+                       "requires": {
+                               "array-union": "^2.1.0",
+                               "dir-glob": "^3.0.1",
+                               "fast-glob": "^3.1.1",
+                               "ignore": "^5.1.4",
+                               "merge2": "^1.3.0",
+                               "slash": "^3.0.0"
+                       }
+               },
+               "globjoin": {
+                       "version": "0.1.4",
+                       "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+                       "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
+                       "dev": true
+               },
+               "gonzales-pe": {
+                       "version": "4.3.0",
+                       "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+                       "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
+                       "dev": true,
+                       "requires": {
+                               "minimist": "^1.2.5"
+                       }
+               },
+               "graceful-fs": {
+                       "version": "4.2.4",
+                       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+                       "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+                       "dev": true
+               },
+               "grapheme-splitter": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+                       "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+                       "dev": true
+               },
+               "hard-rejection": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+                       "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+                       "dev": true
+               },
+               "has": {
+                       "version": "1.0.3",
+                       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+                       "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+                       "dev": true,
+                       "requires": {
+                               "function-bind": "^1.1.1"
+                       }
+               },
+               "has-bigints": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+                       "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+                       "dev": true
+               },
+               "has-flag": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+                       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                       "dev": true
+               },
+               "has-symbols": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+                       "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+                       "dev": true
+               },
+               "has-tostringtag": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+                       "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+                       "dev": true,
+                       "requires": {
+                               "has-symbols": "^1.0.2"
+                       },
+                       "dependencies": {
+                               "has-symbols": {
+                                       "version": "1.0.3",
+                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "hosted-git-info": {
+                       "version": "2.8.9",
+                       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+                       "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+                       "dev": true
+               },
+               "html-tags": {
+                       "version": "3.2.0",
+                       "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz",
+                       "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
+                       "dev": true
+               },
+               "htmlparser2": {
+                       "version": "3.10.1",
+                       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+                       "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+                       "dev": true,
+                       "requires": {
+                               "domelementtype": "^1.3.1",
+                               "domhandler": "^2.3.0",
+                               "domutils": "^1.5.1",
+                               "entities": "^1.1.1",
+                               "inherits": "^2.0.1",
+                               "readable-stream": "^3.1.1"
+                       }
+               },
+               "ignore": {
+                       "version": "5.1.8",
+                       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+                       "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+                       "dev": true
+               },
+               "immutable": {
+                       "version": "4.2.4",
+                       "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz",
+                       "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==",
+                       "dev": true
+               },
+               "import-fresh": {
+                       "version": "3.3.0",
+                       "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+                       "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+                       "dev": true,
+                       "requires": {
+                               "parent-module": "^1.0.0",
+                               "resolve-from": "^4.0.0"
+                       }
+               },
+               "import-lazy": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+                       "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
+                       "dev": true
+               },
+               "imurmurhash": {
+                       "version": "0.1.4",
+                       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+                       "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+                       "dev": true
+               },
+               "indent-string": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+                       "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+                       "dev": true
+               },
+               "indexes-of": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+                       "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+                       "dev": true
+               },
+               "inflight": {
+                       "version": "1.0.6",
+                       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+                       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+                       "dev": true,
+                       "requires": {
+                               "once": "^1.3.0",
+                               "wrappy": "1"
+                       }
+               },
+               "inherits": {
+                       "version": "2.0.4",
+                       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+                       "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+                       "dev": true
+               },
+               "ini": {
+                       "version": "1.3.8",
+                       "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+                       "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+                       "dev": true
+               },
+               "internal-slot": {
+                       "version": "1.0.3",
+                       "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
+                       "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+                       "dev": true,
+                       "requires": {
+                               "get-intrinsic": "^1.1.0",
+                               "has": "^1.0.3",
+                               "side-channel": "^1.0.4"
+                       },
+                       "dependencies": {
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "is-alphabetical": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+                       "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
+                       "dev": true
+               },
+               "is-alphanumerical": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+                       "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
+                       "dev": true,
+                       "requires": {
+                               "is-alphabetical": "^1.0.0",
+                               "is-decimal": "^1.0.0"
+                       }
+               },
+               "is-arrayish": {
+                       "version": "0.2.1",
+                       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+                       "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+                       "dev": true
+               },
+               "is-bigint": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+                       "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+                       "dev": true,
+                       "requires": {
+                               "has-bigints": "^1.0.1"
+                       }
+               },
+               "is-binary-path": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+                       "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+                       "dev": true,
+                       "requires": {
+                               "binary-extensions": "^2.0.0"
+                       }
+               },
+               "is-boolean-object": {
+                       "version": "1.1.2",
+                       "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+                       "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "has-tostringtag": "^1.0.0"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "is-buffer": {
+                       "version": "2.0.5",
+                       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+                       "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+                       "dev": true
+               },
+               "is-callable": {
+                       "version": "1.2.2",
+                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+                       "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
+                       "dev": true
+               },
+               "is-core-module": {
+                       "version": "2.2.0",
+                       "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+                       "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+                       "dev": true,
+                       "requires": {
+                               "has": "^1.0.3"
+                       }
+               },
+               "is-date-object": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+                       "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+                       "dev": true
+               },
+               "is-decimal": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+                       "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
+                       "dev": true
+               },
+               "is-extglob": {
+                       "version": "2.1.1",
+                       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+                       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+                       "dev": true
+               },
+               "is-fullwidth-code-point": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+                       "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+                       "dev": true
+               },
+               "is-glob": {
+                       "version": "4.0.1",
+                       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+                       "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+                       "dev": true,
+                       "requires": {
+                               "is-extglob": "^2.1.1"
+                       }
+               },
+               "is-hexadecimal": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+                       "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
+                       "dev": true
+               },
+               "is-negative-zero": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
+                       "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
+                       "dev": true
+               },
+               "is-number": {
+                       "version": "7.0.0",
+                       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+                       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+                       "dev": true
+               },
+               "is-number-object": {
+                       "version": "1.0.7",
+                       "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+                       "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+                       "dev": true,
+                       "requires": {
+                               "has-tostringtag": "^1.0.0"
+                       }
+               },
+               "is-path-inside": {
+                       "version": "3.0.3",
+                       "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+                       "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+                       "dev": true
+               },
+               "is-plain-obj": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+                       "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+                       "dev": true
+               },
+               "is-regex": {
+                       "version": "1.1.1",
+                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+                       "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
+                       "dev": true,
+                       "requires": {
+                               "has-symbols": "^1.0.1"
+                       }
+               },
+               "is-regexp": {
+                       "version": "2.1.0",
+                       "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
+                       "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
+                       "dev": true
+               },
+               "is-shared-array-buffer": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+                       "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "is-string": {
+                       "version": "1.0.7",
+                       "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+                       "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+                       "dev": true,
+                       "requires": {
+                               "has-tostringtag": "^1.0.0"
+                       }
+               },
+               "is-symbol": {
+                       "version": "1.0.3",
+                       "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+                       "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+                       "dev": true,
+                       "requires": {
+                               "has-symbols": "^1.0.1"
+                       }
+               },
+               "is-typedarray": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+                       "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+                       "dev": true
+               },
+               "is-unicode-supported": {
+                       "version": "0.1.0",
+                       "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+                       "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+                       "dev": true
+               },
+               "is-weakref": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+                       "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "isexe": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+                       "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+                       "dev": true
+               },
+               "js-sdsl": {
+                       "version": "4.3.0",
+                       "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
+                       "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
+                       "dev": true
+               },
+               "js-tokens": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+                       "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+                       "dev": true
+               },
+               "js-yaml": {
+                       "version": "4.1.0",
+                       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+                       "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+                       "dev": true,
+                       "requires": {
+                               "argparse": "^2.0.1"
+                       }
+               },
+               "jsdoc-type-pratt-parser": {
+                       "version": "1.2.0",
+                       "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz",
+                       "integrity": "sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg==",
+                       "dev": true
+               },
+               "jsesc": {
+                       "version": "2.5.2",
+                       "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+                       "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+                       "dev": true
+               },
+               "json-parse-better-errors": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+                       "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+                       "dev": true
+               },
+               "json-parse-even-better-errors": {
+                       "version": "2.3.1",
+                       "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+                       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+                       "dev": true
+               },
+               "json-schema-traverse": {
+                       "version": "0.4.1",
+                       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+                       "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+                       "dev": true
+               },
+               "json-stable-stringify-without-jsonify": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+                       "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+                       "dev": true
+               },
+               "json5": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+                       "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+                       "dev": true,
+                       "requires": {
+                               "minimist": "^1.2.0"
+                       }
+               },
+               "jsonfile": {
+                       "version": "6.1.0",
+                       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+                       "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+                       "dev": true,
+                       "requires": {
+                               "graceful-fs": "^4.1.6",
+                               "universalify": "^2.0.0"
+                       }
+               },
+               "jsx-ast-utils": {
+                       "version": "3.2.2",
+                       "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz",
+                       "integrity": "sha512-HDAyJ4MNQBboGpUnHAVUNJs6X0lh058s6FuixsFGP7MgJYpD6Vasd6nzSG5iIfXu1zAYlHJ/zsOKNlrenTUBnw==",
+                       "dev": true,
+                       "requires": {
+                               "array-includes": "^3.1.4",
+                               "object.assign": "^4.1.2"
+                       }
+               },
+               "kind-of": {
+                       "version": "6.0.3",
+                       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+                       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+                       "dev": true
+               },
+               "known-css-properties": {
+                       "version": "0.21.0",
+                       "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz",
+                       "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==",
+                       "dev": true
+               },
+               "language-subtag-registry": {
+                       "version": "0.3.21",
+                       "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz",
+                       "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==",
+                       "dev": true
+               },
+               "language-tags": {
+                       "version": "1.0.5",
+                       "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
+                       "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
+                       "dev": true,
+                       "requires": {
+                               "language-subtag-registry": "~0.3.2"
+                       }
+               },
+               "levn": {
+                       "version": "0.4.1",
+                       "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+                       "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+                       "dev": true,
+                       "requires": {
+                               "prelude-ls": "^1.2.1",
+                               "type-check": "~0.4.0"
+                       }
+               },
+               "lilconfig": {
+                       "version": "2.0.6",
+                       "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+                       "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+                       "dev": true
+               },
+               "lines-and-columns": {
+                       "version": "1.1.6",
+                       "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+                       "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+                       "dev": true
+               },
+               "load-json-file": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+                       "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+                       "dev": true,
+                       "requires": {
+                               "graceful-fs": "^4.1.2",
+                               "parse-json": "^4.0.0",
+                               "pify": "^3.0.0",
+                               "strip-bom": "^3.0.0"
+                       },
+                       "dependencies": {
+                               "parse-json": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+                                       "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+                                       "dev": true,
+                                       "requires": {
+                                               "error-ex": "^1.3.1",
+                                               "json-parse-better-errors": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "locate-path": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+                       "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+                       "dev": true,
+                       "requires": {
+                               "p-locate": "^2.0.0",
+                               "path-exists": "^3.0.0"
+                       }
+               },
+               "lodash": {
+                       "version": "4.17.21",
+                       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+                       "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+                       "dev": true
+               },
+               "lodash.debounce": {
+                       "version": "4.0.8",
+                       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+                       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+                       "dev": true
+               },
+               "lodash.memoize": {
+                       "version": "4.1.2",
+                       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+                       "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
+                       "dev": true
+               },
+               "lodash.merge": {
+                       "version": "4.6.2",
+                       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+                       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+                       "dev": true
+               },
+               "lodash.throttle": {
+                       "version": "4.1.1",
+                       "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+                       "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=",
+                       "dev": true
+               },
+               "lodash.truncate": {
+                       "version": "4.4.2",
+                       "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+                       "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+                       "dev": true
+               },
+               "lodash.uniq": {
+                       "version": "4.5.0",
+                       "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+                       "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
+                       "dev": true
+               },
+               "log-symbols": {
+                       "version": "4.1.0",
+                       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+                       "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+                       "dev": true,
+                       "requires": {
+                               "chalk": "^4.1.0",
+                               "is-unicode-supported": "^0.1.0"
+                       },
+                       "dependencies": {
+                               "ansi-styles": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+                                       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-convert": "^2.0.1"
+                                       }
+                               },
+                               "chalk": {
+                                       "version": "4.1.2",
+                                       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+                                       "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-styles": "^4.1.0",
+                                               "supports-color": "^7.1.0"
+                                       }
+                               },
+                               "color-convert": {
+                                       "version": "2.0.1",
+                                       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+                                       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-name": "~1.1.4"
+                                       }
+                               },
+                               "color-name": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+                                       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+                                       "dev": true
+                               },
+                               "has-flag": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+                                       "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+                                       "dev": true
+                               },
+                               "supports-color": {
+                                       "version": "7.2.0",
+                                       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+                                       "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "has-flag": "^4.0.0"
+                                       }
+                               }
+                       }
+               },
+               "longest-streak": {
+                       "version": "2.0.4",
+                       "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
+                       "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
+                       "dev": true
+               },
+               "loose-envify": {
+                       "version": "1.4.0",
+                       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+                       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+                       "dev": true,
+                       "requires": {
+                               "js-tokens": "^3.0.0 || ^4.0.0"
+                       }
+               },
+               "lru-cache": {
+                       "version": "6.0.0",
+                       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+                       "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+                       "dev": true,
+                       "requires": {
+                               "yallist": "^4.0.0"
+                       }
+               },
+               "map-obj": {
+                       "version": "4.3.0",
+                       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
+                       "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
+                       "dev": true
+               },
+               "mathml-tag-names": {
+                       "version": "2.1.3",
+                       "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+                       "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+                       "dev": true
+               },
+               "mdast-util-from-markdown": {
+                       "version": "0.8.5",
+                       "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz",
+                       "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==",
+                       "dev": true,
+                       "requires": {
+                               "@types/mdast": "^3.0.0",
+                               "mdast-util-to-string": "^2.0.0",
+                               "micromark": "~2.11.0",
+                               "parse-entities": "^2.0.0",
+                               "unist-util-stringify-position": "^2.0.0"
+                       }
+               },
+               "mdast-util-to-markdown": {
+                       "version": "0.6.5",
+                       "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz",
+                       "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==",
+                       "dev": true,
+                       "requires": {
+                               "@types/unist": "^2.0.0",
+                               "longest-streak": "^2.0.0",
+                               "mdast-util-to-string": "^2.0.0",
+                               "parse-entities": "^2.0.0",
+                               "repeat-string": "^1.0.0",
+                               "zwitch": "^1.0.0"
+                       }
+               },
+               "mdast-util-to-string": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz",
+                       "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==",
+                       "dev": true
+               },
+               "memorystream": {
+                       "version": "0.3.1",
+                       "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
+                       "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=",
+                       "dev": true
+               },
+               "meow": {
+                       "version": "9.0.0",
+                       "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+                       "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+                       "dev": true,
+                       "requires": {
+                               "@types/minimist": "^1.2.0",
+                               "camelcase-keys": "^6.2.2",
+                               "decamelize": "^1.2.0",
+                               "decamelize-keys": "^1.1.0",
+                               "hard-rejection": "^2.1.0",
+                               "minimist-options": "4.1.0",
+                               "normalize-package-data": "^3.0.0",
+                               "read-pkg-up": "^7.0.1",
+                               "redent": "^3.0.0",
+                               "trim-newlines": "^3.0.0",
+                               "type-fest": "^0.18.0",
+                               "yargs-parser": "^20.2.3"
+                       },
+                       "dependencies": {
+                               "hosted-git-info": {
+                                       "version": "4.1.0",
+                                       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+                                       "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "lru-cache": "^6.0.0"
+                                       }
+                               },
+                               "is-core-module": {
+                                       "version": "2.10.0",
+                                       "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+                                       "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "has": "^1.0.3"
+                                       }
+                               },
+                               "normalize-package-data": {
+                                       "version": "3.0.3",
+                                       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+                                       "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "hosted-git-info": "^4.0.1",
+                                               "is-core-module": "^2.5.0",
+                                               "semver": "^7.3.4",
+                                               "validate-npm-package-license": "^3.0.1"
+                                       }
+                               },
+                               "type-fest": {
+                                       "version": "0.18.1",
+                                       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+                                       "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+                                       "dev": true
+                               },
+                               "yargs-parser": {
+                                       "version": "20.2.9",
+                                       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+                                       "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "merge2": {
+                       "version": "1.4.1",
+                       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+                       "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+                       "dev": true
+               },
+               "micromark": {
+                       "version": "2.11.4",
+                       "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz",
+                       "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==",
+                       "dev": true,
+                       "requires": {
+                               "debug": "^4.0.0",
+                               "parse-entities": "^2.0.0"
+                       }
+               },
+               "micromatch": {
+                       "version": "4.0.2",
+                       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+                       "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+                       "dev": true,
+                       "requires": {
+                               "braces": "^3.0.1",
+                               "picomatch": "^2.0.5"
+                       }
+               },
+               "min-indent": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+                       "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+                       "dev": true
+               },
+               "minimatch": {
+                       "version": "3.1.2",
+                       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+                       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+                       "dev": true,
+                       "requires": {
+                               "brace-expansion": "^1.1.7"
+                       }
+               },
+               "minimist": {
+                       "version": "1.2.7",
+                       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+                       "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+                       "dev": true
+               },
+               "minimist-options": {
+                       "version": "4.1.0",
+                       "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+                       "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+                       "dev": true,
+                       "requires": {
+                               "arrify": "^1.0.1",
+                               "is-plain-obj": "^1.1.0",
+                               "kind-of": "^6.0.3"
+                       },
+                       "dependencies": {
+                               "is-plain-obj": {
+                                       "version": "1.1.0",
+                                       "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+                                       "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "ms": {
+                       "version": "2.1.2",
+                       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+                       "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+                       "dev": true
+               },
+               "nanoid": {
+                       "version": "3.3.4",
+                       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+                       "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+                       "dev": true
+               },
+               "natural-compare": {
+                       "version": "1.4.0",
+                       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+                       "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+                       "dev": true
+               },
+               "nice-try": {
+                       "version": "1.0.5",
+                       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+                       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+                       "dev": true
+               },
+               "node-releases": {
+                       "version": "1.1.73",
+                       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+                       "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
+                       "dev": true
+               },
+               "normalize-package-data": {
+                       "version": "2.5.0",
+                       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+                       "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+                       "dev": true,
+                       "requires": {
+                               "hosted-git-info": "^2.1.4",
+                               "resolve": "^1.10.0",
+                               "semver": "2 || 3 || 4 || 5",
+                               "validate-npm-package-license": "^3.0.1"
+                       },
+                       "dependencies": {
+                               "semver": {
+                                       "version": "5.7.1",
+                                       "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+                                       "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "normalize-path": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+                       "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+                       "dev": true
+               },
+               "normalize-range": {
+                       "version": "0.1.2",
+                       "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+                       "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+                       "dev": true
+               },
+               "normalize-selector": {
+                       "version": "0.2.0",
+                       "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
+                       "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==",
+                       "dev": true
+               },
+               "npm-run-all": {
+                       "version": "4.1.5",
+                       "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
+                       "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
+                       "dev": true,
+                       "requires": {
+                               "ansi-styles": "^3.2.1",
+                               "chalk": "^2.4.1",
+                               "cross-spawn": "^6.0.5",
+                               "memorystream": "^0.3.1",
+                               "minimatch": "^3.0.4",
+                               "pidtree": "^0.3.0",
+                               "read-pkg": "^3.0.0",
+                               "shell-quote": "^1.6.1",
+                               "string.prototype.padend": "^3.0.0"
+                       },
+                       "dependencies": {
+                               "cross-spawn": {
+                                       "version": "6.0.5",
+                                       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+                                       "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "nice-try": "^1.0.4",
+                                               "path-key": "^2.0.1",
+                                               "semver": "^5.5.0",
+                                               "shebang-command": "^1.2.0",
+                                               "which": "^1.2.9"
+                                       }
+                               },
+                               "path-key": {
+                                       "version": "2.0.1",
+                                       "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+                                       "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+                                       "dev": true
+                               },
+                               "semver": {
+                                       "version": "5.7.1",
+                                       "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+                                       "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+                                       "dev": true
+                               },
+                               "shebang-command": {
+                                       "version": "1.2.0",
+                                       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+                                       "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+                                       "dev": true,
+                                       "requires": {
+                                               "shebang-regex": "^1.0.0"
+                                       }
+                               },
+                               "shebang-regex": {
+                                       "version": "1.0.0",
+                                       "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+                                       "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+                                       "dev": true
+                               },
+                               "which": {
+                                       "version": "1.3.1",
+                                       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+                                       "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "isexe": "^2.0.0"
+                                       }
+                               }
+                       }
+               },
+               "num2fraction": {
+                       "version": "1.2.2",
+                       "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+                       "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==",
+                       "dev": true
+               },
+               "object-assign": {
+                       "version": "4.1.1",
+                       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+                       "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+                       "dev": true
+               },
+               "object-inspect": {
+                       "version": "1.9.0",
+                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+                       "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
+                       "dev": true
+               },
+               "object-keys": {
+                       "version": "1.1.1",
+                       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+                       "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+                       "dev": true
+               },
+               "object.assign": {
+                       "version": "4.1.2",
+                       "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+                       "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.0",
+                               "define-properties": "^1.1.3",
+                               "has-symbols": "^1.0.1",
+                               "object-keys": "^1.1.1"
+                       }
+               },
+               "object.entries": {
+                       "version": "1.1.5",
+                       "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz",
+                       "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.1"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       },
+                                       "dependencies": {
+                                               "has-symbols": {
+                                                       "version": "1.0.3",
+                                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "object.fromentries": {
+                       "version": "2.0.5",
+                       "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz",
+                       "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.1"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       },
+                                       "dependencies": {
+                                               "has-symbols": {
+                                                       "version": "1.0.3",
+                                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "object.hasown": {
+                       "version": "1.1.0",
+                       "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz",
+                       "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==",
+                       "dev": true,
+                       "requires": {
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.1"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "has-symbols": {
+                                       "version": "1.0.3",
+                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                       "dev": true
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "object.values": {
+                       "version": "1.1.5",
+                       "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
+                       "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.1"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       },
+                                       "dependencies": {
+                                               "has-symbols": {
+                                                       "version": "1.0.3",
+                                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "once": {
+                       "version": "1.4.0",
+                       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+                       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+                       "dev": true,
+                       "requires": {
+                               "wrappy": "1"
+                       }
+               },
+               "optionator": {
+                       "version": "0.9.1",
+                       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+                       "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+                       "dev": true,
+                       "requires": {
+                               "deep-is": "^0.1.3",
+                               "fast-levenshtein": "^2.0.6",
+                               "levn": "^0.4.1",
+                               "prelude-ls": "^1.2.1",
+                               "type-check": "^0.4.0",
+                               "word-wrap": "^1.2.3"
+                       }
+               },
+               "p-limit": {
+                       "version": "2.3.0",
+                       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+                       "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+                       "dev": true,
+                       "requires": {
+                               "p-try": "^2.0.0"
+                       }
+               },
+               "p-locate": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+                       "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+                       "dev": true,
+                       "requires": {
+                               "p-limit": "^1.1.0"
+                       },
+                       "dependencies": {
+                               "p-limit": {
+                                       "version": "1.3.0",
+                                       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+                                       "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-try": "^1.0.0"
+                                       }
+                               },
+                               "p-try": {
+                                       "version": "1.0.0",
+                                       "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+                                       "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+                                       "dev": true
+                               }
+                       }
+               },
+               "p-try": {
+                       "version": "2.2.0",
+                       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+                       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+                       "dev": true
+               },
+               "parent-module": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+                       "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+                       "dev": true,
+                       "requires": {
+                               "callsites": "^3.0.0"
+                       }
+               },
+               "parse-entities": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+                       "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
+                       "dev": true,
+                       "requires": {
+                               "character-entities": "^1.0.0",
+                               "character-entities-legacy": "^1.0.0",
+                               "character-reference-invalid": "^1.0.0",
+                               "is-alphanumerical": "^1.0.0",
+                               "is-decimal": "^1.0.0",
+                               "is-hexadecimal": "^1.0.0"
+                       }
+               },
+               "parse-json": {
+                       "version": "5.2.0",
+                       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+                       "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+                       "dev": true,
+                       "requires": {
+                               "@babel/code-frame": "^7.0.0",
+                               "error-ex": "^1.3.1",
+                               "json-parse-even-better-errors": "^2.3.0",
+                               "lines-and-columns": "^1.1.6"
+                       }
+               },
+               "path-exists": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+                       "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+                       "dev": true
+               },
+               "path-is-absolute": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+                       "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+                       "dev": true
+               },
+               "path-key": {
+                       "version": "3.1.1",
+                       "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+                       "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+                       "dev": true
+               },
+               "path-parse": {
+                       "version": "1.0.7",
+                       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+                       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+                       "dev": true
+               },
+               "path-type": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+                       "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+                       "dev": true
+               },
+               "picocolors": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+                       "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+                       "dev": true
+               },
+               "picomatch": {
+                       "version": "2.2.2",
+                       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+                       "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+                       "dev": true
+               },
+               "pidtree": {
+                       "version": "0.3.1",
+                       "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
+                       "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
+                       "dev": true
+               },
+               "pify": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+                       "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+                       "dev": true
+               },
+               "postcss": {
+                       "version": "8.4.21",
+                       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+                       "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+                       "dev": true,
+                       "requires": {
+                               "nanoid": "^3.3.4",
+                               "picocolors": "^1.0.0",
+                               "source-map-js": "^1.0.2"
+                       }
+               },
+               "postcss-calc": {
+                       "version": "8.2.4",
+                       "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+                       "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
+                       "dev": true,
+                       "requires": {
+                               "postcss-selector-parser": "^6.0.9",
+                               "postcss-value-parser": "^4.2.0"
+                       },
+                       "dependencies": {
+                               "postcss-selector-parser": {
+                                       "version": "6.0.10",
+                                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+                                       "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cssesc": "^3.0.0",
+                                               "util-deprecate": "^1.0.2"
+                                       }
+                               },
+                               "postcss-value-parser": {
+                                       "version": "4.2.0",
+                                       "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+                                       "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "postcss-cli": {
+                       "version": "10.1.0",
+                       "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.1.0.tgz",
+                       "integrity": "sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==",
+                       "dev": true,
+                       "requires": {
+                               "chokidar": "^3.3.0",
+                               "dependency-graph": "^0.11.0",
+                               "fs-extra": "^11.0.0",
+                               "get-stdin": "^9.0.0",
+                               "globby": "^13.0.0",
+                               "picocolors": "^1.0.0",
+                               "postcss-load-config": "^4.0.0",
+                               "postcss-reporter": "^7.0.0",
+                               "pretty-hrtime": "^1.0.3",
+                               "read-cache": "^1.0.0",
+                               "slash": "^5.0.0",
+                               "yargs": "^17.0.0"
+                       },
+                       "dependencies": {
+                               "ansi-regex": {
+                                       "version": "5.0.1",
+                                       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+                                       "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+                                       "dev": true
+                               },
+                               "ansi-styles": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+                                       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-convert": "^2.0.1"
+                                       }
+                               },
+                               "cliui": {
+                                       "version": "8.0.1",
+                                       "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+                                       "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "string-width": "^4.2.0",
+                                               "strip-ansi": "^6.0.1",
+                                               "wrap-ansi": "^7.0.0"
+                                       }
+                               },
+                               "color-convert": {
+                                       "version": "2.0.1",
+                                       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+                                       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-name": "~1.1.4"
+                                       }
+                               },
+                               "color-name": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+                                       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+                                       "dev": true
+                               },
+                               "emoji-regex": {
+                                       "version": "8.0.0",
+                                       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+                                       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+                                       "dev": true
+                               },
+                               "fast-glob": {
+                                       "version": "3.2.12",
+                                       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+                                       "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@nodelib/fs.stat": "^2.0.2",
+                                               "@nodelib/fs.walk": "^1.2.3",
+                                               "glob-parent": "^5.1.2",
+                                               "merge2": "^1.3.0",
+                                               "micromatch": "^4.0.4"
+                                       }
+                               },
+                               "get-stdin": {
+                                       "version": "9.0.0",
+                                       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
+                                       "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
+                                       "dev": true
+                               },
+                               "globby": {
+                                       "version": "13.1.3",
+                                       "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz",
+                                       "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "dir-glob": "^3.0.1",
+                                               "fast-glob": "^3.2.11",
+                                               "ignore": "^5.2.0",
+                                               "merge2": "^1.4.1",
+                                               "slash": "^4.0.0"
+                                       },
+                                       "dependencies": {
+                                               "slash": {
+                                                       "version": "4.0.0",
+                                                       "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+                                                       "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+                                                       "dev": true
+                                               }
+                                       }
+                               },
+                               "ignore": {
+                                       "version": "5.2.4",
+                                       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+                                       "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+                                       "dev": true
+                               },
+                               "is-fullwidth-code-point": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+                                       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+                                       "dev": true
+                               },
+                               "micromatch": {
+                                       "version": "4.0.5",
+                                       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+                                       "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "braces": "^3.0.2",
+                                               "picomatch": "^2.3.1"
+                                       }
+                               },
+                               "picomatch": {
+                                       "version": "2.3.1",
+                                       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+                                       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+                                       "dev": true
+                               },
+                               "slash": {
+                                       "version": "5.0.0",
+                                       "resolved": "https://registry.npmjs.org/slash/-/slash-5.0.0.tgz",
+                                       "integrity": "sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ==",
+                                       "dev": true
+                               },
+                               "string-width": {
+                                       "version": "4.2.3",
+                                       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+                                       "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "emoji-regex": "^8.0.0",
+                                               "is-fullwidth-code-point": "^3.0.0",
+                                               "strip-ansi": "^6.0.1"
+                                       }
+                               },
+                               "strip-ansi": {
+                                       "version": "6.0.1",
+                                       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+                                       "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-regex": "^5.0.1"
+                                       }
+                               },
+                               "wrap-ansi": {
+                                       "version": "7.0.0",
+                                       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+                                       "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-styles": "^4.0.0",
+                                               "string-width": "^4.1.0",
+                                               "strip-ansi": "^6.0.0"
+                                       }
+                               },
+                               "y18n": {
+                                       "version": "5.0.8",
+                                       "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+                                       "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+                                       "dev": true
+                               },
+                               "yargs": {
+                                       "version": "17.6.2",
+                                       "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz",
+                                       "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cliui": "^8.0.1",
+                                               "escalade": "^3.1.1",
+                                               "get-caller-file": "^2.0.5",
+                                               "require-directory": "^2.1.1",
+                                               "string-width": "^4.2.3",
+                                               "y18n": "^5.0.5",
+                                               "yargs-parser": "^21.1.1"
+                                       }
+                               },
+                               "yargs-parser": {
+                                       "version": "21.1.1",
+                                       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+                                       "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "postcss-css-variables": {
+                       "version": "0.18.0",
+                       "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz",
+                       "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==",
+                       "dev": true,
+                       "requires": {
+                               "balanced-match": "^1.0.0",
+                               "escape-string-regexp": "^1.0.3",
+                               "extend": "^3.0.1"
+                       }
+               },
+               "postcss-custom-media": {
+                       "version": "9.1.1",
+                       "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-9.1.1.tgz",
+                       "integrity": "sha512-veQwzQkHgBkizxYCV/EBsiK8sFIJA0oQMQL9mpQ3gqFGc2dWlNWURHk4J44i9Q0dFeFCK81vV/Xpj7fyfNQKSA==",
+                       "dev": true,
+                       "requires": {
+                               "@csstools/cascade-layer-name-parser": "^1.0.0",
+                               "@csstools/css-parser-algorithms": "^2.0.0",
+                               "@csstools/css-tokenizer": "^2.0.0",
+                               "@csstools/media-query-list-parser": "^2.0.0"
+                       }
+               },
+               "postcss-discard-duplicates": {
+                       "version": "5.1.0",
+                       "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
+                       "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
+                       "dev": true
+               },
+               "postcss-focus-within": {
+                       "version": "7.0.1",
+                       "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-7.0.1.tgz",
+                       "integrity": "sha512-iSpk018Yqn0xwltFR7NHjagyt+e/6u8w50uEnGOcFOddLay5zQFjpJBg6euEZu7wY5WDq83DPpdO99eL+8Er8g==",
+                       "dev": true,
+                       "requires": {
+                               "postcss-selector-parser": "^6.0.10"
+                       },
+                       "dependencies": {
+                               "postcss-selector-parser": {
+                                       "version": "6.0.11",
+                                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+                                       "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cssesc": "^3.0.0",
+                                               "util-deprecate": "^1.0.2"
+                                       }
+                               }
+                       }
+               },
+               "postcss-html": {
+                       "version": "0.36.0",
+                       "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
+                       "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
+                       "dev": true,
+                       "requires": {
+                               "htmlparser2": "^3.10.0"
+                       }
+               },
+               "postcss-less": {
+                       "version": "3.1.4",
+                       "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
+                       "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
+                       "dev": true,
+                       "requires": {
+                               "postcss": "^7.0.14"
+                       },
+                       "dependencies": {
+                               "picocolors": {
+                                       "version": "0.2.1",
+                                       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+                                       "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+                                       "dev": true
+                               },
+                               "postcss": {
+                                       "version": "7.0.39",
+                                       "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+                                       "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "picocolors": "^0.2.1",
+                                               "source-map": "^0.6.1"
+                                       }
+                               }
+                       }
+               },
+               "postcss-load-config": {
+                       "version": "4.0.1",
+                       "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+                       "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
+                       "dev": true,
+                       "requires": {
+                               "lilconfig": "^2.0.5",
+                               "yaml": "^2.1.1"
+                       },
+                       "dependencies": {
+                               "yaml": {
+                                       "version": "2.2.1",
+                                       "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
+                                       "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "postcss-media-query-parser": {
+                       "version": "0.2.3",
+                       "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+                       "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+                       "dev": true
+               },
+               "postcss-merge-rules": {
+                       "version": "5.1.3",
+                       "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz",
+                       "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==",
+                       "dev": true,
+                       "requires": {
+                               "browserslist": "^4.21.4",
+                               "caniuse-api": "^3.0.0",
+                               "cssnano-utils": "^3.1.0",
+                               "postcss-selector-parser": "^6.0.5"
+                       },
+                       "dependencies": {
+                               "browserslist": {
+                                       "version": "4.21.5",
+                                       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+                                       "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "caniuse-lite": "^1.0.30001449",
+                                               "electron-to-chromium": "^1.4.284",
+                                               "node-releases": "^2.0.8",
+                                               "update-browserslist-db": "^1.0.10"
+                                       }
+                               },
+                               "caniuse-lite": {
+                                       "version": "1.0.30001450",
+                                       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz",
+                                       "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==",
+                                       "dev": true
+                               },
+                               "electron-to-chromium": {
+                                       "version": "1.4.286",
+                                       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.286.tgz",
+                                       "integrity": "sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ==",
+                                       "dev": true
+                               },
+                               "node-releases": {
+                                       "version": "2.0.10",
+                                       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+                                       "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
+                                       "dev": true
+                               },
+                               "postcss-selector-parser": {
+                                       "version": "6.0.11",
+                                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+                                       "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cssesc": "^3.0.0",
+                                               "util-deprecate": "^1.0.2"
+                                       }
+                               },
+                               "update-browserslist-db": {
+                                       "version": "1.0.10",
+                                       "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+                                       "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "escalade": "^3.1.1",
+                                               "picocolors": "^1.0.0"
+                                       }
+                               }
+                       }
+               },
+               "postcss-nested": {
+                       "version": "6.0.0",
+                       "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
+                       "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
+                       "dev": true,
+                       "requires": {
+                               "postcss-selector-parser": "^6.0.10"
+                       },
+                       "dependencies": {
+                               "postcss-selector-parser": {
+                                       "version": "6.0.11",
+                                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+                                       "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cssesc": "^3.0.0",
+                                               "util-deprecate": "^1.0.2"
+                                       }
+                               }
+                       }
+               },
+               "postcss-reporter": {
+                       "version": "7.0.5",
+                       "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
+                       "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
+                       "dev": true,
+                       "requires": {
+                               "picocolors": "^1.0.0",
+                               "thenby": "^1.3.4"
+                       }
+               },
+               "postcss-resolve-nested-selector": {
+                       "version": "0.1.1",
+                       "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+                       "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+                       "dev": true
+               },
+               "postcss-safe-parser": {
+                       "version": "4.0.2",
+                       "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
+                       "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
+                       "dev": true,
+                       "requires": {
+                               "postcss": "^7.0.26"
+                       },
+                       "dependencies": {
+                               "picocolors": {
+                                       "version": "0.2.1",
+                                       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+                                       "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+                                       "dev": true
+                               },
+                               "postcss": {
+                                       "version": "7.0.39",
+                                       "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+                                       "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "picocolors": "^0.2.1",
+                                               "source-map": "^0.6.1"
+                                       }
+                               }
+                       }
+               },
+               "postcss-sass": {
+                       "version": "0.4.4",
+                       "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
+                       "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
+                       "dev": true,
+                       "requires": {
+                               "gonzales-pe": "^4.3.0",
+                               "postcss": "^7.0.21"
+                       },
+                       "dependencies": {
+                               "picocolors": {
+                                       "version": "0.2.1",
+                                       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+                                       "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+                                       "dev": true
+                               },
+                               "postcss": {
+                                       "version": "7.0.39",
+                                       "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+                                       "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "picocolors": "^0.2.1",
+                                               "source-map": "^0.6.1"
+                                       }
+                               }
+                       }
+               },
+               "postcss-scss": {
+                       "version": "4.0.5",
+                       "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.5.tgz",
+                       "integrity": "sha512-F7xpB6TrXyqUh3GKdyB4Gkp3QL3DDW1+uI+gxx/oJnUt/qXI4trj5OGlp9rOKdoABGULuqtqeG+3HEVQk4DjmA==",
+                       "dev": true
+               },
+               "postcss-selector-parser": {
+                       "version": "6.0.4",
+                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz",
+                       "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==",
+                       "dev": true,
+                       "requires": {
+                               "cssesc": "^3.0.0",
+                               "indexes-of": "^1.0.1",
+                               "uniq": "^1.0.1",
+                               "util-deprecate": "^1.0.2"
+                       }
+               },
+               "postcss-syntax": {
+                       "version": "0.36.2",
+                       "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
+                       "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
+                       "dev": true
+               },
+               "postcss-value-parser": {
+                       "version": "4.1.0",
+                       "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+                       "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+                       "dev": true
+               },
+               "prelude-ls": {
+                       "version": "1.2.1",
+                       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+                       "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+                       "dev": true
+               },
+               "prettier-linter-helpers": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+                       "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+                       "dev": true,
+                       "requires": {
+                               "fast-diff": "^1.1.2"
+                       }
+               },
+               "pretty-hrtime": {
+                       "version": "1.0.3",
+                       "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+                       "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
+                       "dev": true
+               },
+               "prop-types": {
+                       "version": "15.8.1",
+                       "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+                       "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+                       "dev": true,
+                       "requires": {
+                               "loose-envify": "^1.4.0",
+                               "object-assign": "^4.1.1",
+                               "react-is": "^16.13.1"
+                       }
+               },
+               "punycode": {
+                       "version": "2.1.1",
+                       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+                       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+                       "dev": true
+               },
+               "queue-microtask": {
+                       "version": "1.2.3",
+                       "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+                       "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+                       "dev": true
+               },
+               "quick-lru": {
+                       "version": "4.0.1",
+                       "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+                       "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+                       "dev": true
+               },
+               "react-is": {
+                       "version": "16.13.1",
+                       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+                       "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+                       "dev": true
+               },
+               "read-cache": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+                       "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+                       "dev": true,
+                       "requires": {
+                               "pify": "^2.3.0"
+                       },
+                       "dependencies": {
+                               "pify": {
+                                       "version": "2.3.0",
+                                       "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+                                       "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "read-pkg": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+                       "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+                       "dev": true,
+                       "requires": {
+                               "load-json-file": "^4.0.0",
+                               "normalize-package-data": "^2.3.2",
+                               "path-type": "^3.0.0"
+                       },
+                       "dependencies": {
+                               "path-type": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+                                       "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "pify": "^3.0.0"
+                                       }
+                               }
+                       }
+               },
+               "read-pkg-up": {
+                       "version": "7.0.1",
+                       "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+                       "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+                       "dev": true,
+                       "requires": {
+                               "find-up": "^4.1.0",
+                               "read-pkg": "^5.2.0",
+                               "type-fest": "^0.8.1"
+                       },
+                       "dependencies": {
+                               "find-up": {
+                                       "version": "4.1.0",
+                                       "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+                                       "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "locate-path": "^5.0.0",
+                                               "path-exists": "^4.0.0"
+                                       }
+                               },
+                               "locate-path": {
+                                       "version": "5.0.0",
+                                       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+                                       "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-locate": "^4.1.0"
+                                       }
+                               },
+                               "p-locate": {
+                                       "version": "4.1.0",
+                                       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+                                       "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-limit": "^2.2.0"
+                                       }
+                               },
+                               "path-exists": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+                                       "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+                                       "dev": true
+                               },
+                               "read-pkg": {
+                                       "version": "5.2.0",
+                                       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+                                       "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "@types/normalize-package-data": "^2.4.0",
+                                               "normalize-package-data": "^2.5.0",
+                                               "parse-json": "^5.0.0",
+                                               "type-fest": "^0.6.0"
+                                       },
+                                       "dependencies": {
+                                               "type-fest": {
+                                                       "version": "0.6.0",
+                                                       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+                                                       "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+                                                       "dev": true
+                                               }
+                                       }
+                               }
+                       }
+               },
+               "readable-stream": {
+                       "version": "3.6.0",
+                       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+                       "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+                       "dev": true,
+                       "requires": {
+                               "inherits": "^2.0.3",
+                               "string_decoder": "^1.1.1",
+                               "util-deprecate": "^1.0.1"
+                       }
+               },
+               "readdirp": {
+                       "version": "3.6.0",
+                       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+                       "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+                       "dev": true,
+                       "requires": {
+                               "picomatch": "^2.2.1"
+                       }
+               },
+               "redent": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+                       "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+                       "dev": true,
+                       "requires": {
+                               "indent-string": "^4.0.0",
+                               "strip-indent": "^3.0.0"
+                       }
+               },
+               "regenerator-runtime": {
+                       "version": "0.13.9",
+                       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+                       "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
+                       "dev": true
+               },
+               "regexp.prototype.flags": {
+                       "version": "1.4.3",
+                       "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
+                       "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "functions-have-names": "^1.2.2"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "regexpp": {
+                       "version": "3.2.0",
+                       "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+                       "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+                       "dev": true
+               },
+               "regextras": {
+                       "version": "0.8.0",
+                       "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
+                       "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
+                       "dev": true
+               },
+               "remark": {
+                       "version": "13.0.0",
+                       "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz",
+                       "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==",
+                       "dev": true,
+                       "requires": {
+                               "remark-parse": "^9.0.0",
+                               "remark-stringify": "^9.0.0",
+                               "unified": "^9.1.0"
+                       }
+               },
+               "remark-parse": {
+                       "version": "9.0.0",
+                       "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz",
+                       "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==",
+                       "dev": true,
+                       "requires": {
+                               "mdast-util-from-markdown": "^0.8.0"
+                       }
+               },
+               "remark-stringify": {
+                       "version": "9.0.1",
+                       "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz",
+                       "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==",
+                       "dev": true,
+                       "requires": {
+                               "mdast-util-to-markdown": "^0.6.0"
+                       }
+               },
+               "repeat-string": {
+                       "version": "1.6.1",
+                       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+                       "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
+                       "dev": true
+               },
+               "require-directory": {
+                       "version": "2.1.1",
+                       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+                       "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+                       "dev": true
+               },
+               "require-from-string": {
+                       "version": "2.0.2",
+                       "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+                       "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+                       "dev": true
+               },
+               "require-main-filename": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+                       "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+                       "dev": true
+               },
+               "requireindex": {
+                       "version": "1.2.0",
+                       "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+                       "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
+                       "dev": true
+               },
+               "resolve": {
+                       "version": "1.19.0",
+                       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
+                       "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
+                       "dev": true,
+                       "requires": {
+                               "is-core-module": "^2.1.0",
+                               "path-parse": "^1.0.6"
+                       }
+               },
+               "resolve-from": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+                       "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+                       "dev": true
+               },
+               "reusify": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+                       "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+                       "dev": true
+               },
+               "rimraf": {
+                       "version": "3.0.2",
+                       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+                       "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+                       "dev": true,
+                       "requires": {
+                               "glob": "^7.1.3"
+                       }
+               },
+               "rtlcss": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.0.0.tgz",
+                       "integrity": "sha512-j6oypPP+mgFwDXL1JkLCtm6U/DQntMUqlv5SOhpgHhdIE+PmBcjrtAHIpXfbIup47kD5Sgja9JDsDF1NNOsBwQ==",
+                       "dev": true,
+                       "requires": {
+                               "escalade": "^3.1.1",
+                               "picocolors": "^1.0.0",
+                               "postcss": "^8.4.6",
+                               "strip-json-comments": "^3.1.1"
+                       }
+               },
+               "run-parallel": {
+                       "version": "1.2.0",
+                       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+                       "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+                       "dev": true,
+                       "requires": {
+                               "queue-microtask": "^1.2.2"
+                       }
+               },
+               "safe-buffer": {
+                       "version": "5.1.2",
+                       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+                       "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+                       "dev": true
+               },
+               "sass": {
+                       "version": "1.58.0",
+                       "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz",
+                       "integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==",
+                       "dev": true,
+                       "requires": {
+                               "chokidar": ">=3.0.0 <4.0.0",
+                               "immutable": "^4.0.0",
+                               "source-map-js": ">=0.6.2 <2.0.0"
+                       }
+               },
+               "semver": {
+                       "version": "7.3.5",
+                       "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+                       "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+                       "dev": true,
+                       "requires": {
+                               "lru-cache": "^6.0.0"
+                       }
+               },
+               "set-blocking": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+                       "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+                       "dev": true
+               },
+               "shebang-command": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+                       "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+                       "dev": true,
+                       "requires": {
+                               "shebang-regex": "^3.0.0"
+                       }
+               },
+               "shebang-regex": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+                       "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+                       "dev": true
+               },
+               "shell-quote": {
+                       "version": "1.7.3",
+                       "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz",
+                       "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==",
+                       "dev": true
+               },
+               "side-channel": {
+                       "version": "1.0.4",
+                       "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+                       "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.0",
+                               "get-intrinsic": "^1.0.2",
+                               "object-inspect": "^1.9.0"
+                       },
+                       "dependencies": {
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               }
+                       }
+               },
+               "signal-exit": {
+                       "version": "3.0.7",
+                       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+                       "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+                       "dev": true
+               },
+               "slash": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+                       "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+                       "dev": true
+               },
+               "slice-ansi": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+                       "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+                       "dev": true,
+                       "requires": {
+                               "ansi-styles": "^4.0.0",
+                               "astral-regex": "^2.0.0",
+                               "is-fullwidth-code-point": "^3.0.0"
+                       },
+                       "dependencies": {
+                               "ansi-styles": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+                                       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-convert": "^2.0.1"
+                                       }
+                               },
+                               "color-convert": {
+                                       "version": "2.0.1",
+                                       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+                                       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-name": "~1.1.4"
+                                       }
+                               },
+                               "color-name": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+                                       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+                                       "dev": true
+                               },
+                               "is-fullwidth-code-point": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+                                       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "source-map": {
+                       "version": "0.6.1",
+                       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+                       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+                       "dev": true
+               },
+               "source-map-js": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+                       "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+                       "dev": true
+               },
+               "spdx-correct": {
+                       "version": "3.1.1",
+                       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+                       "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+                       "dev": true,
+                       "requires": {
+                               "spdx-expression-parse": "^3.0.0",
+                               "spdx-license-ids": "^3.0.0"
+                       }
+               },
+               "spdx-exceptions": {
+                       "version": "2.3.0",
+                       "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+                       "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+                       "dev": true
+               },
+               "spdx-expression-parse": {
+                       "version": "3.0.1",
+                       "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+                       "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+                       "dev": true,
+                       "requires": {
+                               "spdx-exceptions": "^2.1.0",
+                               "spdx-license-ids": "^3.0.0"
+                       }
+               },
+               "spdx-license-ids": {
+                       "version": "3.0.7",
+                       "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
+                       "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
+                       "dev": true
+               },
+               "specificity": {
+                       "version": "0.4.1",
+                       "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
+                       "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+                       "dev": true
+               },
+               "string-width": {
+                       "version": "3.1.0",
+                       "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+                       "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+                       "dev": true,
+                       "requires": {
+                               "emoji-regex": "^7.0.1",
+                               "is-fullwidth-code-point": "^2.0.0",
+                               "strip-ansi": "^5.1.0"
+                       },
+                       "dependencies": {
+                               "emoji-regex": {
+                                       "version": "7.0.3",
+                                       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+                                       "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "string.prototype.matchall": {
+                       "version": "4.0.7",
+                       "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz",
+                       "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.19.1",
+                               "get-intrinsic": "^1.1.1",
+                               "has-symbols": "^1.0.3",
+                               "internal-slot": "^1.0.3",
+                               "regexp.prototype.flags": "^1.4.1",
+                               "side-channel": "^1.0.4"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "es-abstract": {
+                                       "version": "1.19.5",
+                                       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz",
+                                       "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "es-to-primitive": "^1.2.1",
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.1.1",
+                                               "get-symbol-description": "^1.0.0",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.3",
+                                               "internal-slot": "^1.0.3",
+                                               "is-callable": "^1.2.4",
+                                               "is-negative-zero": "^2.0.2",
+                                               "is-regex": "^1.1.4",
+                                               "is-shared-array-buffer": "^1.0.2",
+                                               "is-string": "^1.0.7",
+                                               "is-weakref": "^1.0.2",
+                                               "object-inspect": "^1.12.0",
+                                               "object-keys": "^1.1.1",
+                                               "object.assign": "^4.1.2",
+                                               "string.prototype.trimend": "^1.0.4",
+                                               "string.prototype.trimstart": "^1.0.4",
+                                               "unbox-primitive": "^1.0.1"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "has-symbols": {
+                                       "version": "1.0.3",
+                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                       "dev": true
+                               },
+                               "is-callable": {
+                                       "version": "1.2.4",
+                                       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+                                       "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+                                       "dev": true
+                               },
+                               "is-negative-zero": {
+                                       "version": "2.0.2",
+                                       "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+                                       "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+                                       "dev": true
+                               },
+                               "is-regex": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+                                       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "has-tostringtag": "^1.0.0"
+                                       }
+                               },
+                               "object-inspect": {
+                                       "version": "1.12.0",
+                                       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+                                       "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+                                       "dev": true
+                               },
+                               "string.prototype.trimend": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+                                       "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               },
+                               "string.prototype.trimstart": {
+                                       "version": "1.0.4",
+                                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+                                       "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "call-bind": "^1.0.2",
+                                               "define-properties": "^1.1.3"
+                                       }
+                               }
+                       }
+               },
+               "string.prototype.padend": {
+                       "version": "3.1.1",
+                       "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz",
+                       "integrity": "sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.0",
+                               "define-properties": "^1.1.3",
+                               "es-abstract": "^1.18.0-next.1"
+                       }
+               },
+               "string.prototype.trimend": {
+                       "version": "1.0.3",
+                       "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
+                       "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.0",
+                               "define-properties": "^1.1.3"
+                       }
+               },
+               "string.prototype.trimstart": {
+                       "version": "1.0.3",
+                       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
+                       "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.0",
+                               "define-properties": "^1.1.3"
+                       }
+               },
+               "string_decoder": {
+                       "version": "1.3.0",
+                       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+                       "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+                       "dev": true,
+                       "requires": {
+                               "safe-buffer": "~5.2.0"
+                       },
+                       "dependencies": {
+                               "safe-buffer": {
+                                       "version": "5.2.1",
+                                       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+                                       "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "strip-ansi": {
+                       "version": "5.2.0",
+                       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+                       "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+                       "dev": true,
+                       "requires": {
+                               "ansi-regex": "^4.1.0"
+                       }
+               },
+               "strip-bom": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+                       "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+                       "dev": true
+               },
+               "strip-indent": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+                       "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+                       "dev": true,
+                       "requires": {
+                               "min-indent": "^1.0.0"
+                       }
+               },
+               "strip-json-comments": {
+                       "version": "3.1.1",
+                       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+                       "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+                       "dev": true
+               },
+               "style-search": {
+                       "version": "0.1.0",
+                       "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+                       "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
+                       "dev": true
+               },
+               "stylelint": {
+                       "version": "13.13.1",
+                       "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz",
+                       "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==",
+                       "dev": true,
+                       "requires": {
+                               "@stylelint/postcss-css-in-js": "^0.37.2",
+                               "@stylelint/postcss-markdown": "^0.36.2",
+                               "autoprefixer": "^9.8.6",
+                               "balanced-match": "^2.0.0",
+                               "chalk": "^4.1.1",
+                               "cosmiconfig": "^7.0.0",
+                               "debug": "^4.3.1",
+                               "execall": "^2.0.0",
+                               "fast-glob": "^3.2.5",
+                               "fastest-levenshtein": "^1.0.12",
+                               "file-entry-cache": "^6.0.1",
+                               "get-stdin": "^8.0.0",
+                               "global-modules": "^2.0.0",
+                               "globby": "^11.0.3",
+                               "globjoin": "^0.1.4",
+                               "html-tags": "^3.1.0",
+                               "ignore": "^5.1.8",
+                               "import-lazy": "^4.0.0",
+                               "imurmurhash": "^0.1.4",
+                               "known-css-properties": "^0.21.0",
+                               "lodash": "^4.17.21",
+                               "log-symbols": "^4.1.0",
+                               "mathml-tag-names": "^2.1.3",
+                               "meow": "^9.0.0",
+                               "micromatch": "^4.0.4",
+                               "normalize-selector": "^0.2.0",
+                               "postcss": "^7.0.35",
+                               "postcss-html": "^0.36.0",
+                               "postcss-less": "^3.1.4",
+                               "postcss-media-query-parser": "^0.2.3",
+                               "postcss-resolve-nested-selector": "^0.1.1",
+                               "postcss-safe-parser": "^4.0.2",
+                               "postcss-sass": "^0.4.4",
+                               "postcss-scss": "^2.1.1",
+                               "postcss-selector-parser": "^6.0.5",
+                               "postcss-syntax": "^0.36.2",
+                               "postcss-value-parser": "^4.1.0",
+                               "resolve-from": "^5.0.0",
+                               "slash": "^3.0.0",
+                               "specificity": "^0.4.1",
+                               "string-width": "^4.2.2",
+                               "strip-ansi": "^6.0.0",
+                               "style-search": "^0.1.0",
+                               "sugarss": "^2.0.0",
+                               "svg-tags": "^1.0.0",
+                               "table": "^6.6.0",
+                               "v8-compile-cache": "^2.3.0",
+                               "write-file-atomic": "^3.0.3"
+                       },
+                       "dependencies": {
+                               "ansi-regex": {
+                                       "version": "5.0.1",
+                                       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+                                       "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+                                       "dev": true
+                               },
+                               "ansi-styles": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+                                       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-convert": "^2.0.1"
+                                       }
+                               },
+                               "autoprefixer": {
+                                       "version": "9.8.8",
+                                       "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz",
+                                       "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "browserslist": "^4.12.0",
+                                               "caniuse-lite": "^1.0.30001109",
+                                               "normalize-range": "^0.1.2",
+                                               "num2fraction": "^1.2.2",
+                                               "picocolors": "^0.2.1",
+                                               "postcss": "^7.0.32",
+                                               "postcss-value-parser": "^4.1.0"
+                                       }
+                               },
+                               "balanced-match": {
+                                       "version": "2.0.0",
+                                       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+                                       "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+                                       "dev": true
+                               },
+                               "chalk": {
+                                       "version": "4.1.2",
+                                       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+                                       "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-styles": "^4.1.0",
+                                               "supports-color": "^7.1.0"
+                                       }
+                               },
+                               "color-convert": {
+                                       "version": "2.0.1",
+                                       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+                                       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "color-name": "~1.1.4"
+                                       }
+                               },
+                               "color-name": {
+                                       "version": "1.1.4",
+                                       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+                                       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+                                       "dev": true
+                               },
+                               "emoji-regex": {
+                                       "version": "8.0.0",
+                                       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+                                       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+                                       "dev": true
+                               },
+                               "has-flag": {
+                                       "version": "4.0.0",
+                                       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+                                       "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+                                       "dev": true
+                               },
+                               "is-fullwidth-code-point": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+                                       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+                                       "dev": true
+                               },
+                               "micromatch": {
+                                       "version": "4.0.5",
+                                       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+                                       "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "braces": "^3.0.2",
+                                               "picomatch": "^2.3.1"
+                                       }
+                               },
+                               "picocolors": {
+                                       "version": "0.2.1",
+                                       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+                                       "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+                                       "dev": true
+                               },
+                               "picomatch": {
+                                       "version": "2.3.1",
+                                       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+                                       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+                                       "dev": true
+                               },
+                               "postcss": {
+                                       "version": "7.0.39",
+                                       "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+                                       "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "picocolors": "^0.2.1",
+                                               "source-map": "^0.6.1"
+                                       }
+                               },
+                               "postcss-scss": {
+                                       "version": "2.1.1",
+                                       "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz",
+                                       "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "postcss": "^7.0.6"
+                                       }
+                               },
+                               "postcss-selector-parser": {
+                                       "version": "6.0.10",
+                                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+                                       "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cssesc": "^3.0.0",
+                                               "util-deprecate": "^1.0.2"
+                                       }
+                               },
+                               "resolve-from": {
+                                       "version": "5.0.0",
+                                       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+                                       "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+                                       "dev": true
+                               },
+                               "string-width": {
+                                       "version": "4.2.3",
+                                       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+                                       "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "emoji-regex": "^8.0.0",
+                                               "is-fullwidth-code-point": "^3.0.0",
+                                               "strip-ansi": "^6.0.1"
+                                       }
+                               },
+                               "strip-ansi": {
+                                       "version": "6.0.1",
+                                       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+                                       "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-regex": "^5.0.1"
+                                       }
+                               },
+                               "supports-color": {
+                                       "version": "7.2.0",
+                                       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+                                       "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+                                       "dev": true,
+                                       "requires": {
+                                               "has-flag": "^4.0.0"
+                                       }
+                               }
+                       }
+               },
+               "stylelint-config-recommended": {
+                       "version": "3.0.0",
+                       "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz",
+                       "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==",
+                       "dev": true
+               },
+               "stylelint-config-recommended-scss": {
+                       "version": "5.0.2",
+                       "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz",
+                       "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==",
+                       "dev": true,
+                       "requires": {
+                               "postcss-scss": "^4.0.2",
+                               "stylelint-config-recommended": "^6.0.0",
+                               "stylelint-scss": "^4.0.0"
+                       },
+                       "dependencies": {
+                               "postcss-selector-parser": {
+                                       "version": "6.0.10",
+                                       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+                                       "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+                                       "dev": true,
+                                       "requires": {
+                                               "cssesc": "^3.0.0",
+                                               "util-deprecate": "^1.0.2"
+                                       }
+                               },
+                               "stylelint-config-recommended": {
+                                       "version": "6.0.0",
+                                       "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz",
+                                       "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==",
+                                       "dev": true
+                               },
+                               "stylelint-scss": {
+                                       "version": "4.3.0",
+                                       "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.3.0.tgz",
+                                       "integrity": "sha512-GvSaKCA3tipzZHoz+nNO7S02ZqOsdBzMiCx9poSmLlb3tdJlGddEX/8QzCOD8O7GQan9bjsvLMsO5xiw6IhhIQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "lodash": "^4.17.21",
+                                               "postcss-media-query-parser": "^0.2.3",
+                                               "postcss-resolve-nested-selector": "^0.1.1",
+                                               "postcss-selector-parser": "^6.0.6",
+                                               "postcss-value-parser": "^4.1.0"
+                                       }
+                               }
+                       }
+               },
+               "stylelint-scss": {
+                       "version": "3.21.0",
+                       "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.21.0.tgz",
+                       "integrity": "sha512-CMI2wSHL+XVlNExpauy/+DbUcB/oUZLARDtMIXkpV/5yd8nthzylYd1cdHeDMJVBXeYHldsnebUX6MoV5zPW4A==",
+                       "dev": true,
+                       "requires": {
+                               "lodash": "^4.17.15",
+                               "postcss-media-query-parser": "^0.2.3",
+                               "postcss-resolve-nested-selector": "^0.1.1",
+                               "postcss-selector-parser": "^6.0.2",
+                               "postcss-value-parser": "^4.1.0"
+                       }
+               },
+               "sugarss": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
+                       "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
+                       "dev": true,
+                       "requires": {
+                               "postcss": "^7.0.2"
+                       },
+                       "dependencies": {
+                               "picocolors": {
+                                       "version": "0.2.1",
+                                       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+                                       "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+                                       "dev": true
+                               },
+                               "postcss": {
+                                       "version": "7.0.39",
+                                       "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+                                       "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "picocolors": "^0.2.1",
+                                               "source-map": "^0.6.1"
+                                       }
+                               }
+                       }
+               },
+               "supports-color": {
+                       "version": "5.5.0",
+                       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+                       "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+                       "dev": true,
+                       "requires": {
+                               "has-flag": "^3.0.0"
+                       }
+               },
+               "supports-preserve-symlinks-flag": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+                       "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+                       "dev": true
+               },
+               "svg-tags": {
+                       "version": "1.0.0",
+                       "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+                       "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
+                       "dev": true
+               },
+               "table": {
+                       "version": "6.8.0",
+                       "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
+                       "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+                       "dev": true,
+                       "requires": {
+                               "ajv": "^8.0.1",
+                               "lodash.truncate": "^4.4.2",
+                               "slice-ansi": "^4.0.0",
+                               "string-width": "^4.2.3",
+                               "strip-ansi": "^6.0.1"
+                       },
+                       "dependencies": {
+                               "ajv": {
+                                       "version": "8.11.0",
+                                       "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+                                       "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "fast-deep-equal": "^3.1.1",
+                                               "json-schema-traverse": "^1.0.0",
+                                               "require-from-string": "^2.0.2",
+                                               "uri-js": "^4.2.2"
+                                       }
+                               },
+                               "ansi-regex": {
+                                       "version": "5.0.1",
+                                       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+                                       "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+                                       "dev": true
+                               },
+                               "emoji-regex": {
+                                       "version": "8.0.0",
+                                       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+                                       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+                                       "dev": true
+                               },
+                               "is-fullwidth-code-point": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+                                       "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+                                       "dev": true
+                               },
+                               "json-schema-traverse": {
+                                       "version": "1.0.0",
+                                       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+                                       "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+                                       "dev": true
+                               },
+                               "string-width": {
+                                       "version": "4.2.3",
+                                       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+                                       "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+                                       "dev": true,
+                                       "requires": {
+                                               "emoji-regex": "^8.0.0",
+                                               "is-fullwidth-code-point": "^3.0.0",
+                                               "strip-ansi": "^6.0.1"
+                                       }
+                               },
+                               "strip-ansi": {
+                                       "version": "6.0.1",
+                                       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+                                       "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "ansi-regex": "^5.0.1"
+                                       }
+                               }
+                       }
+               },
+               "text-table": {
+                       "version": "0.2.0",
+                       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+                       "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+                       "dev": true
+               },
+               "thenby": {
+                       "version": "1.3.4",
+                       "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
+                       "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==",
+                       "dev": true
+               },
+               "to-fast-properties": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+                       "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+                       "dev": true
+               },
+               "to-regex-range": {
+                       "version": "5.0.1",
+                       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+                       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+                       "dev": true,
+                       "requires": {
+                               "is-number": "^7.0.0"
+                       }
+               },
+               "trim-newlines": {
+                       "version": "3.0.1",
+                       "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+                       "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+                       "dev": true
+               },
+               "trough": {
+                       "version": "1.0.5",
+                       "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+                       "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
+                       "dev": true
+               },
+               "tsconfig-paths": {
+                       "version": "3.14.1",
+                       "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
+                       "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
+                       "dev": true,
+                       "requires": {
+                               "@types/json5": "^0.0.29",
+                               "json5": "^1.0.1",
+                               "minimist": "^1.2.6",
+                               "strip-bom": "^3.0.0"
+                       }
+               },
+               "tslib": {
+                       "version": "1.14.1",
+                       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+                       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+                       "dev": true
+               },
+               "tsutils": {
+                       "version": "3.21.0",
+                       "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+                       "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+                       "dev": true,
+                       "requires": {
+                               "tslib": "^1.8.1"
+                       }
+               },
+               "type-check": {
+                       "version": "0.4.0",
+                       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+                       "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+                       "dev": true,
+                       "requires": {
+                               "prelude-ls": "^1.2.1"
+                       }
+               },
+               "type-fest": {
+                       "version": "0.8.1",
+                       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+                       "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+                       "dev": true
+               },
+               "typedarray-to-buffer": {
+                       "version": "3.1.5",
+                       "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+                       "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+                       "dev": true,
+                       "requires": {
+                               "is-typedarray": "^1.0.0"
+                       }
+               },
+               "unbox-primitive": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+                       "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+                       "dev": true,
+                       "requires": {
+                               "call-bind": "^1.0.2",
+                               "has-bigints": "^1.0.2",
+                               "has-symbols": "^1.0.3",
+                               "which-boxed-primitive": "^1.0.2"
+                       },
+                       "dependencies": {
+                               "call-bind": {
+                                       "version": "1.0.2",
+                                       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+                                       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "get-intrinsic": "^1.0.2"
+                                       }
+                               },
+                               "get-intrinsic": {
+                                       "version": "1.1.1",
+                                       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+                                       "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+                                       "dev": true,
+                                       "requires": {
+                                               "function-bind": "^1.1.1",
+                                               "has": "^1.0.3",
+                                               "has-symbols": "^1.0.1"
+                                       }
+                               },
+                               "has-symbols": {
+                                       "version": "1.0.3",
+                                       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+                                       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+                                       "dev": true
+                               }
+                       }
+               },
+               "unified": {
+                       "version": "9.2.2",
+                       "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz",
+                       "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==",
+                       "dev": true,
+                       "requires": {
+                               "bail": "^1.0.0",
+                               "extend": "^3.0.0",
+                               "is-buffer": "^2.0.0",
+                               "is-plain-obj": "^2.0.0",
+                               "trough": "^1.0.0",
+                               "vfile": "^4.0.0"
+                       }
+               },
+               "uniq": {
+                       "version": "1.0.1",
+                       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+                       "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+                       "dev": true
+               },
+               "unist-util-find-all-after": {
+                       "version": "3.0.2",
+                       "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz",
+                       "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==",
+                       "dev": true,
+                       "requires": {
+                               "unist-util-is": "^4.0.0"
+                       }
+               },
+               "unist-util-is": {
+                       "version": "4.1.0",
+                       "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
+                       "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
+                       "dev": true
+               },
+               "unist-util-stringify-position": {
+                       "version": "2.0.3",
+                       "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+                       "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
+                       "dev": true,
+                       "requires": {
+                               "@types/unist": "^2.0.2"
+                       }
+               },
+               "universalify": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+                       "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+                       "dev": true
+               },
+               "update-browserslist-db": {
+                       "version": "1.0.9",
+                       "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz",
+                       "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==",
+                       "dev": true,
+                       "requires": {
+                               "escalade": "^3.1.1",
+                               "picocolors": "^1.0.0"
+                       }
+               },
+               "uri-js": {
+                       "version": "4.4.1",
+                       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+                       "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+                       "dev": true,
+                       "requires": {
+                               "punycode": "^2.1.0"
+                       }
+               },
+               "util-deprecate": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+                       "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+                       "dev": true
+               },
+               "v8-compile-cache": {
+                       "version": "2.3.0",
+                       "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+                       "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+                       "dev": true
+               },
+               "validate-npm-package-license": {
+                       "version": "3.0.4",
+                       "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+                       "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+                       "dev": true,
+                       "requires": {
+                               "spdx-correct": "^3.0.0",
+                               "spdx-expression-parse": "^3.0.0"
+                       }
+               },
+               "vfile": {
+                       "version": "4.2.1",
+                       "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
+                       "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
+                       "dev": true,
+                       "requires": {
+                               "@types/unist": "^2.0.0",
+                               "is-buffer": "^2.0.0",
+                               "unist-util-stringify-position": "^2.0.0",
+                               "vfile-message": "^2.0.0"
+                       }
+               },
+               "vfile-message": {
+                       "version": "2.0.4",
+                       "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+                       "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
+                       "dev": true,
+                       "requires": {
+                               "@types/unist": "^2.0.0",
+                               "unist-util-stringify-position": "^2.0.0"
+                       }
+               },
+               "which": {
+                       "version": "2.0.2",
+                       "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+                       "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+                       "dev": true,
+                       "requires": {
+                               "isexe": "^2.0.0"
+                       }
+               },
+               "which-boxed-primitive": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+                       "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+                       "dev": true,
+                       "requires": {
+                               "is-bigint": "^1.0.1",
+                               "is-boolean-object": "^1.1.0",
+                               "is-number-object": "^1.0.4",
+                               "is-string": "^1.0.5",
+                               "is-symbol": "^1.0.3"
+                       }
+               },
+               "which-module": {
+                       "version": "2.0.0",
+                       "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+                       "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+                       "dev": true
+               },
+               "word-wrap": {
+                       "version": "1.2.3",
+                       "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+                       "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+                       "dev": true
+               },
+               "wrap-ansi": {
+                       "version": "5.1.0",
+                       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+                       "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+                       "dev": true,
+                       "requires": {
+                               "ansi-styles": "^3.2.0",
+                               "string-width": "^3.0.0",
+                               "strip-ansi": "^5.0.0"
+                       }
+               },
+               "wrappy": {
+                       "version": "1.0.2",
+                       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+                       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+                       "dev": true
+               },
+               "write-file-atomic": {
+                       "version": "3.0.3",
+                       "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+                       "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+                       "dev": true,
+                       "requires": {
+                               "imurmurhash": "^0.1.4",
+                               "is-typedarray": "^1.0.0",
+                               "signal-exit": "^3.0.2",
+                               "typedarray-to-buffer": "^3.1.5"
+                       }
+               },
+               "y18n": {
+                       "version": "4.0.3",
+                       "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+                       "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+                       "dev": true
+               },
+               "yallist": {
+                       "version": "4.0.0",
+                       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+                       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+                       "dev": true
+               },
+               "yaml": {
+                       "version": "1.10.2",
+                       "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+                       "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+                       "dev": true
+               },
+               "yargs": {
+                       "version": "13.3.2",
+                       "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+                       "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+                       "dev": true,
+                       "requires": {
+                               "cliui": "^5.0.0",
+                               "find-up": "^3.0.0",
+                               "get-caller-file": "^2.0.1",
+                               "require-directory": "^2.1.1",
+                               "require-main-filename": "^2.0.0",
+                               "set-blocking": "^2.0.0",
+                               "string-width": "^3.0.0",
+                               "which-module": "^2.0.0",
+                               "y18n": "^4.0.0",
+                               "yargs-parser": "^13.1.2"
+                       },
+                       "dependencies": {
+                               "find-up": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+                                       "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+                                       "dev": true,
+                                       "requires": {
+                                               "locate-path": "^3.0.0"
+                                       }
+                               },
+                               "locate-path": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+                                       "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-locate": "^3.0.0",
+                                               "path-exists": "^3.0.0"
+                                       }
+                               },
+                               "p-locate": {
+                                       "version": "3.0.0",
+                                       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+                                       "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+                                       "dev": true,
+                                       "requires": {
+                                               "p-limit": "^2.0.0"
+                                       }
+                               }
+                       }
+               },
+               "yargs-parser": {
+                       "version": "13.1.2",
+                       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+                       "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+                       "dev": true,
+                       "requires": {
+                               "camelcase": "^5.0.0",
+                               "decamelize": "^1.2.0"
+                       }
+               },
+               "yocto-queue": {
+                       "version": "0.1.0",
+                       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+                       "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+                       "dev": true
+               },
+               "zwitch": {
+                       "version": "1.0.5",
+                       "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
+                       "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==",
+                       "dev": true
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/package.json b/wp-content/themes/twentytwentyone/package.json
new file mode 100644 (file)
index 0000000..bc90bc1
--- /dev/null
@@ -0,0 +1,70 @@
+{
+       "name": "twentytwentyone",
+       "version": "1.8.0",
+       "description": "Default WP Theme",
+       "author": "The WordPress Contributors",
+       "license": "GPL-2.0-or-later",
+       "keywords": [
+               "WordPress",
+               "Theme"
+       ],
+       "bugs": {
+               "url": "https://core.trac.wordpress.org/"
+       },
+       "homepage": "https://wordpress.org/themes/twentytwentyone/",
+       "devDependencies": {
+               "@wordpress/browserslist-config": "^5.9.0",
+               "@wordpress/eslint-plugin": "^9.3.0",
+               "@wordpress/stylelint-config": "^19.1.0",
+               "autoprefixer": "^10.4.13",
+               "chokidar-cli": "^3.0.0",
+               "eslint": "^8.33.0",
+               "minimist": "^1.2.7",
+               "npm-run-all": "^4.1.5",
+               "postcss": "^8.4.21",
+               "postcss-calc": "^8.2.4",
+               "postcss-cli": "^10.1.0",
+               "postcss-css-variables": "^0.18.0",
+               "postcss-custom-media": "^9.1.1",
+               "postcss-discard-duplicates": "^5.1.0",
+               "postcss-focus-within": "^7.0.1",
+               "postcss-merge-rules": "^5.1.3",
+               "postcss-nested": "^6.0.0",
+               "rtlcss": "^4.0.0",
+               "sass": "^1.58.0",
+               "stylelint": "^13.13.1",
+               "stylelint-config-recommended-scss": "^5.0.2"
+       },
+       "rtlcssConfig": {
+               "options": {
+                       "autoRename": false,
+                       "autoRenameStrict": false,
+                       "blacklist": {},
+                       "clean": true,
+                       "greedy": false,
+                       "processUrls": false,
+                       "stringMap": []
+               },
+               "plugins": [],
+               "map": false
+       },
+       "browserslist": [
+               "extends @wordpress/browserslist-config"
+       ],
+       "scripts": {
+               "start": "chokidar \"**/*.scss\" -c \"npm run build\" --initial",
+               "build:style": "sass assets/sass/style.scss:style.css --style=expanded --source-map",
+               "build:style-editor": "sass assets/sass/style-editor.scss:assets/css/style-editor.css --style=expanded --source-map",
+               "build:style-dark-mode": "sass assets/sass/style-dark-mode.scss:assets/css/style-dark-mode.css --style=expanded --source-map",
+               "build:rtl": "rtlcss style.css style-rtl.css",
+               "build:dark-rtl": "rtlcss assets/css/style-dark-mode.css assets/css/style-dark-mode-rtl.css",
+               "build:print": "sass assets/sass/07-utilities/print.scss:assets/css/print.css --style=expanded --source-map",
+               "build:ie": "postcss style.css -o assets/css/ie.css",
+               "build:ie-editor": "postcss assets/css/style-editor.css -o assets/css/ie-editor.css",
+               "build:stylelint": "stylelint **/*.css --fix --config .stylelintrc-css.json",
+               "build": "run-s \"build:*\"",
+               "watch": "chokidar \"**/*.scss\" -c \"npm run build\" --initial",
+               "lint:scss": "stylelint **/*.scss",
+               "lint-fix:scss": "stylelint **/*.scss --fix"
+       }
+}
diff --git a/wp-content/themes/twentytwentyone/page.php b/wp-content/themes/twentytwentyone/page.php
new file mode 100644 (file)
index 0000000..d6e0658
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+/**
+ * The template for displaying all single posts
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header();
+
+/* Start the Loop */
+while ( have_posts() ) :
+       the_post();
+       get_template_part( 'template-parts/content/content-page' );
+
+       // If comments are open or there is at least one comment, load up the comment template.
+       if ( comments_open() || get_comments_number() ) {
+               comments_template();
+       }
+endwhile; // End of the loop.
+
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/postcss.config.js b/wp-content/themes/twentytwentyone/postcss.config.js
new file mode 100644 (file)
index 0000000..d889f31
--- /dev/null
@@ -0,0 +1,14 @@
+module.exports = {
+       plugins: [
+               require('postcss-nested'),
+               require('postcss-css-variables')({
+                       preserve: false,
+                       preserveAtRulesOrder: true
+               }),
+               require('postcss-calc')({
+                       precision: 0
+               }),
+               require('postcss-discard-duplicates'),
+               require('postcss-merge-rules')
+       ]
+};
diff --git a/wp-content/themes/twentytwentyone/readme.txt b/wp-content/themes/twentytwentyone/readme.txt
new file mode 100644 (file)
index 0000000..f17b0c8
--- /dev/null
@@ -0,0 +1,139 @@
+=== Twenty Twenty-One ===
+Contributors: wordpressdotorg
+Requires at least: 5.3
+Tested up to: 6.2
+Requires PHP: 5.6
+Stable tag: 1.8
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+
+== Description ==
+
+Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush.
+
+With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine.
+
+Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
+
+== Installation ==
+
+1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button.
+2. Type in Twenty Twenty-One in the search form and press the 'Enter' key on your keyboard.
+3. Click on the 'Activate' button to use your new theme right away.
+4. Go to INSERT ABOUT PAGE for a guide on how to customize this theme.
+5. Navigate to Appearance > Customize in your admin panel and customize to your taste.
+
+== Privacy ==
+Twenty Twenty-One uses LocalStorage to save the setting when Dark Mode support is turned on or off.
+LocalStorage is necessary for the setting to work and is only used when a user clicks on the Dark Mode button.
+No data is saved in the database or transferred.
+
+== Changelog ==
+
+= 1.8 =
+* Released: March 28, 2023
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.8
+
+= 1.7 =
+* Released: November 1, 2022
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.7
+
+= 1.6 =
+* Released: May 24, 2022
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.6
+
+= 1.5 =
+* Released: January 25, 2022
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.5
+
+= 1.4 =
+* Released: July 20, 2021
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.4
+
+= 1.3 =
+* Released: April 14, 2021
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.3
+
+= 1.2 =
+* Released: March 9, 2021
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.2
+
+= 1.1 =
+* Released: December 22, 2020
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.1
+
+= 1.0 =
+* Released: December 8, 2020
+
+https://wordpress.org/documentation/article/twenty-twenty-one-changelog/#Version_1.0
+
+== Copyright ==
+
+Twenty Twenty-One WordPress Theme, 2020-2023 WordPress.org
+Twenty Twenty-One is distributed under the terms of the GNU GPL.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+
+Twenty Twenty-One is derived from Seedlet, (C) 2020 Automattic, Inc.
+
+Twenty Twenty-One is also based on:
+
+Twenty Nineteen. 2018-2023 WordPress.org
+Twenty Nineteen is distributed under the terms of the GNU GPL v2 or later.
+
+Twenty Seventeen. Copyright (C) 2016-2023 WordPress.org
+Twenty Seventeen is distributed under the terms of the GNU GPL v2 or later.
+
+Twenty Sixteen. Copyright (C) 2015-2023 WordPress.org
+Twenty Sixteen is distributed under the terms of the GNU GPL v2 or later.
+
+Twenty Twenty. Copyright (C) 2020-2023 WordPress.org
+Twenty Twenty is distributed under the terms of the GNU GPL v2 or later.
+
+Underscores https://underscores.me/, Copyright (C) 2012-2023 Automattic, Inc.
+Underscores is distributed under the terms of the GNU GPL v2 or later.
+
+Normalizing styles have been helped along thanks to the fine work of
+Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
+
+Unless otherwise noted, the icons in this theme are derived from the WordPress
+Icons Library, licensed under the terms of the GNU GPL v2 or later.
+https://github.com/WordPress/gutenberg/tree/master/packages/icons
+
+This theme bundles the following third-party resources:
+
+input[type='checkbox'], input[type='radio'], input[type='ranged'],
+https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
+https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
+https://codepen.io/aaroniker/pen/ZEYoxEY Copyright (c) 2020 Aaron Iker
+https://codepen.io/chriscoyier/pen/FtnAa Copyright (c) 2020 Chris Coyier
+License: MIT.
+
+Images
+Art by Berthe Morisot 1841-1895. Public domain.
+https://www.wikiart.org/en/berthe-morisot/playing-in-the-sand
+https://www.wikiart.org/en/berthe-morisot/roses-tremieres-hollyhocks-1884
+https://www.wikiart.org/en/berthe-morisot/young-woman-in-mauve
+https://www.wikiart.org/en/berthe-morisot/in-the-bois-de-boulogne
+https://www.wikiart.org/en/berthe-morisot/daffodils
+https://www.wikiart.org/en/berthe-morisot/self-portrait-1885
+https://www.wikiart.org/en/berthe-morisot/the-garden-at-bougival-1884
+https://www.wikiart.org/en/berthe-morisot/villa-with-orange-trees-nice
+https://www.wikiart.org/en/berthe-morisot/reading
diff --git a/wp-content/themes/twentytwentyone/screenshot.png b/wp-content/themes/twentytwentyone/screenshot.png
new file mode 100644 (file)
index 0000000..17b0d7e
Binary files /dev/null and b/wp-content/themes/twentytwentyone/screenshot.png differ
diff --git a/wp-content/themes/twentytwentyone/search.php b/wp-content/themes/twentytwentyone/search.php
new file mode 100644 (file)
index 0000000..b397043
--- /dev/null
@@ -0,0 +1,65 @@
+<?php
+/**
+ * The template for displaying search results pages
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#search-result
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header();
+
+if ( have_posts() ) {
+       ?>
+       <header class="page-header alignwide">
+               <h1 class="page-title">
+                       <?php
+                       printf(
+                               /* translators: %s: Search term. */
+                               esc_html__( 'Results for "%s"', 'twentytwentyone' ),
+                               '<span class="page-description search-term">' . esc_html( get_search_query() ) . '</span>'
+                       );
+                       ?>
+               </h1>
+       </header><!-- .page-header -->
+
+       <div class="search-result-count default-max-width">
+               <?php
+               printf(
+                       esc_html(
+                               /* translators: %d: The number of search results. */
+                               _n(
+                                       'We found %d result for your search.',
+                                       'We found %d results for your search.',
+                                       (int) $wp_query->found_posts,
+                                       'twentytwentyone'
+                               )
+                       ),
+                       (int) $wp_query->found_posts
+               );
+               ?>
+       </div><!-- .search-result-count -->
+       <?php
+       // Start the Loop.
+       while ( have_posts() ) {
+               the_post();
+
+               /*
+                * Include the Post-Format-specific template for the content.
+                * If you want to override this in a child theme, then include a file
+                * called content-___.php (where ___ is the Post Format name) and that will be used instead.
+                */
+               get_template_part( 'template-parts/content/content-excerpt', get_post_format() );
+       } // End the loop.
+
+       // Previous/next page navigation.
+       twenty_twenty_one_the_posts_navigation();
+
+       // If no content, include the "No posts found" template.
+} else {
+       get_template_part( 'template-parts/content/content-none' );
+}
+
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/searchform.php b/wp-content/themes/twentytwentyone/searchform.php
new file mode 100644 (file)
index 0000000..b5b6a23
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+/**
+ * The searchform.php template.
+ *
+ * Used any time that get_search_form() is called.
+ *
+ * @link https://developer.wordpress.org/reference/functions/wp_unique_id/
+ * @link https://developer.wordpress.org/reference/functions/get_search_form/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+/*
+ * Generate a unique ID for each form and a string containing an aria-label
+ * if one was passed to get_search_form() in the args array.
+ */
+$twentytwentyone_unique_id = wp_unique_id( 'search-form-' );
+
+$twentytwentyone_aria_label = ! empty( $args['aria_label'] ) ? 'aria-label="' . esc_attr( $args['aria_label'] ) . '"' : '';
+?>
+<form role="search" <?php echo $twentytwentyone_aria_label; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. ?> method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
+       <label for="<?php echo esc_attr( $twentytwentyone_unique_id ); ?>"><?php _e( 'Search&hellip;', 'twentytwentyone' ); // phpcs:ignore: WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></label>
+       <input type="search" id="<?php echo esc_attr( $twentytwentyone_unique_id ); ?>" class="search-field" value="<?php echo get_search_query(); ?>" name="s" />
+       <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'twentytwentyone' ); ?>" />
+</form>
diff --git a/wp-content/themes/twentytwentyone/single.php b/wp-content/themes/twentytwentyone/single.php
new file mode 100644 (file)
index 0000000..3f6fd88
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+/**
+ * The template for displaying all single posts
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+get_header();
+
+/* Start the Loop */
+while ( have_posts() ) :
+       the_post();
+
+       get_template_part( 'template-parts/content/content-single' );
+
+       if ( is_attachment() ) {
+               // Parent post navigation.
+               the_post_navigation(
+                       array(
+                               /* translators: %s: Parent post link. */
+                               'prev_text' => sprintf( __( '<span class="meta-nav">Published in</span><span class="post-title">%s</span>', 'twentytwentyone' ), '%title' ),
+                       )
+               );
+       }
+
+       // If comments are open or there is at least one comment, load up the comment template.
+       if ( comments_open() || get_comments_number() ) {
+               comments_template();
+       }
+
+       // Previous/next post navigation.
+       $twentytwentyone_next = is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' );
+       $twentytwentyone_prev = is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' );
+
+       $twentytwentyone_next_label     = esc_html__( 'Next post', 'twentytwentyone' );
+       $twentytwentyone_previous_label = esc_html__( 'Previous post', 'twentytwentyone' );
+
+       the_post_navigation(
+               array(
+                       'next_text' => '<p class="meta-nav">' . $twentytwentyone_next_label . $twentytwentyone_next . '</p><p class="post-title">%title</p>',
+                       'prev_text' => '<p class="meta-nav">' . $twentytwentyone_prev . $twentytwentyone_previous_label . '</p><p class="post-title">%title</p>',
+               )
+       );
+endwhile; // End of the loop.
+
+get_footer();
diff --git a/wp-content/themes/twentytwentyone/style-rtl.css b/wp-content/themes/twentytwentyone/style-rtl.css
new file mode 100644 (file)
index 0000000..f3e5997
--- /dev/null
@@ -0,0 +1,5854 @@
+@charset "UTF-8";
+
+/*
+Theme Name: Twenty Twenty-One
+Theme URI: https://wordpress.org/themes/twentytwentyone/
+Author: the WordPress team
+Author URI: https://wordpress.org/
+Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
+Requires at least: 5.3
+Tested up to: 6.2
+Requires PHP: 5.6
+Version: 1.8
+License: GNU General Public License v2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Text Domain: twentytwentyone
+Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready
+
+Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
+Twenty Twenty-One is distributed under the terms of the GNU GPL.
+*/
+
+/**
+ * SETTINGS
+ * File-header..........The file header for the themes style.css file.
+ * Fonts................Any font files, if the project needs specific fonts.
+ * Global...............Project-specific, globally available variables.
+ *
+ * TOOLS
+ * Functions............Global functions.
+ * Mixins...............Global mixins.
+ *
+ * GENERIC
+ * Normalize.css........Normalise browser defaults.
+ * Breakpoints..........Mixins and variables for responsive styles
+ * Vertical-margins.....Vertical spacing for the main components.
+ * Reset................Reset specific elements to make them easier to style in other contexts.
+ * Clearings............Clearings for the main components.
+ *
+ * ELEMENTS
+ * Blockquote...........Default blockquote.
+ * Forms................Element-level form styling.
+ * Headings.............H1–H6
+ * Links................Default links.
+ * Lists................Default lists.
+ * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
+ *
+ * BLOCKS
+ * Audio................Specific styles for the audio block.
+ * Button...............Specific styles for the button block.
+ * Code.................Specific styles for the code block.
+ * Columns..............Specific styles for the columns block.
+ * Cover................Specific styles for the cover block.
+ * File.................Specific styles for the file block.
+ * Gallery..............Specific styles for the gallery block.
+ * Group................Specific styles for the group block.
+ * Heading..............Specific styles for the heading block.
+ * Image................Specific styles for the image block.
+ * Latest comments......Specific styles for the latest comments block.
+ * Latest posts.........Specific styles for the latest posts block.
+ * Legacy...............Specific styles for the legacy gallery.
+ * List.................Specific styles for the list block.
+ * Media text...........Specific styles for the media and text block.
+ * Navigation...........Specific styles for the navigation block.
+ * Paragraph............Specific styles for the paragraph block.
+ * Pullquote............Specific styles for the pullquote block.
+ * Quote................Specific styles for the quote block.
+ * Search...............Specific styles for the search block.
+ * Separator............Specific styles for the separator block.
+ * Table................Specific styles for the table block.
+ * Verse................Specific styles for the verse block.
+ * Video................Specific styles for the video block.
+ * Utilities............Block alignments.
+ *
+ * COMPONENTS
+ * Header...............Header styles.
+ * Footer...............Footer styles.
+ * Comments.............Comment styles.
+ * Archives.............Archive styles.
+ * 404..................404 styles.
+ * Search...............Search styles.
+ * Navigation...........Navigation styles.
+ * Footer Navigation....Footer Navigation styles.
+ * Pagination...........Pagination styles.
+ * Single...............Single page and post styles.
+ * Posts and pages......Misc, sticky post styles.
+ * Entry................Entry, author biography.
+ * Widget...............Widget styles.
+ * Editor...............Editor styles.
+ *
+ * UTILITIES
+ * A11y.................Screen reader text, prefers reduced motion etc.
+ * Color Palette........Classes for the color palette colors.
+ * Editor Font Sizes....Editor Font Sizes.
+ * Measure..............The width of a line of text, in characters.
+ */
+
+/* Categories 01 to 03 are the basics. */
+
+/* Variables */
+:root {
+
+       /* Font Family */
+       --global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+       --global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+
+       /* Font Size */
+       --global--font-size-base: 1.25rem;
+       --global--font-size-xs: 1rem;
+       --global--font-size-sm: 1.125rem;
+       --global--font-size-md: 1.25rem;
+       --global--font-size-lg: 1.5rem;
+       --global--font-size-xl: 2.25rem;
+       --global--font-size-xxl: 4rem;
+       --global--font-size-xxxl: 5rem;
+       --global--font-size-page-title: var(--global--font-size-xxl);
+       --global--letter-spacing: normal;
+
+       /* Line Height */
+       --global--line-height-body: 1.7;
+       --global--line-height-heading: 1.3;
+       --global--line-height-page-title: 1.1;
+
+       /* Headings */
+       --heading--font-family: var(--global--font-primary);
+       --heading--font-size-h6: var(--global--font-size-xs);
+       --heading--font-size-h5: var(--global--font-size-sm);
+       --heading--font-size-h4: var(--global--font-size-lg);
+       --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
+       --heading--font-size-h2: var(--global--font-size-xl);
+       --heading--font-size-h1: var(--global--font-size-page-title);
+       --heading--letter-spacing-h6: 0.05em;
+       --heading--letter-spacing-h5: 0.05em;
+       --heading--letter-spacing-h4: var(--global--letter-spacing);
+       --heading--letter-spacing-h3: var(--global--letter-spacing);
+       --heading--letter-spacing-h2: var(--global--letter-spacing);
+       --heading--letter-spacing-h1: var(--global--letter-spacing);
+       --heading--line-height-h6: var(--global--line-height-heading);
+       --heading--line-height-h5: var(--global--line-height-heading);
+       --heading--line-height-h4: var(--global--line-height-heading);
+       --heading--line-height-h3: var(--global--line-height-heading);
+       --heading--line-height-h2: var(--global--line-height-heading);
+       --heading--line-height-h1: var(--global--line-height-page-title);
+       --heading--font-weight: normal;
+       --heading--font-weight-page-title: 300;
+       --heading--font-weight-strong: 600;
+
+       /* Block: Latest posts */
+       --latest-posts--title-font-family: var(--heading--font-family);
+       --latest-posts--title-font-size: var(--heading--font-size-h3);
+       --latest-posts--description-font-family: var(--global--font-secondary);
+       --latest-posts--description-font-size: var(--global--font-size-sm);
+       --list--font-family: var(--global--font-secondary);
+       --definition-term--font-family: var(--global--font-primary);
+
+       /* Colors */
+       --global--color-black: #000;
+       --global--color-dark-gray: #28303d;
+       --global--color-gray: #39414d;
+       --global--color-light-gray: #f0f0f0;
+       --global--color-green: #d1e4dd;
+       --global--color-blue: #d1dfe4;
+       --global--color-purple: #d1d1e4;
+       --global--color-red: #e4d1d1;
+       --global--color-orange: #e4dad1;
+       --global--color-yellow: #eeeadd;
+       --global--color-white: #fff;
+       --global--color-white-50: rgba(255, 255, 255, 0.5);
+       --global--color-white-90: rgba(255, 255, 255, 0.9);
+       --global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */
+       --global--color-secondary: var(--global--color-gray); /* Headings */
+       --global--color-primary-hover: var(--global--color-primary);
+       --global--color-background: var(--global--color-green); /* Mint, default body background */
+       --global--color-border: var(--global--color-primary); /* Used for borders (separators) */
+
+       /* Spacing */
+       --global--spacing-unit: 20px;
+       --global--spacing-measure: unset;
+       --global--spacing-horizontal: 25px;
+       --global--spacing-vertical: 30px;
+
+       /* Elevation */
+       --global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);
+
+       /* Forms */
+       --form--font-family: var(--global--font-secondary);
+       --form--font-size: var(--global--font-size-sm);
+       --form--line-height: var(--global--line-height-body);
+       --form--color-text: var(--global--color-dark-gray);
+       --form--color-ranged: var(--global--color-secondary);
+       --form--label-weight: 500;
+       --form--border-color: var(--global--color-secondary);
+       --form--border-width: 3px;
+       --form--border-radius: 0;
+       --form--spacing-unit: calc(0.5 * var(--global--spacing-unit));
+
+       /* Cover block */
+       --cover--height: calc(15 * var(--global--spacing-vertical));
+       --cover--color-foreground: var(--global--color-white);
+       --cover--color-background: var(--global--color-black);
+
+       /* Buttons */
+       --button--color-text: var(--global--color-background);
+       --button--color-text-hover: var(--global--color-secondary);
+       --button--color-text-active: var(--global--color-secondary);
+       --button--color-background: var(--global--color-secondary);
+       --button--color-background-active: var(--global--color-background);
+       --button--font-family: var(--global--font-primary);
+       --button--font-size: var(--global--font-size-base);
+       --button--font-weight: 500;
+       --button--line-height: 1.5;
+       --button--border-width: 3px;
+       --button--border-radius: 0;
+       --button--padding-vertical: 15px;
+       --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
+
+       /* entry */
+       --entry-header--color: var(--global--color-primary);
+       --entry-header--color-link: currentColor;
+       --entry-header--color-hover: var(--global--color-primary-hover);
+       --entry-header--color-focus: var(--global--color-secondary);
+       --entry-header--font-size: var(--heading--font-size-h2);
+       --entry-content--font-family: var(--global--font-secondary);
+       --entry-author-bio--font-family: var(--heading--font-family);
+       --entry-author-bio--font-size: var(--heading--font-size-h4);
+
+       /* Header */
+       --branding--color-text: var(--global--color-primary);
+       --branding--color-link: var(--global--color-primary);
+       --branding--color-link-hover: var(--global--color-secondary);
+       --branding--title--font-family: var(--global--font-primary);
+       --branding--title--font-size: var(--global--font-size-lg);
+       --branding--title--font-size-mobile: var(--heading--font-size-h4);
+       --branding--title--font-weight: normal;
+       --branding--title--text-transform: uppercase;
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--description--font-size: var(--global--font-size-sm);
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--logo--max-width: 300px;
+       --branding--logo--max-height: 100px;
+       --branding--logo--max-width-mobile: 96px;
+       --branding--logo--max-height-mobile: 96px;
+
+       /* Main navigation */
+       --primary-nav--font-family: var(--global--font-secondary);
+       --primary-nav--font-family-mobile: var(--global--font-primary);
+       --primary-nav--font-size: var(--global--font-size-md);
+       --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
+       --primary-nav--font-size-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-button: var(--global--font-size-xs);
+       --primary-nav--font-style: normal;
+       --primary-nav--font-style-sub-menu-mobile: normal;
+       --primary-nav--font-weight: normal;
+       --primary-nav--font-weight-button: 500;
+       --primary-nav--color-link: var(--global--color-primary);
+       --primary-nav--color-link-hover: var(--global--color-primary-hover);
+       --primary-nav--color-text: var(--global--color-primary);
+       --primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
+       --primary-nav--border-color: var(--global--color-primary);
+
+       /* Pagination */
+       --pagination--color-text: var(--global--color-primary);
+       --pagination--color-link-hover: var(--global--color-primary-hover);
+       --pagination--font-family: var(--global--font-secondary);
+       --pagination--font-size: var(--global--font-size-lg);
+       --pagination--font-weight: normal;
+       --pagination--font-weight-strong: 600;
+
+       /* Footer */
+       --footer--color-text: var(--global--color-primary);
+       --footer--color-link: var(--global--color-primary);
+       --footer--color-link-hover: var(--global--color-primary-hover);
+       --footer--font-family: var(--global--font-primary);
+       --footer--font-size: var(--global--font-size-sm);
+
+       /* Block: Pull quote */
+       --pullquote--font-family: var(--global--font-primary);
+       --pullquote--font-size: var(--heading--font-size-h3);
+       --pullquote--font-style: normal;
+       --pullquote--letter-spacing: var(--heading--letter-spacing-h4);
+       --pullquote--line-height: var(--global--line-height-heading);
+       --pullquote--border-width: 3px;
+       --pullquote--border-color: var(--global--color-primary);
+       --pullquote--color-foreground: var(--global--color-primary);
+       --pullquote--color-background: var(--global--color-background);
+       --quote--font-family: var(--global--font-secondary);
+       --quote--font-size: var(--global--font-size-md);
+       --quote--font-size-large: var(--global--font-size-xl);
+       --quote--font-style: normal;
+       --quote--font-weight: 700;
+       --quote--font-weight-strong: bolder;
+       --quote--font-style-large: normal;
+       --quote--font-style-cite: normal;
+       --quote--line-height: var(--global--line-height-body);
+       --quote--line-height-large: 1.35;
+       --separator--border-color: var(--global--color-border);
+       --separator--height: 1px;
+
+       /* Block: Table */
+       --table--stripes-border-color: var(--global--color-light-gray);
+       --table--stripes-background-color: var(--global--color-light-gray);
+       --table--has-background-text-color: var(--global--color-dark-gray);
+
+       /* Widgets */
+       --widget--line-height-list: 1.9;
+       --widget--line-height-title: 1.4;
+       --widget--font-weight-title: 700;
+       --widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));
+
+       /* Admin-bar height */
+       --global--admin-bar--height: 0px;
+}
+
+.admin-bar {
+       --global--admin-bar--height: 32px;
+}
+@media only screen and (max-width: 782px) {
+
+       .admin-bar {
+               --global--admin-bar--height: 46px;
+       }
+}
+
+@media only screen and (min-width: 652px) {
+
+       :root {
+               --global--font-size-xl: 2.5rem;
+               --global--font-size-xxl: 6rem;
+               --global--font-size-xxxl: 9rem;
+               --heading--font-size-h3: 2rem;
+               --heading--font-size-h2: 3rem;
+       }
+}
+
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+html {
+       line-height: 1.15; /* 1 */
+       -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+body {
+       margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+main {
+       display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+h1 {
+       font-size: 2em;
+       margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+hr {
+       box-sizing: content-box; /* 1 */
+       height: 0; /* 1 */
+       overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+pre {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+a {
+       background-color: transparent;
+       text-decoration-thickness: 1px;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+abbr[title] {
+       border-bottom: none; /* 1 */
+       text-decoration: underline; /* 2 */
+       text-decoration-style: dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+b,
+strong {
+       font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+code,
+kbd,
+samp {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+small {
+       font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+sub,
+sup {
+       font-size: 75%;
+       line-height: 0;
+       position: relative;
+       vertical-align: baseline;
+}
+
+sub {
+       bottom: -0.25em;
+}
+
+sup {
+       top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+img {
+       border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+       font-family: inherit; /* 1 */
+       font-size: 100%; /* 1 */
+       line-height: 1.15; /* 1 */
+       margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+button,
+input { /* 1 */
+       overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+button,
+select { /* 1 */
+       text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+       -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+button::-moz-focus-inner,
+[type=button]::-moz-focus-inner,
+[type=reset]::-moz-focus-inner,
+[type=submit]::-moz-focus-inner {
+       border-style: none;
+       padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+button:-moz-focusring,
+[type=button]:-moz-focusring,
+[type=reset]:-moz-focusring,
+[type=submit]:-moz-focusring {
+       outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+fieldset {
+       padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+legend {
+       box-sizing: border-box; /* 1 */
+       color: inherit; /* 2 */
+       display: table; /* 1 */
+       max-width: 100%; /* 1 */
+       padding: 0; /* 3 */
+       white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+progress {
+       vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+textarea {
+       overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+[type=checkbox],
+[type=radio] {
+       box-sizing: border-box; /* 1 */
+       padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+[type=number]::-webkit-inner-spin-button,
+[type=number]::-webkit-outer-spin-button {
+       height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+[type=search] {
+       -webkit-appearance: textfield; /* 1 */
+       outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+[type=search]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+::-webkit-file-upload-button {
+       -webkit-appearance: button; /* 1 */
+       font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+details {
+       display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+summary {
+       display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+template {
+       display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+[hidden] {
+       display: none;
+}
+
+/**
+ * Responsive Styles
+ */
+
+/**
+ * Required Variables
+ */
+
+/**
+ * Root Media Query Variables
+ */
+:root {
+       --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
+       --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignfull-width: 100%;
+       --responsive--alignright-margin: var(--global--spacing-horizontal);
+       --responsive--alignleft-margin: var(--global--spacing-horizontal);
+}
+
+@media only screen and (min-width: 482px) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
+               --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
+               --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+               --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 610px);
+               --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1240px);
+       }
+}
+
+/**
+ * Extends
+ */
+.post-thumbnail,
+.entry-content .wp-audio-shortcode,
+.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
+*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
+.default-max-width {
+       max-width: var(--responsive--aligndefault-width);
+       margin-right: auto;
+       margin-left: auto;
+}
+
+.widget-area,
+.pagination,
+.comments-pagination,
+.post-navigation,
+.site-footer,
+.site-header,
+.alignwide,
+.wide-max-width {
+       max-width: var(--responsive--alignwide-width);
+       margin-right: auto;
+       margin-left: auto;
+}
+
+.alignfull,
+.wp-block-group .wp-block-group__inner-container > *.alignfull,
+.full-max-width {
+       max-width: var(--responsive--alignfull-width);
+       width: var(--responsive--alignfull-width);
+       margin-right: auto;
+       margin-left: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignfull,
+       .full-max-width {
+               max-width: var(--responsive--alignfull-width);
+               width: auto;
+               margin-right: auto;
+               margin-left: auto;
+       }
+}
+
+.entry-header .post-thumbnail,
+.singular .post-thumbnail,
+.alignfull [class*=inner-container] > .alignwide,
+.alignwide [class*=inner-container] > .alignwide {
+       margin-right: auto;
+       margin-left: auto;
+       width: var(--responsive--alignwide-width);
+       max-width: var(--responsive--alignfull-width);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignleft {
+               margin-left: var(--responsive--alignleft-margin);
+               margin-right: var(--global--spacing-horizontal);
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignright {
+               margin-left: var(--global--spacing-horizontal);
+               margin-right: var(--responsive--alignright-margin);
+       }
+}
+
+/**
+ * Site Structure
+ *
+ * - Set vertical margins and responsive widths on
+ *   top-level wrappers and content wrappers
+ * - `--global--width-content` is a responsive variable
+ * - See: globals/_global-width-responsive.scss
+ */
+
+/**
+ * Top Level Wrappers (header, main, footer)
+ * - Set vertical padding and horizontal margins
+ */
+.site-header,
+.site-main,
+.widget-area,
+.site-footer {
+       padding-top: var(--global--spacing-vertical);
+       padding-bottom: var(--global--spacing-vertical);
+       margin-right: auto;
+       margin-left: auto;
+}
+
+.site-header {
+       padding-top: calc(0.75 * var(--global--spacing-vertical));
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               padding-bottom: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+/**
+ * Site-main children wrappers
+ * - Add double vertical margins here for clearer hierarchy
+ */
+.site-main > * {
+       margin-top: calc(3 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.site-main > *:first-child {
+       margin-top: 0;
+}
+
+.site-main > *:last-child {
+       margin-bottom: 0;
+}
+
+/**
+ * Set the default maximum responsive content-width
+ */
+
+/**
+ * Set the wide maximum responsive content-width
+ */
+
+/**
+ * Set the full maximum responsive content-width
+ */
+
+/*
+ * Block & non-gutenberg content wrappers
+ * - Set margins
+ */
+.entry-header,
+.post-thumbnail,
+.entry-content,
+.entry-footer,
+.author-bio {
+       margin-top: var(--global--spacing-vertical);
+       margin-left: auto;
+       margin-bottom: var(--global--spacing-vertical);
+       margin-right: auto;
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-vertical margin logic
+ */
+.site-main > article > *,
+.site-main > .not-found > *,
+.entry-content > *,
+[class*=inner-container] > *,
+.wp-block-template-part > *,
+.wp-block-post-template :where(li > *) {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .site-main > article > *,
+       .site-main > .not-found > *,
+       .entry-content > *,
+       [class*=inner-container] > *,
+       .wp-block-template-part > *,
+       .wp-block-post-template :where(li > *) {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.site-main > article > *:first-child,
+.site-main > .not-found > *:first-child,
+.entry-content > *:first-child,
+[class*=inner-container] > *:first-child,
+.wp-block-template-part > *:first-child,
+.wp-block-post-template :where(li > *):first-child {
+       margin-top: 0;
+}
+
+.site-main > article > *:last-child,
+.site-main > .not-found > *:last-child,
+.entry-content > *:last-child,
+[class*=inner-container] > *:last-child,
+.wp-block-template-part > *:last-child,
+.wp-block-post-template :where(li > *):last-child {
+       margin-bottom: 0;
+}
+
+.site-footer > *,
+.widget-area > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .site-footer > *,
+       .widget-area > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-unit margins
+ */
+.entry-header > *,
+.post-thumbnail > *,
+.page-content > *,
+.comment-content > *,
+.widget > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+.entry-header > *:first-child,
+.post-thumbnail > *:first-child,
+.page-content > *:first-child,
+.comment-content > *:first-child,
+.widget > *:first-child {
+       margin-top: 0;
+}
+
+.entry-header > *:last-child,
+.post-thumbnail > *:last-child,
+.page-content > *:last-child,
+.comment-content > *:last-child,
+.widget > *:last-child {
+       margin-bottom: 0;
+}
+
+/*
+ * .entry-content children specific controls
+ * - Adds special margin overrides for alignment utility classes
+ */
+.entry-content > * {
+
+       /* Reset alignleft and alignright margins after alignfull */
+}
+
+.entry-content > *.alignleft,
+.entry-content > *.alignright,
+.entry-content > *.alignleft:first-child + *,
+.entry-content > *.alignright:first-child + *,
+.entry-content > *.alignfull.has-background {
+       margin-top: 0;
+}
+
+.entry-content > *:last-child,
+.entry-content > *.alignfull.has-background {
+       margin-bottom: 0;
+}
+
+.entry-content > *.alignfull + .alignleft,
+.entry-content > *.alignfull + .alignright {
+       margin-top: var(--global--spacing-vertical);
+}
+
+/**
+ * Reset specific elements to make them easier to style in other contexts.
+ */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+form,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       padding: 0;
+       margin: 0;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+/**
+ * Apply generic border-box to all elements.
+ * See:
+ * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
+ */
+html {
+
+       /* Apply border-box across the entire page. */
+       box-sizing: border-box;
+       font-family: var(--global--font-secondary);
+       line-height: var(--global--line-height-body);
+}
+
+/**
+ * Relax the definition a bit, to allow components to override it manually.
+ */
+*,
+*::before,
+*::after {
+       box-sizing: inherit;
+}
+
+body {
+       font-size: var(--global--font-size-base);
+       font-weight: normal;
+       color: var(--global--color-primary);
+       text-align: right;
+       background-color: var(--global--color-background);
+}
+
+button {
+       cursor: pointer;
+}
+
+.clear:before,
+.clear:after,
+.entry-content:before,
+.entry-content:after,
+.comment-content:before,
+.comment-content:after,
+.site-header:before,
+.site-header:after,
+.site-content:before,
+.site-content:after,
+.site-footer:before,
+.site-footer:after {
+       content: "";
+       display: table;
+       table-layout: fixed;
+}
+
+.clear:after,
+.entry-content:after,
+.comment-content:after,
+.site-header:after,
+.site-content:after,
+.site-footer:after {
+       clear: both;
+}
+
+/* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */
+blockquote {
+       padding: 0;
+       position: relative;
+       margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) 0;
+}
+
+blockquote > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+blockquote > *:first-child {
+       margin-top: 0;
+}
+
+blockquote > *:last-child {
+       margin-bottom: 0;
+}
+
+blockquote p {
+       letter-spacing: var(--heading--letter-spacing-h4);
+       font-family: var(--quote--font-family);
+       font-size: var(--quote--font-size);
+       font-style: var(--quote--font-style);
+       font-weight: var(--quote--font-weight);
+       line-height: var(--quote--line-height);
+}
+
+blockquote cite,
+blockquote footer {
+       font-weight: normal;
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       letter-spacing: var(--global--letter-spacing);
+}
+
+blockquote.alignleft,
+blockquote.alignright {
+       padding-right: inherit;
+}
+
+blockquote.alignleft p,
+blockquote.alignright p {
+       font-size: var(--heading--font-size-h5);
+       max-width: inherit;
+       width: inherit;
+}
+
+blockquote.alignleft cite,
+blockquote.alignleft footer,
+blockquote.alignright cite,
+blockquote.alignright footer {
+       font-size: var(--global--font-size-xs);
+       letter-spacing: var(--global--letter-spacing);
+}
+
+blockquote strong {
+       font-weight: var(--quote--font-weight-strong);
+}
+
+blockquote:before {
+       content: "“";
+       font-size: var(--quote--font-size);
+       line-height: var(--quote--line-height);
+       position: absolute;
+       right: calc(-0.5 * var(--global--spacing-horizontal));
+}
+
+blockquote .wp-block-quote__citation,
+blockquote cite,
+blockquote footer {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       font-style: var(--quote--font-style-cite);
+}
+@media only screen and (max-width: 481px) {
+
+       blockquote {
+               padding-right: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       blockquote:before {
+               right: 0;
+       }
+}
+
+input[type=text],
+input[type=email],
+input[type=url],
+input[type=password],
+input[type=search],
+input[type=number],
+input[type=tel],
+input[type=date],
+input[type=month],
+input[type=week],
+input[type=time],
+input[type=datetime],
+input[type=datetime-local],
+input[type=color],
+.site textarea {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       line-height: var(--global--line-height-body);
+       padding: var(--form--spacing-unit);
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=text]:focus,
+input[type=email]:focus,
+input[type=url]:focus,
+input[type=password]:focus,
+input[type=search]:focus,
+input[type=number]:focus,
+input[type=tel]:focus,
+input[type=date]:focus,
+input[type=month]:focus,
+input[type=week]:focus,
+input[type=time]:focus,
+input[type=datetime]:focus,
+input[type=datetime-local]:focus,
+input[type=color]:focus,
+.site textarea:focus {
+       color: var(--form--color-text);
+       outline-offset: 2px;
+       outline: 2px dotted var(--form--border-color);
+}
+
+input[type=text]:disabled,
+input[type=email]:disabled,
+input[type=url]:disabled,
+input[type=password]:disabled,
+input[type=search]:disabled,
+input[type=number]:disabled,
+input[type=tel]:disabled,
+input[type=date]:disabled,
+input[type=month]:disabled,
+input[type=week]:disabled,
+input[type=time]:disabled,
+input[type=datetime]:disabled,
+input[type=datetime-local]:disabled,
+input[type=color]:disabled,
+.site textarea:disabled {
+       opacity: 0.7;
+}
+
+.is-dark-theme input[type=text],
+.is-dark-theme input[type=email],
+.is-dark-theme input[type=url],
+.is-dark-theme input[type=password],
+.is-dark-theme input[type=search],
+.is-dark-theme input[type=number],
+.is-dark-theme input[type=tel],
+.is-dark-theme input[type=date],
+.is-dark-theme input[type=month],
+.is-dark-theme input[type=week],
+.is-dark-theme input[type=time],
+.is-dark-theme input[type=datetime],
+.is-dark-theme input[type=datetime-local],
+.is-dark-theme input[type=color],
+.is-dark-theme .site textarea {
+       background: var(--global--color-white-90);
+}
+
+input[type=search]:focus {
+       outline-offset: -7px;
+}
+
+.is-dark-theme input[type=search]:focus {
+       outline-color: var(--global--color-background);
+}
+
+input[type=color] {
+       padding: calc(var(--form--spacing-unit) / 2);
+       height: calc(4 * var(--form--spacing-unit));
+}
+
+input[type=email],
+input[type=url] {
+       direction: ltr;
+}
+
+select {
+       border: var(--form--border-width) solid var(--form--border-color);
+       color: var(--form--color-text);
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       line-height: var(--global--line-height-body);
+       padding: var(--form--spacing-unit) var(--form--spacing-unit) var(--form--spacing-unit) calc(3 * var(--form--spacing-unit));
+       background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: left var(--form--spacing-unit) top 60%;
+}
+
+select:focus {
+       outline-offset: 2px;
+       outline: 2px dotted var(--form--border-color);
+}
+
+.is-dark-theme select {
+       background: var(--global--color-white-90) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: left var(--form--spacing-unit) top 60%;
+}
+
+textarea {
+       width: 100%;
+}
+
+label {
+       font-size: var(--form--font-size);
+       font-weight: var(--form--label-weight);
+       margin-bottom: calc(var(--global--spacing-vertical) / 3);
+}
+
+/**
+https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
+https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
+License: MIT.
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type=checkbox],
+       input[type=radio] {
+               -webkit-appearance: none;
+               -moz-appearance: none;
+               position: relative;
+               width: 25px;
+               height: 25px;
+               border: var(--form--border-width) solid var(--form--border-color);
+               background: var(--global--color-white);
+       }
+
+       input[type=checkbox]:disabled,
+       input[type=radio]:disabled {
+               opacity: 0.7;
+       }
+
+       .is-dark-theme input[type=checkbox],
+       .is-dark-theme input[type=radio] {
+               background: var(--global--color-white-90);
+       }
+
+       input[type=checkbox]:focus {
+               outline-offset: 2px;
+               outline: 2px dotted var(--form--border-color);
+       }
+
+       input[type=checkbox]:after {
+               content: "";
+               opacity: 0;
+               display: block;
+               right: 5px;
+               top: 2px;
+               position: absolute;
+               width: 7px;
+               height: 13px;
+               border: 3px solid var(--form--color-text);
+               border-top: 0;
+               border-right: 0;
+               transform: rotate(-30deg);
+       }
+
+       input[type=checkbox]:checked {
+               color: var(--form--color-text);
+       }
+
+       input[type=checkbox]:checked:after {
+               opacity: 1;
+       }
+
+       input[type=radio] {
+               border-radius: 50%;
+       }
+
+       input[type=radio]:focus {
+               outline-offset: 2px;
+               outline: 2px dotted var(--form--border-color);
+       }
+
+       input[type=radio]:after {
+               content: "";
+               opacity: 0;
+               display: block;
+               right: 3px;
+               top: 3px;
+               position: absolute;
+               width: 11px;
+               height: 11px;
+               border-radius: 50%;
+               background: var(--form--color-text);
+       }
+
+       input[type=radio]:checked {
+               border: 4px solid var(--form--border-color);
+       }
+
+       input[type=radio]:checked:after {
+               opacity: 1;
+       }
+
+       input[type=radio]:checked:focus {
+               outline-offset: 4px;
+               outline: 2px dotted var(--form--border-color);
+       }
+}
+
+input[type=checkbox] + label,
+input[type=radio] + label {
+       display: inline-block;
+       padding-right: 10px;
+       font-size: var(--global--font-size-xs);
+       vertical-align: top;
+}
+
+/**
+ * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type=range] {
+               -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
+               width: 100%; /* Specific width is required for Firefox. */
+               height: 6px;
+               background: var(--form--color-ranged);
+               border-radius: 6px;
+               outline-offset: 10px;
+       }
+
+       input[type=range]:disabled {
+               opacity: 0.7;
+       }
+
+       input[type=range]::-webkit-slider-thumb {
+               -webkit-appearance: none;
+               border: 3px solid var(--form--color-ranged);
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: var(--global--color-background);
+               cursor: pointer;
+       }
+
+       input[type=range]::-moz-range-thumb {
+               border: 3px solid var(--form--color-ranged);
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: var(--global--color-background);
+               cursor: pointer;
+               box-sizing: border-box;
+       }
+}
+
+input[type=range]::-ms-track {
+       width: 100%;
+       height: 6px;
+       border-radius: 6px;
+       border-width: 19px 0;
+       border-color: var(--global--color-background);
+       background: transparent;
+       color: transparent;
+       cursor: pointer;
+}
+
+input[type=range]::-ms-fill-upper {
+       background: var(--form--color-ranged);
+       border-radius: 6px;
+}
+
+input[type=range]::-ms-fill-lower {
+       background: var(--form--color-ranged);
+       border-radius: 6px;
+}
+
+input[type=range]::-ms-thumb {
+       border: 3px solid var(--form--color-ranged);
+       height: 44px;
+       width: 44px;
+       border-radius: 50%;
+       background: var(--global--color-background);
+       cursor: pointer;
+}
+
+fieldset {
+       display: grid;
+       border-color: var(--global--color-secondary);
+       padding: var(--global--spacing-horizontal);
+}
+
+fieldset legend {
+       font-size: var(--global--font-size-lg);
+}
+
+fieldset input[type=submit] {
+       max-width: max-content;
+}
+
+fieldset input:not([type=submit]) {
+       margin-bottom: var(--global--spacing-unit);
+}
+
+fieldset input[type=radio],
+fieldset input[type=checkbox] {
+       margin-bottom: 0;
+}
+
+fieldset input[type=radio] + label,
+fieldset input[type=checkbox] + label {
+       font-size: var(--form--font-size);
+       padding-right: 0;
+       margin-bottom: var(--global--spacing-unit);
+}
+
+::-moz-placeholder {
+       opacity: 1;
+}
+
+.post-password-message {
+       font-size: var(--global--font-size-lg);
+}
+
+.post-password-form {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+.post-password-form__label {
+       width: 100%;
+       margin-bottom: 0;
+}
+
+.post-password-form input[type=password] {
+       flex-grow: 1;
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+       margin-left: calc(0.66 * var(--global--spacing-horizontal));
+}
+
+.post-password-form__submit {
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+}
+@media only screen and (min-width: 592px) {
+
+       .post-password-form__submit {
+               margin-right: calc(0.4 * var(--global--spacing-horizontal));
+       }
+}
+
+img {
+       height: auto;
+       max-width: 100%;
+       vertical-align: middle;
+}
+
+/* Classic editor images */
+.entry-content img {
+       max-width: 100%;
+}
+
+/* Make sure embeds and iframes fit their containers. */
+embed,
+iframe,
+object,
+video {
+       max-width: 100%;
+}
+
+/* Media captions */
+figcaption,
+.wp-caption,
+.wp-caption-text,
+.wp-block-embed figcaption {
+       color: currentColor;
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+.alignleft figcaption,
+.alignright figcaption,
+.alignleft .wp-caption,
+.alignright .wp-caption,
+.alignleft .wp-caption-text,
+.alignright .wp-caption-text,
+.alignleft .wp-block-embed figcaption,
+.alignright .wp-block-embed figcaption {
+       margin-bottom: 0;
+}
+
+/* WP Smiley */
+.page-content .wp-smiley,
+.entry-content .wp-smiley,
+.comment-content .wp-smiley {
+       border: none;
+       margin-bottom: 0;
+       margin-top: 0;
+       padding: 0;
+}
+
+/* Over here, place any elements that do not need to have their own file. */
+b,
+strong {
+       font-weight: 700;
+}
+
+dfn,
+cite,
+em,
+i {
+       font-style: italic;
+}
+
+pre {
+       white-space: pre;
+       overflow-x: auto;
+}
+
+/*
+ * text-underline-offset doesn't work in Chrome at all 👎
+ * But looks nice in Safari/Firefox, so let's keep it and
+ * maybe Chrome will support it soon.
+ */
+a {
+       cursor: pointer;
+       color: var(--wp--style--color--link, var(--global--color-primary));
+       text-underline-offset: 3px;
+       text-decoration-skip-ink: all;
+}
+
+a:hover {
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       text-decoration: underline 1px dotted currentColor;
+       text-decoration-skip-ink: none;
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: var(--global--color-black);
+       color: var(--global--color-white);
+       text-decoration: none;
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: rgba(0, 0, 0, 0.9);
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       outline-offset: -2px;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link:focus {
+       color: #21759b;
+       background-color: #f1f1f1;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).custom-logo-link {
+       background: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
+       outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.has-background .has-link-color a,
+.has-background.has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+/* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */
+.wp-block-audio audio:focus {
+       outline-offset: 5px;
+       outline: 2px solid var(--global--color-primary);
+}
+
+/**
+ * Button
+ */
+.site .button,
+button,
+input[type=submit],
+input[type=reset],
+.wp-block-search .wp-block-search__button,
+.wp-block-button .wp-block-button__link,
+.wp-block-file a.wp-block-file__button {
+       border: var(--button--border-width) solid transparent;
+       border-radius: var(--button--border-radius);
+       cursor: pointer;
+       font-weight: var(--button--font-weight);
+       font-family: var(--button--font-family);
+       font-size: var(--button--font-size);
+       line-height: var(--button--line-height);
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+       text-decoration: none;
+}
+
+.site .button:not(:hover):not(:active):not(.has-text-color),
+button:not(:hover):not(:active):not(.has-text-color),
+input[type=submit]:not(:hover):not(:active):not(.has-text-color),
+input[type=reset]:not(:hover):not(:active):not(.has-text-color),
+.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-text-color),
+.has-background button:not(:hover):not(:active):not(.has-text-color),
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color),
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color),
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-primary));
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background button:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.site .button:not(:hover):not(:active):not(.has-background),
+button:not(:hover):not(:active):not(.has-background),
+input[type=submit]:not(:hover):not(:active):not(.has-background),
+input[type=reset]:not(:hover):not(:active):not(.has-background),
+.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
+.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-background),
+.has-background button:not(:hover):not(:active):not(.has-background),
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-background),
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-background),
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.site .button:hover,
+.site .button:active,
+button:hover,
+button:active,
+input[type=submit]:hover,
+input[type=submit]:active,
+input[type=reset]:hover,
+input[type=reset]:active,
+.wp-block-search .wp-block-search__button:hover,
+.wp-block-search .wp-block-search__button:active,
+.wp-block-button .wp-block-button__link:hover,
+.wp-block-button .wp-block-button__link:active,
+.wp-block-file a.wp-block-file__button:hover,
+.wp-block-file a.wp-block-file__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.site .button:focus,
+button:focus,
+input[type=submit]:focus,
+input[type=reset]:focus,
+.wp-block-search .wp-block-search__button:focus,
+.wp-block-button .wp-block-button__link:focus,
+.wp-block-file a.wp-block-file__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.site .button:disabled,
+button:disabled,
+input[type=submit]:disabled,
+input[type=reset]:disabled,
+.wp-block-search .wp-block-search__button:disabled,
+.wp-block-button .wp-block-button__link:disabled,
+.wp-block-file a.wp-block-file__button:disabled {
+       background-color: var(--global--color-white-50);
+       border-color: var(--global--color-white-50);
+       color: var(--button--color-text-active);
+}
+
+/**
+ * Block Options
+ */
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-background));
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
+       border-color: currentColor !important;
+       background-color: transparent !important;
+       color: inherit !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background {
+       border-color: currentColor;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background:not(.has-text-color) {
+       color: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: transparent;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:hover,
+.wp-block-button.is-style-outline .wp-block-button__link:active {
+       border-color: transparent !important;
+       background-color: var(--global--color-primary) !important;
+       color: var(--global--color-background) !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:hover,
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: var(--local--color-primary, var(--global--color-primary)) !important;
+       color: var(--local--color-background, var(--global--color-background)) !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:active {
+       color: var(--local--color-background, var(--global--color-background)) !important;
+}
+
+.wp-block-button .is-style-squared .wp-block-button__link {
+       border-radius: 0;
+}
+
+.is-style-outline .wp-block-button__link[style*=radius]:focus,
+.wp-block-button a.wp-block-button__link[style*=radius]:focus {
+       outline-offset: 2px;
+       outline: 2px dotted var(--button--color-background);
+}
+
+.wp-block-code {
+       border-color: var(--global--color-border);
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: var(--global--spacing-unit);
+}
+
+.wp-block-code code {
+       color: var(--global--color-primary);
+       white-space: pre;
+       overflow-x: auto;
+       display: block;
+}
+
+.wp-block-columns:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-columns .wp-block-column > * {
+       margin-top: calc(0.66 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.66 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-columns .wp-block-column > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-columns .wp-block-column > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-columns .wp-block-column > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-columns .wp-block-column:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-columns .wp-block-column:not(:last-child) {
+       margin-bottom: calc(0.66 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-columns .wp-block-column:not(:last-child) {
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block-columns .wp-block-column:not(:last-child) {
+               margin-bottom: 0;
+       }
+}
+
+.wp-block-columns.is-style-twentytwentyone-columns-overlap {
+       justify-content: space-around;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
+               margin-right: calc(-2 * var(--global--spacing-horizontal));
+               margin-top: calc(2.5 * var(--global--spacing-horizontal));
+               z-index: 2;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
+               background-color: var(--global--color-background);
+               padding: var(--global--spacing-unit);
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               padding-right: calc(2 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
+               margin-top: 0;
+       }
+}
+
+.wp-block-columns.alignfull .wp-block-column p:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h1:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h2:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h3:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h4:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h5:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h6:not(.has-background) {
+       padding-right: var(--global--spacing-unit);
+       padding-left: var(--global--spacing-unit);
+}
+
+.wp-block-cover,
+.wp-block-cover-image {
+       background-color: var(--cover--color-background);
+       min-height: var(--cover--height);
+       margin-top: inherit;
+       margin-bottom: inherit;
+
+       /* default & custom background-color */
+
+       /* Treating H2 separately to account for legacy /core styles */
+
+       /* Block Styles */
+
+       /* The background color class is used just for the overlay, and does not need to be applied to the inner container. */
+}
+
+.wp-block-cover:not(.alignwide):not(.alignfull),
+.wp-block-cover-image:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-cover.alignfull,
+.wp-block-cover-image.alignfull {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover-image .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text {
+       color: currentColor;
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-cover .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button) {
+       color: currentColor;
+}
+
+.wp-block-cover .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover .wp-block-cover-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover-image .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover-text .has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover__inner-container,
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-image-text,
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-text,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover__inner-container,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-image-text,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-text {
+       color: var(--cover--color-foreground);
+}
+
+.wp-block-cover h2,
+.wp-block-cover-image h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+       max-width: inherit;
+       text-align: inherit;
+       padding: 0;
+}
+
+.wp-block-cover h2.has-text-align-left,
+.wp-block-cover-image h2.has-text-align-left {
+       text-align: right;
+}
+
+.wp-block-cover h2.has-text-align-center,
+.wp-block-cover-image h2.has-text-align-center {
+       text-align: center;
+}
+
+.wp-block-cover h2.has-text-align-right,
+.wp-block-cover-image h2.has-text-align-right {
+       text-align: left;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover__inner-container {
+       width: calc(100% - 2 * var(--global--spacing-vertical));
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *,
+.wp-block-cover-image .wp-block-cover__inner-container > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-cover .wp-block-cover__inner-container > *,
+       .wp-block-cover-image .wp-block-cover__inner-container > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *:first-child,
+.wp-block-cover-image .wp-block-cover__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *:last-child,
+.wp-block-cover-image .wp-block-cover__inner-container > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-cover.alignleft,
+.wp-block-cover.alignright,
+.wp-block-cover-image.alignleft,
+.wp-block-cover-image.alignright {
+       margin-top: 0;
+}
+
+.wp-block-cover.alignleft > *,
+.wp-block-cover.alignright > *,
+.wp-block-cover-image.alignleft > *,
+.wp-block-cover-image.alignright > * {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(2 * var(--global--spacing-vertical));
+       padding-right: var(--global--spacing-horizontal);
+       padding-left: var(--global--spacing-horizontal);
+       width: 100%;
+}
+
+.wp-block-cover.has-left-content,
+.wp-block-cover.has-right-content,
+.wp-block-cover-image.has-left-content,
+.wp-block-cover-image.has-right-content {
+       justify-content: center;
+}
+
+.wp-block-cover.is-style-twentytwentyone-border,
+.wp-block-cover-image.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-cover[class*=-background-color][class] .wp-block-cover__inner-container,
+.wp-block-cover-image[class*=-background-color][class] .wp-block-cover__inner-container {
+       background-color: unset;
+}
+
+.wp-block-file a.wp-block-file__button:active,
+.wp-block-file a.wp-block-file__button:focus,
+.wp-block-file a.wp-block-file__button:hover {
+       opacity: inherit;
+}
+
+.wp-block-file a.wp-block-file__button {
+       display: inline-block;
+}
+
+.wp-block-gallery {
+       margin: 0 auto;
+}
+
+.wp-block-gallery .blocks-gallery-image,
+.wp-block-gallery .blocks-gallery-item {
+       width: calc((100% - var(--global--spacing-unit)) / 2);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption,
+.wp-block-gallery .blocks-gallery-item figcaption {
+       margin: 0;
+       color: var(--global--color-white);
+       font-size: var(--global--font-size-xs);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption a,
+.wp-block-gallery .blocks-gallery-item figcaption a {
+       color: var(--global--color-white);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption a:focus,
+.wp-block-gallery .blocks-gallery-item figcaption a:focus {
+       background-color: transparent;
+       outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+       text-decoration: none;
+}
+
+.wp-block-gallery .blocks-gallery-image a:focus img,
+.wp-block-gallery .blocks-gallery-item a:focus img {
+       outline-offset: 2px;
+}
+
+.wp-block-group {
+       display: block;
+       clear: both;
+       display: flow-root;
+}
+
+.wp-block-group:before,
+.wp-block-group:after {
+       content: "";
+       display: block;
+       clear: both;
+}
+
+.wp-block-group .wp-block-group__inner-container {
+       margin-right: auto;
+       margin-left: auto;
+}
+
+.wp-block-group .wp-block-group__inner-container > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-group .wp-block-group__inner-container > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-group .wp-block-group__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-group .wp-block-group__inner-container > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-group.has-background {
+       padding: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-group.has-background {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-group.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       padding: var(--global--spacing-vertical);
+}
+
+.wp-block-group.has-background .wp-block-group__inner-container > .alignfull,
+.wp-block-group.has-background .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull,
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > .alignfull,
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
+       max-width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
+       width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
+       margin-right: calc(-1 * var(--global--spacing-vertical));
+}
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+       clear: both;
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+}
+
+h1 strong,
+.h1 strong,
+h2 strong,
+.h2 strong,
+h3 strong,
+.h3 strong,
+h4 strong,
+.h4 strong,
+h5 strong,
+.h5 strong,
+h6 strong,
+.h6 strong {
+       font-weight: var(--heading--font-weight-strong);
+}
+
+h1,
+.h1 {
+       font-size: var(--heading--font-size-h1);
+       letter-spacing: var(--heading--letter-spacing-h1);
+       line-height: var(--heading--line-height-h1);
+}
+
+h2,
+.h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+}
+
+h3,
+.h3 {
+       font-size: var(--heading--font-size-h3);
+       letter-spacing: var(--heading--letter-spacing-h3);
+       line-height: var(--heading--line-height-h3);
+}
+
+h4,
+.h4 {
+       font-size: var(--heading--font-size-h4);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h4);
+       line-height: var(--heading--line-height-h4);
+}
+
+h5,
+.h5 {
+       font-size: var(--heading--font-size-h5);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h5);
+       line-height: var(--heading--line-height-h5);
+}
+
+h6,
+.h6 {
+       font-size: var(--heading--font-size-h6);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h6);
+       line-height: var(--heading--line-height-h6);
+}
+
+.wp-block-image {
+       text-align: center;
+}
+
+.wp-block-image figcaption {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+.wp-block-image .alignright {
+       margin-right: var(--global--spacing-horizontal);
+}
+
+.wp-block-image .alignleft {
+       margin-left: var(--global--spacing-horizontal);
+}
+
+.wp-block-image a:focus img {
+       outline-offset: 2px;
+}
+
+.entry-content > *[class=wp-block-image],
+.entry-content [class*=inner-container] > *[class=wp-block-image] {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.entry-content > *[class=wp-block-image] + *,
+.entry-content [class*=inner-container] > *[class=wp-block-image] + * {
+       margin-top: 0;
+}
+
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: var(--global--spacing-unit);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .wp-block-image > .alignleft,
+       .entry-content > .wp-block-image > .alignright {
+               max-width: 50%;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .entry-content > .wp-block-image > .alignleft,
+       .entry-content > .wp-block-image > .alignright {
+               margin-right: 0;
+               margin-left: 0;
+       }
+}
+
+.wp-block-latest-comments {
+       padding-right: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-body);
+
+       /* Vertical margins logic */
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
+       font-family: var(--heading--font-family);
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-sm);
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-body);
+       margin: 0;
+}
+
+.wp-block-latest-posts {
+       padding-right: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: calc(1.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.widget-area .wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid {
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.wp-block-latest-posts.is-grid > li {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > * {
+       margin-top: calc(0.333 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > a {
+       display: inline-block;
+       font-family: var(--latest-posts--title-font-family);
+       font-size: var(--latest-posts--title-font-size);
+       font-weight: var(--heading--font-weight);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.widget-area .wp-block-latest-posts > li > a {
+       font-size: var(--global--font-size-sm);
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-author {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-md);
+       line-height: var(--global--line-height-body);
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+}
+
+[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date,
+.has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: currentColor;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
+.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
+       font-family: var(--latest-posts--description-font-family);
+       font-size: var(--latest-posts--description-font-size);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts.alignfull {
+       padding-right: var(--global--spacing-unit);
+       padding-left: var(--global--spacing-unit);
+}
+
+.entry-content [class*=inner-container] .wp-block-latest-posts.alignfull,
+.entry-content .has-background .wp-block-latest-posts.alignfull {
+       padding-right: 0;
+       padding-left: 0;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers {
+       border-top: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
+       padding-bottom: var(--global--spacing-vertical);
+       border-bottom: var(--separator--height) solid var(--global--color-border);
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
+       padding-bottom: 0;
+       border-bottom: none;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
+       box-shadow: inset 0 -1px 0 0 var(--global--color-border);
+       border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
+       margin: 0;
+       padding-top: var(--global--spacing-vertical);
+       padding-left: var(--global--spacing-horizontal);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
+       padding-bottom: var(--global--spacing-vertical);
+}
+@media screen and (min-width: 600px) {
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
+               width: calc(100% / 2);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
+               width: calc(100% / 3);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
+               width: calc(100% / 4);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
+               width: calc(100% / 5);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
+               width: calc(100% / 6);
+       }
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
+       padding-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
+       margin-top: var(--global--spacing-horizontal);
+       margin-bottom: var(--global--spacing-horizontal);
+}
+
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+}
+
+.gallery-item a {
+       display: block;
+}
+
+.gallery-item a:focus img {
+       outline-offset: -2px;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 50%;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 33.33%;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 16.66%;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 14.28%;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 11.11%;
+}
+
+.gallery-caption {
+       display: block;
+}
+
+figure.wp-caption a:focus img {
+       outline-offset: 2px;
+}
+
+ul,
+ol {
+       font-family: var(--list--font-family);
+       margin: 0;
+       padding-right: calc(2 * var(--global--spacing-horizontal));
+}
+
+ul.aligncenter,
+ol.aligncenter {
+       list-style-position: inside;
+       padding: 0;
+}
+
+ul.alignright,
+ol.alignright {
+       list-style-position: inside;
+       text-align: left;
+       padding: 0;
+}
+
+ul {
+       list-style-type: disc;
+}
+
+ul ul {
+       list-style-type: circle;
+}
+
+ol {
+       list-style-type: decimal;
+}
+
+ol ul {
+       list-style-type: circle;
+}
+
+dt {
+       font-family: var(--definition-term--font-family);
+       font-weight: bold;
+}
+
+dd {
+       margin: 0;
+       padding-right: calc(2 * var(--global--spacing-horizontal));
+}
+
+.wp-block-media-text {
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-media-text.alignfull {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-media-text a:focus img {
+       outline-offset: -1px;
+}
+
+.wp-block-media-text .wp-block-media-text__content {
+       padding: var(--global--spacing-horizontal);
+}
+@media only screen and (min-width: 592px) {
+
+       .wp-block-media-text .wp-block-media-text__content {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-media-text .wp-block-media-text__content > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-media-text .wp-block-media-text__content > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-media-text .wp-block-media-text__content > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-media-text .wp-block-media-text__content > *:last-child {
+       margin-bottom: 0;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
+               padding-top: var(--global--spacing-vertical);
+               padding-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-media-text.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__label {
+       font-family: var(--primary-nav--font-family);
+       font-size: var(--primary-nav--font-size);
+       font-weight: var(--primary-nav--font-weight);
+}
+
+.wp-block-navigation .wp-block-navigation-link__submenu-icon {
+       padding: 0;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation-link {
+       display: inherit;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container {
+       border: none;
+       right: 0;
+       min-width: max-content;
+       opacity: 0;
+       padding: 0;
+       position: inherit;
+       top: inherit;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container .wp-block-navigation-link__submenu-icon {
+       display: none;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container {
+       background: var(--global--color-background);
+       margin: 0;
+       padding: 0;
+       position: absolute;
+       top: 100%;
+       border: 1px solid var(--primary-nav--border-color);
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:before,
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
+       content: "";
+       display: block;
+       position: absolute;
+       width: 0;
+       top: -10px;
+       right: var(--global--spacing-horizontal);
+       border-style: solid;
+       border-color: var(--primary-nav--border-color) transparent;
+       border-width: 0 7px 10px 7px;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
+       top: -9px;
+       border-color: var(--global--color-background) transparent;
+}
+
+.wp-block-navigation:not(.has-background) .wp-block-navigation__container {
+       background: var(--global--color-background);
+}
+
+.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation__container {
+       background: var(--global--color-background);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover,
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:focus {
+       color: var(--primary-nav--color-link-hover);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link__content {
+       color: currentColor;
+}
+
+p {
+       line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+}
+
+p.has-background {
+       padding: var(--global--spacing-unit);
+}
+
+p.has-text-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre;
+}
+
+.wp-block-pullquote {
+       padding: calc(2 * var(--global--spacing-unit)) 0;
+       text-align: center;
+       border-width: var(--pullquote--border-width);
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-pullquote blockquote::before {
+       color: currentColor;
+       content: "“";
+       display: block;
+       position: relative;
+       right: 0;
+       font-size: 3rem;
+       font-weight: 500;
+       line-height: 1;
+}
+
+.wp-block-pullquote p {
+       font-family: var(--pullquote--font-family);
+       font-size: var(--pullquote--font-size);
+       font-style: var(--pullquote--font-style);
+       font-weight: 700;
+       letter-spacing: var(--pullquote--letter-spacing);
+       line-height: var(--pullquote--line-height);
+       margin: 0;
+}
+
+.wp-block-pullquote a {
+       color: currentColor;
+}
+
+.wp-block-pullquote .wp-block-pullquote__citation,
+.wp-block-pullquote cite,
+.wp-block-pullquote footer {
+       color: currentColor;
+       display: block;
+       font-size: var(--global--font-size-xs);
+       font-style: var(--pullquote--font-style);
+       text-transform: none;
+}
+
+.wp-block-pullquote:not(.is-style-solid-color) {
+       background: none;
+}
+
+.wp-block-pullquote.alignleft:not(.is-style-solid-color) blockquote:before,
+.wp-block-pullquote.alignleft:not(.is-style-solid-color) cite {
+       text-align: center;
+}
+
+.wp-block-pullquote.alignwide > p,
+.wp-block-pullquote.alignwide blockquote {
+       max-width: var(--responsive--alignwide-width);
+}
+
+.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p,
+.wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
+       padding: 0 calc(2 * var(--global--spacing-unit));
+}
+
+.wp-block-pullquote.is-style-solid-color {
+       color: var(--pullquote--color-foreground);
+       padding: calc(2.5 * var(--global--spacing-unit));
+       border-width: var(--pullquote--border-width);
+       border-style: solid;
+       border-color: var(--pullquote--border-color);
+}
+@media (min-width: 600px) {
+
+       .wp-block-pullquote.is-style-solid-color {
+               padding: calc(5 * var(--global--spacing-unit));
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote::before {
+       text-align: right;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote {
+       margin: 0;
+       max-width: inherit;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote p {
+       font-size: var(--pullquote--font-size);
+}
+
+.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
+.wp-block-pullquote.is-style-solid-color cite,
+.wp-block-pullquote.is-style-solid-color footer {
+       color: currentColor;
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft,
+.wp-block-pullquote.is-style-solid-color.alignright {
+       padding: var(--global--spacing-unit);
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
+.wp-block-pullquote.is-style-solid-color.alignright blockquote {
+       max-width: initial;
+}
+
+.wp-block-query.has-background {
+       padding: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-query.has-background {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-quote {
+       border-right: none;
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-quote:before {
+       content: "“";
+       font-size: var(--quote--font-size);
+       line-height: var(--quote--line-height);
+       right: 8px;
+}
+
+.has-background .wp-block-quote .wp-block-quote__citation,
+[class*=background-color] .wp-block-quote .wp-block-quote__citation,
+[style*=background-color] .wp-block-quote .wp-block-quote__citation,
+.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation,
+.has-background .wp-block-quote cite,
+[class*=background-color] .wp-block-quote cite,
+[style*=background-color] .wp-block-quote cite,
+.wp-block-cover[style*=background-image] .wp-block-quote cite,
+.has-background .wp-block-quote footer,
+[class*=background-color] .wp-block-quote footer,
+[style*=background-color] .wp-block-quote footer,
+.wp-block-cover[style*=background-image] .wp-block-quote footer {
+       color: currentColor;
+}
+
+.wp-block-quote.has-text-align-right {
+       margin: var(--global--spacing-vertical) auto var(--global--spacing-vertical) var(--global--spacing-horizontal);
+       padding-left: 0;
+       border-left: none;
+}
+
+.wp-block-quote.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.has-text-align-right p:before {
+       content: "”";
+       font-size: var(--quote--font-size);
+       font-weight: normal;
+       line-height: var(--quote--line-height);
+       margin-left: 5px;
+}
+
+.wp-block-quote.has-text-align-center {
+       margin: var(--global--spacing-vertical) auto;
+}
+
+.wp-block-quote.has-text-align-center:before {
+       display: none;
+}
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+       padding-right: 0;
+       padding-left: 0;
+
+       /* Resetting margins to match _block-container.scss */
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-quote.is-large p,
+.wp-block-quote.is-style-large p {
+       font-size: var(--quote--font-size-large);
+       font-style: var(--quote--font-style-large);
+       line-height: var(--quote--line-height-large);
+}
+
+.wp-block-quote.is-large:before,
+.wp-block-quote.is-style-large:before {
+       font-size: var(--quote--font-size-large);
+       line-height: var(--quote--line-height-large);
+       right: calc(-1 * var(--global--spacing-horizontal));
+}
+
+.wp-block-quote.is-large.has-text-align-right:before,
+.wp-block-quote.is-style-large.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.is-large.has-text-align-right p:before,
+.wp-block-quote.is-style-large.has-text-align-right p:before {
+       content: "”";
+       font-size: var(--quote--font-size-large);
+       font-weight: normal;
+       line-height: var(--quote--line-height-large);
+       margin-left: 10px;
+}
+
+.wp-block-quote.is-large .wp-block-quote__citation,
+.wp-block-quote.is-large cite,
+.wp-block-quote.is-large footer,
+.wp-block-quote.is-style-large .wp-block-quote__citation,
+.wp-block-quote.is-style-large cite,
+.wp-block-quote.is-style-large footer {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-sm);
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.is-large,
+       .wp-block-quote.is-style-large {
+               padding-right: var(--global--spacing-horizontal);
+       }
+
+       .wp-block-quote.is-large:before,
+       .wp-block-quote.is-style-large:before {
+               right: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right,
+       .wp-block-quote.is-style-large.has-text-align-right {
+               padding-right: 0;
+               padding-left: var(--global--spacing-horizontal);
+       }
+
+       .wp-block-quote.is-large.has-text-align-right:before,
+       .wp-block-quote.is-style-large.has-text-align-right:before {
+               left: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-center,
+       .wp-block-quote.is-style-large.has-text-align-center {
+               padding-right: 0;
+               padding-left: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.has-text-align-right {
+               padding-right: 0;
+               padding-left: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-quote.has-text-align-right:before {
+               left: 0;
+       }
+
+       .wp-block-quote.has-text-align-center {
+               padding-right: 0;
+               padding-left: 0;
+       }
+}
+
+.wp-block-rss {
+       padding-right: 0;
+}
+
+.wp-block-rss > li {
+       list-style: none;
+}
+
+.wp-block-rss:not(.is-grid) > li {
+       margin-top: calc(1.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid > li {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-rss.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-rss > li > * {
+       margin-top: calc(0.333 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss .wp-block-rss__item-title > a {
+       display: inline-block;
+       font-family: var(--latest-posts--title-font-family);
+       font-size: var(--latest-posts--title-font-size);
+       font-weight: var(--heading--font-weight);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss .wp-block-rss__item-author {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-md);
+       line-height: var(--global--line-height-body);
+}
+
+.wp-block-rss .wp-block-rss__item-publish-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+}
+
+[class*=inner-container] .wp-block-rss .wp-block-rss__item-publish-date,
+.has-background .wp-block-rss .wp-block-rss__item-publish-date {
+       color: currentColor;
+}
+
+.wp-block-rss .wp-block-rss__item-excerpt,
+.wp-block-rss .wp-block-rss__item-full-content {
+       font-family: var(--latest-posts--description-font-family);
+       font-size: var(--latest-posts--description-font-size);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss.alignfull {
+       padding-right: var(--global--spacing-unit);
+       padding-left: var(--global--spacing-unit);
+}
+
+.entry-content [class*=inner-container] .wp-block-rss.alignfull,
+.entry-content .has-background .wp-block-rss.alignfull {
+       padding-right: 0;
+       padding-left: 0;
+}
+
+.wp-block-search {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.wp-block-search__button-only.aligncenter .wp-block-search__inside-wrapper {
+       justify-content: center;
+}
+
+.wp-block-search .wp-block-search__label {
+       font-size: var(--form--font-size);
+       font-weight: var(--form--label-weight);
+       margin-bottom: calc(var(--global--spacing-vertical) / 3);
+}
+
+.wp-block-search .wp-block-search__input {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       line-height: var(--form--line-height);
+       max-width: inherit;
+       margin-left: calc(-1 * var(--button--border-width));
+       padding: var(--form--spacing-unit);
+}
+
+.wp-block-search .wp-block-search__input:focus {
+       color: var(--form--color-text);
+       border-color: var(--form--border-color);
+}
+
+.has-background .wp-block-search .wp-block-search__input {
+       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search button.wp-block-search__button {
+       margin-right: 0;
+       line-height: 1;
+}
+
+.wp-block-search button.wp-block-search__button.has-icon {
+       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+}
+
+.wp-block-search button.wp-block-search__button.has-icon svg {
+       width: 40px;
+       height: 40px;
+       fill: currentColor;
+}
+
+.has-background .wp-block-search button.wp-block-search__button:hover,
+.has-background .wp-block-search button.wp-block-search__button:active {
+       background-color: var(--local--color-background, var(--global--color-background)) !important;
+       color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.has-text-color .wp-block-search button.wp-block-search__button:hover,
+.has-text-color .wp-block-search button.wp-block-search__button:active {
+       color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       background-color: var(--global--color-white);
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       padding: var(--form--border-width);
+}
+
+.has-background .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
+       margin-right: 0;
+       margin-left: 0;
+       padding-right: var(--form--spacing-unit);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
+       color: var(--form--color-text);
+       outline-offset: -2px;
+       outline: 2px dotted var(--form--border-color);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
+       color: var(--global--color-dark-gray);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
+       color: var(--global--color-dark-gray);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
+       background-color: var(--global--color-dark-gray);
+       color: var(--global--color-white);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button.has-icon {
+       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+}
+
+.wp-block-search__button {
+       box-shadow: none;
+}
+
+hr {
+       border-style: none;
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       clear: both;
+       margin-right: auto;
+       margin-left: auto;
+}
+
+hr.wp-block-separator {
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       opacity: 1;
+
+       /**
+   * Block Options
+   */
+}
+
+hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+hr.wp-block-separator:not(.is-style-dots).alignwide {
+       max-width: var(--responsive--alignwide-width);
+}
+
+hr.wp-block-separator:not(.is-style-dots).alignfull {
+       max-width: var(--responsive--alignfull-width);
+}
+
+hr.wp-block-separator.is-style-twentytwentyone-separator-thick {
+       border-bottom-width: calc(3 * var(--separator--height));
+}
+
+hr.wp-block-separator.is-style-dots.has-background,
+hr.wp-block-separator.is-style-dots.has-text-color {
+       background-color: transparent !important;
+}
+
+hr.wp-block-separator.is-style-dots.has-background:before,
+hr.wp-block-separator.is-style-dots.has-text-color:before {
+       color: currentColor !important;
+}
+
+hr.wp-block-separator.is-style-dots:before {
+       color: var(--separator--border-color);
+       font-size: var(--global--font-size-xl);
+       letter-spacing: var(--global--font-size-sm);
+       padding-right: var(--global--font-size-sm);
+}
+
+.has-background hr.wp-block-separator,
+[class*=background-color] hr.wp-block-separator,
+[style*=background-color] hr.wp-block-separator,
+.wp-block-cover[style*=background-image] hr.wp-block-separator {
+       border-color: currentColor;
+}
+
+.wp-block-social-links a:focus {
+       color: var(--global--color-primary);
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color a {
+       color: var(--global--color-primary);
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link,
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color.has-icon-background-color.has-icon-background-color .wp-social-link {
+       background: none;
+}
+
+table,
+.wp-block-table {
+       width: 100%;
+       min-width: 240px;
+       border-collapse: collapse;
+}
+
+table thead,
+table tfoot,
+.wp-block-table thead,
+.wp-block-table tfoot {
+       text-align: center;
+}
+
+table th,
+.wp-block-table th {
+       font-family: var(--heading--font-family);
+}
+
+table td,
+table th,
+.wp-block-table td,
+.wp-block-table th {
+       padding: calc(0.5 * var(--global--spacing-unit));
+       border: 1px solid;
+}
+
+table figcaption,
+.wp-block-table figcaption {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+}
+
+table.is-style-regular .has-background,
+table.is-style-stripes .has-background,
+table.is-style-stripes .has-background thead tr,
+table.is-style-stripes .has-background tfoot tr,
+table.is-style-stripes .has-background tbody tr,
+.wp-block-table.is-style-regular .has-background,
+.wp-block-table.is-style-stripes .has-background,
+.wp-block-table.is-style-stripes .has-background thead tr,
+.wp-block-table.is-style-stripes .has-background tfoot tr,
+.wp-block-table.is-style-stripes .has-background tbody tr {
+       color: var(--table--has-background-text-color);
+}
+
+table.is-style-stripes,
+.wp-block-table.is-style-stripes {
+       border-color: var(--table--stripes-border-color);
+}
+
+table.is-style-stripes th,
+table.is-style-stripes td,
+.wp-block-table.is-style-stripes th,
+.wp-block-table.is-style-stripes td {
+       border-width: 0;
+}
+
+table.is-style-stripes tbody tr:nth-child(odd),
+.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: var(--table--stripes-background-color);
+}
+
+table.is-style-stripes .has-background tbody tr:nth-child(odd),
+.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: var(--global--color-white-90);
+}
+
+table.wp-calendar-table td,
+table.wp-calendar-table th {
+       background: transparent;
+       border: 0;
+       text-align: center;
+       line-height: 2;
+       vertical-align: middle;
+       word-break: normal;
+}
+
+table.wp-calendar-table th {
+       font-weight: bold;
+}
+
+table.wp-calendar-table thead,
+table.wp-calendar-table tbody {
+       color: currentColor;
+       border: 1px solid;
+}
+
+table.wp-calendar-table caption {
+       font-weight: bold;
+       text-align: right;
+       margin-bottom: var(--global--spacing-unit);
+       color: currentColor;
+}
+
+.wp-calendar-nav {
+       text-align: right;
+       margin-top: calc(var(--global--spacing-unit) / 2);
+}
+
+.wp-calendar-nav svg {
+       height: 1em;
+       vertical-align: middle;
+}
+
+.wp-calendar-nav svg path {
+       fill: currentColor;
+}
+
+.wp-calendar-nav .wp-calendar-nav-next {
+       float: left;
+}
+
+.wp-block-tag-cloud.alignfull {
+       padding-right: var(--global--spacing-unit);
+       padding-left: var(--global--spacing-unit);
+}
+
+.wp-block-verse {
+       font-family: var(--entry-content--font-family);
+}
+
+.wp-block-video figcaption {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+* > figure > video {
+       max-width: unset;
+       width: 100%;
+       vertical-align: middle;
+}
+
+:root .is-extra-small-text,
+:root .has-extra-small-font-size {
+       font-size: var(--global--font-size-xs);
+}
+
+:root .is-small-text,
+:root .has-small-font-size {
+       font-size: var(--global--font-size-sm);
+}
+
+:root .is-regular-text,
+:root .has-regular-font-size,
+:root .is-normal-font-size,
+:root .has-normal-font-size,
+:root .has-medium-font-size {
+       font-size: var(--global--font-size-base);
+}
+
+:root .is-large-text,
+:root .has-large-font-size {
+       font-size: var(--global--font-size-lg);
+       line-height: var(--global--line-height-heading);
+}
+
+:root .is-larger-text,
+:root .has-larger-font-size,
+:root .is-extra-large-text,
+:root .has-extra-large-font-size {
+       font-size: var(--global--font-size-xl);
+       line-height: var(--global--line-height-heading);
+}
+
+:root .is-huge-text,
+:root .has-huge-font-size {
+       font-size: var(--global--font-size-xxl);
+       line-height: var(--global--line-height-heading);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+:root .is-gigantic-text,
+:root .has-gigantic-font-size {
+       font-size: var(--global--font-size-xxxl);
+       line-height: var(--global--line-height-heading);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+/* Block Alignments */
+
+/**
+ * These selectors set the default max width for content appearing inside a post or page.
+ */
+
+/**
+ * .alignleft
+ */
+.alignleft {
+       text-align: left;
+       margin-top: 0;
+}
+
+.entry-content > .alignleft {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignleft {
+               float: left;
+               margin-right: var(--global--spacing-horizontal);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+       .entry-content > .alignleft {
+               max-width: calc(50% - var(--responsive--alignleft-margin));
+       }
+}
+
+/**
+ * .aligncenter
+ */
+.aligncenter {
+       clear: both;
+       display: block;
+       float: none;
+       margin-left: auto;
+       margin-right: auto;
+       text-align: center;
+}
+
+/**
+ * .alignright
+ */
+.alignright {
+       margin-top: 0;
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.entry-content > .alignright {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignright {
+               float: right;
+               margin-left: var(--global--spacing-horizontal);
+       }
+
+       .entry-content > .alignright {
+               max-width: calc(50% - var(--responsive--alignright-margin));
+       }
+}
+
+[class*=inner-container] > .alignleft + *,
+[class*=inner-container] > .alignright + * {
+       margin-top: 0;
+}
+
+/**
+ * .alignwide
+ */
+.alignwide {
+       clear: both;
+}
+
+/**
+ * .alignfull
+ */
+.alignfull {
+       clear: both;
+}
+
+.has-left-content {
+       justify-content: flex-start;
+}
+
+.has-right-content {
+       justify-content: flex-end;
+}
+
+.has-parallax {
+       background-attachment: fixed;
+}
+
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: right;
+       margin: 0.1em 0 0 0.1em;
+       font-size: calc(1.2 * var(--heading--font-size-h1));
+}
+
+.has-drop-cap:not(:focus)::after {
+       content: "";
+       display: table;
+       clear: both;
+       padding-top: 14px;
+}
+
+.desktop-only {
+       display: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .desktop-only {
+               display: block;
+       }
+}
+
+/* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */
+.site-header {
+       display: flex;
+       align-items: flex-start;
+       flex-wrap: wrap;
+       row-gap: var(--global--spacing-vertical);
+}
+
+.wp-custom-logo .site-header {
+       align-items: center;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               padding-top: calc(var(--global--spacing-vertical) / 0.75);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .site-header {
+               padding-top: calc(2.4 * var(--global--spacing-vertical));
+       }
+}
+
+.site-branding {
+       color: var(--branding--color-text);
+       margin-left: 140px;
+}
+
+.site-branding:last-child {
+       margin-left: 0;
+       width: 100%;
+       text-align: center;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-branding {
+               margin-left: initial;
+               margin-top: 4px;
+       }
+}
+
+.site-title {
+       color: var(--branding--color-link);
+       font-family: var(--branding--title--font-family);
+       font-size: var(--branding--title--font-size-mobile);
+       letter-spacing: normal;
+       text-transform: var(--branding--title--text-transform);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(var(--global--spacing-vertical) / 6);
+}
+
+.site-title a {
+       color: currentColor;
+       font-weight: var(--branding--title--font-weight);
+}
+
+.site-title a:link,
+.site-title a:visited,
+.site-title a:active {
+       color: currentColor;
+}
+
+.site-title a:hover,
+.site-title a:focus {
+       color: var(--branding--color-link-hover);
+}
+@media only screen and (min-width: 482px) {
+
+       .site-title {
+               font-size: var(--branding--title--font-size);
+       }
+}
+
+.site-description {
+       color: currentColor;
+       font-family: var(--branding--description--font-family);
+       font-size: var(--branding--description--font-size);
+       line-height: 1.4;
+}
+
+.site-title > a {
+       text-decoration-color: var(--global--color-secondary);
+}
+
+.site-logo {
+       margin: calc(var(--global--spacing-vertical) / 2) 0;
+}
+
+.site-header > .site-logo {
+       width: 100%;
+       padding-bottom: calc(var(--global--spacing-vertical) * 1.5);
+       border-bottom: 1px solid;
+       text-align: center;
+}
+
+.site-logo .custom-logo {
+       margin-right: auto;
+       margin-left: auto;
+       max-width: var(--branding--logo--max-width-mobile);
+       max-height: var(--branding--logo--max-height-mobile);
+       height: auto;
+       display: inline-block;
+       width: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-logo .custom-logo {
+               max-width: var(--branding--logo--max-width);
+               max-height: var(--branding--logo--max-height);
+               height: auto;
+               width: auto;
+       }
+}
+
+@media only screen and (max-width: 481px) {
+
+       .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
+               position: absolute;
+               padding-top: calc(0.5 * var(--global--spacing-vertical));
+               margin-top: 0;
+               top: var(--global--admin-bar--height);
+       }
+
+       .primary-navigation-open .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
+               display: none;
+       }
+
+       .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
+               max-height: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit) + 1.7em);
+       }
+
+       .site-header.has-logo.has-title-and-tagline {
+               align-items: flex-start;
+       }
+
+       .site-header.has-logo.has-title-and-tagline.has-menu {
+               justify-content: space-between;
+       }
+
+       .site-header.has-logo.has-title-and-tagline.has-menu .site-branding {
+               max-width: calc(100% - 160px);
+       }
+
+       .site-header.has-logo.has-title-and-tagline .site-branding {
+               margin-left: 0;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline:after {
+               display: none;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .primary-navigation {
+               position: relative;
+               top: 0;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container {
+               position: relative;
+               padding-top: 0;
+               margin-top: calc(0px - var(--button--padding-vertical) + 0.25 * var(--global--spacing-unit));
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu {
+               padding-right: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
+               padding-left: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
+               margin-left: calc(0px - var(--global--spacing-horizontal) * 0.6);
+       }
+
+       .site-header:not(.has-logo).has-title-and-tagline .site-branding {
+               margin-left: 0;
+               max-width: calc(100% - 160px);
+       }
+
+       .site-header:not(.has-menu) {
+               justify-content: center;
+       }
+}
+
+.site-footer {
+       padding-top: 0;
+       padding-bottom: calc(1.7 * var(--global--spacing-vertical));
+}
+
+.no-widgets .site-footer {
+       margin-top: calc(6 * var(--global--spacing-vertical));
+}
+@media only screen and (max-width: 481px) {
+
+       .no-widgets .site-footer {
+               margin-top: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+.site-footer > .site-info {
+       padding-top: var(--global--spacing-vertical);
+       color: var(--footer--color-text);
+       font-family: var(--footer--font-family);
+       font-size: var(--footer--font-size);
+       line-height: var(--global--line-height-body);
+       border-top: 3px solid var(--global--color-border);
+}
+
+.site-footer > .site-info .site-name {
+       text-transform: var(--branding--title--text-transform);
+       font-size: var(--branding--title--font-size);
+}
+
+.site-footer > .site-info .privacy-policy,
+.site-footer > .site-info .powered-by {
+       margin-top: calc(0.5 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 822px) {
+
+       .site-footer > .site-info {
+               display: flex;
+               align-items: center;
+       }
+
+       .site-footer > .site-info .site-name {
+               margin-left: calc(0.5 * var(--global--spacing-vertical));
+       }
+
+       .site-footer > .site-info .privacy-policy,
+       .site-footer > .site-info .powered-by {
+               margin-top: initial;
+               margin-right: auto;
+       }
+
+       .site-footer > .site-info .privacy-policy + .powered-by {
+               margin-right: calc(0.5 * var(--global--spacing-vertical));
+       }
+}
+
+.site-footer > .site-info a {
+       color: var(--footer--color-link);
+}
+
+.site-footer > .site-info a:link,
+.site-footer > .site-info a:visited,
+.site-footer > .site-info a:active {
+       color: var(--footer--color-link);
+}
+
+.site-footer > .site-info a:hover {
+       color: var(--footer--color-link-hover);
+}
+
+.site-footer > .site-info a:focus {
+       color: var(--footer--color-link-hover);
+}
+
+.is-dark-theme .site-footer > .site-info a:focus {
+       color: var(--wp--style--color--link, var(--global--color-background));
+}
+
+.has-background-white .site-footer > .site-info a:focus {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.singular .entry-header {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.home .entry-header {
+       border-bottom: none;
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+.singular .has-post-thumbnail .entry-header {
+       border-bottom: none;
+       padding-bottom: calc(1.3 * var(--global--spacing-vertical));
+       margin-bottom: 0;
+}
+
+.no-results.not-found > *:first-child {
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.page-links {
+       clear: both;
+}
+
+.page-links .post-page-numbers {
+       display: inline-block;
+       margin-right: calc(0.66 * var(--global--spacing-unit));
+       margin-left: calc(0.66 * var(--global--spacing-unit));
+       min-width: 44px;
+       min-height: 44px;
+}
+
+.page-links .post-page-numbers:first-child {
+       margin-right: 0;
+}
+
+.entry-title {
+       color: var(--entry-header--color);
+       font-size: var(--entry-header--font-size);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+       overflow-wrap: break-word;
+}
+
+.entry-title a {
+       color: var(--entry-header--color-link);
+       text-underline-offset: 0.15em;
+}
+
+.entry-title a:hover {
+       color: var(--entry-header--color-hover);
+}
+
+.entry-title a:focus {
+       color: var(--entry-header--color-focus);
+}
+
+.entry-title a:active {
+       color: var(--entry-header--color-link);
+}
+
+.singular .entry-title {
+       font-size: var(--global--font-size-page-title);
+}
+
+h1.entry-title {
+       line-height: var(--heading--line-height-h1);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+/**
+ * Entry Content
+ */
+.entry-content,
+.entry-summary {
+       font-family: var(--entry-content--font-family);
+}
+
+.entry-content p {
+       word-wrap: break-word;
+}
+
+.entry-content > iframe[style] {
+       margin: var(--global--spacing-vertical) 0 !important;
+       max-width: 100% !important;
+}
+
+.entry-footer {
+       color: var(--global--color-primary);
+       clear: both;
+       float: none;
+       font-size: var(--global--font-size-xs);
+       display: block;
+}
+
+.entry-footer > span {
+       display: inline-block;
+}
+
+.entry-footer a {
+       color: currentColor;
+}
+
+.entry-footer a:hover,
+.entry-footer a:focus {
+       color: var(--global--color-primary-hover);
+}
+
+.entry-footer a:active {
+       color: currentColor;
+}
+
+.site-main > article > .entry-footer {
+       margin-top: var(--global--spacing-vertical);
+       padding-top: var(--global--spacing-unit);
+       padding-bottom: calc(3 * var(--global--spacing-vertical));
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+}
+
+body:not(.single) .site-main > article:last-of-type .entry-footer {
+       border-bottom: var(--separator--height) solid transparent;
+}
+
+.single .site-main > article > .entry-footer {
+       margin-top: calc(3.4 * var(--global--spacing-vertical));
+       margin-bottom: calc(3.4 * var(--global--spacing-vertical));
+       padding-bottom: 0;
+       padding-top: calc(0.8 * var(--global--spacing-vertical));
+       border-top: 3px solid var(--separator--border-color);
+       border-bottom: var(--separator--height) solid transparent;
+       display: grid;
+       grid-template-columns: repeat(2, 1fr);
+       column-gap: calc(2 * var(--global--spacing-horizontal));
+}
+
+.single .site-main > article > .entry-footer .post-taxonomies,
+.single .site-main > article > .entry-footer .full-size-link {
+       justify-content: flex-end;
+       text-align: left;
+}
+
+.single .site-main > article > .entry-footer .full-size-link:first-child:last-child {
+       grid-column: span 2;
+}
+
+.single .site-main > article > .entry-footer .posted-on,
+.single .site-main > article > .entry-footer .byline,
+.single .site-main > article > .entry-footer .cat-links,
+.single .site-main > article > .entry-footer .tags-links {
+       display: block;
+}
+@media only screen and (max-width: 481px) {
+
+       .single .site-main > article > .entry-footer {
+               display: block;
+       }
+
+       .single .site-main > article > .entry-footer .full-size-link {
+               display: block;
+       }
+
+       .single .site-main > article > .entry-footer .post-taxonomies,
+       .single .site-main > article > .entry-footer .full-size-link {
+               text-align: right;
+       }
+}
+
+/**
+ * Post Thumbnails
+ */
+.post-thumbnail {
+       text-align: center;
+}
+
+.post-thumbnail .wp-post-image {
+       display: block;
+       width: auto;
+       max-width: 100%;
+       margin-right: auto;
+       margin-left: auto;
+       margin-top: calc(2 * var(--global--spacing-vertical));
+}
+
+/**
+ * Author
+ */
+.author-bio {
+       position: relative;
+       font-size: var(--global--font-size-xs);
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.site-main > article > .author-bio {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+}
+
+.author-bio.show-avatars .avatar {
+       display: inline-block;
+       vertical-align: top;
+       border-radius: 50%;
+}
+
+.author-bio.show-avatars .author-bio-content {
+       display: inline-block;
+       padding-right: var(--global--spacing-horizontal);
+       max-width: calc(var(--responsive--aligndefault-width) - 90px);
+}
+
+.author-bio .author-bio-content .author-title {
+       font-family: var(--entry-author-bio--font-family);
+       font-size: var(--entry-author-bio--font-size);
+       display: inline;
+}
+
+.author-bio .author-bio-content .author-description {
+       font-size: var(--global--font-size-xs);
+       margin-top: calc(0.5 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+}
+
+.page-title {
+       font-size: var(--global--font-size-page-title);
+}
+
+h1.page-title,
+h2.page-title {
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+h1.page-title {
+       line-height: var(--heading--line-height-h1);
+}
+
+.page-header {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+}
+
+.archive .content-area .format-aside .entry-content,
+.archive .content-area .format-status .entry-content,
+.archive .content-area .format-link .entry-content,
+.search .content-area .format-aside .entry-content,
+.search .content-area .format-status .entry-content,
+.search .content-area .format-link .entry-content,
+.blog .content-area .format-aside .entry-content,
+.blog .content-area .format-status .entry-content,
+.blog .content-area .format-link .entry-content {
+       font-size: var(--global--font-size-lg);
+}
+
+.archive .format-image .entry-content,
+.archive .format-gallery .entry-content,
+.archive .format-video .entry-content,
+.search .format-image .entry-content,
+.search .format-gallery .entry-content,
+.search .format-video .entry-content,
+.blog .format-image .entry-content,
+.blog .format-gallery .entry-content,
+.blog .format-video .entry-content {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+}
+
+.archive .entry-footer .cat-links,
+.archive .entry-footer .tags-links,
+.search .entry-footer .cat-links,
+.search .entry-footer .tags-links,
+.blog .entry-footer .cat-links,
+.blog .entry-footer .tags-links {
+       display: block;
+}
+
+.archive.logged-in .entry-footer .posted-on,
+.search.logged-in .entry-footer .posted-on,
+.blog.logged-in .entry-footer .posted-on {
+       margin-left: calc(0.5 * var(--global--spacing-unit));
+}
+
+.archive-description {
+       margin-top: var(--global--spacing-vertical);
+       font-size: var(--global--font-size-xl);
+       line-height: var(--global--line-height-heading);
+}
+
+.error404 main p {
+       font-size: var(--global--font-size-lg);
+       margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667);
+}
+
+.search-no-results .page-content {
+       margin-top: calc(3 * var(--global--spacing-vertical));
+}
+
+/**
+ * Comments Wrapper
+ */
+.comments-area > * {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comments-area > *:first-child {
+       margin-top: 0;
+}
+
+.comments-area > *:last-child {
+       margin-bottom: 0;
+}
+
+.comments-area.show-avatars .avatar {
+       border-radius: 50%;
+       position: absolute;
+       top: 10px;
+}
+
+.comments-area.show-avatars .fn {
+       display: inline-block;
+       padding-right: 85px;
+}
+
+.comments-area.show-avatars .comment-metadata {
+       padding: 8px 85px 9px 0;
+}
+
+/**
+ * Comment Title
+ */
+.comments-title,
+.comment-reply-title {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+}
+
+.comment-reply-title {
+       display: flex;
+       justify-content: space-between;
+}
+
+.comment-reply-title small a {
+       font-family: var(--global--font-secondary);
+       font-size: var(--global--font-size-xs);
+       font-style: normal;
+       font-weight: normal;
+       letter-spacing: normal;
+}
+
+/* Nested comment reply title*/
+.comment .comment-respond .comment-reply-title {
+       font-size: var(--global--font-size-lg);
+}
+
+/**
+ * Comment Lists
+ */
+.comment-list {
+       padding-right: 0;
+       list-style: none;
+}
+
+.comment-list > li {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-list .children {
+       list-style: none;
+       padding-right: 0;
+}
+
+.comment-list .children > li {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .comment-list .depth-2,
+       .comment-list .depth-3 {
+               padding-right: calc(4 * var(--global--spacing-horizontal));
+       }
+}
+
+/**
+ * Comment Meta
+ */
+.comment-meta .comment-author {
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.25 * var(--global--spacing-unit));
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-meta .comment-author {
+               margin-bottom: 0;
+               padding-left: 0;
+       }
+}
+
+.comment-meta .comment-author .fn {
+       font-family: var(--global--font-secondary);
+       font-weight: normal;
+       font-size: var(--global--font-size-lg);
+       hyphens: auto;
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.comment-meta .comment-metadata {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       padding: 8px 0 9px 0;
+}
+
+.comment-meta .comment-metadata .edit-link {
+       margin-right: var(--global--spacing-horizontal);
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-meta {
+               margin-left: inherit;
+       }
+
+       .comment-meta .comment-author {
+               max-width: inherit;
+       }
+}
+
+.reply {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-heading);
+}
+
+.bypostauthor {
+       display: block;
+}
+
+.says {
+       display: none;
+}
+
+.pingback .url,
+.trackback .url {
+       font-family: var(--global--font-primary);
+}
+
+.comment-body {
+       position: relative;
+       margin-bottom: calc(1.7 * var(--global--spacing-vertical));
+}
+
+.comment-body > * {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-body .reply {
+       margin: 0;
+}
+
+.comment-content {
+       word-wrap: break-word;
+}
+
+.pingback .comment-body,
+.trackback .comment-body {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-respond {
+       margin-top: var(--global--spacing-vertical);
+}
+
+.comment-respond > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+.comment-respond > *:first-child {
+       margin-top: 0;
+}
+
+.comment-respond > *:last-child {
+       margin-bottom: 0;
+}
+
+.comment-respond > *:last-child.comment-form {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-author {
+       padding-top: 3px;
+}
+
+.comment-author .url {
+       color: currentColor;
+}
+
+.comment-form {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+.comment-form > * {
+       flex-basis: 100%;
+}
+
+.comment-form .comment-notes {
+       font-size: var(--global--font-size-sm);
+}
+
+.comment-form .comment-form-url,
+.comment-form .comment-form-comment {
+       width: 100%;
+}
+
+.comment-form .comment-form-author,
+.comment-form .comment-form-email {
+       flex-basis: 0;
+       flex-grow: 1;
+}
+@media only screen and (max-width: 481px) {
+
+       .comment-form .comment-form-author,
+       .comment-form .comment-form-email {
+               flex-basis: 100%;
+       }
+}
+
+.comment-form .comment-form-cookies-consent > label,
+.comment-form .comment-notes {
+       font-size: var(--global--font-size-xs);
+       font-weight: normal;
+}
+
+.comment-form > p {
+       margin-bottom: var(--global--spacing-unit);
+}
+
+.comment-form > p:first-of-type {
+       margin-top: 0;
+}
+
+.comment-form > p:last-of-type {
+       margin-bottom: 0;
+}
+
+.comment-form > p label,
+.comment-form > p input[type=email],
+.comment-form > p input[type=text],
+.comment-form > p input[type=url],
+.comment-form > p textarea {
+       display: block;
+       font-size: var(--global--font-size-sm);
+       margin-bottom: calc(0.5 * var(--global--spacing-unit));
+       width: 100%;
+       font-weight: var(--form--label-weight);
+}
+
+.comment-form > p.comment-form-cookies-consent {
+       display: flex;
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-form > p.comment-form-author {
+               margin-left: calc(1.5 * var(--global--spacing-horizontal));
+       }
+
+       .comment-form > p.comment-notes,
+       .comment-form > p.logged-in-as {
+               display: block;
+       }
+}
+
+.menu-button-container {
+       display: none;
+       justify-content: space-between;
+       position: absolute;
+       left: 0;
+       padding-top: calc(0.5 * var(--global--spacing-vertical));
+       padding-bottom: calc(0.25 * var(--global--spacing-vertical));
+}
+@media only screen and (max-width: 481px) {
+
+       .menu-button-container {
+               display: flex;
+       }
+}
+
+.menu-button-container #primary-mobile-menu {
+       display: flex;
+       margin-right: auto;
+       padding: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit)) calc(0.5 * var(--button--padding-horizontal));
+       font-size: var(--primary-nav--font-size-button);
+       font-weight: var(--primary-nav--font-weight-button);
+       background-color: transparent;
+       border: none;
+       color: var(--primary-nav--color-link);
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon {
+       display: flex;
+       align-items: center;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon .svg-icon {
+       margin-right: calc(0.25 * var(--global--spacing-unit));
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon.open .svg-icon {
+       position: relative;
+       top: -1px;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon.close {
+       display: none;
+}
+
+.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.open {
+       display: none;
+}
+
+.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
+       display: flex;
+}
+
+.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
+       animation-name: twentytwentyone-close-button-transition;
+       animation-duration: 0.3s;
+}
+
+.primary-navigation-open .menu-button-container {
+       width: 100%;
+       z-index: 500;
+       background-color: var(--global--color-background);
+}
+
+.primary-navigation-open .menu-button-container #primary-mobile-menu {
+       position: static;
+}
+
+.primary-navigation {
+       position: absolute;
+       top: var(--global--admin-bar--height);
+       left: 0;
+       color: var(--primary-nav--color-text);
+       font-size: var(--primary-nav--font-size);
+       line-height: 1.15;
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.primary-navigation > .primary-menu-container {
+       position: fixed;
+       visibility: hidden;
+       opacity: 0;
+       top: 0;
+       left: 0;
+       bottom: 0;
+       right: 0;
+       padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px);
+       padding-right: var(--global--spacing-unit);
+       padding-left: var(--global--spacing-unit);
+       padding-bottom: var(--global--spacing-horizontal);
+       background-color: var(--global--color-background);
+       transform: translateY(var(--global--spacing-vertical));
+}
+@media (prefers-reduced-motion: no-preference) {
+
+       .primary-navigation > .primary-menu-container {
+               transition: all 0.15s ease-in-out;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > .primary-menu-container {
+               height: 100vh;
+               z-index: 499;
+               overflow-x: hidden;
+               overflow-y: auto;
+               border: 2px solid transparent;
+       }
+
+       .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               position: fixed;
+               transform: translateY(0) translateX(-100%);
+       }
+
+       .admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               top: var(--global--admin-bar--height);
+       }
+
+       .admin-bar .primary-navigation > .primary-menu-container {
+               height: calc(100vh - var(--global--admin-bar--height));
+       }
+
+       .primary-navigation > .primary-menu-container:focus {
+               border: 2px solid var(--global--color-primary);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation-open .primary-navigation {
+               width: 100%;
+               position: fixed;
+               z-index: 2;
+       }
+}
+
+.primary-navigation-open .primary-navigation > .primary-menu-container {
+       position: absolute;
+       visibility: visible;
+       opacity: 1;
+       transform: translateY(0);
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation-open .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               transform: translateX(0) translateY(0);
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation {
+               position: relative;
+               margin-right: auto;
+       }
+
+       .primary-navigation > .primary-menu-container {
+               visibility: visible;
+               opacity: 1;
+               position: relative;
+               padding: 0;
+               background-color: transparent;
+               overflow: initial;
+               transform: none;
+       }
+
+       .primary-navigation #toggle-menu {
+               display: none;
+       }
+
+       .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
+               display: none;
+       }
+
+       .admin-bar .primary-navigation {
+               top: initial;
+       }
+
+       .admin-bar .primary-navigation > .primary-menu-container {
+               top: initial;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper {
+       display: flex;
+       justify-content: flex-start;
+       flex-wrap: wrap;
+       list-style: none;
+       margin: 0;
+       max-width: none;
+       padding-right: 0;
+       position: relative;
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > div > .menu-wrapper {
+               padding-bottom: 100px;
+       }
+
+       .primary-navigation > div > .menu-wrapper ul {
+               padding-right: 0;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper li {
+       display: block;
+       position: relative;
+       width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation > div > .menu-wrapper li {
+               margin: 0;
+               width: inherit;
+       }
+
+       .primary-navigation > div > .menu-wrapper li:last-child {
+               margin-left: 0;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
+       display: flex;
+       height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px);
+       width: 44px;
+       padding: 0;
+       justify-content: center;
+       align-items: center;
+       background: transparent;
+       color: currentColor;
+       border: none;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
+       outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
+               display: none;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus,
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
+       height: 100%;
+       display: flex;
+       align-items: center;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg,
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
+       margin-top: -1px;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
+       display: none;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-minus {
+       display: flex;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-plus {
+       display: none;
+}
+
+.primary-navigation > div > .menu-wrapper > li > .sub-menu {
+       position: relative;
+}
+@media only screen and (min-width: 482px) and (prefers-reduced-motion: no-preference) {
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu {
+               transition: all 0.5s ease;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu {
+               right: 0;
+               margin: 0;
+               min-width: max-content;
+               position: absolute;
+               top: 100%;
+               padding-top: 3px;
+               z-index: 88888;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
+               content: "";
+               display: block;
+               position: absolute;
+               width: 0;
+               top: -10px;
+               right: var(--global--spacing-horizontal);
+               border-style: solid;
+               border-color: var(--primary-nav--border-color) transparent;
+               border-width: 0 7px 10px 7px;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
+               top: -9px;
+               border-color: var(--global--color-background) transparent;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+               background: var(--global--color-background);
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left {
+               left: 0;
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:before,
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:after {
+               left: var(--global--spacing-horizontal);
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right {
+               right: 0;
+               left: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:before,
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:after {
+               left: auto;
+               right: var(--global--spacing-horizontal);
+       }
+}
+
+.primary-navigation .primary-menu > .menu-item:hover > a {
+       color: var(--primary-nav--color-link-hover);
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .primary-menu-container {
+               margin-left: calc(0px - var(--primary-nav--padding));
+               margin-right: calc(0px - var(--primary-nav--padding));
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item {
+               display: flex;
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item > a {
+               padding-right: var(--primary-nav--padding);
+               padding-left: var(--primary-nav--padding);
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
+               margin-right: calc(5px - var(--primary-nav--padding));
+       }
+}
+
+.primary-navigation a {
+       display: block;
+       font-family: var(--primary-nav--font-family-mobile);
+       font-size: var(--primary-nav--font-size-mobile);
+       font-weight: var(--primary-nav--font-weight);
+       padding: var(--primary-nav--padding) 0;
+       text-decoration: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation a {
+               display: block;
+               font-family: var(--primary-nav--font-family);
+               font-size: var(--primary-nav--font-size);
+               font-weight: var(--primary-nav--font-weight);
+       }
+}
+
+.primary-navigation a + svg {
+       fill: var(--primary-nav--color-text);
+}
+
+.primary-navigation a:hover,
+.primary-navigation a:link,
+.primary-navigation a:visited {
+       color: var(--primary-nav--color-link-hover);
+}
+
+.primary-navigation a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.primary-navigation a:focus {
+       position: relative;
+       z-index: 99999;
+       outline-offset: 0;
+       text-decoration-thickness: 2px;
+}
+
+.primary-navigation .current-menu-item > a:first-child,
+.primary-navigation .current_page_item > a:first-child {
+       text-decoration: underline;
+       text-decoration-style: solid;
+}
+
+.primary-navigation .current-menu-item > a:first-child:hover,
+.primary-navigation .current_page_item > a:first-child:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.primary-navigation .sub-menu {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+       margin-right: var(--primary-nav--padding);
+       border: 1px solid var(--primary-nav--border-color);
+}
+
+.primary-navigation .sub-menu .sub-menu {
+       border: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .sub-menu > .menu-item > .sub-menu {
+               padding: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation .sub-menu .menu-item:last-child {
+               margin-bottom: 0;
+       }
+}
+
+.primary-navigation .sub-menu .menu-item > a {
+       padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
+       display: block;
+       font-size: var(--primary-nav--font-size-sub-menu-mobile);
+       font-style: var(--primary-nav--font-style-sub-menu-mobile);
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .sub-menu .menu-item > a {
+               font-size: var(--primary-nav--font-size-sub-menu);
+               font-style: var(--primary-nav--font-style);
+       }
+}
+
+.primary-navigation .menu-item-has-children > .svg-icon {
+       display: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .menu-item-has-children > .svg-icon {
+               display: inline-block;
+               height: 100%;
+       }
+
+       .primary-navigation .menu-item-has-children .sub-menu .svg-icon {
+               display: none;
+       }
+}
+
+.primary-navigation .menu-item-description {
+       display: block;
+       clear: both;
+       font-size: var(--global--font-size-xs);
+       text-transform: none;
+       line-height: 1.7;
+}
+
+.primary-navigation .menu-item-description > span {
+       display: inline-block;
+}
+
+@media only screen and (max-width: 481px) {
+
+       .lock-scrolling .site {
+               position: fixed;
+               max-width: 100%;
+               width: 100%;
+       }
+}
+@keyframes twentytwentyone-close-button-transition {
+
+       from {
+               opacity: 0;
+       }
+
+       to {
+               opacity: 1;
+       }
+}
+
+.footer-navigation {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: var(--global--spacing-vertical);
+       color: var(--footer--color-text);
+       font-size: var(--global--font-size-xs);
+       font-family: var(--footer--font-family);
+}
+
+.footer-navigation-wrapper {
+       display: flex;
+       justify-content: center;
+       flex-wrap: wrap;
+       list-style: none;
+       padding-right: 0;
+}
+
+.footer-navigation-wrapper li {
+       display: inline;
+       line-height: 3;
+}
+
+.footer-navigation-wrapper li a {
+       padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
+       color: var(--footer--color-link);
+}
+
+.footer-navigation-wrapper li a:link,
+.footer-navigation-wrapper li a:visited,
+.footer-navigation-wrapper li a:active {
+       color: var(--footer--color-link);
+}
+
+.footer-navigation-wrapper li a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+       color: var(--footer--color-link-hover);
+}
+
+.is-dark-theme .footer-navigation-wrapper li a:focus .svg-icon {
+       fill: var(--wp--style--color--link, var(--global--color-background));
+}
+
+.has-background-white .footer-navigation-wrapper li a:focus .svg-icon {
+       fill: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.footer-navigation-wrapper li .svg-icon {
+       vertical-align: middle;
+       fill: var(--footer--color-link);
+}
+
+.footer-navigation-wrapper li .svg-icon:hover {
+       transform: scale(1.1);
+}
+@media (prefers-reduced-motion: no-preference) {
+
+       .footer-navigation-wrapper li .svg-icon {
+               transition: transform 0.1s ease;
+       }
+}
+
+.footer-navigation-wrapper .sub-menu-toggle,
+.footer-navigation-wrapper .menu-item-description {
+       display: none;
+}
+
+/* Next/Previous navigation */
+.navigation {
+       color: var(--global--color-primary);
+}
+
+.navigation a {
+       color: var(--global--color-primary);
+       text-decoration: none;
+}
+
+.navigation a:hover {
+       color: var(--global--color-primary-hover);
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.navigation a:focus {
+       color: var(--global--color-secondary);
+}
+
+.navigation a:active {
+       color: var(--global--color-primary);
+}
+
+.navigation .nav-links > * {
+       min-width: 44px;
+       min-height: 44px;
+}
+
+.navigation .nav-links .nav-next a,
+.navigation .nav-links .nav-previous a {
+       display: flex;
+       flex-direction: column;
+}
+
+.navigation .nav-links .dots {
+       text-align: center;
+}
+@media only screen and (min-width: 592px) {
+
+       .navigation .nav-links {
+               display: flex;
+               justify-content: center;
+               flex-wrap: wrap;
+       }
+
+       .navigation .nav-links .nav-next,
+       .navigation .nav-links .nav-previous {
+               flex: 0 1 auto;
+               margin-bottom: inherit;
+               margin-top: inherit;
+               max-width: calc(50% - 0.5 * var(--global--spacing-unit));
+       }
+
+       .navigation .nav-links .nav-next {
+               text-align: left;
+       }
+}
+
+.navigation .svg-icon {
+       display: inline-block;
+       fill: currentColor;
+       vertical-align: middle;
+       position: relative;
+}
+
+.navigation .nav-previous .svg-icon,
+.navigation .prev .svg-icon {
+       top: -2px;
+       margin-left: calc(0.25 * var(--global--spacing-unit));
+}
+
+.navigation .nav-next .svg-icon,
+.navigation .next .svg-icon {
+       top: -1px;
+       margin-right: calc(0.25 * var(--global--spacing-unit));
+}
+
+.post-navigation {
+       margin: var(--global--spacing-vertical) auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .post-navigation {
+               margin: var(--global--spacing-vertical) auto;
+       }
+}
+
+.post-navigation .meta-nav {
+       line-height: var(--global--line-height-body);
+       color: var(--global--color-primary);
+}
+
+.post-navigation .post-title {
+       display: inline-block;
+       font-family: var(--global--font-primary);
+       font-size: var(--global--font-size-lg);
+       font-weight: var(--pagination--font-weight-strong);
+       line-height: var(--global--line-height-heading);
+}
+@media only screen and (min-width: 822px) {
+
+       .post-navigation .post-title {
+               margin: 5px calc(24px + 0.25 * var(--global--spacing-unit)) 0;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .post-navigation .nav-links {
+               justify-content: space-between;
+       }
+}
+
+.post-navigation .nav-next,
+.post-navigation .nav-previous {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.post-navigation .nav-next:first-child,
+.post-navigation .nav-previous:first-child {
+       margin-top: 0;
+}
+
+.post-navigation .nav-next:last-child,
+.post-navigation .nav-previous:last-child {
+       margin-bottom: 0;
+}
+
+.pagination,
+.comments-pagination {
+       border-top: 3px solid var(--global--color-border);
+       padding-top: var(--global--spacing-vertical);
+       margin: var(--global--spacing-vertical) auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .pagination,
+       .comments-pagination {
+               margin: var(--global--spacing-vertical) auto;
+       }
+}
+
+.pagination .nav-links,
+.comments-pagination .nav-links {
+       margin-top: calc(-1 * var(--global--spacing-vertical));
+}
+
+.pagination .nav-links a:hover,
+.comments-pagination .nav-links a:hover {
+       color: var(--pagination--color-link-hover);
+}
+
+.is-dark-theme .pagination .nav-links a:active,
+.is-dark-theme .pagination .nav-links a:hover:active,
+.is-dark-theme .pagination .nav-links a:hover:focus,
+.is-dark-theme .comments-pagination .nav-links a:active,
+.is-dark-theme .comments-pagination .nav-links a:hover:active,
+.is-dark-theme .comments-pagination .nav-links a:hover:focus {
+       color: var(--global--color-background);
+}
+
+.has-background-white .pagination .nav-links a:active,
+.has-background-white .pagination .nav-links a:hover:active,
+.has-background-white .pagination .nav-links a:hover:focus,
+.has-background-white .comments-pagination .nav-links a:active,
+.has-background-white .comments-pagination .nav-links a:hover:active,
+.has-background-white .comments-pagination .nav-links a:hover:focus {
+       color: var(--global--color-white);
+}
+
+.pagination .nav-links > *,
+.comments-pagination .nav-links > * {
+       color: var(--pagination--color-text);
+       font-family: var(--pagination--font-family);
+       font-size: var(--pagination--font-size);
+       font-weight: var(--pagination--font-weight);
+       margin-top: var(--global--spacing-vertical);
+       margin-right: calc(0.66 * var(--global--spacing-unit));
+       margin-left: calc(0.66 * var(--global--spacing-unit));
+}
+
+.pagination .nav-links > *.current,
+.comments-pagination .nav-links > *.current {
+       text-decoration: underline;
+}
+
+.pagination .nav-links > *:not(.dots):not(.current):hover,
+.comments-pagination .nav-links > *:not(.dots):not(.current):hover {
+       text-decoration-style: dotted;
+}
+
+.pagination .nav-links > *:first-child,
+.comments-pagination .nav-links > *:first-child {
+       margin-right: 0;
+}
+
+.pagination .nav-links > *:last-child,
+.comments-pagination .nav-links > *:last-child {
+       margin-left: 0;
+}
+
+.pagination .nav-links > *.next,
+.comments-pagination .nav-links > *.next {
+       margin-right: auto;
+}
+
+.pagination .nav-links > *.prev,
+.comments-pagination .nav-links > *.prev {
+       margin-left: auto;
+}
+@media only screen and (max-width: 821px) {
+
+       .pagination .nav-links,
+       .comments-pagination .nav-links {
+               display: flex;
+               flex-wrap: wrap;
+       }
+
+       .pagination .page-numbers,
+       .comments-pagination .page-numbers {
+               display: none;
+       }
+
+       .pagination .page-numbers.prev,
+       .pagination .page-numbers.next,
+       .comments-pagination .page-numbers.prev,
+       .comments-pagination .page-numbers.next {
+               display: inline-block;
+               flex: 0 1 auto;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .pagination .nav-short,
+       .comments-pagination .nav-short {
+               display: none;
+       }
+}
+
+.comments-pagination {
+       padding-top: calc(0.66 * var(--global--spacing-vertical));
+       margin: calc(3 * var(--global--spacing-vertical)) auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .comments-pagination {
+               margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto;
+       }
+}
+
+.comments-pagination .nav-links > * {
+       font-size: var(--global--font-size-md);
+}
+
+.widget-area {
+       margin-top: calc(6 * var(--global--spacing-vertical));
+       padding-bottom: calc(var(--global--spacing-vertical) / 3);
+       color: var(--footer--color-text);
+       font-size: var(--footer--font-size);
+       font-family: var(--footer--font-family);
+}
+@media only screen and (min-width: 652px) {
+
+       .widget-area {
+               display: grid;
+               grid-template-columns: repeat(2, 1fr);
+               column-gap: calc(2 * var(--global--spacing-horizontal));
+       }
+}
+@media only screen and (min-width: 1024px) {
+
+       .widget-area {
+               grid-template-columns: repeat(3, 1fr);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .widget-area {
+               margin-top: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+.widget-area .wp-block-social-links.alignright {
+       margin-top: var(--global--spacing-vertical);
+       justify-content: flex-end;
+}
+
+.widget-area .wp-block-social-links.alignleft {
+       margin-top: var(--global--spacing-vertical);
+}
+
+.widget-area:after {
+       content: "";
+       display: table;
+       clear: both;
+}
+
+.widget h1,
+.widget h2,
+.widget h3,
+.widget h4,
+.widget h5,
+.widget h6 {
+       font-weight: var(--widget--font-weight-title);
+       line-height: var(--widget--line-height-title);
+}
+
+.widget h1 {
+       font-size: var(--global--font-size-md);
+}
+
+.widget h2 {
+       font-size: var(--global--font-size-sm);
+}
+
+.widget h3 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget h4 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget h5 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget h6 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget ul {
+       list-style-type: none;
+       padding: 0;
+}
+
+.widget ul li {
+       line-height: var(--widget--line-height-list);
+}
+
+.widget ul.sub-menu,
+.widget ul.children {
+       margin-right: var(--widget--spacing-menu);
+}
+
+.widget ul .sub-menu-toggle {
+       display: none;
+}
+
+.widget a {
+       color: var(--footer--color-link);
+       text-decoration: underline;
+       text-decoration-style: solid;
+       text-decoration-color: currentColor;
+}
+
+.widget a:link,
+.widget a:visited,
+.widget a:active {
+       color: var(--footer--color-link);
+}
+
+.widget a:hover {
+       color: var(--footer--color-link-hover);
+       text-decoration-style: dotted;
+}
+
+.search-form {
+       display: flex;
+       flex-wrap: wrap;
+       margin: auto;
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.search-form > label {
+       width: 100%;
+       margin-bottom: 0;
+       font-weight: var(--form--label-weight);
+}
+
+.search-form .search-field {
+       flex-grow: 1;
+       max-width: inherit;
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+       margin-left: calc(0.66 * var(--global--spacing-horizontal));
+}
+
+.search-form .search-submit {
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+       margin-right: 10px;
+}
+
+.widget_search > .search-form .search-field {
+       margin-left: calc(-1 * var(--button--border-width));
+       -webkit-appearance: none;
+       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+}
+
+.widget_search > .search-form .search-submit {
+       margin-right: 0;
+       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+}
+
+.widget_rss a.rsswidget .rss-widget-icon {
+       display: none;
+}
+
+/* Category 07 is for any utility classes that are not assigned to a specific component. */
+.screen-reader-text {
+       border: 0;
+       clip: rect(1px, 1px, 1px, 1px);
+       -webkit-clip-path: inset(50%);
+       clip-path: inset(50%);
+       height: 1px;
+       margin: -1px;
+       overflow: hidden;
+       padding: 0;
+       position: absolute !important;
+       width: 1px;
+       word-wrap: normal !important;
+       word-break: normal;
+}
+
+.skip-link:focus {
+       background-color: #f1f1f1;
+       border-radius: 3px;
+       box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
+       clip: auto !important;
+       -webkit-clip-path: none;
+       clip-path: none;
+       color: #21759b;
+       display: block;
+       font-size: 0.875rem;
+       font-weight: 700;
+       height: auto;
+       right: 5px;
+       line-height: normal;
+       padding: 15px 23px 14px;
+       text-decoration: none;
+       top: 5px;
+       width: auto;
+       z-index: 100000;
+}
+
+/* Do not show the outline on the skip link target. */
+#content[tabindex="-1"]:focus {
+       outline: 0;
+}
+
+.has-black-color[class] {
+       color: var(--global--color-black);
+}
+
+.has-black-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-black, #000);
+       color: var(--local--color-primary);
+}
+
+.has-gray-color[class] {
+       color: var(--global--color-gray);
+}
+
+.has-gray-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-gray, #000);
+       color: var(--local--color-primary);
+}
+
+.has-dark-gray-color[class] {
+       color: var(--global--color-dark-gray);
+}
+
+.has-dark-gray-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-dark-gray, #000);
+       color: var(--local--color-primary);
+}
+
+.has-green-color[class] {
+       color: var(--global--color-green);
+}
+
+.has-green-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-green, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-blue-color[class] {
+       color: var(--global--color-blue);
+}
+
+.has-blue-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-blue, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-purple-color[class] {
+       color: var(--global--color-purple);
+}
+
+.has-purple-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-purple, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-red-color[class] {
+       color: var(--global--color-red);
+}
+
+.has-red-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-red, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-orange-color[class] {
+       color: var(--global--color-orange);
+}
+
+.has-orange-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-orange, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-yellow-color[class] {
+       color: var(--global--color-yellow);
+}
+
+.has-yellow-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-yellow, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-white-color[class] {
+       color: var(--global--color-white);
+}
+
+.has-white-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-white, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-background a,
+.has-background p,
+.has-background h1,
+.has-background h2,
+.has-background h3,
+.has-background h4,
+.has-background h5,
+.has-background h6 {
+       color: currentColor;
+}
+
+.has-black-background-color[class] {
+       background-color: var(--global--color-black);
+}
+
+.has-black-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-black, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-dark-gray-background-color[class] {
+       background-color: var(--global--color-dark-gray);
+}
+
+.has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-dark-gray, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-gray-background-color[class] {
+       background-color: var(--global--color-gray);
+}
+
+.has-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-gray, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-light-gray-background-color[class] {
+       background-color: var(--global--color-light-gray);
+}
+
+.has-light-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-light-gray, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-green-background-color[class] {
+       background-color: var(--global--color-green);
+}
+
+.has-green-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-green, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-blue-background-color[class] {
+       background-color: var(--global--color-blue);
+}
+
+.has-blue-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-blue, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-purple-background-color[class] {
+       background-color: var(--global--color-purple);
+}
+
+.has-purple-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-purple, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-red-background-color[class] {
+       background-color: var(--global--color-red);
+}
+
+.has-red-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-red, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-orange-background-color[class] {
+       background-color: var(--global--color-orange);
+}
+
+.has-orange-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-orange, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-yellow-background-color[class] {
+       background-color: var(--global--color-yellow);
+}
+
+.has-yellow-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-yellow, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-white-background-color[class] {
+       background-color: var(--global--color-white);
+}
+
+.has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-white, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class],
+.has-background:not(.has-text-color).has-gray-background-color[class],
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] {
+       color: var(--global--color-white);
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-background, #fff);
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.is-dark-theme .has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-primary, #000);
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class],
+.has-background:not(.has-text-color).has-blue-background-color[class],
+.has-background:not(.has-text-color).has-purple-background-color[class],
+.has-background:not(.has-text-color).has-red-background-color[class],
+.has-background:not(.has-text-color).has-orange-background-color[class],
+.has-background:not(.has-text-color).has-yellow-background-color[class],
+.has-background:not(.has-text-color).has-white-background-color[class] {
+       color: var(--global--color-dark-gray);
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-primary, #000);
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.is-dark-theme .has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-background, #fff);
+}
+
+.has-purple-to-yellow-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-purple), var(--global--color-yellow));
+}
+
+.has-yellow-to-purple-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-yellow), var(--global--color-purple));
+}
+
+.has-green-to-yellow-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-green), var(--global--color-yellow));
+}
+
+.has-yellow-to-green-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-yellow), var(--global--color-green));
+}
+
+.has-red-to-yellow-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-red), var(--global--color-yellow));
+}
+
+.has-yellow-to-red-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-yellow), var(--global--color-red));
+}
+
+.has-purple-to-red-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-purple), var(--global--color-red));
+}
+
+.has-red-to-purple-gradient-background {
+       background: linear-gradient(-160deg, var(--global--color-red), var(--global--color-purple));
+}
+
+header *,
+main *,
+footer * {
+       max-width: var(--global--spacing-measure);
+}
+
+html,
+body,
+div,
+header,
+nav,
+article,
+figure,
+hr,
+main,
+section,
+footer {
+       max-width: none;
+}
+
+.is-IE.is-dark-theme {
+       color: #fff;
+}
+
+.is-IE.is-dark-theme *,
+.is-IE.is-dark-theme a,
+.is-IE.is-dark-theme .site-description,
+.is-IE.is-dark-theme .entry-title,
+.is-IE.is-dark-theme .entry-footer,
+.is-IE.is-dark-theme .widget-area,
+.is-IE.is-dark-theme .post-navigation .meta-nav,
+.is-IE.is-dark-theme .footer-navigation-wrapper li a:link,
+.is-IE.is-dark-theme .site-footer > .site-info,
+.is-IE.is-dark-theme .site-footer > .site-info a,
+.is-IE.is-dark-theme .site-footer > .site-info a:visited {
+       color: #fff;
+}
+
+.is-IE.is-dark-theme .sub-menu-toggle svg,
+.is-IE.is-dark-theme .sub-menu-toggle path,
+.is-IE.is-dark-theme .post-navigation .meta-nav svg,
+.is-IE.is-dark-theme .post-navigation .meta-nav path {
+       fill: #fff;
+}
+
+.is-IE.is-dark-theme .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+       background: #000;
+}
+@media only screen and (max-width: 481px) {
+
+       .is-IE.is-dark-theme.primary-navigation-open .primary-navigation > .primary-menu-container,
+       .is-IE.is-dark-theme.primary-navigation-open .menu-button-container {
+               background-color: #000;
+       }
+}
+
+.is-IE.is-dark-theme .skip-link:focus {
+       color: #21759b;
+}
+
+.is-IE .navigation .nav-links {
+       display: block;
+}
+
+.is-IE .post-thumbnail .wp-post-image {
+       min-width: auto;
+}
diff --git a/wp-content/themes/twentytwentyone/style.css b/wp-content/themes/twentytwentyone/style.css
new file mode 100644 (file)
index 0000000..7bce567
--- /dev/null
@@ -0,0 +1,5890 @@
+@charset "UTF-8";
+
+/*
+Theme Name: Twenty Twenty-One
+Theme URI: https://wordpress.org/themes/twentytwentyone/
+Author: the WordPress team
+Author URI: https://wordpress.org/
+Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
+Requires at least: 5.3
+Tested up to: 6.2
+Requires PHP: 5.6
+Version: 1.8
+License: GNU General Public License v2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Text Domain: twentytwentyone
+Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready
+
+Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
+Twenty Twenty-One is distributed under the terms of the GNU GPL.
+*/
+
+/**
+ * SETTINGS
+ * File-header..........The file header for the themes style.css file.
+ * Fonts................Any font files, if the project needs specific fonts.
+ * Global...............Project-specific, globally available variables.
+ *
+ * TOOLS
+ * Functions............Global functions.
+ * Mixins...............Global mixins.
+ *
+ * GENERIC
+ * Normalize.css........Normalise browser defaults.
+ * Breakpoints..........Mixins and variables for responsive styles
+ * Vertical-margins.....Vertical spacing for the main components.
+ * Reset................Reset specific elements to make them easier to style in other contexts.
+ * Clearings............Clearings for the main components.
+ *
+ * ELEMENTS
+ * Blockquote...........Default blockquote.
+ * Forms................Element-level form styling.
+ * Headings.............H1–H6
+ * Links................Default links.
+ * Lists................Default lists.
+ * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
+ *
+ * BLOCKS
+ * Audio................Specific styles for the audio block.
+ * Button...............Specific styles for the button block.
+ * Code.................Specific styles for the code block.
+ * Columns..............Specific styles for the columns block.
+ * Cover................Specific styles for the cover block.
+ * File.................Specific styles for the file block.
+ * Gallery..............Specific styles for the gallery block.
+ * Group................Specific styles for the group block.
+ * Heading..............Specific styles for the heading block.
+ * Image................Specific styles for the image block.
+ * Latest comments......Specific styles for the latest comments block.
+ * Latest posts.........Specific styles for the latest posts block.
+ * Legacy...............Specific styles for the legacy gallery.
+ * List.................Specific styles for the list block.
+ * Media text...........Specific styles for the media and text block.
+ * Navigation...........Specific styles for the navigation block.
+ * Paragraph............Specific styles for the paragraph block.
+ * Pullquote............Specific styles for the pullquote block.
+ * Quote................Specific styles for the quote block.
+ * Search...............Specific styles for the search block.
+ * Separator............Specific styles for the separator block.
+ * Table................Specific styles for the table block.
+ * Verse................Specific styles for the verse block.
+ * Video................Specific styles for the video block.
+ * Utilities............Block alignments.
+ *
+ * COMPONENTS
+ * Header...............Header styles.
+ * Footer...............Footer styles.
+ * Comments.............Comment styles.
+ * Archives.............Archive styles.
+ * 404..................404 styles.
+ * Search...............Search styles.
+ * Navigation...........Navigation styles.
+ * Footer Navigation....Footer Navigation styles.
+ * Pagination...........Pagination styles.
+ * Single...............Single page and post styles.
+ * Posts and pages......Misc, sticky post styles.
+ * Entry................Entry, author biography.
+ * Widget...............Widget styles.
+ * Editor...............Editor styles.
+ *
+ * UTILITIES
+ * A11y.................Screen reader text, prefers reduced motion etc.
+ * Color Palette........Classes for the color palette colors.
+ * Editor Font Sizes....Editor Font Sizes.
+ * Measure..............The width of a line of text, in characters.
+ */
+
+/* Categories 01 to 03 are the basics. */
+
+/* Variables */
+:root {
+
+       /* Font Family */
+       --global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+       --global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
+
+       /* Font Size */
+       --global--font-size-base: 1.25rem;
+       --global--font-size-xs: 1rem;
+       --global--font-size-sm: 1.125rem;
+       --global--font-size-md: 1.25rem;
+       --global--font-size-lg: 1.5rem;
+       --global--font-size-xl: 2.25rem;
+       --global--font-size-xxl: 4rem;
+       --global--font-size-xxxl: 5rem;
+       --global--font-size-page-title: var(--global--font-size-xxl);
+       --global--letter-spacing: normal;
+
+       /* Line Height */
+       --global--line-height-body: 1.7;
+       --global--line-height-heading: 1.3;
+       --global--line-height-page-title: 1.1;
+
+       /* Headings */
+       --heading--font-family: var(--global--font-primary);
+       --heading--font-size-h6: var(--global--font-size-xs);
+       --heading--font-size-h5: var(--global--font-size-sm);
+       --heading--font-size-h4: var(--global--font-size-lg);
+       --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
+       --heading--font-size-h2: var(--global--font-size-xl);
+       --heading--font-size-h1: var(--global--font-size-page-title);
+       --heading--letter-spacing-h6: 0.05em;
+       --heading--letter-spacing-h5: 0.05em;
+       --heading--letter-spacing-h4: var(--global--letter-spacing);
+       --heading--letter-spacing-h3: var(--global--letter-spacing);
+       --heading--letter-spacing-h2: var(--global--letter-spacing);
+       --heading--letter-spacing-h1: var(--global--letter-spacing);
+       --heading--line-height-h6: var(--global--line-height-heading);
+       --heading--line-height-h5: var(--global--line-height-heading);
+       --heading--line-height-h4: var(--global--line-height-heading);
+       --heading--line-height-h3: var(--global--line-height-heading);
+       --heading--line-height-h2: var(--global--line-height-heading);
+       --heading--line-height-h1: var(--global--line-height-page-title);
+       --heading--font-weight: normal;
+       --heading--font-weight-page-title: 300;
+       --heading--font-weight-strong: 600;
+
+       /* Block: Latest posts */
+       --latest-posts--title-font-family: var(--heading--font-family);
+       --latest-posts--title-font-size: var(--heading--font-size-h3);
+       --latest-posts--description-font-family: var(--global--font-secondary);
+       --latest-posts--description-font-size: var(--global--font-size-sm);
+       --list--font-family: var(--global--font-secondary);
+       --definition-term--font-family: var(--global--font-primary);
+
+       /* Colors */
+       --global--color-black: #000;
+       --global--color-dark-gray: #28303d;
+       --global--color-gray: #39414d;
+       --global--color-light-gray: #f0f0f0;
+       --global--color-green: #d1e4dd;
+       --global--color-blue: #d1dfe4;
+       --global--color-purple: #d1d1e4;
+       --global--color-red: #e4d1d1;
+       --global--color-orange: #e4dad1;
+       --global--color-yellow: #eeeadd;
+       --global--color-white: #fff;
+       --global--color-white-50: rgba(255, 255, 255, 0.5);
+       --global--color-white-90: rgba(255, 255, 255, 0.9);
+       --global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */
+       --global--color-secondary: var(--global--color-gray); /* Headings */
+       --global--color-primary-hover: var(--global--color-primary);
+       --global--color-background: var(--global--color-green); /* Mint, default body background */
+       --global--color-border: var(--global--color-primary); /* Used for borders (separators) */
+
+       /* Spacing */
+       --global--spacing-unit: 20px;
+       --global--spacing-measure: unset;
+       --global--spacing-horizontal: 25px;
+       --global--spacing-vertical: 30px;
+
+       /* Elevation */
+       --global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);
+
+       /* Forms */
+       --form--font-family: var(--global--font-secondary);
+       --form--font-size: var(--global--font-size-sm);
+       --form--line-height: var(--global--line-height-body);
+       --form--color-text: var(--global--color-dark-gray);
+       --form--color-ranged: var(--global--color-secondary);
+       --form--label-weight: 500;
+       --form--border-color: var(--global--color-secondary);
+       --form--border-width: 3px;
+       --form--border-radius: 0;
+       --form--spacing-unit: calc(0.5 * var(--global--spacing-unit));
+
+       /* Cover block */
+       --cover--height: calc(15 * var(--global--spacing-vertical));
+       --cover--color-foreground: var(--global--color-white);
+       --cover--color-background: var(--global--color-black);
+
+       /* Buttons */
+       --button--color-text: var(--global--color-background);
+       --button--color-text-hover: var(--global--color-secondary);
+       --button--color-text-active: var(--global--color-secondary);
+       --button--color-background: var(--global--color-secondary);
+       --button--color-background-active: var(--global--color-background);
+       --button--font-family: var(--global--font-primary);
+       --button--font-size: var(--global--font-size-base);
+       --button--font-weight: 500;
+       --button--line-height: 1.5;
+       --button--border-width: 3px;
+       --button--border-radius: 0;
+       --button--padding-vertical: 15px;
+       --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
+
+       /* entry */
+       --entry-header--color: var(--global--color-primary);
+       --entry-header--color-link: currentColor;
+       --entry-header--color-hover: var(--global--color-primary-hover);
+       --entry-header--color-focus: var(--global--color-secondary);
+       --entry-header--font-size: var(--heading--font-size-h2);
+       --entry-content--font-family: var(--global--font-secondary);
+       --entry-author-bio--font-family: var(--heading--font-family);
+       --entry-author-bio--font-size: var(--heading--font-size-h4);
+
+       /* Header */
+       --branding--color-text: var(--global--color-primary);
+       --branding--color-link: var(--global--color-primary);
+       --branding--color-link-hover: var(--global--color-secondary);
+       --branding--title--font-family: var(--global--font-primary);
+       --branding--title--font-size: var(--global--font-size-lg);
+       --branding--title--font-size-mobile: var(--heading--font-size-h4);
+       --branding--title--font-weight: normal;
+       --branding--title--text-transform: uppercase;
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--description--font-size: var(--global--font-size-sm);
+       --branding--description--font-family: var(--global--font-secondary);
+       --branding--logo--max-width: 300px;
+       --branding--logo--max-height: 100px;
+       --branding--logo--max-width-mobile: 96px;
+       --branding--logo--max-height-mobile: 96px;
+
+       /* Main navigation */
+       --primary-nav--font-family: var(--global--font-secondary);
+       --primary-nav--font-family-mobile: var(--global--font-primary);
+       --primary-nav--font-size: var(--global--font-size-md);
+       --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
+       --primary-nav--font-size-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
+       --primary-nav--font-size-button: var(--global--font-size-xs);
+       --primary-nav--font-style: normal;
+       --primary-nav--font-style-sub-menu-mobile: normal;
+       --primary-nav--font-weight: normal;
+       --primary-nav--font-weight-button: 500;
+       --primary-nav--color-link: var(--global--color-primary);
+       --primary-nav--color-link-hover: var(--global--color-primary-hover);
+       --primary-nav--color-text: var(--global--color-primary);
+       --primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
+       --primary-nav--border-color: var(--global--color-primary);
+
+       /* Pagination */
+       --pagination--color-text: var(--global--color-primary);
+       --pagination--color-link-hover: var(--global--color-primary-hover);
+       --pagination--font-family: var(--global--font-secondary);
+       --pagination--font-size: var(--global--font-size-lg);
+       --pagination--font-weight: normal;
+       --pagination--font-weight-strong: 600;
+
+       /* Footer */
+       --footer--color-text: var(--global--color-primary);
+       --footer--color-link: var(--global--color-primary);
+       --footer--color-link-hover: var(--global--color-primary-hover);
+       --footer--font-family: var(--global--font-primary);
+       --footer--font-size: var(--global--font-size-sm);
+
+       /* Block: Pull quote */
+       --pullquote--font-family: var(--global--font-primary);
+       --pullquote--font-size: var(--heading--font-size-h3);
+       --pullquote--font-style: normal;
+       --pullquote--letter-spacing: var(--heading--letter-spacing-h4);
+       --pullquote--line-height: var(--global--line-height-heading);
+       --pullquote--border-width: 3px;
+       --pullquote--border-color: var(--global--color-primary);
+       --pullquote--color-foreground: var(--global--color-primary);
+       --pullquote--color-background: var(--global--color-background);
+       --quote--font-family: var(--global--font-secondary);
+       --quote--font-size: var(--global--font-size-md);
+       --quote--font-size-large: var(--global--font-size-xl);
+       --quote--font-style: normal;
+       --quote--font-weight: 700;
+       --quote--font-weight-strong: bolder;
+       --quote--font-style-large: normal;
+       --quote--font-style-cite: normal;
+       --quote--line-height: var(--global--line-height-body);
+       --quote--line-height-large: 1.35;
+       --separator--border-color: var(--global--color-border);
+       --separator--height: 1px;
+
+       /* Block: Table */
+       --table--stripes-border-color: var(--global--color-light-gray);
+       --table--stripes-background-color: var(--global--color-light-gray);
+       --table--has-background-text-color: var(--global--color-dark-gray);
+
+       /* Widgets */
+       --widget--line-height-list: 1.9;
+       --widget--line-height-title: 1.4;
+       --widget--font-weight-title: 700;
+       --widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));
+
+       /* Admin-bar height */
+       --global--admin-bar--height: 0px;
+}
+
+.admin-bar {
+       --global--admin-bar--height: 32px;
+}
+@media only screen and (max-width: 782px) {
+
+       .admin-bar {
+               --global--admin-bar--height: 46px;
+       }
+}
+
+@media only screen and (min-width: 652px) {
+
+       :root {
+               --global--font-size-xl: 2.5rem;
+               --global--font-size-xxl: 6rem;
+               --global--font-size-xxxl: 9rem;
+               --heading--font-size-h3: 2rem;
+               --heading--font-size-h2: 3rem;
+       }
+}
+
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+html {
+       line-height: 1.15; /* 1 */
+       -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+body {
+       margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+main {
+       display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+h1 {
+       font-size: 2em;
+       margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+hr {
+       box-sizing: content-box; /* 1 */
+       height: 0; /* 1 */
+       overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+pre {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+a {
+       background-color: transparent;
+       text-decoration-thickness: 1px;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+abbr[title] {
+       border-bottom: none; /* 1 */
+       text-decoration: underline; /* 2 */
+       text-decoration-style: dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+b,
+strong {
+       font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+code,
+kbd,
+samp {
+       font-family: monospace; /* 1 */
+       font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+small {
+       font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+sub,
+sup {
+       font-size: 75%;
+       line-height: 0;
+       position: relative;
+       vertical-align: baseline;
+}
+
+sub {
+       bottom: -0.25em;
+}
+
+sup {
+       top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+img {
+       border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+       font-family: inherit; /* 1 */
+       font-size: 100%; /* 1 */
+       line-height: 1.15; /* 1 */
+       margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+button,
+input { /* 1 */
+       overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+button,
+select { /* 1 */
+       text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+       -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+button::-moz-focus-inner,
+[type=button]::-moz-focus-inner,
+[type=reset]::-moz-focus-inner,
+[type=submit]::-moz-focus-inner {
+       border-style: none;
+       padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+button:-moz-focusring,
+[type=button]:-moz-focusring,
+[type=reset]:-moz-focusring,
+[type=submit]:-moz-focusring {
+       outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+fieldset {
+       padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+legend {
+       box-sizing: border-box; /* 1 */
+       color: inherit; /* 2 */
+       display: table; /* 1 */
+       max-width: 100%; /* 1 */
+       padding: 0; /* 3 */
+       white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+progress {
+       vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+textarea {
+       overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+[type=checkbox],
+[type=radio] {
+       box-sizing: border-box; /* 1 */
+       padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+[type=number]::-webkit-inner-spin-button,
+[type=number]::-webkit-outer-spin-button {
+       height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+[type=search] {
+       -webkit-appearance: textfield; /* 1 */
+       outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+[type=search]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+::-webkit-file-upload-button {
+       -webkit-appearance: button; /* 1 */
+       font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+details {
+       display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+summary {
+       display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+template {
+       display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+[hidden] {
+       display: none;
+}
+
+/**
+ * Responsive Styles
+ */
+
+/**
+ * Required Variables
+ */
+
+/**
+ * Root Media Query Variables
+ */
+:root {
+       --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
+       --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
+       --responsive--alignfull-width: 100%;
+       --responsive--alignright-margin: var(--global--spacing-horizontal);
+       --responsive--alignleft-margin: var(--global--spacing-horizontal);
+}
+
+@media only screen and (min-width: 482px) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
+               --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
+               --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+               --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       :root {
+               --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 610px);
+               --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1240px);
+       }
+}
+
+/**
+ * Extends
+ */
+.post-thumbnail,
+.entry-content .wp-audio-shortcode,
+.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
+*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
+.default-max-width {
+       max-width: var(--responsive--aligndefault-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.widget-area,
+.pagination,
+.comments-pagination,
+.post-navigation,
+.site-footer,
+.site-header,
+.alignwide,
+.wide-max-width {
+       max-width: var(--responsive--alignwide-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.alignfull,
+.wp-block-group .wp-block-group__inner-container > *.alignfull,
+.full-max-width {
+       max-width: var(--responsive--alignfull-width);
+       width: var(--responsive--alignfull-width);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignfull,
+       .full-max-width {
+               max-width: var(--responsive--alignfull-width);
+               width: auto;
+               margin-left: auto;
+               margin-right: auto;
+       }
+}
+
+.entry-header .post-thumbnail,
+.singular .post-thumbnail,
+.alignfull [class*=inner-container] > .alignwide,
+.alignwide [class*=inner-container] > .alignwide {
+       margin-left: auto;
+       margin-right: auto;
+       width: var(--responsive--alignwide-width);
+       max-width: var(--responsive--alignfull-width);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignleft {
+
+               /*rtl:ignore*/
+               margin-left: var(--responsive--alignleft-margin);
+
+               /*rtl:ignore*/
+               margin-right: var(--global--spacing-horizontal);
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .alignright {
+
+               /*rtl:ignore*/
+               margin-left: var(--global--spacing-horizontal);
+
+               /*rtl:ignore*/
+               margin-right: var(--responsive--alignright-margin);
+       }
+}
+
+/**
+ * Site Structure
+ *
+ * - Set vertical margins and responsive widths on
+ *   top-level wrappers and content wrappers
+ * - `--global--width-content` is a responsive variable
+ * - See: globals/_global-width-responsive.scss
+ */
+
+/**
+ * Top Level Wrappers (header, main, footer)
+ * - Set vertical padding and horizontal margins
+ */
+.site-header,
+.site-main,
+.widget-area,
+.site-footer {
+       padding-top: var(--global--spacing-vertical);
+       padding-bottom: var(--global--spacing-vertical);
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.site-header {
+       padding-top: calc(0.75 * var(--global--spacing-vertical));
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               padding-bottom: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+/**
+ * Site-main children wrappers
+ * - Add double vertical margins here for clearer hierarchy
+ */
+.site-main > * {
+       margin-top: calc(3 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.site-main > *:first-child {
+       margin-top: 0;
+}
+
+.site-main > *:last-child {
+       margin-bottom: 0;
+}
+
+/**
+ * Set the default maximum responsive content-width
+ */
+
+/**
+ * Set the wide maximum responsive content-width
+ */
+
+/**
+ * Set the full maximum responsive content-width
+ */
+
+/*
+ * Block & non-gutenberg content wrappers
+ * - Set margins
+ */
+.entry-header,
+.post-thumbnail,
+.entry-content,
+.entry-footer,
+.author-bio {
+       margin-top: var(--global--spacing-vertical);
+       margin-right: auto;
+       margin-bottom: var(--global--spacing-vertical);
+       margin-left: auto;
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-vertical margin logic
+ */
+.site-main > article > *,
+.site-main > .not-found > *,
+.entry-content > *,
+[class*=inner-container] > *,
+.wp-block-template-part > *,
+.wp-block-post-template :where(li > *) {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .site-main > article > *,
+       .site-main > .not-found > *,
+       .entry-content > *,
+       [class*=inner-container] > *,
+       .wp-block-template-part > *,
+       .wp-block-post-template :where(li > *) {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.site-main > article > *:first-child,
+.site-main > .not-found > *:first-child,
+.entry-content > *:first-child,
+[class*=inner-container] > *:first-child,
+.wp-block-template-part > *:first-child,
+.wp-block-post-template :where(li > *):first-child {
+       margin-top: 0;
+}
+
+.site-main > article > *:last-child,
+.site-main > .not-found > *:last-child,
+.entry-content > *:last-child,
+[class*=inner-container] > *:last-child,
+.wp-block-template-part > *:last-child,
+.wp-block-post-template :where(li > *):last-child {
+       margin-bottom: 0;
+}
+
+.site-footer > *,
+.widget-area > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .site-footer > *,
+       .widget-area > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+/*
+ * Block & non-gutenberg content wrapper children
+ * - Sets spacing-unit margins
+ */
+.entry-header > *,
+.post-thumbnail > *,
+.page-content > *,
+.comment-content > *,
+.widget > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+.entry-header > *:first-child,
+.post-thumbnail > *:first-child,
+.page-content > *:first-child,
+.comment-content > *:first-child,
+.widget > *:first-child {
+       margin-top: 0;
+}
+
+.entry-header > *:last-child,
+.post-thumbnail > *:last-child,
+.page-content > *:last-child,
+.comment-content > *:last-child,
+.widget > *:last-child {
+       margin-bottom: 0;
+}
+
+/*
+ * .entry-content children specific controls
+ * - Adds special margin overrides for alignment utility classes
+ */
+.entry-content > * {
+
+       /* Reset alignleft and alignright margins after alignfull */
+}
+
+.entry-content > *.alignleft,
+.entry-content > *.alignright,
+.entry-content > *.alignleft:first-child + *,
+.entry-content > *.alignright:first-child + *,
+.entry-content > *.alignfull.has-background {
+       margin-top: 0;
+}
+
+.entry-content > *:last-child,
+.entry-content > *.alignfull.has-background {
+       margin-bottom: 0;
+}
+
+.entry-content > *.alignfull + .alignleft,
+.entry-content > *.alignfull + .alignright {
+       margin-top: var(--global--spacing-vertical);
+}
+
+/**
+ * Reset specific elements to make them easier to style in other contexts.
+ */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+form,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       padding: 0;
+       margin: 0;
+       -moz-osx-font-smoothing: grayscale;
+       -webkit-font-smoothing: antialiased;
+}
+
+/**
+ * Apply generic border-box to all elements.
+ * See:
+ * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
+ */
+html {
+
+       /* Apply border-box across the entire page. */
+       box-sizing: border-box;
+       font-family: var(--global--font-secondary);
+       line-height: var(--global--line-height-body);
+}
+
+/**
+ * Relax the definition a bit, to allow components to override it manually.
+ */
+*,
+*::before,
+*::after {
+       box-sizing: inherit;
+}
+
+body {
+       font-size: var(--global--font-size-base);
+       font-weight: normal;
+       color: var(--global--color-primary);
+       text-align: left;
+       background-color: var(--global--color-background);
+}
+
+button {
+       cursor: pointer;
+}
+
+.clear:before,
+.clear:after,
+.entry-content:before,
+.entry-content:after,
+.comment-content:before,
+.comment-content:after,
+.site-header:before,
+.site-header:after,
+.site-content:before,
+.site-content:after,
+.site-footer:before,
+.site-footer:after {
+       content: "";
+       display: table;
+       table-layout: fixed;
+}
+
+.clear:after,
+.entry-content:after,
+.comment-content:after,
+.site-header:after,
+.site-content:after,
+.site-footer:after {
+       clear: both;
+}
+
+/* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */
+blockquote {
+       padding: 0;
+       position: relative;
+       margin: var(--global--spacing-vertical) 0 var(--global--spacing-vertical) var(--global--spacing-horizontal);
+}
+
+blockquote > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+blockquote > *:first-child {
+       margin-top: 0;
+}
+
+blockquote > *:last-child {
+       margin-bottom: 0;
+}
+
+blockquote p {
+       letter-spacing: var(--heading--letter-spacing-h4);
+       font-family: var(--quote--font-family);
+       font-size: var(--quote--font-size);
+       font-style: var(--quote--font-style);
+       font-weight: var(--quote--font-weight);
+       line-height: var(--quote--line-height);
+}
+
+blockquote cite,
+blockquote footer {
+       font-weight: normal;
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       letter-spacing: var(--global--letter-spacing);
+}
+
+blockquote.alignleft,
+blockquote.alignright {
+       padding-left: inherit;
+}
+
+blockquote.alignleft p,
+blockquote.alignright p {
+       font-size: var(--heading--font-size-h5);
+       max-width: inherit;
+       width: inherit;
+}
+
+blockquote.alignleft cite,
+blockquote.alignleft footer,
+blockquote.alignright cite,
+blockquote.alignright footer {
+       font-size: var(--global--font-size-xs);
+       letter-spacing: var(--global--letter-spacing);
+}
+
+blockquote strong {
+       font-weight: var(--quote--font-weight-strong);
+}
+
+blockquote:before {
+       content: "“";
+       font-size: var(--quote--font-size);
+       line-height: var(--quote--line-height);
+       position: absolute;
+       left: calc(-0.5 * var(--global--spacing-horizontal));
+}
+
+blockquote .wp-block-quote__citation,
+blockquote cite,
+blockquote footer {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       font-style: var(--quote--font-style-cite);
+}
+@media only screen and (max-width: 481px) {
+
+       blockquote {
+               padding-left: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       blockquote:before {
+               left: 0;
+       }
+}
+
+input[type=text],
+input[type=email],
+input[type=url],
+input[type=password],
+input[type=search],
+input[type=number],
+input[type=tel],
+input[type=date],
+input[type=month],
+input[type=week],
+input[type=time],
+input[type=datetime],
+input[type=datetime-local],
+input[type=color],
+.site textarea {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       line-height: var(--global--line-height-body);
+       padding: var(--form--spacing-unit);
+       margin: 0 2px;
+       max-width: 100%;
+}
+
+input[type=text]:focus,
+input[type=email]:focus,
+input[type=url]:focus,
+input[type=password]:focus,
+input[type=search]:focus,
+input[type=number]:focus,
+input[type=tel]:focus,
+input[type=date]:focus,
+input[type=month]:focus,
+input[type=week]:focus,
+input[type=time]:focus,
+input[type=datetime]:focus,
+input[type=datetime-local]:focus,
+input[type=color]:focus,
+.site textarea:focus {
+       color: var(--form--color-text);
+       outline-offset: 2px;
+       outline: 2px dotted var(--form--border-color);
+}
+
+input[type=text]:disabled,
+input[type=email]:disabled,
+input[type=url]:disabled,
+input[type=password]:disabled,
+input[type=search]:disabled,
+input[type=number]:disabled,
+input[type=tel]:disabled,
+input[type=date]:disabled,
+input[type=month]:disabled,
+input[type=week]:disabled,
+input[type=time]:disabled,
+input[type=datetime]:disabled,
+input[type=datetime-local]:disabled,
+input[type=color]:disabled,
+.site textarea:disabled {
+       opacity: 0.7;
+}
+
+.is-dark-theme input[type=text],
+.is-dark-theme input[type=email],
+.is-dark-theme input[type=url],
+.is-dark-theme input[type=password],
+.is-dark-theme input[type=search],
+.is-dark-theme input[type=number],
+.is-dark-theme input[type=tel],
+.is-dark-theme input[type=date],
+.is-dark-theme input[type=month],
+.is-dark-theme input[type=week],
+.is-dark-theme input[type=time],
+.is-dark-theme input[type=datetime],
+.is-dark-theme input[type=datetime-local],
+.is-dark-theme input[type=color],
+.is-dark-theme .site textarea {
+       background: var(--global--color-white-90);
+}
+
+input[type=search]:focus {
+       outline-offset: -7px;
+}
+
+.is-dark-theme input[type=search]:focus {
+       outline-color: var(--global--color-background);
+}
+
+input[type=color] {
+       padding: calc(var(--form--spacing-unit) / 2);
+       height: calc(4 * var(--form--spacing-unit));
+}
+
+input[type=email],
+input[type=url] {
+
+       /*rtl:ignore*/
+       direction: ltr;
+}
+
+select {
+       border: var(--form--border-width) solid var(--form--border-color);
+       color: var(--form--color-text);
+       -moz-appearance: none;
+       -webkit-appearance: none;
+       appearance: none;
+       line-height: var(--global--line-height-body);
+       padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit);
+       background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right var(--form--spacing-unit) top 60%;
+}
+
+select:focus {
+       outline-offset: 2px;
+       outline: 2px dotted var(--form--border-color);
+}
+
+.is-dark-theme select {
+       background: var(--global--color-white-90) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
+       background-position: right var(--form--spacing-unit) top 60%;
+}
+
+textarea {
+       width: 100%;
+}
+
+label {
+       font-size: var(--form--font-size);
+       font-weight: var(--form--label-weight);
+       margin-bottom: calc(var(--global--spacing-vertical) / 3);
+}
+
+/**
+https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
+https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
+License: MIT.
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type=checkbox],
+       input[type=radio] {
+               -webkit-appearance: none;
+               -moz-appearance: none;
+               position: relative;
+               width: 25px;
+               height: 25px;
+               border: var(--form--border-width) solid var(--form--border-color);
+               background: var(--global--color-white);
+       }
+
+       input[type=checkbox]:disabled,
+       input[type=radio]:disabled {
+               opacity: 0.7;
+       }
+
+       .is-dark-theme input[type=checkbox],
+       .is-dark-theme input[type=radio] {
+               background: var(--global--color-white-90);
+       }
+
+       input[type=checkbox]:focus {
+               outline-offset: 2px;
+               outline: 2px dotted var(--form--border-color);
+       }
+
+       input[type=checkbox]:after {
+               content: "";
+               opacity: 0;
+               display: block;
+               left: 5px;
+               top: 2px;
+               position: absolute;
+               width: 7px;
+               height: 13px;
+               border: 3px solid var(--form--color-text);
+               border-top: 0;
+               border-left: 0;
+               transform: rotate(30deg);
+       }
+
+       input[type=checkbox]:checked {
+               color: var(--form--color-text);
+       }
+
+       input[type=checkbox]:checked:after {
+               opacity: 1;
+       }
+
+       input[type=radio] {
+               border-radius: 50%;
+       }
+
+       input[type=radio]:focus {
+               outline-offset: 2px;
+               outline: 2px dotted var(--form--border-color);
+       }
+
+       input[type=radio]:after {
+               content: "";
+               opacity: 0;
+               display: block;
+               left: 3px;
+               top: 3px;
+               position: absolute;
+               width: 11px;
+               height: 11px;
+               border-radius: 50%;
+               background: var(--form--color-text);
+       }
+
+       input[type=radio]:checked {
+               border: 4px solid var(--form--border-color);
+       }
+
+       input[type=radio]:checked:after {
+               opacity: 1;
+       }
+
+       input[type=radio]:checked:focus {
+               outline-offset: 4px;
+               outline: 2px dotted var(--form--border-color);
+       }
+}
+
+input[type=checkbox] + label,
+input[type=radio] + label {
+       display: inline-block;
+       padding-left: 10px;
+       font-size: var(--global--font-size-xs);
+       vertical-align: top;
+}
+
+/**
+ * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
+*/
+@supports (-webkit-appearance: none) or (-moz-appearance: none) {
+
+       input[type=range] {
+               -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
+               width: 100%; /* Specific width is required for Firefox. */
+               height: 6px;
+               background: var(--form--color-ranged);
+               border-radius: 6px;
+               outline-offset: 10px;
+       }
+
+       input[type=range]:disabled {
+               opacity: 0.7;
+       }
+
+       input[type=range]::-webkit-slider-thumb {
+               -webkit-appearance: none;
+               border: 3px solid var(--form--color-ranged);
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: var(--global--color-background);
+               cursor: pointer;
+       }
+
+       input[type=range]::-moz-range-thumb {
+               border: 3px solid var(--form--color-ranged);
+               height: 44px;
+               width: 44px;
+               border-radius: 50%;
+               background: var(--global--color-background);
+               cursor: pointer;
+               box-sizing: border-box;
+       }
+}
+
+input[type=range]::-ms-track {
+       width: 100%;
+       height: 6px;
+       border-radius: 6px;
+       border-width: 19px 0;
+       border-color: var(--global--color-background);
+       background: transparent;
+       color: transparent;
+       cursor: pointer;
+}
+
+input[type=range]::-ms-fill-upper {
+       background: var(--form--color-ranged);
+       border-radius: 6px;
+}
+
+input[type=range]::-ms-fill-lower {
+       background: var(--form--color-ranged);
+       border-radius: 6px;
+}
+
+input[type=range]::-ms-thumb {
+       border: 3px solid var(--form--color-ranged);
+       height: 44px;
+       width: 44px;
+       border-radius: 50%;
+       background: var(--global--color-background);
+       cursor: pointer;
+}
+
+fieldset {
+       display: grid;
+       border-color: var(--global--color-secondary);
+       padding: var(--global--spacing-horizontal);
+}
+
+fieldset legend {
+       font-size: var(--global--font-size-lg);
+}
+
+fieldset input[type=submit] {
+       max-width: max-content;
+}
+
+fieldset input:not([type=submit]) {
+       margin-bottom: var(--global--spacing-unit);
+}
+
+fieldset input[type=radio],
+fieldset input[type=checkbox] {
+       margin-bottom: 0;
+}
+
+fieldset input[type=radio] + label,
+fieldset input[type=checkbox] + label {
+       font-size: var(--form--font-size);
+       padding-left: 0;
+       margin-bottom: var(--global--spacing-unit);
+}
+
+::-moz-placeholder {
+       opacity: 1;
+}
+
+.post-password-message {
+       font-size: var(--global--font-size-lg);
+}
+
+.post-password-form {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+.post-password-form__label {
+       width: 100%;
+       margin-bottom: 0;
+}
+
+.post-password-form input[type=password] {
+       flex-grow: 1;
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+       margin-right: calc(0.66 * var(--global--spacing-horizontal));
+}
+
+.post-password-form__submit {
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+}
+@media only screen and (min-width: 592px) {
+
+       .post-password-form__submit {
+               margin-left: calc(0.4 * var(--global--spacing-horizontal));
+       }
+}
+
+img {
+       height: auto;
+       max-width: 100%;
+       vertical-align: middle;
+}
+
+/* Classic editor images */
+.entry-content img {
+       max-width: 100%;
+}
+
+/* Make sure embeds and iframes fit their containers. */
+embed,
+iframe,
+object,
+video {
+       max-width: 100%;
+}
+
+/* Media captions */
+figcaption,
+.wp-caption,
+.wp-caption-text,
+.wp-block-embed figcaption {
+       color: currentColor;
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+.alignleft figcaption,
+.alignright figcaption,
+.alignleft .wp-caption,
+.alignright .wp-caption,
+.alignleft .wp-caption-text,
+.alignright .wp-caption-text,
+.alignleft .wp-block-embed figcaption,
+.alignright .wp-block-embed figcaption {
+       margin-bottom: 0;
+}
+
+/* WP Smiley */
+.page-content .wp-smiley,
+.entry-content .wp-smiley,
+.comment-content .wp-smiley {
+       border: none;
+       margin-bottom: 0;
+       margin-top: 0;
+       padding: 0;
+}
+
+/* Over here, place any elements that do not need to have their own file. */
+b,
+strong {
+       font-weight: 700;
+}
+
+dfn,
+cite,
+em,
+i {
+       font-style: italic;
+}
+
+pre {
+       white-space: pre;
+       overflow-x: auto;
+}
+
+/*
+ * text-underline-offset doesn't work in Chrome at all 👎
+ * But looks nice in Safari/Firefox, so let's keep it and
+ * maybe Chrome will support it soon.
+ */
+a {
+       cursor: pointer;
+       color: var(--wp--style--color--link, var(--global--color-primary));
+       text-underline-offset: 3px;
+       text-decoration-skip-ink: all;
+}
+
+a:hover {
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       text-decoration: underline 1px dotted currentColor;
+       text-decoration-skip-ink: none;
+       background: rgba(255, 255, 255, 0.9);
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: var(--global--color-black);
+       color: var(--global--color-white);
+       text-decoration: none;
+}
+
+.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
+       background: rgba(0, 0, 0, 0.9);
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {
+
+       /* Only visible in Windows High Contrast mode */
+       outline: 2px solid transparent;
+       outline-offset: -2px;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link:focus {
+       color: #21759b;
+       background-color: #f1f1f1;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).custom-logo-link {
+       background: none;
+}
+
+.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
+       outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.has-background .has-link-color a,
+.has-background.has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+/* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */
+.wp-block-audio audio:focus {
+       outline-offset: 5px;
+       outline: 2px solid var(--global--color-primary);
+}
+
+/**
+ * Button
+ */
+.site .button,
+button,
+input[type=submit],
+input[type=reset],
+.wp-block-search .wp-block-search__button,
+.wp-block-button .wp-block-button__link,
+.wp-block-file a.wp-block-file__button {
+       border: var(--button--border-width) solid transparent;
+       border-radius: var(--button--border-radius);
+       cursor: pointer;
+       font-weight: var(--button--font-weight);
+       font-family: var(--button--font-family);
+       font-size: var(--button--font-size);
+       line-height: var(--button--line-height);
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+       text-decoration: none;
+}
+
+.site .button:not(:hover):not(:active):not(.has-text-color),
+button:not(:hover):not(:active):not(.has-text-color),
+input[type=submit]:not(:hover):not(:active):not(.has-text-color),
+input[type=reset]:not(:hover):not(:active):not(.has-text-color),
+.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-text-color),
+.has-background button:not(:hover):not(:active):not(.has-text-color),
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color),
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color),
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-primary));
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background button:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background,
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.site .button:not(:hover):not(:active):not(.has-background),
+button:not(:hover):not(:active):not(.has-background),
+input[type=submit]:not(:hover):not(:active):not(.has-background),
+input[type=reset]:not(:hover):not(:active):not(.has-background),
+.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
+.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .site .button:not(:hover):not(:active):not(.has-background),
+.has-background button:not(:hover):not(:active):not(.has-background),
+.has-background input[type=submit]:not(:hover):not(:active):not(.has-background),
+.has-background input[type=reset]:not(:hover):not(:active):not(.has-background),
+.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
+.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.site .button:hover,
+.site .button:active,
+button:hover,
+button:active,
+input[type=submit]:hover,
+input[type=submit]:active,
+input[type=reset]:hover,
+input[type=reset]:active,
+.wp-block-search .wp-block-search__button:hover,
+.wp-block-search .wp-block-search__button:active,
+.wp-block-button .wp-block-button__link:hover,
+.wp-block-button .wp-block-button__link:active,
+.wp-block-file a.wp-block-file__button:hover,
+.wp-block-file a.wp-block-file__button:active {
+       background-color: transparent;
+       border-color: currentColor;
+       color: inherit;
+}
+
+.site .button:focus,
+button:focus,
+input[type=submit]:focus,
+input[type=reset]:focus,
+.wp-block-search .wp-block-search__button:focus,
+.wp-block-button .wp-block-button__link:focus,
+.wp-block-file a.wp-block-file__button:focus {
+       outline-offset: -6px;
+       outline: 2px dotted currentColor;
+}
+
+.site .button:disabled,
+button:disabled,
+input[type=submit]:disabled,
+input[type=reset]:disabled,
+.wp-block-search .wp-block-search__button:disabled,
+.wp-block-button .wp-block-button__link:disabled,
+.wp-block-file a.wp-block-file__button:disabled {
+       background-color: var(--global--color-white-50);
+       border-color: var(--global--color-white-50);
+       color: var(--button--color-text-active);
+}
+
+/**
+ * Block Options
+ */
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-background);
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-background, var(--global--color-background));
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
+       color: var(--global--color-primary);
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
+.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
+       border-color: currentColor !important;
+       background-color: transparent !important;
+       color: inherit !important;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background),
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background {
+       border-color: currentColor;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--global--color-primary);
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background:not(.has-text-color) {
+       color: inherit;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
+       background-color: transparent;
+}
+
+.wp-block-button.is-style-outline .wp-block-button__link:hover,
+.wp-block-button.is-style-outline .wp-block-button__link:active {
+       border-color: transparent !important;
+       background-color: var(--global--color-primary) !important;
+       color: var(--global--color-background) !important;
+}
+
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:hover,
+.has-background .wp-block-button.is-style-outline .wp-block-button__link:active {
+       background-color: var(--local--color-primary, var(--global--color-primary)) !important;
+       color: var(--local--color-background, var(--global--color-background)) !important;
+}
+
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
+.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:active {
+       color: var(--local--color-background, var(--global--color-background)) !important;
+}
+
+.wp-block-button .is-style-squared .wp-block-button__link {
+       border-radius: 0;
+}
+
+.is-style-outline .wp-block-button__link[style*=radius]:focus,
+.wp-block-button a.wp-block-button__link[style*=radius]:focus {
+       outline-offset: 2px;
+       outline: 2px dotted var(--button--color-background);
+}
+
+.wp-block-code {
+       border-color: var(--global--color-border);
+       border-radius: 0;
+       border-style: solid;
+       border-width: 0.1rem;
+       padding: var(--global--spacing-unit);
+}
+
+.wp-block-code code {
+       color: var(--global--color-primary);
+       white-space: pre;
+       overflow-x: auto;
+       display: block;
+}
+
+.wp-block-columns:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-columns .wp-block-column > * {
+       margin-top: calc(0.66 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.66 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-columns .wp-block-column > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-columns .wp-block-column > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-columns .wp-block-column > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-columns .wp-block-column:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-columns .wp-block-column:not(:last-child) {
+       margin-bottom: calc(0.66 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-columns .wp-block-column:not(:last-child) {
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .wp-block-columns .wp-block-column:not(:last-child) {
+               margin-bottom: 0;
+       }
+}
+
+.wp-block-columns.is-style-twentytwentyone-columns-overlap {
+       justify-content: space-around;
+}
+@media only screen and (min-width: 652px) {
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
+               margin-left: calc(-2 * var(--global--spacing-horizontal));
+               margin-top: calc(2.5 * var(--global--spacing-horizontal));
+               z-index: 2;
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
+               background-color: var(--global--color-background);
+               padding: var(--global--spacing-unit);
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
+               padding-left: calc(2 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
+               margin-top: 0;
+       }
+}
+
+.wp-block-columns.alignfull .wp-block-column p:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h1:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h2:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h3:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h4:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h5:not(.has-background),
+.wp-block-columns.alignfull .wp-block-column h6:not(.has-background) {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+}
+
+.wp-block-cover,
+.wp-block-cover-image {
+       background-color: var(--cover--color-background);
+       min-height: var(--cover--height);
+       margin-top: inherit;
+       margin-bottom: inherit;
+
+       /* default & custom background-color */
+
+       /* Treating H2 separately to account for legacy /core styles */
+
+       /* Block Styles */
+
+       /* The background color class is used just for the overlay, and does not need to be applied to the inner container. */
+}
+
+.wp-block-cover:not(.alignwide):not(.alignfull),
+.wp-block-cover-image:not(.alignwide):not(.alignfull) {
+       clear: both;
+}
+
+.wp-block-cover.alignfull,
+.wp-block-cover-image.alignfull {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover-image .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text {
+       color: currentColor;
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-cover .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
+.wp-block-cover-image .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button) {
+       color: currentColor;
+}
+
+.wp-block-cover .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover .wp-block-cover-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover__inner-container .has-link-color a,
+.wp-block-cover-image .wp-block-cover-image-text .has-link-color a,
+.wp-block-cover-image .wp-block-cover-text .has-link-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+.wp-block-cover:not([class*=background-color]) .wp-block-cover__inner-container,
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-image-text,
+.wp-block-cover:not([class*=background-color]) .wp-block-cover-text,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover__inner-container,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-image-text,
+.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-text {
+       color: var(--cover--color-foreground);
+}
+
+.wp-block-cover h2,
+.wp-block-cover-image h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+       max-width: inherit;
+       text-align: inherit;
+       padding: 0;
+}
+
+.wp-block-cover h2.has-text-align-left,
+.wp-block-cover-image h2.has-text-align-left {
+       text-align: left;
+}
+
+.wp-block-cover h2.has-text-align-center,
+.wp-block-cover-image h2.has-text-align-center {
+       text-align: center;
+}
+
+.wp-block-cover h2.has-text-align-right,
+.wp-block-cover-image h2.has-text-align-right {
+       text-align: right;
+}
+
+.wp-block-cover .wp-block-cover__inner-container,
+.wp-block-cover-image .wp-block-cover__inner-container {
+       width: calc(100% - 2 * var(--global--spacing-vertical));
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *,
+.wp-block-cover-image .wp-block-cover__inner-container > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-cover .wp-block-cover__inner-container > *,
+       .wp-block-cover-image .wp-block-cover__inner-container > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *:first-child,
+.wp-block-cover-image .wp-block-cover__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-cover .wp-block-cover__inner-container > *:last-child,
+.wp-block-cover-image .wp-block-cover__inner-container > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-cover.alignleft,
+.wp-block-cover.alignright,
+.wp-block-cover-image.alignleft,
+.wp-block-cover-image.alignright {
+       margin-top: 0;
+}
+
+.wp-block-cover.alignleft > *,
+.wp-block-cover.alignright > *,
+.wp-block-cover-image.alignleft > *,
+.wp-block-cover-image.alignright > * {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(2 * var(--global--spacing-vertical));
+       padding-left: var(--global--spacing-horizontal);
+       padding-right: var(--global--spacing-horizontal);
+       width: 100%;
+}
+
+.wp-block-cover.has-left-content,
+.wp-block-cover.has-right-content,
+.wp-block-cover-image.has-left-content,
+.wp-block-cover-image.has-right-content {
+       justify-content: center;
+}
+
+.wp-block-cover.is-style-twentytwentyone-border,
+.wp-block-cover-image.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-cover[class*=-background-color][class] .wp-block-cover__inner-container,
+.wp-block-cover-image[class*=-background-color][class] .wp-block-cover__inner-container {
+       background-color: unset;
+}
+
+.wp-block-file a.wp-block-file__button:active,
+.wp-block-file a.wp-block-file__button:focus,
+.wp-block-file a.wp-block-file__button:hover {
+       opacity: inherit;
+}
+
+.wp-block-file a.wp-block-file__button {
+       display: inline-block;
+}
+
+.wp-block-gallery {
+       margin: 0 auto;
+}
+
+.wp-block-gallery .blocks-gallery-image,
+.wp-block-gallery .blocks-gallery-item {
+       width: calc((100% - var(--global--spacing-unit)) / 2);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption,
+.wp-block-gallery .blocks-gallery-item figcaption {
+       margin: 0;
+       color: var(--global--color-white);
+       font-size: var(--global--font-size-xs);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption a,
+.wp-block-gallery .blocks-gallery-item figcaption a {
+       color: var(--global--color-white);
+}
+
+.wp-block-gallery .blocks-gallery-image figcaption a:focus,
+.wp-block-gallery .blocks-gallery-item figcaption a:focus {
+       background-color: transparent;
+       outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+       text-decoration: none;
+}
+
+.wp-block-gallery .blocks-gallery-image a:focus img,
+.wp-block-gallery .blocks-gallery-item a:focus img {
+       outline-offset: 2px;
+}
+
+.wp-block-group {
+       display: block;
+       clear: both;
+       display: flow-root;
+}
+
+.wp-block-group:before,
+.wp-block-group:after {
+       content: "";
+       display: block;
+       clear: both;
+}
+
+.wp-block-group .wp-block-group__inner-container {
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.wp-block-group .wp-block-group__inner-container > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-group .wp-block-group__inner-container > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-group .wp-block-group__inner-container > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-group .wp-block-group__inner-container > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-group.has-background {
+       padding: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-group.has-background {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-group.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       padding: var(--global--spacing-vertical);
+}
+
+.wp-block-group.has-background .wp-block-group__inner-container > .alignfull,
+.wp-block-group.has-background .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull,
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > .alignfull,
+.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
+       max-width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
+       width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
+       margin-left: calc(-1 * var(--global--spacing-vertical));
+}
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+       clear: both;
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+}
+
+h1 strong,
+.h1 strong,
+h2 strong,
+.h2 strong,
+h3 strong,
+.h3 strong,
+h4 strong,
+.h4 strong,
+h5 strong,
+.h5 strong,
+h6 strong,
+.h6 strong {
+       font-weight: var(--heading--font-weight-strong);
+}
+
+h1,
+.h1 {
+       font-size: var(--heading--font-size-h1);
+       letter-spacing: var(--heading--letter-spacing-h1);
+       line-height: var(--heading--line-height-h1);
+}
+
+h2,
+.h2 {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+}
+
+h3,
+.h3 {
+       font-size: var(--heading--font-size-h3);
+       letter-spacing: var(--heading--letter-spacing-h3);
+       line-height: var(--heading--line-height-h3);
+}
+
+h4,
+.h4 {
+       font-size: var(--heading--font-size-h4);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h4);
+       line-height: var(--heading--line-height-h4);
+}
+
+h5,
+.h5 {
+       font-size: var(--heading--font-size-h5);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h5);
+       line-height: var(--heading--line-height-h5);
+}
+
+h6,
+.h6 {
+       font-size: var(--heading--font-size-h6);
+       font-weight: var(--heading--font-weight-strong);
+       letter-spacing: var(--heading--letter-spacing-h6);
+       line-height: var(--heading--line-height-h6);
+}
+
+.wp-block-image {
+       text-align: center;
+}
+
+.wp-block-image figcaption {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+.wp-block-image .alignright {
+       margin-left: var(--global--spacing-horizontal);
+}
+
+.wp-block-image .alignleft {
+       margin-right: var(--global--spacing-horizontal);
+}
+
+.wp-block-image a:focus img {
+       outline-offset: 2px;
+}
+
+.entry-content > *[class=wp-block-image],
+.entry-content [class*=inner-container] > *[class=wp-block-image] {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.entry-content > *[class=wp-block-image] + *,
+.entry-content [class*=inner-container] > *[class=wp-block-image] + * {
+       margin-top: 0;
+}
+
+.wp-block-image.is-style-twentytwentyone-border img,
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-image.is-style-twentytwentyone-image-frame img {
+       padding: var(--global--spacing-unit);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .entry-content > .wp-block-image > .alignleft,
+       .entry-content > .wp-block-image > .alignright {
+               max-width: 50%;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .entry-content > .wp-block-image > .alignleft,
+       .entry-content > .wp-block-image > .alignright {
+               margin-left: 0;
+               margin-right: 0;
+       }
+}
+
+.wp-block-latest-comments {
+       padding-left: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-body);
+
+       /* Vertical margins logic */
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
+       font-family: var(--heading--font-family);
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-sm);
+}
+
+.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-body);
+       margin: 0;
+}
+
+.wp-block-latest-posts {
+       padding-left: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: calc(1.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.widget-area .wp-block-latest-posts:not(.is-grid) > li {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid {
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.wp-block-latest-posts.is-grid > li {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > * {
+       margin-top: calc(0.333 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-latest-posts > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts > li > a {
+       display: inline-block;
+       font-family: var(--latest-posts--title-font-family);
+       font-size: var(--latest-posts--title-font-size);
+       font-weight: var(--heading--font-weight);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.widget-area .wp-block-latest-posts > li > a {
+       font-size: var(--global--font-size-sm);
+       margin-bottom: 0;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-author {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-md);
+       line-height: var(--global--line-height-body);
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+}
+
+[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date,
+.has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
+       color: currentColor;
+}
+
+.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
+.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
+       font-family: var(--latest-posts--description-font-family);
+       font-size: var(--latest-posts--description-font-size);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-latest-posts.alignfull {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+}
+
+.entry-content [class*=inner-container] .wp-block-latest-posts.alignfull,
+.entry-content .has-background .wp-block-latest-posts.alignfull {
+       padding-left: 0;
+       padding-right: 0;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers {
+       border-top: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
+       padding-bottom: var(--global--spacing-vertical);
+       border-bottom: var(--separator--height) solid var(--global--color-border);
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
+       padding-bottom: 0;
+       border-bottom: none;
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
+       box-shadow: inset 0 -1px 0 0 var(--global--color-border);
+       border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
+       margin: 0;
+       padding-top: var(--global--spacing-vertical);
+       padding-right: var(--global--spacing-horizontal);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
+       padding-bottom: var(--global--spacing-vertical);
+}
+@media screen and (min-width: 600px) {
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
+               width: calc(100% / 2);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
+               width: calc(100% / 3);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
+               width: calc(100% / 4);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
+               width: calc(100% / 5);
+       }
+
+       .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
+               width: calc(100% / 6);
+       }
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+       padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
+       padding-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
+       margin-top: var(--global--spacing-horizontal);
+       margin-bottom: var(--global--spacing-horizontal);
+}
+
+.gallery-item {
+       display: inline-block;
+       text-align: center;
+       vertical-align: top;
+       width: 100%;
+}
+
+.gallery-item a {
+       display: block;
+}
+
+.gallery-item a:focus img {
+       outline-offset: -2px;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 50%;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 33.33%;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 16.66%;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 14.28%;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 11.11%;
+}
+
+.gallery-caption {
+       display: block;
+}
+
+figure.wp-caption a:focus img {
+       outline-offset: 2px;
+}
+
+ul,
+ol {
+       font-family: var(--list--font-family);
+       margin: 0;
+       padding-left: calc(2 * var(--global--spacing-horizontal));
+}
+
+ul.aligncenter,
+ol.aligncenter {
+       list-style-position: inside;
+       padding: 0;
+}
+
+ul.alignright,
+ol.alignright {
+       list-style-position: inside;
+       text-align: right;
+       padding: 0;
+}
+
+ul {
+       list-style-type: disc;
+}
+
+ul ul {
+       list-style-type: circle;
+}
+
+ol {
+       list-style-type: decimal;
+}
+
+ol ul {
+       list-style-type: circle;
+}
+
+dt {
+       font-family: var(--definition-term--font-family);
+       font-weight: bold;
+}
+
+dd {
+       margin: 0;
+       padding-left: calc(2 * var(--global--spacing-horizontal));
+}
+
+.wp-block-media-text {
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-media-text.alignfull {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.wp-block-media-text a:focus img {
+       outline-offset: -1px;
+}
+
+.wp-block-media-text .wp-block-media-text__content {
+       padding: var(--global--spacing-horizontal);
+}
+@media only screen and (min-width: 592px) {
+
+       .wp-block-media-text .wp-block-media-text__content {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-media-text .wp-block-media-text__content > * {
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-media-text .wp-block-media-text__content > * {
+               margin-top: var(--global--spacing-vertical);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-media-text .wp-block-media-text__content > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-media-text .wp-block-media-text__content > *:last-child {
+       margin-bottom: 0;
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
+               padding-top: var(--global--spacing-vertical);
+               padding-bottom: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-media-text.is-style-twentytwentyone-border {
+       border: calc(3 * var(--separator--height)) solid var(--global--color-border);
+}
+
+.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__label {
+       font-family: var(--primary-nav--font-family);
+       font-size: var(--primary-nav--font-size);
+       font-weight: var(--primary-nav--font-weight);
+}
+
+.wp-block-navigation .wp-block-navigation-link__submenu-icon {
+       padding: 0;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation-link {
+       display: inherit;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container {
+       border: none;
+       left: 0;
+       min-width: max-content;
+       opacity: 0;
+       padding: 0;
+       position: inherit;
+       top: inherit;
+}
+
+.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container .wp-block-navigation-link__submenu-icon {
+       display: none;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container {
+       background: var(--global--color-background);
+       margin: 0;
+       padding: 0;
+       position: absolute;
+       top: 100%;
+       border: 1px solid var(--primary-nav--border-color);
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:before,
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
+       content: "";
+       display: block;
+       position: absolute;
+       width: 0;
+       top: -10px;
+       left: var(--global--spacing-horizontal);
+       border-style: solid;
+       border-color: var(--primary-nav--border-color) transparent;
+       border-width: 0 7px 10px 7px;
+}
+
+.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
+       top: -9px;
+       border-color: var(--global--color-background) transparent;
+}
+
+.wp-block-navigation:not(.has-background) .wp-block-navigation__container {
+       background: var(--global--color-background);
+}
+
+.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation__container {
+       background: var(--global--color-background);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover,
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:focus {
+       color: var(--primary-nav--color-link-hover);
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link__content {
+       color: currentColor;
+}
+
+p {
+       line-height: var(--wp--typography--line-height, var(--global--line-height-body));
+}
+
+p.has-background {
+       padding: var(--global--spacing-unit);
+}
+
+p.has-text-color a {
+       color: var(--wp--style--color--link, var(--global--color-primary));
+}
+
+pre.wp-block-preformatted {
+       overflow-x: auto;
+       white-space: pre;
+}
+
+.wp-block-pullquote {
+       padding: calc(2 * var(--global--spacing-unit)) 0;
+       text-align: center;
+       border-width: var(--pullquote--border-width);
+       border-bottom-style: solid;
+       border-top-style: solid;
+       color: currentColor;
+       border-color: currentColor;
+       position: relative;
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-pullquote blockquote::before {
+       color: currentColor;
+       content: "“";
+       display: block;
+       position: relative;
+       left: 0;
+       font-size: 3rem;
+       font-weight: 500;
+       line-height: 1;
+}
+
+.wp-block-pullquote p {
+       font-family: var(--pullquote--font-family);
+       font-size: var(--pullquote--font-size);
+       font-style: var(--pullquote--font-style);
+       font-weight: 700;
+       letter-spacing: var(--pullquote--letter-spacing);
+       line-height: var(--pullquote--line-height);
+       margin: 0;
+}
+
+.wp-block-pullquote a {
+       color: currentColor;
+}
+
+.wp-block-pullquote .wp-block-pullquote__citation,
+.wp-block-pullquote cite,
+.wp-block-pullquote footer {
+       color: currentColor;
+       display: block;
+       font-size: var(--global--font-size-xs);
+       font-style: var(--pullquote--font-style);
+       text-transform: none;
+}
+
+.wp-block-pullquote:not(.is-style-solid-color) {
+       background: none;
+}
+
+.wp-block-pullquote.alignleft:not(.is-style-solid-color) blockquote:before,
+.wp-block-pullquote.alignleft:not(.is-style-solid-color) cite {
+       text-align: center;
+}
+
+.wp-block-pullquote.alignwide > p,
+.wp-block-pullquote.alignwide blockquote {
+       max-width: var(--responsive--alignwide-width);
+}
+
+.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p,
+.wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
+       padding: 0 calc(2 * var(--global--spacing-unit));
+}
+
+.wp-block-pullquote.is-style-solid-color {
+       color: var(--pullquote--color-foreground);
+       padding: calc(2.5 * var(--global--spacing-unit));
+       border-width: var(--pullquote--border-width);
+       border-style: solid;
+       border-color: var(--pullquote--border-color);
+}
+@media (min-width: 600px) {
+
+       .wp-block-pullquote.is-style-solid-color {
+               padding: calc(5 * var(--global--spacing-unit));
+       }
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote::before {
+       text-align: left;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote {
+       margin: 0;
+       max-width: inherit;
+}
+
+.wp-block-pullquote.is-style-solid-color blockquote p {
+       font-size: var(--pullquote--font-size);
+}
+
+.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
+.wp-block-pullquote.is-style-solid-color cite,
+.wp-block-pullquote.is-style-solid-color footer {
+       color: currentColor;
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft,
+.wp-block-pullquote.is-style-solid-color.alignright {
+       padding: var(--global--spacing-unit);
+}
+
+.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
+.wp-block-pullquote.is-style-solid-color.alignright blockquote {
+       max-width: initial;
+}
+
+.wp-block-query.has-background {
+       padding: calc(0.666 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 482px) {
+
+       .wp-block-query.has-background {
+               padding: var(--global--spacing-vertical);
+       }
+}
+
+.wp-block-quote {
+       border-left: none;
+
+       /**
+   * Block Options
+   */
+}
+
+.wp-block-quote:before {
+       content: "“";
+       font-size: var(--quote--font-size);
+       line-height: var(--quote--line-height);
+       left: 8px;
+}
+
+.has-background .wp-block-quote .wp-block-quote__citation,
+[class*=background-color] .wp-block-quote .wp-block-quote__citation,
+[style*=background-color] .wp-block-quote .wp-block-quote__citation,
+.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation,
+.has-background .wp-block-quote cite,
+[class*=background-color] .wp-block-quote cite,
+[style*=background-color] .wp-block-quote cite,
+.wp-block-cover[style*=background-image] .wp-block-quote cite,
+.has-background .wp-block-quote footer,
+[class*=background-color] .wp-block-quote footer,
+[style*=background-color] .wp-block-quote footer,
+.wp-block-cover[style*=background-image] .wp-block-quote footer {
+       color: currentColor;
+}
+
+.wp-block-quote.has-text-align-right {
+       margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto;
+       padding-right: 0;
+       border-right: none;
+}
+
+.wp-block-quote.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.has-text-align-right p:before {
+       content: "”";
+       font-size: var(--quote--font-size);
+       font-weight: normal;
+       line-height: var(--quote--line-height);
+       margin-right: 5px;
+}
+
+.wp-block-quote.has-text-align-center {
+       margin: var(--global--spacing-vertical) auto;
+}
+
+.wp-block-quote.has-text-align-center:before {
+       display: none;
+}
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+       padding-left: 0;
+       padding-right: 0;
+
+       /* Resetting margins to match _block-container.scss */
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-quote.is-large p,
+.wp-block-quote.is-style-large p {
+       font-size: var(--quote--font-size-large);
+       font-style: var(--quote--font-style-large);
+       line-height: var(--quote--line-height-large);
+}
+
+.wp-block-quote.is-large:before,
+.wp-block-quote.is-style-large:before {
+       font-size: var(--quote--font-size-large);
+       line-height: var(--quote--line-height-large);
+       left: calc(-1 * var(--global--spacing-horizontal));
+}
+
+.wp-block-quote.is-large.has-text-align-right:before,
+.wp-block-quote.is-style-large.has-text-align-right:before {
+       display: none;
+}
+
+.wp-block-quote.is-large.has-text-align-right p:before,
+.wp-block-quote.is-style-large.has-text-align-right p:before {
+       content: "”";
+       font-size: var(--quote--font-size-large);
+       font-weight: normal;
+       line-height: var(--quote--line-height-large);
+       margin-right: 10px;
+}
+
+.wp-block-quote.is-large .wp-block-quote__citation,
+.wp-block-quote.is-large cite,
+.wp-block-quote.is-large footer,
+.wp-block-quote.is-style-large .wp-block-quote__citation,
+.wp-block-quote.is-style-large cite,
+.wp-block-quote.is-style-large footer {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-sm);
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.is-large,
+       .wp-block-quote.is-style-large {
+               padding-left: var(--global--spacing-horizontal);
+       }
+
+       .wp-block-quote.is-large:before,
+       .wp-block-quote.is-style-large:before {
+               left: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-right,
+       .wp-block-quote.is-style-large.has-text-align-right {
+               padding-left: 0;
+               padding-right: var(--global--spacing-horizontal);
+       }
+
+       .wp-block-quote.is-large.has-text-align-right:before,
+       .wp-block-quote.is-style-large.has-text-align-right:before {
+               right: 0;
+       }
+
+       .wp-block-quote.is-large.has-text-align-center,
+       .wp-block-quote.is-style-large.has-text-align-center {
+               padding-left: 0;
+               padding-right: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .wp-block-quote.has-text-align-right {
+               padding-left: 0;
+               padding-right: calc(0.5 * var(--global--spacing-horizontal));
+       }
+
+       .wp-block-quote.has-text-align-right:before {
+               right: 0;
+       }
+
+       .wp-block-quote.has-text-align-center {
+               padding-left: 0;
+               padding-right: 0;
+       }
+}
+
+.wp-block-rss {
+       padding-left: 0;
+}
+
+.wp-block-rss > li {
+       list-style: none;
+}
+
+.wp-block-rss:not(.is-grid) > li {
+       margin-top: calc(1.666 * var(--global--spacing-vertical));
+       margin-bottom: calc(1.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss:not(.is-grid) > li:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss:not(.is-grid) > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid > li {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.wp-block-rss.is-grid > li:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
+.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
+.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
+.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
+.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
+.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
+       margin-bottom: 0;
+}
+
+.wp-block-rss > li > * {
+       margin-top: calc(0.333 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss > li > *:first-child {
+       margin-top: 0;
+}
+
+.wp-block-rss > li > *:last-child {
+       margin-bottom: 0;
+}
+
+.wp-block-rss .wp-block-rss__item-title > a {
+       display: inline-block;
+       font-family: var(--latest-posts--title-font-family);
+       font-size: var(--latest-posts--title-font-size);
+       font-weight: var(--heading--font-weight);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.333 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss .wp-block-rss__item-author {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-md);
+       line-height: var(--global--line-height-body);
+}
+
+.wp-block-rss .wp-block-rss__item-publish-date {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       line-height: var(--global--line-height-body);
+}
+
+[class*=inner-container] .wp-block-rss .wp-block-rss__item-publish-date,
+.has-background .wp-block-rss .wp-block-rss__item-publish-date {
+       color: currentColor;
+}
+
+.wp-block-rss .wp-block-rss__item-excerpt,
+.wp-block-rss .wp-block-rss__item-full-content {
+       font-family: var(--latest-posts--description-font-family);
+       font-size: var(--latest-posts--description-font-size);
+       line-height: var(--global--line-height-body);
+       margin-top: calc(0.666 * var(--global--spacing-vertical));
+}
+
+.wp-block-rss.alignfull {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+}
+
+.entry-content [class*=inner-container] .wp-block-rss.alignfull,
+.entry-content .has-background .wp-block-rss.alignfull {
+       padding-left: 0;
+       padding-right: 0;
+}
+
+.wp-block-search {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.wp-block-search__button-only.aligncenter .wp-block-search__inside-wrapper {
+       justify-content: center;
+}
+
+.wp-block-search .wp-block-search__label {
+       font-size: var(--form--font-size);
+       font-weight: var(--form--label-weight);
+       margin-bottom: calc(var(--global--spacing-vertical) / 3);
+}
+
+.wp-block-search .wp-block-search__input {
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       color: var(--form--color-text);
+       line-height: var(--form--line-height);
+       max-width: inherit;
+       margin-right: calc(-1 * var(--button--border-width));
+       padding: var(--form--spacing-unit);
+}
+
+.wp-block-search .wp-block-search__input:focus {
+       color: var(--form--color-text);
+       border-color: var(--form--border-color);
+}
+
+.has-background .wp-block-search .wp-block-search__input {
+       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search button.wp-block-search__button {
+       margin-left: 0;
+       line-height: 1;
+}
+
+.wp-block-search button.wp-block-search__button.has-icon {
+       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+}
+
+.wp-block-search button.wp-block-search__button.has-icon svg {
+       width: 40px;
+       height: 40px;
+       fill: currentColor;
+}
+
+.has-background .wp-block-search button.wp-block-search__button:hover,
+.has-background .wp-block-search button.wp-block-search__button:active {
+       background-color: var(--local--color-background, var(--global--color-background)) !important;
+       color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.has-text-color .wp-block-search button.wp-block-search__button:hover,
+.has-text-color .wp-block-search button.wp-block-search__button:active {
+       color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       background-color: var(--global--color-white);
+       border: var(--form--border-width) solid var(--form--border-color);
+       border-radius: var(--form--border-radius);
+       padding: var(--form--border-width);
+}
+
+.has-background .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
+       border-color: var(--local--color-primary, var(--global--color-primary)) !important;
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
+       margin-left: 0;
+       margin-right: 0;
+       padding-left: var(--form--spacing-unit);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
+       color: var(--form--color-text);
+       outline-offset: -2px;
+       outline: 2px dotted var(--form--border-color);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
+       padding: var(--button--padding-vertical) var(--button--padding-horizontal);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
+       color: var(--global--color-dark-gray);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
+       color: var(--global--color-dark-gray);
+}
+
+.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
+       background-color: var(--global--color-dark-gray);
+       color: var(--global--color-white);
+}
+
+.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button.has-icon {
+       padding: 6px calc(0.5 * var(--button--padding-horizontal));
+}
+
+.wp-block-search__button {
+       box-shadow: none;
+}
+
+hr {
+       border-style: none;
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       clear: both;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+hr.wp-block-separator {
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+       opacity: 1;
+
+       /**
+   * Block Options
+   */
+}
+
+hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+hr.wp-block-separator:not(.is-style-dots).alignwide {
+       max-width: var(--responsive--alignwide-width);
+}
+
+hr.wp-block-separator:not(.is-style-dots).alignfull {
+       max-width: var(--responsive--alignfull-width);
+}
+
+hr.wp-block-separator.is-style-twentytwentyone-separator-thick {
+       border-bottom-width: calc(3 * var(--separator--height));
+}
+
+hr.wp-block-separator.is-style-dots.has-background,
+hr.wp-block-separator.is-style-dots.has-text-color {
+       background-color: transparent !important;
+}
+
+hr.wp-block-separator.is-style-dots.has-background:before,
+hr.wp-block-separator.is-style-dots.has-text-color:before {
+       color: currentColor !important;
+}
+
+hr.wp-block-separator.is-style-dots:before {
+       color: var(--separator--border-color);
+       font-size: var(--global--font-size-xl);
+       letter-spacing: var(--global--font-size-sm);
+       padding-left: var(--global--font-size-sm);
+}
+
+.has-background hr.wp-block-separator,
+[class*=background-color] hr.wp-block-separator,
+[style*=background-color] hr.wp-block-separator,
+.wp-block-cover[style*=background-image] hr.wp-block-separator {
+       border-color: currentColor;
+}
+
+.wp-block-social-links a:focus {
+       color: var(--global--color-primary);
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color a {
+       color: var(--global--color-primary);
+}
+
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link,
+.wp-block-social-links.is-style-twentytwentyone-social-icons-color.has-icon-background-color.has-icon-background-color .wp-social-link {
+       background: none;
+}
+
+table,
+.wp-block-table {
+       width: 100%;
+       min-width: 240px;
+       border-collapse: collapse;
+}
+
+table thead,
+table tfoot,
+.wp-block-table thead,
+.wp-block-table tfoot {
+       text-align: center;
+}
+
+table th,
+.wp-block-table th {
+       font-family: var(--heading--font-family);
+}
+
+table td,
+table th,
+.wp-block-table td,
+.wp-block-table th {
+       padding: calc(0.5 * var(--global--spacing-unit));
+       border: 1px solid;
+}
+
+table figcaption,
+.wp-block-table figcaption {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+}
+
+table.is-style-regular .has-background,
+table.is-style-stripes .has-background,
+table.is-style-stripes .has-background thead tr,
+table.is-style-stripes .has-background tfoot tr,
+table.is-style-stripes .has-background tbody tr,
+.wp-block-table.is-style-regular .has-background,
+.wp-block-table.is-style-stripes .has-background,
+.wp-block-table.is-style-stripes .has-background thead tr,
+.wp-block-table.is-style-stripes .has-background tfoot tr,
+.wp-block-table.is-style-stripes .has-background tbody tr {
+       color: var(--table--has-background-text-color);
+}
+
+table.is-style-stripes,
+.wp-block-table.is-style-stripes {
+       border-color: var(--table--stripes-border-color);
+}
+
+table.is-style-stripes th,
+table.is-style-stripes td,
+.wp-block-table.is-style-stripes th,
+.wp-block-table.is-style-stripes td {
+       border-width: 0;
+}
+
+table.is-style-stripes tbody tr:nth-child(odd),
+.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
+       background-color: var(--table--stripes-background-color);
+}
+
+table.is-style-stripes .has-background tbody tr:nth-child(odd),
+.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
+       background-color: var(--global--color-white-90);
+}
+
+table.wp-calendar-table td,
+table.wp-calendar-table th {
+       background: transparent;
+       border: 0;
+       text-align: center;
+       line-height: 2;
+       vertical-align: middle;
+       word-break: normal;
+}
+
+table.wp-calendar-table th {
+       font-weight: bold;
+}
+
+table.wp-calendar-table thead,
+table.wp-calendar-table tbody {
+       color: currentColor;
+       border: 1px solid;
+}
+
+table.wp-calendar-table caption {
+       font-weight: bold;
+       text-align: left;
+       margin-bottom: var(--global--spacing-unit);
+       color: currentColor;
+}
+
+.wp-calendar-nav {
+       text-align: left;
+       margin-top: calc(var(--global--spacing-unit) / 2);
+}
+
+.wp-calendar-nav svg {
+       height: 1em;
+       vertical-align: middle;
+}
+
+.wp-calendar-nav svg path {
+       fill: currentColor;
+}
+
+.wp-calendar-nav .wp-calendar-nav-next {
+       float: right;
+}
+
+.wp-block-tag-cloud.alignfull {
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+}
+
+.wp-block-verse {
+       font-family: var(--entry-content--font-family);
+}
+
+.wp-block-video figcaption {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       margin-top: calc(0.5 * var(--global--spacing-unit));
+       margin-bottom: var(--global--spacing-unit);
+       text-align: center;
+}
+
+* > figure > video {
+       max-width: unset;
+       width: 100%;
+       vertical-align: middle;
+}
+
+:root .is-extra-small-text,
+:root .has-extra-small-font-size {
+       font-size: var(--global--font-size-xs);
+}
+
+:root .is-small-text,
+:root .has-small-font-size {
+       font-size: var(--global--font-size-sm);
+}
+
+:root .is-regular-text,
+:root .has-regular-font-size,
+:root .is-normal-font-size,
+:root .has-normal-font-size,
+:root .has-medium-font-size {
+       font-size: var(--global--font-size-base);
+}
+
+:root .is-large-text,
+:root .has-large-font-size {
+       font-size: var(--global--font-size-lg);
+       line-height: var(--global--line-height-heading);
+}
+
+:root .is-larger-text,
+:root .has-larger-font-size,
+:root .is-extra-large-text,
+:root .has-extra-large-font-size {
+       font-size: var(--global--font-size-xl);
+       line-height: var(--global--line-height-heading);
+}
+
+:root .is-huge-text,
+:root .has-huge-font-size {
+       font-size: var(--global--font-size-xxl);
+       line-height: var(--global--line-height-heading);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+:root .is-gigantic-text,
+:root .has-gigantic-font-size {
+       font-size: var(--global--font-size-xxxl);
+       line-height: var(--global--line-height-heading);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+/* Block Alignments */
+
+/**
+ * These selectors set the default max width for content appearing inside a post or page.
+ */
+
+/**
+ * .alignleft
+ */
+.alignleft {
+
+       /*rtl:ignore*/
+       text-align: left;
+       margin-top: 0;
+}
+
+.entry-content > .alignleft {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignleft {
+
+               /*rtl:ignore*/
+               float: left;
+
+               /*rtl:ignore*/
+               margin-right: var(--global--spacing-horizontal);
+               margin-bottom: var(--global--spacing-vertical);
+       }
+
+       .entry-content > .alignleft {
+               max-width: calc(50% - var(--responsive--alignleft-margin));
+       }
+}
+
+/**
+ * .aligncenter
+ */
+.aligncenter {
+       clear: both;
+       display: block;
+       float: none;
+       margin-right: auto;
+       margin-left: auto;
+       text-align: center;
+}
+
+/**
+ * .alignright
+ */
+.alignright {
+       margin-top: 0;
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.entry-content > .alignright {
+       max-width: var(--responsive--aligndefault-width);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .alignright {
+
+               /*rtl:ignore*/
+               float: right;
+
+               /*rtl:ignore*/
+               margin-left: var(--global--spacing-horizontal);
+       }
+
+       .entry-content > .alignright {
+               max-width: calc(50% - var(--responsive--alignright-margin));
+       }
+}
+
+[class*=inner-container] > .alignleft + *,
+[class*=inner-container] > .alignright + * {
+       margin-top: 0;
+}
+
+/**
+ * .alignwide
+ */
+.alignwide {
+       clear: both;
+}
+
+/**
+ * .alignfull
+ */
+.alignfull {
+       clear: both;
+}
+
+.has-left-content {
+       justify-content: flex-start;
+}
+
+.has-right-content {
+       justify-content: flex-end;
+}
+
+.has-parallax {
+       background-attachment: fixed;
+}
+
+.has-drop-cap:not(:focus)::first-letter {
+       font-family: var(--heading--font-family);
+       font-weight: var(--heading--font-weight);
+       line-height: 0.66;
+       text-transform: uppercase;
+       font-style: normal;
+       float: left;
+       margin: 0.1em 0.1em 0 0;
+       font-size: calc(1.2 * var(--heading--font-size-h1));
+}
+
+.has-drop-cap:not(:focus)::after {
+       content: "";
+       display: table;
+       clear: both;
+       padding-top: 14px;
+}
+
+.desktop-only {
+       display: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .desktop-only {
+               display: block;
+       }
+}
+
+/* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */
+.site-header {
+       display: flex;
+       align-items: flex-start;
+       flex-wrap: wrap;
+       row-gap: var(--global--spacing-vertical);
+}
+
+.wp-custom-logo .site-header {
+       align-items: center;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-header {
+               padding-top: calc(var(--global--spacing-vertical) / 0.75);
+       }
+}
+@media only screen and (min-width: 822px) {
+
+       .site-header {
+               padding-top: calc(2.4 * var(--global--spacing-vertical));
+       }
+}
+
+.site-branding {
+       color: var(--branding--color-text);
+       margin-right: 140px;
+}
+
+.site-branding:last-child {
+       margin-right: 0;
+       width: 100%;
+       text-align: center;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-branding {
+               margin-right: initial;
+               margin-top: 4px;
+       }
+}
+
+.site-title {
+       color: var(--branding--color-link);
+       font-family: var(--branding--title--font-family);
+       font-size: var(--branding--title--font-size-mobile);
+       letter-spacing: normal;
+       text-transform: var(--branding--title--text-transform);
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(var(--global--spacing-vertical) / 6);
+}
+
+.site-title a {
+       color: currentColor;
+       font-weight: var(--branding--title--font-weight);
+}
+
+.site-title a:link,
+.site-title a:visited,
+.site-title a:active {
+       color: currentColor;
+}
+
+.site-title a:hover,
+.site-title a:focus {
+       color: var(--branding--color-link-hover);
+}
+@media only screen and (min-width: 482px) {
+
+       .site-title {
+               font-size: var(--branding--title--font-size);
+       }
+}
+
+.site-description {
+       color: currentColor;
+       font-family: var(--branding--description--font-family);
+       font-size: var(--branding--description--font-size);
+       line-height: 1.4;
+}
+
+.site-title > a {
+       text-decoration-color: var(--global--color-secondary);
+}
+
+.site-logo {
+       margin: calc(var(--global--spacing-vertical) / 2) 0;
+}
+
+.site-header > .site-logo {
+       width: 100%;
+       padding-bottom: calc(var(--global--spacing-vertical) * 1.5);
+       border-bottom: 1px solid;
+       text-align: center;
+}
+
+.site-logo .custom-logo {
+       margin-left: auto;
+       margin-right: auto;
+       max-width: var(--branding--logo--max-width-mobile);
+       max-height: var(--branding--logo--max-height-mobile);
+       height: auto;
+       display: inline-block;
+       width: auto;
+}
+@media only screen and (min-width: 482px) {
+
+       .site-logo .custom-logo {
+               max-width: var(--branding--logo--max-width);
+               max-height: var(--branding--logo--max-height);
+               height: auto;
+               width: auto;
+       }
+}
+
+@media only screen and (max-width: 481px) {
+
+       .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
+               position: absolute;
+               padding-top: calc(0.5 * var(--global--spacing-vertical));
+               margin-top: 0;
+               top: var(--global--admin-bar--height);
+       }
+
+       .primary-navigation-open .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
+               display: none;
+       }
+
+       .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
+               max-height: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit) + 1.7em);
+       }
+
+       .site-header.has-logo.has-title-and-tagline {
+               align-items: flex-start;
+       }
+
+       .site-header.has-logo.has-title-and-tagline.has-menu {
+               justify-content: space-between;
+       }
+
+       .site-header.has-logo.has-title-and-tagline.has-menu .site-branding {
+               max-width: calc(100% - 160px);
+       }
+
+       .site-header.has-logo.has-title-and-tagline .site-branding {
+               margin-right: 0;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline:after {
+               display: none;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .primary-navigation {
+               position: relative;
+               top: 0;
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container {
+               position: relative;
+               padding-top: 0;
+               margin-top: calc(0px - var(--button--padding-vertical) + 0.25 * var(--global--spacing-unit));
+       }
+
+       body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu {
+               padding-left: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
+               padding-right: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
+               margin-right: calc(0px - var(--global--spacing-horizontal) * 0.6);
+       }
+
+       .site-header:not(.has-logo).has-title-and-tagline .site-branding {
+               margin-right: 0;
+               max-width: calc(100% - 160px);
+       }
+
+       .site-header:not(.has-menu) {
+               justify-content: center;
+       }
+}
+
+.site-footer {
+       padding-top: 0;
+       padding-bottom: calc(1.7 * var(--global--spacing-vertical));
+}
+
+.no-widgets .site-footer {
+       margin-top: calc(6 * var(--global--spacing-vertical));
+}
+@media only screen and (max-width: 481px) {
+
+       .no-widgets .site-footer {
+               margin-top: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+.site-footer > .site-info {
+       padding-top: var(--global--spacing-vertical);
+       color: var(--footer--color-text);
+       font-family: var(--footer--font-family);
+       font-size: var(--footer--font-size);
+       line-height: var(--global--line-height-body);
+       border-top: 3px solid var(--global--color-border);
+}
+
+.site-footer > .site-info .site-name {
+       text-transform: var(--branding--title--text-transform);
+       font-size: var(--branding--title--font-size);
+}
+
+.site-footer > .site-info .privacy-policy,
+.site-footer > .site-info .powered-by {
+       margin-top: calc(0.5 * var(--global--spacing-vertical));
+}
+@media only screen and (min-width: 822px) {
+
+       .site-footer > .site-info {
+               display: flex;
+               align-items: center;
+       }
+
+       .site-footer > .site-info .site-name {
+               margin-right: calc(0.5 * var(--global--spacing-vertical));
+       }
+
+       .site-footer > .site-info .privacy-policy,
+       .site-footer > .site-info .powered-by {
+               margin-top: initial;
+               margin-left: auto;
+       }
+
+       .site-footer > .site-info .privacy-policy + .powered-by {
+               margin-left: calc(0.5 * var(--global--spacing-vertical));
+       }
+}
+
+.site-footer > .site-info a {
+       color: var(--footer--color-link);
+}
+
+.site-footer > .site-info a:link,
+.site-footer > .site-info a:visited,
+.site-footer > .site-info a:active {
+       color: var(--footer--color-link);
+}
+
+.site-footer > .site-info a:hover {
+       color: var(--footer--color-link-hover);
+}
+
+.site-footer > .site-info a:focus {
+       color: var(--footer--color-link-hover);
+}
+
+.is-dark-theme .site-footer > .site-info a:focus {
+       color: var(--wp--style--color--link, var(--global--color-background));
+}
+
+.has-background-white .site-footer > .site-info a:focus {
+       color: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.singular .entry-header {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.home .entry-header {
+       border-bottom: none;
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+.singular .has-post-thumbnail .entry-header {
+       border-bottom: none;
+       padding-bottom: calc(1.3 * var(--global--spacing-vertical));
+       margin-bottom: 0;
+}
+
+.no-results.not-found > *:first-child {
+       margin-bottom: calc(3 * var(--global--spacing-vertical));
+}
+
+.page-links {
+       clear: both;
+}
+
+.page-links .post-page-numbers {
+       display: inline-block;
+       margin-left: calc(0.66 * var(--global--spacing-unit));
+       margin-right: calc(0.66 * var(--global--spacing-unit));
+       min-width: 44px;
+       min-height: 44px;
+}
+
+.page-links .post-page-numbers:first-child {
+       margin-left: 0;
+}
+
+.entry-title {
+       color: var(--entry-header--color);
+       font-size: var(--entry-header--font-size);
+       letter-spacing: var(--heading--letter-spacing-h2);
+       line-height: var(--heading--line-height-h2);
+       overflow-wrap: break-word;
+}
+
+.entry-title a {
+       color: var(--entry-header--color-link);
+       text-underline-offset: 0.15em;
+}
+
+.entry-title a:hover {
+       color: var(--entry-header--color-hover);
+}
+
+.entry-title a:focus {
+       color: var(--entry-header--color-focus);
+}
+
+.entry-title a:active {
+       color: var(--entry-header--color-link);
+}
+
+.singular .entry-title {
+       font-size: var(--global--font-size-page-title);
+}
+
+h1.entry-title {
+       line-height: var(--heading--line-height-h1);
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+/**
+ * Entry Content
+ */
+.entry-content,
+.entry-summary {
+       font-family: var(--entry-content--font-family);
+}
+
+.entry-content p {
+       word-wrap: break-word;
+}
+
+.entry-content > iframe[style] {
+       margin: var(--global--spacing-vertical) 0 !important;
+       max-width: 100% !important;
+}
+
+.entry-footer {
+       color: var(--global--color-primary);
+       clear: both;
+       float: none;
+       font-size: var(--global--font-size-xs);
+       display: block;
+}
+
+.entry-footer > span {
+       display: inline-block;
+}
+
+.entry-footer a {
+       color: currentColor;
+}
+
+.entry-footer a:hover,
+.entry-footer a:focus {
+       color: var(--global--color-primary-hover);
+}
+
+.entry-footer a:active {
+       color: currentColor;
+}
+
+.site-main > article > .entry-footer {
+       margin-top: var(--global--spacing-vertical);
+       padding-top: var(--global--spacing-unit);
+       padding-bottom: calc(3 * var(--global--spacing-vertical));
+       border-bottom: var(--separator--height) solid var(--separator--border-color);
+}
+
+body:not(.single) .site-main > article:last-of-type .entry-footer {
+       border-bottom: var(--separator--height) solid transparent;
+}
+
+.single .site-main > article > .entry-footer {
+       margin-top: calc(3.4 * var(--global--spacing-vertical));
+       margin-bottom: calc(3.4 * var(--global--spacing-vertical));
+       padding-bottom: 0;
+       padding-top: calc(0.8 * var(--global--spacing-vertical));
+       border-top: 3px solid var(--separator--border-color);
+       border-bottom: var(--separator--height) solid transparent;
+       display: grid;
+       grid-template-columns: repeat(2, 1fr);
+       column-gap: calc(2 * var(--global--spacing-horizontal));
+}
+
+.single .site-main > article > .entry-footer .post-taxonomies,
+.single .site-main > article > .entry-footer .full-size-link {
+       justify-content: flex-end;
+       text-align: right;
+}
+
+.single .site-main > article > .entry-footer .full-size-link:first-child:last-child {
+       grid-column: span 2;
+}
+
+.single .site-main > article > .entry-footer .posted-on,
+.single .site-main > article > .entry-footer .byline,
+.single .site-main > article > .entry-footer .cat-links,
+.single .site-main > article > .entry-footer .tags-links {
+       display: block;
+}
+@media only screen and (max-width: 481px) {
+
+       .single .site-main > article > .entry-footer {
+               display: block;
+       }
+
+       .single .site-main > article > .entry-footer .full-size-link {
+               display: block;
+       }
+
+       .single .site-main > article > .entry-footer .post-taxonomies,
+       .single .site-main > article > .entry-footer .full-size-link {
+               text-align: left;
+       }
+}
+
+/**
+ * Post Thumbnails
+ */
+.post-thumbnail {
+       text-align: center;
+}
+
+.post-thumbnail .wp-post-image {
+       display: block;
+       width: auto;
+       max-width: 100%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top: calc(2 * var(--global--spacing-vertical));
+}
+
+/**
+ * Author
+ */
+.author-bio {
+       position: relative;
+       font-size: var(--global--font-size-xs);
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.site-main > article > .author-bio {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+}
+
+.author-bio.show-avatars .avatar {
+       display: inline-block;
+       vertical-align: top;
+       border-radius: 50%;
+}
+
+.author-bio.show-avatars .author-bio-content {
+       display: inline-block;
+       padding-left: var(--global--spacing-horizontal);
+       max-width: calc(var(--responsive--aligndefault-width) - 90px);
+}
+
+.author-bio .author-bio-content .author-title {
+       font-family: var(--entry-author-bio--font-family);
+       font-size: var(--entry-author-bio--font-size);
+       display: inline;
+}
+
+.author-bio .author-bio-content .author-description {
+       font-size: var(--global--font-size-xs);
+       margin-top: calc(0.5 * var(--global--spacing-vertical));
+       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+}
+
+.page-title {
+       font-size: var(--global--font-size-page-title);
+}
+
+h1.page-title,
+h2.page-title {
+       font-weight: var(--heading--font-weight-page-title);
+}
+
+h1.page-title {
+       line-height: var(--heading--line-height-h1);
+}
+
+.page-header {
+       border-bottom: 3px solid var(--global--color-border);
+       padding-bottom: calc(2 * var(--global--spacing-vertical));
+}
+
+.archive .content-area .format-aside .entry-content,
+.archive .content-area .format-status .entry-content,
+.archive .content-area .format-link .entry-content,
+.search .content-area .format-aside .entry-content,
+.search .content-area .format-status .entry-content,
+.search .content-area .format-link .entry-content,
+.blog .content-area .format-aside .entry-content,
+.blog .content-area .format-status .entry-content,
+.blog .content-area .format-link .entry-content {
+       font-size: var(--global--font-size-lg);
+}
+
+.archive .format-image .entry-content,
+.archive .format-gallery .entry-content,
+.archive .format-video .entry-content,
+.search .format-image .entry-content,
+.search .format-gallery .entry-content,
+.search .format-video .entry-content,
+.blog .format-image .entry-content,
+.blog .format-gallery .entry-content,
+.blog .format-video .entry-content {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+}
+
+.archive .entry-footer .cat-links,
+.archive .entry-footer .tags-links,
+.search .entry-footer .cat-links,
+.search .entry-footer .tags-links,
+.blog .entry-footer .cat-links,
+.blog .entry-footer .tags-links {
+       display: block;
+}
+
+.archive.logged-in .entry-footer .posted-on,
+.search.logged-in .entry-footer .posted-on,
+.blog.logged-in .entry-footer .posted-on {
+       margin-right: calc(0.5 * var(--global--spacing-unit));
+}
+
+.archive-description {
+       margin-top: var(--global--spacing-vertical);
+       font-size: var(--global--font-size-xl);
+       line-height: var(--global--line-height-heading);
+}
+
+.error404 main p {
+       font-size: var(--global--font-size-lg);
+       margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667);
+}
+
+.search-no-results .page-content {
+       margin-top: calc(3 * var(--global--spacing-vertical));
+}
+
+/**
+ * Comments Wrapper
+ */
+.comments-area > * {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comments-area > *:first-child {
+       margin-top: 0;
+}
+
+.comments-area > *:last-child {
+       margin-bottom: 0;
+}
+
+.comments-area.show-avatars .avatar {
+       border-radius: 50%;
+       position: absolute;
+       top: 10px;
+}
+
+.comments-area.show-avatars .fn {
+       display: inline-block;
+       padding-left: 85px;
+}
+
+.comments-area.show-avatars .comment-metadata {
+       padding: 8px 0 9px 85px;
+}
+
+/**
+ * Comment Title
+ */
+.comments-title,
+.comment-reply-title {
+       font-size: var(--heading--font-size-h2);
+       letter-spacing: var(--heading--letter-spacing-h2);
+}
+
+.comment-reply-title {
+       display: flex;
+       justify-content: space-between;
+}
+
+.comment-reply-title small a {
+       font-family: var(--global--font-secondary);
+       font-size: var(--global--font-size-xs);
+       font-style: normal;
+       font-weight: normal;
+       letter-spacing: normal;
+}
+
+/* Nested comment reply title*/
+.comment .comment-respond .comment-reply-title {
+       font-size: var(--global--font-size-lg);
+}
+
+/**
+ * Comment Lists
+ */
+.comment-list {
+       padding-left: 0;
+       list-style: none;
+}
+
+.comment-list > li {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-list .children {
+       list-style: none;
+       padding-left: 0;
+}
+
+.comment-list .children > li {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+@media only screen and (min-width: 482px) {
+
+       .comment-list .depth-2,
+       .comment-list .depth-3 {
+               padding-left: calc(4 * var(--global--spacing-horizontal));
+       }
+}
+
+/**
+ * Comment Meta
+ */
+.comment-meta .comment-author {
+       line-height: var(--global--line-height-heading);
+       margin-bottom: calc(0.25 * var(--global--spacing-unit));
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-meta .comment-author {
+               margin-bottom: 0;
+               padding-right: 0;
+       }
+}
+
+.comment-meta .comment-author .fn {
+       font-family: var(--global--font-secondary);
+       font-weight: normal;
+       font-size: var(--global--font-size-lg);
+       hyphens: auto;
+       word-wrap: break-word;
+       word-break: break-word;
+}
+
+.comment-meta .comment-metadata {
+       color: var(--global--color-primary);
+       font-size: var(--global--font-size-xs);
+       padding: 8px 0 9px 0;
+}
+
+.comment-meta .comment-metadata .edit-link {
+       margin-left: var(--global--spacing-horizontal);
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-meta {
+               margin-right: inherit;
+       }
+
+       .comment-meta .comment-author {
+               max-width: inherit;
+       }
+}
+
+.reply {
+       font-size: var(--global--font-size-sm);
+       line-height: var(--global--line-height-heading);
+}
+
+.bypostauthor {
+       display: block;
+}
+
+.says {
+       display: none;
+}
+
+.pingback .url,
+.trackback .url {
+       font-family: var(--global--font-primary);
+}
+
+.comment-body {
+       position: relative;
+       margin-bottom: calc(1.7 * var(--global--spacing-vertical));
+}
+
+.comment-body > * {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-body .reply {
+       margin: 0;
+}
+
+.comment-content {
+       word-wrap: break-word;
+}
+
+.pingback .comment-body,
+.trackback .comment-body {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-respond {
+       margin-top: var(--global--spacing-vertical);
+}
+
+.comment-respond > * {
+       margin-top: var(--global--spacing-unit);
+       margin-bottom: var(--global--spacing-unit);
+}
+
+.comment-respond > *:first-child {
+       margin-top: 0;
+}
+
+.comment-respond > *:last-child {
+       margin-bottom: 0;
+}
+
+.comment-respond > *:last-child.comment-form {
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.comment-author {
+       padding-top: 3px;
+}
+
+.comment-author .url {
+       color: currentColor;
+}
+
+.comment-form {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+.comment-form > * {
+       flex-basis: 100%;
+}
+
+.comment-form .comment-notes {
+       font-size: var(--global--font-size-sm);
+}
+
+.comment-form .comment-form-url,
+.comment-form .comment-form-comment {
+       width: 100%;
+}
+
+.comment-form .comment-form-author,
+.comment-form .comment-form-email {
+       flex-basis: 0;
+       flex-grow: 1;
+}
+@media only screen and (max-width: 481px) {
+
+       .comment-form .comment-form-author,
+       .comment-form .comment-form-email {
+               flex-basis: 100%;
+       }
+}
+
+.comment-form .comment-form-cookies-consent > label,
+.comment-form .comment-notes {
+       font-size: var(--global--font-size-xs);
+       font-weight: normal;
+}
+
+.comment-form > p {
+       margin-bottom: var(--global--spacing-unit);
+}
+
+.comment-form > p:first-of-type {
+       margin-top: 0;
+}
+
+.comment-form > p:last-of-type {
+       margin-bottom: 0;
+}
+
+.comment-form > p label,
+.comment-form > p input[type=email],
+.comment-form > p input[type=text],
+.comment-form > p input[type=url],
+.comment-form > p textarea {
+       display: block;
+       font-size: var(--global--font-size-sm);
+       margin-bottom: calc(0.5 * var(--global--spacing-unit));
+       width: 100%;
+       font-weight: var(--form--label-weight);
+}
+
+.comment-form > p.comment-form-cookies-consent {
+       display: flex;
+}
+@media only screen and (min-width: 482px) {
+
+       .comment-form > p.comment-form-author {
+               margin-right: calc(1.5 * var(--global--spacing-horizontal));
+       }
+
+       .comment-form > p.comment-notes,
+       .comment-form > p.logged-in-as {
+               display: block;
+       }
+}
+
+.menu-button-container {
+       display: none;
+       justify-content: space-between;
+       position: absolute;
+       right: 0;
+       padding-top: calc(0.5 * var(--global--spacing-vertical));
+       padding-bottom: calc(0.25 * var(--global--spacing-vertical));
+}
+@media only screen and (max-width: 481px) {
+
+       .menu-button-container {
+               display: flex;
+       }
+}
+
+.menu-button-container #primary-mobile-menu {
+       display: flex;
+       margin-left: auto;
+       padding: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit)) calc(0.5 * var(--button--padding-horizontal));
+       font-size: var(--primary-nav--font-size-button);
+       font-weight: var(--primary-nav--font-weight-button);
+       background-color: transparent;
+       border: none;
+       color: var(--primary-nav--color-link);
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon {
+       display: flex;
+       align-items: center;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon .svg-icon {
+       margin-left: calc(0.25 * var(--global--spacing-unit));
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon.open .svg-icon {
+       position: relative;
+       top: -1px;
+}
+
+.menu-button-container #primary-mobile-menu .dropdown-icon.close {
+       display: none;
+}
+
+.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.open {
+       display: none;
+}
+
+.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
+       display: flex;
+}
+
+.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
+       animation-name: twentytwentyone-close-button-transition;
+       animation-duration: 0.3s;
+}
+
+.primary-navigation-open .menu-button-container {
+       width: 100%;
+       z-index: 500;
+       background-color: var(--global--color-background);
+}
+
+.primary-navigation-open .menu-button-container #primary-mobile-menu {
+       position: static;
+}
+
+.primary-navigation {
+       position: absolute;
+       top: var(--global--admin-bar--height);
+       right: 0;
+       color: var(--primary-nav--color-text);
+       font-size: var(--primary-nav--font-size);
+       line-height: 1.15;
+       margin-top: 0;
+       margin-bottom: 0;
+}
+
+.primary-navigation > .primary-menu-container {
+       position: fixed;
+       visibility: hidden;
+       opacity: 0;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px);
+       padding-left: var(--global--spacing-unit);
+       padding-right: var(--global--spacing-unit);
+       padding-bottom: var(--global--spacing-horizontal);
+       background-color: var(--global--color-background);
+       transform: translateY(var(--global--spacing-vertical));
+}
+@media (prefers-reduced-motion: no-preference) {
+
+       .primary-navigation > .primary-menu-container {
+               transition: all 0.15s ease-in-out;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > .primary-menu-container {
+               height: 100vh;
+               z-index: 499;
+               overflow-x: hidden;
+               overflow-y: auto;
+               border: 2px solid transparent;
+       }
+
+       .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               position: fixed;
+               transform: translateY(0) translateX(100%);
+       }
+
+       .admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               top: var(--global--admin-bar--height);
+       }
+
+       .admin-bar .primary-navigation > .primary-menu-container {
+               height: calc(100vh - var(--global--admin-bar--height));
+       }
+
+       .primary-navigation > .primary-menu-container:focus {
+               border: 2px solid var(--global--color-primary);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation-open .primary-navigation {
+               width: 100%;
+               position: fixed;
+               z-index: 2;
+       }
+}
+
+.primary-navigation-open .primary-navigation > .primary-menu-container {
+       position: absolute;
+       visibility: visible;
+       opacity: 1;
+       transform: translateY(0);
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation-open .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
+               transform: translateX(0) translateY(0);
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation {
+               position: relative;
+               margin-left: auto;
+       }
+
+       .primary-navigation > .primary-menu-container {
+               visibility: visible;
+               opacity: 1;
+               position: relative;
+               padding: 0;
+               background-color: transparent;
+               overflow: initial;
+               transform: none;
+       }
+
+       .primary-navigation #toggle-menu {
+               display: none;
+       }
+
+       .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
+               display: none;
+       }
+
+       .admin-bar .primary-navigation {
+               top: initial;
+       }
+
+       .admin-bar .primary-navigation > .primary-menu-container {
+               top: initial;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper {
+       display: flex;
+       justify-content: flex-start;
+       flex-wrap: wrap;
+       list-style: none;
+       margin: 0;
+       max-width: none;
+       padding-left: 0;
+       position: relative;
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > div > .menu-wrapper {
+               padding-bottom: 100px;
+       }
+
+       .primary-navigation > div > .menu-wrapper ul {
+               padding-left: 0;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper li {
+       display: block;
+       position: relative;
+       width: 100%;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation > div > .menu-wrapper li {
+               margin: 0;
+               width: inherit;
+       }
+
+       .primary-navigation > div > .menu-wrapper li:last-child {
+               margin-right: 0;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
+       display: flex;
+       height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px);
+       width: 44px;
+       padding: 0;
+       justify-content: center;
+       align-items: center;
+       background: transparent;
+       color: currentColor;
+       border: none;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
+       outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
+               display: none;
+       }
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus,
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
+       height: 100%;
+       display: flex;
+       align-items: center;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg,
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
+       margin-top: -1px;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
+       display: none;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-minus {
+       display: flex;
+}
+
+.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-plus {
+       display: none;
+}
+
+.primary-navigation > div > .menu-wrapper > li > .sub-menu {
+       position: relative;
+}
+@media only screen and (min-width: 482px) and (prefers-reduced-motion: no-preference) {
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu {
+               transition: all 0.5s ease;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu {
+               left: 0;
+               margin: 0;
+               min-width: max-content;
+               position: absolute;
+               top: 100%;
+               padding-top: 3px;
+               z-index: 88888;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
+               content: "";
+               display: block;
+               position: absolute;
+               width: 0;
+               top: -10px;
+               left: var(--global--spacing-horizontal);
+               border-style: solid;
+               border-color: var(--primary-nav--border-color) transparent;
+               border-width: 0 7px 10px 7px;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
+               top: -9px;
+               border-color: var(--global--color-background) transparent;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+               background: var(--global--color-background);
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left {
+
+               /* rtl:ignore */
+               left: 0;
+
+               /* rtl:ignore */
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:before,
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:after {
+
+               /* rtl:ignore */
+               left: var(--global--spacing-horizontal);
+
+               /* rtl:ignore */
+               right: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right {
+
+               /* rtl:ignore */
+               right: 0;
+
+               /* rtl:ignore */
+               left: auto;
+       }
+
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:before,
+       .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:after {
+
+               /* rtl:ignore */
+               left: auto;
+
+               /* rtl:ignore */
+               right: var(--global--spacing-horizontal);
+       }
+}
+
+.primary-navigation .primary-menu > .menu-item:hover > a {
+       color: var(--primary-nav--color-link-hover);
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .primary-menu-container {
+               margin-right: calc(0px - var(--primary-nav--padding));
+               margin-left: calc(0px - var(--primary-nav--padding));
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item {
+               display: flex;
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item > a {
+               padding-left: var(--primary-nav--padding);
+               padding-right: var(--primary-nav--padding);
+       }
+
+       .primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
+               margin-left: calc(5px - var(--primary-nav--padding));
+       }
+}
+
+.primary-navigation a {
+       display: block;
+       font-family: var(--primary-nav--font-family-mobile);
+       font-size: var(--primary-nav--font-size-mobile);
+       font-weight: var(--primary-nav--font-weight);
+       padding: var(--primary-nav--padding) 0;
+       text-decoration: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation a {
+               display: block;
+               font-family: var(--primary-nav--font-family);
+               font-size: var(--primary-nav--font-size);
+               font-weight: var(--primary-nav--font-weight);
+       }
+}
+
+.primary-navigation a + svg {
+       fill: var(--primary-nav--color-text);
+}
+
+.primary-navigation a:hover,
+.primary-navigation a:link,
+.primary-navigation a:visited {
+       color: var(--primary-nav--color-link-hover);
+}
+
+.primary-navigation a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.primary-navigation a:focus {
+       position: relative;
+       z-index: 99999;
+       outline-offset: 0;
+       text-decoration-thickness: 2px;
+}
+
+.primary-navigation .current-menu-item > a:first-child,
+.primary-navigation .current_page_item > a:first-child {
+       text-decoration: underline;
+       text-decoration-style: solid;
+}
+
+.primary-navigation .current-menu-item > a:first-child:hover,
+.primary-navigation .current_page_item > a:first-child:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.primary-navigation .sub-menu {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+       margin-left: var(--primary-nav--padding);
+       border: 1px solid var(--primary-nav--border-color);
+}
+
+.primary-navigation .sub-menu .sub-menu {
+       border: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .sub-menu > .menu-item > .sub-menu {
+               padding: 0;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .primary-navigation .sub-menu .menu-item:last-child {
+               margin-bottom: 0;
+       }
+}
+
+.primary-navigation .sub-menu .menu-item > a {
+       padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
+       display: block;
+       font-size: var(--primary-nav--font-size-sub-menu-mobile);
+       font-style: var(--primary-nav--font-style-sub-menu-mobile);
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .sub-menu .menu-item > a {
+               font-size: var(--primary-nav--font-size-sub-menu);
+               font-style: var(--primary-nav--font-style);
+       }
+}
+
+.primary-navigation .menu-item-has-children > .svg-icon {
+       display: none;
+}
+@media only screen and (min-width: 482px) {
+
+       .primary-navigation .menu-item-has-children > .svg-icon {
+               display: inline-block;
+               height: 100%;
+       }
+
+       .primary-navigation .menu-item-has-children .sub-menu .svg-icon {
+               display: none;
+       }
+}
+
+.primary-navigation .menu-item-description {
+       display: block;
+       clear: both;
+       font-size: var(--global--font-size-xs);
+       text-transform: none;
+       line-height: 1.7;
+}
+
+.primary-navigation .menu-item-description > span {
+       display: inline-block;
+}
+
+@media only screen and (max-width: 481px) {
+
+       .lock-scrolling .site {
+               position: fixed;
+               max-width: 100%;
+               width: 100%;
+       }
+}
+@keyframes twentytwentyone-close-button-transition {
+
+       from {
+               opacity: 0;
+       }
+
+       to {
+               opacity: 1;
+       }
+}
+
+.footer-navigation {
+       margin-top: calc(2 * var(--global--spacing-vertical));
+       margin-bottom: var(--global--spacing-vertical);
+       color: var(--footer--color-text);
+       font-size: var(--global--font-size-xs);
+       font-family: var(--footer--font-family);
+}
+
+.footer-navigation-wrapper {
+       display: flex;
+       justify-content: center;
+       flex-wrap: wrap;
+       list-style: none;
+       padding-left: 0;
+}
+
+.footer-navigation-wrapper li {
+       display: inline;
+       line-height: 3;
+}
+
+.footer-navigation-wrapper li a {
+       padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
+       color: var(--footer--color-link);
+}
+
+.footer-navigation-wrapper li a:link,
+.footer-navigation-wrapper li a:visited,
+.footer-navigation-wrapper li a:active {
+       color: var(--footer--color-link);
+}
+
+.footer-navigation-wrapper li a:hover {
+       text-decoration: underline;
+       text-decoration-style: dotted;
+       text-decoration-skip-ink: none;
+       color: var(--footer--color-link-hover);
+}
+
+.is-dark-theme .footer-navigation-wrapper li a:focus .svg-icon {
+       fill: var(--wp--style--color--link, var(--global--color-background));
+}
+
+.has-background-white .footer-navigation-wrapper li a:focus .svg-icon {
+       fill: var(--wp--style--color--link, var(--global--color-white));
+}
+
+.footer-navigation-wrapper li .svg-icon {
+       vertical-align: middle;
+       fill: var(--footer--color-link);
+}
+
+.footer-navigation-wrapper li .svg-icon:hover {
+       transform: scale(1.1);
+}
+@media (prefers-reduced-motion: no-preference) {
+
+       .footer-navigation-wrapper li .svg-icon {
+               transition: transform 0.1s ease;
+       }
+}
+
+.footer-navigation-wrapper .sub-menu-toggle,
+.footer-navigation-wrapper .menu-item-description {
+       display: none;
+}
+
+/* Next/Previous navigation */
+.navigation {
+       color: var(--global--color-primary);
+}
+
+.navigation a {
+       color: var(--global--color-primary);
+       text-decoration: none;
+}
+
+.navigation a:hover {
+       color: var(--global--color-primary-hover);
+       text-decoration: underline;
+       text-decoration-style: dotted;
+}
+
+.navigation a:focus {
+       color: var(--global--color-secondary);
+}
+
+.navigation a:active {
+       color: var(--global--color-primary);
+}
+
+.navigation .nav-links > * {
+       min-width: 44px;
+       min-height: 44px;
+}
+
+.navigation .nav-links .nav-next a,
+.navigation .nav-links .nav-previous a {
+       display: flex;
+       flex-direction: column;
+}
+
+.navigation .nav-links .dots {
+       text-align: center;
+}
+@media only screen and (min-width: 592px) {
+
+       .navigation .nav-links {
+               display: flex;
+               justify-content: center;
+               flex-wrap: wrap;
+       }
+
+       .navigation .nav-links .nav-next,
+       .navigation .nav-links .nav-previous {
+               flex: 0 1 auto;
+               margin-bottom: inherit;
+               margin-top: inherit;
+               max-width: calc(50% - 0.5 * var(--global--spacing-unit));
+       }
+
+       .navigation .nav-links .nav-next {
+               text-align: right;
+       }
+}
+
+.navigation .svg-icon {
+       display: inline-block;
+       fill: currentColor;
+       vertical-align: middle;
+       position: relative;
+}
+
+.navigation .nav-previous .svg-icon,
+.navigation .prev .svg-icon {
+       top: -2px;
+       margin-right: calc(0.25 * var(--global--spacing-unit));
+}
+
+.navigation .nav-next .svg-icon,
+.navigation .next .svg-icon {
+       top: -1px;
+       margin-left: calc(0.25 * var(--global--spacing-unit));
+}
+
+.post-navigation {
+       margin: var(--global--spacing-vertical) auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .post-navigation {
+               margin: var(--global--spacing-vertical) auto;
+       }
+}
+
+.post-navigation .meta-nav {
+       line-height: var(--global--line-height-body);
+       color: var(--global--color-primary);
+}
+
+.post-navigation .post-title {
+       display: inline-block;
+       font-family: var(--global--font-primary);
+       font-size: var(--global--font-size-lg);
+       font-weight: var(--pagination--font-weight-strong);
+       line-height: var(--global--line-height-heading);
+}
+@media only screen and (min-width: 822px) {
+
+       .post-navigation .post-title {
+               margin: 5px calc(24px + 0.25 * var(--global--spacing-unit)) 0;
+       }
+}
+@media only screen and (min-width: 482px) {
+
+       .post-navigation .nav-links {
+               justify-content: space-between;
+       }
+}
+
+.post-navigation .nav-next,
+.post-navigation .nav-previous {
+       margin-top: var(--global--spacing-vertical);
+       margin-bottom: var(--global--spacing-vertical);
+}
+
+.post-navigation .nav-next:first-child,
+.post-navigation .nav-previous:first-child {
+       margin-top: 0;
+}
+
+.post-navigation .nav-next:last-child,
+.post-navigation .nav-previous:last-child {
+       margin-bottom: 0;
+}
+
+.pagination,
+.comments-pagination {
+       border-top: 3px solid var(--global--color-border);
+       padding-top: var(--global--spacing-vertical);
+       margin: var(--global--spacing-vertical) auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .pagination,
+       .comments-pagination {
+               margin: var(--global--spacing-vertical) auto;
+       }
+}
+
+.pagination .nav-links,
+.comments-pagination .nav-links {
+       margin-top: calc(-1 * var(--global--spacing-vertical));
+}
+
+.pagination .nav-links a:hover,
+.comments-pagination .nav-links a:hover {
+       color: var(--pagination--color-link-hover);
+}
+
+.is-dark-theme .pagination .nav-links a:active,
+.is-dark-theme .pagination .nav-links a:hover:active,
+.is-dark-theme .pagination .nav-links a:hover:focus,
+.is-dark-theme .comments-pagination .nav-links a:active,
+.is-dark-theme .comments-pagination .nav-links a:hover:active,
+.is-dark-theme .comments-pagination .nav-links a:hover:focus {
+       color: var(--global--color-background);
+}
+
+.has-background-white .pagination .nav-links a:active,
+.has-background-white .pagination .nav-links a:hover:active,
+.has-background-white .pagination .nav-links a:hover:focus,
+.has-background-white .comments-pagination .nav-links a:active,
+.has-background-white .comments-pagination .nav-links a:hover:active,
+.has-background-white .comments-pagination .nav-links a:hover:focus {
+       color: var(--global--color-white);
+}
+
+.pagination .nav-links > *,
+.comments-pagination .nav-links > * {
+       color: var(--pagination--color-text);
+       font-family: var(--pagination--font-family);
+       font-size: var(--pagination--font-size);
+       font-weight: var(--pagination--font-weight);
+       margin-top: var(--global--spacing-vertical);
+       margin-left: calc(0.66 * var(--global--spacing-unit));
+       margin-right: calc(0.66 * var(--global--spacing-unit));
+}
+
+.pagination .nav-links > *.current,
+.comments-pagination .nav-links > *.current {
+       text-decoration: underline;
+}
+
+.pagination .nav-links > *:not(.dots):not(.current):hover,
+.comments-pagination .nav-links > *:not(.dots):not(.current):hover {
+       text-decoration-style: dotted;
+}
+
+.pagination .nav-links > *:first-child,
+.comments-pagination .nav-links > *:first-child {
+       margin-left: 0;
+}
+
+.pagination .nav-links > *:last-child,
+.comments-pagination .nav-links > *:last-child {
+       margin-right: 0;
+}
+
+.pagination .nav-links > *.next,
+.comments-pagination .nav-links > *.next {
+       margin-left: auto;
+}
+
+.pagination .nav-links > *.prev,
+.comments-pagination .nav-links > *.prev {
+       margin-right: auto;
+}
+@media only screen and (max-width: 821px) {
+
+       .pagination .nav-links,
+       .comments-pagination .nav-links {
+               display: flex;
+               flex-wrap: wrap;
+       }
+
+       .pagination .page-numbers,
+       .comments-pagination .page-numbers {
+               display: none;
+       }
+
+       .pagination .page-numbers.prev,
+       .pagination .page-numbers.next,
+       .comments-pagination .page-numbers.prev,
+       .comments-pagination .page-numbers.next {
+               display: inline-block;
+               flex: 0 1 auto;
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .pagination .nav-short,
+       .comments-pagination .nav-short {
+               display: none;
+       }
+}
+
+.comments-pagination {
+       padding-top: calc(0.66 * var(--global--spacing-vertical));
+       margin: calc(3 * var(--global--spacing-vertical)) auto;
+}
+@media only screen and (min-width: 822px) {
+
+       .comments-pagination {
+               margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto;
+       }
+}
+
+.comments-pagination .nav-links > * {
+       font-size: var(--global--font-size-md);
+}
+
+.widget-area {
+       margin-top: calc(6 * var(--global--spacing-vertical));
+       padding-bottom: calc(var(--global--spacing-vertical) / 3);
+       color: var(--footer--color-text);
+       font-size: var(--footer--font-size);
+       font-family: var(--footer--font-family);
+}
+@media only screen and (min-width: 652px) {
+
+       .widget-area {
+               display: grid;
+               grid-template-columns: repeat(2, 1fr);
+               column-gap: calc(2 * var(--global--spacing-horizontal));
+       }
+}
+@media only screen and (min-width: 1024px) {
+
+       .widget-area {
+               grid-template-columns: repeat(3, 1fr);
+       }
+}
+@media only screen and (max-width: 481px) {
+
+       .widget-area {
+               margin-top: calc(3 * var(--global--spacing-vertical));
+       }
+}
+
+.widget-area .wp-block-social-links.alignright {
+       margin-top: var(--global--spacing-vertical);
+       justify-content: flex-end;
+}
+
+.widget-area .wp-block-social-links.alignleft {
+       margin-top: var(--global--spacing-vertical);
+}
+
+.widget-area:after {
+       content: "";
+       display: table;
+       clear: both;
+}
+
+.widget h1,
+.widget h2,
+.widget h3,
+.widget h4,
+.widget h5,
+.widget h6 {
+       font-weight: var(--widget--font-weight-title);
+       line-height: var(--widget--line-height-title);
+}
+
+.widget h1 {
+       font-size: var(--global--font-size-md);
+}
+
+.widget h2 {
+       font-size: var(--global--font-size-sm);
+}
+
+.widget h3 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget h4 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget h5 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget h6 {
+       font-size: var(--global--font-size-xs);
+}
+
+.widget ul {
+       list-style-type: none;
+       padding: 0;
+}
+
+.widget ul li {
+       line-height: var(--widget--line-height-list);
+}
+
+.widget ul.sub-menu,
+.widget ul.children {
+       margin-left: var(--widget--spacing-menu);
+}
+
+.widget ul .sub-menu-toggle {
+       display: none;
+}
+
+.widget a {
+       color: var(--footer--color-link);
+       text-decoration: underline;
+       text-decoration-style: solid;
+       text-decoration-color: currentColor;
+}
+
+.widget a:link,
+.widget a:visited,
+.widget a:active {
+       color: var(--footer--color-link);
+}
+
+.widget a:hover {
+       color: var(--footer--color-link-hover);
+       text-decoration-style: dotted;
+}
+
+.search-form {
+       display: flex;
+       flex-wrap: wrap;
+       margin: auto;
+       max-width: var(--responsive--aligndefault-width);
+}
+
+.search-form > label {
+       width: 100%;
+       margin-bottom: 0;
+       font-weight: var(--form--label-weight);
+}
+
+.search-form .search-field {
+       flex-grow: 1;
+       max-width: inherit;
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+       margin-right: calc(0.66 * var(--global--spacing-horizontal));
+}
+
+.search-form .search-submit {
+       margin-top: calc(var(--global--spacing-vertical) / 3);
+       margin-left: 10px;
+}
+
+.widget_search > .search-form .search-field {
+       margin-right: calc(-1 * var(--button--border-width));
+       -webkit-appearance: none;
+       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+}
+
+.widget_search > .search-form .search-submit {
+       margin-left: 0;
+       margin-bottom: calc(0.5 * var(--global--spacing-vertical));
+}
+
+.widget_rss a.rsswidget .rss-widget-icon {
+       display: none;
+}
+
+/* Category 07 is for any utility classes that are not assigned to a specific component. */
+.screen-reader-text {
+       border: 0;
+       clip: rect(1px, 1px, 1px, 1px);
+       -webkit-clip-path: inset(50%);
+       clip-path: inset(50%);
+       height: 1px;
+       margin: -1px;
+       overflow: hidden;
+       padding: 0;
+       position: absolute !important;
+       width: 1px;
+       word-wrap: normal !important;
+       word-break: normal;
+}
+
+.skip-link:focus {
+       background-color: #f1f1f1;
+       border-radius: 3px;
+       box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
+       clip: auto !important;
+       -webkit-clip-path: none;
+       clip-path: none;
+       color: #21759b;
+       display: block;
+       font-size: 0.875rem;
+       font-weight: 700;
+       height: auto;
+       left: 5px;
+       line-height: normal;
+       padding: 15px 23px 14px;
+       text-decoration: none;
+       top: 5px;
+       width: auto;
+       z-index: 100000;
+}
+
+/* Do not show the outline on the skip link target. */
+#content[tabindex="-1"]:focus {
+       outline: 0;
+}
+
+.has-black-color[class] {
+       color: var(--global--color-black);
+}
+
+.has-black-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-black, #000);
+       color: var(--local--color-primary);
+}
+
+.has-gray-color[class] {
+       color: var(--global--color-gray);
+}
+
+.has-gray-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-gray, #000);
+       color: var(--local--color-primary);
+}
+
+.has-dark-gray-color[class] {
+       color: var(--global--color-dark-gray);
+}
+
+.has-dark-gray-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-dark-gray, #000);
+       color: var(--local--color-primary);
+}
+
+.has-green-color[class] {
+       color: var(--global--color-green);
+}
+
+.has-green-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-green, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-blue-color[class] {
+       color: var(--global--color-blue);
+}
+
+.has-blue-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-blue, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-purple-color[class] {
+       color: var(--global--color-purple);
+}
+
+.has-purple-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-purple, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-red-color[class] {
+       color: var(--global--color-red);
+}
+
+.has-red-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-red, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-orange-color[class] {
+       color: var(--global--color-orange);
+}
+
+.has-orange-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-orange, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-yellow-color[class] {
+       color: var(--global--color-yellow);
+}
+
+.has-yellow-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-yellow, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-white-color[class] {
+       color: var(--global--color-white);
+}
+
+.has-white-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-white, #fff);
+       color: var(--local--color-primary);
+}
+
+.has-background a,
+.has-background p,
+.has-background h1,
+.has-background h2,
+.has-background h3,
+.has-background h4,
+.has-background h5,
+.has-background h6 {
+       color: currentColor;
+}
+
+.has-black-background-color[class] {
+       background-color: var(--global--color-black);
+}
+
+.has-black-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-black, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-dark-gray-background-color[class] {
+       background-color: var(--global--color-dark-gray);
+}
+
+.has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-dark-gray, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-gray-background-color[class] {
+       background-color: var(--global--color-gray);
+}
+
+.has-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-gray, #000);
+       background-color: var(--local--color-background);
+}
+
+.has-light-gray-background-color[class] {
+       background-color: var(--global--color-light-gray);
+}
+
+.has-light-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-light-gray, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-green-background-color[class] {
+       background-color: var(--global--color-green);
+}
+
+.has-green-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-green, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-blue-background-color[class] {
+       background-color: var(--global--color-blue);
+}
+
+.has-blue-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-blue, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-purple-background-color[class] {
+       background-color: var(--global--color-purple);
+}
+
+.has-purple-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-purple, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-red-background-color[class] {
+       background-color: var(--global--color-red);
+}
+
+.has-red-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-red, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-orange-background-color[class] {
+       background-color: var(--global--color-orange);
+}
+
+.has-orange-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-orange, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-yellow-background-color[class] {
+       background-color: var(--global--color-yellow);
+}
+
+.has-yellow-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-yellow, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-white-background-color[class] {
+       background-color: var(--global--color-white);
+}
+
+.has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-background: var(--global--color-white, #fff);
+       background-color: var(--local--color-background);
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class],
+.has-background:not(.has-text-color).has-gray-background-color[class],
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] {
+       color: var(--global--color-white);
+}
+
+.has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-background, #fff);
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.is-dark-theme .has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-primary, #000);
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class],
+.has-background:not(.has-text-color).has-blue-background-color[class],
+.has-background:not(.has-text-color).has-purple-background-color[class],
+.has-background:not(.has-text-color).has-red-background-color[class],
+.has-background:not(.has-text-color).has-orange-background-color[class],
+.has-background:not(.has-text-color).has-yellow-background-color[class],
+.has-background:not(.has-text-color).has-white-background-color[class] {
+       color: var(--global--color-dark-gray);
+}
+
+.has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
+.has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-primary, #000);
+       color: var(--local--color-primary, var(--global--color-primary));
+}
+
+.is-dark-theme .has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
+.is-dark-theme .has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
+       --local--color-primary: var(--global--color-background, #fff);
+}
+
+.has-purple-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-yellow));
+}
+
+.has-yellow-to-purple-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-purple));
+}
+
+.has-green-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-green), var(--global--color-yellow));
+}
+
+.has-yellow-to-green-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-green));
+}
+
+.has-red-to-yellow-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-red), var(--global--color-yellow));
+}
+
+.has-yellow-to-red-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-red));
+}
+
+.has-purple-to-red-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-red));
+}
+
+.has-red-to-purple-gradient-background {
+       background: linear-gradient(160deg, var(--global--color-red), var(--global--color-purple));
+}
+
+header *,
+main *,
+footer * {
+       max-width: var(--global--spacing-measure);
+}
+
+html,
+body,
+div,
+header,
+nav,
+article,
+figure,
+hr,
+main,
+section,
+footer {
+       max-width: none;
+}
+
+.is-IE.is-dark-theme {
+       color: #fff;
+}
+
+.is-IE.is-dark-theme *,
+.is-IE.is-dark-theme a,
+.is-IE.is-dark-theme .site-description,
+.is-IE.is-dark-theme .entry-title,
+.is-IE.is-dark-theme .entry-footer,
+.is-IE.is-dark-theme .widget-area,
+.is-IE.is-dark-theme .post-navigation .meta-nav,
+.is-IE.is-dark-theme .footer-navigation-wrapper li a:link,
+.is-IE.is-dark-theme .site-footer > .site-info,
+.is-IE.is-dark-theme .site-footer > .site-info a,
+.is-IE.is-dark-theme .site-footer > .site-info a:visited {
+       color: #fff;
+}
+
+.is-IE.is-dark-theme .sub-menu-toggle svg,
+.is-IE.is-dark-theme .sub-menu-toggle path,
+.is-IE.is-dark-theme .post-navigation .meta-nav svg,
+.is-IE.is-dark-theme .post-navigation .meta-nav path {
+       fill: #fff;
+}
+
+.is-IE.is-dark-theme .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
+       background: #000;
+}
+@media only screen and (max-width: 481px) {
+
+       .is-IE.is-dark-theme.primary-navigation-open .primary-navigation > .primary-menu-container,
+       .is-IE.is-dark-theme.primary-navigation-open .menu-button-container {
+               background-color: #000;
+       }
+}
+
+.is-IE.is-dark-theme .skip-link:focus {
+       color: #21759b;
+}
+
+.is-IE .navigation .nav-links {
+       display: block;
+}
+
+.is-IE .post-thumbnail .wp-post-image {
+       min-width: auto;
+}
diff --git a/wp-content/themes/twentytwentyone/template-parts/content/content-excerpt.php b/wp-content/themes/twentytwentyone/template-parts/content/content-excerpt.php
new file mode 100644 (file)
index 0000000..68f0968
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Template part for displaying post archives and search results
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+
+<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+
+       <?php get_template_part( 'template-parts/header/excerpt-header', get_post_format() ); ?>
+
+       <div class="entry-content">
+               <?php get_template_part( 'template-parts/excerpt/excerpt', get_post_format() ); ?>
+       </div><!-- .entry-content -->
+
+       <footer class="entry-footer default-max-width">
+               <?php twenty_twenty_one_entry_meta_footer(); ?>
+       </footer><!-- .entry-footer -->
+</article><!-- #post-${ID} -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/content/content-none.php b/wp-content/themes/twentytwentyone/template-parts/content/content-none.php
new file mode 100644 (file)
index 0000000..7d34f47
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Template part for displaying a message that posts cannot be found
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+
+<section class="no-results not-found">
+       <header class="page-header alignwide">
+               <?php if ( is_search() ) : ?>
+
+                       <h1 class="page-title">
+                               <?php
+                               printf(
+                                       /* translators: %s: Search term. */
+                                       esc_html__( 'Results for "%s"', 'twentytwentyone' ),
+                                       '<span class="page-description search-term">' . esc_html( get_search_query() ) . '</span>'
+                               );
+                               ?>
+                       </h1>
+
+               <?php else : ?>
+
+                       <h1 class="page-title"><?php esc_html_e( 'Nothing here', 'twentytwentyone' ); ?></h1>
+
+               <?php endif; ?>
+       </header><!-- .page-header -->
+
+       <div class="page-content default-max-width">
+
+               <?php if ( is_home() && current_user_can( 'publish_posts' ) ) : ?>
+
+                       <?php
+                       printf(
+                               '<p>' . wp_kses(
+                                       /* translators: %s: Link to WP admin new post page. */
+                                       __( 'Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwentyone' ),
+                                       array(
+                                               'a' => array(
+                                                       'href' => array(),
+                                               ),
+                                       )
+                               ) . '</p>',
+                               esc_url( admin_url( 'post-new.php' ) )
+                       );
+                       ?>
+
+               <?php elseif ( is_search() ) : ?>
+
+                       <p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentytwentyone' ); ?></p>
+                       <?php get_search_form(); ?>
+
+               <?php else : ?>
+
+                       <p><?php esc_html_e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'twentytwentyone' ); ?></p>
+                       <?php get_search_form(); ?>
+
+               <?php endif; ?>
+       </div><!-- .page-content -->
+</section><!-- .no-results -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/content/content-page.php b/wp-content/themes/twentytwentyone/template-parts/content/content-page.php
new file mode 100644 (file)
index 0000000..0ac7ae9
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Template part for displaying page content in page.php
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+
+<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+
+       <?php if ( ! is_front_page() ) : ?>
+               <header class="entry-header alignwide">
+                       <?php get_template_part( 'template-parts/header/entry-header' ); ?>
+                       <?php twenty_twenty_one_post_thumbnail(); ?>
+               </header><!-- .entry-header -->
+       <?php elseif ( has_post_thumbnail() ) : ?>
+               <header class="entry-header alignwide">
+                       <?php twenty_twenty_one_post_thumbnail(); ?>
+               </header><!-- .entry-header -->
+       <?php endif; ?>
+
+       <div class="entry-content">
+               <?php
+               the_content();
+
+               wp_link_pages(
+                       array(
+                               'before'   => '<nav class="page-links" aria-label="' . esc_attr__( 'Page', 'twentytwentyone' ) . '">',
+                               'after'    => '</nav>',
+                               /* translators: %: Page number. */
+                               'pagelink' => esc_html__( 'Page %', 'twentytwentyone' ),
+                       )
+               );
+               ?>
+       </div><!-- .entry-content -->
+
+       <?php if ( get_edit_post_link() ) : ?>
+               <footer class="entry-footer default-max-width">
+                       <?php
+                       edit_post_link(
+                               sprintf(
+                                       /* translators: %s: Post title. Only visible to screen readers. */
+                                       esc_html__( 'Edit %s', 'twentytwentyone' ),
+                                       '<span class="screen-reader-text">' . get_the_title() . '</span>'
+                               ),
+                               '<span class="edit-link">',
+                               '</span>'
+                       );
+                       ?>
+               </footer><!-- .entry-footer -->
+       <?php endif; ?>
+</article><!-- #post-<?php the_ID(); ?> -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/content/content-single.php b/wp-content/themes/twentytwentyone/template-parts/content/content-single.php
new file mode 100644 (file)
index 0000000..c430c8d
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Template part for displaying posts
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+
+<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+
+       <header class="entry-header alignwide">
+               <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
+               <?php twenty_twenty_one_post_thumbnail(); ?>
+       </header><!-- .entry-header -->
+
+       <div class="entry-content">
+               <?php
+               the_content();
+
+               wp_link_pages(
+                       array(
+                               'before'   => '<nav class="page-links" aria-label="' . esc_attr__( 'Page', 'twentytwentyone' ) . '">',
+                               'after'    => '</nav>',
+                               /* translators: %: Page number. */
+                               'pagelink' => esc_html__( 'Page %', 'twentytwentyone' ),
+                       )
+               );
+               ?>
+       </div><!-- .entry-content -->
+
+       <footer class="entry-footer default-max-width">
+               <?php twenty_twenty_one_entry_meta_footer(); ?>
+       </footer><!-- .entry-footer -->
+
+       <?php if ( ! is_singular( 'attachment' ) ) : ?>
+               <?php get_template_part( 'template-parts/post/author-bio' ); ?>
+       <?php endif; ?>
+
+</article><!-- #post-<?php the_ID(); ?> -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/content/content.php b/wp-content/themes/twentytwentyone/template-parts/content/content.php
new file mode 100644 (file)
index 0000000..295db40
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Template part for displaying posts
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+
+<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+       <header class="entry-header">
+               <?php if ( is_singular() ) : ?>
+                       <?php the_title( '<h1 class="entry-title default-max-width">', '</h1>' ); ?>
+               <?php else : ?>
+                       <?php the_title( sprintf( '<h2 class="entry-title default-max-width"><a href="%s">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
+               <?php endif; ?>
+
+               <?php twenty_twenty_one_post_thumbnail(); ?>
+       </header><!-- .entry-header -->
+
+       <div class="entry-content">
+               <?php
+               the_content(
+                       twenty_twenty_one_continue_reading_text()
+               );
+
+               wp_link_pages(
+                       array(
+                               'before'   => '<nav class="page-links" aria-label="' . esc_attr__( 'Page', 'twentytwentyone' ) . '">',
+                               'after'    => '</nav>',
+                               /* translators: %: Page number. */
+                               'pagelink' => esc_html__( 'Page %', 'twentytwentyone' ),
+                       )
+               );
+
+               ?>
+       </div><!-- .entry-content -->
+
+       <footer class="entry-footer default-max-width">
+               <?php twenty_twenty_one_entry_meta_footer(); ?>
+       </footer><!-- .entry-footer -->
+</article><!-- #post-<?php the_ID(); ?> -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-aside.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-aside.php
new file mode 100644 (file)
index 0000000..9b0d05e
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Show the appropriate content for the Aside post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// Print the full content.
+the_content();
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-audio.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-audio.php
new file mode 100644 (file)
index 0000000..17596db
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Show the appropriate content for the Audio post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+$content = get_the_content();
+
+if ( has_block( 'core/audio', $content ) ) {
+       twenty_twenty_one_print_first_instance_of_block( 'core/audio', $content );
+} elseif ( has_block( 'core/embed', $content ) ) {
+       twenty_twenty_one_print_first_instance_of_block( 'core/embed', $content );
+} else {
+       twenty_twenty_one_print_first_instance_of_block( 'core-embed/*', $content );
+}
+
+// Add the excerpt.
+the_excerpt();
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-chat.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-chat.php
new file mode 100644 (file)
index 0000000..28519c3
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Show the appropriate content for the Chat post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// If there are paragraph blocks, print up to two.
+// Otherwise this is legacy content, so print the excerpt.
+if ( has_block( 'core/paragraph', get_the_content() ) ) {
+
+       twenty_twenty_one_print_first_instance_of_block( 'core/paragraph', get_the_content(), 2 );
+} else {
+
+       the_excerpt();
+}
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-gallery.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-gallery.php
new file mode 100644 (file)
index 0000000..4f2e953
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Show the appropriate content for the Gallery post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// Print the 1st gallery found.
+if ( has_block( 'core/gallery', get_the_content() ) ) {
+
+       twenty_twenty_one_print_first_instance_of_block( 'core/gallery', get_the_content() );
+}
+
+the_excerpt();
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-image.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-image.php
new file mode 100644 (file)
index 0000000..3c0d5aa
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Show the appropriate content for the Image post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// If there is no featured-image, print the first image block found.
+if (
+       ! twenty_twenty_one_can_show_post_thumbnail() &&
+       has_block( 'core/image', get_the_content() )
+) {
+
+       twenty_twenty_one_print_first_instance_of_block( 'core/image', get_the_content() );
+}
+
+the_excerpt();
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-link.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-link.php
new file mode 100644 (file)
index 0000000..b658ad8
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Show the appropriate content for the Link post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// Print the 1st instance of a paragraph block. If none is found, print the content.
+if ( has_block( 'core/paragraph', get_the_content() ) ) {
+
+       twenty_twenty_one_print_first_instance_of_block( 'core/paragraph', get_the_content() );
+} else {
+
+       the_content();
+}
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-quote.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-quote.php
new file mode 100644 (file)
index 0000000..1c62957
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Show the appropriate content for the Quote post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+$content = get_the_content();
+
+// If there is no quote or pullquote print the content.
+if ( has_block( 'core/quote', $content ) ) {
+       twenty_twenty_one_print_first_instance_of_block( 'core/quote', $content );
+} elseif ( has_block( 'core/pullquote', $content ) ) {
+       twenty_twenty_one_print_first_instance_of_block( 'core/pullquote', $content );
+} else {
+       the_excerpt();
+}
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-status.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-status.php
new file mode 100644 (file)
index 0000000..5a44be9
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Show the appropriate content for the Status post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// Print the full content.
+the_content();
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-video.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt-video.php
new file mode 100644 (file)
index 0000000..5af721a
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Show the appropriate content for the Video post format.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+$content = get_the_content();
+
+if ( has_block( 'core/video', $content ) ) {
+       twenty_twenty_one_print_first_instance_of_block( 'core/video', $content );
+} elseif ( has_block( 'core/embed', $content ) ) {
+       twenty_twenty_one_print_first_instance_of_block( 'core/embed', $content );
+} else {
+       twenty_twenty_one_print_first_instance_of_block( 'core-embed/*', $content );
+}
+
+// Add the excerpt.
+the_excerpt();
diff --git a/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt.php b/wp-content/themes/twentytwentyone/template-parts/excerpt/excerpt.php
new file mode 100644 (file)
index 0000000..8d39279
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Show the excerpt.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+the_excerpt();
diff --git a/wp-content/themes/twentytwentyone/template-parts/footer/footer-widgets.php b/wp-content/themes/twentytwentyone/template-parts/footer/footer-widgets.php
new file mode 100644 (file)
index 0000000..cbc113a
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Displays the footer widget area.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
+
+       <aside class="widget-area">
+               <?php dynamic_sidebar( 'sidebar-1' ); ?>
+       </aside><!-- .widget-area -->
+
+       <?php
+endif;
diff --git a/wp-content/themes/twentytwentyone/template-parts/header/entry-header.php b/wp-content/themes/twentytwentyone/template-parts/header/entry-header.php
new file mode 100644 (file)
index 0000000..a7620cd
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Displays the post header
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+the_title( '<h1 class="entry-title">', '</h1>' );
diff --git a/wp-content/themes/twentytwentyone/template-parts/header/excerpt-header.php b/wp-content/themes/twentytwentyone/template-parts/header/excerpt-header.php
new file mode 100644 (file)
index 0000000..616a789
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Displays the post header
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+// Don't show the title if the post-format is `aside` or `status`.
+$post_format = get_post_format();
+if ( 'aside' === $post_format || 'status' === $post_format ) {
+       return;
+}
+?>
+
+<header class="entry-header">
+       <?php
+       the_title( sprintf( '<h2 class="entry-title default-max-width"><a href="%s">', esc_url( get_permalink() ) ), '</a></h2>' );
+       twenty_twenty_one_post_thumbnail();
+       ?>
+</header><!-- .entry-header -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/header/site-branding.php b/wp-content/themes/twentytwentyone/template-parts/header/site-branding.php
new file mode 100644 (file)
index 0000000..b07605b
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Displays header site branding
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+$blog_info    = get_bloginfo( 'name' );
+$description  = get_bloginfo( 'description', 'display' );
+$show_title   = ( true === get_theme_mod( 'display_title_and_tagline', true ) );
+$header_class = $show_title ? 'site-title' : 'screen-reader-text';
+
+?>
+
+<?php if ( has_custom_logo() && $show_title ) : ?>
+       <div class="site-logo"><?php the_custom_logo(); ?></div>
+<?php endif; ?>
+
+<div class="site-branding">
+
+       <?php if ( has_custom_logo() && ! $show_title ) : ?>
+               <div class="site-logo"><?php the_custom_logo(); ?></div>
+       <?php endif; ?>
+
+       <?php if ( $blog_info ) : ?>
+               <?php if ( is_front_page() && ! is_paged() ) : ?>
+                       <h1 class="<?php echo esc_attr( $header_class ); ?>"><?php echo esc_html( $blog_info ); ?></h1>
+               <?php elseif ( is_front_page() && ! is_home() ) : ?>
+                       <h1 class="<?php echo esc_attr( $header_class ); ?>"><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php echo esc_html( $blog_info ); ?></a></h1>
+               <?php else : ?>
+                       <p class="<?php echo esc_attr( $header_class ); ?>"><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php echo esc_html( $blog_info ); ?></a></p>
+               <?php endif; ?>
+       <?php endif; ?>
+
+       <?php if ( $description && true === get_theme_mod( 'display_title_and_tagline', true ) ) : ?>
+               <p class="site-description">
+                       <?php echo $description; // phpcs:ignore WordPress.Security.EscapeOutput ?>
+               </p>
+       <?php endif; ?>
+</div><!-- .site-branding -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/header/site-header.php b/wp-content/themes/twentytwentyone/template-parts/header/site-header.php
new file mode 100644 (file)
index 0000000..b0fbbac
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Displays the site header.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+$wrapper_classes  = 'site-header';
+$wrapper_classes .= has_custom_logo() ? ' has-logo' : '';
+$wrapper_classes .= ( true === get_theme_mod( 'display_title_and_tagline', true ) ) ? ' has-title-and-tagline' : '';
+$wrapper_classes .= has_nav_menu( 'primary' ) ? ' has-menu' : '';
+?>
+
+<header id="masthead" class="<?php echo esc_attr( $wrapper_classes ); ?>">
+
+       <?php get_template_part( 'template-parts/header/site-branding' ); ?>
+       <?php get_template_part( 'template-parts/header/site-nav' ); ?>
+
+</header><!-- #masthead -->
diff --git a/wp-content/themes/twentytwentyone/template-parts/header/site-nav.php b/wp-content/themes/twentytwentyone/template-parts/header/site-nav.php
new file mode 100644 (file)
index 0000000..fafeb08
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Displays the site navigation.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+
+<?php if ( has_nav_menu( 'primary' ) ) : ?>
+       <nav id="site-navigation" class="primary-navigation" aria-label="<?php esc_attr_e( 'Primary menu', 'twentytwentyone' ); ?>">
+               <div class="menu-button-container">
+                       <button id="primary-mobile-menu" class="button" aria-controls="primary-menu-list" aria-expanded="false">
+                               <span class="dropdown-icon open"><?php esc_html_e( 'Menu', 'twentytwentyone' ); ?>
+                                       <?php echo twenty_twenty_one_get_icon_svg( 'ui', 'menu' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>
+                               </span>
+                               <span class="dropdown-icon close"><?php esc_html_e( 'Close', 'twentytwentyone' ); ?>
+                                       <?php echo twenty_twenty_one_get_icon_svg( 'ui', 'close' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>
+                               </span>
+                       </button><!-- #primary-mobile-menu -->
+               </div><!-- .menu-button-container -->
+               <?php
+               wp_nav_menu(
+                       array(
+                               'theme_location'  => 'primary',
+                               'menu_class'      => 'menu-wrapper',
+                               'container_class' => 'primary-menu-container',
+                               'items_wrap'      => '<ul id="primary-menu-list" class="%2$s">%3$s</ul>',
+                               'fallback_cb'     => false,
+                       )
+               );
+               ?>
+       </nav><!-- #site-navigation -->
+       <?php
+endif;
diff --git a/wp-content/themes/twentytwentyone/template-parts/post/author-bio.php b/wp-content/themes/twentytwentyone/template-parts/post/author-bio.php
new file mode 100644 (file)
index 0000000..33a82dc
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+/**
+ * The template for displaying author info below posts.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Twenty_One
+ * @since Twenty Twenty-One 1.0
+ */
+
+?>
+<?php if ( (bool) get_the_author_meta( 'description' ) && post_type_supports( get_post_type(), 'author' ) ) : ?>
+       <div class="author-bio <?php echo get_option( 'show_avatars' ) ? 'show-avatars' : ''; ?>">
+               <?php echo get_avatar( get_the_author_meta( 'ID' ), '85' ); ?>
+               <div class="author-bio-content">
+                       <h2 class="author-title">
+                       <?php
+                       printf(
+                               /* translators: %s: Author name. */
+                               esc_html__( 'By %s', 'twentytwentyone' ),
+                               get_the_author()
+                       );
+                       ?>
+                       </h2><!-- .author-title -->
+                       <p class="author-description"> <?php the_author_meta( 'description' ); ?></p><!-- .author-description -->
+                       <?php
+                       printf(
+                               '<a class="author-link" href="%1$s" rel="author">%2$s</a>',
+                               esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
+                               sprintf(
+                                       /* translators: %s: Author name. */
+                                       esc_html__( 'View all of %s\'s posts.', 'twentytwentyone' ),
+                                       get_the_author()
+                               )
+                       );
+                       ?>
+               </div><!-- .author-bio-content -->
+       </div><!-- .author-bio -->
+       <?php
+endif;
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold-Italic.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold-Italic.woff2
new file mode 100644 (file)
index 0000000..e8f4669
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold-Italic.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold.woff2
new file mode 100644 (file)
index 0000000..9a7696d
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Bold.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular-Italic.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular-Italic.woff2
new file mode 100644 (file)
index 0000000..773b727
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular-Italic.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular.woff2
new file mode 100644 (file)
index 0000000..b8f0bd8
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/DMSans-Regular.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/LICENSE.txt b/wp-content/themes/twentytwentythree/assets/fonts/dm-sans/LICENSE.txt
new file mode 100644 (file)
index 0000000..02d522f
--- /dev/null
@@ -0,0 +1,94 @@
+Copyright 2014-2017 Indian Type Foundry (info@indiantypefoundry.com). Copyright 2019 Google LLC.
+Copyright 2014-2018 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. Copyright 2019 Google LLC.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2
new file mode 100644 (file)
index 0000000..6124ae1
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2
new file mode 100644 (file)
index 0000000..21d9681
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2
new file mode 100644 (file)
index 0000000..b714a13
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2
new file mode 100644 (file)
index 0000000..64ad179
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/OFL.txt b/wp-content/themes/twentytwentythree/assets/fonts/ibm-plex-mono/OFL.txt
new file mode 100644 (file)
index 0000000..245d5f4
--- /dev/null
@@ -0,0 +1,93 @@
+Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf b/wp-content/themes/twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf
new file mode 100644 (file)
index 0000000..ec3164e
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/inter/LICENSE.txt b/wp-content/themes/twentytwentythree/assets/fonts/inter/LICENSE.txt
new file mode 100644 (file)
index 0000000..b525cbf
--- /dev/null
@@ -0,0 +1,93 @@
+Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/LICENSE.md b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/LICENSE.md
new file mode 100644 (file)
index 0000000..7cd3e74
--- /dev/null
@@ -0,0 +1,93 @@
+Copyright 2014 - 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+   in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+   redistributed and/or sold with any software, provided that each copy
+   contains the above copyright notice and this license. These can be
+   included either as stand-alone text files, human-readable headers or
+   in the appropriate machine-readable metadata fields within text or
+   binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+   Name(s) unless explicit written permission is granted by the corresponding
+   Copyright Holder. This restriction only applies to the primary font name as
+   presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+   Software shall not be used to promote, endorse or advertise any
+   Modified Version, except to acknowledge the contribution(s) of the
+   Copyright Holder(s) and the Author(s) or with their explicit written
+   permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+   must be distributed entirely under this license, and must not be
+   distributed under any other license. The requirement for fonts to
+   remain under this license does not apply to any document created
+   using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2
new file mode 100644 (file)
index 0000000..2387849
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2
new file mode 100644 (file)
index 0000000..4cbd4c3
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2
new file mode 100644 (file)
index 0000000..28701e6
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2 b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2
new file mode 100644 (file)
index 0000000..3b74d30
Binary files /dev/null and b/wp-content/themes/twentytwentythree/assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2 differ
diff --git a/wp-content/themes/twentytwentythree/parts/comments.html b/wp-content/themes/twentytwentythree/parts/comments.html
new file mode 100644 (file)
index 0000000..a5bc7d8
--- /dev/null
@@ -0,0 +1 @@
+<!-- wp:pattern {"slug":"twentytwentythree/hidden-comments"} /-->
diff --git a/wp-content/themes/twentytwentythree/parts/footer.html b/wp-content/themes/twentytwentythree/parts/footer.html
new file mode 100644 (file)
index 0000000..256c8db
--- /dev/null
@@ -0,0 +1 @@
+<!-- wp:pattern {"slug":"twentytwentythree/footer-default"} /-->
diff --git a/wp-content/themes/twentytwentythree/parts/header.html b/wp-content/themes/twentytwentythree/parts/header.html
new file mode 100644 (file)
index 0000000..8e4f17b
--- /dev/null
@@ -0,0 +1,10 @@
+<!-- wp:group {"layout":{"type":"constrained"}} -->
+<div class="wp-block-group">
+       <!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"bottom":"var:preset|spacing|40"}}},"layout":{"type":"flex","justifyContent":"space-between"}} -->
+       <div class="wp-block-group alignwide" style="padding-bottom:var(--wp--preset--spacing--40)">
+               <!-- wp:site-title {"level":0} /-->
+               <!-- wp:navigation {"layout":{"type":"flex","setCascadingProperties":true,"justifyContent":"right"}} /-->
+       </div>
+       <!-- /wp:group -->
+</div>
+<!-- /wp:group -->
diff --git a/wp-content/themes/twentytwentythree/parts/post-meta.html b/wp-content/themes/twentytwentythree/parts/post-meta.html
new file mode 100644 (file)
index 0000000..de968be
--- /dev/null
@@ -0,0 +1 @@
+<!-- wp:pattern {"slug":"twentytwentythree/post-meta"} /-->
diff --git a/wp-content/themes/twentytwentythree/patterns/call-to-action.php b/wp-content/themes/twentytwentythree/patterns/call-to-action.php
new file mode 100644 (file)
index 0000000..642aa50
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Title: Call to action
+ * Slug: twentytwentythree/cta
+ * Categories: featured
+ * Keywords: Call to action
+ * Block Types: core/buttons
+ */
+?>
+<!-- wp:columns {"align":"wide"} -->
+<div class="wp-block-columns alignwide">
+       <!-- wp:column -->
+       <div class="wp-block-column">
+               <!-- wp:paragraph {"style":{"typography":{"lineHeight":"1.2"}},"fontSize":"x-large"} -->
+               <p class="has-x-large-font-size" style="line-height:1.2"><?php echo esc_html_x( 'Got any book recommendations?', 'sample content for call to action', 'twentytwentythree' ); ?>
+               </p>
+               <!-- /wp:paragraph -->
+
+               <!-- wp:buttons -->
+               <div class="wp-block-buttons">
+                       <!-- wp:button {"fontSize":"small"} -->
+                       <div class="wp-block-button has-custom-font-size has-small-font-size">
+                               <a class="wp-block-button__link wp-element-button">
+                               <?php echo esc_html_x( 'Get In Touch', 'sample content for call to action button', 'twentytwentythree' ); ?>
+                               </a>
+                       </div>
+                       <!-- /wp:button -->
+               </div>
+               <!-- /wp:buttons -->
+       </div>
+       <!-- /wp:column -->
+
+       <!-- wp:column -->
+       <div class="wp-block-column">
+               <!-- wp:separator -->
+               <hr class="wp-block-separator has-alpha-channel-opacity"/>
+               <!-- /wp:separator -->
+       </div>
+       <!-- /wp:column -->
+</div>
+<!-- /wp:columns -->
diff --git a/wp-content/themes/twentytwentythree/patterns/footer-default.php b/wp-content/themes/twentytwentythree/patterns/footer-default.php
new file mode 100644 (file)
index 0000000..d197bf5
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Title: Default Footer
+ * Slug: twentytwentythree/footer-default
+ * Categories: footer
+ * Block Types: core/template-part/footer
+ */
+?>
+<!-- wp:group {"layout":{"type":"constrained"}} -->
+<div class="wp-block-group">
+       <!-- wp:group {"align":"wide","style":{"spacing":{"padding":{"top":"var:preset|spacing|40"}}},"layout":{"type":"flex","justifyContent":"space-between"}} -->
+       <div class="wp-block-group alignwide" style="padding-top:var(--wp--preset--spacing--40)">
+               <!-- wp:site-title {"level":0} /-->
+               <!-- wp:paragraph {"align":"right"} -->
+               <p class="has-text-align-right">
+               <?php
+               printf(
+                       /* Translators: WordPress link. */
+                       esc_html__( 'Proudly powered by %s', 'twentytwentythree' ),
+                       '<a href="' . esc_url( __( 'https://wordpress.org', 'twentytwentythree' ) ) . '" rel="nofollow">WordPress</a>'
+               )
+               ?>
+               </p>
+               <!-- /wp:paragraph -->
+       </div>
+       <!-- /wp:group -->
+</div>
+<!-- /wp:group -->
diff --git a/wp-content/themes/twentytwentythree/patterns/hidden-404.php b/wp-content/themes/twentytwentythree/patterns/hidden-404.php
new file mode 100644 (file)
index 0000000..ae7dbb1
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Title: Hidden 404
+ * Slug: twentytwentythree/hidden-404
+ * Inserter: no
+ */
+?>
+<!-- wp:spacer {"height":"var(--wp--preset--spacing--30)"} -->
+<div style="height:var(--wp--preset--spacing--30)" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->
+
+<!-- wp:heading {"level":1,"align":"wide"} -->
+<h1 class="alignwide"><?php echo esc_html_x( '404', 'Error code for a webpage that is not found.', 'twentytwentythree' ); ?></h1>
+<!-- /wp:heading -->
+
+<!-- wp:group {"align":"wide","layout":{"type":"default"},"style":{"spacing":{"margin":{"top":"5px"}}}} -->
+<div class="wp-block-group alignwide" style="margin-top:5px">
+       <!-- wp:paragraph -->
+       <p><?php echo esc_html_x( 'This page could not be found.', 'Message to convey that a webpage could not be found', 'twentytwentythree' ); ?></p>
+       <!-- /wp:paragraph -->
+
+       <!-- wp:search {"label":"<?php echo esc_html_x( 'Search', 'label', 'twentytwentythree' ); ?>","placeholder":"<?php echo esc_attr_x( 'Search...', 'placeholder for search field', 'twentytwentythree' ); ?>","showLabel":false,"width":100,"widthUnit":"%","buttonText":"<?php esc_attr_e( 'Search', 'twentytwentythree' ); ?>","buttonUseIcon":true,"align":"center"} /-->
+</div>
+<!-- /wp:group -->
+
+<!-- wp:spacer {"height":"var(--wp--preset--spacing--70)"} -->
+<div style="height:var(--wp--preset--spacing--70)" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->
diff --git a/wp-content/themes/twentytwentythree/patterns/hidden-comments.php b/wp-content/themes/twentytwentythree/patterns/hidden-comments.php
new file mode 100644 (file)
index 0000000..84d4a78
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Title: Hidden Comments
+ * Slug: twentytwentythree/hidden-comments
+ * Inserter: no
+ */
+?>
+<!-- wp:group {"layout":{"type":"constrained"},"style":{"spacing":{"padding":{"top":"var:preset|spacing|40","right":"var:preset|spacing|40","bottom":"var:preset|spacing|40","left":"var:preset|spacing|40"}}}} -->
+<div class="wp-block-group" style="padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)">
+       <!-- wp:comments -->
+       <div class="wp-block-comments">
+               <!-- wp:heading {"level":2} -->
+               <h2><?php echo esc_html_x( 'Comments', 'Title of comments section', 'twentytwentythree' ); ?></h2>
+               <!-- /wp:heading -->
+
+               <!-- wp:comments-title {"level":3} /-->
+
+               <!-- wp:comment-template -->
+                       <!-- wp:columns {"style":{"spacing":{"margin":{"bottom":"var:preset|spacing|40"}}}} -->
+                       <div class="wp-block-columns" style="margin-bottom:var(--wp--preset--spacing--40)">
+                               <!-- wp:column {"width":"40px"} -->
+                               <div class="wp-block-column" style="flex-basis:40px">
+                                       <!-- wp:avatar {"size":40,"style":{"border":{"radius":"20px"}}} /-->
+                               </div>
+                               <!-- /wp:column -->
+
+                               <!-- wp:column -->
+                               <div class="wp-block-column">
+                                       <!-- wp:comment-author-name /-->
+
+                                       <!-- wp:group {"style":{"spacing":{"margin":{"top":"0px","bottom":"0px"}}},"layout":{"type":"flex"}} -->
+                                       <div class="wp-block-group" style="margin-top:0px;margin-bottom:0px">
+                                               <!-- wp:comment-date /-->
+                                               <!-- wp:comment-edit-link /-->
+                                       </div>
+                                       <!-- /wp:group -->
+
+                                       <!-- wp:comment-content /-->
+
+                                       <!-- wp:comment-reply-link /-->
+                               </div>
+                               <!-- /wp:column -->
+                       </div>
+                       <!-- /wp:columns -->
+               <!-- /wp:comment-template -->
+
+               <!-- wp:comments-pagination {"paginationArrow":"arrow","layout":{"type":"flex","justifyContent":"space-between"}} -->
+                       <!-- wp:comments-pagination-previous /-->
+                       <!-- wp:comments-pagination-numbers /-->
+                       <!-- wp:comments-pagination-next /-->
+               <!-- /wp:comments-pagination -->
+
+       <!-- wp:post-comments-form /-->
+       </div>
+       <!-- /wp:comments -->
+</div>
+<!-- /wp:group -->
diff --git a/wp-content/themes/twentytwentythree/patterns/hidden-no-results.php b/wp-content/themes/twentytwentythree/patterns/hidden-no-results.php
new file mode 100644 (file)
index 0000000..d3f7ae0
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Title: Hidden No Results Content
+ * Slug: twentytwentythree/hidden-no-results-content
+ * Inserter: no
+ */
+?>
+<!-- wp:paragraph -->
+<p>
+<?php echo esc_html_x( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'Message explaining that there are no results returned from a search', 'twentytwentythree' ); ?>
+</p>
+<!-- /wp:paragraph -->
+
+<!-- wp:search {"label":"<?php echo esc_html_x( 'Search', 'label', 'twentytwentythree' ); ?>","placeholder":"<?php echo esc_attr_x( 'Search...', 'placeholder for search field', 'twentytwentythree' ); ?>","showLabel":false,"buttonText":"<?php esc_attr_e( 'Search', 'twentytwentythree' ); ?>","buttonUseIcon":true} /-->
diff --git a/wp-content/themes/twentytwentythree/patterns/post-meta.php b/wp-content/themes/twentytwentythree/patterns/post-meta.php
new file mode 100644 (file)
index 0000000..b704064
--- /dev/null
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Title: Post Meta
+ * Slug: twentytwentythree/post-meta
+ * Categories: query
+ * Keywords: post meta
+ * Block Types: core/template-part/post-meta
+ */
+?>
+<!-- wp:spacer {"height":"0"} -->
+<div style="height:0" aria-hidden="true" class="wp-block-spacer"></div>
+<!-- /wp:spacer -->
+
+<!-- wp:group {"style":{"spacing":{"margin":{"top":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
+<div class="wp-block-group" style="margin-top:var(--wp--preset--spacing--70)">
+       <!-- wp:separator {"opacity":"css","align":"wide","className":"is-style-wide"} -->
+       <hr class="wp-block-separator alignwide has-css-opacity is-style-wide"/>
+       <!-- /wp:separator -->
+
+       <!-- wp:columns {"align":"wide","style":{"spacing":{"margin":{"top":"var:preset|spacing|30"},"blockGap":"var:preset|spacing|30"}},"fontSize":"small"} -->
+       <div class="wp-block-columns alignwide has-small-font-size" style="margin-top:var(--wp--preset--spacing--30)">
+               <!-- wp:column {"style":{"spacing":{"blockGap":"0px"}}} -->
+               <div class="wp-block-column">
+                       <!-- wp:group {"style":{"spacing":{"blockGap":"0.5ch"}},"layout":{"type":"flex"}} -->
+                       <div class="wp-block-group">
+                               <!-- wp:paragraph -->
+                               <p>
+                                       <?php echo esc_html_x( 'Posted', 'Verb to explain the publication status of a post', 'twentytwentythree' ); ?>
+                               </p>
+                               <!-- /wp:paragraph -->
+
+                               <!-- wp:post-date /-->
+
+                               <!-- wp:paragraph -->
+                               <p>
+                                       <?php echo esc_html_x( 'in', 'Preposition to show the relationship between the post and its categories', 'twentytwentythree' ); ?>
+                               </p>
+                               <!-- /wp:paragraph -->
+
+                               <!-- wp:post-terms {"term":"category"} /-->
+                       </div>
+                       <!-- /wp:group -->
+
+                       <!-- wp:group {"style":{"spacing":{"blockGap":"0.5ch"}},"layout":{"type":"flex"}} -->
+                       <div class="wp-block-group">
+                               <!-- wp:paragraph -->
+                               <p>
+                                       <?php echo esc_html_x( 'by', 'Preposition to show the relationship between the post and its author', 'twentytwentythree' ); ?>
+                               </p>
+                               <!-- /wp:paragraph -->
+
+                               <!-- wp:post-author {"showAvatar":false} /-->
+                       </div>
+                       <!-- /wp:group -->
+               </div>
+               <!-- /wp:column -->
+
+               <!-- wp:column {"style":{"spacing":{"blockGap":"0px"}}} -->
+               <div class="wp-block-column">
+                       <!-- wp:group {"style":{"spacing":{"blockGap":"0.5ch"}},"layout":{"type":"flex","orientation":"vertical"}} -->
+                       <div class="wp-block-group">
+                               <!-- wp:paragraph -->
+                               <p>
+                                       <?php echo esc_html_x( 'Tags:', 'Label for a list of post tags', 'twentytwentythree' ); ?>
+                               </p>
+                               <!-- /wp:paragraph -->
+
+                               <!-- wp:post-terms {"term":"post_tag"} /-->
+                       </div>
+                       <!-- /wp:group -->
+               </div>
+               <!-- /wp:column -->
+       </div>
+       <!-- /wp:columns -->
+</div>
+<!-- /wp:group -->
diff --git a/wp-content/themes/twentytwentythree/readme.txt b/wp-content/themes/twentytwentythree/readme.txt
new file mode 100644 (file)
index 0000000..4934722
--- /dev/null
@@ -0,0 +1,41 @@
+=== Twenty Twenty-Three ===
+Contributors: wordpressdotorg
+Requires at least: 6.1
+Tested up to: 6.2
+Requires PHP: 5.6
+Stable tag: 1.1
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+
+== Description ==
+
+Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community.
+
+Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
+
+== Changelog ==
+
+= 1.1 =
+* Released: March 28, 2023
+
+https://wordpress.org/documentation/article/twenty-twenty-three-changelog/#Version_1.1
+
+= 1.0 =
+* Released: November 1, 2022
+
+https://wordpress.org/documentation/article/twenty-twenty-three-changelog/#Version_1.0
+
+== Copyright ==
+
+Twenty Twenty-Three WordPress Theme, (C) 2022-2023 WordPress.org
+Twenty Twenty-Three is distributed under the terms of the GNU GPL.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
diff --git a/wp-content/themes/twentytwentythree/screenshot.png b/wp-content/themes/twentytwentythree/screenshot.png
new file mode 100644 (file)
index 0000000..d405921
Binary files /dev/null and b/wp-content/themes/twentytwentythree/screenshot.png differ
diff --git a/wp-content/themes/twentytwentythree/style.css b/wp-content/themes/twentytwentythree/style.css
new file mode 100644 (file)
index 0000000..3744fae
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+Theme Name: Twenty Twenty-Three
+Theme URI: https://wordpress.org/themes/twentytwentythree
+Author: the WordPress team
+Author URI: https://wordpress.org
+Description: Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
+Requires at least: 6.1
+Tested up to: 6.2
+Requires PHP: 5.6
+Version: 1.1
+License: GNU General Public License v2 or later
+License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+Text Domain: twentytwentythree
+Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
+*/
diff --git a/wp-content/themes/twentytwentythree/styles/aubergine.json b/wp-content/themes/twentytwentythree/styles/aubergine.json
new file mode 100644 (file)
index 0000000..74ca7f8
--- /dev/null
@@ -0,0 +1,292 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Aubergine",
+       "settings": {
+               "color": {
+                       "gradients": [
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--secondary) 0%,var(--wp--preset--color--base) 100%)",
+                                       "name": "Secondary to Base",
+                                       "slug": "secondary-base"
+                               },
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--base) 0 min(24rem, 10%), var(--wp--preset--color--secondary) 0% 30%, var(--wp--preset--color--base) 100%)",
+                                       "name": "Base to Secondary to Base",
+                                       "slug": "base-secondary-base"
+                               },
+                               {
+                                       "gradient": "linear-gradient(90deg, var(--wp--preset--color--tertiary) 5.74%, var(--wp--preset--color--primary) 100%)",
+                                       "name": "Tertiary to Primary",
+                                       "slug": "tertiary-primary"
+                               },
+                               {
+                                       "gradient": "linear-gradient(90deg, var(--wp--preset--color--primary) 5.74%, var(--wp--preset--color--tertiary) 100%)",
+                                       "name": "Primary to Tertiary",
+                                       "slug": "primary-tertiary"
+                               }
+                       ],
+                       "palette": [
+                               {
+                                       "color": "#1B1031",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#FFFFFF",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#FF746D",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#551C5E",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#FB326B",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "fluid": {
+                                               "min": "0.875rem",
+                                               "max": "1rem"
+                                       },
+                                       "size": "1rem",
+                                       "slug": "small"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1rem",
+                                               "max": "1.125rem"
+                                       },
+                                       "size": "1.125rem",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "size": "1.75rem",
+                                       "slug": "large",
+                                       "fluid": false
+                               },
+                               {
+                                       "size": "3.25rem",
+                                       "slug": "x-large",
+                                       "fluid": false
+                               },
+                               {
+                                       "size": "10rem",
+                                       "slug": "xx-large",
+                                       "fluid": {
+                                               "min": "4rem",
+                                               "max": "20rem"
+                                       }
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/comment-reply-link": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               },
+                                               "typography": {
+                                                       "fontStyle": "italic"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/group": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "core/navigation": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)"
+                               }
+                       },
+                       "core/post-author": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               },
+                               "typography": {
+                                       "fontStyle": "italic"
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-date": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--contrast)"
+                                               },
+                                               "typography": {
+                                                       "letterSpacing": "0.09rem",
+                                                       "textTransform": "uppercase"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-terms": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               },
+                                               "typography": {
+                                                       "fontStyle": "italic"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-title": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--contrast)"
+                                                       }
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "clamp(2.625rem, calc(2.625rem + ((1vw - 0.48rem) * 8.4135)), 3.25rem)"
+                               }
+                       },
+                       "core/query": {
+                               "elements": {
+                                       "h3": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               },
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--large)",
+                                                       "fontWeight": "700"
+                                               }
+                                       },
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/separator": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "core/site-title": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--primary)",
+                                       "style": "solid",
+                                       "width": "0 0 2px 0"
+                               },
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":hover": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "letterSpacing": "0.09rem",
+                                       "textTransform": "uppercase"
+                               }
+                       }
+               },
+               "color": {
+                       "gradient": "var(--wp--preset--gradient--base-secondary-base) no-repeat"
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "radius": "99999px"
+                               },
+                               "color": {
+                                       "gradient": "var(--wp--preset--gradient--tertiary-primary)",
+                                       "text": "var(--wp--preset--color--base)"
+                               },
+                               ":hover": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--primary)",
+                                               "gradient": "none",
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--primary)",
+                                               "gradient": "none",
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       }
+                               },
+                               ":active": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--primary)",
+                                               "gradient": "none",
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "letterSpacing": "-0.019rem"
+                               }
+                       },
+                       "link": {
+                               ":active": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--primary)"
+                                       }
+                               }
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--dm-sans)"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/block-out.json b/wp-content/themes/twentytwentythree/styles/block-out.json
new file mode 100644 (file)
index 0000000..28e831e
--- /dev/null
@@ -0,0 +1,245 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Block out",
+       "settings": {
+               "color": {
+                       "duotone": [
+                               {
+                                       "colors": [
+                                               "#E2161D",
+                                               "#FF9C9C"
+                                       ],
+                                       "slug": "default-filter",
+                                       "name": "Default filter"
+                               }
+                       ],
+                       "palette": [
+                               {
+                                       "color": "#ff5252",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#252525",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#ffffff",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#ff2d34",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#ff7e7e",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "layout": {
+                       "contentSize": "800px"
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "fluid": {
+                                               "max": "1rem",
+                                               "min": "0.875rem"
+                                       },
+                                       "size": "1rem",
+                                       "slug": "small"
+                               },
+                               {
+                                       "fluid": {
+                                               "max": "1.125rem",
+                                               "min": "1rem"
+                                       },
+                                       "size": "1.125rem",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "fluid": false,
+                                       "size": "1.75rem",
+                                       "slug": "large"
+                               },
+                               {
+                                       "fluid": false,
+                                       "size": "2.25rem",
+                                       "slug": "x-large"
+                               },
+                               {
+                                       "fluid": {
+                                               "max": "7rem",
+                                               "min": "4rem"
+                                       },
+                                       "size": "7rem",
+                                       "slug": "xx-large"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/avatar": {
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/image": {
+                               "border": {
+                                       "radius": "8px"
+                               },
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/navigation": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)"
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--contrast)"
+                                               }
+                                       },
+                                       "h1": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--contrast)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-featured-image": {
+                               "border": {
+                                       "radius": "8px"
+                               },
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/post-title": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               }
+                                       }
+                               },
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "core/quote": {
+                               "border": {
+                                       "width": "1px"
+                               }
+                       },
+                       "core/search": {
+                               "border": {
+                                       "radius": "8px"
+                               }
+                       },
+                       "core/site-logo": {
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/site-title": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               }
+                                       }
+                               },
+                               "spacing": {
+                                       "padding": {
+                                               "bottom": "var(--wp--preset--spacing--30)",
+                                               "top": "var(--wp--preset--spacing--30)"
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--xx-large)",
+                                       "lineHeight": "1.1",
+                                       "textTransform": "lowercase"
+                               }
+                       },
+                       "core/query": {
+                               "elements": {
+                                       "h2": {
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--large)"
+                                               }
+                                       }
+                               }
+                       }
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "radius": "8px"
+                               },
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--ibm-plex-mono)",
+                                       "fontStyle": "italic",
+                                       "fontWeight": "400"
+                               },
+                               ":active": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       }
+                               }
+                       },
+                       "h1": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "h6": {
+                               "typography": {
+                                       "fontWeight": "400"
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--ibm-plex-mono)",
+                                       "fontStyle": "italic"
+                               }
+                       },
+                       "link": {
+                               ":active": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--primary)"
+                                       }
+                               },
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--ibm-plex-mono)",
+                                       "fontStyle": "italic",
+                                       "fontWeight": "400"
+                               }
+                       }
+               },
+               "spacing": {
+                       "padding": {
+                               "bottom": "0px",
+                               "top": "0px"
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--dm-sans)"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/canary.json b/wp-content/themes/twentytwentythree/styles/canary.json
new file mode 100644 (file)
index 0000000..f8d8f80
--- /dev/null
@@ -0,0 +1,251 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Canary",
+       "settings": {
+               "color": {
+                       "duotone": [
+                               {
+                                       "colors": [
+                                               "#000000",
+                                               "#ffffff"
+                                       ],
+                                       "slug": "default-filter",
+                                       "name": "Default filter"
+                               }
+                       ],
+                       "palette": [
+                               {
+                                       "color": "#fdff85",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#000000",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#000000",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#353535",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#ffffff",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "layout": {
+                       "wideSize": "650px"
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "size": "0.75rem",
+                                       "slug": "small"
+                               },
+                               {
+                                       "size": "1.125rem",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "size": "1.75rem",
+                                       "slug": "large"
+                               },
+                               {
+                                       "size": "2.25rem",
+                                       "slug": "x-large"
+                               },
+                               {
+                                       "size": "10rem",
+                                       "slug": "xx-large"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/comments": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "underline"
+                                               },
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-reply-link": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/comments-title":{
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/image": {
+                               "border": {
+                                       "radius": "100px 0 0 0"
+                               },
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/navigation": {
+                               "typography": {
+                                       "textTransform": "lowercase"
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "underline"
+                                               },
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-excerpt": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/post-featured-image": {
+                               "border": {
+                                       "radius": "100px 0 0 0"
+                               },
+                               "spacing": {
+                                       "margin": {
+                                               "bottom": "0px",
+                                               "left": "0px",
+                                               "right": "0px",
+                                               "top": "0px"
+                                       },
+                                       "padding": {
+                                               "bottom": "0px",
+                                               "left": "0px",
+                                               "right": "0px",
+                                               "top": "0px"
+                                       }
+                               }
+                       },
+                       "core/post-title": {
+                               "typography": {
+                                       "fontWeight": "700"
+                               }
+                       },
+                       "core/separator": {
+                               "border": {
+                                       "width": "2px"
+                               }
+                       },
+                       "core/site-title": {
+                               "typography": {
+                                       "fontWeight": "700",
+                                       "textTransform": "lowercase",
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       }
+               },
+               "elements": {
+                       "button": {
+                               ":hover": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--base)",
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       },
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)",
+                                               "style": "solid",
+                                               "width": "2px"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--base)",
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       },
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)",
+                                               "style": "solid",
+                                               "width": "2px"
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               },
+                               "border": {
+                                       "radius": "5px",
+                                       "color": "var(--wp--preset--color--contrast)",
+                                       "style": "solid",
+                                       "width": "2px"
+                               },
+                               "color": {
+                                       "text": "var(--wp--preset--color--base)"
+                               },
+                               "spacing": {
+                                       "padding": {
+                                               "bottom": "0.667em",
+                                               "left": "1.333em",
+                                               "right": "1.333em",
+                                               "top": "0.667em"
+                                       }
+                               }
+                       },
+                       "h1": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "h2": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "h3": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "h4": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontWeight": "700"
+                               }
+                       },
+                       "link": {
+                               "typography": {
+                                       "textDecoration": "none"
+                               }
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--ibm-plex-mono)",
+                       "fontSize": "var(--wp--preset--font-size--small)"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/electric.json b/wp-content/themes/twentytwentythree/styles/electric.json
new file mode 100644 (file)
index 0000000..077ca09
--- /dev/null
@@ -0,0 +1,100 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Electric",
+       "settings": {
+               "color": {
+                       "palette": [
+                               {
+                                       "color": "#f3f3f1",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#2500ff",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#f3f3f1",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#2500ff",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#f6f6f6",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "style": "solid",
+                                       "width": "2px",
+                                       "color": "var(--wp--preset--color--contrast)"
+                               },
+                               "color": {
+                                       "background": "var(--wp--preset--color--contrast)",
+                                       "text": "var(--wp--preset--color--base)"
+                               },
+                               "spacing": {
+                                       "padding": {
+                                               "top": ".667em",
+                                               "right": "1.333em",
+                                               "bottom": ".667em",
+                                               "left": "1.333em"
+                                       }
+                               },
+                               ":active": {
+                                       "typography": {
+                                               "textDecoration": "underline dotted"
+                                       }
+                               },
+                               ":focus": {
+                                       "typography": {
+                                               "textDecoration": "underline dotted"
+                                       }
+                               },
+                               ":hover": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)",
+                                               "style": "solid",
+                                               "width": "2px"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--base)",
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               }
+                       },
+                       "link": {
+                               ":focus": {
+                                       "typography": {
+                                               "textDecoration": "underline dotted"
+                                       }
+                               },
+                               ":active": {
+                                       "typography": {
+                                               "textDecoration": "underline dotted"
+                                       }
+                               }
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--dm-sans)"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/grapes.json b/wp-content/themes/twentytwentythree/styles/grapes.json
new file mode 100644 (file)
index 0000000..cf0c4b4
--- /dev/null
@@ -0,0 +1,97 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Grapes",
+       "settings": {
+               "color": {
+                       "palette": [
+                               {
+                                       "color": "#E1E1C7",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#000000",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#214F31",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#000000",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#F0EBD2",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/post-comments": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-date": {
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--source-serif-pro)",
+                                       "fontStyle": "italic"
+                               }
+                       },
+                       "core/post-terms": {
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--source-serif-pro)",
+                                       "fontStyle": "italic"
+                               }
+                       },
+                       "core/site-title": {
+                               "typography": {
+                                       "textTransform": "lowercase"
+                               }
+                       }
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "radius": "9999px"
+                               },
+                               "color": {
+                                       "background": "var(--wp--preset--color--primary)",
+                                       "text": "var(--wp--preset--color--base)"
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--source-serif-pro)",
+                                       "fontWeight": "600"
+                               }
+                       },
+                       "link": {
+                               ":hover": {
+                                       "typography": {
+                                               "textDecoration": "underline dashed"
+                                       }
+                               }
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/marigold.json b/wp-content/themes/twentytwentythree/styles/marigold.json
new file mode 100644 (file)
index 0000000..31fc120
--- /dev/null
@@ -0,0 +1,317 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Marigold",
+       "settings": {
+               "color": {
+                       "palette": [
+                               {
+                                       "color": "#F6F2EC",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#21251F",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#5B4460",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#FCC263",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#E7A1A9",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "layout": {
+                       "wideSize": "1200px"
+               },
+               "spacing": {
+                       "spacingSizes": [
+                               {
+                                       "size": "clamp(0.625rem, 0.434rem + 0.61vw, 0.938rem)",
+                                       "name": "1",
+                                       "slug": "30"
+                               },
+                               {
+                                       "size": "clamp(1.25rem, 0.869rem + 1.22vw, 1.875rem)",
+                                       "name": "2",
+                                       "slug": "40"
+                               },
+                               {
+                                       "size": "clamp(1.875rem, 1.303rem + 1.83vw, 2.813rem)",
+                                       "name": "3",
+                                       "slug": "50"
+                               },
+                               {
+                                       "size": "clamp(2.5rem, 1.738rem + 2.44vw, 3.75rem)",
+                                       "name": "4",
+                                       "slug": "60"
+                               },
+                               {
+                                       "size": "clamp(2.813rem, 1.098rem + 5.49vw, 5.625rem)",
+                                       "name": "5",
+                                       "slug": "70"
+                               },
+                               {
+                                       "size": "clamp(3.75rem, 1.463rem + 7.32vw, 7.5rem)",
+                                       "name": "6",
+                                       "slug": "80"
+                               }
+                       ]
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "size": "clamp(0.875rem, 0.799rem + 0.24vw, 1rem)",
+                                       "name": "Tiny",
+                                       "slug": "tiny"
+                               },
+                               {
+                                       "size": "clamp(1rem, 0.924rem + 0.24vw, 1.125rem)",
+                                       "slug": "small"
+                               },
+                               {
+                                       "size": "clamp(1.125rem, 1.049rem + 0.24vw, 1.25rem)",
+                                       "name": "Normal",
+                                       "slug": "normal"
+                               },
+                               {
+                                       "size": "clamp(1.25rem, 1.021rem + 0.73vw, 1.625rem)",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "size": "clamp(1.375rem, 1.07rem + 0.98vw, 1.875rem)",
+                                       "slug": "large"
+                               },
+                               {
+                                       "size": "clamp(1.75rem, 1.369rem + 1.22vw, 2.375rem)",
+                                       "slug": "x-large"
+                               },
+                               {
+                                       "size": "clamp(2.125rem, 1.706rem + 1.34vw, 2.813rem)",
+                                       "slug": "xx-large"
+                               },
+                               {
+                                       "size": "clamp(2.5rem, 1.966rem + 1.71vw, 3.375rem)",
+                                       "name": "Huge",
+                                       "slug": "huge"
+                               },
+                               {
+                                       "size": "clamp(3.375rem, 2.384rem + 3.17vw, 5rem)",
+                                       "name": "Gigantic",
+                                       "slug": "gigantic"
+                               }
+                       ]
+               }
+  },
+  "styles": {
+               "blocks": {
+                       "core/comment-author-name": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/query": {
+                               "spacing": {
+                                       "padding": {
+                                               "left": "0",
+                                               "right": "0"
+                                       }
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-excerpt": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--normal)"
+                               }
+                       },
+                       "core/post-title": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--large)",
+                                                       "textDecoration": "none"
+                                               },
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               }
+                                       }
+                               },
+                               "spacing": {
+                                       "margin": {
+                                               "bottom": "var(--wp--preset--spacing--50)",
+                                               "top": "var(--wp--preset--spacing--50)"
+                                       }
+                               },
+                               "typography": {
+                                       "fontWeight": "600"
+                               }
+                       },
+                       "core/pullquote": {
+                               "border": {
+                                       "width": "1px 0"
+                               }
+                       },
+                       "core/query-pagination": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                       "fontWeight": "400"
+                               }
+                       },
+                       "core/quote": {
+                               "elements": {
+                                       "cite": {
+                                               "typography": {
+                                                       "fontSize": "1.25rem"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "1.625rem",
+                                       "lineHeight": "1.5"
+                               }
+                       },
+                       "core/site-title": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--normal)"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "textTransform": "lowercase"
+                               }
+                       }
+               },
+               "elements": {
+                       "h1": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--huge)",
+                                       "lineHeight": "1.1"
+                               }
+                       },
+                       "h2": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--xx-large)",
+                                       "lineHeight": "1.2"
+                               }
+                       },
+                       "h3": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--x-large)",
+                                       "lineHeight": "1.2"
+                               }
+                       },
+                       "h4": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)",
+                                       "fontWeight": "600"
+                               }
+                       },
+                       "h5": {
+                               "typography": {
+                                       "fontStyle": "normal",
+                                       "fontWeight": "600",
+                                       "textTransform": "none"
+                               }
+                       },
+                       "h6": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--normal)",
+                                       "fontStyle": "normal",
+                                       "fontWeight": "600"
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontStyle": "italic"
+                               }
+                       },
+                       "link": {
+                               ":active": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--primary)"
+                                       }
+                               },
+                               ":hover": {
+                                       "typography": {
+                                               "textDecoration": "none"
+                                       }
+                               }
+                       },
+                       "button": {
+                               "border": {
+                                       "radius": "50px"
+                               },
+                               "color": {
+                                       "background": "var(--wp--preset--color--secondary)"
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--normal)"
+                               },
+                               ":hover": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--tertiary)",
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--primary)"
+                                       }
+                               },
+                               ":active": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--primary)"
+                                       }
+                               }
+                       }
+               },
+               "spacing": {
+                       "blockGap": "2.5rem",
+                       "padding": {
+                               "bottom": "var(--wp--preset--spacing--50)",
+                               "left": "var(--wp--preset--spacing--40)",
+                               "right": "var(--wp--preset--spacing--40)",
+                               "top": "var(--wp--preset--spacing--50)"
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--source-serif-pro)",
+                       "fontSize": "var(--wp--preset--font-size--normal)",
+                       "lineHeight": "1.5"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/pilgrimage.json b/wp-content/themes/twentytwentythree/styles/pilgrimage.json
new file mode 100644 (file)
index 0000000..be16add
--- /dev/null
@@ -0,0 +1,323 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Pilgrimage",
+       "settings": {
+               "color": {
+                       "duotone": [
+                               {
+                                       "colors": [
+                                               "#222828",
+                                               "#9EF9FD"
+                                       ],
+                                       "slug": "default-filter",
+                                       "name": "Default filter"
+                               }
+                       ],
+                       "gradients": [
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--primary) 0%,var(--wp--preset--color--secondary) 100%)",
+                                       "name": "Primary to Secondary",
+                                       "slug": "primary-secondary"
+                               },
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--secondary) 0%,var(--wp--preset--color--primary) 100%)",
+                                       "name": "Secondary to Primary",
+                                       "slug": "secondary-primary"
+                               },
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--primary) 0%,var(--wp--preset--color--tertiary) 100%)",
+                                       "name": "Tertiary to Secondary",
+                                       "slug": "tertiary-secondary"
+                               },
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--tertiary) 0%,var(--wp--preset--color--primary) 100%)",
+                                       "name": "Tertiary to Primary",
+                                       "slug": "tertiary-primary"
+                               },
+                               {
+                                       "gradient": "linear-gradient(180deg, var(--wp--preset--color--base) 0%,var(--wp--preset--color--primary) 350%)",
+                                       "name": "Base to Primary",
+                                       "slug": "base-primary"
+                               },
+                               {
+                                       "gradient": "radial-gradient(circle at 5px 5px,#0c0d0d70 2px,#ffffff00 0px,#ffffff00 0px) 0 0 / 8px 8px, linear-gradient(180deg, var(--wp--preset--color--base) 0%,#000000 200%)",
+                                       "name": "Dots",
+                                       "slug": "dots"
+                               }
+                       ],
+                       "palette": [
+                               {
+                                       "color": "#222828",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#ffffff",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#53ED85",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#9EF9FD",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#D8E202",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/comment-author-name": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--tertiary)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-date": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--tertiary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-edit-link": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--tertiary)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comments-pagination": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "underline"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/image": {
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/navigation": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               },
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "underline"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/paragraph": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--contrast)"
+                               },
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--tertiary)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-date": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "none",
+                                                       "fontStyle": "italic"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-featured-image": {
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               }
+                       },
+                       "core/post-title": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--tertiary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "underline"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/query-pagination": {
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "underline"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/separator": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               }
+                       },
+                       "core/site-title": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontStyle": "italic",
+                                       "fontWeight": "700"
+                               }
+                       }
+               },
+               "color": {
+                       "gradient": "var(--wp--preset--gradient--dots)"
+               },
+               "elements": {
+                       "button": {
+                               ":active": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--secondary)",
+                                               "gradient": "none"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "gradient": "var(--wp--preset--gradient--secondary-primary)"
+                                       }
+                               },
+                               ":hover": {
+                                       "color": {
+                                               "gradient": "var(--wp--preset--gradient--secondary-primary)"
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               },
+                               "border": {
+                                       "radius": "5px"
+                               },
+                               "color": {
+                                       "gradient": "var(--wp--preset--gradient--primary-secondary)",
+                                       "text": "var(--wp--preset--color--base)"
+                               }
+                       },
+                       "h1": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--contrast)"
+                               }
+                       },
+                       "h2": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--contrast)"
+                               }
+                       },
+                       "h3": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "h4": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "h5": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "h6": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "heading": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "link": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               },
+                               ":hover": {
+                                       "color": {
+                                               "text":"var(--wp--preset--color--tertiary)"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "text":"var(--wp--preset--color--tertiary)"
+                                       }
+                               },
+                               ":active": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--tertiary)"
+                                       }
+                               }
+                       }
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/pitch.json b/wp-content/themes/twentytwentythree/styles/pitch.json
new file mode 100644 (file)
index 0000000..10c4212
--- /dev/null
@@ -0,0 +1,242 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Pitch",
+       "settings": {
+               "color": {
+                       "palette": [
+                               {
+                                       "color": "#202124",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#e8eaed",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#e3cbc0",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#876C3A",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#303134",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "layout": {
+                       "contentSize": "min(640px, 90vw)",
+                       "wideSize": "90vw"
+               },
+               "spacing": {
+                       "spacingScale": {
+                               "steps": 7
+                       },
+                       "spacingSizes": [
+                               {
+                                       "size": "calc(8px + 1.5625vw)",
+                                       "slug": "20",
+                                       "name": "1"
+                               },
+                               {
+                                       "size": "calc(12px + 1.5625vw)",
+                                       "slug": "30",
+                                       "name": "2"
+                               },
+                               {
+                                       "size": "calc(16px + 1.5625vw)",
+                                       "slug": "40",
+                                       "name": "3"
+                               },
+                               {
+                                       "size": "calc(20px + 1.5625vw)",
+                                       "slug": "50",
+                                       "name": "4"
+                               },
+                               {
+                                       "size": "calc(24px + 1.5625vw)",
+                                       "slug": "60",
+                                       "name": "5"
+                               },
+                               {
+                                       "size": "calc(28px + 1.5625vw)",
+                                       "slug": "70",
+                                       "name": "6"
+                               },
+                               {
+                                       "size": "calc(32px + 1.5625vw)",
+                                       "slug": "80",
+                                       "name": "7"
+                               }
+                       ]
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "size": "0.85rem",
+                                       "fluid": {
+                                               "min": "0.85rem",
+                                               "max": "1rem"
+                                       },
+                                       "slug": "small",
+                                       "name": "small"
+                               },
+                               {
+                                       "size": "1.1rem",
+                                       "fluid": {
+                                               "min": "1.1rem",
+                                               "max": "1.4rem"
+                                       },
+                                       "slug": "medium",
+                                       "name": "Medium"
+                               },
+                               {
+                                       "size": "1.999rem",
+                                       "fluid": {
+                                               "min": "1.999rem",
+                                               "max": "2.827rem"
+                                       },
+                                       "slug": "large",
+                                       "name": "Large"
+                               },
+                               {
+                                       "size": "2.827rem",
+                                       "fluid": {
+                                               "min": "2.827rem",
+                                               "max": "3.998rem"
+                                       },
+                                       "slug": "x-large",
+                                       "name": "Extra Large"
+                               },
+                               {
+                                       "size": "3.2rem",
+                                       "fluid": {
+                                               "min": "3.2rem",
+                                               "max": "5.653rem"
+                                       },
+                                       "slug": "xx-large",
+                                       "name": "2X Large"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/separator": {
+                               "border": {
+                                       "color":"var(--wp--preset--color--tertiary)",
+                                       "width": "2px"
+                               }
+                       },
+                       "core/site-title": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)",
+                                       "fontStyle": "normal",
+                                       "fontWeight": "600"
+                               }
+                       }
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "radius": "0",
+                                       "style": "solid",
+                                       "width": "2px",
+                                       "color": "var(--wp--preset--color--primary)"
+                               },
+                               "color": {
+                                       "background": "var(--wp--preset--color--primary)",
+                                       "text": "var(--wp--preset--color--base)"
+                               },
+                               "spacing": {
+                                       "padding": {
+                                               "top": "min(1.125rem, 3vw) !important",
+                                               "right": "min(2.125rem, 5vw) !important",
+                                               "bottom": "min(1.125rem, 3vw) !important",
+                                               "left": "min(2.125rem, 5vw) !important"
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                       "fontWeight": "600",
+                                       "textTransform": "uppercase",
+                                       "letterSpacing": "0.01em"
+                               },
+                               ":hover": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "text": "var(--wp--preset--color--tertiary)"
+                                       }
+                               },
+                               ":focus": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "text": "var(--wp--preset--color--tertiary)"
+                                       }
+                               },
+                               ":active": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "text": "var(--wp--preset--color--tertiary)"
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               }
+                       },
+                       "h1": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--xx-large)",
+                                       "lineHeight": "1.1"
+                               }
+                       },
+                       "h2": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--x-large)",
+                                       "lineHeight": "1.1"
+                               }
+                       },
+                       "h3": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)"
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontWeight": "500"
+                               }
+                       }
+               },
+               "spacing": {
+                       "blockGap": "var(--wp--preset--spacing--40)",
+                       "padding": {
+                               "right": "var(--wp--preset--spacing--70)",
+                               "left": "var(--wp--preset--spacing--70)"
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--inter)",
+                       "fontSize": "var(--wp--preset--font-size--medium)",
+                       "lineHeight": "1.7"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/sherbet.json b/wp-content/themes/twentytwentythree/styles/sherbet.json
new file mode 100644 (file)
index 0000000..d6e2039
--- /dev/null
@@ -0,0 +1,243 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Sherbet",
+       "settings": {
+               "color": {
+                       "duotone": [
+                               {
+                                       "colors": [
+                                               "#FF99FF",
+                                               "#FFFF99",
+                                               "#99FFFF"
+                                       ],
+                                       "name": "Default filter",
+                                       "slug": "default-filter"
+                               }
+                       ],
+                       "gradients": [
+                               {
+                                       "gradient": "linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--secondary) 50%, var(--wp--preset--color--tertiary) 100%)",
+                                       "name": "Primary to Secondary to Tertiary",
+                                       "slug": "primary-secondary-tertiary"
+                               },
+                               {
+                                       "gradient": "linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--secondary) 50%, var(--wp--preset--color--tertiary) 100%) fixed",
+                                       "name": "Primary to Secondary to Tertiary Fixed",
+                                       "slug": "primary-secondary-tertiary-fixed"
+                               },
+                               {
+                                       "gradient": "linear-gradient(135deg, var(--wp--preset--color--tertiary) 0%, var(--wp--preset--color--secondary) 50%, var(--wp--preset--color--primary) 100%) fixed",
+                                       "name": "Tertiary to Secondary to Primary Fixed",
+                                       "slug": "tertiary-secondary-primary-fixed"
+                               }
+                       ],
+                       "palette": [
+                               {
+                                       "color": "#FFFFFF",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#000000",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#FFCCFF",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#FFFFCC",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#CCFFFF",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "fluid": false,
+                                       "size": "0.75rem",
+                                       "slug": "x-small"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "0.875rem",
+                                               "max": "1rem"
+                                       },
+                                       "size": "1rem",
+                                       "slug": "small"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1rem",
+                                               "max": "1.125rem"
+                                       },
+                                       "size": "1.125rem",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1.5rem",
+                                               "max": "1.75rem"
+                                       },
+                                       "size": "1.75rem",
+                                       "slug": "large"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "2rem",
+                                               "max": "2.25rem"
+                                       },
+                                       "size": "2.25rem",
+                                       "slug": "x-large"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "2.5rem",
+                                               "max": "2.75rem"
+                                       },
+                                       "size": "2.75rem",
+                                       "slug": "xx-large"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/comments": {
+                               "elements": {
+                                       "link": {
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--contrast)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-author-name": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)",
+                                       "textTransform": "initial"
+                               }
+                       },
+                       "core/comment-content": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)",
+                                       "textTransform": "initial"
+                               }
+                       },
+                       "core/navigation": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                       "fontWeight": "500",
+                                       "textTransform": "uppercase"
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--contrast)"
+                                               },
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--contrast)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-date": {
+                               "typography": {
+                                       "textTransform": "uppercase"
+                               }
+                       },
+                       "core/post-featured-image": {
+                               "filter": {
+                                       "duotone": "var(--wp--preset--duotone--default-filter)"
+                               },
+                               "border": {
+                                       "color": "var(--wp--preset--color--tertiary)",
+                                       "style": "solid"
+                               }
+                       },
+                       "core/post-title": {
+                               "typography": {
+                                       "fontWeight": "500",
+                                       "textTransform": "uppercase"
+                               }
+                       },
+                       "core/site-title": {
+                               "typography": {
+                                       "fontWeight": "500"
+                               }
+                       },
+                       "core/template-part": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--x-small)",
+                                       "fontWeight": "400",
+                                       "textTransform": "uppercase"
+                               }
+                       }
+               },
+               "color": {
+                       "gradient": "var(--wp--preset--gradient--primary-secondary-tertiary)"
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--contrast)",
+                                       "radius": "99999px",
+                                       "style": "solid",
+                                       "width": "2px"
+                               },
+                               "color": {
+                                       "background": "var(--wp--preset--color--base)",
+                                       "gradient": "var(--wp--preset--gradient--primary-secondary-tertiary-fixed)",
+                                       "text": "var(--wp--preset--color--contrast)"
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--x-small)",
+                                       "fontWeight": "400",
+                                       "textTransform": "uppercase"
+                               },
+                               ":hover": {
+                                       "color": {
+                                               "gradient": "var(--wp--preset--gradient--tertiary-secondary-primary-fixed)",
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "gradient": "none"
+                                       }
+                               },
+                               ":active": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "gradient": "none"
+                                       }
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontWeight": "500"
+                               }
+                       }
+               },
+               "typography": {
+                       "fontSize": "var(--wp--preset--font-size--small)",
+                       "fontFamily": "var(--wp--preset--font-family--inter)"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/styles/whisper.json b/wp-content/themes/twentytwentythree/styles/whisper.json
new file mode 100644 (file)
index 0000000..d35267d
--- /dev/null
@@ -0,0 +1,551 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "title": "Whisper",
+       "settings": {
+               "color": {
+                       "palette": [
+                               {
+                                       "color": "#E5E7F2",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#47484B",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#B50B3E",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#0B0033",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#F9F9FB",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "layout": {
+                       "contentSize": "710px",
+                       "wideSize": "1200px"
+               },
+               "typography": {
+                       "fontSizes": [
+                               {
+                                       "fluid": {
+                                               "min": "0.875rem",
+                                               "max": "1rem"
+                                       },
+                                       "size": "1rem",
+                                       "slug": "small"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1rem",
+                                               "max": "1.187rem"
+                                       },
+                                       "size": "1.187rem",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1.187rem",
+                                               "max": "1.3125rem"
+                                       },
+                                       "size": "1.3125rem",
+                                       "slug": "large"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1.562rem",
+                                               "max": "2rem"
+                                       },
+                                       "size": "2rem",
+                                       "slug": "x-large"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "3.375rem",
+                                               "max": "7rem"
+                                       },
+                                       "size": "7rem",
+                                       "slug": "xx-large"
+                               }
+                       ]
+               }
+       },
+       "styles": {
+               "blocks": {
+                       "core/navigation": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--contrast)"
+                               },
+                               "elements": {
+                                       "link": {
+                                               "border": {
+                                                       "bottom": {
+                                                               "color": "transparent",
+                                                               "style": "solid",
+                                                               "width": "0.2ch"
+                                                       }
+                                               },
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--contrast)"
+                                               },
+                                               ":hover": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--primary)"
+                                                       },
+                                                       "color": {
+                                                               "background": "transparent",
+                                                               "text": "var(--wp--preset--color--secondary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)"
+                               }
+                       },
+                       "core/navigation-submenu": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--primary)"
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--contrast)"
+                                                       },
+                                                       "color": {
+                                                               "background": "var(--wp--preset--color--tertiary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-date": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--contrast)"
+                                                       },
+                                                       "color": {
+                                                               "background": "var(--wp--preset--color--tertiary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-title": {
+                               "elements": {
+                                       "link": {
+                                               "border": {
+                                                       "width": "0 !important"
+                                               },
+                                               ":hover": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--primary)"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/pullquote": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--contrast)",
+                                       "style": "double",
+                                       "width": "6px"
+                               },
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               }
+                       },
+                       "core/quote": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--contrast)",
+                                       "style": "double",
+                                       "width": "0 0 0 6px"
+                               },
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               },
+                               "spacing": {
+                                       "margin": {
+                                               "left": "var(--wp--preset--spacing--30)"
+                                       },
+                                       "padding": {
+                                               "left": "var(--wp--preset--spacing--30)"
+                                       }
+                               }
+                       },
+                       "core/query-pagination": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--contrast)"
+                                                       },
+                                                       "color": {
+                                                               "background": "var(--wp--preset--color--tertiary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--base)",
+                                                               "width": "0 0 2px 0"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/separator": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--contrast)",
+                                       "style": "double",
+                                       "width": "6px 0 0 0"
+                               }
+                       },
+                       "core/site-title": {
+                               "elements": {
+                                       "link": {
+                                               "border": {
+                                                       "color": "transparent"
+                                               },
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--primary)"
+                                               },
+                                               ":hover": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--primary)"
+                                                       },
+                                                       "color": {
+                                                               "background": "transparent"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "border": {
+                                                               "color": "var(--wp--preset--color--primary)"
+                                                       },
+                                                       "color": {
+                                                               "background": "transparent"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "fontFamily": "var(--wp--preset--font-family--dm-sans)",
+                                                       "fontSize": "var(--wp--preset--font-size--large)",
+                                                       "fontWeight": "700",
+                                                       "letterSpacing": "-0.01em",
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)",
+                                       "lineHeight": "1.4",
+                                       "textTransform": "capitalize"
+                               }
+                       },
+                       "core/comment-author-name":{
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-date": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-edit-link": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--primary)",
+                                       "radius": "10px",
+                                       "style": "solid",
+                                       "width": "2px 2px 6px 2px !important"
+                               },
+                               "color": {
+                                       "background": "transparent",
+                                       "text": "var(--wp--preset--color--primary)"
+                               },
+                               "spacing": {
+                                       "padding": {
+                                               "top": "min(1rem, 3vw) !important",
+                                               "right": "min(2.75rem, 6vw) !important",
+                                               "bottom": "min(1rem, 3vw) !important",
+                                               "left": "min(2.75rem, 6vw) !important"
+                                       }
+                               },
+                               "typography": {
+                                       "fontWeight": "700",
+                                       "letterSpacing": "1px",
+                                       "textTransform": "uppercase"
+                               },
+                               ":hover": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--secondary)",
+                                               "width": "2px 2px 4px 2px !important"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--tertiary)",
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       },
+                                       "spacing": {
+                                               "padding": {
+                                                       "bottom": "min(calc(1rem + 2px), 3vw) !important"
+                                               }
+                                       }
+                               },
+                               ":focus": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--secondary)",
+                                               "style": "dashed dashed double",
+                                               "width": "2px 2px 4px 2px !important"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--tertiary)",
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       },
+                                       "spacing": {
+                                               "padding": {
+                                                       "bottom": "min(calc(1rem + 2px), 3vw) !important"
+                                               }
+                                       }
+                               },
+                               ":active": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--secondary)",
+                                               "width": "2px 2px 4px 2px !important"
+                                       },
+                                       "color": {
+                                               "background": "var(--wp--preset--color--tertiary)",
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       },
+                                       "spacing": {
+                                               "padding": {
+                                                       "bottom": "min(calc(1rem + 2px), 3vw) !important"
+                                               }
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--primary)"
+                                       }
+                               }
+                       },
+                       "cite": {
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--source-serif-pro)"
+                               }
+                       },
+                       "h1": {
+                               "typography": {
+                                       "fontSize": "clamp(4.21rem, 1.43vw + 3.85rem, 5rem)",
+                                       "fontWeight": "300",
+                                       "letterSpacing": "-0.01em"
+                               }
+                       },
+                       "h2": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               },
+                               "typography": {
+                                       "fontSize": "clamp(3.16rem, 1.08vw + 2.89rem, 3.75rem)",
+                                       "fontWeight": "400",
+                                       "letterSpacing": "-0.01em"
+                               }
+                       },
+                       "h3": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               },
+                               "typography": {
+                                       "fontSize": "clamp(2.37rem, 0.81vw + 2.17rem, 2.81rem)",
+                                       "fontWeight": "500"
+                               }
+                       },
+                       "h4": {
+                               "typography": {
+                                       "fontSize": "clamp(1.78rem, 0.61vw + 1.63rem, 2.11rem)",
+                                       "fontWeight": "600"
+                               }
+                       },
+                       "h5": {
+                               "typography": {
+                                       "fontSize": "clamp(1.33rem, 0.45vw + 1.22rem, 1.58rem)",
+                                       "fontWeight": "700",
+                                       "letterSpacing": "1px"
+                               }
+                       },
+                       "h6": {
+                               "typography": {
+                                       "fontSize": "clamp(1rem, 0.34vw + 0.91rem, 1.19rem)",
+                                       "fontWeight": "900",
+                                       "letterSpacing": "2px"
+                               }
+                       },
+                       "heading": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               },
+                               "typography": {
+                                       "fontFamily": "var(--wp--preset--font-family--source-serif-pro)"
+                               }
+                       },
+                       "link": {
+                               "border": {
+                                       "color": "var(--wp--preset--color--primary)",
+                                       "style": "solid",
+                                       "width": "0 0 2px 0"
+                               },
+                               "color": {
+                                       "text": "var(--wp--preset--color--secondary)"
+                               },
+                               ":hover": {
+                                       "border": {
+                                               "color": "var(--wp--preset--color--contrast)"
+                                       },
+                                       "color": {
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       },
+                                       "typography": {
+                                               "textDecoration": "none"
+                                       }
+                               },
+                               ":focus": {
+                                       "border": {
+                                               "style": "dashed"
+                                       },
+                                       "typography": {
+                                               "textDecoration": "none"
+                                       }
+                               },
+                               ":active": {
+                                       "border": {
+                                               "width": "0"
+                                       },
+                                       "color": {
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       },
+                                       "typography": {
+                                               "textDecoration": "none"
+                                       }
+                               },
+                               "typography": {
+                                       "textDecoration": "none"
+                               }
+                       }
+               },
+               "border": {
+                       "color": "var(--wp--preset--color--tertiary)",
+                       "style": "solid",
+                       "width": "max(1vw, 0.5rem)"
+               },
+               "spacing": {
+                       "padding": {
+                               "top": "var(--wp--preset--spacing--40)",
+                               "right": "var(--wp--preset--spacing--30)",
+                               "bottom": "var(--wp--preset--spacing--40)",
+                               "left": "var(--wp--preset--spacing--30)"
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--dm-sans)"
+               }
+       }
+}
diff --git a/wp-content/themes/twentytwentythree/templates/404.html b/wp-content/themes/twentytwentythree/templates/404.html
new file mode 100644 (file)
index 0000000..404842c
--- /dev/null
@@ -0,0 +1,9 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+       <!-- wp:pattern {"slug":"twentytwentythree/hidden-404"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/archive.html b/wp-content/themes/twentytwentythree/templates/archive.html
new file mode 100644 (file)
index 0000000..8376b24
--- /dev/null
@@ -0,0 +1,29 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","style":{"spacing":{"margin":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
+<main class="wp-block-group" style="margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--70)">
+       <!-- wp:query-title {"type":"archive","align":"wide","style":{"spacing":{"margin":{"bottom":"var:preset|spacing|50"}}}} /-->
+
+       <!-- wp:query {"query":{"perPage":6,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true},"displayLayout":{"type":"flex","columns":3},"align":"wide","layout":{"type":"default"}} -->
+       <div class="wp-block-query alignwide">
+               <!-- wp:post-template {"align":"wide"} -->
+                       <!-- wp:post-featured-image {"isLink":true,"width":"100%","height":"max(15vw, 30vh)","align":"wide"} /-->
+                       <!-- wp:post-title {"isLink":true} /-->
+                       <!-- wp:post-excerpt /-->
+                       <!-- wp:post-date {"isLink":true} /-->
+
+                       <!-- wp:spacer {"height":"var(--wp--preset--spacing--50)"} -->
+                       <div style="height:var(--wp--preset--spacing--50)" aria-hidden="true" class="wp-block-spacer"></div>
+                       <!-- /wp:spacer -->
+               <!-- /wp:post-template -->
+
+               <!-- wp:query-pagination {"paginationArrow":"arrow","layout":{"type":"flex","justifyContent":"space-between"}} -->
+                       <!-- wp:query-pagination-previous {"label":"Newer Posts"} /-->
+                       <!-- wp:query-pagination-next {"label":"Older Posts"} /-->
+               <!-- /wp:query-pagination -->
+       </div>
+       <!-- /wp:query -->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/blank.html b/wp-content/themes/twentytwentythree/templates/blank.html
new file mode 100644 (file)
index 0000000..3d3bd7c
--- /dev/null
@@ -0,0 +1 @@
+<!-- wp:post-content {"layout":{"type":"constrained"}} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/blog-alternative.html b/wp-content/themes/twentytwentythree/templates/blog-alternative.html
new file mode 100644 (file)
index 0000000..cd6c89b
--- /dev/null
@@ -0,0 +1,29 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+       <!-- wp:query {"query":{"perPage":3,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":false},"align":"wide","layout":{"type":"default"}} -->
+       <div class="wp-block-query alignwide">
+               <!-- wp:post-template -->
+                       <!-- wp:columns {"style":{"border":{"bottom":{"width":"1px"}},"spacing":{"padding":{"top":"var:preset|spacing|40","bottom":"var:preset|spacing|40"},"margin":{"top":"-1.5rem","bottom":"0px"}}}} -->
+                       <div class="wp-block-columns" style="border-bottom-width:1px;margin-top:-1.5rem;margin-bottom:0px;padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)">
+                               <!-- wp:column {"verticalAlignment":"center","width":"20%"} -->
+                               <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:20%">
+                                       <!-- wp:post-date {"textAlign":"left"} /-->
+                               </div>
+                               <!-- /wp:column -->
+
+                               <!-- wp:column {"verticalAlignment":"center","width":"80%"} -->
+                               <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%">
+                                       <!-- wp:post-title {"isLink":true} /-->
+                               </div>
+                               <!-- /wp:column -->
+                       </div>
+                       <!-- /wp:columns -->
+               <!-- /wp:post-template -->
+       </div>
+       <!-- /wp:query -->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/home.html b/wp-content/themes/twentytwentythree/templates/home.html
new file mode 100644 (file)
index 0000000..ce0c316
--- /dev/null
@@ -0,0 +1,37 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","style":{"spacing":{"margin":{"top":"var:preset|spacing|50","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
+<main class="wp-block-group" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--70)">
+       <!-- wp:heading {"level":1,"align":"wide","style":{"spacing":{"margin":{"bottom":"var:preset|spacing|60"}}}} -->
+       <h1 class="alignwide" style="margin-bottom:var(--wp--preset--spacing--60)">Mindblown: a blog about philosophy.</h1>
+       <!-- /wp:heading -->
+
+       <!-- wp:query {"query":{"perPage":3,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true},"displayLayout":{"type":"flex","columns":3},"align":"wide","layout":{"type":"constrained"}} -->
+       <div class="wp-block-query alignwide">
+               <!-- wp:post-template {"align":"wide"} -->
+                       <!-- wp:post-featured-image {"isLink":true,"width":"100%","height":"max(15vw, 30vh)","align":"wide"} /-->
+                       <!-- wp:post-title {"isLink":true} /-->
+                       <!-- wp:post-excerpt /-->
+                       <!-- wp:post-date {"isLink":true} /-->
+
+                       <!-- wp:spacer {"height":"var(--wp--preset--spacing--40)"} -->
+                       <div style="height:var(--wp--preset--spacing--40)" aria-hidden="true" class="wp-block-spacer"></div>
+                       <!-- /wp:spacer -->
+               <!-- /wp:post-template -->
+
+               <!-- wp:query-pagination {"paginationArrow":"arrow","align":"wide","layout":{"type":"flex","justifyContent":"space-between"}} -->
+                       <!-- wp:query-pagination-previous {"label":"Newer Posts"} /-->
+                       <!-- wp:query-pagination-next {"label":"Older Posts"} /-->
+               <!-- /wp:query-pagination -->
+       </div>
+       <!-- /wp:query -->
+
+       <!-- wp:spacer {"height":"var(--wp--preset--spacing--60)"} -->
+       <div style="height:var(--wp--preset--spacing--60)" aria-hidden="true" class="wp-block-spacer"></div>
+       <!-- /wp:spacer -->
+
+       <!-- wp:pattern {"slug":"twentytwentythree/cta"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/index.html b/wp-content/themes/twentytwentythree/templates/index.html
new file mode 100644 (file)
index 0000000..91e6640
--- /dev/null
@@ -0,0 +1,27 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group">
+       <!-- wp:query {"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true,"taxQuery":null,"parents":[]},"displayLayout":{"type":"flex","columns":3},"align":"wide","layout":{"type":"default"}} -->
+       <div class="wp-block-query alignwide">
+               <!-- wp:post-template {"align":"wide"} -->
+                       <!-- wp:post-featured-image {"isLink":true,"width":"100%","height":"max(15vw, 30vh)","align":"wide"} /-->
+                       <!-- wp:post-title {"isLink":true,"align":"wide"} /-->
+                       <!-- wp:post-excerpt /-->
+                       <!-- wp:post-date {"isLink":true} /-->
+
+                       <!-- wp:spacer {"height":"var(--wp--preset--spacing--70)"} -->
+                       <div style="height:var(--wp--preset--spacing--70)" aria-hidden="true" class="wp-block-spacer"></div>
+                       <!-- /wp:spacer -->
+               <!-- /wp:post-template -->
+
+               <!-- wp:query-pagination {"paginationArrow":"arrow","align":"wide","layout":{"type":"flex","justifyContent":"space-between"}} -->
+                       <!-- wp:query-pagination-previous /-->
+                       <!-- wp:query-pagination-next /-->
+               <!-- /wp:query-pagination -->
+       </div>
+       <!-- /wp:query -->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/page.html b/wp-content/themes/twentytwentythree/templates/page.html
new file mode 100644 (file)
index 0000000..c9408fc
--- /dev/null
@@ -0,0 +1,17 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","style":{"spacing":{"margin":{"top":"var:preset|spacing|50"}}}} -->
+<main class="wp-block-group" style="margin-top:var(--wp--preset--spacing--50)">
+       <!-- wp:group {"layout":{"type":"constrained"}} -->
+       <div class="wp-block-group">
+               <!-- wp:post-featured-image {"overlayColor":"contrast","dimRatio":50,"align":"wide","style":{"spacing":{"margin":{"bottom":"var:preset|spacing|50","top":"calc(-1 * var(--wp--preset--spacing--50))"}}}} /-->
+               <!-- wp:post-title {"level":1,"style":{"spacing":{"margin":{"bottom":"var:preset|spacing|40"}}}} /-->
+       </div>
+       <!-- /wp:group -->
+
+       <!-- wp:post-content {"layout":{"type":"constrained"}} /-->
+       <!-- wp:template-part {"slug":"comments","tagName":"section"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/search.html b/wp-content/themes/twentytwentythree/templates/search.html
new file mode 100644 (file)
index 0000000..c80b421
--- /dev/null
@@ -0,0 +1,33 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","style":{"spacing":{"margin":{"top":"var:preset|spacing|70","bottom":"var:preset|spacing|70"}}},"layout":{"type":"constrained"}} -->
+<main class="wp-block-group" style="margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--70)">
+       <!-- wp:query-title {"type":"search","align":"wide","style":{"spacing":{"margin":{"bottom":"var:preset|spacing|50"}}}} /-->
+
+       <!-- wp:query {"query":{"perPage":6,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true},"displayLayout":{"type":"flex","columns":3},"align":"wide","layout":{"type":"default"}} -->
+       <div class="wp-block-query alignwide">
+               <!-- wp:post-template {"align":"wide"} -->
+                       <!-- wp:post-featured-image {"isLink":true,"width":"100%","height":"max(15vw, 30vh)","align":"wide"} /-->
+                       <!-- wp:post-title {"isLink":true} /-->
+                       <!-- wp:post-excerpt /-->
+                       <!-- wp:post-date {"isLink":true} /-->
+
+                       <!-- wp:spacer {"height":"var(--wp--preset--spacing--70)"} -->
+                       <div style="height:var(--wp--preset--spacing--70)" aria-hidden="true" class="wp-block-spacer"></div>
+                       <!-- /wp:spacer -->
+               <!-- /wp:post-template -->
+
+               <!-- wp:query-pagination {"paginationArrow":"arrow","layout":{"type":"flex","justifyContent":"space-between"}} -->
+                       <!-- wp:query-pagination-previous {"label":"Newer Posts"} /-->
+                       <!-- wp:query-pagination-next {"label":"Older Posts"} /-->
+               <!-- /wp:query-pagination -->
+
+               <!-- wp:query-no-results -->
+                       <!-- wp:pattern {"slug":"twentytwentythree/hidden-no-results-content"} /-->
+               <!-- /wp:query-no-results -->
+       </div>
+       <!-- /wp:query -->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/templates/single.html b/wp-content/themes/twentytwentythree/templates/single.html
new file mode 100644 (file)
index 0000000..33d4dd4
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
+
+<!-- wp:group {"tagName":"main","style":{"spacing":{"margin":{"top":"var:preset|spacing|50"}}}} -->
+<main class="wp-block-group" style="margin-top:var(--wp--preset--spacing--50)">
+       <!-- wp:group {"layout":{"type":"constrained"}} -->
+       <div class="wp-block-group">
+               <!-- wp:post-featured-image {"overlayColor":"contrast","dimRatio":50,"align":"wide","style":{"spacing":{"margin":{"bottom":"var:preset|spacing|50","top":"calc(-1 * var(--wp--preset--spacing--50))"}}}} /-->
+               <!-- wp:post-title {"level":1,"style":{"spacing":{"margin":{"bottom":"var:preset|spacing|40"}}}} /-->
+       </div>
+       <!-- /wp:group -->
+
+       <!-- wp:post-content {"layout":{"type":"constrained"}} /-->
+       <!-- wp:template-part {"slug":"post-meta"} /-->
+       <!-- wp:template-part {"slug":"comments","tagName":"section"} /-->
+</main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
diff --git a/wp-content/themes/twentytwentythree/theme.json b/wp-content/themes/twentytwentythree/theme.json
new file mode 100644 (file)
index 0000000..ba78a4a
--- /dev/null
@@ -0,0 +1,734 @@
+{
+       "$schema": "https://schemas.wp.org/trunk/theme.json",
+       "version": 2,
+       "customTemplates": [
+               {
+                       "name": "blank",
+                       "postTypes": [
+                               "page",
+                               "post"
+                       ],
+                       "title": "Blank"
+               },
+               {
+                       "name": "blog-alternative",
+                       "postTypes": [
+                               "page"
+                       ],
+                       "title": "Blog (Alternative)"
+               },
+               {
+                       "name": "404",
+                       "postTypes": [
+                               "page"
+                       ],
+                       "title": "404"
+               }
+       ],
+       "settings": {
+               "appearanceTools": true,
+               "color": {
+                       "palette": [
+                               {
+                                       "color": "#ffffff",
+                                       "name": "Base",
+                                       "slug": "base"
+                               },
+                               {
+                                       "color": "#000000",
+                                       "name": "Contrast",
+                                       "slug": "contrast"
+                               },
+                               {
+                                       "color": "#9DFF20",
+                                       "name": "Primary",
+                                       "slug": "primary"
+                               },
+                               {
+                                       "color": "#345C00",
+                                       "name": "Secondary",
+                                       "slug": "secondary"
+                               },
+                               {
+                                       "color": "#F6F6F6",
+                                       "name": "Tertiary",
+                                       "slug": "tertiary"
+                               }
+                       ]
+               },
+               "layout": {
+                       "contentSize": "650px",
+                       "wideSize": "1200px"
+               },
+               "spacing": {
+                       "spacingScale": {
+                               "steps": 0
+                       },
+                       "spacingSizes": [
+                               {
+                                       "size": "clamp(1.5rem, 5vw, 2rem)",
+                                       "slug": "30",
+                                       "name": "1"
+                               },
+                               {
+                                       "size": "clamp(1.8rem, 1.8rem + ((1vw - 0.48rem) * 2.885), 3rem)",
+                                       "slug": "40",
+                                       "name": "2"
+                               },
+                               {
+                                       "size": "clamp(2.5rem, 8vw, 4.5rem)",
+                                       "slug": "50",
+                                       "name": "3"
+                               },
+                               {
+                                       "size": "clamp(3.75rem, 10vw, 7rem)",
+                                       "slug": "60",
+                                       "name": "4"
+                               },
+                               {
+                                       "size": "clamp(5rem, 5.25rem + ((1vw - 0.48rem) * 9.096), 8rem)",
+                                       "slug": "70",
+                                       "name": "5"
+                               },
+                               {
+                                       "size": "clamp(7rem, 14vw, 11rem)",
+                                       "slug": "80",
+                                       "name": "6"
+                               }
+                       ],
+                       "units": [
+                               "%",
+                               "px",
+                               "em",
+                               "rem",
+                               "vh",
+                               "vw"
+                       ]
+               },
+               "typography": {
+                       "dropCap": false,
+                       "fluid": true,
+                       "fontFamilies": [
+                               {
+                                       "fontFace": [
+                                               {
+                                                       "fontFamily": "DM Sans",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "400",
+                                                       "src": [
+                                                               "file:./assets/fonts/dm-sans/DMSans-Regular.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontFamily": "DM Sans",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "italic",
+                                                       "fontWeight": "400",
+                                                       "src": [
+                                                               "file:./assets/fonts/dm-sans/DMSans-Regular-Italic.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontFamily": "DM Sans",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "700",
+                                                       "src": [
+                                                               "file:./assets/fonts/dm-sans/DMSans-Bold.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontFamily": "DM Sans",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "italic",
+                                                       "fontWeight": "700",
+                                                       "src": [
+                                                               "file:./assets/fonts/dm-sans/DMSans-Bold-Italic.woff2"
+                                                       ]
+                                               }
+                                       ],
+                                       "fontFamily": "\"DM Sans\", sans-serif",
+                                       "name": "DM Sans",
+                                       "slug": "dm-sans"
+                               },
+                               {
+                                       "fontFace": [
+                                               {
+                                                       "fontDisplay": "block",
+                                                       "fontFamily": "IBM Plex Mono",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "300",
+                                                       "src": [
+                                                               "file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontDisplay": "block",
+                                                       "fontFamily": "IBM Plex Mono",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "400",
+                                                       "src": [
+                                                               "file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontDisplay": "block",
+                                                       "fontFamily": "IBM Plex Mono",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "italic",
+                                                       "fontWeight": "400",
+                                                       "src": [
+                                                               "file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontDisplay": "block",
+                                                       "fontFamily": "IBM Plex Mono",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "700",
+                                                       "src": [
+                                                               "file:./assets/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2"
+                                                       ]
+                                               }
+                                       ],
+                                       "fontFamily": "'IBM Plex Mono', monospace",
+                                       "name": "IBM Plex Mono",
+                                       "slug": "ibm-plex-mono"
+                               },
+                               {
+                                       "fontFace": [
+                                               {
+                                                       "fontFamily": "Inter",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "200 900",
+                                                       "src": [
+                                                               "file:./assets/fonts/inter/Inter-VariableFont_slnt,wght.ttf"
+                                                       ]
+                                               }
+                                       ],
+                                       "fontFamily": "\"Inter\", sans-serif",
+                                       "name": "Inter",
+                                       "slug": "inter"
+                               },
+                               {
+                                       "fontFamily": "-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif",
+                                       "name": "System Font",
+                                       "slug": "system-font"
+                               },
+                               {
+                                       "fontFace": [
+                                               {
+                                                       "fontFamily": "Source Serif Pro",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "normal",
+                                                       "fontWeight": "200 900",
+                                                       "src": [
+                                                               "file:./assets/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2"
+                                                       ]
+                                               },
+                                               {
+                                                       "fontFamily": "Source Serif Pro",
+                                                       "fontStretch": "normal",
+                                                       "fontStyle": "italic",
+                                                       "fontWeight": "200 900",
+                                                       "src": [
+                                                               "file:./assets/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2"
+                                                       ]
+                                               }
+                                       ],
+                                       "fontFamily": "\"Source Serif Pro\", serif",
+                                       "name": "Source Serif Pro",
+                                       "slug": "source-serif-pro"
+                               }
+                       ],
+                       "fontSizes": [
+                               {
+                                       "fluid": {
+                                               "min": "0.875rem",
+                                               "max": "1rem"
+                                       },
+                                       "size": "1rem",
+                                       "slug": "small"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1rem",
+                                               "max": "1.125rem"
+                                       },
+                                       "size": "1.125rem",
+                                       "slug": "medium"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "1.75rem",
+                                               "max": "1.875rem"
+                                       },
+                                       "size": "1.75rem",
+                                       "slug": "large"
+                               },
+                               {
+                                       "fluid": false,
+                                       "size": "2.25rem",
+                                       "slug": "x-large"
+                               },
+                               {
+                                       "fluid": {
+                                               "min": "4rem",
+                                               "max": "10rem"
+                                       },
+                                       "size": "10rem",
+                                       "slug": "xx-large"
+                               }
+                       ]
+               },
+               "useRootPaddingAwareAlignments": true
+       },
+       "styles": {
+               "blocks": {
+                       "core/navigation": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/post-author": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/post-content": {
+                               "elements": {
+                                       "link": {
+                                               "color": {
+                                                       "text": "var(--wp--preset--color--secondary)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-excerpt": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)"
+                               }
+                       },
+                       "core/post-date": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                       "fontWeight": "400"
+                               },
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               },
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/post-terms": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/post-title": {
+                               "spacing": {
+                                       "margin": {
+                                               "bottom": "1.25rem",
+                                               "top": "1.25rem"
+                                       }
+                               },
+                               "typography": {
+                                       "fontWeight": "400"
+                               },
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--secondary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comments-title":{
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)"
+                               },
+                               "spacing": {
+                                       "margin": {
+                                               "bottom": "var(--wp--preset--spacing--40)"
+                                       }
+                               }
+                       },
+                       "core/comment-author-name": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--secondary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-date": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               },
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--secondary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/comment-edit-link": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/comment-reply-link": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)"
+                               }
+                       },
+                       "core/comments-pagination": {
+                               "spacing": {
+                                       "margin": {
+                                               "top": "var(--wp--preset--spacing--40)"
+                                       }
+                               },
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/pullquote": {
+                               "border": {
+                                       "style": "solid",
+                                       "width": "1px 0"
+                               },
+                               "elements": {
+                                       "cite": {
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                                       "fontStyle": "normal",
+                                                       "textTransform": "none"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "lineHeight": "1.3"
+                               },
+                               "spacing": {
+                                       "margin": {
+                                               "bottom": "var(--wp--preset--spacing--40) !important",
+                                               "top": "var(--wp--preset--spacing--40) !important"
+                                       }
+                               }
+                       },
+                       "core/query": {
+                               "elements": {
+                                       "h2": {
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--x-large)"
+                                               }
+                                       }
+                               }
+                       },
+                       "core/query-pagination": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                       "fontWeight": "400"
+                               },
+                               "elements": {
+                                       "link": {
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               },
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               }
+                                       }
+                               }
+                       },
+                       "core/quote": {
+                               "border": {
+                                       "width": "1px"
+                               },
+                               "elements": {
+                                       "cite": {
+                                               "typography": {
+                                                       "fontSize": "var(--wp--preset--font-size--small)",
+                                                       "fontStyle": "normal"
+                                               }
+                                       }
+                               },
+                               "spacing": {
+                                       "padding": {
+                                               "left": "var(--wp--preset--spacing--30)",
+                                               "right": "var(--wp--preset--spacing--30)"
+                                       }
+                               }
+                       },
+                       "core/site-title": {
+                               "elements": {
+                                       "link": {
+                                               ":hover": {
+                                                       "typography": {
+                                                               "textDecoration": "underline"
+                                                       }
+                                               },
+                                               ":focus": {
+                                                       "typography": {
+                                                               "textDecoration": "underline dashed"
+                                                       }
+                                               },
+                                               ":active": {
+                                                       "color": {
+                                                               "text": "var(--wp--preset--color--secondary)"
+                                                       },
+                                                       "typography": {
+                                                               "textDecoration": "none"
+                                                       }
+                                               },
+                                               "typography": {
+                                                       "textDecoration": "none"
+                                               }
+                                       }
+                               },
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)",
+                                       "fontWeight": "normal",
+                                       "lineHeight": "1.4"
+                               }
+                       }
+               },
+               "color": {
+                       "background": "var(--wp--preset--color--base)",
+                       "text": "var(--wp--preset--color--contrast)"
+               },
+               "elements": {
+                       "button": {
+                               "border": {
+                                       "radius": "0"
+                               },
+                               "color": {
+                                       "background": "var(--wp--preset--color--primary)",
+                                       "text": "var(--wp--preset--color--contrast)"
+                               },
+                               ":hover": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               },
+                               ":focus": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--contrast)",
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               },
+                               ":active": {
+                                       "color": {
+                                               "background": "var(--wp--preset--color--secondary)",
+                                               "text": "var(--wp--preset--color--base)"
+                                       }
+                               },
+                               ":visited": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--contrast)"
+                                       }
+                               }
+                       },
+                       "h1": {
+                               "typography": {
+                                       "fontSize": "3.625rem",
+                                       "lineHeight": "1.2"
+                               }
+                       },
+                       "h2": {
+                               "typography": {
+                                       "fontSize": "clamp(2.625rem, calc(2.625rem + ((1vw - 0.48rem) * 8.4135)), 3.25rem)",
+                                       "lineHeight": "1.2"
+                               }
+                       },
+                       "h3": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--x-large)"
+                               }
+                       },
+                       "h4": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--large)"
+                               }
+                       },
+                       "h5": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)",
+                                       "fontWeight": "700",
+                                       "textTransform": "uppercase"
+                               }
+                       },
+                       "h6": {
+                               "typography": {
+                                       "fontSize": "var(--wp--preset--font-size--medium)",
+                                       "textTransform": "uppercase"
+                               }
+                       },
+                       "heading": {
+                               "typography": {
+                                       "fontWeight": "400",
+                                       "lineHeight": "1.4"
+                               }
+                       },
+                       "link": {
+                               "color": {
+                                       "text": "var(--wp--preset--color--contrast)"
+                               },
+                               ":hover": {
+                                       "typography": {
+                                               "textDecoration": "none"
+                                       }
+                               },
+                               ":focus": {
+                                       "typography": {
+                                               "textDecoration": "underline dashed"
+                                       }
+                               },
+                               ":active": {
+                                       "color": {
+                                               "text": "var(--wp--preset--color--secondary)"
+                                       },
+                                       "typography": {
+                                               "textDecoration": "none"
+                                       }
+                               },
+                               "typography": {
+                                       "textDecoration": "underline"
+                               }
+                       }
+               },
+               "spacing": {
+                       "blockGap": "1.5rem",
+                       "padding": {
+                               "top": "var(--wp--preset--spacing--40)",
+                               "right": "var(--wp--preset--spacing--30)",
+                               "bottom": "var(--wp--preset--spacing--40)",
+                               "left": "var(--wp--preset--spacing--30)"
+                       }
+               },
+               "typography": {
+                       "fontFamily": "var(--wp--preset--font-family--system-font)",
+                       "fontSize": "var(--wp--preset--font-size--medium)",
+                       "lineHeight": "1.6"
+               }
+       },
+       "templateParts": [
+               {
+                       "area": "header",
+                       "name": "header",
+                       "title": "Header"
+               },
+               {
+                       "area": "footer",
+                       "name": "footer",
+                       "title": "Footer"
+               },
+               {
+                       "area": "uncategorized",
+                       "name": "comments",
+                       "title": "Comments"
+               },
+               {
+                       "area": "uncategorized",
+                       "name": "post-meta",
+                       "title": "Post Meta"
+               }
+       ]
+}