Przeglądaj źródła

Stow: Add FSE support (#1680)

Add FSE support.
Noah Allen 5 lat temu
rodzic
commit
423586cf84

+ 13 - 0
stow/header.php

@@ -23,6 +23,17 @@
 <div id="page" class="site">
 <div id="page" class="site">
 	<a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'varia' ); ?></a>
 	<a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'varia' ); ?></a>
 
 
+	<?php if ( class_exists( 'A8C\FSE\WP_Template' ) ) : // If the FSE plugin is active, use the Header template for content. ?>
+
+		<header id="masthead" class="fse-template-part fse-header entry-content">
+			<?php
+				$template = new A8C\FSE\WP_Template();
+				$template->output_template_content( A8C\FSE\WP_Template::HEADER );
+			?>
+		</header>
+
+	<?php else : // Otherwise we'll fallback to the default Stow header below. ?>
+
 		<header id="masthead" class="site-header">
 		<header id="masthead" class="site-header">
 
 
 			<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
 			<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
@@ -67,4 +78,6 @@
 
 
 		</header><!-- #masthead -->
 		</header><!-- #masthead -->
 
 
+	<?php endif; ?>
+
 	<div id="content" class="site-content">
 	<div id="content" class="site-content">

+ 11 - 30
stow/package-lock.json

@@ -1472,8 +1472,7 @@
         "ansi-regex": {
         "ansi-regex": {
           "version": "2.1.1",
           "version": "2.1.1",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "aproba": {
         "aproba": {
           "version": "1.2.0",
           "version": "1.2.0",
@@ -1494,14 +1493,12 @@
         "balanced-match": {
         "balanced-match": {
           "version": "1.0.0",
           "version": "1.0.0",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "brace-expansion": {
         "brace-expansion": {
           "version": "1.1.11",
           "version": "1.1.11",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "balanced-match": "^1.0.0",
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
             "concat-map": "0.0.1"
@@ -1516,20 +1513,17 @@
         "code-point-at": {
         "code-point-at": {
           "version": "1.1.0",
           "version": "1.1.0",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "concat-map": {
         "concat-map": {
           "version": "0.0.1",
           "version": "0.0.1",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "console-control-strings": {
         "console-control-strings": {
           "version": "1.1.0",
           "version": "1.1.0",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "core-util-is": {
         "core-util-is": {
           "version": "1.0.2",
           "version": "1.0.2",
@@ -1646,8 +1640,7 @@
         "inherits": {
         "inherits": {
           "version": "2.0.3",
           "version": "2.0.3",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "ini": {
         "ini": {
           "version": "1.3.5",
           "version": "1.3.5",
@@ -1659,7 +1652,6 @@
           "version": "1.0.0",
           "version": "1.0.0",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "number-is-nan": "^1.0.0"
             "number-is-nan": "^1.0.0"
           }
           }
@@ -1674,7 +1666,6 @@
           "version": "3.0.4",
           "version": "3.0.4",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "brace-expansion": "^1.1.7"
             "brace-expansion": "^1.1.7"
           }
           }
@@ -1682,14 +1673,12 @@
         "minimist": {
         "minimist": {
           "version": "0.0.8",
           "version": "0.0.8",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "minipass": {
         "minipass": {
           "version": "2.3.5",
           "version": "2.3.5",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "safe-buffer": "^5.1.2",
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
             "yallist": "^3.0.0"
@@ -1708,7 +1697,6 @@
           "version": "0.5.1",
           "version": "0.5.1",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "minimist": "0.0.8"
             "minimist": "0.0.8"
           }
           }
@@ -1789,8 +1777,7 @@
         "number-is-nan": {
         "number-is-nan": {
           "version": "1.0.1",
           "version": "1.0.1",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "object-assign": {
         "object-assign": {
           "version": "4.1.1",
           "version": "4.1.1",
@@ -1802,7 +1789,6 @@
           "version": "1.4.0",
           "version": "1.4.0",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "wrappy": "1"
             "wrappy": "1"
           }
           }
@@ -1888,8 +1874,7 @@
         "safe-buffer": {
         "safe-buffer": {
           "version": "5.1.2",
           "version": "5.1.2",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "safer-buffer": {
         "safer-buffer": {
           "version": "2.1.2",
           "version": "2.1.2",
@@ -1925,7 +1910,6 @@
           "version": "1.0.2",
           "version": "1.0.2",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "code-point-at": "^1.0.0",
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -1945,7 +1929,6 @@
           "version": "3.0.1",
           "version": "3.0.1",
           "bundled": true,
           "bundled": true,
           "dev": true,
           "dev": true,
-          "optional": true,
           "requires": {
           "requires": {
             "ansi-regex": "^2.0.0"
             "ansi-regex": "^2.0.0"
           }
           }
@@ -1989,14 +1972,12 @@
         "wrappy": {
         "wrappy": {
           "version": "1.0.2",
           "version": "1.0.2",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         },
         "yallist": {
         "yallist": {
           "version": "3.0.3",
           "version": "3.0.3",
           "bundled": true,
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         }
         }
       }
       }
     },
     },

+ 84 - 79
stow/sass/_extra-child-theme.scss

@@ -57,12 +57,6 @@ a {
 	background-color: #{map-deep-get($config-global, "color", "white")};
 	background-color: #{map-deep-get($config-global, "color", "white")};
 	padding: 0;
 	padding: 0;
 
 
-	.site-title {
-		font-size: #{map-deep-get($config-global, "font", "size", "xxl")};
-	}
-	.site-description {
-		color: #333;
-	}
 	.site-branding {
 	.site-branding {
 		text-align: center;
 		text-align: center;
 		background: #fff;
 		background: #fff;
@@ -90,6 +84,16 @@ a {
 	}
 	}
 }
 }
 
 
+body:not( .fse-enabled ) {
+	.site-title {
+		font-size: #{map-deep-get($config-global, "font", "size", "xxl")};
+	}
+
+	.site-description {
+		color: #333;
+	}
+}
+
 /**
 /**
  * 3. Main Wrapper and Content
  * 3. Main Wrapper and Content
  */
  */
@@ -121,43 +125,27 @@ a {
 /**
 /**
  * 4.1 Main Navigation
  * 4.1 Main Navigation
  */
  */
-#site-navigation {
-
-	background-color: #{map-deep-get($config-global, "color", "secondary", "default")};
-	border-bottom: 2px solid rgba(0,0,0,.15);
-	margin-left: 0;
-	margin-right: 0;
-	text-align: center;
-
-	& > div {
-		text-align: left;
-	}
-
-	&.main-navigation {
-
+body:not( .fse-enabled ) {
+	#site-navigation, .main-navigation {
+		background-color: #{map-deep-get($config-global, "color", "secondary", "default")};
+		border-bottom: 2px solid rgba(0,0,0,.15);
+		margin-left: 0;
+		margin-right: 0;
+		text-align: center;
+	
 		& > div {
 		& > div {
-			padding-left: #{map-deep-get($config-global, "spacing", "unit")};
-			padding-right: #{map-deep-get($config-global, "spacing", "unit")};
+			text-align: left;
 		}
 		}
-
-		ul {
-			li {
-				&.current-menu-item {
-					a {
-						color: #{map-deep-get($config-global, "color", "secondary", "hover")};
-					}
-				}
-				a {
-					color: #{map-deep-get($config-global, "color", "white")};
-					text-decoration: none;
-					&:hover {
-						color: #{map-deep-get($config-global, "color", "secondary", "hover")};
-					}
-				}
-				@include media(mobile) {
-					padding-left: 0;
-					padding-right: 0;
-					list-style-type: disc;
+	
+		&.main-navigation {
+	
+			& > div {
+				padding-left: #{map-deep-get($config-global, "spacing", "unit")};
+				padding-right: #{map-deep-get($config-global, "spacing", "unit")};
+			}
+	
+			ul {
+				li {
 					&.current-menu-item {
 					&.current-menu-item {
 						a {
 						a {
 							color: #{map-deep-get($config-global, "color", "secondary", "hover")};
 							color: #{map-deep-get($config-global, "color", "secondary", "hover")};
@@ -165,63 +153,80 @@ a {
 					}
 					}
 					a {
 					a {
 						color: #{map-deep-get($config-global, "color", "white")};
 						color: #{map-deep-get($config-global, "color", "white")};
-						font-size: #{map-deep-get($config-global, "font", "size", "sm")};
+						text-decoration: none;
 						&:hover {
 						&:hover {
 							color: #{map-deep-get($config-global, "color", "secondary", "hover")};
 							color: #{map-deep-get($config-global, "color", "secondary", "hover")};
 						}
 						}
-						&::after {
-							color: #ffa4ad;
-							content: " \2022";
-							margin-left: #{map-deep-get($config-global, "spacing", "unit")};
-							display: inline;
-							font-size: #{map-deep-get($config-global, "font", "size", "base")};
-						}
 					}
 					}
-					&:last-child {
+					@include media(mobile) {
+						padding-left: 0;
+						padding-right: 0;
+						list-style-type: disc;
+						&.current-menu-item {
+							a {
+								color: #{map-deep-get($config-global, "color", "secondary", "hover")};
+							}
+						}
 						a {
 						a {
+							color: #{map-deep-get($config-global, "color", "white")};
+							font-size: #{map-deep-get($config-global, "font", "size", "sm")};
+							&:hover {
+								color: #{map-deep-get($config-global, "color", "secondary", "hover")};
+							}
 							&::after {
 							&::after {
-								content: "";
-								margin-left: 0;
+								color: #ffa4ad;
+								content: " \2022";
+								margin-left: #{map-deep-get($config-global, "spacing", "unit")};
+								display: inline;
+								font-size: #{map-deep-get($config-global, "font", "size", "base")};
 							}
 							}
 						}
 						}
-					}
-				}
-			}
-			ul {
-				@include media(mobile) {
-					background-color: #{map-deep-get($config-global, "color", "white")};
-					li {
-						&.current-menu-item {
+						&:last-child {
 							a {
 							a {
-								color: #{map-deep-get($config-global, "color", "secondary", "default")};
+								&::after {
+									content: "";
+									margin-left: 0;
+								}
 							}
 							}
 						}
 						}
-						a {
-							color: #{map-deep-get($config-global, "color", "secondary", "hover")};
-							&::after {
-								content: "";
+					}
+				}
+				ul {
+					@include media(mobile) {
+						background-color: #{map-deep-get($config-global, "color", "white")};
+						li {
+							&.current-menu-item {
+								a {
+									color: #{map-deep-get($config-global, "color", "secondary", "default")};
+								}
+							}
+							a {
+								color: #{map-deep-get($config-global, "color", "secondary", "hover")};
+								&::after {
+									content: "";
+								}
+								&:hover {
+									color: #{map-deep-get($config-global, "color", "primary", "hover")};
+								}
 							}
 							}
 							&:hover {
 							&:hover {
-								color: #{map-deep-get($config-global, "color", "primary", "hover")};
+								background: #f2f2f2;
 							}
 							}
 						}
 						}
-						&:hover {
-							background: #f2f2f2;
-						}
 					}
 					}
 				}
 				}
 			}
 			}
-		}
-		.main-menu {
-			& > li > a {
-				padding-left: 0;
+			.main-menu {
+				& > li > a {
+					padding-left: 0;
+				}
+			}
+			#toggle-menu {
+				border-radius: 0;
+				width: 100% !important;
+				text-align: center;
+				font-size: map-deep-get($config-header, "main-nav", "font", "size");
 			}
 			}
-		}
-		#toggle-menu {
-			border-radius: 0;
-			width: 100% !important;
-			text-align: center;
-			font-size: map-deep-get($config-header, "main-nav", "font", "size");
 		}
 		}
 	}
 	}
 }
 }

+ 61 - 0
stow/sass/_full-site-editing-editor.scss

@@ -0,0 +1,61 @@
+@import "../../varia/sass/full-site-editing/editor";
+
+.fse-template-part {
+	.has-normal-font-size {
+		font-size: map-deep-get($config-global, "font", "size", "md");
+	}
+
+	.main-navigation {
+		.alignwide, .alignfull {
+			width: 100%;
+		}
+	
+		a {
+			text-decoration: none;
+			text-transform: uppercase;
+		}
+	
+		.has-background > .main-menu.footer-menu {
+			padding: 0;
+		}
+	}
+	
+	&.fse-header .main-navigation {
+		border-bottom: 2px solid rgba(0,0,0,.15);
+	
+		div ul li {
+			@include media(mobile) {
+				a::after {
+					color: #ffa4ad;
+					content: " \2022";
+					margin-left: #{map-deep-get($config-global, "spacing", "unit")};
+					display: inline;
+				}
+				&:last-child a::after {
+					content: "";
+					margin-left: 0;
+				}
+			}
+		}
+	}
+	
+	.wp-block-cover,
+	.wp-block-cover-image {
+		.site-title {
+			font-weight: #{map-deep-get($config-heading, "font", "weight")};
+		}
+
+		.has-background {
+			text-shadow: none;
+		}
+	}
+}
+
+.template-block {
+	.wp-block-social-links {
+		margin-top: 20px;
+	}
+}
+.post-content__block {
+	margin-top: -36px;
+}

+ 80 - 0
stow/sass/_full-site-editing.scss

@@ -0,0 +1,80 @@
+@import "../../varia/sass/full-site-editing/imports";
+
+$spacing_vertical: map-deep-get($config-global, "spacing", "vertical");
+
+.fse-enabled.home.page.hide-homepage-title .fse-header.entry-content {
+	padding-bottom: $spacing_vertical;
+	@include media(mobile) {
+		padding-bottom: #{1.5 * $spacing_vertical};
+	}
+}
+
+.fse-template-part {
+	.wp-block-social-links {
+		margin-top: 10px; // Makes it match the editor.
+	}
+
+	&.fse-footer .main-navigation {
+		border-bottom: none;
+	}
+
+	.main-navigation {
+		.alignwide, .alignfull {
+			width: 100%;
+		}
+	
+		a {
+			text-decoration: none;
+			text-transform: uppercase;
+		}
+	
+		.has-background > .main-menu.footer-menu {
+			padding: 0;
+		}
+	}
+	
+	&.fse-header .main-navigation {
+		border-bottom: 2px solid rgba(0,0,0,.15);
+	
+		div ul li {
+			@include media(mobile) {
+				a::after {
+					color: #ffa4ad;
+					content: " \2022";
+					margin-left: #{map-deep-get($config-global, "spacing", "unit")};
+					display: inline;
+				}
+				&:last-child a::after {
+					content: "";
+					margin-left: 0;
+				}
+			}
+		}
+	}
+	
+
+	@include media(mobile-only) {
+		max-width: calc( 100% - #{ $spacing_vertical } );
+
+		.main-navigation > div {
+			padding: 0 32px;
+		}
+	}
+
+	.main-navigation {
+		.has-background > .main-menu.footer-menu {
+			padding: 0;
+		}	
+	}
+
+	.wp-block-cover,
+	.wp-block-cover-image {
+		.site-title a {
+			text-decoration: none;
+		}
+
+		.has-background {
+			text-shadow: none;
+		}
+	}
+}

+ 33 - 0
stow/sass/_site-navigation.scss

@@ -0,0 +1,33 @@
+.main-navigation {
+    .alignwide, .alignfull {
+        width: 100%;
+    }
+
+    a {
+        text-decoration: none;
+        text-transform: uppercase;
+    }
+
+    .has-background > .main-menu.footer-menu {
+        padding: 0;
+    }
+}
+
+.fse-header .main-navigation {
+    border-bottom: 2px solid rgba(0,0,0,.15);
+
+    div ul li {
+        @include media(mobile) {
+            a::after {
+                color: #ffa4ad;
+                content: " \2022";
+                margin-left: #{map-deep-get($config-global, "spacing", "unit")};
+                display: inline;
+            }
+            &:last-child a::after {
+                content: "";
+                margin-left: 0;
+            }
+        }
+    }
+}

+ 7 - 1
stow/sass/style-child-theme-editor.scss

@@ -178,4 +178,10 @@ a {
 		border: none;
 		border: none;
 		box-shadow: none;
 		box-shadow: none;
 	}
 	}
-}
+}
+
+/**
+ * Full Site Editing
+ * - Full Site Editing overrides
+ */
+ @import "full-site-editing-editor";

+ 7 - 1
stow/sass/style-child-theme.scss

@@ -10,7 +10,7 @@ License: GNU General Public License v2 or later
 License URI: LICENSE
 License URI: LICENSE
 Template: varia
 Template: varia
 Text Domain: stow
 Text Domain: stow
-Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, auto-loading-homepage, jetpack-global-styles
+Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, auto-loading-homepage, jetpack-global-styles, full-site-editing
 
 
 This theme, like WordPress, is licensed under the GPL.
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
 Use it to make something cool, have fun, and share what you've learned with others.
@@ -88,3 +88,9 @@ Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
  * Child Theme Extra Styles
  * Child Theme Extra Styles
  */
  */
 @import "extra-child-theme";
 @import "extra-child-theme";
+
+/**
+ * Full Site Editing
+ * - Full Site Editing overrides
+ */
+ @import "full-site-editing";

+ 434 - 0
stow/style-editor.css

@@ -1,3 +1,4 @@
+@charset "UTF-8";
 /**
 /**
  * These styles should be loaded by the Block Editor only
  * These styles should be loaded by the Block Editor only
  */
  */
@@ -1143,3 +1144,436 @@ a {
 	background-color: #4f4f4f;
 	background-color: #4f4f4f;
 	opacity: 1;
 	opacity: 1;
 }
 }
+
+/**
+ * Full Site Editing
+ * - Full Site Editing overrides
+ */
+@media (min-width: 600px) {
+	.a8c-template-editor .block-editor-block-list__layout .block-editor-block-list__block[data-align="full"] .block-editor-block-list__layout .block-editor-block-list__block[data-align="full"] {
+		margin-left: 0;
+		margin-right: 0;
+	}
+}
+
+.a8c-template-editor .block-editor-block-list__block-edit [data-block] {
+	margin: 12px 0 0 0;
+}
+
+.template-block .fse-template-part {
+	padding: 16px;
+}
+
+@media only screen and (min-width: 560px) {
+	.template-block .fse-template-part {
+		padding: 32px 0;
+	}
+}
+
+.template-block .fse-template-part figure.fse-site-logo {
+	width: auto;
+}
+
+.template-block .fse-template-part .block-list-appender {
+	display: none;
+}
+
+.template-block .fse-template-part .wp-block-column .block-editor-block-list__layout [data-type='a8c/site-title']:first-child .site-title {
+	margin-top: 0;
+}
+
+.fse-template-part .wp-block-cover .site-title,
+.fse-template-part .wp-block-cover .site-description,
+.fse-template-part .wp-block-cover-image .site-title,
+.fse-template-part .wp-block-cover-image .site-description {
+	background: transparent;
+	color: inherit;
+}
+
+.fse-template-part .block-editor-block-list__layout .block-editor-block-list__block[data-align='full'] > .block-editor-block-list__block-edit figure.fse-site-logo {
+	width: auto;
+}
+
+.fse-template-part .wp-block-column {
+	width: 100%;
+}
+
+.fse-template-part .wp-block-columns .wp-block-column > * {
+	margin: 0 0 5px 0;
+}
+
+.fse-template-part .main-navigation {
+	color: #444444;
+}
+
+.fse-template-part .main-navigation > div {
+	display: none;
+}
+
+.fse-template-part .main-navigation #toggle-menu {
+	display: inline-block;
+	margin: 0;
+}
+
+.fse-template-part .main-navigation #toggle:checked ~ div:not(.woocommerce-menu-container) {
+	display: block;
+}
+
+.fse-template-part .main-navigation #toggle:focus + #toggle-menu {
+	background-color: #f25f70;
+	outline: inherit;
+	text-decoration: underline;
+}
+
+.fse-template-part .main-navigation .dropdown-icon.close {
+	display: none;
+}
+
+.fse-template-part .main-navigation #toggle:checked + #toggle-menu .open {
+	display: none;
+}
+
+.fse-template-part .main-navigation #toggle:checked + #toggle-menu .close {
+	display: inline;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation > div {
+		display: inline-block;
+	}
+	.fse-template-part .main-navigation #toggle-menu {
+		display: none;
+	}
+	.fse-template-part .main-navigation > div > ul > li > ul {
+		display: none;
+	}
+}
+
+.fse-template-part .main-navigation > div > ul {
+	display: flex;
+	flex-wrap: wrap;
+	list-style: none;
+	margin: 0;
+	max-width: none;
+	padding-left: 0;
+	position: relative;
+	/* Sub-menus Flyout */
+}
+
+.fse-template-part .main-navigation > div > ul ul {
+	padding-left: 0;
+}
+
+.fse-template-part .main-navigation > div > ul li {
+	display: block;
+	position: relative;
+	width: 100%;
+	z-index: 1;
+}
+
+.fse-template-part .main-navigation > div > ul li:hover, .fse-template-part .main-navigation > div > ul li[focus-within] {
+	cursor: pointer;
+	z-index: 99999;
+}
+
+.fse-template-part .main-navigation > div > ul li:hover, .fse-template-part .main-navigation > div > ul li:focus-within {
+	cursor: pointer;
+	z-index: 99999;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation > div > ul li {
+		display: inherit;
+		width: inherit;
+		/* Submenu display */
+	}
+	.fse-template-part .main-navigation > div > ul li:hover > ul,
+	.fse-template-part .main-navigation > div > ul li[focus-within] > ul,
+	.fse-template-part .main-navigation > div > ul li ul:hover,
+	.fse-template-part .main-navigation > div > ul li ul:focus {
+		visibility: visible;
+		opacity: 1;
+		display: block;
+	}
+	.fse-template-part .main-navigation > div > ul li:hover > ul,
+	.fse-template-part .main-navigation > div > ul li:focus-within > ul,
+	.fse-template-part .main-navigation > div > ul li ul:hover,
+	.fse-template-part .main-navigation > div > ul li ul:focus {
+		visibility: visible;
+		opacity: 1;
+		display: block;
+	}
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation > div > ul > li > a {
+		line-height: 1;
+	}
+	.fse-template-part .main-navigation > div > ul > li > a:before, .fse-template-part .main-navigation > div > ul > li > a:after {
+		content: '';
+		display: block;
+		height: 0;
+		width: 0;
+	}
+	.fse-template-part .main-navigation > div > ul > li > a:before {
+		margin-bottom: -0.12em;
+	}
+	.fse-template-part .main-navigation > div > ul > li > a:after {
+		margin-top: -0.11em;
+	}
+	.fse-template-part .main-navigation > div > ul > li:first-of-type > a {
+		padding-left: 0;
+	}
+	.fse-template-part .main-navigation > div > ul > li:last-of-type > a {
+		padding-right: 0;
+	}
+}
+
+.fse-template-part .main-navigation > div > ul > li > .sub-menu {
+	margin: 0;
+	position: relative;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation > div > ul > li > .sub-menu {
+		background: white;
+		box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.2);
+		left: 0;
+		top: 100%;
+		min-width: max-content;
+		opacity: 0;
+		position: absolute;
+		transition: all 0.5s ease;
+		visibility: hidden;
+	}
+}
+
+.fse-template-part .main-navigation > div > ul > li > .sub-menu .sub-menu {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation a {
+	color: #404040;
+	display: block;
+	font-family: "Source Sans Pro", Arial, sans-serif;
+	font-family: var(--font-base, "Source Sans Pro", Arial, sans-serif);
+	font-weight: 700;
+	padding: 8px 0;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation a {
+		padding: 16px;
+	}
+}
+
+.fse-template-part .main-navigation a:link, .fse-template-part .main-navigation a:visited {
+	color: #404040;
+}
+
+.fse-template-part .main-navigation a:hover {
+	color: #f25f70;
+}
+
+.fse-template-part .main-navigation .sub-menu {
+	list-style: none;
+	margin-left: 0;
+	/* Reset the counter for each UL */
+	counter-reset: nested-list;
+}
+
+.fse-template-part .main-navigation .sub-menu .menu-item a {
+	padding-top: 8px;
+	padding-bottom: 8px;
+}
+
+.fse-template-part .main-navigation .sub-menu .menu-item a::before {
+	/* Increment the dashes */
+	counter-increment: nested-list;
+	/* Insert dashes with spaces in between */
+	content: "– " counters(nested-list, "– ", none);
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation > div > ul > .menu-item-has-children > a::after {
+		content: "\00a0\25BC";
+		display: inline-block;
+		font-size: 0.69444rem;
+		height: inherit;
+		width: inherit;
+	}
+}
+
+.fse-template-part .main-navigation .hide-visually {
+	position: absolute !important;
+	clip: rect(1px, 1px, 1px, 1px);
+	padding: 0 !important;
+	border: 0 !important;
+	height: 1px !important;
+	width: 1px !important;
+	overflow: hidden;
+}
+
+.fse-template-part body:not(.fse-enabled) .main-navigation a {
+	font-size: 1.2rem;
+}
+
+.fse-template-part .main-navigation {
+	text-align: center;
+	/**
+ * Button Placeholder style
+ * - Since buttons appear in various blocks,
+ *   let’s use a placeholder to keep them all
+ *   in-sync
+ */
+	/**
+ * Onsale Placeholder style
+ * - Since buttons appear in various blocks,
+ *   let’s use a placeholder to keep them all
+ *   in-sync
+ */
+}
+
+.fse-template-part .main-navigation .alignwide, .fse-template-part .main-navigation .alignfull {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation .button {
+	line-height: 1;
+	color: white;
+	cursor: pointer;
+	font-weight: 600;
+	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+	font-family: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif);
+	font-size: 0.69444rem;
+	background-color: #f25f70;
+	border-radius: 9px;
+	border-width: 0;
+	padding: 16px 16px;
+}
+
+.fse-template-part .main-navigation .button:before, .fse-template-part .main-navigation .button:after {
+	content: '';
+	display: block;
+	height: 0;
+	width: 0;
+}
+
+.fse-template-part .main-navigation .button:before {
+	margin-bottom: -0.12em;
+}
+
+.fse-template-part .main-navigation .button:after {
+	margin-top: -0.11em;
+}
+
+.fse-template-part .main-navigation .button:hover, .fse-template-part .main-navigation .button:focus, .fse-template-part .main-navigation .has-focus.button {
+	color: white;
+	background-color: #4f4f4f;
+}
+
+.fse-template-part .main-navigation .main-menu.footer-menu li a {
+	font-size: inherit;
+}
+
+.fse-template-part .main-navigation .main-menu.footer-menu li.menu-item-has-children > a::after {
+	font-size: 0.6em;
+	vertical-align: middle;
+}
+
+.fse-template-part .main-navigation .has-text-color > .main-menu.footer-menu > li > a {
+	color: inherit;
+}
+
+.fse-template-part .main-navigation .has-text-align-left > .main-menu.footer-menu {
+	justify-content: flex-start;
+}
+
+.fse-template-part .main-navigation .has-text-align-center > .main-menu.footer-menu {
+	justify-content: center;
+}
+
+.fse-template-part .main-navigation .has-text-align-right > .main-menu.footer-menu {
+	justify-content: flex-end;
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 16px;
+}
+
+@media only screen and (min-width: 560px) {
+	.a8c-template-editor.fse-header .block-editor-block-list__layout > .block-editor-block-list__block.is-selected:first-child[data-align='full'] > .block-editor-block-list__block-edit > [data-block] {
+		margin-top: 14px;
+	}
+	.a8c-template-editor.fse-header .block-editor-block-list__layout > .block-editor-block-list__block:not(.is-selected):first-child[data-align='full'] > .block-editor-block-list__block-edit > [data-block] {
+		margin-top: 0;
+	}
+}
+
+.template-block .fse-header .block-editor-block-list__layout > .block-editor-block-list__block:first-child[data-align='full'] {
+	margin-top: -16px;
+}
+
+@media only screen and (min-width: 560px) {
+	.template-block .fse-header .block-editor-block-list__layout > .block-editor-block-list__block:first-child[data-align='full'] {
+		margin-top: -32px;
+	}
+}
+
+.post-content__block {
+	margin-bottom: 160px;
+	margin-top: 36px;
+	z-index: 20;
+}
+
+.fse-template-part .has-normal-font-size {
+	font-size: 1.2rem;
+}
+
+.fse-template-part .main-navigation .alignwide, .fse-template-part .main-navigation .alignfull {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation a {
+	text-decoration: none;
+	text-transform: uppercase;
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 0;
+}
+
+.fse-template-part.fse-header .main-navigation {
+	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part.fse-header .main-navigation div ul li a::after {
+		color: #ffa4ad;
+		content: " \2022";
+		margin-left: 16px;
+		display: inline;
+	}
+	.fse-template-part.fse-header .main-navigation div ul li:last-child a::after {
+		content: "";
+		margin-left: 0;
+	}
+}
+
+.fse-template-part .wp-block-cover .site-title,
+.fse-template-part .wp-block-cover-image .site-title {
+	font-weight: 300;
+}
+
+.fse-template-part .wp-block-cover .has-background,
+.fse-template-part .wp-block-cover-image .has-background {
+	text-shadow: none;
+}
+
+.template-block .wp-block-social-links {
+	margin-top: 20px;
+}
+
+.post-content__block {
+	margin-top: -36px;
+}

+ 183 - 29
stow/style-rtl.css

@@ -11,7 +11,7 @@ License: GNU General Public License v2 or later
 License URI: LICENSE
 License URI: LICENSE
 Template: varia
 Template: varia
 Text Domain: stow
 Text Domain: stow
-Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, auto-loading-homepage, jetpack-global-styles
+Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, auto-loading-homepage, jetpack-global-styles, full-site-editing
 
 
 This theme, like WordPress, is licensed under the GPL.
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
 Use it to make something cool, have fun, and share what you've learned with others.
@@ -1981,6 +1981,14 @@ hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
 	max-width: 96px;
 	max-width: 96px;
 }
 }
 
 
+hr.wp-block-separator.is-style-dots.has-background, hr.wp-block-separator.is-style-dots.has-text-color {
+	background-color: transparent !important;
+}
+
+hr.wp-block-separator.is-style-dots.has-background:before, hr.wp-block-separator.is-style-dots.has-text-color:before {
+	color: currentColor !important;
+}
+
 hr.wp-block-separator.is-style-dots:before {
 hr.wp-block-separator.is-style-dots:before {
 	color: #DDDDDD;
 	color: #DDDDDD;
 	font-size: 1.728rem;
 	font-size: 1.728rem;
@@ -3706,14 +3714,6 @@ a {
 	margin: 0 auto;
 	margin: 0 auto;
 }
 }
 
 
-#masthead .site-title {
-	font-size: 2.0736rem;
-}
-
-#masthead .site-description {
-	color: #333;
-}
-
 #masthead .site-branding {
 #masthead .site-branding {
 	text-align: center;
 	text-align: center;
 	background: #fff;
 	background: #fff;
@@ -3738,6 +3738,14 @@ a {
 	color: #4f4f4f;
 	color: #4f4f4f;
 }
 }
 
 
+body:not(.fse-enabled) .site-title {
+	font-size: 2.0736rem;
+}
+
+body:not(.fse-enabled) .site-description {
+	color: #333;
+}
+
 /**
 /**
  * 3. Main Wrapper and Content
  * 3. Main Wrapper and Content
  */
  */
@@ -3767,7 +3775,7 @@ a {
 /**
 /**
  * 4.1 Main Navigation
  * 4.1 Main Navigation
  */
  */
-#site-navigation {
+body:not(.fse-enabled) #site-navigation, body:not(.fse-enabled) .main-navigation {
 	background-color: #f25f70;
 	background-color: #f25f70;
 	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
 	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
 	margin-right: 0;
 	margin-right: 0;
@@ -3775,83 +3783,83 @@ a {
 	text-align: center;
 	text-align: center;
 }
 }
 
 
-#site-navigation > div {
+body:not(.fse-enabled) #site-navigation > div, body:not(.fse-enabled) .main-navigation > div {
 	text-align: right;
 	text-align: right;
 }
 }
 
 
-#site-navigation.main-navigation > div {
+body:not(.fse-enabled) #site-navigation.main-navigation > div, body:not(.fse-enabled) .main-navigation.main-navigation > div {
 	padding-right: 16px;
 	padding-right: 16px;
 	padding-left: 16px;
 	padding-left: 16px;
 }
 }
 
 
-#site-navigation.main-navigation ul li.current-menu-item a {
+body:not(.fse-enabled) #site-navigation.main-navigation ul li.current-menu-item a, body:not(.fse-enabled) .main-navigation.main-navigation ul li.current-menu-item a {
 	color: #4f4f4f;
 	color: #4f4f4f;
 }
 }
 
 
-#site-navigation.main-navigation ul li a {
+body:not(.fse-enabled) #site-navigation.main-navigation ul li a, body:not(.fse-enabled) .main-navigation.main-navigation ul li a {
 	color: white;
 	color: white;
 	text-decoration: none;
 	text-decoration: none;
 }
 }
 
 
-#site-navigation.main-navigation ul li a:hover {
+body:not(.fse-enabled) #site-navigation.main-navigation ul li a:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul li a:hover {
 	color: #4f4f4f;
 	color: #4f4f4f;
 }
 }
 
 
 @media only screen and (min-width: 560px) {
 @media only screen and (min-width: 560px) {
-	#site-navigation.main-navigation ul li {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li, body:not(.fse-enabled) .main-navigation.main-navigation ul li {
 		padding-right: 0;
 		padding-right: 0;
 		padding-left: 0;
 		padding-left: 0;
 		list-style-type: disc;
 		list-style-type: disc;
 	}
 	}
-	#site-navigation.main-navigation ul li.current-menu-item a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li.current-menu-item a, body:not(.fse-enabled) .main-navigation.main-navigation ul li.current-menu-item a {
 		color: #4f4f4f;
 		color: #4f4f4f;
 	}
 	}
-	#site-navigation.main-navigation ul li a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li a, body:not(.fse-enabled) .main-navigation.main-navigation ul li a {
 		color: white;
 		color: white;
 		font-size: 0.83333rem;
 		font-size: 0.83333rem;
 	}
 	}
-	#site-navigation.main-navigation ul li a:hover {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li a:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul li a:hover {
 		color: #4f4f4f;
 		color: #4f4f4f;
 	}
 	}
-	#site-navigation.main-navigation ul li a::after {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li a::after, body:not(.fse-enabled) .main-navigation.main-navigation ul li a::after {
 		color: #ffa4ad;
 		color: #ffa4ad;
 		content: " \2022";
 		content: " \2022";
 		margin-right: 16px;
 		margin-right: 16px;
 		display: inline;
 		display: inline;
 		font-size: 1rem;
 		font-size: 1rem;
 	}
 	}
-	#site-navigation.main-navigation ul li:last-child a::after {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li:last-child a::after, body:not(.fse-enabled) .main-navigation.main-navigation ul li:last-child a::after {
 		content: "";
 		content: "";
 		margin-right: 0;
 		margin-right: 0;
 	}
 	}
 }
 }
 
 
 @media only screen and (min-width: 560px) {
 @media only screen and (min-width: 560px) {
-	#site-navigation.main-navigation ul ul {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul, body:not(.fse-enabled) .main-navigation.main-navigation ul ul {
 		background-color: white;
 		background-color: white;
 	}
 	}
-	#site-navigation.main-navigation ul ul li.current-menu-item a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li.current-menu-item a, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li.current-menu-item a {
 		color: #f25f70;
 		color: #f25f70;
 	}
 	}
-	#site-navigation.main-navigation ul ul li a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li a, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li a {
 		color: #4f4f4f;
 		color: #4f4f4f;
 	}
 	}
-	#site-navigation.main-navigation ul ul li a::after {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li a::after, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li a::after {
 		content: "";
 		content: "";
 	}
 	}
-	#site-navigation.main-navigation ul ul li a:hover {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li a:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li a:hover {
 		color: #f25f70;
 		color: #f25f70;
 	}
 	}
-	#site-navigation.main-navigation ul ul li:hover {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li:hover {
 		background: #f2f2f2;
 		background: #f2f2f2;
 	}
 	}
 }
 }
 
 
-#site-navigation.main-navigation .main-menu > li > a {
+body:not(.fse-enabled) #site-navigation.main-navigation .main-menu > li > a, body:not(.fse-enabled) .main-navigation.main-navigation .main-menu > li > a {
 	padding-right: 0;
 	padding-right: 0;
 }
 }
 
 
-#site-navigation.main-navigation #toggle-menu {
+body:not(.fse-enabled) #site-navigation.main-navigation #toggle-menu, body:not(.fse-enabled) .main-navigation.main-navigation #toggle-menu {
 	border-radius: 0;
 	border-radius: 0;
 	width: 100% !important;
 	width: 100% !important;
 	text-align: center;
 	text-align: center;
@@ -4002,3 +4010,149 @@ a {
 .site-footer .widget-area .widget-title {
 .site-footer .widget-area .widget-title {
 	margin-bottom: .857em;
 	margin-bottom: .857em;
 }
 }
+
+/**
+ * Full Site Editing
+ * - Full Site Editing overrides
+ */
+.fse-template-part {
+	margin-bottom: 0;
+	margin-top: 0;
+}
+
+.fse-template-part .main-navigation .alignwide, .fse-template-part .main-navigation .alignfull {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation .has-text-color > .main-menu.footer-menu > li > a {
+	color: inherit;
+}
+
+.fse-template-part .main-navigation .has-text-align-left > .main-menu.footer-menu {
+	justify-content: flex-start;
+}
+
+.fse-template-part .main-navigation .has-text-align-center > .main-menu.footer-menu {
+	justify-content: center;
+}
+
+.fse-template-part .main-navigation .has-text-align-right > .main-menu.footer-menu {
+	justify-content: flex-end;
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 16px 0;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+		padding: 16px;
+	}
+}
+
+.fse-template-part .main-navigation > div > .main-menu.footer-menu > .menu-item-has-children > a::after {
+	font-size: 0.6em;
+	vertical-align: middle;
+}
+
+.fse-template-part .wp-block-columns .wp-block-column > * {
+	margin: 0 0 5px 0;
+}
+
+.fse-header > *:first-child:not(.alignfull) {
+	margin-top: 21.312px;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-header > *:first-child:not(.alignfull) {
+		margin-top: 32px;
+	}
+}
+
+.fse-footer {
+	display: block;
+}
+
+.fse-footer .site-info {
+	margin-top: 21.312px;
+	margin-bottom: 21.312px;
+	text-align: center;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-footer .site-info {
+		margin-top: 32px;
+		margin-bottom: 32px;
+	}
+}
+
+.fse-enabled.home.page.hide-homepage-title .fse-header.entry-content {
+	padding-bottom: 32px;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-enabled.home.page.hide-homepage-title .fse-header.entry-content {
+		padding-bottom: 48px;
+	}
+}
+
+.fse-template-part .wp-block-social-links {
+	margin-top: 10px;
+}
+
+.fse-template-part.fse-footer .main-navigation {
+	border-bottom: none;
+}
+
+.fse-template-part .main-navigation .alignwide, .fse-template-part .main-navigation .alignfull {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation a {
+	text-decoration: none;
+	text-transform: uppercase;
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 0;
+}
+
+.fse-template-part.fse-header .main-navigation {
+	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part.fse-header .main-navigation div ul li a::after {
+		color: #ffa4ad;
+		content: " \2022";
+		margin-right: 16px;
+		display: inline;
+	}
+	.fse-template-part.fse-header .main-navigation div ul li:last-child a::after {
+		content: "";
+		margin-right: 0;
+	}
+}
+
+@media only screen and (max-width: 559px) {
+	.fse-template-part {
+		max-width: calc( 100% - 32px);
+	}
+	.fse-template-part .main-navigation > div {
+		padding: 0 32px;
+	}
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 0;
+}
+
+.fse-template-part .wp-block-cover .site-title a,
+.fse-template-part .wp-block-cover-image .site-title a {
+	text-decoration: none;
+}
+
+.fse-template-part .wp-block-cover .has-background,
+.fse-template-part .wp-block-cover-image .has-background {
+	text-shadow: none;
+}

+ 183 - 29
stow/style.css

@@ -11,7 +11,7 @@ License: GNU General Public License v2 or later
 License URI: LICENSE
 License URI: LICENSE
 Template: varia
 Template: varia
 Text Domain: stow
 Text Domain: stow
-Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, auto-loading-homepage, jetpack-global-styles
+Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, auto-loading-homepage, jetpack-global-styles, full-site-editing
 
 
 This theme, like WordPress, is licensed under the GPL.
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
 Use it to make something cool, have fun, and share what you've learned with others.
@@ -1981,6 +1981,14 @@ hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
 	max-width: 96px;
 	max-width: 96px;
 }
 }
 
 
+hr.wp-block-separator.is-style-dots.has-background, hr.wp-block-separator.is-style-dots.has-text-color {
+	background-color: transparent !important;
+}
+
+hr.wp-block-separator.is-style-dots.has-background:before, hr.wp-block-separator.is-style-dots.has-text-color:before {
+	color: currentColor !important;
+}
+
 hr.wp-block-separator.is-style-dots:before {
 hr.wp-block-separator.is-style-dots:before {
 	color: #DDDDDD;
 	color: #DDDDDD;
 	font-size: 1.728rem;
 	font-size: 1.728rem;
@@ -3735,14 +3743,6 @@ a {
 	margin: 0 auto;
 	margin: 0 auto;
 }
 }
 
 
-#masthead .site-title {
-	font-size: 2.0736rem;
-}
-
-#masthead .site-description {
-	color: #333;
-}
-
 #masthead .site-branding {
 #masthead .site-branding {
 	text-align: center;
 	text-align: center;
 	background: #fff;
 	background: #fff;
@@ -3767,6 +3767,14 @@ a {
 	color: #4f4f4f;
 	color: #4f4f4f;
 }
 }
 
 
+body:not(.fse-enabled) .site-title {
+	font-size: 2.0736rem;
+}
+
+body:not(.fse-enabled) .site-description {
+	color: #333;
+}
+
 /**
 /**
  * 3. Main Wrapper and Content
  * 3. Main Wrapper and Content
  */
  */
@@ -3796,7 +3804,7 @@ a {
 /**
 /**
  * 4.1 Main Navigation
  * 4.1 Main Navigation
  */
  */
-#site-navigation {
+body:not(.fse-enabled) #site-navigation, body:not(.fse-enabled) .main-navigation {
 	background-color: #f25f70;
 	background-color: #f25f70;
 	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
 	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
 	margin-left: 0;
 	margin-left: 0;
@@ -3804,83 +3812,83 @@ a {
 	text-align: center;
 	text-align: center;
 }
 }
 
 
-#site-navigation > div {
+body:not(.fse-enabled) #site-navigation > div, body:not(.fse-enabled) .main-navigation > div {
 	text-align: left;
 	text-align: left;
 }
 }
 
 
-#site-navigation.main-navigation > div {
+body:not(.fse-enabled) #site-navigation.main-navigation > div, body:not(.fse-enabled) .main-navigation.main-navigation > div {
 	padding-left: 16px;
 	padding-left: 16px;
 	padding-right: 16px;
 	padding-right: 16px;
 }
 }
 
 
-#site-navigation.main-navigation ul li.current-menu-item a {
+body:not(.fse-enabled) #site-navigation.main-navigation ul li.current-menu-item a, body:not(.fse-enabled) .main-navigation.main-navigation ul li.current-menu-item a {
 	color: #4f4f4f;
 	color: #4f4f4f;
 }
 }
 
 
-#site-navigation.main-navigation ul li a {
+body:not(.fse-enabled) #site-navigation.main-navigation ul li a, body:not(.fse-enabled) .main-navigation.main-navigation ul li a {
 	color: white;
 	color: white;
 	text-decoration: none;
 	text-decoration: none;
 }
 }
 
 
-#site-navigation.main-navigation ul li a:hover {
+body:not(.fse-enabled) #site-navigation.main-navigation ul li a:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul li a:hover {
 	color: #4f4f4f;
 	color: #4f4f4f;
 }
 }
 
 
 @media only screen and (min-width: 560px) {
 @media only screen and (min-width: 560px) {
-	#site-navigation.main-navigation ul li {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li, body:not(.fse-enabled) .main-navigation.main-navigation ul li {
 		padding-left: 0;
 		padding-left: 0;
 		padding-right: 0;
 		padding-right: 0;
 		list-style-type: disc;
 		list-style-type: disc;
 	}
 	}
-	#site-navigation.main-navigation ul li.current-menu-item a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li.current-menu-item a, body:not(.fse-enabled) .main-navigation.main-navigation ul li.current-menu-item a {
 		color: #4f4f4f;
 		color: #4f4f4f;
 	}
 	}
-	#site-navigation.main-navigation ul li a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li a, body:not(.fse-enabled) .main-navigation.main-navigation ul li a {
 		color: white;
 		color: white;
 		font-size: 0.83333rem;
 		font-size: 0.83333rem;
 	}
 	}
-	#site-navigation.main-navigation ul li a:hover {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li a:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul li a:hover {
 		color: #4f4f4f;
 		color: #4f4f4f;
 	}
 	}
-	#site-navigation.main-navigation ul li a::after {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li a::after, body:not(.fse-enabled) .main-navigation.main-navigation ul li a::after {
 		color: #ffa4ad;
 		color: #ffa4ad;
 		content: " \2022";
 		content: " \2022";
 		margin-left: 16px;
 		margin-left: 16px;
 		display: inline;
 		display: inline;
 		font-size: 1rem;
 		font-size: 1rem;
 	}
 	}
-	#site-navigation.main-navigation ul li:last-child a::after {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul li:last-child a::after, body:not(.fse-enabled) .main-navigation.main-navigation ul li:last-child a::after {
 		content: "";
 		content: "";
 		margin-left: 0;
 		margin-left: 0;
 	}
 	}
 }
 }
 
 
 @media only screen and (min-width: 560px) {
 @media only screen and (min-width: 560px) {
-	#site-navigation.main-navigation ul ul {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul, body:not(.fse-enabled) .main-navigation.main-navigation ul ul {
 		background-color: white;
 		background-color: white;
 	}
 	}
-	#site-navigation.main-navigation ul ul li.current-menu-item a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li.current-menu-item a, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li.current-menu-item a {
 		color: #f25f70;
 		color: #f25f70;
 	}
 	}
-	#site-navigation.main-navigation ul ul li a {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li a, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li a {
 		color: #4f4f4f;
 		color: #4f4f4f;
 	}
 	}
-	#site-navigation.main-navigation ul ul li a::after {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li a::after, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li a::after {
 		content: "";
 		content: "";
 	}
 	}
-	#site-navigation.main-navigation ul ul li a:hover {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li a:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li a:hover {
 		color: #f25f70;
 		color: #f25f70;
 	}
 	}
-	#site-navigation.main-navigation ul ul li:hover {
+	body:not(.fse-enabled) #site-navigation.main-navigation ul ul li:hover, body:not(.fse-enabled) .main-navigation.main-navigation ul ul li:hover {
 		background: #f2f2f2;
 		background: #f2f2f2;
 	}
 	}
 }
 }
 
 
-#site-navigation.main-navigation .main-menu > li > a {
+body:not(.fse-enabled) #site-navigation.main-navigation .main-menu > li > a, body:not(.fse-enabled) .main-navigation.main-navigation .main-menu > li > a {
 	padding-left: 0;
 	padding-left: 0;
 }
 }
 
 
-#site-navigation.main-navigation #toggle-menu {
+body:not(.fse-enabled) #site-navigation.main-navigation #toggle-menu, body:not(.fse-enabled) .main-navigation.main-navigation #toggle-menu {
 	border-radius: 0;
 	border-radius: 0;
 	width: 100% !important;
 	width: 100% !important;
 	text-align: center;
 	text-align: center;
@@ -4031,3 +4039,149 @@ a {
 .site-footer .widget-area .widget-title {
 .site-footer .widget-area .widget-title {
 	margin-bottom: .857em;
 	margin-bottom: .857em;
 }
 }
+
+/**
+ * Full Site Editing
+ * - Full Site Editing overrides
+ */
+.fse-template-part {
+	margin-bottom: 0;
+	margin-top: 0;
+}
+
+.fse-template-part .main-navigation .alignwide, .fse-template-part .main-navigation .alignfull {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation .has-text-color > .main-menu.footer-menu > li > a {
+	color: inherit;
+}
+
+.fse-template-part .main-navigation .has-text-align-left > .main-menu.footer-menu {
+	justify-content: flex-start;
+}
+
+.fse-template-part .main-navigation .has-text-align-center > .main-menu.footer-menu {
+	justify-content: center;
+}
+
+.fse-template-part .main-navigation .has-text-align-right > .main-menu.footer-menu {
+	justify-content: flex-end;
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 16px 0;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+		padding: 16px;
+	}
+}
+
+.fse-template-part .main-navigation > div > .main-menu.footer-menu > .menu-item-has-children > a::after {
+	font-size: 0.6em;
+	vertical-align: middle;
+}
+
+.fse-template-part .wp-block-columns .wp-block-column > * {
+	margin: 0 0 5px 0;
+}
+
+.fse-header > *:first-child:not(.alignfull) {
+	margin-top: 21.312px;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-header > *:first-child:not(.alignfull) {
+		margin-top: 32px;
+	}
+}
+
+.fse-footer {
+	display: block;
+}
+
+.fse-footer .site-info {
+	margin-top: 21.312px;
+	margin-bottom: 21.312px;
+	text-align: center;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-footer .site-info {
+		margin-top: 32px;
+		margin-bottom: 32px;
+	}
+}
+
+.fse-enabled.home.page.hide-homepage-title .fse-header.entry-content {
+	padding-bottom: 32px;
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-enabled.home.page.hide-homepage-title .fse-header.entry-content {
+		padding-bottom: 48px;
+	}
+}
+
+.fse-template-part .wp-block-social-links {
+	margin-top: 10px;
+}
+
+.fse-template-part.fse-footer .main-navigation {
+	border-bottom: none;
+}
+
+.fse-template-part .main-navigation .alignwide, .fse-template-part .main-navigation .alignfull {
+	width: 100%;
+}
+
+.fse-template-part .main-navigation a {
+	text-decoration: none;
+	text-transform: uppercase;
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 0;
+}
+
+.fse-template-part.fse-header .main-navigation {
+	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
+}
+
+@media only screen and (min-width: 560px) {
+	.fse-template-part.fse-header .main-navigation div ul li a::after {
+		color: #ffa4ad;
+		content: " \2022";
+		margin-left: 16px;
+		display: inline;
+	}
+	.fse-template-part.fse-header .main-navigation div ul li:last-child a::after {
+		content: "";
+		margin-left: 0;
+	}
+}
+
+@media only screen and (max-width: 559px) {
+	.fse-template-part {
+		max-width: calc( 100% - 32px);
+	}
+	.fse-template-part .main-navigation > div {
+		padding: 0 32px;
+	}
+}
+
+.fse-template-part .main-navigation .has-background > .main-menu.footer-menu {
+	padding: 0;
+}
+
+.fse-template-part .wp-block-cover .site-title a,
+.fse-template-part .wp-block-cover-image .site-title a {
+	text-decoration: none;
+}
+
+.fse-template-part .wp-block-cover .has-background,
+.fse-template-part .wp-block-cover-image .has-background {
+	text-shadow: none;
+}