/* Root Styles */

:root {
	overflow-x: hidden;
}

/* Anchor Offset */
:root * {
	scroll-margin-top: var(--wp--preset--spacing--100);
}

/* Lists - Default */

ul.is-style-default {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

ul.is-style-default>li {
	margin-left: 0;
	padding-left: 1em;
	position: relative;
}

/* Utility Nav */

.wp-block-navigation-item.external::after,
.wp-block-button.external .wp-block-button__link::after {
	content: url(../images/external.svg);
	width: var(--wp--preset--spacing--10);
	margin-left: var(--wp--preset--spacing--5);
}

.wp-block-buttons[style*="font-weight"] .wp-block-button,
.wp-block-buttons[style*="font-weight"] .wp-block-button__link {
	font-weight: inherit;
}

.wp-block-button[style*="font-weight"] .wp-block-button__link {
	font-weight: inherit;
}

/* Link Buttons */

.wp-block-latest-posts__list a,
.wp-block-query:not(.featured-post) .wp-block-post-excerpt__more-text .wp-block-post-excerpt__more-link,
.wp-block-button[class*="link"] .wp-block-button__link {
	color: var(--wp--preset--color--black);
	padding: 0;
	background: none !important;
	height: auto;
	text-align: left;
	padding-left: var(--buttons-offset);
	padding-right: var(--buttons-offset);
}

/* Arrow Buttons */

.wp-block-button.arrow-button .wp-block-button__link {
	display: inline;
	white-space: normal;
	text-align: left;
}

.wp-block-button.arrow-button .wp-block-button__link::after {
	content: '';
	display: inline-block;
	vertical-align: baseline;
	margin-left: .44em;
	width: 1em;
	height: 0.9em;
	mask-image: url(/wp-content/themes/wpfox/assets/images/arrow-right.svg);
	mask-size: cover;
	background-color: currentColor;
	-webkit-mask-composite: destination-over;
	mask-composite: exclude;
	margin-top: .15em;
	transition: transform 0.2s ease;
}

.wp-block-button.arrow-button .wp-block-button__link:hover::after {
	transform: translateX(0.12em);
}

.wp-block-button.arrow-button .wp-block-button__link.has-primary-blue-color.has-transparent-background-color::after {
	background-color: var(--wp--preset--color--secondary-orange);
}

/* External Link Buttons */

.wp-block-button.external .wp-block-button__link {
	display: inline-flex;
	align-items: center;
}

.wp-block-button.external .wp-block-button__link::after {
	content: '';
	display: inline-block;
	margin-left: .3em;
	margin-top: 0.1em;
	width: 0.65em;
	height: 0.65em;
	mask-image: url(/wp-content/themes/wpfox/assets/images/external.svg);
	mask-size: cover;
	background-color: currentColor;
	-webkit-mask-composite: destination-over;
	mask-composite: exclude;
}


/* Sticky Header */

.site-header {
	position: absolute;
	width: 100%;
	top: 0;
	z-index: 10;
}

@media (max-width: 768px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}

/* Scrolled Down Site Header Effects */

@media (min-width: 1126px) {
	.wp-block-site-logo a {
		opacity: 1;
		transition: opacity 0.8s;
	}

	body.scrolled-down .wp-block-site-logo a {
		opacity: 0;
	}
}

@media (max-width: 1125px) {
	.site-brand {
		background-color: transparent !important;
	}
}

/* Main Navigation */


.main-nav .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-weight: 400;
}

.main-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg,
.main-nav .wp-block-navigation-submenu__toggle[aria-expanded=true]>svg {
	transform: scale(1.45, 1.45) translate(.1em, -.05em);
}

.main-nav .wp-block-navigation-submenu__toggle[aria-expanded=true]>svg {
	stroke: var(--wp--preset--color--secondary-orange);
}

@media (min-width: 1126px) {
	.main-nav .wp-block-navigation__container>.wp-block-navigation-item.current-menu-ancestor>.wp-block-navigation-item__content {
		position: relative;
	}

	.main-nav .wp-block-navigation__container>.wp-block-navigation-item.current-menu-ancestor>.wp-block-navigation-item__content::after {
		content: '';
		position: absolute;
		right: 0;
		bottom: -4px;
		left: 0;
		height: 4px;
		background-color: var(--wp--preset--color--primary-light-green);
	}
}



/* Mobile Navigation */

@media (min-width: 1126px) {
	.mobile-menu-only {
		display: none !important;
	}
}

@media (max-width: 1125px) {
	.desktop-menu-only {
		display: none !important;
	}

	.has-modal-open .wpfox-mobile-menu-overlay {
		opacity: 0.15;
		pointer-events: auto;
	}

	.wp-block-navigation__responsive-container {
		z-index: 100000 !important;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-page-list {
		justify-content: flex-start;
	}

	.wp-block-navigation__responsive-container-content .wp-block-buttons {
		padding: var(--wp--preset--spacing--15);
		margin-right: auto;
	}

	.main-nav ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
		display: none;
	}

	.main-nav .wp-block-navigation-submenu__toggle svg {
		display: none;
	}

	.main-nav .wp-block-navigation-submenu__toggle {
		width: 0 !important;
		height: 0 !important;
		border-left: 5px solid transparent !important;
		border-right: 5px solid transparent !important;
		border-top: 9px solid var(--wp--preset--color--white) !important;
		display: inline-block !important;
		margin-left: 8px !important;
		vertical-align: middle !important;
		transition: transform 0.3s ease !important;
	}

	.main-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] {
		transform: rotate(180deg) !important;
	}

	.main-nav ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu.active {
		display: block;
		padding-left: 0 !important;
		padding-top: 0 !important;
		width: 100% !important;
	}

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		position: fixed;
	}

	.wp-block-navigation .wp-block-navigation__responsive-container {
		transform: translateX(calc(100% + 10px));
		transition: transform 1s;
		display: block;
		padding: 0;
		width: min(600px, 100%);
		left: auto;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	}

	body.admin-bar .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container {
		top: 46px;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
		transform: translateX(0);
		overflow: hidden;
		overflow-y: auto;
	}


	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open>.wp-block-navigation__responsive-close {
		transform: translateX(0);
		transition: transform 1s;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container>.wp-block-navigation__responsive-close {
		height: 100%;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open.submenu-open>.wp-block-navigation__responsive-close {
		transform: translateX(-100%);
	}

	.wp-block-navigation__responsive-container-close {
		padding: 0;
		margin: 0;
		right: var(--wp--style--root--padding-right);
		top: 58px;
		transform: scale(1.25);
	}

	.wp-block-navigation__responsive-container-close svg {
		height: 37px;
		width: 37px;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
		align-items: var(--navigation-layout-justification-setting, inherit);
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		overflow: visible;
		padding-top: calc(2rem + 24px);
	}

	.site-header .main-nav .wp-block-navigation__responsive-container-content {
		padding: 10px 15px 25px;
		width: 100%;
	}

	.site-header .main-nav .wp-block-navigation__container {
		width: 100%;
	}

	.site-header .main-nav .wp-block-navigation__container li {
		font-size: var(--wp--preset--font-size--normal);
		text-align: left;
		font-weight: 700;
	}

	.site-header .main-nav .wp-block-navigation__container li a,
	.site-header .main-nav .wp-block-navigation__container li a:hover,
	.site-header .main-nav .wp-block-navigation__container li a span {
		font-size: inherit;
		display: block !important;
		position: relative;
		color: inherit;
		transition: color 0.4s;
	}

	.site-header .main-nav .wp-block-navigation__container li a {
		padding: 12px !important;
	}

	.site-header .main-nav .wp-block-navigation__container li:where(.has-child)>a {}

	/* .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: inline-block !important;
		width: 2em;
		height: 3.667em;
		position: absolute;
		right: 25px;
		margin-top: -3.667em;
	} */

	/* .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon:hover::before {
		color: var(--wp--preset--color--black);
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg {
		display: none;
	} */

	#site-navigation .wp-block-navigation__responsive-dialog {
		position: static;
	}

	#site-navigation .wp-block-navigation>.wp-block-navigation-item {
		position: static;
		width: 100%;
		border-bottom: 1px solid var(--wp--preset--color--black);
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		align-items: center;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: block;
	}


	header .wp-block-social-links.is-style-logos-only .wp-social-link svg {
		--font-size: 24;
	}

	header .wp-block-buttons {
		margin: 0;
		width: 100%;
	}

	header .wp-block-buttons>.wp-block-button {
		margin: 0 auto;
		flex: 1 0 0;
	}

	header .wp-block-buttons>.wp-block-button a {
		--font-size: 14;
		transform: none;
	}

	header .wp-block-buttons>.wp-block-button:where([class*="icon"]) .wp-block-button__link::before {
		font-size: 1.4em;
	}

	header .wp-block-buttons>.wp-block-button.is-style-phone-icon .wp-block-button__link::before {
		font-size: 1.3em;
	}

}

/* Site Mobile Header */

@media (max-width: 1125px) {
	.site-header .site-navigation {
		align-self: auto;
	}

	.wp-block-site-logo:not(.mobile-only) a {
		width: 140px;
		margin: 20px 0;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.wp-block-navigation__responsive-container-open svg {
		transform: scale(2, 1.5);
	}

}

/* Main */

.wp-site-blocks>main {
	margin-top: 0;
}


/* Footer */

.site-footer-container {
	margin-top: 0 !important;
}

.site-footer-container>div {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
}

.site-footer-container h4+p {
	margin-top: 0.2em;
}

.site-footer-container .footer-right p {
	--font-size: 12;
}

.site-footer-container .wp-block-social-links.is-style-logos-only .wp-social-link svg {
	height: max(30px, var(--wp--preset--spacing--30));
	width: auto;
}

@media (max-width: 991px) {}

@media (max-width: 767px) {
	.site-footer-container :is(.footer-row, .copyright)>* {
		flex: 1 0 100%;
		text-align: center;
	}

	.site-footer-container .wp-block-social-links {
		justify-content: center;
	}
}

@media (max-width: 575px) {
	.footer-bottom>div {
		width: 100%;
		text-align: center;
	}

	.footer-top {
		justify-content: center !important;
	}

	.footer-bottom .wp-block-social-links {
		justify-content: center;
	}

	.footer-right>.wp-block-group {
		justify-content: center;
	}

	.site-footer-container .footer-right p {
		text-align: center;
	}
}

/* WP Video Lightbox Plugin - Mobile Cleanup CSS */

div.pp_default .pp_close {
	margin: 0;
}

@media (max-width: 767px) {

	a.pp_expand,
	a.pp_contract,
	.pp_hoverContainer,
	.pp_gallery,
	.pp_top,
	.pp_bottom {
		display: block !important;
	}

	div.pp_default .pp_content_container .pp_left {
		padding-left: 13px !important;
	}

	div.pp_default .pp_content_container .pp_right {
		padding-right: 13px !important;
	}

	.pp_content {
		width: 100% !important;
	}

	.pp_fade {
		width: calc(100% - 8px) !important;
	}

	.pp_details {
		margin: -33px 3px !important;
		width: auto !important;
		background: none;
	}

	a.pp_close {
		right: 0 !important;
		top: 0 !important;
	}

	#pp_full_res {
		height: 66vw;
	}

	#pp_full_res iframe {
		width: 100%;
		height: 66vw;
	}
}