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

html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* Resetting variables for frontend use */

/*body:where(:not(:is(.editor-styles-wrapper))),*/
/*body {
	--wp--custom--layout--percent: calc(100% - (2 * var(--wp--custom--site-padding)));
	--wp--style--global--content-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--content-size));
	--wp--style--global--wide-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--wide-size));
}*/

/*body:where(:not(:is(.editor-styles-wrapper))) .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),*/
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	/*--wp--style--global--content-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--content-size));*/
	/*max-inline-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--content-size));*/
	/*inline-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--content-size));*/
}

/*body:where(:not(:is(.editor-styles-wrapper))) .is-layout-constrained > .alignwide,*/
body .is-layout-constrained > .alignwide {
	/*--wp--style--global--wide-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--wide-size));*/
	/*max-inline-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--wide-size));*/
	/*inline-size: min(var(--wp--custom--layout--percent), var(--wp--custom--layout--wide-size));*/
}

/* End variable reset */

img,
picture,
figure {
	block-size: auto;
}

img,
picture,
figure,
iframe {
	max-inline-size: 100%;
}

img,
picture {
	vertical-align: top;
}

figure {
	margin-block-end: 0;
}

.is-layout-constrained > figure:is(.alignleft, .alignright):where(:not(:is(.wp-block-image))) {
	float: none;
	margin-inline: auto;
}

img.alignleft {
	margin: 0 1em 1em 0;
	float: left;
}
img.alignright {
	margin: 0 0 1em 1em;
	float: right;
}

p:has(img.alignleft, img.alignright)::after {
	clear: both;
	content: "";
	display: block;
}

figcaption {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	line-height: 1.2;
	margin-block-start: 0.3125rem;
}

.wp-caption-text {
	margin-inline: auto;
	max-inline-size: var(--wp--style--global--content-size);
}

:is(h1, h2, h3, h4, h5, h6) {
	text-wrap: pretty;
}

:is(h1, h2, h3, h4, h5, h6) {
	--wp--custom--flow-space: 3.5rem;
}

:is(h1, h2, h3, h4, h5, h6) + :where(p, ul, ol, .archive-description) {
	--wp--custom--flow-space: 0.625rem;
}

:root hr {
	margin-block-end: var(--_block-gap, var(--wp--custom--flow-space));	
}


/*input {
	background-color: var(--wp--preset--color--primary);
	border-color: transparent;
	border-radius: 100vmax;
	box-shadow: 5px 5px 0 #BB98DD;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.5rem 1rem;
}*/

input,
textarea {
	background-color: var(--wp--preset--color--primary);
	border: 2px solid;
	border-radius: 8px;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.5rem 1rem;
}

textarea {
	resize: vertical;
}

label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}


a:where(:not(.wp-element-button)) {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


.site-header {
	background-color: var(--wp--preset--color--white);
	container-name: site-header;
	container-type: inline-size;
	flex-direction: column-reverse;
	position: relative;
	z-index: 1;
}

.site-header.is-layout-flex {
	align-items: stretch;
	row-gap: 0;
}

.site-header::before,
.site-header::after {
	background-color: inherit;
	block-size: 80px;
	content: "";
	display: block;
	inline-size: 100%;
	--mask:
    radial-gradient(98.41px at 50% calc(100% - 138px),#000 99%,#0000 101%) calc(50% - 120px) 0/240px 100%,
    radial-gradient(98.41px at 50% calc(100% + 78px),#0000 99%,#000 101%) 50% calc(100% - 60px)/240px 100% repeat-x;
 	-webkit-mask: var(--mask);
    mask: var(--mask);

    inset-block-start: 100%;
    inset-inline-start: 0;
    position: absolute;
}

.site-header::before {
	background-color: var(--wp--preset--color--secondary);
	--mask:
    radial-gradient(98.41px at 44% calc(100% - 138px),#000 99%,#0000 101%) calc(50% - 120px) 0/240px 100%,
    radial-gradient(98.41px at 44% calc(100% + 78px),#0000 99%,#000 101%) 50% calc(100% - 60px)/240px 100% repeat-x;
}

@media ( width <= 900px ) {
	.site-header::before,
	.site-header::after {
		block-size: 50px;
	}
	.site-header::before {
		--mask:
		radial-gradient(43.5px at 44% calc(100% - 61.5px),#000 99%,#0000 101%) calc(50% - 60px) 0/120px 100%,
		radial-gradient(43.5px at 44% calc(100% + 31.5px),#0000 99%,#000 101%) 50% calc(100% - 30px)/120px 100% repeat-x;
	}
	.site-header::after {
		--mask:
		radial-gradient(43.5px at 50% calc(100% - 61.5px),#000 99%,#0000 101%) calc(50% - 60px) 0/120px 100%,
		radial-gradient(43.5px at 50% calc(100% + 31.5px),#0000 99%,#000 101%) 50% calc(100% - 30px)/120px 100% repeat-x;
	}

	.site-header .site-header__cta {
		display: none;
	}
}

.site-header .custom-logo-link {
	margin-inline: auto;
	max-inline-size: 130px;
}

.site-header__inner {
	align-items: center;
	display: grid;
	grid-template-columns: 44px 1fr 44px;
	inline-size: 100%;
	padding-block: 1rem;
	row-gap: 2rem;
}

.site-header__socials {
	display: none;
	grid-column: 1 / -1;
	padding-inline-start: 1rem;
}

.site-header__socials .social-accounts--lede {
	font-size: 1.5rem;
}

.site-header__cta {
	--_block-gap: 1ex;
	justify-content: center;
	padding-block: 0.5rem;
}

.site-header .site-header__cta {
	column-gap: 1rem;
	flex-wrap: nowrap;
}

.site-header__cta :where(p) {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: 1.5rem;
	line-height: 1.2;
	text-align: center;
}

.site-header__cta-icon {
	align-self: end;
	display: block;
	inline-size: 3rem;
}

.site-header__cta .site-header__cta-icon {
	margin-block-end: calc(-1 * 0.5rem);
}

.site-header__cta :where(.site-header__cta-icon, .wp-element-button-wrap) {
	flex-shrink: 0;
}

.menu {
	list-style-type: "";
	padding-inline-start: 0;
}

.menu--primary {
	display: none;
	gap: 1rem;
	grid-column: 1 / -1;
	grid-template-columns: repeat(auto-fit, minmax(min(25ch, 100%), 1fr));
	line-height: 1;
	margin-block: 0;
}

.menu--primary a {
	border-radius: 100vmax;
	display: block;
	font-weight: 500;
	letter-spacing: 1.78px;
	padding: 0.5rem 1rem;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 200ms;
}

.menu--primary a:where(:focus-visible, :hover) {
	background-color: var(--wp--preset--color--base);
}

.menu--primary :where(.current-menu-item) a {
	background-color: transparent;
}

.menu--primary :where(.current-menu-item) a::after {
	background-color: var(--wp--preset--color--tertiary);
	block-size: 5px;
	border-radius: 100vmax;
	content: "";
	display: block;
	inline-size: calc(100% - 2rem);
	inset-block-end: -5px;
	pointer-events: none;
	position: absolute;
}

.menu-toggle {
	background-color: transparent;
	border: none;
	color: currentColor;
	cursor: pointer;
	fill: currentColor;
	order: -1;
	padding: 0.8125rem;
}

.menu-toggle svg {
	aspect-ratio: 1;
	display: inline-block;
	inline-size: 1.125rem;
	vertical-align: top;
}

.menu-toggle:where([aria-expanded="false"]) .icon-close,
.menu-toggle:where([aria-expanded="true"]) .icon-menu {
	display: none;
}

@container site-header ( inline-size <= 1000px ) {
	.menu-toggle:where([aria-expanded="true"]) ~ .menu--primary {
		display: grid;
	}

	.menu-toggle:where([aria-expanded="true"]) ~ .site-header__socials {
		display: block;
	}

	.site-header .site-header__socials:not(:has(> *)) {
		display: none;
	}
}

@container site-header ( inline-size > 1000px ) {
	.site-header__inner {
		display: flex;
		flex-wrap: wrap;
		padding-block: 2rem;
	}

	.site-header .custom-logo-link {
		margin-inline-start: 0;
	}

	.menu-toggle,
	.menu-dialog {
		display: none;
	}

	.menu--primary {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
	}

	.site-header__socials {
		display: none;
	}
}

/*.site-header .menu--primary {
	margin-inline-start: auto;
}*/

.site-main {
	padding-block: 2rem;
	padding-block-start: calc(2rem + 60px);
	padding-block-end: calc(2rem + 60px);
}

/*.site-main:has(.entry-content > .wp-block-group.has-background.alignfull) {
	padding-block-end: 0;
}*/


:where(.page) .entry-header,
.post-type-page .editor-visual-editor__post-title-wrapper {
	text-align: center;
}

:where(.home) .entry-header {
	word-wrap: normal !important;
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.entry-header {
	--_block-gap: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

:where(.page) .entry-content {
	--_block-gap: 4rem;
}

:where(.home) .entry-content {
	--_block-gap: 0;
}

:where(.page) .entry-content > * {
	--_block-gap: initial;
}

.entry-title {
	--_block-gap: initial;
}

.entry-content {
	word-wrap: break-word;
}


.archive-header {
	text-align: center;
}

.archive-wrap {
	--_block-gap: 4rem;
	container-name: archive-wrap;
	container-type: inline-size;
}

.archive-posts {
	--_block-gap: 3.125rem;
	grid-template-columns: 1fr;
	list-style-type: "";
	padding-inline-start: 0;
}

@container archive-wrap ( inline-size > 540px ) {
	.archive-posts {
		--_block-gap: 6.25rem 3.125rem;
		grid-template-columns: repeat(2, 1fr);
	}	
}

@container archive-wrap ( inline-size > 900px ) {
	.archive-posts {
		/*--_block-gap: 6.25rem 3.125rem;*/
		grid-template-columns: repeat(3, 1fr);
	}
}

.post-summary {
	--_block-gap: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

.post-summary__image,
.entry-thumbnail__image {
	aspect-ratio: 4 / 3;
	border-radius: 20px;
	box-shadow: 8px 8px 0 #D3B3E6;
	object-fit: cover;
}

.entry-thumbnail__image {
	aspect-ratio: 9 / 5;
}

.entry-thumbnail iframe {
	aspect-ratio: 16 / 9;
	block-size: auto;
	border-radius: 20px;
	inline-size: 100%;
}

.post-summary__title {
	--_block-gap: 1.5rem;
	font-size: 1.5rem;
}

.site-footer {
	/*background-color: var(--wp--preset--color--base);*/
	/*margin-block-start: 36px;
	position: relative;*/
}

.site-footer-top::before,
.site-footer-top::after {
	background-color: inherit;
	block-size: 80px;
	content: "";
	display: block;
	inline-size: 100%;
	--mask:
    radial-gradient(98.41px at 50% 100px,#000 99%,#0000 101%) 50% 0/240px 100%,
    radial-gradient(98.41px at 50% -78px,#0000 99%,#000 101%) calc(50% - 120px) 22px/240px 100% repeat-x;
 	-webkit-mask: var(--mask);
    mask: var(--mask);

    inset-block-end: 100%;
    inset-inline-start: 0;
    position: absolute;
}

.site-footer-top::before {
	background-color: var(--wp--preset--color--secondary);
	--mask:
    radial-gradient(98.41px at 44% 100px,#000 99%,#0000 101%) 50% 0/240px 100%,
    radial-gradient(98.41px at 44% -78px,#0000 99%,#000 101%) calc(50% - 120px) 22px/240px 100% repeat-x;
}

@media ( width <= 900px ) {
	.site-footer {
		margin-block-start: 0;
	}
	.site-footer-top::before,
	.site-footer::after {
		block-size: 50px;
	}
	.site-footer-top::before {
		--mask:
		radial-gradient(43.5px at 44% 61.5px,#000 99%,#0000 101%) 50% 0/120px 100%,
    	radial-gradient(43.5px at 44% -31.5px,#0000 99%,#000 101%) calc(50% - 60px) 30px/120px 100% repeat-x;
	}
	.site-footer-top::after {
		--mask:
		radial-gradient(43.5px at 50% 61.5px,#000 99%,#0000 101%) 50% 0/120px 100%,
    	radial-gradient(43.5px at 50% -31.5px,#0000 99%,#000 101%) calc(50% - 60px) 30px/120px 100% repeat-x;
	}
}

.site-footer .custom-logo-link {
	display: block;
	max-inline-size: 200px;
}

.site-footer-top {
	background-color: var(--wp--preset--color--base);
	margin-block-start: 36px;
	padding-block: 2rem 4rem;
	position: relative;
}

.site-footer-top .site-footer-top__inner {
	align-items: start;
}

/*.site-footer-top__inner {
	grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr) minmax(min(600px, 100%), 2fr));
}*/

.site-footer__meta {
	flex-basis: 25rem;
	flex-grow: 1;
}

.site-footer__connect {
	flex-basis: 0;
	flex-grow: 999;
	min-inline-size: 50%;
}

.site-footer__socials:where(:not(:has(> *))) {
	display: none;
}

.site-footer__socials:where(:has(> *):not(:only-child)) {
	background-image: radial-gradient(circle at 2px 2px, currentColor 2px, transparent 0);
    background-position: 50% 0%;
    background-repeat: space no-repeat;
    background-size: 10px 4px;
	padding-block-start: var(--_block-gap, var(--wp--custom--flow-space));
}

.site-footer-bottom::before {
	background-color: #D3B3E6;
	block-size: 1.25rem;
	content: "";
	display: block;
	margin-block-end: 1.5rem;
	mask-image: url("../svg/scouts-pattern.svg");
	mask-position: 50%;
	mask-repeat: repeat-x;
}

.site-footer-bottom {
	background-color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--tiny);
	padding-block: 1rem;
	text-align: center;
}

.site-footer__colophon {
	--_block-gap: 1ex;
	justify-content: center;
	line-height: 1.2;
}

.has-contrast-background-color {
	color: var(--wp--preset--color--primary);
}

.separator-hearts {
	--_block-gap: 3.125rem;
	background-color: currentColor;
	block-size: 1em;
	border: none;
	color: currentColor;
	font-size: 0.875rem;
	mask-image: url('../svg/heart.svg');
	mask-repeat: round no-repeat;
	mask-size: 2.5em 0.75em;
}

.entry-header hr.separator-hearts {
	margin-block-end: var(--_block-gap);
}

.separator-star {
	aspect-ratio: 1;
	background-color: currentColor;
	display: inline-block;
	inline-size: 1em;
	line-height: 1;
	margin-inline: 0.25rem;
	mask-image: url("../svg/star.svg");
	mask-position: 50% 50%;
	mask-repeat: no-repeat;
	transform: translateY(0.2ex);
}

.wp-element-button-wrap {
	border-radius: 100vmax;
	box-shadow: 4px 4px 0 0 var(--wp--preset--color--tertiary);
	rotate: -5deg;
}

.wp-element-button {
	clip-path: polygon(
		100% 0,
		calc(1.5353106973rem) 0,
		calc(1.5353106973rem) 0,
		calc(-0.8396893027rem) 100%,
		calc(-0.8396893027rem) 100%,
		100% 100%
	);
	display: inline-block;
	transition: clip-path 0.3s ease-out;
}

.wp-element-button:where(:focus-visible, :hover) {
	clip-path: polygon(
		100% 0,
		calc(1.5353106973rem) 0,
		calc(1.115466046rem) -0.4198446513rem,
		calc(-1.259533954rem) calc(100% - 0.4198446513rem),
		calc(-0.8396893027rem) 100%,
		100% 100%
	);
}

.wp-element-button::before {
	aspect-ratio: 1;
	background-color: rgb(0 0 0 / 0.1);
	border: 2px solid;
	border-radius: 50%;
	content: "";
	display: block;
	inline-size: 2.5rem;
	inset-block-start: 1px;
	inset-inline-start: 0px;
	position: absolute;
	transform: rotate(225deg) translateX(1.25rem);
	transition: transform 0.3s ease-out;
}

.wp-element-button:where(:focus-visible, :hover)::before {
	transform: rotate(225deg) translateX(2.8rem);
}

.social-accounts--lede {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: 1.875rem;
	font-weight: 400;
}

.social-accounts--lede + .social-accounts {
	--_block-gap: 0;
}

.social-accounts {
	align-items: start;
	column-gap: 0.25rem;
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
	list-style-type: "";
	padding-inline-start: 0;
}

.social-accounts a {
	border-radius: 10px;
	display: block;
	padding: 0.625rem;
	transition: background 300ms;
}

.social-accounts a:where(:focus-visible, :hover) {
	background-color: var(--wp--preset--color--secondary);
}

.social-accounts svg {
	aspect-ratio: 1;
	block-size: 1.5rem;
	vertical-align: top;
	/*display: block;*/
}


:where(.blog, .archive) .pagination svg {
	aspect-ratio: 1;
	fill: currentColor;
	inline-size: 1.5rem;
}

:where(.blog, .archive) .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

:where(.blog, .archive) .pagination .page-numbers {
	aspect-ratio: 1;
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 8px;
	display: grid;
	font-size: 1rem;
	font-weight: 700;
	inline-size: 2.75rem;
	place-content: center;
	text-decoration: none;
}

:where(.blog, .archive) .pagination .dots {
	border-color: transparent;
	inline-size: auto;
}

:where(.blog, .archive) .pagination .page-numbers:where(:focus-visible, :hover) {
	background-color: var(--wp--preset--color--white);
}

:where(.blog, .archive) .pagination .dots:where(:focus-visible, :hover) {
	background-color: transparent;
}

:where(.blog, .archive) .pagination .page-numbers:where(.current) {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white);
}

.error-404-title {
	text-align: center;
}

.blog .blog-content {
	margin-block-start: 0.625rem;
}
