/*
Theme Name: Linework
Theme URI: http://themes.halsey.co/linework/
Author: Nick Halsey
Author URI: https://celloexpressions.com/
Description: Linework is a clean creative business theme designed to showcase and adapt to your brand. With a custom logo, the ability to customize every color in the theme with live preview, featured images, and a menu and widget area, you can make Linework your own quickly and easily. Linework is at its best on sites with a few static pages and also supports a clutter-free blog.
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, theme-options, threaded-comments, translation-ready, accessibility-ready
Version: 1.4
Requires PHP: 5.6
Requires at least: 5.2
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: linework

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.

Linework WordPress theme, (C) 2024 Nick Halsey
Linework is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Normalize
2.0 Typography
3.0 Elements
4.0 Structure
5.0 Forms
6.0 Navigation
	6.1 Links
	6.2 Menus
	6.3 Search
7.0 Accessibility
8.0 Alignments
9.0 Clearings
10.0 Widgets
11.0 Content
	11.1 Posts and pages
	11.2 Comments
12.0 Media
	12.1 Captions
	12.2 Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 600;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0 0 1em 0;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: 600;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #20a;
	font-family: Assistant, sans-serif;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin: 27px 0 18px 0;
	line-height: 1;
	font-weight: 200;
}

h3,
h4 {
	font-weight: 300;
}

h5, h6 {
	font-weight: 600;
}

h1 {
	font-size: 45px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 27px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 21px;
}

h6 {
	font-size: 18px;
}

p {
	margin: 0 0 1em 0;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote,
blockquote.wp-block-quote,
.wp-block-quote p {
	margin: 0 2em;
	font-style: italic;
	font-size: 24px;
}

cite,
.wp-block-quote__citation,
.wp-block-quote cite,
.wp-block-quote footer {
	color: inherit;
	font-size: 16px;
	font-style: italic;
}

address {
	margin: 0 0 2em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
3.0 Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body,
.site {
	background: #fffcf7;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: square;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 600;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
4.0 Stucture
--------------------------------------------------------------*/
html {
	overflow: hidden; /* Additional JS is required to ensure the html element is never scrolled. */
}

#linework {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: none;
	box-shadow: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

body {
	margin: 32px auto;
	padding: 0;
	background: #fffcf7;
	width: 100%;
    max-width: calc(100vw - 64px);
    height: calc(100vh - 64px);
	z-index: 2;
	overflow: auto;
}

.site {
	padding: 32px;
}

body.admin-bar {
	height: calc(100vh - 96px);
}

.site-header,
.site-content,
.site-footer {
	max-width: 960px;
	padding: 0;
	margin: 0 auto;
}

@media screen and (min-width:1280px) {
	body {
		width: 1216px;
	}
}

@media screen and (max-width:900px) {
	body {
		max-width: calc(100vw - 32px);
		height: calc(100vh - 32px);
		margin: 16px;
	}

	.site {
		padding: 16px;
	}

	body.admin-bar {
		height: calc(100vh - 64px);
	}

	.site .main-navigation {
		width: calc(100% - 64px);
		bottom: 16px;
	}
}

@media screen and (max-width:782px) {
	body.admin-bar {
		height: calc(100vh - 78px);
	}
}

@media screen and (max-width:600px) {
	body {
		max-width: calc(100vw - 16px);
		height: calc(100vh - 16px);
		margin: 8px;
	}

	.site {
		padding: 8px;
	}

	body.admin-bar {
		height: calc(100vh - 62px);
	}

	.site .main-navigation {
		width: calc(100vh - 76px);
		bottom: 16px;
	}
}

.site-title {
	font-size: 72px;
	font-weight: 200;
	line-height: 1;
	text-decoration: none;
	margin: 0 0 18px 0;
	clear: none;
}

.site-title a {
	text-decoration: none;
}

.site-description {
	font-size: 24px;
	margin: 0 0 18px 0;
	font-weight:  200;
	line-height: 1;
}

.site-branding {
	margin: 0 0 18px 0;
	border-bottom: 1px solid;
	position: relative;
}

.custom-logo {
	float: right;
	margin-left: 18px;
	margin-bottom: 18px;
	max-width: 100%;
}

.entry-title {
	margin: 18px 0;
}

.entry-title a {
	text-decoration: none;
}

.site-title a:hover,
.site-title a:focus,
.entry-title a:hover,
.entry-title a:focus {
	border-bottom: 1px solid;
}

.home .post,
.blog .post,
.archive .post {
	border-bottom: 1px solid;
	margin: 0 0 36px 0;
	padding: 0 0 18px 0;
}

.edit-link {
	margin-left: 18px;
}

.taxonomy-description {
	border-bottom: 1px solid;
	font-size: 21px;
}

.error-404 {
	border-bottom: 1px solid;
	margin-bottom: 27px;
	padding-bottom: 18px;
	overflow: hidden;
}

.error-404-404 {
	font-size: 144px;
	float: right;
	font-weight: 200;
}

/* Fade in Animation */
@-webkit-keyframes content-fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes content-fade-in {
	0% {
		opacity: 0;
	}
	20% {
		opacity: .1;
	}
	80% {
		opacity: .9;
	}
	100% {
		opacity: 1;
	}
}

.fade-in-page .site {
	-webkit-animation: 1.5s content-fade-in 1;
	animation: 1.5s content-fade-in 1;
}

/*--------------------------------------------------------------
5.0 Forms
--------------------------------------------------------------*/
.button,
button,
.wp-block-button__link,
.wp-block-file__button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-radius: 0;
	box-shadow: none;
    padding: calc(.25em - 2px) 1em;
    background: transparent;
	text-decoration: none; /* For links with the button class. */
}

.button:hover,
button:hover,
.wp-block-button__link:hover,
.wp-block-file__button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:focus,
button:focus,
.wp-block-button__link:focus,
.wp-block-file__button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
.button:active,
button:active,
.wp-block-button__link:active,
.wp-block-file__button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #20a;
	background-color: #20a;
	color: #fff;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	border: none;
	border-bottom: 1px solid;
	padding: 3px;
}

select {
	border-bottom: 1px solid;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #000;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
6/0 Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
6.1 Links
--------------------------------------------------------------*/
a {
	color: #20a;
	text-decoration: underline;
}

a:hover,
a:focus,
a:active {
	color: #000;
	text-decoration: none;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

::selection {
	background: #ff0;
}

::-moz-selection {
	background: #ff0;
}

/*--------------------------------------------------------------
6.2 Menus
--------------------------------------------------------------*/
.main-navigation {
	display: block;
	position: fixed;
	bottom: 32px;
	max-width: 960px;
	width: calc(100% - 128px);
	background: #fffcf7;
	border-top: 1px solid;
	z-index: 1000;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation li {
	float: left;
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	padding: 4px 9px 5px 9px;
}

.main-navigation li a:hover,
.main-navigation li a:focus {
    border-bottom: 1px solid;
	padding-bottom: 4px;
}

.main-navigation ul ul {
	border-top: 1px solid;
	float: left;
	position: absolute;
	bottom: 36px;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul a {
	background: #fffcf7;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul a {
	min-width: 120px;
}


.main-navigation li:hover > a,
.main-navigation li.focus > a {
}

.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
	color: #000;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 601px) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

@media screen and (max-width:600px) {
	.site .main-navigation {
		position: relative;
		border-top: 0;
		bottom: 0;
		margin-top: -18px;
		padding-bottom: 18px;
		width: 100%;
		overflow: hidden;
	}

	.main-navigation > .menu-toggle {
		border-top: 0;
	}

	.main-navigation li {
		float: none;
	}

	.main-navigation li:first-child {
		margin-top: 9px;
	}

	.main-navigation ul ul,
	.main-navigation .sub-menu,
	.main-navigation .children {
		left: 18px;
		position: relative;
		bottom: auto;
		float: none;
	}

	.main-navigation ul li:hover > ul,
	.main-navigation ul li.focus > ul,
	.main-navigation ul ul li:hover > ul,
	.main-navigation ul ul li.focus > ul {
		left: 18px;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 27px;
	overflow: hidden;
    font-size: 21px;
}

.site-main .comment-navigation a,
.site-main .posts-navigation a,
.site-main .post-navigation a {
	text-decoration: none;
	border-bottom: 1px solid;
}

.site-main .comment-navigation a:hover,
.site-main .comment-navigation a:focus,
.site-main .posts-navigation a:hover,
.site-main .posts-navigation a:focus,
.site-main .post-navigation a:hover,
.site-main .post-navigation a:focus {
	border: none;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

.nav-previous a:before {
	content: "\2190";
	margin-right: 9px;
	text-decoration: none;
}

.nav-next a:after {
	content: "\2192";
	margin-left: 9px;
	text-decoration: none;
}


/*--------------------------------------------------------------
6.3 Search
--------------------------------------------------------------*/
.search .page-header {
	border-bottom: 1px solid;
	padding-bottom: 18px;
	display: inline-block; /* Makes border width match the text width. */
}

.search .no-results .page-header {
	border: none;
	padding: 0;
	display: bloekc;
}

.search .no-results {
	margin-bottom: 27px;
	padding-bottom: 18px;
	border-bottom: 1px solid;
}

.search .page-title {
	float: left;
}

.search .page-header .search-form {
	float: left;
	margin: 19px 0 0 18px;
}

.search .page-header .search-field {
	font-size: 54px;
	font-weight: 200;
	line-height: 1;
	width: 300px;
	padding: 0 9px;
	border: 1px solid;
}

.search .page-header .search-submit {
	font-size: 15px;
	position: relative;
	top: -9px;
}

.search .hentry {
	border-bottom: 1px solid;
	padding-bottom: 18px;
	margin-bottom: 27px;
}

@media screen and (max-width: 400px) {
	.search .page-header .search-submit {
		top: 9px;
	}

	.search .page-header .search-field {
		width: 100%;
	}
}

/*--------------------------------------------------------------
7.0 Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #fffcf7;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #20a;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 600;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

#linework-animation-toggle {
	display: block;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 1001;
	font-size: 14px;
	background: #fffcf7;
	color: #20a;
	border: 2px solid #20a;
	border-radius: 0;
}

#linework-animation-toggle:focus,
#linework-animation-toggle:hover {
	background: #20a;
	color: #fffcf7;
}

@media screen and (max-width:900px) {
	#linework-animation-toggle {
		display: none;
	}
}

#linework-animation-toggle.on .play {
	display: none;
}

#linework-animation-toggle .pause {
	display: none;
}

#linework-animation-toggle.on .pause {
	display: inline;
}

/*--------------------------------------------------------------
8.0 Alignments
--------------------------------------------------------------*/
.alignleft,
.wp-block-image .alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright,
.wp-block-image .alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter,
.wp-block-image .aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
9.0 Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
10.0 Widgets
--------------------------------------------------------------*/
.page .site-footer,
.single .site-footer,
.attachment .site-footer {
	border-top: 1px solid;
	padding-top: 18px;
}

.widget-area .widget {
	width: 302px;
	max-width: 100%;
	float: left;
	margin: 0 18px 18px 0;
	font-size: 16px;
	position: relative;
}

.widget-title {
	margin: 0 0 16px 0;
	font-size: 32px;
}

.widget-area ul,
.widget-area ol {
	margin: 0;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

.site-info {
	clear: both;
	text-align: center;
	margin: 18px 0 36px 0;
	position: relative;
}

/*--------------------------------------------------------------
11.0 Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
11.1 Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1em;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
11.2 Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

.comments-title {
	font-size: 27px;
	font-weight: 300;
}

.comment-list {
	list-style: none;
	margin: 0 0 0 48px;
	padding: 0;
}

.comment-author .fn {
	margin-left: 9px;
}

.comment-author .fn,
.comment-author a {
	line-height: 32px;
	vertical-align: top;
}

.comment-author .says {
	display: none;
}

.comment-author.vcard {
	float: left;
	margin-right: 18px;
}

.comment-metadata {
	line-height: 32px;
}

.comment-content {
	clear: both;
}

.comment-body {
	border-top: 1px solid;
	padding: 18px 0;
}

.comment-content p:last-child {
	margin-bottom: 0;
}

.comment-list ol.children {
	list-style: none;
}

.comment-reply-title {
	font-size: 27px;
	margin-top: 0;
}

.comment-form-comment {
	margin-bottom: 9px;
}

.comment-respond .form-submit {
	margin-bottom: 27px;
}


/*--------------------------------------------------------------
12.0 Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

.site .mejs-container {
	margin: 0 0 18px 0;
}

.site .mejs-container,
.site .mejs-embed,
.site .mejs-embed body,
.site .mejs-container .mejs-controls {
	background: #000;
}

.site .mejs-controls .mejs-time-rail .mejs-time-loaded,
.site .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
	background: #fffcf7;
}

.site .mejs-controls .mejs-time-rail .mejs-time-current {
    background: #20a;
}

.site .wp-playlist-item {
	padding: 7px 3px;
}

/*--------------------------------------------------------------
12.1 Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text,
.wp-caption-dd,
.wp-block-image figcaption {
	margin: 0.8075em 0;
	text-align: center;
	font-size: 16px;
}

/*--------------------------------------------------------------
12.2 Galleries
--------------------------------------------------------------*/
.gallery,
.wp-block-gallery {
	margin-bottom: 1.5em;
}

.gallery-item { /* classic editor galleries only */
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption,
.wp-block-gallery figcaption,
.wp-block-gallery .blocks-gallery-image figcaption.blocks-gallery-item__caption,
.wp-block-gallery .blocks-gallery-item figcaption.blocks-gallery-item__caption,
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	display: block;
	position: relative;
	background: transparent;
	color: inherit;
	margin: 0;
	font-size: 16px;
}

/* Customize Preview */
.customize-partial-edit-shortcut-custom_logo {
	right: -36px;
}

.site-title a.customize-partial-refreshing,
.site-description.customize-partial-refreshing,
.site-info.customize-partial-refreshing {
	opacity: 1; /* Don't show visible selective refresh indicator, as values are loosely updated in JS initially. */
}

/* Block Styles */

.has-linework-color {
	color: #20a;
}

.has-contrast-color {
	color: #fffcf7;
}

.has-black-color {
	color: #000;
}

.has-white-color {
	color: #fff;
}

.has-linework-color {
	background-color: #20a;
}

.has-contrast-color {
	background-color: #fffcf7;
}

.has-black-color {
	background-color: #000;
}

.has-white-color {
	background-color: #fff;
}

/**
 * Full & wide block alignments
 */

@media screen and (min-width: 900px) {
	.wp-block-cover.alignfull,
	.wp-block-image.alignfull,
	.wp-block-cover.alignwide,
	.wp-block-image.alignwide {
		margin-left: calc(-100vw / 2 + 864px / 2); /* 640px article width - 64px content padding */
		margin-right: calc(-100vw / 2 + 864px / 2);
		text-align: center;
		width: auto;
		max-width: 100vw;
	}
}

@media screen and (min-width:1280px) {
	.wp-block-cover.alignwide,
	.wp-block-image.alignwide,
	.wp-block-cover.alignfull,
	.wp-block-image.alignfull {
		width: 1206px;
		margin-left: -128px;
		margin-right: -128px;
	}
}

.alignwide figcaption,
.alignfull figcaption {
	max-width: 960px;
	margin: 0 auto;
	padding: 1em;
}

/* We float the img inside the figure that has .alignleft applied.
   This makes the .alignleft element have the same main column width as text.
   What makes the float work is that the figure collapses into a zero height element */
 
.wp-block-image figure.alignleft {
	display: block;
	float: left;
	margin-right: 1em;
}

.wp-block-image figure.alignright {
	display: block;
	float: right;
	margin-left: 1em;
}

/* For captions, we display the figure itself as a table.
   This ensures the figcaption will retain the same width as the image,
   which is important when the caption is long. */
.wp-block-image figure.alignleft,
.wp-block-image figure.alignright {
	display: table;
}

.wp-block-image figure.alignleft figcaption,
.wp-block-image figure.alignright figcaption {
	display: table-caption;
	caption-side: bottom;
}

.wp-block-file {
	margin: 1em 0;
}

.site-main .entry-content .wp-block-file a:not(.wp-block-file__button) {
	text-decoration: none;
	color: inherit;
}
