/*!
Theme Name: tap
Theme URI: http://underscores.me/
Author: tap
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: tap
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

tap is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 600;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
	max-width:100%;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #000;
	font-family: 'Barlow', sans-serif;
	font-size: 16px; /* Root size. Using rems */
	line-height: 1.5;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;

}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
    width: auto;
	margin-top: 2px;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.entry-content {
min-height: 50vh;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}




/* TAP CSS */


/* Make the entire header stretch full width */
.site-header {
    width: 100%;
}

/* Center the inner content and limit max width */
.site-header-inner {
    max-width: 1500px;
    padding: 42px 75px 18px 75px;
    margin: 0 auto; 
    display: flex;
    justify-content: space-between;
}

/* Stack top and main menus while keeping them aligned to the right */
.nav-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
	margin: -6px -20px 20px 0;
}

/* Ensure top menu is in one line */
.top-navigation ul {
    display: flex;
    gap: 26px;
    list-style: none;
    margin: -12px 0 10px 0;
    padding: 0;
}

.top-navigation .contact-method {
	color:#b22a2e;
}

.top-navigation a {
	color: #000;
	text-decoration: none;
}

.top-navigation p {
	font-size: 21px;
	font-size: clamp(1.1rem, 0.75rem + 0.667vw, 1.313rem);
	font-weight:600;
	margin:0;
	line-height: 27px;
}

.top-navigation a:visited {
	color:#000;
}

.top-navigation a:hover {
	color:#b22a2e;
}

.top-navigation h2 {
	font-size: 33px;
	font-size: clamp(1.563rem, 1.229rem + 0.889vw, 2.063rem); /* This text will scale between 25px at 600px and 33px at 1500px */
    font-weight: 600;
	color:#e6540f;
	margin-bottom: -2px;
}

.main-navigation ul.menu {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}

.main-navigation ul.menu li {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0px 20px 20px 20px;
    position: relative; /* Establish positioning context for the pseudo-element */
}

.main-navigation ul.menu li:last-child {
	padding: 0px 0px 20px 20px;
}

/* Create the custom right border using a pseudo-element */
.main-navigation ul.menu li::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%; /* Start at 50% for vertical centering */
    transform: translateY(-70%);
    width: 2px; /* Border thickness */
    height: 60%; /* Adjust the height as needed */
    background-color: #b22a2e;
}

.main-navigation ul.menu li:last-child::after {
    display: none;
}


/* Ensure text stacks correctly */
.main-navigation ul.menu li a {
    display: block;
    white-space: normal; /* Allow proper wrapping */
    text-align: center;
    line-height: 1.2;
    font-size: 20px;
	font-weight: 600;
	color: #000;
}

.main-navigation ul.menu li a:hover {
    color: #b22a2e;
}

/* Custom widths for specific menu items to match design, as <br> not good for accessibility - but might be better of 2 evils, revisit this */
.main-navigation ul.menu li:nth-child(1) a { max-width: 58px; } /* What We Do */
.main-navigation ul.menu li:nth-child(2) a { max-width: 56px; } /* About Us */
.main-navigation ul.menu li:nth-child(3) a { max-width: 84px; } /* About Advocacy */
.main-navigation ul.menu li:nth-child(4) a { max-width: 112px; } /* I&R */
.main-navigation ul.menu li:nth-child(5) a { max-width: 76px; } /* Connect Team */
.main-navigation ul.menu li:nth-child(6) a { max-width: 74px; } /* Contact Us */
.main-navigation ul.menu li:nth-child(7) a { max-width: 72px; } /* Make a Referral */
/* Add more specific rules as needed */




/* Ensure submenu is hidden by default */

.main-navigation ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%; /* Position below the parent */
    left: -20px !important;
    background: #FFF;
    padding: 20px 30px;
    margin: 0;
    min-width: 240px;
    white-space: nowrap;
    border-top: 2px solid #b22a2e;
}

/* Show submenu on hover */
.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu {
    display: block;
}

/* Ensure submenu items expand correctly */
.main-navigation ul.sub-menu li {
    display: block;
	padding: 6px 0px;
    text-align: left;
    width: 100%;
	border-right: none; 
}

.main-navigation ul.sub-menu li::after {
  content: none;
}

.main-navigation ul.sub-menu li:last-child {
    padding: 0px;
}



/* Submenu links styling */
.main-navigation ul.sub-menu li a {
    display: block;
    font-size: 18px;
	
    color: #000;
    padding: 0px;   
    width: 100%; /* Force full width */
	max-width: none !important; /* Override widths */
	text-align: left;
}

/* Submenu hover effect */
.main-navigation ul.sub-menu li a:hover {
    color: #b22a2e;
}








/* MEGA MENU STYLES */

/* Top Menu */

#mega-menu-wrap-top-menu #mega-menu-top-menu {
	margin: 0 4px 0 0;
}

#mega-menu-wrap-top-menu #mega-menu-top-menu > li.mega-menu-item > a.mega-menu-link {
	font-size: 20px;
	font-size: clamp(1.188rem, 0.859rem + 0.417vw, 1.25rem);
	line-height:1.25em;
	word-wrap: normal;
	padding: 0 14px;
	transition: 0.3s ease;
}


/* Main Menu */
.mega-indicator {
	display:none !important;
}

.mobile-navigation .mega-indicator {
	display:block !important;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
	font-weight:600;
	font-size: 20px;
	font-size: clamp(1.188rem, 0.859rem + 0.417vw, 1.25rem);
	line-height:1.25em;
	word-wrap: normal;
		transition: 0.3s ease;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:hover {
	font-weight:600;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:focus {
	font-weight:600;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:active {
	font-weight:600;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item {
	border-left: 2px solid #b22a2e;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item:first-child {
    border-left: none;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
	font-weight:600;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {
	font-weight:600;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
	  font-weight: 600;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(1) > a.mega-menu-link { /* What We Do */
    max-width: 96px;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(2) > a.mega-menu-link { /* About Us */
    max-width: 92px;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(3) > a.mega-menu-link { /* About Advocacy */
    max-width: 126px;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(4) > a.mega-menu-link { /* Information & Resources */
    max-width: 154px;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(5) > a.mega-menu-link { /* Connect Team */
    max-width: 110px;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(6) > a.mega-menu-link { /* Contact Us */
    max-width: 110px;
}

#mega-menu-wrap-menu-1 > #mega-menu-menu-1 > li.mega-menu-item:nth-child(7) > a.mega-menu-link { /* Make a Referral */
    max-width: 108px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item:last-child a { /* Only for Make a Referral when goes live */
	color: #e6540f;
	text-decoration: underline;
}


/* Sub Menu */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu {
	border-top: solid 3px #b22a2e;
	top: 65px;
	left: -30px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
	line-height: 1.2em;
}




/* Mobile Menu */

.mobile-navigation {
	margin: 40% 0 0 0;
}

#mega-menu-wrap-mobile-menu #mega-menu-mobile-menu > li.mega-menu-item {
  border-bottom: 1px solid #ccc; /* or #999 for higher contrast */
}

#mega-menu-wrap-mobile-menu #mega-menu-mobile-menu > li.mega-menu-item > a.mega-menu-link {
	font-weight: 600;
}

#mega-menu-wrap-mobile-menu #mega-menu-mobile-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
	  font-weight: 600;
}

#mega-menu-wrap-mobile-menu #mega-menu-mobile-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    font-size: 17px;
    font-weight: 600;
    padding: 5px 0px 5px 20px;
    line-height: 20px;
}

#mega-menu-wrap-mobile-menu #mega-menu-mobile-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {
	 font-weight: 600;
}

#mega-menu-wrap-mobile-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner, #mega-menu-wrap-mobile-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::before, #mega-menu-wrap-mobile-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::after {
	width: 36px;
    height: 4px;
	border-radius:0;
}




.heading-bar-container {
    background-color: #fdc42d;
    display: flex;
    justify-content: center; /* Center the inner container horizontally */
    padding: 63px 0 67px 0; /* Optional vertical padding */
}

.heading-bar {
    padding-left: 250px; 
	padding-right: 450px;
	max-width:1500px;
	min-width:1500px; /* dubious code for pixel perfection */
}

.heading-bar h1 {
    color: #000; 
	font-weight:600;
    font-size: 44px;
	font-size: clamp(2.125rem, 1.708rem + 1.111vw, 2.75rem); /* This text will scale between 34px at 600px and 44px at 1500px. */
	line-height:1.1; /* What we doing with line-heights, same golbally fr all text? */
	margin:0 0 8px 0;
}

.heading-bar p {
    color: #000;
    font-size: 38px; 
	font-size: clamp(1.625rem, 1.125rem + 1.333vw, 2.375rem); /* This text will scale between 26px at 600px and 38px at 1500px. */
	line-height:1.15; 
	margin:0;
}

.heading-bar a, .heading-bar a:visited {
	color: #000;
	transition: 0.3s ease;
	overflow-wrap: anywhere;
}

.heading-bar a:hover {
	color: #4a4a49;
}

.site-footer {
	margin: 0;
}

.footer-content {
	background: #ededed;
	text-align:center;
	padding: 60px 20% 40px 20%;
}

.footer-content h2 {
	font-size: 33px;
	font-weight:600;
	color: #b22a2e;
	margin:0 0 4px 0;
}

.footer-content h3 {
	font-size: 21px;
	font-size: clamp(1.2rem, 0.583rem + 0.778vw, 1.313rem); /* This text will scale between 14px at 600px and 21px at 1500px */
	font-weight:600;	
	margin: 0 0 7px 0;
}

.footer-content p {
	font-size: 21px;
	font-size: clamp(1.2rem, 0.583rem + 0.778vw, 1.313rem); /* This text will scale between 14px at 600px and 21px at 1500px */
	line-height: 1.25em;
	margin: 6px 0 16px 0;
}

.footer-content p a {
	
}
.copyright-container {
	background: #000;
	color: #FFF;
	text-align: center;
    padding: 27px 75px;  
    font-size: 21px;
	font-size: clamp(0.875rem, 0.583rem + 0.778vw, 1.313rem); /* This text will scale between 14px at 600px and 21px at 1500px */
	font-weight:600;
	line-height: 1; /* Reduces extra vertical spacing */
}

.footer-social-link {
	margin: 0 10px 0 0;
}

.footer-partners {
	margin: 36px 0 0 0;
	 display: flex;
    align-items: center;      
    justify-content: center;  
gap:15px;
}

.footer-partners img {
	margin: 0 26px 0 0;
}

.footer-partners img:hover {
	opacity:0.7;
	transition: 0.3s ease;
}

.footer-social-links {
	margin: 0 0 25px 0;
}



/* HEADINGS */

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

h2, h3 {
	color: #b22a2e;
}

h2,h3,h4,h5 {
	margin:0;
}


.heading-wrapper {
	max-width: 1150px;
    margin: 0 auto;
	padding: 0px 75px 0 75px;	
}

.heading-wrapper h2 {
	color: #b22a2e;
	font-size: 38px; 
	font-size: clamp(1.625rem, 1.125rem + 1.333vw, 2.375rem); /* This text will scale between 26px at 600px and 38px at 1500px. */
	font-weight: 600;
	margin: 28px 0 -15px 0;
}

.heading-wrapper h3 {
	font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px. */
	font-weight:600;
	margin: 28px 0 0 0;
}

.heading-wrapper + .text-content {
    padding: 20px 75px 0 75px; /* adjacent sibling combinator (+) to target .text-content p only when it is immediately preceded by .heading-wrapper */
}

.heading-bar-container + .heading-wrapper {
    padding: 30px 75px 0 75px;
}







/* LINKS
--------------------------------------------- */

a {
	color: #b22a2e;
	text-decoration: none;
}

a:visited {
	color: #b22a2e;
	text-decoration: none;
}

a:hover,
a:focus,
a:active {
	color: #000;
	text-decoration: none;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}




/* FEATURE STORY */
.feature-story img {
    width: 100%;
    max-height: 630px;
    display: block;
    object-fit: cover;
    object-position: top center;
}

.feature-story {
    position: relative;
    width: 100%;
    margin: 0;
}

.feature-text-container {
  width: 100%;
  background-color: #4a4a49;
}

.feature-text {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 90px; /* Ensures a minimum 90px space between headline and link */
  flex-wrap: wrap; /* Optional: allows wrapping on smaller screens */
padding:35px 75px 38px 75px;
}

.feature-headline h2 {
	/* font-size: 46px; */
	/* font-size: clamp(2.375rem, -0.25rem + 3.333vw, 2.875rem);  This text will scale between 38px at 1260px and 46px at 1500px */
	/* font-size: 42px; */
	/* font-size: clamp(2.375rem, 1.063rem + 1.667vw, 2.625rem);  This text will scale between 38px at 1260px and 42px at 1500px */
	
	font-size: 42px;
	font-size: clamp(2.25rem, 2rem + 0.667vw, 2.625rem); /* This text will scale between 36px at 600px and 42px at 1500px */
	font-weight:600;
	line-height: 1.15em;
	color: #FFF;
}

.feature-headline a{
	color:#FFF;
}

.feature-link {
 	/* font-size:31px; */
	/* font-size: clamp(1.625rem, -0.016rem + 2.083vw, 1.938rem);  This text will scale between 26px at 1260px and 31px at 1500px */
	font-size:28px;
	font-size: clamp(1.625rem, 0.969rem + 0.833vw, 1.75rem); /* This text will scale between 26px at 1260px and 28px at 1500px */
    font-weight: 600;
}

.feature-link a {
  color: #FFF;
}

.feature-link a:hover {
  opacity: 0.55;
}







/* CONTENT CARDS */
.content-cards-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 75px 75px 0 75px;
    display: flex;
    flex-direction: column;
    gap: 0px; /* change this to 75px for the gaps if end up using them */
}

.find-out-more + .content-cards-container {
    padding: 65px 75px 0 75px;
}

.content-card {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
	margin: 0 0 45px 0;
}

.card-image {
    width: 50%;
    aspect-ratio: 3 / 2; /* Maintains 3:2 aspect ratio */
}

.card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Fallback for older browsers */
@supports not (aspect-ratio: 3 / 2) {
    .card-image {
        width: 50%;
        position: relative;
    }

    .card-image::before {
        content: "";
        display: block;
        padding-top: 66.66%; /* (2 / 3) * 100 = 66.66% */
    }

    .card-image img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}



.card-text {
    width: 50%;
    padding: 35px 45px;
    display: flex;
    flex-direction: column;
}

.card-text h2 {
    margin: 0 0 8px 0;
	font-size: 44px;
	font-size: clamp(2.125rem, 1.708rem + 1.111vw, 2.75rem); /*  This text will scale between 34px at 600px and 44px at 1500px. */
	font-weight:600;
	line-height: 1.15em;
}

.card-text h2 a, .card-text h2 a:visited, .card-text .description a, .card-text .description a:visited{
	color:#FFF;
	transition: 0.3s ease;
}

.card-text h2 a:hover,  .card-text .description a:hover{
	opacity: 0.55;
}

.card-text .description {
	color:#FFF;
	font-size: 38px; 
	font-size: clamp(1.625rem, 1.125rem + 1.333vw, 2.375rem); /* This text will scale between 26px at 600px and 38px at 1500px */
	line-height: 1.14em;
}

.yellow .card-text .description, .yellow .card-text .card-link, .yellow .card-text h2 a {
	color: #000;
}

.yellow .card-text h2 a:hover, .yellow .card-text .card-link:hover {
	color: #4a4a49;
}

.card-text .description p {
	margin:0;
}

.card-link {
    color: #FFF;
    text-decoration: none;
	/* font-size: 33px; */
	/* font-size: clamp(1.563rem, 1.229rem + 0.889vw, 2.063rem); This text will scale between 25px at 600px and 33px at 1500px */
	font-size: 31px;
	font-size: clamp(1.563rem, 1.313rem + 0.667vw, 1.938rem); /* This text will scale between 25px at 600px and 31px at 1500px */
    font-weight: 600;
	transition: 0.3s ease;
}

.card-link:visited {
	color: #FFF;
}

.card-link:hover {
  opacity: 0.55;
}

/* Background colors */
.content-card.orange { background-color: #e6540f; }
.content-card.red { background-color: #b22a2e; }
.content-card.yellow { background-color: #fdc42d; }

.content-cards-container.contact-card {
	 padding: 68px 75px 0 75px;
}

.content-cards-container + .content-cards-container.contact-card { /* achieving pixel perfection urgh */
	 padding: 0px 75px 0 75px;
}

.mob {
	margin-top: 75px;
}





/* IMAGE */
.image-block {
    max-width: 1050px;
    margin: 0 auto;
    text-align: left;
    padding: 65px 75px 8px 75px;
}

.image-block img {
    width: 100%;
    height: auto; /* Keeps aspect ratio */
    display: block; /* Removes any extra spacing */
}

.image-block:first-of-type {
    max-width: 1150px;
    margin: 0 auto;
    text-align: left;
    padding: 75px 75px 23px 75px; /* 23 bottom padding added because images need to be 75ish above and below */
}

.image-caption {
   font-size: 22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
    line-height: 1.6em;
    margin: 18px 0 20px 0;
    color: #000;
}




/* TEXT CONTENT */
p {
	 margin: 0; */
}

.text-content {
    max-width: 1150px;
    margin: 0 auto;
    color: #000;
    padding: 32px 75px 0 75px;
}


.pullquote + .text-content {
    padding: 42px 75px 0px 75px; /* text-content underneath quotes needed a wee bit extra padding to match design */
}

.heading-bar-container + .text-content {
    padding: 60px 75px 0 75px;
}

.text-content p, .text-content ul {
	font-size:22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
	line-height:1.6em;
	margin: 0 0 20px 0;
}

.text-content p:last-child {
    margin-bottom: 0; /* last p in .text-content has no bottom margin */
}

.text-content p:first-of-type {
   
}

.page-id-396 .text-content p:first-of-type { /* overwrites the JS first para bold */
  font-weight: normal !important;
}

.text-content a {
    font-weight:600;
	text-decoration: none;
}

.page-id-396 .text-content a {
	font-weight:400;
	color:#000;
}

.page-id-396 .text-content a:hover {
	color:#b22a2e;
}

.text-content a:hover {
   color:#000;
}

.text-content a:visited {
	color: #b22a2e;
	text-decoration: none;
}

.text-content ul {
	font-size:22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
	line-height:1.6em;
	margin: 0;
	padding-left: 21px;
}

.text-content ul {
	
}

.text-content ul ::marker {
	color:#b22a2e;
}







.find-out-more {
	max-width: 1150px;
    margin: 0 auto;
    padding: 38px 75px 0 75px;
}

.find-out-more h3 {
    font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px */
	font-weight:600;
    margin-bottom: 2px;
}

.find-out-more p {
    font-size: 22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
	line-height:1.6em;
}

.find-out-more a{
	color: #000;
}

.find-out-more a:hover {
	color: #b22a2e;
}

.contact-name,
.job-title {
    font-weight: 600;
}

.contact-info {
    display: flex;
    align-items: center;
}

.label {
    color: #b22a2e;
    font-weight: 600;
    margin-right: 5px;
}







.pullquote {
	max-width: 1150px;
    margin: 0 auto;
    padding: 35px 125px 0 125px;
}

.pullquote .quote-text {
    color: #b22a2e;
    font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px */
	line-height: 1.5em;
	font-weight:600;
    margin:0;
}

.pullquote .author {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
    margin: 0;
	font-weight: 600;
}

.pullquote .author .context {
    font-weight: normal;
}





/* TEAM MEMBERS */
.team-heading {
	color: #b22a2e;
	font-size: 38px; 
	font-size: clamp(1.625rem, 1.125rem + 1.333vw, 2.375rem); /* This text will scale between 26px at 600px and 38px at 1500px. */
	font-weight: 600;
 	max-width: 1500px;
    margin: 0 auto;
    padding: 56px 75px 0 75px;
}

.team-description {
    max-width: 1500px;
    margin: 0 auto;
    color: #000;
    padding: 16px 75px 0 75px;
	font-size: 22px;
    font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem);
	font-weight:600;
    line-height: 1.6em;
}

.team-members-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 45px;
    max-width: 1500px;
    margin: 0 auto;
	padding: 30px 75px 0 75px;
}

.team-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #f9f9f9;
}

.team-card-image {
    width: 100%;
    aspect-ratio: 3.65 / 5;
    overflow: hidden;
}

.team-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Fallback for older browsers */
@supports not (aspect-ratio: 3.65 / 5) {
    .team-card-image {
        width: 100%;
        padding-top: 125%; /* 3.65 / 5 ratio fallback */
        position: relative;
    }

    .team-card-image img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}


.team-card-text {
    padding: 23px 30px;
	min-height: 29%;
}

.team-card-text h3 {
	font-size: 32px;
	font-size: clamp(1.75rem, 1.583rem + 0.444vw, 2rem); /* This text will scale between 28px at 600px and 32px at 1500px. */
	font-weight:600;
	line-height: 1.1em;
    margin: 0;
    color: #fff;
}

.yellow .team-card-text h3, .yellow .team-card-text .description {
	color: #000;
}

.team-card-text .description {
    color: #fff;
    font-size: 32px;
	font-size: clamp(1.75rem, 1.583rem + 0.444vw, 2rem); /* This text will scale between 28px at 600px and 32px at 1500px. */
	line-height: 1.1em;
}

/* Background colors */
.team-card.orange { background-color: #e6540f; }
.team-card.red { background-color: #b22a2e; }
.team-card.yellow { background-color: #fdc42d; }






/* TESTIMONIALS */
.testimonials {
	max-width: 1050px;
    margin: 0 auto;
    padding: 35px 75px 0 75px;
}

.testimonial {
    margin-bottom: 30px;
}

.testimonial:last-child {
    margin-bottom: 0;
}

.testimonial .testimonial-text {
    font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px */
	line-height: 1.5em;
	font-weight:600;
    margin:0;
}

.testimonial:nth-child(odd) .testimonial-text {
    color: #b22a2e;
}

.testimonial:nth-child(even) .testimonial-text {
    color: #000;
}

.testimonial-credit {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
    margin: 0;
	font-weight: 400;
}

.testimonial-credit strong {
    font-weight: 600;
}








/* UPLOADS */

.uploads-section {
    max-width: 1150px;
    margin: 0 auto;
    padding: 35px 75px 0 75px;
}

.uploads-section h2 {
    font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px */
	font-weight: 600;
    color: #b22a2e;
    margin-bottom: 30px;
}

.uploads-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.upload-item {
    display: flex;
    width: 100%;
	margin-bottom: 5px;
}

.upload-icon {
	min-width: 185px;
    margin-right: 25px;
}

.upload-icon:hover {
	opacity:0.8;
	transition: 0.3s ease;
}

.upload-icon img {
    width: 100%;
    height: auto;
}

.upload-details {
    flex-grow: 1;
}

.doc-name {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
	font-weight: 600;
	line-height: 1.3em;
    display: block;
}

a .doc-name {
	color:#000;
	transition: 0.3s ease;
}

a:hover .doc-name {
	color:#b22a2e;
}

.doc-description {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
	line-height: 1.3em;
    margin-bottom: 5px;
	display: inline;
}

.doc-meta {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
	line-height: 1.3em;
}






.bullet-list-wrapper {
    max-width: 1150px;
    margin: 0 auto;
    padding: 38px 75px 0 75px;
}

.bullet-heading {
	font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px */
	font-weight: 600;
    color: #b22a2e;
    margin-bottom: 8px;
    text-align: left;
}

.bullet-list {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

.bullet-item {
    position: relative;
    margin-bottom: 2px;
    padding-left: 20px;
}

.bullet-item::before {
    content: "•";
    color:#b22a2e;
	font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
    position: absolute;
    left: 0;
}

.bullet-text {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
	font-weight:600;
    line-height: 1.6;
}

.bullet-text a{
	color: #000;
}

.bullet-text a:hover{
	color: #b22a2e;
}

.bullet-extra {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
	margin-top: -4px;
}







 /* ACCORDIONS */
.accordion {
	max-width: 1150px;
    margin: 0 auto;
    padding: 43px 75px 0 75px;
}

.heading-bar-container + .accordion {
    padding: 63px 75px 0 75px;
}

.accordion h2 {
    font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem); /* This text will scale between 22px at 600px and 27px at 1500px */
	font-weight:600;
	margin-bottom: -10px;
}

.accordion-item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
	font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
    font-weight: 600;
    cursor: pointer;
	padding: 17px 40px 17px 0;
    list-style: none;
    position: relative;
    border-top: solid 1px #000;
}

/* Remove top border from the first accordion item */
.accordion-item:first-of-type summary {
    border-top: none;
}

/* Add bottom border to the last accordion item */
.accordion-item:last-of-type {
    border-bottom: solid 1px #000;
}

.accordion-icon {
    color: #b22a2e;
    font-size: 1.2rem;
    position: absolute;
    right: 5px;
	top: 23px;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Change arrow direction and color when open */
details[open] .accordion-icon {
    transform: rotate(180deg);
    color: #000; /* Black when open */
}

.accordion-item summary::-webkit-details-marker {
    display: none;
}

.accordion-header {
    display: flex;
    align-items: flex-start; /* Changed from center */
    gap: 10px;
}

.red-bullet {
    flex-shrink: 0; /* Prevent the red bullet from shrinking */
    width: 11px;
    height: 11px;
    background: #b22a2e;
    border-radius: 50%;
    display: inline-block;
	margin-right: 6px;
	margin-top:16px;
}

.accordion-icon {
    color: #b22a2e;
    font-size: 1.2rem;
    margin-left: auto;
}

.accordion-content {
	font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
	padding: 0px 15px;
	margin: -14px 40px 14px 40px;
}

.arrow {
    border: solid #b22a2e;
    border-width: 0 6px 6px 0;
    display: inline-block;
    padding: 6px;
    transform: rotate(45deg); /* Down by default */
    transition: transform 0.3s ease, border-color 0.3s ease;
}

/* When details is open, rotate arrow to point up */
details[open] .arrow {
   transform: rotate(45deg);
    border-color: #000;
}







 /* Grid layout styles */
 .news-index-grid {
    display: flex;
    flex-wrap: wrap;
    max-width: 1500px;
    margin: 0 auto;
    padding: 75px 75px 0 75px;
    gap: 40px; /* Add this line */
}

.news-box {
    width: calc(33.3333% - 27px);
    margin: 0;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
	min-height: 380px;
}

.news-box-image {
    aspect-ratio: 3 / 2;
    background-size: cover;
    background-position: center;
    width: 100%; /* Ensure it scales responsively */
}

.news-box-content {
      padding: 21px 27px;
}


.news-box-content h2,
    .news-box-content h3,
    .news-box-content p {
      margin: 0;
	  color: #FFF;
}

.news-box-content h2, .news-box-content h3 {
	font-size: 32px;
	font-size: clamp(1.75rem, 1.583rem + 0.444vw, 2rem); /* This text will scale between 28px at 600px and 32px at 1500px. */
	font-weight:600;
	line-height:1.1em;
}

h2.news-cat {
	font-size:54px;
	font-size: clamp(2.25rem, 1.5rem + 2vw, 3.375rem); /* This text will scale between 36px at 600px and 54px at 1500px. */
	line-height:0.95em;
	margin:0;
}

.news-box-content p {
	font-size: 22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
}

.lived-experience-network .news-box-content p {
	font-weight:400;
}

.news-text-black h2, 
.news-text-black h3, 
.news-text-black p {
    color: #000 !important;
}

.news-content-stretch {
    display: flex;
    flex-direction: column;
    height: 100%; /* Ensure it fills the news-box */
}

.news-content-stretch h2.news-cat {
    flex-shrink: 0; /* Keeps h2 fixed at the top */
}

.news-meta {
    margin-top: auto; /* Pushes this div to the bottom */
}

.news-meta p {
	font-size: 32px;
	font-size: clamp(1.75rem, 1.583rem + 0.444vw, 2rem); /* This text will scale between 28px at 600px and 32px at 1500px. */
}

p.location  {
	font-weight:600;
}

.lived-experience-network  {
	  background: #aaab21;
}
	  
.vacancy {
	background: #46babd;
}  
	  
.training-opportunity {
	background: #d09dc7;
}
	  
.event {
		  background: #625e9d;
}
	   
.lived-experience-network h2, .lived-experience-network h3, .lived-experience-network p, 
.vacancy h2, .vacancy h3, .vacancy p, 
.training-opportunity h2, .training-opportunity h3, .training-opportunity p
  {
	  color: #000;
}






.search-results-container {
	max-width: 1150px;
    margin: 0 auto;
	padding: 75px 75px 0 75px;
}

.input-group {
    display: flex;
    width: 100%;
    gap: 30px;
}

.heading-bar input[type="search"] {
    flex-grow: 1;
    padding: 10px 26px;
    color: #000;
    border: none;
    border-radius: 0;
    font-size: 32px;
	font-size: clamp(1.75rem, 1.583rem + 0.444vw, 2rem); /* This text will scale between 28px at 600px and 32px at 1500px. */
    font-weight: 600;
}

.heading-bar input::placeholder {
	color:#999;
}

.input-group-append button {
    flex-shrink: 0;
    padding: 0;
    border: none;
    background: none;
    display: flex;
    align-items: center;
	cursor: pointer;
}

.input-group-append svg {
    width: 75px;
    height: 75px;
}

.input-group-append button:hover svg circle,
.input-group-append button:hover svg line {
    stroke: #fff; 
}

.input-group-append button:hover .glass {
    stroke: #ccc;
	transition: stroke 0.3s ease;
}

h1.search-header {
    margin: 0 0 20px 0;
}

.heading-bar:has(.search-header) {
	 padding-right: 250px;
}

.search-results-container .bullet-item::before {
    content: "•";
    color:#b22a2e;
	font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem); /* This text will scale between 20px at 600px and 25px at 1500px. */
    position: absolute;
    left: 0;
	top: -4px;
}

.search-results-container .bullet-item {
    position: relative;
    margin-bottom: 12px;
    padding-left: 20px;
}

.search-results-container h2 {
	font-size: 30px;
	font-size: clamp(1.375rem, 1.042rem + 0.889vw, 1.875rem); /* This text will scale between 22px at 600px and 30px at 1500px */
	font-weight: 600;
    color: #b22a2e;
	margin-bottom: 6px;
}

.search-results-container h3 {
	font-size: 22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
	font-weight:600;
    line-height: 1.6em;
    margin: 0;
}

.search-results-container h3 a{
	color: #000;
}

.search-results-container h3 a:hover{
	color: #b22a2e;
}

.search-results-container .entry-summary p {
	font-size: 22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
    line-height: 1.6em;
}

.search-results-container .entry-footer {
	display:none;
}

.search-no-results .search-results-container {
    padding-top: 45px;
}

.search-no-results .page-header h1 {
    font-size: 30px;
    font-size: clamp(1.375rem, 1.042rem + 0.889vw, 1.875rem);
    font-weight: 600;
    color: #b22a2e;
    margin-bottom: 6px;
}

.search-no-results h2, .page-content .input-group {
	display: none;
}

.search-no-results .page-content p {
	font-size: 22px;
	font-size: clamp(1.188rem, 1.063rem + 0.333vw, 1.375rem); /* This text will scale between 19px at 600px and 22px at 1500px. */
    line-height: 1.6em;
    margin: 0 0 20px 0;
}

.search-no-results .page-content p a{
	font-weight:600;
}




/* POST LIST */

.post-list-container {
	max-width: 1150px;
    margin: 0 auto;
    padding: 35px 75px 0 75px;
}

.heading-bar-container + .post-list-container {
    padding: 60px 75px 0 75px;
}

.post-list-container h2 {
	font-size: 27px;
	font-size: clamp(1.375rem, 1.167rem + 0.556vw, 1.688rem);
	font-weight:600;
	line-height: 1.4em;
	margin: 0 0 8px 0;
}


ul.post-list, ol.post-list {
   margin: 0 0 0 -1em;
}

.post-list-container ul {
    list-style-type: disc;
}

.post-list-container li::marker {
    color: #b22a2e;
}

.post-list-container li, .post-list-container summary {
    font-size: 25px;
	font-size: clamp(1.25rem, 1.042rem + 0.556vw, 1.563rem);
    line-height: 1.6;
}

.post-list-container summary {
	margin: 12px 0 0 0;
}

.post-list-container li a {
	color:#000;
}

.post-list-container li a:hover {
	 color: #b22a2e;
}

.post-list:marker {
	display:none;
}

.post-list-container:marker {
	display:none;
}

summary::-webkit-details-marker {
    display: none;
}

summary {
    list-style: none;
}

summary::marker {
    display: none;
}

summary:hover {
	cursor: pointer;
	color: #b22a2e;
}



.mobile-topnav #mega-menu-wrap-mobile-menu #mega-menu-mobile-menu > li.mega-menu-item > a.mega-menu-link { 
	font-size:10px !important;
}

.mobile-topnav a.mega-menu-link { 
	font-size:20px !important;
	font-weight: 400 !important;
}
    



 /* FORMS */

.nf-form-layout {
	margin: 30px 0 0 0;
}

.nf-before-form-content {
display: none;
}

.nf-field-element input, .nf-field-element textarea {
	background: #E5E5E5;
    padding: 10px 26px;
    color: #000;
    border: none;
    border-radius: 0;
    font-size: 32px;
	font-size: clamp(1.75rem, 1.583rem + 0.444vw, 2rem); /* This text will scale between 28px at 600px and 32px at 1500px. */
}

.nf-field-element textarea {
    height: 400px !important;
}

.nf-field-element input[type="submit"] {
	background: #b22a2e;
	color: #FFF;
	border-radius: 9px;
	padding: 24px 30px;
	margin: 12px 0 0 0;
}

.nf-field-element input[type="submit"]:hover {
	background: #000;
}





 /* MEDIA QUERIES */

@media (max-width: 1500px) {
	
.image-block, .image-block:first-of-type { 
    padding: 45px 75px 8px 75px; /* AT 1500px DESTINATION PAGE CONTENT KEEPS 75PX L & R MARGINS TO RETAIN CORRECT WIDTH, BUT HEIGHT ADJUSTS. L & R MARGIN REDUCE AT 1260px */
}
	
.heading-bar-container {
    padding: 53px 0 57px 0; 
}
	
.heading-bar-container + .text-content {
    padding: 40px 75px 0 75px;
}
	
.heading-bar {
	margin: 0 auto;
	padding: 0 20% 0 75px;
	min-width: auto;
	max-width: 1150px; 
}
		
.heading-bar:has(.search-header) {
	margin: 0 auto;
	padding: 0 20% 0 45px;
	min-width: 100%;
	max-width: 1150px; 
}	
.site-header-inner {
    padding: 45px 45px 21px 45px;
}
	
.feature-text {
    gap: 70px;
	padding:35px 45px 38px 45px;
}

.content-cards-container {
       padding: 45px 45px 0 45px;
}
	
.content-cards-container.contact-card {
	 padding: 38px 45px 0 45px;
}

.content-cards-container + .content-cards-container.contact-card { 
	 padding: 0px 45px 0 45px;
}
	
.find-out-more + .content-cards-container {
    padding: 55px 45px 0 45px;
}
	
.team-heading {
    padding: 40px 45px 0 45px;
}
	
.team-description {
    padding: 16px 45px 0 45px;
}
	
.team-members-container {
	padding: 30px 45px 0 45px;
}

.news-index-grid {
     padding: 45px 45px 0 45px;
}
	
.search-results-container {
	padding: 45px 45px 0 45px;
}
}







@media (max-width: 1260px) {
	
.nav-wrapper {
	margin: 0;
}
	
.feature-text {
    gap: 50px;
	padding:25px 45px 28px 45px;
}

.news-box {
    width: calc(50% - 23px);
}

.site-header-inner {
        padding: 40px 45px 25px 45px;
}
.bullet-list-wrapper {
    padding: 38px 45px 0 45px;
}
}


@media (max-width: 1204px) { 
	.feature-text {
    gap: 0px;
    flex-direction: column;
    align-items: flex-start;
}
	
.feature-link {
    align-self: flex-start;
 }
}


@media (max-width: 1160px) { /* this is where the 75px left and right of destination page content becomes 45px */
	
.image-block, .image-block:first-of-type { 
    padding: 45px 45px 8px 45px;
}
	
.image-block {
	width:92%;
}
	
.image-block:first-of-type {
	width:100%;
}
	
.text-content, .heading-wrapper + .text-content {
    padding: 20px 45px 0 45px;
}
	
.heading-bar-container + .heading-wrapper {
    padding: 30px 45px 0 45px;
}
	
.heading-bar {
	padding: 0 25% 0 45px;
}
	
.heading-bar-container + .text-content {
    padding: 40px 45px 0 45px;
}

.find-out-more {
    padding: 38px 45px 0 45px;
}
	
.pullquote {
    padding: 35px 100px 0 100px;
}
	
.pullquote + .text-content {
    padding: 42px 45px 0px 45px;
}
	
.uploads-section {
    padding: 35px 45px 0 45px;
}
	
.accordion {
    padding: 43px 45px 0 45px;
}

.heading-bar-container + .accordion {
    padding: 43px 45px 0 45px;
}
	
.post-list-container {
    padding: 35px 45px 0 45px;
}

.heading-bar-container + .post-list-container {
    padding: 60px 45px 0 45px;
}
	
.heading-wrapper {
    padding: 0px 35px 0 45px;
}
.image-caption {
    margin: 10px 0 20px 0;
}
}




@media (max-width: 1024px) {

.card-text {
  		padding: 25px 35px;
}
	
.pullquote {
    padding: 35px 75px 0 75px;
}
	
.team-heading {
    padding: 40px 45px 0 45px;
}
	
.team-members-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
		padding: 20px 45px 0 45px;
}

.heading-bar-container + .heading-wrapper {
    padding: 15px 45px 0 45px;
}
	
.heading-bar-container {
    padding: 38px 0 42px 0; 
}

.upload-icon {
	min-width: 20%;
    margin-right: 25px;
}
	
.uploads-section h2 {
    margin-bottom: 15px;
}
		
.news-index-grid {
    gap: 35px; /* Add this line */
}

.footer-content {
    padding: 60px 45px 40px 45px;
}
	
.team-card-text {
	min-height: 30%;
}
	
.heading-bar input[type="search"] {
    height: 60px;
}
	
.input-group-append svg {
    width: 62px;
    height: 62px;
}
	
.heading-bar:has(.search-header)	 {
		padding: 0 45px;
}
}





@media (max-width: 768px) {
	
.content-card {
        flex-direction: column;
        max-height: none;
		margin: 0 0 45px 0;
}
	
.content-card:last-child {
        flex-direction: column;
        max-height: none;
		margin: 0;
}
    
.card-image, .card-text {
        width: 100%;
        height: auto;
}
	
.team-members-container {
        grid-template-columns: 1fr;
}
	
.team-card-text {
	min-height: 15%;
}
	
.news-box {
    width: 100%;
	min-height: 280px;
}
	
.heading-bar {
	padding: 0 45px 0 45px;
}
.content-cards-container + .content-cards-container.contact-card {
        padding: 45px 45px 0 45px;
}
.site-footer {
	margin: 0;
}
	
	.site-header-inner {

    flex-direction: column;
    align-items: center;
    justify-content: center;
	}
	
	.site-branding {
		 align-items: center;
        justify-content: center;
		
	}
	
	.site-branding img {
		
	}
	

		.nav-wrapper {
        align-items: center;
        justify-content: center;
    }

	

	
	
	
	
}



@media (max-width: 576px) {
	
.feature-text {
    padding: 20px 30px;
}
		
.image-block, .image-block:first-of-type { 
    padding: 30px 30px 8px 30px; /* AT 576px DESTINATION PAGE CONTENT KEEPS L & R MARGINS GO TO 30PX, AS do vertical - adjust as needed for individual blocks */
}

.heading-bar-container {
		padding: 30px 0 36px 0;
}

.heading-bar {
	padding: 0 30px 0 30px;
}
	
.text-content, .heading-wrapper + .text-content {
    padding: 20px 30px 0 30px;
}
	
.heading-bar-container + .text-content {
    padding: 25px 30px 0 30px;
}
	
.heading-bar-container + .heading-wrapper {
    padding: 15px 30px 0 30px;
}
	
.heading-wrapper {
    padding: 0px 30px 0 30px;
}
	
.content-cards-container {
       padding: 30px 30px 0 30px;
}
	
.content-cards-container.contact-card {
	 padding: 48px 30px 0 30px;
}

.content-cards-container + .content-cards-container.contact-card { 
	 padding: 30px 30px 0 30px;
}
	
.find-out-more + .content-cards-container {
	padding: 30px 30px 0 30px;
}
	
.content-card {
    margin: 0 0 30px 0;
}
	
.card-text {
  padding: 20px 30px;
}
	
.team-card-text {
    padding: 23px 30px 26px 30px;
}
	
.image-block {
        padding: 30px 30px 0 30px;
		width:100%;
}
	
.team-heading {
    padding: 25px 30px 0 30px;
}
	
.team-description {
    padding: 12px 30px 0 30px;
}

.team-members-container {
	padding: 20px 30px 0 30px;
}

.testimonials {
    padding: 35px 50px 0 50px;
}
	
.pullquote {
	padding: 30px 30px 10px 30px;
}
	
.pullquote + .text-content {
        padding: 22px 30px 0px 30px;
}
	
.find-out-more {
    padding: 30px 30px 0px 30px;
}

.find-out-more h3 {
    margin-bottom: 0px;
}
	
.bullet-list-wrapper {
    padding: 35px 30px 0 30px;
}
	
.uploads-section {
    padding: 35px 30px 0 30px;
}	

.upload-icon {
	min-width: 18%;
    margin-right: 15px;
}

.post-list-container {
    padding: 25px 30px 0 30px;
}

.heading-bar-container + .post-list-container {
    padding: 30px 30px 0 30px;
}

.accordion {
    padding: 30px 30px 0 30px;
}

.heading-bar-container + .accordion {
    padding: 30px 30px 0 30px;
}
	
.heading-bar:has(.search-header) {
	padding: 0 30px;
}
	
.accordion-content {
    margin: -14px 0px 14px 10px;
}
	
.news-index-grid {
      padding: 30px 30px 0 30px;
}
	
.post-list-container {
    padding: 35px 30px 0 30px;
}
	
.footer-content {
    padding: 60px 30px 40px 30px;
}
	
.site-branding img {
		
}
	
.mobile-navigation {
	margin: 0 -10px 10px 0;
}
	
.search-results-container {
	padding: 30px 30px 0 30px;
}
	
.site-footer {
	margin: 0;
}
	
.site-header-inner {
        padding: 30px 30px 18px 30px;
		display:flex;
}
	
.site-branding {
		align-items: center;
		justify-content: center;
}
	
.nav-wrapper {
		align-items: center;
		justify-content: center;
}
	
.upload-icon {
	display: none;
}

.nf-field-element input, .nf-field-element textarea {
    font-size: 16px;
}
	
.input-group {
    gap: 12px;
}
	
.heading-bar input[type="search"] {
    font-size: 16px;
	 padding: 10px 14px;
}
	
.nf-field-element input, .nf-field-element textarea {
    padding: 10px 14px;
}

.mob {
	margin-top: 20px;
}
.search-no-results .search-results-container {
    padding-top: 10px;
}
}


@media (max-width: 432px) {
	
	.site-header-inner {
		align-items: flex-start;
	}
	
}





/* Hide mobile menu by default */
.mobile-navigation {
    display: none;
}



.edit-link {
	display:none;
}




.acf-repeater .acf-row-handle.order {
    background: #2196F3 !important;
}