/*------------------------------------*\
	Resets
\*------------------------------------*/
*,*::before,*::after {
	box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: smooth;
	}
}
p{
	margin-bottom: 0;
}
ol,ul {
	padding-left: 2em;
}
ol,ul,dl {
	margin-bottom: 0;
}
ol ol,ul ul,ol ul,ul ol {
	margin-bottom: 0;
}
blockquote {
	margin-bottom: 0;
}
input, button, select, optgroup, textarea {
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
	cursor: pointer;
}
/*------------------------------------*\
	Root
\*------------------------------------*/
html, :root{}
body{}
.main{
	max-width: 2600px;
	margin: 0 auto;
}
/*------------------------------------*\
	JS Components
\*------------------------------------*/
.collapse{
	height: 0;
	overflow: hidden;
	transition: height 0.5s ease-in-out;
}
.modal-wrap, .modal-back{
	position: fixed;
	top: 0;
	left: 0;
}
.modal-wrap{
	z-index: 9001;
	display: none;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	outline: 0;
	transition: opacity 0.5s ease-out;
	opacity: 0;
}
.modal-wrap > *{ /* Usually .modal-inner */
	transition: transform 0.5s ease-out;
	transform: translate(0, -50px);
}
.modal-wrap.show > *{ /* Usually .modal-inner */
	transform: none;
}
.modal-inner{
	margin: 32px auto;
	max-width: 800px;
	position: relative;
	width: auto;
}
.modal-back{
	z-index: 8999;
	width: 100vw;
	height: 100vh;
	background-color: var(--wp--preset--color--black);
	opacity: 0.8;
	transition: opacity 0.5s linear;
}
/*------------------------------------*\
	Menu Styles
\*------------------------------------*/
nav ul{
	list-style: none;
	margin: 0;
	padding-left: 0;
}
nav a, nav button{
	display: block;
}
/* Wide Button Menu Classes */
.wide-button-menu{
	font-weight: 500;
}
.wide-button-menu li{
	overflow: hidden;
}
.wide-button-menu a,.wide-button-menu button{
	border: solid 2px currentColor;
	border-radius: 9001px;
	padding: 0.2em 0.5em;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	width: 100%;
	max-width: 520px;
	margin: 0 auto 1.2em;
	transition: border-color 0.25s ease-in-out, color 0.25s ease-in-out, background-color 0.25s ease-in-out;
}
.wide-button-menu .has-sub-menu, .wide-button-menu .sub-menu-button, .wide-button-menu .sub-menu-nolink-button{
	margin-bottom: 0.6em;
}
.wide-button-menu  svg{
	max-width: 0.8em;
	fill: currentColor;
	transition: transform 0.25s ease-in-out;
}
.wide-button-menu .svg-flip svg{
	transform: scaleY(-1);
}
.wide-button-menu .sub-menu-wrap{
	margin-bottom: 0.6em;
}
.wide-button-menu .sub-menu{
	height: auto;
}
/* Flex Menu Classes */
.flex-menu{
	display: flex;
	gap: var(--wp--style--block-gap);
	flex-wrap: wrap;
	justify-content: center;
	z-index: 1;
}
.flex-menu li{
	display: flex;
	position: relative;
}
.flex-menu a, .flex-menu button{
	display: inline-block;
	background-color: transparent;
	color: currentColor;
	border-radius: 0.5em;
	padding: 0.4em;
	line-height: 1;
	border: solid 1px currentColor;
	text-decoration: none;
	transition: border-color 0.25s ease-in-out, color 0.25s ease-in-out, background-color 0.25s ease-in-out;
	height: 100%;
	vertical-align: top;
}
.flex-menu a:hover, .flex-menu a:focus, .flex-menu button:hover, .flex-menu button:focus{
	text-decoration: none;
}
.flex-menu .sub-menu-close-button{
	margin-bottom: var(--wp--style--block-gap);
}
.flex-menu .has-sub-menu{
	border-radius: 0.5em 0 0 0.5em;
	border-right-width: 0;
}
.flex-menu .sub-menu-button{
	border-radius: 0 0.5em 0.5em 0;
}
.flex-menu .sub-menu-nolink-button{
	border-radius: 0.5em;
}
.flex-menu svg{
	width: 1em;
	fill: currentColor;
}
footer .flex-menu svg{
	transform: scaleY(-1);
}
.flex-menu .sub-menu-wrap{
	position: absolute;
	border: solid 1px currentColor;
	padding: 0.8em;
	border-radius: 0.5em;
	display: none;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	z-index: 2;
}
.flex-menu .sub-menu{
	display: flex;
	gap: var(--wp--style--block-gap);
	flex-wrap: wrap;
	justify-content: left;
}
/* Social Menu Classes */
.social-menu, .social-menu li, .social-menu .sub-menu{
	display: flex;
	gap: var(--wp--style--block-gap);
	flex-wrap: wrap;
	justify-content: center;
}
.social-menu a{
	display: block;
	text-align: center;
	background-color: transparent;
	color: currentColor;
	border-radius: 0.5em;
	padding: 0.4em;
	line-height: 0;
	border: solid 1px currentColor;
	text-decoration: none;
	transition: border-color 0.25s ease-in-out, color 0.25s ease-in-out, background-color 0.25s ease-in-out;
}
.social-menu a:hover, .social-menu a:focus{
	text-decoration: none;
}
.social-menu svg{
	width: 1em;
	height: 1em;
	fill: currentColor;
}
/*------------------------------------*\
	Pagination
\*------------------------------------*/
.pagination{}
@media (max-width: 776px){
	.pagination .hide-mobile{
		display: none;
	}
}
.pagination button:disabled{
	cursor: default;
	opacity: 0.5;
}
.pagination .current, .pagination .dots{
	cursor: default;
}
/*------------------------------------*\
	Utilities
\*------------------------------------*/
.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}