
.wp-block-post-template.is-layout-flex {
	align-items: stretch;
}

.wp-block-post-template.is-layout-grid .wp-block-post > .wp-block-group.is-layout-flex.is-vertical {
	height: 100%;
}

.wp-block-post-template.is-layout-grid .wp-block-post > .wp-block-group.is-layout-flex.is-vertical > .wp-block-group {
	flex-grow: 1;
}

*, :after, :before {
	box-sizing: border-box;
}

.wp-site-blocks, body, html {
	min-height: 100%;
}

html {
	height: calc(100% - var(--wp-admin--admin-bar--height, 0px));
}

body {
	-webkit-font-smoothing: antialiased;
}

canvas, img, picture, svg, video {
	display: block;
	max-width: 100%;
}

button, input, select, textarea {
	font: inherit;
}

h1, h2, h3, h4, h5, h6, p {
	word-wrap: break-word;
}

.wp-site-blocks {
	isolation: isolate;
}

:root {
	--full-viewport-width: var(--wp--custom--full-viewport-width);
	--site-outer-padding: var(--wp--cuustom--site-outer-padding);
	--site-content-width: var(--wp--custom--site-content-width);
	--main-content-width-side-spacing: var(--wp--custom--main-content-width-side-spacing);
	--main-wide-width-side-spacing: var(--wp--custom--main-wide-width-side-spacing);
}

.wp-site-blocks {
	display: grid;
	grid-template-areas: "header" "main" "footer";
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
}

.wp-site-blocks > header:where(.wp-block-template-part) {
	grid-area: header;
	margin-bottom: 0;
}

.wp-site-blocks > main {
	grid-area: main;
	height: 100%;
}

.wp-site-blocks > footer:where(.wp-block-template-part) {
	align-self: flex-end;
	grid-area: footer;
	margin-top: 0;
}

.wp-block-group {
	margin-trim: block;
}

@supports not (margin-trim:block) {
	.wp-block-group > :first-child {
		margin-top: 0;
	}
	
	.wp-block-group > :last-child {
		margin-bottom: 0;
	}
}

.wp-block-post-content {
	overflow: auto;
}

.wp-block-post-content > :first-child:where(:not(.alignfull)) {
	margin-top: var(--wp--preset--spacing--fluid-medium-large);
}

.wp-block-post-content > :last-child:where(:not(.alignfull)) {
	margin-bottom: var(--wp--preset--spacing--fluid-medium-large);
}

.has-global-padding :where(.has-global-padding.is-layout-constrained) {
	padding-left: var(--wp--style--root--padding-left);
	padding-right: var(--wp--style--root--padding-right);
}

.is-layout-constrained .wp-block-image.alignwide {
	max-width: min(100%, var(--wp--style--global--wide-size)) !important;
}

.wp-block-media-text {
	gap: var(--wp--preset--spacing--md);
}

.wp-block-media-text__content {
	padding: 0 !important;
}

body .is-layout-constrained > .alignright:where(:not(.alignfull)) {
	margin-right: var(--wp--custom--main-content-width-side-spacing);
	max-width: calc(var(--wp--style--global--content-size) / 2);
}

body .is-layout-constrained > .alignleft:where(:not(.alignfull)) {
	margin-left: var(--wp--custom--main-content-width-side-spacing);
	max-width: calc(var(--wp--style--global--content-size) / 2);
}

body .is-layout-constrained.has-global-padding > .alignleft:where(:not(.alignfull)) {
	margin-left: calc(var(--wp--custom--main-content-width-side-spacing) - var(--wp--style--root--padding-left));
}

body .is-layout-constrained.has-global-padding > .alignright:where(:not(.alignfull)) {
	margin-right: calc(var(--wp--custom--main-content-width-side-spacing) - var(--wp--style--root--padding-right));
}

body .is-layout-constrained > .is-layout-flow.alignwide .alignleft {
	margin-left: 0;
}

body .is-layout-constrained > .is-layout-flow.alignwide .alignright {
	margin-right: 0;
}

.is-layout-constrained > * + .wp-block-heading {
	margin-top: 1.5em;
}

.visually-hidden {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.wp-element-button[class] {
	background-color: var(--wp--custom--color--button--background--default);
	border: 1px solid var(--wp--custom--color--button--border--default);
	color: var(--wp--custom--color--button--text--default);
}

.wp-element-button[class] svg {
	color: var(--wp--custom--color--button--icon--default);
}

.wp-element-button[class]:focus, .wp-element-button[class]:hover {
	background-color: var(--wp--custom--color--button--background--hover);
	border: 1px solid var(--wp--custom--color--button--border--hover);
	color: var(--wp--custom--color--button--text--hover);
}

.wp-element-button[class]:focus svg, .wp-element-button[class]:hover svg {
	color: var(--wp--custom--color--button--icon--hover);
}

.wp-element-button[class]:disabled {
	background-color: var(--wp--custom--color--button--background--disabled);
	border: 1px solid var(--wp--custom--color--button--border--disabled);
	color: var(--wp--custom--color--button--text--disabled);
}

.wp-element-button[class]:disabled svg {
	color: var(--wp--custom--color--button--icon--disabled);
}

.wp-element-button.has-inline-icon[class] {
	display: inline-flex;
	gap: .5em;
}

.wp-element-button.has-inline-icon[class] svg {
	transition: transform .2s ease-in-out;
}

.wp-element-button.has-inline-icon[class]:focus svg, .wp-element-button.has-inline-icon[class]:hover svg {
	transform: translateX(.2em);
}
