/*
Theme Name: Fisa22
Theme URI: https://wordpress.org/themes/twentytwentytwo/
Author: Quandarymat
Author URI: https://quandarymat.com/
Description: Fisa22 is based on the WordPress theme, Twenty Twenty-Two, with customizations for the FISA foundation. Built on a solidly designed foundation, Twenty Twenty-Two embraces the idea that everyone deserves a truly unique website. The theme’s subtle styles are inspired by the diversity and versatility of birds: its typography is lightweight yet strong, its color palette is drawn from nature, and its layout elements sit gently on the page. The true richness of Twenty Twenty-Two lies in its opportunity for customization. The theme is built to take advantage of the Full Site Editing features introduced in WordPress 5.9, which means that colors, typography, and the layout of every single page on your site can be customized to suit your vision. It also includes dozens of block patterns, opening the door to a wide range of professionally designed layouts in just a few clicks. Whether you’re building a single-page website, a blog, a business website, or a portfolio, Twenty Twenty-Two will help you create a site that is uniquely yours.
Requires at least: 5.9
Tested up to: 5.9
Requires PHP: 5.6
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentytwo
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments

Twenty Twenty-Two WordPress Theme, (C) 2021 WordPress.org
Twenty Twenty-Two is distributed under the terms of the GNU GPL.
*/

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/*
 * Text and navigation link styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ch;
	color: var(--wp--preset--color--primary); 
}

a:hover,
a:focus {
	text-decoration-style: dashed;
}

a:active {
	text-decoration: none;
}

main.wp-block-group li{
	margin-bottom: 1.5rem;  
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
}

/* Custom FISA navigation */

main#wp--skip-link--target:not(.wp-block-query) {
	margin-top: 0; 
}

/* .archive main#wp--skip-link--target {
	margin-top: initial; 
} */

.is-style-page-header,
.is-style-homepage-hero {
	margin-top: -121px !important; 
}

@media screen and (min-width: 1024px) and (max-width: 741px) {
	/* main#wp--skip-link--target, */
 		.is-style-page-header,
		 .is-style-homepage-hero {
		margin-top: -209px; 
	}	
}

@media screen and (min-width: 742px) and (max-width: 1004px) {
	/* main#wp--skip-link--target, */
	 .is-style-page-header,
	 .is-style-homepage-hero {
		margin-top: -172px; 
	}	
}

@media screen and (min-width: 1024px) {
	.is-style-announcement-bar {
		position: relative; 
		z-index: 98s; 
	}
}

.announcement-bar-popup:not(.editor-styles-wrapper *) {
	position: fixed; 
	top: 0;
	left: 0; 
	height: 100%; 
	width: 100%; 
	z-index: 900000000; 
	background-color: rgba(255, 255, 255, .3); 
}

.announcement-bar-popup-content:not(.editor-styles-wrapper *) {
	position: absolute;
	top: 50%;
	left: 50%;
	height: auto; 
	width: auto; 
	max-height:2000px;
	/* max-width: 2000px; */
	transform: translate(-50%, -50%);
	transition-property: max-height padding;
	  transition-duration: .5s;
	transition-timing-function: cubic-bezier(0.68, -0.6, 0.32, 1.6); 
	overflow: hidden;
}

@media screen and (max-width: 1023px) {
	.announcement-bar-popup-content {
		top: unset;
		bottom: 0;
		left: 0;
		height: auto; 
		width: auto; 
		max-height:2000px;
		/* max-width: 2000px; */
		transform: none;
		box-shadow: 0 -1px 10px rgba(0,0,0, .16);
	}
}

.offscreen .announcement-bar-popup-content:not(.editor-styles-wrapper *) {
	max-height: 0;
	/* max-width: 0; */
	padding: 0; 
	overflow: hidden;
	display: none;
	/* transition: max-height, max-width 1s ease-out;  */
}

.announcement-bar-popup-content a {
	position: absolute; 
	top: 10px; 
	right: 10px;  
}

.mega-menu-background:not(.editor-styles-wrapper *) {
	position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99;
    opacity: .98;
}

.mega-menu-background .wp-block-site-logo:not(.editor-styles-wrapper *) {
	padding-left: 2rem; 
}

.mega-menu-background .line-container:not(.editor-styles-wrapper *) {
	position:absolute;
	top: 350px;
	left:14%; 
}

.offscreen:not(.editor-styles-wrapper *) {
	top: -999999999999px !important; 
	left: -999999999999px !important; 
}

.main-navigation-container .is-style-lined-left:after {
	top: 50% !important; 
}

.main-navigation-container .wp-block-navigation{
	position: relative; 
	z-index: 1000; 
}


/* submenu hover/focus style */
.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-item a:hover,
.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-item a:focus {
	color: var(--wp--preset--color--background); 
	text-decoration: none;
	opacity: .8; 
	transition: opacity .2s ease-in; 
	/* background-color: var(--wp--preset--color--accent-1);  */
	/* text-decoration: underline dashed var(--wp--preset--color--primary);  */
}

.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-item a i {
	border-radius: 50%; 
	padding: 10px; 
}

.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-item a:hover i,
.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-item a:focus i {
	background-color: var(--wp--preset--color--primary);
	transition: background-color .2s ease-in; 
}

.main-navigation-container {
	position: relative;
	z-index: 100;
}

.main-navigation-container .wp-block-navigation .wp-block-navigation-item:not(.special){
	padding: 0 15px 0 0; 
}

.main-navigation-container .wp-block-navigation-item__label {
	font-weight: bold;
	text-transform: uppercase;
}

.main-navigation-container .wp-block-navigation .wp-block-navigation__submenu-container {
	border: none;
}

.main-navigation-container .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	font-weight: bold; 
	text-transform: none;
	font-size: var(--wp--preset--font-size--x-large);
}

.main-navigation-container .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label.back-button::first-line,
.main-navigation-container .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label.back-button {
	font-weight: bold; 
	text-transform: capitalize;
	font-size: var(--wp--preset--font-size--large);
}

.main-navigation-container .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label::first-line {
	font-weight: normal; 
}

.main-navigation-container li.special a {
	background-color: var(--wp--preset--color--accent-1); 
	padding: 7px 35px; 
	color: var(--wp--preset--color--foreground) !important; 
	border-radius: 25px; 
}

.main-navigation-container li.special a:hover,
.main-navigation-container li.special a:focus {
	text-decoration: none;
	filter: brightness(0.9);
}

.main-navigation-container .wp-block-navigation-item__content {
	flex-wrap: wrap;
	display: flex; 
}

.main-navigation-container .mega-menu-heading .wp-block-navigation-item__content .wp-block-navigation-item__label,
.main-navigation-container .mega-menu-heading .wp-block-navigation-item__content .wp-block-navigation-item__label::first-line{
	flex-basis: 100%; 
}

.main-navigation-container .mega-menu-heading .wp-block-navigation-item__content .wp-block-navigation-item__label,
.main-navigation-container .mega-menu-heading .wp-block-navigation-item__content .wp-block-navigation-item__label::first-line, 
.main-navigation-container ul ul .has-child .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
.main-navigation-container ul ul .has-child .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::first-line {
	font-size: 30px; 
	font-weight: bolder; 
	text-transform: uppercase; 
}

.main-navigation-container ul ul .wp-block-navigation__submenu-icon svg{
	display: none; 
}

.main-navigation-container ul ul ul .wp-block-navigation-item__content .wp-block-navigation-item__label,
.main-navigation-container ul ul ul .wp-block-navigation-item__content .wp-block-navigation-item__label::first-line {
	font-size: var(--wp--preset--font-size--large); 
	font-weight: bold !important; 
	padding: 0; 
}

.main-navigation-container .mega-menu-heading .wp-block-navigation-item__content {
	padding-bottom: 1.5rem; 
}

.main-navigation-container .wp-block-navigation-item__description {
	font-style: normal; 
}

/* Mobile Only */
@media screen and (max-width: 1023px) {
	.wp-block-navigation__responsive-container-close {
		z-index: 100002; 
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--wp--preset--color--foreground); 
		color: var(--wp--preset--color--background);
	}
	.main-navigation-container .wp-block-navigation__responsive-container {
		display: initial; 
		opacity: 0; 
		left: -1000px; 
		right: 1000px; 
		top: 0; 
		bottom: 0; 
		transition: left .25s, right .25s ease; 
	}

	.main-navigation-container .wp-block-navigation__responsive-container.is-menu-open {
		opacity: 1; 
		left: 0; 
		right: 0; 
		bottom: 0; 
	}

	.main-navigation-container .is-menu-open li.special {
		position: fixed;
		width: 100%; 
		bottom: 0; 
		z-index: 1001;
		left: 0;
    	padding: 1.2rem 0;
		border-radius: 0;
	}

	.main-navigation-container li.special {
		display: flex; 
		position: fixed; 
		left: -1000px; 
		right: 1000px; 
		transition: left .25s, right .25s ease; 
	}


	.main-navigation-container .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item.special {
		background-color: var(--wp--preset--color--accent-1) !important; 
		align-items: center;
		padding: .6rem; 
	}

	/* Top menu links styles */
	.main-navigation-container .wp-block-navigation-item__label {
		font-size: var(--wp--preset--font-size--x-large);
		flex-basis: 100%;
		padding-bottom: 0.5rem;
	}


	.main-navigation-container .wp-block-navigation .wp-block-navigation-item:not(.special) {
		padding: 0 0 .8rem 0; 
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation-item:not(.special)::after {
		content: ''; 
		width: 100%; 
		height: 1px;
		background-color: var(--wp--preset--color--primary); 
		opacity: .5;
		margin: 1rem 0 0; 
	}

	.main-navigation-container .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container  {
		display: none;
	}

	.main-navigation-container .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
		display: flex; 
		position: fixed;
		top: 4rem;
		bottom: 0; 
		left: 1500px;
		right: -1500px; 
		background-color:var(--wp--preset--color--foreground) !important;
		z-index: 1000;
		transition: all .5s ease-in; 

	}

	.main-navigation-container .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.opened {
		left: 0; 
		right: 0; 
		padding-bottom: 100px; 
		overflow: scroll;
	}

	.main-navigation-container .wp-block-navigation__responsive-container li {
		padding: 0 0 1rem; 
	}

	.main-navigation-container .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		width: 100%;
	}

	.main-navigation-container .wp-block-navigation__container li {
		width: 100%; 
	}

	.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-item a i {
		display: none;
	}

	.main-navigation-container .wp-block-navigation-item__label i {
		position: absolute;
		right: 0; 
		top: 12%;
		font-size: 24px; 
		/* padding: 10px; */
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation-item__label {
		overflow-wrap:normal; 
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation-item:not(.special) a {
		min-width: 320px; 
	}
	
} /* End Mobile only menu styles */

/* Mid and large screens only */
@media screen and (min-width: 1024px) {

	/* jd/jtd note - initially I used a column to try to create the layout for the logo in the mega menu - but then I switched to absolute positioning
	which makes the column obsolute. consider dropping the columns altogether from the template... */
	/* .mega-menu-background .wp-block-columns {
		height: 65vh;
	} */

	.mega-menu-background .wp-block-button.close-menu .wp-block-button__link:not(.editor-styles-wrapper *) {
		font-weight: bold;
		text-transform: uppercase;
		background-color: transparent;
		position: absolute;
		top: 14rem;
		left: 50px;
	}

	.main-navigation-container .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]+.wp-block-navigation__submenu-container .wp-block-navigation-item__label {
		color: var(--wp--preset--color--background);
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation-item {
		position: static;
	}

	/* .main-navigation-container .wp-block-navigation .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container:not(.editor-styles-wrapper *), */
	.main-navigation-container .wp-block-navigation .wp-block-navigation__container .has-child > .wp-block-navigation__submenu-container {
		position: fixed;
		background-color: transparent;
		width: 40vw;
		top: 14.5rem;
		left: 45%;
		padding-left: 8.625rem;
		border-left: 1px solid rgba(0, 83, 160, .5); 
		overflow-y: auto;
		overflow-x: hidden; 
		scrollbar-width: 8px;
		scrollbar-color:  var(--wp--preset--color--primary)  rgba(0, 83, 160, .3);
	}

	/* JTD - Low priority- these should be added without using !important */
	.main-navigation-container .wp-block-navigation ul ul .has-child ul.wp-block-navigation__submenu-container {
		padding-left: 0 !important;
		border-left: none !important; 
	}
	
	/* style scrollbar  */
	ul.wp-block-navigation__submenu-container::-webkit-scrollbar {
		width: 8px;
	}
	
	ul.wp-block-navigation__submenu-container::-webkit-scrollbar-track {
		-webkit-box-shadow: none;
		background-color: rgba(0, 83, 160, .3);
		border-radius: 16px;
	}
	
	ul.wp-block-navigation__submenu-container::-webkit-scrollbar-thumb {
		border-radius: 16px;
		-webkit-box-shadow: none;
		background-color: var(--wp--preset--color--primary);
	}
	

	.main-navigation-container .wp-block-navigation ul ul .wp-block-navigation-submenu__toggle[aria-expanded=true]+.wp-block-navigation__submenu-container {
		visibility: visible;
		overflow: visible;
		opacity: 1;
		width: auto;
		height: auto;
		min-width: 200px;
		position: relative; 
		top: 0;
		left: 0; 
		font-weight: 400;
	}


	/* second submenu - jtd - this keeps it open but should be changed to use javascript for accessibility purposes */
	/* .main-navigation-container .wp-block-navigation ul ul .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
	.main-navigation-container .wp-block-navigation ul ul .has-child .wp-block-navigation-submenu__toggle[aria-expanded=false]~.wp-block-navigation__submenu-container {
		visibility: visible;
		overflow: visible;
		opacity: 1;
		height: auto;
		min-width: 200px;
	} */

	/* second submenu */
	.main-navigation-container .wp-block-navigation ul ul .has-child .wp-block-navigation-submenu__toggle~.wp-block-navigation__submenu-container::first-line {
		font-weight: bold !important; 
	}

	.main-navigation-container .wp-block-navigation ul ul .has-child .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-icon {
		display: none; 
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu .wp-block-navigation-item.wp-block-navigation-submenu {
		display: block;
	}

	.main-navigation-container .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu .wp-block-navigation-item.wp-block-navigation-submenu .wp-block-navigation__submenu-container {
		position: static; 
	}

	.main-navigation-container ul ul .wp-block-navigation-item__label {
		padding: .5rem 0; 
		width: 100%; 
	}

	.main-navigation-container .wp-block-navigation-item__label i {
		position: absolute; 
		right: 0; 
		bottom: 10px; 
	}

	.wp-block-navigation-item__description:not(ul ul * ) {
		display: none; 
	}

	/* add separators above/between two-line navigation elements (this class is added in the admin to individual links) */
	.main-navigation-container .wp-block-navigation ul ul > .wp-block-navigation-item.nav-link-two-line-style {
		border-top: 1px solid rgba(0, 83, 160, .5);
	}

	.main-navigation-container .wp-block-navigation ul ul > .wp-block-navigation-item a {
		padding-right: 0 !important;
		position: relative; 
	}

	/* remove left padding so that separators align with text correctly */
	.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content, 
	.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
		padding-left: 0; 
	}

}/* end mid/large screen only menu styles */

.main-navigation-container {
	background-color: rgba(255, 255, 255, .8); 
}

.home .main-navigation-container {
	background-color: transparent; 
}

.is-style-page-header .wp-block-cover__inner-container {
	align-self: flex-end; 
	margin-bottom: 2rem; 
}

/* FOOTER */
/* Footer Menu styles ('horizontal with separators') */
.is-style-horizontal-with-separators .wp-block-navigation__container .wp-block-navigation-item:not(:last-child)::after {
	content: ''; 
	height: 12px; 
	width: 1px; 
	background-color: var(--wp--preset--color--background); 
	margin: 0 0 0 12px; 
}

/* Forms */
form input[type="text"],
form input[type="password"] {
	padding: 1rem 1.5rem;
    border-radius: 50px;
	border: 1px solid var(--wp--preset--color--foreground-alt);
    font-size: var(--wp--preset--font-size--large);
}

form input[type="submit"] {
	color: var(--wp--preset--color--background);
	background-color: var(--wp--preset--color--primary); 
	border-radius: 50px; 
	font-weight: bold; 
	border: none;
	padding: 1rem 3.5rem;
	font-size: var(--wp--preset--font-size--large);
}

 /* Directors only - Post Password Form */

form.post-password-form {
	margin: 60px 5rem 12rem 2rem
}


/*  Footer form */

.newsletter-signup,
.ctct-form-custom {
	position: relative; 
}

.newsletter-signup input[type="text"],
.ctct-form-custom {
    width: 384px;
}

.ctct-form-custom .ctct-form-label {
	opacity: 0; 
	height: 0;
	width: 0; 
	padding: 0; 
	margin: 0; 
}

.newsletter-signup .ctct-form-embed .ctct-form-defaults {
	background-color: transparent !important;
	padding: 0; 
}

.newsletter-signup .ctct-form-embed .ctct-form-custom .ctct-form-button {
	background-color: var(--wp--preset--color--primary) !important;
	border: 1px solid var(--wp--preset--color--primary) !important;
	width: 60px; 
	border-radius: 50px; 
	top: 38px; 
	color: transparent !important;
}

.newsletter-signup div.ctct-form-embed form.ctct-form-custom input.ctct-form-element {
	padding: 1.6rem;
    border-radius: 50px;
	border: 1px solid var(--wp--preset--color--foreground-alt);
    font-size: var(--wp--preset--font-size--large);
}

.newsletter-signup .ctct-form-embed .ctct-form-defaults .ctct-gdpr-text,
.newsletter-signup .ctct-form-embed .ctct-form-defaults .ctct-gdpr-text a {
	color:  var(--wp--preset--color--background) !important;
	opacity: .75;
}

.newsletter-signup .ctct-form-success {
	width: 384px;
    border: 1px solid white;
    padding: 20px;
}

.newsletter-signup .ctct-form-success .ctct-form-header {
	color:  var(--wp--preset--color--background) !important;
    font-family: 'Raleway' !important;
    font-weight: 400 !important;
    text-transform: uppercase;
    font-size: 1.5rem !important;
	line-height: 1.2 !important;  
}

.newsletter-signup .ctct-form-success .ctct-form-text {
	color:  var(--wp--preset--color--background) !important;
    font-family: 'Raleway' !important;
    font-weight: 400 !important;
	font-size: 1rem !important; 
}	

@media screen and (max-width: 1023px) {
	.newsletter-signup input[type="text"],
	.ctct-form-custom {
		max-width: 245px; 
	}
}

.newsletter-signup button,
.ctct-form-custom .ctct-form-button {
	position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 55px;
    width: 55px;
    border-radius: 50px;
    border: none;
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--background);
    font-size: var(--wp--preset--font-size--xx-large);
}

/* Buttons */

.wp-block-button__link {
	font-weight: bold;
	padding: .35em 3.5em; 
} 


/*
 * Search and File Block button styles.
 * Necessary until the following issues are resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/36444
 * https://github.com/WordPress/gutenberg/issues/27760
 */

.wp-block-search__button,
.wp-block-file .wp-block-file__button {
	background-color: var(--wp--preset--color--primary);
	border-radius: 0;
	border: none;
	color: var(--wp--preset--color--background);
	font-size: var(--wp--preset--font-size--medium);
	padding: calc(.667em + 2px) calc(1.333em + 2px);
}

/*
 * Button hover styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

.wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover,
.wp-block-button__link:hover {
	opacity: 0.90;
}

/*
 * Alignment styles.
 * These rules are temporary, and should not be relied on or
 * modified too heavily by themes or plugins that build on
 * Twenty Twenty-Two. These are meant to be a precursor to
 * a global solution provided by the Block Editor.
 *
 * Relevant issues:
 * https://github.com/WordPress/gutenberg/issues/35607
 * https://github.com/WordPress/gutenberg/issues/35884
 */

.wp-site-blocks,
body > .is-root-container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"] > .wp-block-group,
.is-root-container .wp-block[data-align="full"] > .wp-block-cover {
	padding-left: var(--wp--custom--spacing--outer);
	padding-right: var(--wp--custom--spacing--outer);
}

.wp-site-blocks .alignfull,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-cover,
.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
body > .is-root-container > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background,
body > .is-root-container > .wp-block-template-part > .wp-block-cover,
.is-root-container .wp-block[data-align="full"] {
	margin-left: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	width: unset;
}

/* Blocks inside columns don't have negative margins. */
.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
/* We also want to avoid stacking negative margins. */
.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
.is-root-container .wp-block[data-align="full"] > *:not(.wp-block-group) .wp-block[data-align="full"] {
	margin-left: auto !important;
	margin-right: auto !important;
	width: inherit;
}

/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */

.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: var(--wp--custom--spacing--outer);
	padding-bottom: var(--wp--custom--spacing--large);
	padding-right: var(--wp--custom--spacing--outer);
	padding-left: var(--wp--custom--spacing--outer);
}

/* MEGAMENU STYLES HERE */
.wp-block-navigation .wp-block-navigation .wp-block-navigation-item__description {
	display: block;
	font-style: italic;
	font-size: .8em;
}

/* THEME CUSTOM STYLES */
/* prefix styles from register_block style with is-style- */

/* headings */
.is-style-headline {
	font-weight: 800;
}

.is-style-uppercase,
.is-style-uppercase-light,
.is-style-uppercase-with-first-line {
	text-transform: uppercase;
	line-height: 1.2;
}

.is-style-uppercase-light,
.is-style-uppercase-with-first-line:first-line,
.is-style-uppercase-with-first-line > a:first-line {
	font-weight: 300;
}

/* lines */
.is-style-lined-left:after,
.is-style-lined-right:after {
	content: '';
	display: block;
	position: absolute;
	top: 19px;
	height: 3px;
	width: 800px;
	background-color: inherit;
	/* z-index: -1; */
}

.is-style-lined-left:after {
	left: -800px;
}

.is-style-lined-right:after {
	right: -800px;
}

/* JTD - styles below not registered. add classes to is-style-lined-left/right to change the line color */

.line-is-primary:after {
	background-color: var(--wp--preset--color--primary);
}

.line-is-secondary:after {
	background-color: var(--wp--preset--color--secondary);
}

.line-is-accent-1:after {
	background-color: var(--wp--preset--color--accent-1);
}

.line-is-accent-2:after {
	background-color: var(--wp--preset--color--accent-2);
}

.line-is-background:after {
	background-color: var(--wp--preset--color--background);
}

.line-is-foreground:after {
	background-color: var(--wp--preset--color--foreground);
}

.line-container,
.is-style-line-container {
	position: relative; 
}

.is-style-line-container, 
.is-style-line-container ~ * {
	padding-left: 1rem; 
	padding-right: 1rem; 
} 

.wp-block-media-text .is-style-line-container,
.wp-block-media-text .is-style-line-container ~ * {
	padding-left: 0; 
} 


/* line height adjustments for custom font sizes */
.has-tiny-font-size {
	line-height: var(--wp--custom--typography--line-height--tiny);
}

.has-small-font-size {
	line-height: var(--wp--custom--typography--line-height--small);
}

.has-medium-font-size {
	line-height: var(--wp--custom--typography--line-height--medium);
}

.has-large-font-size {
	line-height: var(--wp--custom--typography--line-height--large);
}

.has-x-large-font-size {
	line-height: var(--wp--custom--typography--line-height--x-large);
}

.has-xx-large-font-size {
	line-height: var(--wp--custom--typography--line-height--xx-large);
}

.has-gigantic-font-size {
	line-height: var(--wp--custom--typography--line-height--gigantic);
}

.has-colossal-font-size {
	line-height: var(--wp--custom--typography--line-height--colossal);
}

/* Custom Styles JD */
/* footer */
.white-border-top {
	border-top: 1px solid var(--wp--preset--color--background);
}

/* for hiding sections temporarily */
.hide {
	display: none !important; 
}

/* Grid-feature block - images to fill entire section */
.cover-block {
	width: 100% !important; 
	max-width: 100% !important; 
	height: 100% !important; 
	max-height: 100% !important; 
}

.no-padding {
	padding: 0 !important; 
}

.no-margin {
	margin: 0 !important; 
}

/* CUSTOM LAYOUTS */
/* for sections that may overlap the section above it */
.overlap-top {
	margin-top: -150px !important; 
}

/* prevent lines from widening the page */
.wp-site-blocks {
	overflow: hidden;
}

/* inverse logo style */
.is-style-inverse{
	filter: brightness(0) invert(1);
}

/* special accent button */
.special {
	background-color: var(--wp-preset--color--accent-1);
	color: var(--wp-preset--color--background);
}


/* Cover with feature text block */
.is-style-with-feature-text .is-style-twentytwentyone-border {
	margin-top: 0; 
}

.is-style-with-feature-text .is-style-lined-left:after,
.is-style-with-feature-text .is-style-lined-right:after  {
	top: 50%; 
}

@media screen and (max-width: 781px){
	.is-style-with-feature-text {
		align-items: flex-end; 
	}
}

@media screen and (min-width: 1440px) {
	.is-style-with-feature-text .wp-block-column{
		margin: 0 12%; 
	}
}	

/* 50-50 cover block */
.is-style-full-column-height-width {
	height: 100%; 
}

@media screen and (min-width: 1700px) {
	.is-style-homepage-hero .wp-block-column {
		margin: 0 12%; 
	}
}

.is-style-circle-image .wp-block-media-text__media img{
	border-radius: 50%; 
}

.wp-block-media-text{
	margin: 1.8rem 0; 
}


/* query block in grid & row format */
.is-style-grid-posts .wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr 1fr 2fr;
	grid-gap: var(--wp--style--block-gap);
}

.is-style-row-posts .wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: var(--wp--style--block-gap);
}

@media screen and (max-width: 781px){
	.is-style-grid-posts .wp-block-post-template {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
	}

	.is-style-grid-posts .wp-block-post:last-child {
		grid-column: 1 / span 2;
	}

	.is-style-row-posts .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

.is-style-grid-posts .wp-block-post,
.is-style-row-posts .wp-block-post {
	margin: 0;
	position: relative;
}

.is-style-grid-posts .wp-block-post > .wp-block-post-featured-image,
.is-style-row-posts .wp-block-post > .wp-block-post-featured-image {
	margin: 0;
}

.is-style-grid-posts .wp-block-post > .wp-block-group,
.is-style-row-posts .wp-block-post > .wp-block-group {
	padding: var(--wp--style--block-gap);
}

.is-style-grid-posts .wp-block-post > .wp-block-group:before,
.is-style-row-posts .wp-block-post > .wp-block-group:before {
	content: '';
	display: block;
	width: calc(100% + (var(--wp--style--block-gap) *2) );
	height: 0;
	padding-top: calc(66.66% + var(--wp--style--block-gap));
	margin: calc(var(--wp--style--block-gap) *(-1)) calc(var(--wp--style--block-gap) *(-1)) var(--wp--style--block-gap);
	background-color: var(--wp--preset--color--primary);
}

.is-style-grid-posts .wp-block-post > .wp-block-post-featured-image + .wp-block-group:before,
.is-style-row-posts .wp-block-post > .wp-block-post-featured-image + .wp-block-group:before {
	display: none;
}

@media screen and (max-width: 450px){
	.is-style-grid-posts .wp-block-post-template {
		grid-template-columns: 100%;
	}

	.is-style-grid-posts .wp-block-post:last-child {
		grid-column: 1 / 1;
	}
}

@media screen and (min-width: 451px){
	.is-style-grid-posts .wp-block-post:last-child{
		position: relative;	
		background-color: var(--wp--preset--color--foreground); 
	}

	.is-style-grid-posts .wp-block-post:last-child > .wp-block-post-featured-image + .wp-block-group {
		color: var(--wp--preset--color--background) !important;
		position: absolute;
		bottom: 0;
	}
	
	.is-style-grid-posts .wp-block-post:last-child > .wp-block-group a {
		color: var(--wp--preset--color--background) !important;
	}

	.is-style-grid-posts .wp-block-post:last-child > .wp-block-post-featured-image + .wp-block-group {
		background-color: rgba(0,0,0, .16);
	}
}

.is-style-right-callout a, 
.is-style-left-callout a, 
.is-style-bottom-callout a, 
h1 a, 
h2 a {
	color: inherit; 
	text-decoration: none;
}

h1 a:hover, 
h2 a:hover {
	text-decoration: initial; 
}

.wp-block-post-title a,
.wp-block-post-terms a {
	text-decoration: none;
}

.wp-block-post-title a:hover,
.wp-block-post-terms a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ch;
	text-decoration-style: solid;
}

.wp-block-post-date {
	margin-top: 0 !important;
	font-weight: bold;
}

.has-x-large-font-size.is-style-uppercase,
.has-x-large-font-size.is-style-uppercase-light,
.has-x-large-font-size.is-style-uppercase-with-first-line  {
	line-height: var(--wp--custom--typography--line-height--xx-large);
}

/* Callout blocks */
.is-style-left-callout,
.is-style-right-callout,
.is-style-bottom-callout {
	position: relative;
}

.is-style-left-callout > .wp-block-group.has-background,
.is-style-right-callout > .wp-block-group.has-background,
.is-style-bottom-callout > .wp-block-group.has-background {
	padding: var(--wp--style--block-gap);
	margin: 0;
}

.is-style-bottom-callout > .wp-block-group.has-background {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.is-style-left-callout > .wp-block-group.has-background h2,
.is-style-right-callout > .wp-block-group.has-background h2, 
.is-style-bottom-callout > .wp-block-group.has-background h2 {
	padding-right: 2em;
}

.is-style-left-callout > .wp-block-group.has-background i,
.is-style-right-callout > .wp-block-group.has-background i,
.is-style-bottom-callout > .wp-block-group.has-background i {
	position: absolute;
	bottom: 1em;
	right: var(--wp--preset--font-size--xx-large);
}

@media screen and (min-width: 922px){
	.is-style-left-callout > .wp-block-group.has-background,
	.is-style-right-callout > .wp-block-group.has-background,
	.is-style-bottom-callout > .wp-block-group.has-background {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

@media screen and (min-width: 1201px){
	.is-style-right-callout > .wp-block-group.has-background {
		width: 310px;
		position: absolute;
		top: 0;
		left: auto;
		right: 0;
	}

	.is-style-left-callout > .wp-block-group.has-background {
		width: 310px;
		position: absolute;
		top: 0;
	}

	.is-style-left-callout > .wp-block-group.has-background i,
	.is-style-right-callout > .wp-block-group.has-background i {
		position: static;
	}
}

/* PullQuote styles */
.wp-block-pullquote {
	border-top: none; 
	border-bottom: none;
	max-width: inherit; 
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.wp-block-pullquote blockquote {
	margin-left: 0;
	margin-right: 0; 
}

.wp-block-pullquote blockquote p {
	line-height: 2; 
}

.wp-block-pullquote::before {
	content: ''; 
	display: block; 
	width: 128px; 
	height: 3px;
	background-color: var(--wp--preset--color--primary); 
	margin: 1rem 0 0; 
}

.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right {
	max-width: 1088px; 
}

/* Remove spacing between sections */
@media screen and (min-width: 782px) {
	.is-style-section-no-gaps {
		margin-top: 0 !important; 
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

.is-style-50-50-section > .wp-block-columns {
	gap: 0; 
}

.is-style-50-50-section {
	padding: 0 !important;
	margin: 0 !important;
}


@media screen and (min-width: 782px) {
	.is-style-50-50-section {
		margin-top: 0 !important; 
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}




/* Centered text in 50/50 Block */
.is-style-centered-text {
	padding: 5rem;
}

@media screen and (max-width: 1024px){
	.is-style-centered-text {
		padding: 2rem;
	}
}

.margin-bottom-0 {
	margin-bottom: 0 !important; 
}

@media screen and (max-width: 781px) {
	/* 50/50 text so that on mobile, image stacks nicely */
	figure.alignright.is-style-center-on-mobile,
	figure.alignleft.is-style-center-on-mobile {
		float: none;
		margin-inline-start: 0;
		margin-inline-end: 0; 
	}

	.is-style-center-on-mobile {
		margin: 0 auto !important; 
	}
}

@media screen and (min-width: 769px) {
	.is-style-spaced-columns .wp-block-column:not(:last-child){
		padding-right: 2.5rem; 
	}
}

.main-navigation .wp-block-navigation-item__description {
	display: block !important; 
}

/* Query Pagination */
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
	display: inline-block;
	min-width: 2em;
	height: 1em;
	padding: 0.5em 0;
	line-height: 0.8;
	border-radius: 1em;
	text-align: center;
	text-decoration: none;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
}

.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
	line-height: 1;
	padding: 0.5em 1em;
}

.wp-block-query-pagination a.page-numbers:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover {
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
}

.wp-block-query-pagination span.page-numbers {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination span.page-numbers.current {
	outline: inset 2px var(--wp--preset--color--primary);
}


/* clean up imported photos that use alignleft/alignright */

img.alignleft{
	float: left;
	margin: 1.5rem; 
}

img.alignright {
	float: right;
	margin: 1.5rem; 
}

/* News on homepage / news blog archive link style */
.wp-block-post-title.is-style-uppercase-with-first-line a {
	display: block;
  }


/* Mobile menu triggered at 1023px rather than */

@media (max-width: 1023px) {
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display:none;
        width: initial;
        position:initial;
        z-index: initial;
        background-color: inherit;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
        display: initial;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
        left: initial;
    }
}

@media (max-width: 1023px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display:block;
    }
}

.visuallyHidden {
	opacity: 0 !important; 
	height: 0 !important; 
	width: 0 !important; 
}

.opacity-30 {
	opacity: .3;
}

.is-style-footer-email-signup {
	align-items: start !important; 
}

.is-style-footer-email-signup h3 {
	padding-top: 20px; 
}
