/* Alignment
--------------------------------------------- */

.full-width-content .entry-content>.alignfull,
.block-editor-block-list__layout.is-root-container>[data-align="full"],
.full-width-content .entry-content>.alignwide {
	border-radius: 0;
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
	width: 100vw;
	max-width: 100vw;
}

.content-sidebar .site-container .alignfull,
.sidebar-content .site-container .alignfull {
	margin: 0 0 30px;
	width: 100%;
}

.wp-block-image.aligncenter {
	margin-left: auto;
	margin-right: auto;
}


@media (min-width: 1340px) {

	.full-width-content .entry-content>.alignwide {
		border-radius: var(--wp--preset--border-radius--medium);
		margin-left: calc((100% - var(--wp--style--global--wide-size)) / 2);
		margin-right: calc((100% - var(--wp--style--global--wide-size)) / 2);
		max-width: var(--wp--style--global--wide-size);
		width: 100%;
	}

}

/* Images
--------------------------------------------- */

.wp-block-image img {
    height: auto !important;
}

.wp-block-image.is-style-boxshadow {
	box-shadow: none;
	padding: 0;
}

.wp-block-image.is-style-boxshadow img {
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
}

/* Lists
--------------------------------------------- */

ol li::marker {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ul li::marker {
	font-size: 110%;
	line-height: 1;
}

.has-foreground-background-color ul li::marker,
.has-primary-background-color ul li::marker {
	color: var(--wp--preset--color--primary-tint);
}

ul.is-style-checkmarks>li {
	list-style-type: none;
	position: relative;
}

ul.is-style-checkmarks li::before {
	content: url(../svg/icon-check.svg);
	left: -24px;
	position: absolute;
	top: -2px;
}

ul.is-style-xmarks>li {
	list-style-type: none;
	position: relative;
}

ul.is-style-xmarks li::before {
	content: url(../svg/icon-xmark.svg);
	left: -24px;
	position: absolute;
	top: -2px;
}

/* Objects
--------------------------------------------- */

mark {
	background-color: var(--wp--preset--color--primary-tint);
	color: var(--wp--preset--color--foreground);
}

/* Author Block
--------------------------------------------- */

.is-style-author-block {
	background-color: var(--wp--preset--color--background-shade);
	padding: 75px 15px 30px;
}

.is-style-author-image {
	margin-bottom: -60px;
}

.is-style-author-image img {
	border: 2px solid var(--wp--preset--color--background);
	border-radius: 9999px !important;
	opacity: 1 !important;
	position: relative;
	transition: transform 0.3s ease;
	z-index: 9;
}

.is-style-author-image img:focus,
.is-style-author-image img:hover {
	transform: rotate(5deg);
}

/* Block Styles
--------------------------------------------- */

.is-style-border {
	border: 1px solid var(--wp--preset--color--primary);
	padding: 20px;
}

.is-style-boxshadow {
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	padding: 20px;
}

.is-style-boxshadow-border {
	border: 1px solid var(--wp--preset--color--primary);
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	padding: 20px;
}

.is-style-kicker,
.is-style-kicker-no-link {
	font-family: var(--wp--preset--font-family--primary) !important;
	font-size: var(--wp--preset--font-size--xxx-small);
	font-weight: var(--wp--custom--font-weight--bold);
	letter-spacing: 0.075em;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.is-style-kicker.has-background {
	display: table;
	line-height: var(--wp--custom--line-height--body);
	padding: 3px 10px;
}

.is-style-kicker.has-background.has-background-background-color {
	border: 1px solid var(--wp--preset--color--foreground);
	padding: 2px 9px;
}

p.is-style-no-margin,
.is-style-no-margin,
.wp-block-column.is-style-no-margin,
.wp-block-image.is-style-no-margin {
	margin: 0;
}

ol.is-style-no-margin,
ul.is-style-no-margin,
.is-style-no-margin ul,
.wp-block-query.is-style-no-margin ul {
	margin-bottom: 0;
}

/* Buttons
--------------------------------------------- */

.wp-block-button__link {
	-webkit-appearance: none;
	cursor: pointer;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
}

.is-style-cta-fill .wp-block-button__link {
	background-color: var(--wp--preset--color--cta) !important;
	color: var(--wp--preset--color--foreground) !important;
	font-weight: var(--wp--custom--font-weight--extra-bold) !important;
}

.wp-block-button__link:focus,
.wp-block-button__link:hover {
	opacity: 0.8;
	text-decoration: none;
}

.has-secondary-background-color .wp-block-button__link:focus,
.has-secondary-background-color .wp-block-button__link:hover {
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}

.is-style-outline>.wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) {
	border: 2px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary) !important;
	padding: 12px 18px;
}

.is-style-cta-outline .wp-block-button__link {
	background: transparent !important;
	border: 2px solid var(--wp--preset--color--cta);
	color: var(--wp--preset--color--foreground);
	padding: 12px 18px;
}

.is-style-outline>.wp-block-button__link:not(.has-text-color):focus,
.is-style-outline>.wp-block-button__link:not(.has-text-color):hover,
.wp-block-button__link.is-style-outline:not(.has-text-color):focus,
.wp-block-button__link.is-style-outline:not(.has-text-color):hover {
	border: 2px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	opacity: 0.7;
}

.wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
    width: calc(50% - .5em);
}

.convertkit-button .wp-block-button__link {
	-webkit-appearance: none;
	background-color: var(--wp--preset--color--primary);
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--background);
	cursor: pointer;
	display: inline;
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--font-weight--semi-bold);
	line-height: 1;
	padding: 12px 20px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
}

.red-button .convertkit-button .wp-block-button__link {
	background-color: var(--wp--preset--color--secondary);
}

@media only screen and (max-width: 599px) {

	.wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
		width: 100%;
	}

}

/* Caption
--------------------------------------------- */

figcaption,
.gallery-caption,
.wp-caption-text,
.wp-block-gallery.has-nested-images figcaption,
.blocks-gallery-caption {}

/* Columns
--------------------------------------------- */

.wp-block-columns.alignfull {
	padding: 0 20px;
}

.wp-block-columns {
	gap: 30px 20px !important;
}

.wp-block-columns.is-style-column-gapless {
	gap: 0 !important;
}

.wp-block-columns.is-style-column-gap-10 {
	gap: 30px 10px !important;
}

.wp-block-columns.is-style-column-gap-20 {
	gap: 20px !important;
}

.wp-block-columns.is-style-column-gap-30 {
	gap: 30px !important;
}

.wp-block-columns.is-style-column-gap-40 {
	gap: 30px 40px !important;
}

.wp-block-columns.is-style-column-gap-50 {
	gap: 30px 50px !important;
}

.wp-block-columns.is-style-column-gap-60 {
	gap: 30px 60px !important;
}

.wp-block-columns.is-style-column-gap-70 {
	gap: 30px 70px !important;
}

.wp-block-columns.is-style-column-gap-80 {
	gap: 30px 80px !important;
}

.wp-block-columns.is-style-column-height-flex .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

@media (max-width: 767px) {

	.wp-block-column.is-style-center-on-mobile {
		text-align: center;
	}

	.wp-block-column.is-style-center-on-mobile * {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	.wp-block-column.is-style-center-on-mobile .wp-block-buttons {
		justify-content: center;
	}

	.wp-block-column.is-style-center-on-mobile .wp-block-image {
		display: flex;
		justify-content: center;
	}

}

@media (min-width: 600px) and (max-width: 780px) {

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
		flex-basis: unset !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) {
		margin-left: 0;
	}

}

/* Cover
---------------------------------------------*/

.wp-block-cover {
	padding-right: 10px;
	padding-left: 10px;
}

@media only screen and (min-width: 360px) {

	.wp-block-cover {
		padding-right: 20px;
		padding-left: 20px;
	}

}

/* Custom Call Out Block Styles
--------------------------------------------- */

div[class*=" is-style-call-out-"].wp-block-group {
	border: 1px solid var(--wp--preset--color--primary);
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	margin: 50px 0 30px;
	overflow: unset;
	padding: 40px 20px 20px;
	position: relative;
}

div[class*=" is-style-call-out-"].wp-block-group>*:last-child {
	margin-bottom: 0 !important;
}

div[class*=" is-style-call-out-"]::before {
	background-size: contain;
	border-radius: 50%;
	box-sizing: inherit;
	content: '';
	height: 48px;
	left: 8px;
	position: absolute;
	top: -24px;
	width: 48px;
}

.is-style-call-out-note::before {
	background: url('../svg/icon-note.svg');
}

div[class*=" is-style-call-out-subscribe"].wp-block-group {
	text-align: center;
}

div[class*=" is-style-call-out-subscribe"].wp-block-group::before {
	background: url('../svg/icon-subscribe.svg');
	left: calc(50% - 24px);
}

.is-style-call-out-tip::before {
	background: url('../svg/icon-tip.svg');
}

@media only screen and (min-width: 415px) {

	div[class*=" is-style-call-out-"].wp-block-group {
		padding: 40px 25px 25px;
	}

	div[class*=" is-style-call-out-"]::before {
		left: 13px;
	}

}

@media (min-width: 768px) {

	div[class*=" is-style-call-out-"].wp-block-group {
		padding: 40px 30px 30px;
	}

	div[class*=" is-style-call-out-"]::before {
		left: 18px;
	}

}

/* Headings
--------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--wp--preset--font-family--secondary);
    font-weight: var(--wp--custom--font-weight--bold);
    line-height: var(--wp--custom--line-height--heading);
    margin-top: 0px;
    margin-bottom: 20px;
}

h3.wp-block-heading,
h4.wp-block-heading {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

h5 {
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

h2 b, 
h2 strong {
    font-weight: var(--wp--custom--font-weight--bold);
}

h2.is-style-not-all-caps,
h5.is-style-not-all-caps {
	letter-spacing: 0;
	text-transform: none;
}

h5 {
	margin-bottom: 5px;
	text-align: center;
    position: relative;
    overflow: hidden;
}

h5::after,
h5::before {
	background-color: var(--wp--preset--color--foreground);
    content: '';
    display: inline-block;
    height: 1px;
    position: relative;
    vertical-align: inherit;
    width: 50%;
    bottom: .3em;
}

h5::before {
    right: 1em;
    margin-left: -50%;
}

h5::after {
    left: 1em;
    margin-right: -50%;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
	padding: 20px;
}

@media only screen and (min-width: 360px) {

	h1.has-background,
	h2.has-background,
	h3.has-background,
	h4.has-background,
	h5.has-background,
	h6.has-background {
		padding: 20px 25px;
	}

}

@media only screen and (min-width: 768px) {

	h1.has-background,
	h2.has-background,
	h3.has-background,
	h4.has-background,
	h5.has-background,
	h6.has-background {
		padding: 20px 30px;
	}

}

/* Links
--------------------------------------------- */

.has-foreground-background-color a,
.has-primary-background-color a {
	color: var(--wp--preset--color--background);
}

.has-foreground-background-color a:focus-visible,
.has-primary-background-color a:focus-visible {
	outline-color: var(--wp--preset--color--background);
}

.is-style-no-link-underline a,
.is-style-kicker-no-link a {
	text-decoration: none;
}

.is-style-no-link-underline.has-foreground-color a {
	color: var(--wp--preset--color--foreground);
}

.is-style-no-link-underline a:focus,
.is-style-no-link-underline a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

.is-style-no-link-underline.has-foreground-color a:focus,
.is-style-no-link-underline.has-foreground-color a:hover {
	color: var(--wp--preset--color--secondary);
}

/* Paragraphs & Groups
--------------------------------------------- */

p {
	font-family: var(--wp--preset--font-family--body-alt);
}

.wp-block-group.alignfull {
	padding-left: 10px;
	padding-right: 10px;
}

p.is-style-border,
p.is-style-boxshadow,
p.is-style-boxshadow-border {
	margin-bottom: 30px;
}

p.is-style-boxshadow,
p.has-background,
.wp-block-group.has-background:not(.alignfull, .alignwide) {
	padding: 20px;
}

.wp-block-group.has-background:not(.alignfull, .alignwide) {
	margin-bottom: 30px;
}

.wp-block-column>*:last-child,
.wp-block-group.has-background>*:last-child,
.wp-block-group.is-style-boxshadow>*:last-child {
	margin-bottom: 0 !important;
}

.block-editor-rich-text__editable.has-background.wp-block-heading,
.block-editor-rich-text__editable.has-background.wp-block-paragraph {
	max-width: calc(800px - 60px);
}

@media only screen and (min-width: 360px) {

	.wp-block-group.alignfull,
	.wp-block-group.alignwide {
		padding-left: 15px;
		padding-right: 15px;
	}

	p.is-style-boxshadow,
	p.has-background,
	.wp-block-group.has-background:not(.alignfull, .alignwide) {
		padding: 20px;
	}

}

@media only screen and (min-width: 415px) {

	.wp-block-group.alignfull,
	.wp-block-group.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}

	p.is-style-border,
	p.is-style-boxshadow,
	p.is-style-boxshadow-border,
	p.has-background,
	.wp-block-group.has-background:not(.alignfull, .alignwide) {
		padding: 25px;
	}

}

@media only screen and (min-width: 768px) {

	p.is-style-border,
	p.is-style-boxshadow,
	p.is-style-boxshadow-border,
	p.has-background,
	.wp-block-group.has-background:not(.alignfull, .alignwide) {
		padding: 30px;
	}

}

/* Query Loop
--------------------------------------------- */

.wp-block-query ul {
	flex-grow: 1;
	margin-bottom: 0;
	padding-left: 0;
}

.wp-block-query ul>li {
	list-style-type: none;
	margin: 0;
}

.wp-block-post-template.is-flex-container,
.wp-block-query-loop.is-flex-container {
	flex-grow: 1;
	gap: 20px 10px;
	justify-content: space-between;
}

.wp-block-query .wp-block-post-featured-image {
	margin-bottom: 8px;
}

.wp-block-query .wp-block-post-featured-image img {
	display: block;
    margin-bottom: 0;
    aspect-ratio: 6 / 4;
    width: 100%;
    object-fit: cover;
}

.wp-block-query .wp-block-post-title {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
	margin-bottom: 0;
	text-transform: none;
}

.wp-block-query .wp-block-post-title a {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
}

.wp-block-query .wp-block-post-title a:focus,
.wp-block-query .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
	opacity: 1;
}

.wp-block-post-excerpt__excerpt {
	margin-bottom: 12px;
	margin-top: 10px;
}

.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,
.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li {
	width: calc(50% - 5px);
}

.wp-block-post-excerpt__more-link {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

@media (min-width: 360px) {

	.wp-block-post-template.is-flex-container,
	.wp-block-query-loop.is-flex-container {
		gap: 20px 15px;
	}

	.wp-block-query .wp-block-post-title {
		font-size: var(--wp--preset--font-size--medium-smaller);
	}

	.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,
	.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li {
		width: calc(50% - 7.5px);
	}

}

@media (min-width: 415px) {

	.wp-block-post-template.is-flex-container,
	.wp-block-query-loop.is-flex-container {
		gap: 20px;
	}

	.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,
	.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li {
		width: calc(50% - 10px);
	}

}

@media (max-width: 599px) {

	.wp-block-query ul.wp-block-post-template li {
		align-items: center;
		border-bottom: 1px solid var(--wp--preset--color--borderline);
		display: flex;
		flex-direction: row;
		gap: 15px;
		padding-bottom: 20px;
	}

	.wp-block-query .wp-block-post-featured-image {
		flex-basis: 50%;
	}

	.wp-block-query .wp-block-post-featured-image {
		margin-bottom: 0 !important;
	}

	.wp-block-query .wp-block-post-title {
		flex-basis: 50%;
        font-size: var(--wp--preset--font-size--small) !important;
		margin-bottom: 0 !important;
    }

}

@media (max-width: 399px) {

	.wp-block-query ul.wp-block-post-template li {
		gap: 10px;
	}

	.wp-block-query .wp-block-post-featured-image {
		flex-basis: 40%;
	}

	.wp-block-query .wp-block-post-title {
		flex-basis: 60%;
	}

}

@media (min-width: 781px) {

	.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,
	.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li {
		width: calc(25% - 15px);
	}

}

@media (min-width: 1024px) {

	.wp-block-query .wp-block-post-title {
		font-size: var(--wp--preset--font-size--small);
	}

}

/* Quotes
--------------------------------------------- */

blockquote,
.wp-block-quote {
	border: 0;
	margin: 0 0 25px;
	padding: 30px 20px 20px;
	position: relative;
}

blockquote p {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: var(--wp--custom--font-weight--semi-bold);
	font-style: italic;
}

blockquote p:before {
    content: '\201C';
    margin-right: 4px;
    margin-left: -26px;
    color: var(--wp--preset--color--primary);
    display: inline-block;
    vertical-align: top;
    height: 30px;
    line-height: 48px;
    font-size: 60px;
    opacity: 1;
}

blockquote p:after {
    content: '\201D';
    margin-left: 4px;
    margin-right: -8px;
    color: var(--wp--preset--color--primary);
    display: inline-block;
    vertical-align: top;
    height: 30px;
    line-height: 48px;
    font-size: 60px;
    opacity: 1;
}

@media (min-width: 360px) {

	blockquote,
	.wp-block-quote {
		padding: 30px 25px 25px;
	}

}

@media (min-width: 415px) {

	blockquote,
	.wp-block-quote {
		padding: 30px;
	}

}

.wp-block-quote p:last-of-type {
	margin-bottom: 0;
}

.wp-block-pullquote blockquote {
	border: 0;
	margin: 0;
}

.wp-block-pullquote blockquote::before {
	background: none;
	content: none;
}

.wp-block-pullquote cite,
.wp-block-quote cite {
	display: block;
	font-size: var(--wp--preset--font-size--medium-small);
	font-weight: var(--wp--custom--font-weight--semi-bold);
	margin-top: 10px;
	opacity: 0.8;
	text-align: inherit;
}

.wp-block-quote cite::before {
	content: '—';
}

/* Separator
--------------------------------------------- */

.wp-block-separator {
	border-bottom: 1px solid;
	opacity: 1;
}

/* Details / Accordion
--------------------------------------------- */

.wp-block-details summary {
	margin-bottom: 20px;
}

/* Media & Text
--------------------------------------------- */

.wp-block-media-text.has-background {
    margin-bottom: 30px;
}

.wp-block-media-text > .wp-block-media-text__content {
    padding: 25px 0 0;
}

.wp-block-media-text.has-background > .wp-block-media-text__content {
    padding: 25px 20px 0;
}

@media (min-width: 415px) {

	.wp-block-media-text.has-background > .wp-block-media-text__content {
		padding: 25px 25px 0;
	}

}

@media (min-width: 601px) {

	.wp-block-media-text.has-background > .wp-block-media-text__content,
	.wp-block-media-text > .wp-block-media-text__content {
		padding: 25px 8% 0;
	}

}