/* ServiceSource accessibility fixes. */
.elementor-544 .elementor-element.elementor-element-3a314b9 .elementor-nav-menu--dropdown a:focus {
	color: #fff;
	background: var(--e-global-color-primary);
}

.elementor-location-footer a {
	color: #fff;
}

.site-id-2 .elementor-location-footer a {
	color: var( --e-global-color-primary ) !important;
}

.site-id-2 .elementor-location-footer a {
	color: var( --e-global-color-primary ) !important;
}

.site-id-2 .elementor-location-footer nav a {
	color: #fff !important;
}

.elementor-post__thumbnail {
	margin-bottom: 20px;
}

.elementor-location-footer p a {
	text-decoration: underline;
}

.elementor-location-footer p a:hover,
.elementor-location-footer p a:focus {
	color: #fff;
	text-decoration: none;
}

.site-id-2 .elementor-location-footer p a:hover,
.site-id-2 .elementor-location-footer p a:focus {
	color: var( --e-global-color-primary );
}

#wp-gdpr-cookie-notice .wp-gdpr-cookie-notice-button:hover, #wp-gdpr-cookie-notice .wp-gdpr-cookie-notice-button:focus {
	background-color: var( --e-global-color-primary );
}

.home .elementor-widget-container .swiper-container-wrap {
	padding-left: 10px;
}

.elementor-location-header .elementor-button-content-wrapper,
#content .elementor-button-content-wrapper {
	display: inline;
}

.elementor-location-header .elementor-button .dashicons:before,
#content .elementor-button .dashicons:before,
.elementor-location-header .elementor-button .dashicons,
#content .elementor-button .dashicons {
	font-size: inherit;
	width: auto;
	height: auto;
}

.home .elementor-widget-container .swiper-container-wrap .swiper-button-next {
	right: -10px;
}

.home .elementor-widget-container .swiper-container-wrap .swiper-button-prev {
	left: -10px;
}

.elementor-widget-container .swiper-container .elementor-swiper-button-prev {
	left: 2px;
}

.elementor-widget-container .swiper-container .elementor-swiper-button-next {
	right: 2px;
}

div.elementor-swiper-button:hover,
div.elementor-swiper-button:focus {
	background: #333;
	border-radius: 25px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item a.mega-menu-link {
	height: auto !important;
}
h2.elementor-heading-title {
	line-break: anywhere;
}

#skiplink a:focus {
	z-index: 999999999;
}

.searchandfilter fieldset {
	padding: 0;
	border: none;
}

.searchandfilter legend {
	font-weight: 600;
	font-size: 22px;
	color: var( --e-global-color-5006927c );
	padding: 5px 0 10px;
}

.swiper-button-next:focus, .swiper-button-prev:focus {
	background: #fffb;
	border-radius: 5px;
	color: #000;
	border-color: #333;
	padding: 6px;
}

/* Add styling for current submenu items. */
.mega-menu .mega-current-menu-item,
.mega-menu .mega-current_page_item {
	text-decoration: underline !important;
}

#content a:not(.elementor-button) {
	text-decoration: underline;
}

#content .pp-toc a, #content a.swiper-slide-inner {
	text-decoration: none;
}

#content a.swiper-slide-inner:hover .elementor-button,
#content a.swiper-slide-inner:focus .elementor-button {
	text-decoration: underline;
	transform: scale(1.1);
}

.home #content .swiper-slide-contents {
	background: #be1e2dd3 !important;
}

.elementor-12 .elementor-element.elementor-element-b825f85 .elementor-button {
	background-color: #4267b2 !important;
}

.pp-faq-question:hover,
.pp-faq-question:focus {
	background: #444;
	color: #fff;
}

a:focus-visible, input:focus-visible, button:focus-visible, select:focus-visible, textarea:focus-visible, div:focus-visible {
	outline: 2px solid var( --e-global-color-primary ) !important;
	outline-offset: 2px;
}

/* Important needed to override Hello Elementor styling. */
.swiper-slide-contents a.elementor-button:focus-visible,
.elementor-location-header .elementor-top-section a:focus-visible,
.elementor-location-footer .elementor-top-section a:focus-visible,
.elementor-location-header .elementor-top-section input:focus-visible,
.elementor-location-footer .elementor-top-section input:focus-visible,
.elementor-location-header .elementor-top-section button:focus-visible,
.elementor-location-footer .elementor-top-section button:focus-visible {
	outline-color: #e6e6e6 !important;
}

.elementor .elementor-posts .elementor-post__excerpt p {
	color: #666;
}

.my-calendar-date-switcher input[type=submit] {
	background-color: var( --e-global-color-primary );
}

.site-id-2 .elementor-location-footer a:focus-visible {
	outline-color: var( --e-global-color-primary ) !important;
}


.eael-entry-overlay a,
.eael-entry-thumbnail a,
.eael-post-elements-readmore-wrap {
	display: none; /* Remove empty links from keyboard flow. */
}


/* Fix color contrast on colored home boxes. */
.elementor-854 .elementor-element.elementor-element-214fc1cf:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-854 .elementor-element.elementor-element-214fc1cf > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #9f5c00;
}

.elementor-854 .elementor-element.elementor-element-4a8c1b6d:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-854 .elementor-element.elementor-element-4a8c1b6d > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #627618;
}

/* Adjust color contrast via transparency in lead swiper */
.elementor-854 .elementor-element.elementor-element-bf6c2ce .swiper-slide-contents {
	background-color: #be1e2dda;
}

a h2 {
	border-bottom: 2px solid transparent;
}

a:hover h2 {
	display: inline-block;
	border-bottom: 2px solid;
}

/* Override search and filter screen reader text to replace headings. */
#content .searchandfilter label span.screen-reader-text,
.elementor .searchandfilter .screen-reader-text:not( button .screen-reader-text, span.screen-reader-text ) {
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: 1.5em;
	height: auto;
	line-height: normal;
	text-decoration: none;
	width: auto;
	overflow: auto;
	position: static !important;
	margin: 0 0 6px;
}

.elementor .swiper-slide-contents {

}

button.search-button {
	padding: .5rem 0;
	border: none;
}

button.search-button .dashicons {
	vertical-align: middle;
}

/* Compensate for sticky header when scrolling on page. TODO: compensate for two different headers. */
*[id] {
	scroll-margin-top: 6em;
}
.has-secondary-menu *[id] {
	scroll-margin-top: 14em;
}

/* Remove styling on Gravity Forms fieldsets. */
.ginput_container fieldset {
	border: none;
}

/* Make fallback text in social icons meet contrast requirements. */
.elementor-widget-social-icons .elementor-screen-only {
	color: #fff;
}

.searchandfilter ul {
	padding: 0;
}

.searchandfilter li .sf-label-radio {
	display: inline;
}

.BBFormRadioButtonContainer input[type="radio"]:focus + label {
	background-color: var( --e-global-color-primary ) !important;
	color: #fff !important;
}

/* I don't know why, but some arbirary settings have a z-index that can cause the navigation to cut off. */
.elementor-794 .elementor-element.elementor-element-744c295 {
	z-index: 1 !important;
}

/* Footer reds over black */
.elementor-location-footer .gfield_required,
.elementor-location-footer a:hover {
	color: #ff293c !important;
}
.elementor-location-footer .gfield_required .gfield_required_text {
	font-weight: 600 !important;
}

.swiper-slide-inner:focus,
.swiper-slide-inner:hover {
	background: rgba( 0,0,0,.25 );
}

.elementor-posts--skin-classic .elementor-post {
	overflow: unset !important;
}

.elementor-post__title a {
	display: inline-block;
}

#wp-gdpr-cookie-notice-wrap {
	position: static;
}

.site-id-3 .elementor-slide-button:hover {
	color: #000 !important;
}