/* Fonts
--------------------------------------------- */

@font-face {
    font-family: 'Figtree';
    src: url('fonts/Figtree-Italic.woff2') format('woff2'),
        url('fonts/Figtree-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('fonts/Figtree-SemiBoldItalic.woff2') format('woff2'),
        url('fonts/Figtree-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('fonts/Figtree-SemiBold.woff2') format('woff2'),
        url('fonts/Figtree-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('fonts/Figtree-Bold.woff2') format('woff2'),
        url('fonts/Figtree-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('fonts/Figtree-Regular.woff2') format('woff2'),
        url('fonts/Figtree-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('fonts/Figtree-Medium.woff2') format('woff2'),
        url('fonts/Figtree-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Alignment
--------------------------------------------- */

.full-width-content .entry-content>.alignfull,
.block-editor-block-list__layout.is-root-container>[data-align="full"] {
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
	max-width: 100vw;
	width: unset;
}

.full-width-content .entry-content > .alignwide {
	margin-left: calc(-1200px / 2 + 100% / 2);
	margin-right: calc(-1200px / 2 + 100% / 2);
	max-width: 1200px;
	width: unset;
}

.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;
}

/* Images
--------------------------------------------- */

.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 {
	color: var(--wp--preset--color--primary);
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ul li::marker {
	color: var(--wp--preset--color--primary);
	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-light);
}

ul.is-style-checkmarks>li {
	list-style-type: none;
	position: relative;
}

ul.is-style-checkmarks li::before {
	content: url(images/icon-check.svg);
	left: -24px;
	position: absolute;
	top: -2px;
}

ul.wp-block-categories-list.wp-block-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    justify-content: center;
}

ul.wp-block-categories-list.wp-block-categories a {
	text-decoration: none;
}

ul.wp-block-categories-list.wp-block-categories a:focus,
ul.wp-block-categories-list.wp-block-categories a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

/* Author Block
--------------------------------------------- */

.is-style-home-block {
	background-color: var(--wp--preset--color--background);
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	padding: 50px 15px 30px;
}

.is-style-home-icon {
	margin-bottom: -36px;
}

.is-style-home-icon 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-home-icon img:focus,
.is-style-home-icon img:hover {
	opacity: 1 !important;
	transform: rotate(5deg);
}

.wp-block-social-links {
	font-size: var(--wp--preset--font-size--large) !important;
	gap: 15px !important;
	margin-bottom: 0;
}

.wp-block-social-link {
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--background) !important;
}

/* Block Styles
--------------------------------------------- */

.is-style-bordershadow {
	border: 1px solid var(--wp--preset--color--tertiary);
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	padding: 20px;
}

.is-style-boxshadow {
	box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	padding: 20px;
}

.is-style-kicker {
	align-items: center;
    display: flex;
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--xx-small);
	font-weight: var(--wp--custom--font-weight--bold);
	letter-spacing: 0.075em;
	margin-bottom: 15px;
	position: relative;
	text-transform: uppercase;
}

.is-style-kicker:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: var(--wp--preset--color--tertiary);
    flex: 1;
    margin-left: 10px;
}

.wp-block-media-text__content .is-style-kicker:after {
	opacity: 0.85;
}

.has-quaternary-background-color .is-style-kicker:after {
	background: var(--wp--preset--color--tertiary);
	opacity: 0.3;
}

.wp-block-media-text__content .is-style-kicker:after {
	margin-right: -20px;
}

.wp-block-media-text__content p:last-of-type {
	margin-bottom: 0;
}

.sidebar .wp-block-media-text__content .is-style-kicker:after {
	margin-right: -25px;
}

.wp-block-media-text__content .is-style-kicker:before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: var(--wp--preset--color--quaternary);
    flex: 1;
	margin-left: -18px;
	position: absolute;
	width: 10px;
}

.sidebar .wp-block-media-text__content .is-style-kicker:before {
	margin-left: -25px;
	width: 15px;
}

.is-style-kicker.has-background {
	display: table;
	padding: 2px 8px;
}

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;
}

.wp-block-image.is-style-less-margin {
	margin-bottom: 10px;
}

.is-style-kicker a {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
}

/* Buttons
--------------------------------------------- */

.wp-block-button__link {
	-webkit-appearance: none;
	cursor: pointer;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
}

.wp-block-button__link:focus,
.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	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: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary) !important;
	padding: 9px 19px;
}

.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: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	opacity: 0.7;
}

/* Caption
--------------------------------------------- */

figcaption,
.gallery-caption,
.wp-caption-text,
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	font-size: var(--wp--preset--font-size--x-small);
	margin: 0 !important;
	padding: 10px;
	text-align: center;
}

figcaption.block-editor-rich-text__editable.blocks-gallery-caption.wp-element-caption.rich-text {
	max-width: calc(728px - 20px);
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: relative;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
	display: none;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.wp-block-gallery .blocks-gallery-caption {
	background: none;
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--xxx-small);
	padding: 6px 0;
	text-shadow: none;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a, 
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
	height: auto;
}

/* 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: 30px 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;
}

@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 {
	background-color: var(--wp--preset--color--quaternary);
	border: 0;
	border-left: 2px solid var(--wp--preset--color--primary);
	margin-bottom: 30px;
	overflow: unset;
	padding: 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: 2px solid var(--wp--preset--color--background);
	border-radius: 50%;
	box-sizing: inherit;
	content: '';
	height: 26px;
	left: -13px;
	position: absolute;
	top: 21px;
	width: 26px;
}

.is-style-call-out-note::before {
	background: url('images/icon-note.svg');
}

.is-style-call-out-tip::before {
	background: url('images/icon-tip.svg');
}

@media only screen and (min-width: 360px) {

	div[class*=" is-style-call-out-"].wp-block-group {
		padding: 25px;
	}

	div[class*=" is-style-call-out-"]::before {
		height: 32px;
		left: -16px;
		top: 22px;
		width: 32px;
	}

}

@media (min-width: 411px) {

	div[class*=" is-style-call-out-"].wp-block-group {
		padding: 30px;
	}

	div[class*=" is-style-call-out-"]::before {
		height: 36px;
		left: -18px;
		top: 25px;
		width: 36px;
	}

}

@media only screen and (min-width: 1280px) {

	div[class*=" is-style-call-out-"].wp-block-group {
		padding: 30px 30px 30px 35px !important;
	}

	div[class*=" is-style-call-out-"]::before {
		height: 48px;
		left: -24px;
		top: 20px;
		width: 48px;
	}

}

/* 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;
}

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 {
	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);
}

/* Media & Text Block
--------------------------------------------- */

.wp-block-media-text {
    box-shadow: 0 0 20px rgb(0 0 0 / 7%);
	margin: 40px 0;
}

.wp-block-media-text .wp-block-media-text__content {
    padding: 20px 5%;
}

.sidebar .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
}

.sidebar .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100%!important;
}

.sidebar .wp-block-media-text__content .has-x-small-font-size {
    font-size: var(--wp--preset--font-size--xx-small) !important;
}

.sidebar .wp-block-media-text .wp-block-media-text__content {
    padding: 20px 25px 25px;
}

@media (max-width: 740px) {

	.after-entry .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}

	.after-entry .wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100%!important;
	}

}

/* Paragraphs & Groups
--------------------------------------------- */

.wp-block-group.alignfull {
	padding-left: 10px;
	padding-right: 10px;
}

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(728px - 60px);
}

@media only screen and (min-width: 360px) {

	.wp-block-group.alignfull {
		padding-left: 20px;
		padding-right: 20px;
	}

	p.is-style-boxshadow,
	p.has-background,
	.wp-block-group.has-background:not(.alignfull, .alignwide) {
		padding: 25px;
	}

}

@media only screen and (min-width: 768px) {

	p.is-style-boxshadow,
	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;
	justify-content: space-between;
}

.wp-block-query .wp-block-post-featured-image {
	margin-bottom: 8px;
}

.wp-block-query .wp-block-post-title {
	font-size: var(--wp--preset--font-size--medium);
	margin-bottom: 10px;
}

.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);
	text-decoration: underline;
}

.wp-block-post-excerpt__excerpt {
	margin-bottom: 5px;
}

.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);
}

.wp-block-query.is-style-featured-post ul li {
	display: flex;
	flex-wrap: wrap;
}

.wp-block-query.is-style-featured-post .wp-block-post-title {
	margin-bottom: 5px;
}

@media (min-width: 768px) {

	.wp-block-query.is-style-featured-post ul li {
		align-items: center;
		flex-wrap: unset;
		flex-direction: row;
		gap: 30px;
	}

	.wp-block-query.is-style-featured-post ul li .wp-block-post-featured-image {
		flex-basis: 145%;
		margin-bottom: 0;
	}

	.wp-block-query.is-style-featured-post .wp-block-post-title {
		margin-bottom: 5px;
	}

}

@media (max-width: 780px) {

	.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,
	.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li {
		width: calc(50% - 10px);
	}

}

@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);
	}

}

/* Quotes
--------------------------------------------- */

blockquote,
.wp-block-quote {
	border: 0;
	margin: 0;
	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;
}

/* Separator
--------------------------------------------- */

.has-foreground-background-color .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--background);
}

.wp-block-navigation ul, .wp-block-navigation ul li {
	font-size: var(--wp--preset--font-size--x-small);
    gap: 10px 30px;
}