This commit is contained in:
2024-05-20 15:37:46 +03:00
commit 00b7dbd0b7
10404 changed files with 3285853 additions and 0 deletions

View File

@ -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 themes 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.0
Requires PHP: 5.6
Version: 1.7
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.
*/

View File

@ -0,0 +1 @@
// Do we need to serve a font? Add the @font-face styles here.

View File

@ -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
}
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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;
}
}
}

View File

@ -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%;
}

View File

@ -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));
}
}
}

View File

@ -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));
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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";

View File

@ -0,0 +1,7 @@
.wp-block-audio {
audio:focus {
outline-offset: 5px;
outline: 2px solid var(--global--color-primary);
}
}

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,10 @@
.wp-block-gallery {
figcaption {
margin-bottom: 0;
a {
color: var(--global--color-white);
}
}
}

View File

@ -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;
}
}
}

View File

@ -0,0 +1,45 @@
.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.
&.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%;
}

View File

@ -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));
}
}
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;
}
}
}
}

View File

@ -0,0 +1,3 @@
.wp-block-latest-comments {
padding-left: 0;
}

View File

@ -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;
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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));
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -0,0 +1,45 @@
.wp-block-navigation {
.wp-block-navigation__container {
background: var(--global--color-background);
padding: 0;
}
.wp-block-navigation-link {
.wp-block-navigation-link__content {
padding: var(--primary-nav--padding);
}
.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;
}
}
}

View File

@ -0,0 +1,128 @@
.wp-block-navigation {
.wp-block-navigation-link {
padding: 0;
.wp-block-navigation-link__content {
padding: var(--primary-nav--padding);
}
.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;
margin-left: var(--primary-nav--padding);
min-width: max-content;
opacity: 0;
padding: 0;
position: inherit;
top: inherit;
.wp-block-navigation-link {
.wp-block-navigation-link__content {
display: inline-block;
padding: calc(0.5 * var(--primary-nav--padding)) var(--primary-nav--padding);
}
}
.wp-block-navigation-link__submenu-icon {
display: none;
}
}
&:hover,
&:focus-within {
.wp-block-navigation__container {
display: block;
opacity: 1;
visibility: visible;
}
}
}
> .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;
}
}
}

View File

@ -0,0 +1,7 @@
p {
line-height: var(--wp--typography--line-height, var(--global--line-height-body));
&.has-background {
padding: var(--global--spacing-unit);
}
}

View File

@ -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));
}
}

View File

@ -0,0 +1,6 @@
pre.wp-block-preformatted {
overflow-x: auto;
white-space: pre !important;
font-size: var(--global--font-size-xs);
}

View File

@ -0,0 +1,4 @@
pre.wp-block-preformatted {
overflow-x: auto;
white-space: pre;
}

View File

@ -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);
}
}

View File

@ -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;
}
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,6 @@
.wp-block-tag-cloud {
&.aligncenter {
text-align: center;
}
}

View File

@ -0,0 +1,7 @@
.wp-block-tag-cloud {
&.alignfull {
padding-left: var(--global--spacing-unit);
padding-right: var(--global--spacing-unit);
}
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,4 @@
pre.wp-block-verse {
padding: 0;
color: currentColor;
}

View File

@ -0,0 +1,3 @@
.wp-block-verse {
font-family: var(--entry-content--font-family);
}

View File

@ -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;
}

View File

@ -0,0 +1,4 @@
.error404 main p {
font-size: var(--global--font-size-lg);
margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667);
}

View File

@ -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);
}

View File

@ -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;
}
}
}

View File

@ -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;
}

View File

@ -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));
}
}
}

View File

@ -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;
}
}

View File

@ -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));
}
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}
}

View File

@ -0,0 +1,3 @@
.search-no-results .page-content {
margin-top: calc(3 * var(--global--spacing-vertical));
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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));
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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;
}
}
}
}

View File

@ -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";

Some files were not shown because too many files have changed in this diff Show More