Pārlūkot izejas kodu

Merge branch 'master' of github.com:Automattic/themes

Laurel Fulford 6 gadi atpakaļ
vecāks
revīzija
f5ae54cea1

+ 517 - 0
lodestar/assets/css/blocks.css

@@ -0,0 +1,517 @@
+/*
+Theme Name: Lodestar
+Description: Used to style Gutenberg Blocks.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+1.0 Block Alignments
+2.0 General Block Styles
+3.0 Blocks - Common Blocks
+4.0 Blocks - Formatting
+5.0 Blocks - Layout Elements
+6.0 Blocks - Widgets
+7.0 Blocks - Colors
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+1.0 Block Alignments
+--------------------------------------------------------------*/
+
+body:not(.has-sidebar) .site-content {
+	overflow-x: hidden; /* prevents side-scrolling caused by use of vw */
+}
+
+.alignfull,
+.alignwide {
+	clear: both;
+}
+
+@media (min-width: 1140px) {
+	body:not(.has-sidebar):not(.lodestar-front-page) .alignwide,
+	body.lodestar-front-page .lodestar-panel:not(.two-column) .alignwide {
+		margin-left: -25%;
+		margin-right: -25%;
+		max-width: 1000%;
+		width: auto;
+	}
+
+	body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-embed.is-type-video.alignwide iframe,
+	body.lodestar-front-page .lodestar-panel:not(.two-column) .wp-block-embed.is-type-video.alignwide iframe {
+		width: 100% !important;
+		height: 100% !important;
+	}
+}
+
+body:not(.has-sidebar):not(.lodestar-front-page) .alignfull,
+body:not(.has-sidebar).lodestar-front-page .lodestar-panel:not(.two-column) .alignfull {
+	margin-left: calc(50% - 50vw);
+	margin-right: calc(50% - 50vw);
+	max-width: 1000%;
+	width: auto;
+}
+
+/* Make non image-based blocks a bit narrower, so they don't get cut off. */
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-columns.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-columns.alignfull,
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-audio.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-audio.alignfull,
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-table.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-table.alignfull,
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-latest-comments.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-latest-comments.alignfull,
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-categories.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-categories.alignfull,
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-latest-posts.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-latest-posts.alignfull {
+	margin-left: calc(50% - 48vw);
+	margin-right: calc(50% - 48vw);
+}
+
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-embed.is-type-video iframe,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-embed.is-type-video iframe {
+	max-height: 100%;
+}
+
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-embed.is-type-video.alignfull iframe,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-embed.is-type-video.alignfull iframe {
+	width: 100% !important;
+	height: 100% !important;
+}
+
+/*--------------------------------------------------------------
+2.0 General Block Styles
+--------------------------------------------------------------*/
+
+[class^="wp-block-"] figcaption {
+	font-size: 16px;
+	line-height: 1.5;
+}
+
+[class^="wp-block-"]:not(.wp-block-gallery) figcaption {
+	color: inherit;
+}
+
+/*--------------------------------------------------------------
+3.0 Blocks - Common Blocks
+--------------------------------------------------------------*/
+
+/* Paragraph */
+
+p.has-drop-cap:not(:focus)::first-letter {
+	font-size: 5em;
+	margin-top: 0.15em;
+}
+
+/* Gallery */
+
+.wp-block-gallery {
+	margin: 0 0 1.5em;
+}
+
+/* Quote */
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+	margin-left: 2em;
+	margin-right: 2em;
+	padding-left: 1.5em;
+}
+
+.rtl .wp-block-quote.is-large,
+.rtl .wp-block-quote.is-style-large {
+	padding-left: 0;
+	padding-right: 1.5em;
+}
+
+/* Audio */
+
+.wp-block-audio {
+	margin: 0 0 1.5em;
+}
+
+.wp-block-audio audio {
+	display: block;
+	width: 100%;
+}
+
+/* Cover */
+
+.wp-block-cover.aligncenter,
+.wp-block-cover-image.aligncenter,
+.wp-block-cover.alignleft,
+.wp-block-cover-image.alignleft,
+.wp-block-cover.alignright,
+.wp-block-cover-image.alignright {
+
+}
+
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text,
+.wp-block-cover-image h2,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover h2 {
+	font-size: 1.5em;
+}
+
+/* File */
+
+.wp-block-file a.wp-block-file__button,
+.wp-block-file a.wp-block-file__button:visited {
+	background: #29292a;
+	border: 0;
+	border-radius: 0;
+	box-shadow: none;
+	color: #fff;
+	font-size: 14px;
+	font-size: 0.875rem;
+	letter-spacing: 0.05em;
+	line-height: 1;
+	padding: 1em 1.5em;
+	text-shadow: none;
+	text-transform: uppercase;
+	transition: background 0.2s;
+}
+
+.wp-block-file a.wp-block-file__button:hover,
+.wp-block-file a.wp-block-file__button:focus,
+.wp-block-file a.wp-block-file__button:active {
+	background: #555;
+}
+
+.rtl .wp-block-file * + .wp-block-file__button {
+	margin-left: .75em;
+	margin-right: 0;
+}
+
+/* Video */
+
+.wp-block-video video {
+	width: 100%;
+}
+
+/*--------------------------------------------------------------
+4.0 Blocks - Formatting
+--------------------------------------------------------------*/
+
+/* Verse */
+
+.wp-block-verse {
+	background: transparent;
+	font-family: inherit;
+	font-style: italic;
+	padding: 0;
+}
+
+/* Pullquote */
+
+.wp-block-pullquote blockquote {
+	border: 0;
+	margin-left: 0;
+	margin-right: 0;
+	padding-left: 0;
+	padding-right: 0;
+}
+
+.wp-block-pullquote blockquote p {
+
+}
+
+.wp-block-pullquote cite,
+.wp-block-pullquote.alignleft cite,
+.wp-block-pullquote.alignright cite {
+
+}
+
+/* Table */
+
+.wp-block-table th {
+	text-align: left;
+}
+
+@media (min-width: 1130px) {
+	body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-table.alignwide,
+	body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-table.alignwide {
+		width: 1050px;
+	}
+}
+
+body:not(.has-sidebar):not(.lodestar-front-page) .wp-block-table.alignfull,
+body.lodestar-front-page:not(.has-sidebar) .lodestar-panel:not(.two-column) .wp-block-table.alignfull {
+	width: 96vw;
+}
+
+.rtl .wp-block-table th {
+	text-align: right;
+}
+
+/*--------------------------------------------------------------
+5.0 Blocks - Layout Elements
+--------------------------------------------------------------*/
+
+/* Buttons */
+
+.wp-block-button .wp-block-button__link:not(.has-text-color) {
+	color: #fff;
+}
+
+.wp-block-button .wp-block-button__link:not(.has-background) {
+	background: #29292a;
+}
+
+.wp-block-button .wp-block-button__link {
+	border: 0;
+	border-radius: 0;
+	box-shadow: none;
+	font-size: 14px;
+	font-size: 0.875rem;
+	letter-spacing: 0.05em;
+	line-height: 1;
+	padding: 1em 1.5em;
+	text-shadow: none;
+	text-transform: uppercase;
+	transition: background 0.2s;
+}
+
+.wp-block-button__link:hover,
+.wp-block-button__link:focus,
+.wp-block-button__link:active {
+	background: #555;
+}
+
+/* Separator */
+
+.wp-block-separator {
+	border: 0;
+}
+
+.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
+	margin-left: auto;
+	margin-right: auto;
+	max-width: 100px;
+}
+
+/* Media & Text */
+
+.wp-block-media-text {
+	margin-bottom: 1.5em;
+}
+
+.wp-block-media-text *:last-child {
+	margin-bottom: 0;
+}
+
+/*--------------------------------------------------------------
+6.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/* Categories, Latest Posts & Archives */
+
+.wp-block-categories.aligncenter,
+.wp-block-categories.aligncenter ul,
+.wp-block-latest-posts.aligncenter,
+.wp-block-archives.aligncenter {
+	list-style-position: inside;
+	margin-left: 0;
+	margin-right: 0;
+	text-align: center;
+}
+
+/* Latest Comments */
+
+.wp-block-latest-comments {
+	margin-left: 0;
+	margin-right: 0;
+}
+
+.wp-block-latest-comments__comment-date {
+	color: inherit;
+}
+
+/* Latest Posts */
+
+.wp-block-latest-posts.is-grid {
+	margin-left: 0;
+	margin-right: 0;
+}
+
+/*--------------------------------------------------------------
+7.0 Blocks - Colors
+--------------------------------------------------------------*/
+
+.has-pale-pink-color,
+.has-pale-pink-color:hover,
+.has-pale-pink-color:focus,
+.has-pale-pink-color:active {
+	color: #f78da7;
+}
+
+.has-pale-pink-background-color,
+.has-pale-pink-background-color:hover.
+.has-pale-pink-background-color:focus,
+.has-pale-pink-background-color:active,
+.has-pale-pink-background-color:visited {
+	background-color: #f78da7;
+}
+
+.has-vivid-red-color,
+.has-vivid-red-color:hover,
+.has-vivid-red-color:focus,
+.has-vivid-red-color:active,
+.has-vivid-red-color:visited {
+	color: #cf2e2e;
+}
+
+.has-vivid-red-background-color,
+.has-vivid-red-background-color:hover,
+.has-vivid-red-background-color:focus,
+.has-vivid-red-background-color:active,
+.has-vivid-red-background-color:visited {
+	background-color: #cf2e2e;
+}
+
+.has-luminous-vivid-orange-color,
+.has-luminous-vivid-orange-color:hover,
+.has-luminous-vivid-orange-color:focus,
+.has-luminous-vivid-orange-color:active,
+.has-luminous-vivid-orange-color:visited {
+	color: #ff6900;
+}
+
+.has-luminous-vivid-orange-background-color,
+.has-luminous-vivid-orange-background-color:hover,
+.has-luminous-vivid-orange-background-color:focus,
+.has-luminous-vivid-orange-background-color:active,
+.has-luminous-vivid-orange-background-color:visited {
+	background-color: #ff6900;
+}
+
+.has-luminous-vivid-amber-color,
+.has-luminous-vivid-amber-color:hover,
+.has-luminous-vivid-amber-color:focus,
+.has-luminous-vivid-amber-color:active,
+.has-luminous-vivid-amber-color:visited {
+	color: #fcb900;
+}
+
+.has-luminous-vivid-amber-background-color,
+.has-luminous-vivid-amber-background-color:hover,
+.has-luminous-vivid-amber-background-color:focus,
+.has-luminous-vivid-amber-background-color:active,
+.has-luminous-vivid-amber-background-color:visited {
+	background-color: #fcb900;
+}
+
+.has-light-green-cyan-color,
+.has-light-green-cyan-color:hover,
+.has-light-green-cyan-color:focus,
+.has-light-green-cyan-color:active,
+.has-light-green-cyan-color:visited {
+	color: #7bdcb5;
+}
+
+.has-light-green-cyan-background-color,
+.has-light-green-cyan-background-color:hover,
+.has-light-green-cyan-background-color:focus,
+.has-light-green-cyan-background-color:active,
+.has-light-green-cyan-background-color:visited {
+	background-color: #7bdcb5;
+}
+
+.has-vivid-green-cyan-color,
+.has-vivid-green-cyan-color:hover,
+.has-vivid-green-cyan-color:focus,
+.has-vivid-green-cyan-color:active,
+.has-vivid-green-cyan-color:visited {
+	color: #00d084;
+}
+
+.has-vivid-green-cyan-background-color,
+.has-vivid-green-cyan-background-color:hover,
+.has-vivid-green-cyan-background-color:focus,
+.has-vivid-green-cyan-background-color:active,
+.has-vivid-green-cyan-background-color:visited {
+	background-color: #00d084;
+}
+
+.has-pale-cyan-blue-color,
+.has-pale-cyan-blue-color:hover,
+.has-pale-cyan-blue-color:focus,
+.has-pale-cyan-blue-color:active,
+.has-pale-cyan-blue-color:visited {
+	color: #8ed1fc;
+}
+
+.has-pale-cyan-blue-background-color,
+.has-pale-cyan-blue-background-color:hover,
+.has-pale-cyan-blue-background-color:focus,
+.has-pale-cyan-blue-background-color:active,
+.has-pale-cyan-blue-background-color:visited {
+	background-color: #8ed1fc;
+}
+
+.has-vivid-cyan-blue-color,
+.has-vivid-cyan-blue-color:hover,
+.has-vivid-cyan-blue-color:focus,
+.has-vivid-cyan-blue-color:active,
+.has-vivid-cyan-blue-color:visited {
+	color: #0693e3;
+}
+
+.has-vivid-cyan-blue-background-color,
+.has-vivid-cyan-blue-background-color:hover,
+.has-vivid-cyan-blue-background-color:focus,
+.has-vivid-cyan-blue-background-color:active,
+.has-vivid-cyan-blue-background-color:visited {
+	background-color: #0693e3;
+}
+
+.has-very-light-gray-color,
+.has-very-light-gray-color:hover,
+.has-very-light-gray-color:focus,
+.has-very-light-gray-color:active,
+.has-very-light-gray-color:visited {
+	color: #eee;
+}
+
+.has-very-light-gray-background-color,
+.has-very-light-gray-background-color:hover,
+.has-very-light-gray-background-color:focus,
+.has-very-light-gray-background-color:active,
+.has-very-light-gray-background-color:visited {
+	background-color: #eee;
+}
+
+.has-cyan-bluish-gray-color,
+.has-cyan-bluish-gray-color:hover,
+.has-cyan-bluish-gray-color:focus,
+.has-cyan-bluish-gray-color:active,
+.has-cyan-bluish-gray-color:visited {
+	color: #abb8c3;
+}
+
+.has-cyan-bluish-gray-background-color,
+.has-cyan-bluish-gray-background-color:hover,
+.has-cyan-bluish-gray-background-color:focus,
+.has-cyan-bluish-gray-background-color:active,
+.has-cyan-bluish-gray-background-color:visited {
+	background-color: #abb8c3;
+}
+
+.has-very-dark-gray-color,
+.has-very-dark-gray-color:hover,
+.has-very-dark-gray-color:focus,
+.has-very-dark-gray-color:active,
+.has-very-dark-gray-color:visited {
+	color: #313131;
+}
+
+.has-very-dark-gray-background-color,
+.has-very-dark-gray-background-color:hover,
+.has-very-dark-gray-background-color:focus,
+.has-very-dark-gray-background-color:active,
+.has-very-dark-gray-background-color:visited {
+	background-color: #313131;
+}

+ 463 - 0
lodestar/assets/css/editor-blocks.css

@@ -0,0 +1,463 @@
+/*
+Theme Name: Lodestar
+Description: Used to style Gutenberg Blocks in the editor.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+1.0 General Typography
+2.0 General Block Settings
+3.0 Blocks - Common Blocks
+4.0 Blocks - Formatting
+5.0 Blocks - Layout Elements
+6.0 Blocks - Widgets
+
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+1.0 General Typography
+--------------------------------------------------------------*/
+
+.edit-post-visual-editor .editor-block-list__block,
+.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
+	font-family: "Karla", "Helvetica Neue", helvetica, arial, sans-serif;
+}
+
+.edit-post-visual-editor .editor-block-list__block,
+.edit-post-visual-editor .editor-block-list__block p,
+.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
+	font-size: 16px;
+	line-height: 1.5;
+}
+
+.edit-post-visual-editor .editor-block-list__block {
+	color: #333;
+}
+
+/* Post title */
+
+.editor-post-title__block .editor-post-title__input {
+	font-family: "Work Sans", "Helvetica Neue", helvetica, arial, sans-serif;
+	font-size: 34px;
+	font-weight: 800;
+	letter-spacing: 0.1em;
+	line-height: 1.25;
+	text-transform: uppercase;
+}
+
+/* Headings */
+
+.edit-post-visual-editor h1,
+.wp-block-freeform.block-library-rich-text__tinymce h1,
+.edit-post-visual-editor h2,
+.wp-block-freeform.block-library-rich-text__tinymce h2,
+.edit-post-visual-editor h3,
+.wp-block-freeform.block-library-rich-text__tinymce h3,
+.edit-post-visual-editor h4,
+.wp-block-freeform.block-library-rich-text__tinymce h4,
+.edit-post-visual-editor h5,
+.wp-block-freeform.block-library-rich-text__tinymce h5,
+.edit-post-visual-editor h6,
+.wp-block-freeform.block-library-rich-text__tinymce h6 {
+	font-family: "Work Sans", "Helvetica Neue", helvetica, arial, sans-serif;
+	font-weight: 800;
+	letter-spacing: 0.1em;
+	line-height: 1.25;
+	text-transform: uppercase;
+}
+
+.edit-post-visual-editor h1,
+.wp-block-freeform.block-library-rich-text__tinymce h1,
+.edit-post-visual-editor h2,
+.wp-block-freeform.block-library-rich-text__tinymce h2 {
+	color: #ccc;
+}
+
+.edit-post-visual-editor h3,
+.wp-block-freeform.block-library-rich-text__tinymce h3,
+.edit-post-visual-editor h4,
+.wp-block-freeform.block-library-rich-text__tinymce h4 {
+	color: #333;
+}
+
+.edit-post-visual-editor h5,
+.wp-block-freeform.block-library-rich-text__tinymce h5,
+.edit-post-visual-editor h6,
+.wp-block-freeform.block-library-rich-text__tinymce h6 {
+	color: #666;
+}
+
+.edit-post-visual-editor h1,
+.wp-block-freeform.block-library-rich-text__tinymce h1 {
+	font-size: 30px;
+}
+
+.edit-post-visual-editor h2,
+.wp-block-freeform.block-library-rich-text__tinymce h2 {
+	font-size: 26px;
+}
+
+.edit-post-visual-editor h3,
+.wp-block-freeform.block-library-rich-text__tinymce h3 {
+	font-size: 22px;
+}
+
+.edit-post-visual-editor h4,
+.wp-block-freeform.block-library-rich-text__tinymce h4 {
+	font-size: 18px;
+}
+
+.edit-post-visual-editor h5,
+.wp-block-freeform.block-library-rich-text__tinymce h5 {
+	font-size: 16px;
+}
+
+.edit-post-visual-editor h6,
+.wp-block-freeform.block-library-rich-text__tinymce h6 {
+	font-size: 14px;
+}
+
+/*--------------------------------------------------------------
+2.0 General Block Settings
+--------------------------------------------------------------*/
+
+/* Main content width */
+
+.wp-block {
+	max-width: 730px; /* 700px + 30px to account for padding */
+}
+
+/* Link styles */
+
+.edit-post-visual-editor a,
+.editor-block-list__block a,
+.wp-block-freeform.block-library-rich-text__tinymce a {
+	color: #999;
+	border-bottom: 2px solid transparent;
+	text-decoration: none;
+	transition: border-bottom-color 0.2s;
+}
+
+.edit-post-visual-editor a:hover,
+.edit-post-visual-editor a:focus,
+.editor-block-list__block a:hover,
+.editor-block-list__block a:focus,
+.wp-block-freeform.block-library-rich-text__tinymce a:hover,
+.wp-block-freeform.block-library-rich-text__tinymce a:focus {
+	color: #333;
+	border-bottom-color: currentColor;
+}
+
+/* Table styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce table {
+	border-collapse: collapse;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce table,
+.wp-block-freeform.block-library-rich-text__tinymce table th,
+.wp-block-freeform.block-library-rich-text__tinymce table td {
+	border-color: #ddd;
+	border-style: solid;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce table th,
+.wp-block-freeform.block-library-rich-text__tinymce table td {
+	padding: 0.5em;
+}
+
+.rtl .wp-block-freeform.block-library-rich-text__tinymce td,
+.rtl .wp-block-freeform.block-library-rich-text__tinymce th {
+	text-align: right;
+}
+
+/* Quote styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote {
+	border-left: 4px solid #ddd;
+	margin-left: 2em;
+	padding-left: 1.5em;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote cite {
+	font-style: italic;
+}
+
+.rtl .wp-block-freeform.block-library-rich-text__tinymce blockquote {
+	border-left: 0;
+	border-right: 4px solid #ddd;
+	margin-left: 0;
+	margin-right: 2em;
+	padding-left: 0;
+	padding-right: 1.5em;
+}
+
+/* List styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce li,
+.editor-styles-wrapper li {
+	margin-bottom: 0;
+}
+
+/* Code styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce code {
+	background: transparent;
+}
+
+/* Caption styles */
+
+[class^="wp-block-"] figcaption {
+	font-size: 16px;
+	line-height: 1.5;
+}
+
+[class^="wp-block-"]:not(.wp-block-gallery) figcaption {
+	color: #333;
+}
+
+/* Definition List styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce dt {
+	font-weight: bold;
+}
+
+/* Pre styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce pre {
+	background: #eee;
+	padding: 1.6em;
+}
+
+/*--------------------------------------------------------------
+3.0 Blocks - Common Blocks
+--------------------------------------------------------------*/
+
+/* Paragraph */
+
+p.has-drop-cap:not(:focus)::first-letter {
+	font-size: 5em;
+	margin-top: 0.15em;
+}
+
+/* Quote */
+
+.editor-styles-wrapper .wp-block-quote,
+.wp-block-quote:not(.is-large):not(.is-style-large) {
+	border-left: 4px solid #ddd;
+	margin-left: 2em;
+	padding-left: 1.5em;
+}
+
+.wp-block-quote .wp-block-quote__citation {
+	color: inherit;
+	font-size: inherit;
+	font-style: italic;
+}
+
+.wp-block-quote.is-large p,
+.wp-block-quote.is-style-large p {
+	font-size: 24px;
+}
+
+.wp-block-quote.is-large .wp-block-quote__citation,
+.wp-block-quote.is-style-large .wp-block-quote__citation {
+	font-size: 18px;
+}
+
+.rtl .editor-styles-wrapper .wp-block-quote,
+.rtl .wp-block-quote:not(.is-large):not(.is-style-large) {
+	border-left: 0;
+	border-right: 4px solid #ddd;
+	margin-left: 0;
+	margin-right: 2em;
+	padding-left: 0;
+	padding-right: 1.5em;
+}
+
+/* Cover */
+
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image .wp-block-cover-image-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image .wp-block-cover-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image h2,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover .wp-block-cover-image-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover .wp-block-cover-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover h2 {
+	font-size: 1.5em;
+}
+
+/* File */
+
+.wp-block-file__textlink {
+	color: #999;
+	border-bottom: 2px solid transparent;
+	text-decoration: none;
+	transition: border-bottom-color 0.2s;
+}
+
+.wp-block-file__textlink:hover,
+.wp-block-file__textlink:focus {
+	color: #333;
+	border-bottom-color: currentColor;
+}
+
+.editor-styles-wrapper .wp-block-file .mce-content-body.wp-block-file__button {
+	line-height: 1;
+}
+
+.wp-block-file .wp-block-file__button,
+.wp-block-file .wp-block-file__button:visited {
+	background: #29292a;
+	border: 0;
+	border-radius: 0;
+	box-shadow: none;
+	color: #fff;
+	font-size: 14px;
+	font-size: 0.875rem;
+	letter-spacing: 0.05em;
+	line-height: 1;
+	padding: 1em 1.5em;
+	text-shadow: none;
+	text-transform: uppercase;
+	transition: background 0.2s;
+}
+
+.wp-block-file .wp-block-file__button:hover,
+.wp-block-file .wp-block-file__button:focus,
+.wp-block-file .wp-block-file__button:active {
+	background: #555;
+}
+
+/*--------------------------------------------------------------
+4.0 Blocks - Formatting
+--------------------------------------------------------------*/
+
+/* Verse */
+
+.wp-block-verse {
+	font-style: italic;
+}
+
+.wp-block-verse pre {
+	padding: 0;
+}
+
+/* Code */
+
+.wp-block-code {
+	background: #eee;
+	border: none;
+	border-radius: 0;
+	padding: 1.6em;
+}
+
+.wp-block-code textarea {
+	background: transparent;
+}
+
+/* Preformatted */
+
+.wp-block-preformatted {
+	background: #eee;
+	padding: 1.6em;
+}
+
+/* Pullquote */
+
+.wp-block-pullquote {
+	border: 0;
+}
+
+.wp-block-pullquote__citation {
+	color: inherit;
+	font-size: 16px;
+	font-style: italic;
+	text-transform: none;
+}
+
+.wp-block-pullquote.alignleft blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
+.wp-block-pullquote.alignright blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
+.wp-block-pullquote.alignleft blockquote > .editor-rich-text p,
+.wp-block-pullquote.alignright blockquote > .editor-rich-text p {
+	font-size: 20px;
+}
+
+/* Table */
+
+.wp-block-table th,
+.wp-block-table td {
+	border-color: #ddd;
+}
+
+.wp-block-table th {
+	text-align: left;
+}
+
+.rtl .wp-block-table th {
+	text-align: right;
+}
+
+.wp-block-table__cell-content {
+	padding: 0.5em;
+}
+
+/*--------------------------------------------------------------
+5.0 Blocks - Layout Elements
+--------------------------------------------------------------*/
+
+/* Buttons */
+
+.wp-block-button .wp-block-button__link {
+	background: #29292a;
+	border: 0;
+	border-radius: 0;
+	box-shadow: none;
+	color: #fff;
+	font-size: 14px;
+	font-size: 0.875rem;
+	letter-spacing: 0.05em;
+	line-height: 1;
+	padding: 1em 1.5em;
+	text-shadow: none;
+	text-transform: uppercase;
+	transition: background 0.2s;
+}
+
+.wp-block-button__link:hover,
+.wp-block-button__link:focus,
+.wp-block-button__link:active {
+	background: #555;
+}
+
+/* Separator */
+
+.wp-block-separator {
+	background-color: #ccc;
+	border: 0;
+	height: 1px;
+}
+
+/*--------------------------------------------------------------
+6.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/* Categories, Latest Posts & Archives */
+
+[data-align="center"] .wp-block-categories ul,
+[data-align="center"] .wp-block-latest-posts ul,
+[data-align="center"] .wp-block-archives ul {
+	list-style-position: inside;
+}
+
+/* Latest Comments */
+
+.editor-styles-wrapper .wp-block-latest-comments {
+	padding-left: 0;
+	padding-right: 0;
+}
+
+.wp-block-latest-comments__comment-date {
+	color: inherit;
+}
+

+ 21 - 0
lodestar/functions.php

@@ -88,6 +88,12 @@ function lodestar_setup() {
 		'flex-height' => true,
 		'header-text' => array( 'site-title', 'site-description' ),
 	) );
+
+	// Add support for responsive embeds.
+	add_theme_support( 'responsive-embeds' );
+
+	// Add support for full and wide align images.
+	add_theme_support( 'align-wide' );
 }
 endif;
 add_action( 'after_setup_theme', 'lodestar_setup' );
@@ -243,6 +249,9 @@ add_filter( 'frontpage_template',  'lodestar_front_page_template' );
 function lodestar_scripts() {
 	wp_enqueue_style( 'lodestar-style', get_stylesheet_uri() );
 
+	// Theme block stylesheet.
+	wp_enqueue_style( 'lodestar-block-style', get_theme_file_uri( '/assets/css/blocks.css' ), array( 'lodestar-style' ), '1.0' );
+
 	wp_enqueue_style( 'lodestar_fonts_url', lodestar_fonts_url(), array(), null );
 
 	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/assets/fonts/genericons.css', array(), null );
@@ -272,6 +281,18 @@ function lodestar_scripts() {
 }
 add_action( 'wp_enqueue_scripts', 'lodestar_scripts' );
 
+/**
+ * Enqueue editor styles for Gutenberg
+ */
+function lodestar_block_editor_styles() {
+	// Block styles.
+	wp_enqueue_style( 'lodestar-block-editor-style', get_theme_file_uri( '/assets/css/editor-blocks.css' ) );
+
+	// Fonts.
+	wp_enqueue_style( 'lodestar-fonts-url', lodestar_fonts_url(), array(), null );
+}
+add_action( 'enqueue_block_editor_assets', 'lodestar_block_editor_styles' );
+
 /**
  * Implement the Custom Header feature.
  */

+ 368 - 0
penscratch-2/css/blocks.css

@@ -0,0 +1,368 @@
+/*
+Theme Name: Penscratch 2
+Description: Used to style Gutenberg Blocks.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+1.0 General Block Styles
+2.0 Blocks - Common Blocks
+3.0 Blocks - Formatting
+4.0 Blocks - Layout Elements
+5.0 Blocks - Widgets
+6.0 Blocks - Colors
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+1.0 General Block Styles
+--------------------------------------------------------------*/
+
+[class^="wp-block-"] figcaption {
+	font-size: 14.6px;
+}
+
+[class^="wp-block-"]:not(.wp-block-gallery) figcaption {
+	color: inherit;
+	text-align: left;
+}
+
+.rtl [class^="wp-block-"]:not(.wp-block-gallery) figcaption {
+	text-align: right;
+}
+
+/*--------------------------------------------------------------
+2.0 Blocks - Common Blocks
+--------------------------------------------------------------*/
+
+/* Paragraph */
+
+p.has-drop-cap:not(:focus)::first-letter {
+	font-size: 5em;
+	margin-top: 0.15em;
+}
+
+/* Gallery */
+
+.wp-block-gallery {
+	margin: 0 0 27px;
+}
+
+/* Quote */
+
+.wp-block-quote.is-large,
+.wp-block-quote.is-style-large {
+	padding-left: 64px;
+}
+
+.wp-block-quote.is-large p,
+.wp-block-quote.is-style-large p {
+	font-size: 22px;
+	font-style: normal;
+}
+
+.rtl .wp-block-quote.is-large,
+.rtl .wp-block-quote.is-style-large {
+	padding-left: 0;
+	padding-right: 64px;
+}
+
+@media (min-width: 50em) {
+	.wp-block-quote.is-large p,
+	.wp-block-quote.is-style-large p {
+		font-size: 28px;
+	}
+}
+
+/* Audio */
+
+.wp-block-audio {
+	margin: 0 0 27px;
+}
+
+.wp-block-audio audio {
+	display: block;
+	width: 100%;
+}
+
+/* Cover */
+
+.wp-block-cover.aligncenter,
+.wp-block-cover-image.aligncenter,
+.wp-block-cover.alignleft,
+.wp-block-cover-image.alignleft,
+.wp-block-cover.alignright,
+.wp-block-cover-image.alignright {
+	display: flex;
+}
+
+.wp-block-cover-image .wp-block-cover-image-text,
+.wp-block-cover-image .wp-block-cover-text,
+.wp-block-cover-image h2,
+.wp-block-cover .wp-block-cover-image-text,
+.wp-block-cover .wp-block-cover-text,
+.wp-block-cover h2 {
+	font-size: 1.5em;
+}
+
+/* File */
+
+.wp-block-file a.wp-block-file__button,
+.wp-block-file a.wp-block-file__button:visited {
+	background: #e6e6e6;
+	border: 1px solid #ccc;
+	border-color: #ccc #ccc #bbb #ccc;
+	border-radius: 3px;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 15px 17px rgba(255, 255, 255, .5), inset 0 -5px 12px rgba(0, 0, 0, .05);
+	color: rgba(0, 0, 0, .8);
+	/* Corrects inability to style clickable 'input' types in iOS */
+	text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
+	/* Improves usability and consistency of cursor style between image-type 'input' and others */
+}
+
+.wp-block-file a.wp-block-file__button:hover {
+	border-color: #ccc #bbb #aaa #bbb;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 15px 17px rgba(255, 255, 255, .8), inset 0 -5px 12px rgba(0, 0, 0, .02);
+	color: rgba(0, 0, 0, .8);
+}
+
+
+.wp-block-file a.wp-block-file__button:focus,
+.wp-block-file a.wp-block-file__button:active {
+	border-color: #aaa #bbb #bbb #bbb;
+	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .5), inset 0 2px 5px rgba(0, 0, 0, .15);
+}
+
+.rtl .wp-block-file * + .wp-block-file__button {
+	margin-left: .75em;
+	margin-right: 0;
+}
+
+/* Video */
+
+.wp-block-video video {
+	width: 100%;
+}
+
+/*--------------------------------------------------------------
+3.0 Blocks - Formatting
+--------------------------------------------------------------*/
+
+/* Verse */
+
+.wp-block-verse {
+	font-style: italic;
+}
+
+/* Pullquote */
+
+.wp-block-pullquote blockquote {
+	padding-left: 0;
+	padding-right: 0;
+}
+
+.wp-block-pullquote blockquote:before {
+	display: none;
+}
+
+.wp-block-pullquote blockquote p {
+
+}
+
+.wp-block-pullquote cite,
+.wp-block-pullquote.alignleft cite,
+.wp-block-pullquote.alignright cite {
+	text-align: center;
+
+}
+
+/* Table */
+
+.wp-block-table td {
+	font-weight: inherit;
+}
+
+.wp-block-table th {
+	text-align: left;
+}
+
+.rtl .wp-block-table th {
+	text-align: right;
+}
+
+/*--------------------------------------------------------------
+4.0 Blocks - Layout Elements
+--------------------------------------------------------------*/
+
+/* Buttons */
+
+.wp-block-button .wp-block-button__link:not(.has-text-color) {
+	color: rgba(0, 0, 0, .8);
+}
+
+.wp-block-button .wp-block-button__link:not(.has-background) {
+	background: #e6e6e6;
+	border: 1px solid #ccc;
+	border-color: #ccc #ccc #bbb #ccc;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 15px 17px rgba(255, 255, 255, .5), inset 0 -5px 12px rgba(0, 0, 0, .05);
+	/* Corrects inability to style clickable 'input' types in iOS */
+	text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
+	/* Improves usability and consistency of cursor style between image-type 'input' and others */
+}
+
+.wp-block-button .wp-block-button__link {
+	cursor: pointer;
+	border-radius: 3px;
+	-webkit-appearance: button;
+}
+
+.wp-block-button .wp-block-button__link.has-background:hover {
+	opacity: 0.85;
+}
+
+.wp-block-button .wp-block-button__link:not(.has-background):hover {
+	border-color: #ccc #bbb #aaa #bbb;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 15px 17px rgba(255, 255, 255, .8), inset 0 -5px 12px rgba(0, 0, 0, .02);
+}
+
+.wp-block-button .wp-block-button__link:not(.has-background):focus,
+.wp-block-button .wp-block-button__link:not(.has-background):active {
+	border-color: #aaa #bbb #bbb #bbb;
+	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .5), inset 0 2px 5px rgba(0, 0, 0, .15);
+}
+
+/* Separator */
+
+.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
+	margin-left: auto;
+	margin-right: auto;
+	max-width: 100px;
+}
+
+/* Media & Text */
+
+.wp-block-media-text {
+	margin-bottom: 27px;
+}
+
+.wp-block-media-text *:last-child {
+	margin-bottom: 0;
+}
+
+/*--------------------------------------------------------------
+5.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/* Categories, Latest Posts & Archives */
+
+.wp-block-categories.aligncenter,
+.wp-block-categories.aligncenter ul,
+.wp-block-latest-posts.aligncenter,
+.wp-block-archives.aligncenter {
+	list-style-position: inside;
+	margin-left: 0;
+	margin-right: 0;
+	text-align: center;
+}
+
+/* Latest Comments */
+
+.wp-block-latest-comments {
+	margin-left: 0;
+	margin-right: 0;
+}
+
+.wp-block-latest-comments__comment-date {
+	color: inherit;
+}
+
+/* Latest Posts */
+
+.wp-block-latest-posts.is-grid {
+	margin-left: 0;
+	margin-right: 0;
+}
+
+/*--------------------------------------------------------------
+6.0 Blocks - Colors
+--------------------------------------------------------------*/
+
+.has-dark-green-color,
+.has-dark-green-color:hover,
+.has-dark-green-color:focus,
+.has-dark-green-color:active,
+.has-dark-green-color:visited {
+	color: #1c7c7c;
+}
+
+.has-dark-green-background-color,
+.has-dark-green-background-color:hover.
+.has-dark-green-background-color:focus,
+.has-dark-green-background-color:active,
+.has-dark-green-background-color:visited {
+	background-color: #1c7c7c;
+}
+
+.has-dark-gray-color,
+.has-dark-gray-color:hover,
+.has-dark-gray-color:focus,
+.has-dark-gray-color:active,
+.has-dark-gray-color:visited {
+	color: #666;
+}
+
+.has-dark-gray-background-color,
+.has-dark-gray-background-color:hover.
+.has-dark-gray-background-color:focus,
+.has-dark-gray-background-color:active,
+.has-dark-gray-background-color:visited {
+	background-color: #666;
+}
+
+.has-medium-gray-color,
+.has-medium-gray-color:hover,
+.has-medium-gray-color:focus,
+.has-medium-gray-color:active,
+.has-medium-gray-color:visited {
+	color: #999;
+}
+
+.has-medium-gray-background-color,
+.has-medium-gray-background-color:hover.
+.has-medium-gray-background-color:focus,
+.has-medium-gray-background-color:active,
+.has-medium-gray-background-color:visited {
+	background-color: #999;
+}
+
+.has-light-gray-color,
+.has-light-gray-color:hover,
+.has-light-gray-color:focus,
+.has-light-gray-color:active,
+.has-light-gray-color:visited {
+	color: #eee;
+}
+
+.has-light-gray-background-color,
+.has-light-gray-background-color:hover.
+.has-light-gray-background-color:focus,
+.has-light-gray-background-color:active,
+.has-light-gray-background-color:visited {
+	background-color: #eee;
+}
+
+.has-white-color,
+.has-white-color:hover,
+.has-white-color:focus,
+.has-white-color:active,
+.has-white-color:visited {
+	color: #fff;
+}
+
+.has-white-background-color,
+.has-white-background-color:hover.
+.has-white-background-color:focus,
+.has-white-background-color:active,
+.has-white-background-color:visited {
+	background-color: #fff;
+}

+ 556 - 0
penscratch-2/css/editor-blocks.css

@@ -0,0 +1,556 @@
+/*
+Theme Name: Penscratch 2
+Description: Used to style Gutenberg Blocks in the editor.
+*/
+
+/*--------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+1.0 General Typography
+2.0 General Block Settings
+3.0 Blocks - Common Blocks
+4.0 Blocks - Formatting
+5.0 Blocks - Layout Elements
+6.0 Blocks - Widgets
+
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+1.0 General Typography
+--------------------------------------------------------------*/
+
+.edit-post-visual-editor .editor-block-list__block,
+.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
+	font-family: "Roboto Slab", Georgia, Times, serif;
+}
+
+/* Font size */
+
+.edit-post-visual-editor .editor-block-list__block,
+.edit-post-visual-editor .editor-block-list__block p,
+.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
+	font-size: 15px;
+	font-weight: 300;
+	line-height: 1.7em;
+}
+
+@media (min-width: 50em) {
+	.edit-post-visual-editor .editor-block-list__block,
+	.edit-post-visual-editor .editor-block-list__block p,
+	.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
+		font-size: 18px;
+	}
+}
+
+/* Colour */
+
+.edit-post-visual-editor .editor-block-list__block {
+	color: #666;
+}
+
+/* Post title */
+
+.editor-post-title__block .editor-post-title__input {
+	color: #666;
+	font-family: "Roboto Slab", Georgia, Times, serif;
+	font-size: 26.25px;
+	font-weight: 400;
+}
+
+@media (min-width: 50em) {
+	.editor-post-title__block .editor-post-title__input {
+		font-size: 32px;
+	}
+}
+
+/* Headings */
+
+.edit-post-visual-editor h1,
+.wp-block-freeform.block-library-rich-text__tinymce h1,
+.edit-post-visual-editor h2,
+.wp-block-freeform.block-library-rich-text__tinymce h2,
+.edit-post-visual-editor h3,
+.wp-block-freeform.block-library-rich-text__tinymce h3,
+.edit-post-visual-editor h4,
+.wp-block-freeform.block-library-rich-text__tinymce h4,
+.edit-post-visual-editor h5,
+.wp-block-freeform.block-library-rich-text__tinymce h5,
+.edit-post-visual-editor h6,
+.wp-block-freeform.block-library-rich-text__tinymce h6 {
+	color: #666;
+	font-weight: normal
+}
+
+.edit-post-visual-editor h1,
+.wp-block-freeform.block-library-rich-text__tinymce h1 {
+	font-size: 28px;
+}
+
+.edit-post-visual-editor h2,
+.wp-block-freeform.block-library-rich-text__tinymce h2 {
+	font-size: 20px;
+}
+
+.edit-post-visual-editor h3,
+.wp-block-freeform.block-library-rich-text__tinymce h3 {
+	font-size: 20px;
+}
+
+.edit-post-visual-editor h4,
+.wp-block-freeform.block-library-rich-text__tinymce h4 {
+	font-size: 16px;
+}
+
+.edit-post-visual-editor h5,
+.wp-block-freeform.block-library-rich-text__tinymce h5 {
+	font-size: 16px;
+}
+
+.edit-post-visual-editor h6,
+.wp-block-freeform.block-library-rich-text__tinymce h6 {
+	font-size: 14px;
+}
+
+@media (min-width: 50em) {
+	.edit-post-visual-editor h1,
+	.wp-block-freeform.block-library-rich-text__tinymce h1 {
+		font-size: 32px;
+	}
+
+	.edit-post-visual-editor h2,
+	.wp-block-freeform.block-library-rich-text__tinymce h2 {
+		font-size: 28px;
+	}
+
+	.edit-post-visual-editor h3,
+	.wp-block-freeform.block-library-rich-text__tinymce h3 {
+		font-size: 24px;
+	}
+
+	.edit-post-visual-editor h4,
+	.wp-block-freeform.block-library-rich-text__tinymce h4 {
+		font-size: 20px;
+	}
+}
+
+/*--------------------------------------------------------------
+2.0 General Block Settings
+--------------------------------------------------------------*/
+
+/* Main content width */
+
+.wp-block {
+	max-width: 686px; /* 656px + 30px to account for padding */
+}
+
+/* Link styles */
+
+.edit-post-visual-editor a,
+.editor-block-list__block a,
+.wp-block-freeform.block-library-rich-text__tinymce a {
+	color: #1c7c7c;
+	text-decoration: none;
+}
+
+/* Table styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce table {
+	border-collapse: collapse;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce table th,
+.wp-block-freeform.block-library-rich-text__tinymce table td {
+	padding: 0.5em;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce table th {
+	border-bottom: 3px solid #eee;
+	text-transform: uppercase;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce table td {
+	border-bottom: 1px solid #eee
+}
+
+.rtl .wp-block-freeform.block-library-rich-text__tinymce td,
+.rtl .wp-block-freeform.block-library-rich-text__tinymce th {
+	text-align: right;
+}
+
+/* Quote styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote {
+	border: 0;
+	padding-left: 64px;
+	position: relative;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote:before {
+	color: #eee;
+	content: "\201D";
+	display: block;
+	font-family: Baskerville, Georgia, serif;
+	font-size: 48px;
+	font-weight: bold;
+	line-height: 1;
+	position: absolute;
+	top: 2px;
+	left: 0;
+	transform: scaleX(-1);
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce  blockquote p {
+	color: #999;
+}
+
+.wp-block-freeform.block-library-rich-text__tinymce blockquote cite {
+	color: #999;
+	font-size: 15px;
+	font-style: none;
+	text-align: right;
+}
+
+.rtl .wp-block-freeform.block-library-rich-text__tinymce blockquote {
+	padding-left: 0;
+	padding-right: 64px;
+}
+
+.rtl .wp-block-freeform.block-library-rich-text__tinymce blockquote:before {
+	left: auto;
+	right: 0;
+}
+
+.rtl .wp-block-freeform.block-library-rich-text__tinymce blockquote cite {
+	text-align: left;
+}
+
+@media (min-width: 50em) {
+	.wp-block-freeform.block-library-rich-text__tinymce blockquote:before {
+		font-size: 72px;
+	}
+
+	.wp-block-freeform.block-library-rich-text__tinymce  blockquote p {
+		font-size: 21.6px;
+	}
+
+	.wp-block-freeform.block-library-rich-text__tinymce blockquote cite {
+		font-size: 17.6px;
+		text-align: right;
+	}
+}
+
+/* List styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce li,
+.editor-styles-wrapper li {
+	margin-bottom: 0;
+}
+
+/* Code styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce code {
+
+}
+
+/* Caption styles */
+
+[class^="wp-block-"] figcaption {
+	font-size: 14.6px;
+}
+
+[class^="wp-block-"]:not(.wp-block-gallery) figcaption {
+	color: inherit;
+	text-align: left;
+}
+
+.rtl [class^="wp-block-"]:not(.wp-block-gallery) figcaption {
+	text-align: right;
+}
+
+/* Definition List styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce dt {
+	font-weight: bold;
+}
+
+/* Pre styles */
+
+.wp-block-freeform.block-library-rich-text__tinymce pre {
+
+}
+
+/*--------------------------------------------------------------
+3.0 Blocks - Common Blocks
+--------------------------------------------------------------*/
+
+/* Paragraph */
+
+p.has-drop-cap:not(:focus)::first-letter {
+	font-size: 5em;
+	margin-top: 0.15em;
+}
+
+/* Quote */
+
+.editor-styles-wrapper .wp-block-quote,
+.wp-block-quote:not(.is-large):not(.is-style-large) {
+	border: 0;
+	padding-left: 64px;
+	position: relative;
+}
+
+.wp-block-quote:before {
+	color: #eee;
+	content: "\201D";
+	display: block;
+	font-family: Baskerville, Georgia, serif;
+	font-size: 48px;
+	font-weight: bold;
+	position: absolute;
+	top: 16px;
+	left: 0;
+	transform: scaleX(-1);
+}
+
+.edit-post-visual-editor .editor-block-list__block .wp-block-quote p {
+	color: #999;
+}
+
+.edit-post-visual-editor .editor-block-list__block .wp-block-quote.is-large p,
+.edit-post-visual-editor .editor-block-list__block .wp-block-quote.is-style-large p {
+	font-size: 22px;
+	font-style: normal;
+}
+
+.wp-block-quote .wp-block-quote__citation {
+	color: #999;
+	font-size: 15px;
+	text-align: right;
+}
+
+.rtl .editor-styles-wrapper .wp-block-quote,
+.rtl .wp-block-quote:not(.is-large):not(.is-style-large) {
+	padding-left: 0;
+	padding-right: 64px;
+}
+
+.rtl .wp-block-quote:before {
+	left: auto;
+	right: 0;
+}
+
+.rtl .wp-block-quote .wp-block-quote__citation {
+	text-align: left;
+}
+
+
+@media (min-width: 50em) {
+	.wp-block-quote:before {
+		font-size: 72px;
+	}
+
+	.edit-post-visual-editor .editor-block-list__block .wp-block-quote p {
+		font-size: 21.6px;
+	}
+
+	.edit-post-visual-editor .editor-block-list__block .wp-block-quote.is-large p,
+	.edit-post-visual-editor .editor-block-list__block .wp-block-quote.is-style-large p {
+		font-size: 28px;
+	}
+
+	.wp-block-quote .wp-block-quote__citation {
+		font-size: 17.6px;
+		text-align: right;
+	}
+}
+
+/* Cover */
+
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image .wp-block-cover-image-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image .wp-block-cover-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover-image h2,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover .wp-block-cover-image-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover .wp-block-cover-text,
+.edit-post-visual-editor .editor-block-list__block .wp-block-cover h2 {
+	font-size: 27px;
+}
+
+/* File */
+
+.wp-block-file__textlink {
+	color: #1c7c7c;
+}
+
+.wp-block-file .wp-block-file__button,
+.wp-block-file .wp-block-file__button:visited {
+	background: #e6e6e6;
+	border: 1px solid #ccc;
+	border-color: #ccc #ccc #bbb #ccc;
+	border-radius: 3px;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 15px 17px rgba(255, 255, 255, .5), inset 0 -5px 12px rgba(0, 0, 0, .05);
+	color: rgba(0, 0, 0, .8);
+	/* Corrects inability to style clickable 'input' types in iOS */
+	text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
+	/* Improves usability and consistency of cursor style between image-type 'input' and others */
+}
+
+.wp-block-file .wp-block-file__button:hover {
+	border-color: #ccc #bbb #aaa #bbb;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 15px 17px rgba(255, 255, 255, .8), inset 0 -5px 12px rgba(0, 0, 0, .02);
+	color: rgba(0, 0, 0, .8);
+}
+
+
+.wp-block-file .wp-block-file__button:focus,
+.wp-block-file .wp-block-file__button:active {
+	border-color: #aaa #bbb #bbb #bbb;
+	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .5), inset 0 2px 5px rgba(0, 0, 0, .15);
+}
+
+
+/*--------------------------------------------------------------
+4.0 Blocks - Formatting
+--------------------------------------------------------------*/
+
+/* Verse */
+
+.wp-block-verse pre {
+	font-style: italic;
+}
+
+/* Code */
+
+.wp-block-code {
+	border: none;
+	border-radius: 0;
+}
+
+.wp-block-code textarea {
+	background: transparent;
+}
+
+@media (min-width: 50em) {
+	.wp-block-code .editor-plain-text {
+		font-size: 18px;
+	}
+}
+
+/* Preformatted */
+
+.wp-block-preformatted pre {
+	font-family: inherit;
+	font-size: inherit;
+}
+
+/* Pullquote */
+
+.wp-block-pullquote {
+	border: 0;
+	color: #999;
+}
+
+.wp-block-pullquote__citation {
+	font-size: 15px;
+	text-transform: none;
+}
+
+.wp-block-pullquote.alignleft blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
+.wp-block-pullquote.alignright blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
+.wp-block-pullquote.alignleft blockquote > .editor-rich-text p,
+.wp-block-pullquote.alignright blockquote > .editor-rich-text p {
+	font-size: 20px;
+}
+
+@media (min-width: 50em) {
+	.wp-block-pullquote__citation {
+		font-size: 17.55px;
+	}
+}
+
+/* Table */
+
+.wp-block-table th,
+.wp-block-table td {
+	border: 0;
+	border-bottom: 1px solid #eee;
+}
+
+.wp-block-table th {
+	border-bottom-width: 3px;
+	text-align: left;
+	text-transform: uppercase;
+}
+
+.rtl .wp-block-table th {
+	text-align: right;
+}
+
+.wp-block-table__cell-content {
+	padding: 0.5em;
+}
+
+/*--------------------------------------------------------------
+5.0 Blocks - Layout Elements
+--------------------------------------------------------------*/
+
+/* Buttons */
+
+.wp-block-button .wp-block-button__link,
+.wp-block-button .wp-block-button__link:visited {
+	background: #e6e6e6;
+	border: 1px solid #ccc;
+	border-color: #ccc #ccc #bbb #ccc;
+	border-radius: 3px;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 15px 17px rgba(255, 255, 255, .5), inset 0 -5px 12px rgba(0, 0, 0, .05);
+	color: rgba(0, 0, 0, .8);
+	/* Corrects inability to style clickable 'input' types in iOS */
+	text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
+	/* Improves usability and consistency of cursor style between image-type 'input' and others */
+}
+
+.wp-block-button .wp-block-button__link:hover {
+	background: #e6e6e6;
+	border-color: #ccc #bbb #aaa #bbb;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 15px 17px rgba(255, 255, 255, .8), inset 0 -5px 12px rgba(0, 0, 0, .02);
+	color: rgba(0, 0, 0, .8);
+}
+
+
+.wp-block-button .wp-block-button__link:focus,
+.wp-block-button .wp-block-button__link:active {
+	background: #e6e6e6;
+	border-color: #aaa #bbb #bbb #bbb;
+	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .5), inset 0 2px 5px rgba(0, 0, 0, .15);
+}
+
+/* Separator */
+
+.wp-block-separator {
+	background-color: #ccc;
+	border: 0;
+	height: 1px;
+}
+
+/*--------------------------------------------------------------
+6.0 Blocks - Widgets
+--------------------------------------------------------------*/
+
+/* Categories, Latest Posts & Archives */
+
+[data-align="center"] .wp-block-categories ul,
+[data-align="center"] .wp-block-latest-posts ul,
+[data-align="center"] .wp-block-archives ul {
+	list-style-position: inside;
+}
+
+/* Latest Comments */
+
+.editor-styles-wrapper .wp-block-latest-comments {
+	padding-left: 0;
+	padding-right: 0;
+}
+
+.wp-block-latest-comments__comment-date {
+	color: inherit;
+}
+

+ 49 - 0
penscratch-2/functions.php

@@ -73,6 +73,41 @@ function penscratch_2_setup() {
 		'default-color' => 'eeeeee',
 		'default-image' => '',
 	) ) );
+
+	// Add support for responsive embeds.
+	add_theme_support( 'responsive-embeds' );
+
+	// Add custom colors to Gutenberg
+	add_theme_support(
+		'editor-color-palette', array(
+			array(
+				'name'  => esc_html__( 'Dark Green', 'penscratch-2' ),
+				'slug' => 'dark-green',
+				'color' => '#1c7c7c',
+			),
+			array(
+				'name'  => esc_html__( 'Dark Gray', 'penscratch-2' ),
+				'slug' => 'dark-gray',
+				'color' => '#666',
+			),
+			array(
+				'name'  => esc_html__( 'Medium Gray', 'penscratch-2' ),
+				'slug' => 'medium-gray',
+				'color' => '#999',
+			),
+			array(
+				'name'  => esc_html__( 'Light Gray', 'penscratch-2' ),
+				'slug' => 'light-gray',
+				'color' => '#eee',
+			),
+			array(
+				'name'  => esc_html__( 'White', 'penscratch-2' ),
+				'slug' => 'white',
+				'color' => '#fff',
+			),
+		)
+	);
+
 }
 endif; // penscratch_2_setup
 add_action( 'after_setup_theme', 'penscratch_2_setup' );
@@ -146,6 +181,9 @@ function penscratch_2_scripts() {
 	wp_enqueue_style( 'penscratch-2-style', get_stylesheet_uri() );
 	wp_enqueue_style( 'penscratch-2-fonts', penscratch_2_fonts_url(), array(), null );
 
+	// Theme block stylesheet.
+	wp_enqueue_style( 'penscratch-2-block-style', get_theme_file_uri( '/css/blocks.css' ), array( 'penscratch-2-style' ), '1.0' );
+
 	wp_enqueue_script( 'penscratch-2-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );
 
 	wp_enqueue_script( 'penscratch-2-scripts', get_template_directory_uri() . '/js/penscratch-2.js', array( 'jquery' ), '20170608', true );
@@ -158,6 +196,17 @@ function penscratch_2_scripts() {
 }
 add_action( 'wp_enqueue_scripts', 'penscratch_2_scripts' );
 
+/**
+ * Enqueue editor styles for Gutenberg
+ */
+function penscratch_2_block_editor_styles() {
+	// Block styles.
+	wp_enqueue_style( 'penscratch-2-block-editor-style', get_theme_file_uri( '/css/editor-blocks.css' ) );
+	// Fonts.
+	wp_enqueue_style( 'penscratch-2-fonts-url', penscratch_2_fonts_url(), array(), null );
+}
+add_action( 'enqueue_block_editor_assets', 'penscratch_2_block_editor_styles' );
+
 /**
  * Register Google Fonts
  */