.elementor-kit-7{--e-global-color-primary:#5C86EE;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#9DCBFF;--e-global-color-d7486ea:#F6AA40;--e-global-color-8f0eb2d:#D24A5A;--e-global-color-352596c:#7A4BD9;--e-global-color-e74ad8e:#1A1A1A;--e-global-color-908bf72:#1D2A57;--e-global-color-17c65ef:#1A1A1A;--e-global-color-833fedf:#2A886B;--e-global-color-e8af512:#CFF0AB;--e-global-color-5a42631:#C2A8FF;--e-global-color-dc419a4:#FFA8B2;--e-global-color-48d21ee:#F5F5F5;--e-global-typography-primary-font-family:"canada-type-gibson";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"canada-type-gibson";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"canada-type-gibson";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"canada-type-gibson";--e-global-typography-accent-font-weight:500;color:#000000;font-family:"canada-type-gibson", Sans-serif;font-size:1.25rem;font-weight:300;font-style:normal;line-height:1.5;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#5C86EE;font-weight:600;}.elementor-kit-7 h1{font-family:"canada-type-gibson", Sans-serif;font-size:3.5rem;font-weight:600;line-height:1.16;}.elementor-kit-7 h2{font-family:"canada-type-gibson", Sans-serif;font-size:3rem;font-weight:600;line-height:1.15;}.elementor-kit-7 h3{font-family:"canada-type-gibson", Sans-serif;font-size:2rem;font-weight:600;font-style:normal;line-height:1.15;}.elementor-kit-7 h4{font-family:"canada-type-gibson", Sans-serif;font-size:1.5rem;font-weight:600;font-style:normal;line-height:1.25;}.elementor-kit-7 h5{font-family:"canada-type-gibson", Sans-serif;font-size:1.5rem;font-weight:400;font-style:normal;line-height:1.2;}.elementor-kit-7 h6{font-family:"canada-type-gibson", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1075px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7 h1{font-size:2.5rem;line-height:1.25em;}.elementor-kit-7 h2{font-size:2.25rem;line-height:1.25em;}.elementor-kit-7 h3{line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --dark-blue:#1D2A57; --White:#ffffff; --Blue:#5C86EE; --light-blue:rgba(92, 134, 238, 0.8); --white-hover:#ffffffe6; --gray-hover:#e8e8e8; --DUP_dark-blue:#1D2A57; --DUP_White:#ffffff; --DUP_dark-blue1:#1D2A57; --DUP_White1:#ffffff; --DUP_dark-blue2:#1D2A57; --DUP_White2:#ffffff; --DUP_dark-blue3:#1D2A57; --DUP_White3:#ffffff; --DUP_White4:#ffffff; --DUP_dark-blue4:#1D2A57; --DUP_White5:#ffffff; --DUP_dark-blue5:#1D2A57; --DUP_White6:#ffffff; --DUP_Blue:#5C86EE; --DUP_light-blue:rgba(92, 134, 238, 0.8); --DUP_dark-blue6:#1D2A57; --DUP_white-hover:#ffffffe6; --DUP_gray-hover:#e8e8e8; --DUP_White7:#ffffff; --DUP_Blue1:#5C86EE; --DUP_light-blue1:rgba(92, 134, 238, 0.8); --DUP_White8:#ffffff; --DUP_Blue2:#5C86EE; --DUP_light-blue2:rgba(92, 134, 238, 0.8); --DUP_White9:#ffffff; --DUP_Blue3:#5C86EE; --DUP_light-blue3:rgba(92, 134, 238, 0.8); --DUP_White10:#ffffff; --DUP_dark-blue7:#1D2A57; --DUP_White11:#ffffff; --DUP_Blue4:#5C86EE; --DUP_light-blue4:rgba(92, 134, 238, 0.8); --DUP_dark-blue8:#1D2A57; --DUP_White12:#ffffff; --DUP_dark-blue9:#1D2A57; --DUP_White13:#ffffff; --DUP_dark-blue10:#1D2A57; --DUP_White14:#ffffff; --DUP_dark-blue11:#1D2A57; --DUP_White15:#ffffff; --DUP_White16:#ffffff; --DUP_dark-blue12:#1D2A57; --DUP_dark-blue13:#1D2A57; --DUP_White17:#ffffff; --DUP_dark-blue14:#1D2A57; --DUP_White18:#ffffff; --DUP_White19:#ffffff; --DUP_dark-blue15:#1D2A57; }
/* Start custom CSS *//* ============================================================
   Typography — rem-based (root font-size assumed 16px)
   Conversion: px ÷ 16 = rem  |  line-height = LH px ÷ font-size px (unitless)
   Colors not specified in the style guide — add per element as needed.
   Weights: Regular = 400, Light = 300, SemiBold = 600
   ========================================================
 
/* Heading 1 — Gibson SemiBold */
h1 {
  font-family: Gibson;
  font-size: 3.5rem;      /* 56px */
  font-style: normal;
  font-weight: 600;
  line-height: 1.16;      /* 65px ÷ 56 */
  letter-spacing: 0;
}
 
/* Heading 2 — Gibson SemiBold */
h2 {
  font-family: Gibson;
  font-size: 3rem;        /* 48px */
  font-style: normal;
  font-weight: 600;
  line-height: 1.15;      /* 55px ÷ 48 */
  letter-spacing: 0;
}
 
/* Heading 3 — Gibson SemiBold */
h3 {
  font-family: Gibson;
  font-size: 2rem;        /* 32px */
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;      /* 40px ÷ 32 */
  letter-spacing: 0;
}
 
/* Heading 4 — Gibson SemiBold */
h4 {
  font-family: Gibson;
  font-size: 1.5rem;      /* 24px */
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;      /* 30px ÷ 24 */
  letter-spacing: 0;
}
 
/* Heading 5 — Gibson Regular */
h5 {
  font-family: Gibson;
  font-size: 1.5rem;      /* 24px */
  font-style: normal;
  font-weight: 400;
  line-height: 1.25;      /* 30px ÷ 24 */
  letter-spacing: 0;
}
 
/* Paragraph Large — Gibson Regular */
.paragraph-large {
  font-family: Gibson;
  font-size: 1.25rem;     /* 20px */
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;       /* 32px ÷ 20 */
  letter-spacing: 0;
}
 
/* Paragraph Small — Gibson Regular */
.paragraph-small {
  font-family: Gibson;
  font-size: 1rem;        /* 16px */
  font-style: normal;
  font-weight: 400;
  line-height: 1.75;      /* 28px ÷ 16 */
  letter-spacing: 0;
}
 
/* Call to Action — Gibson SemiBold */
.cta {
  font-family: Gibson;
  font-size: 1.25rem;     /* 20px */
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;       /* 28px ÷ 20 */
  letter-spacing: 0;
}




/* ---- Mobile (≤ 767px) ---- */
@media (max-width: 767px) {
  h1 { font-size: 2.375rem; }    /* 38px */
  h2 { font-size: 2.1875rem; }   /* 35px */
  h3 { font-size: 1.625rem; }    /* 26px */
  h4 { font-size: 1.5rem; }      /* 24px */
}



/* ============================================================
  ---------- Impact Stat Counter: shared styles ----------  <
   ============================================================ */

/* Number */
:is(.impact-stat, .impact-stat-left) .elementor-counter-number,
:is(.impact-stat, .impact-stat-left) .elementor-counter-number-prefix,
:is(.impact-stat, .impact-stat-left) .elementor-counter-number-suffix {
	color: #F6AA40;
	font-size: 60px;
	font-style: normal;
	font-weight: 600;
	line-height: 115%; /* 69px */
	letter-spacing: -1.4px;
}

/* Description */
:is(.impact-stat, .impact-stat-left) .elementor-counter-title {
	color: #000 !important;
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.3em !important;
}

/* ---------- Left-aligned variant ---------- */

/* Description: left */
.impact-stat-left .elementor-counter-title {
	text-align: left !important;
	justify-content: flex-start !important; /* newer Elementor renders the title as flex */
}

/* Number: left (Elementor centers it with flex-grow on prefix/suffix) */
.impact-stat-left .elementor-counter-number-wrapper {
	justify-content: flex-start !important;
}
.impact-stat-left .elementor-counter-number-prefix {
	flex-grow: 0 !important;
}
.impact-stat-left .elementor-counter-number-suffix {
	flex-grow: 1 !important;
	text-align: left !important;
}

/* ---------- Mobile (≤767px) ---------- */
@media (max-width: 767px) {

	/* Number */
	:is(.impact-stat, .impact-stat-left) .elementor-counter-number,
	:is(.impact-stat, .impact-stat-left) .elementor-counter-number-prefix,
	:is(.impact-stat, .impact-stat-left) .elementor-counter-number-suffix {
		font-size: 35px;
		line-height: 115%; /* 40.25px */
		letter-spacing: -0.7px;
	}

	/* Description */
	:is(.impact-stat, .impact-stat-left) .elementor-counter-title {
		font-size: 16px;
		line-height: 1.2em !important;
	}
}



/* Center everything on the flip box front layer */
.centered-flip-box .elementor-flip-box__layer__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

/* Center the image itself */
.centered-flip-box .elementor-flip-box__image {
	width: 100%;
	text-align: center;
}

.centered-flip-box .elementor-flip-box__image img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Shadow on the faces that actually rotate, so it flips with the card */
.centered-flip-box .elementor-flip-box__front,
.centered-flip-box .elementor-flip-box__back {
	box-shadow: 0 4px 23.6px 0 rgba(0, 0, 0, 0.11);
}

/* Let the container show the layer shadows instead of clipping them */
.centered-flip-box .elementor-flip-box {
	overflow: visible;
}





/* ============================================================
   underline-link — Elementor Button widgets + plain text links
   Underline VISIBLE at rest, re-wipes on hover.
   Modifiers: add "large" (20px), add "white".
   >>> This ONE block replaces all previous underline-link CSS. <
   ============================================================ */
:root { --ulink-color: #1D2A57; }

@keyframes underlineLinkReveal {
	0%   { background-size: 0% 1px; }
	100% { background-size: 100% 1px; }
}

/* strip the Elementor button chrome so it reads as a text link */
.underline-link .elementor-button {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	min-height: 0 !important;
}

/* underline lives on the text (button widget) or the link itself (plain link) */
.underline-link .elementor-button .elementor-button-text,
a.underline-link:not(.elementor-button) {
	color: var(--ulink-color) !important;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	padding-bottom: 4px;
	background-image: linear-gradient(currentColor, currentColor) !important;
	background-repeat: no-repeat !important;
	background-position: 0 100% !important;
	background-size: 100% 1px;            /* persistent underline; not !important so hover can wipe */
}

/* re-wipe from the left on hover / focus */
.underline-link .elementor-button:hover .elementor-button-text,
.underline-link .elementor-button:focus-visible .elementor-button-text,
a.underline-link:not(.elementor-button):hover,
a.underline-link:not(.elementor-button):focus-visible {
	animation: underlineLinkReveal .35s ease forwards;
}

/* large modifier — 20px */
.underline-link.large .elementor-button .elementor-button-text,
a.underline-link.large:not(.elementor-button) {
	font-size: 20px !important;
}

/* white modifier — white text drives a white underline */
.underline-link.white .elementor-button .elementor-button-text,
a.underline-link.white:not(.elementor-button) {
	color: #FFFFFF !important;
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.underline-link .elementor-button:hover .elementor-button-text,
	.underline-link .elementor-button:focus-visible .elementor-button-text,
	a.underline-link:not(.elementor-button):hover,
	a.underline-link:not(.elementor-button):focus-visible {
		animation: none !important;
	}
}




.background-with-shadow {
    box-shadow: 0 4px 23.6px 0 rgba(0, 0, 0, 0.11);
    border-radius:  10px;
    padding: 30px;
}


/* ============================================================
   FAST LINK — underlined by default, line hides + redraws on hover
   Add class "fast-link" to the Text Editor widget (Advanced > CSS Classes)
   Don't use the editor's U button — the underline comes from here.
   ============================================================ */
@keyframes fastLinkReveal{
  0%   { background-size:0% 2px; }
  100% { background-size:100% 2px; }
}

.fast-link a{
  color:#5C7CFA !important;
  font-weight:600;
  text-decoration:none !important;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 2px;
  padding-bottom:2px;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.fast-link a u{ text-decoration:none !important; } /* in case an old <u> is still in there */

.fast-link a:hover,
.fast-link a:focus-visible{
  color:#5C7CFA !important;
  animation:fastLinkReveal .35s ease;
}
.fast-link a:focus-visible{ outline:2px solid currentColor; outline-offset:3px; }

@media (prefers-reduced-motion: reduce){
  .fast-link a{ animation:none !important; }
}


/* ============================================================
   Sub Nav Links
   ============================================================ */


/* When logged into WordPress, the 32px admin bar pushes the sticky header down —
   nudge the sticky subnav down by the same amount so it doesn't sit too high. */
@media (min-width: 783px) {
	body.admin-bar .elementor-sticky--active:has(.sub-nav-links) {
		top: calc(var(--subnav-sticky-top) + 32px) !important;
	}
}


/* Where the subnav parks when sticky — one global knob */
:root { --subnav-sticky-top: 110px; }              /* desktop */

@media (max-width: 767px) {
	:root { --subnav-sticky-top: 89px; }           /* mobile */
}

.elementor-sticky--active:has(.sub-nav-links) {
	top: var(--subnav-sticky-top) !important;
}


.sub-nav-links a {
    text-decoration: none !important;
}

/* click-jump offset: clear the sticky header + subnav */
html { scroll-padding-top: 150px; }   /* = header height + subnav height; tweak to taste */

@media (min-width: 1076px) {
	/* off by default (cancels the always-on aria-current underline) */
	.sub-nav-links .e-n-menu-item:has([aria-current]) .e-n-menu-title-text::after {
		transform: scaleX(0);
	}
	/* show on hover */
	.sub-nav-links .e-n-menu-title:hover .e-n-menu-title-text::after,
	.sub-nav-links .e-n-menu-item:has([aria-current]) .e-n-menu-title:hover .e-n-menu-title-text::after {
		transform: scaleX(1);
	}
	/* show on the active section (set by the script below) */
	.sub-nav-links .e-n-menu-item.anchor-active .e-n-menu-title-text::after {
		transform: scaleX(1);
	}
}





/* ============================================================
   Flip box button — "underline-link large"
   Underline shows at rest, re-wipes on hover, never fills.
   ============================================================ */
.centered-flip-box .elementor-flip-box__button.elementor-button,
.centered-flip-box .elementor-flip-box__button.elementor-button:hover,
.centered-flip-box .elementor-flip-box__button.elementor-button:focus,
.centered-flip-box .elementor-flip-box__button.elementor-button:focus-visible,
.centered-flip-box .elementor-flip-box__button.elementor-button:active {
	color: #1D2A57 !important;
	background-color: transparent !important;
}

.centered-flip-box .elementor-flip-box__button.elementor-button {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 0 2px !important;
	min-height: 0 !important;
	width: auto;
	align-self: center;

	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;

	background-image: linear-gradient(currentColor, currentColor) !important;
	background-repeat: no-repeat !important;
	background-position: 0 100% !important;
	background-size: 100% 1px;                       /* visible at rest — 1px line */
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.centered-flip-box .elementor-flip-box__button.elementor-button:hover,
.centered-flip-box .elementor-flip-box__button.elementor-button:focus-visible {
	animation: flipBtnReveal .35s ease forwards;    /* re-wipe; "forwards" is what stops the fill */
}

@keyframes flipBtnReveal {
	0%   { background-size: 0% 1px; }
	100% { background-size: 100% 1px; }
}





/* ============================================================
   FAST MEGA MENU  —  full stylesheet  (CANONICAL BASE)
   Desktop ≥1076 | Tablet 768–1075 | Mobile ≤767
   ============================================================ */
:root{ --menu-top-offset: 0px; }

@keyframes menuLinkReveal{
  0%{ background-size:0% 1px; }
  100%{ background-size:100% 1px; }
}

/* ---- BASE (all screens) ---- */
.menu-link-column { padding-left: 15px; }
.menu-link { color:#1D2A57; font-weight:600; font-size:16px !important; }
.menu-link, .menu-link a, .menu-link a:hover{ border:none !important; }

.menu-link a{
  display:inline;
  text-decoration:none;
  line-height:1.3 !important;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 1px;
  padding-bottom:2px;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.menu-link a:hover,
.menu-link a:focus-visible{ animation:menuLinkReveal .35s ease; }
.menu-link a:focus-visible{ outline:2px solid currentColor; outline-offset:3px; }

.menu-link-description { padding-top:3px; font-size:14px; line-height:1.4em; color:#333333 !important; }
.menu-column { padding-right:20px; }
.menu-column-title { color:#5C7CFA; font-size:18px; font-weight:600; text-wrap:pretty; 
    text-decoration: none !important;
}

.menu-column-title a { 
    text-decoration: none !important;
}

.menu-sidebar-title { color:#1D2A57 !important; font-size:18px !important; font-weight:600 !important; line-height:24px !important; }
.menu-dropdown-item { padding-left:40px; padding-right:40px; }
.menu-main-column { padding:30px; background-color:#ffffff; }
.menu-sidebar { background-color:#F5F5F5 !important; }
.dropdown-menu-title h2{ margin-bottom:0px; font-size:24px !important; font-weight:600; line-height:115%; }
.menu-sidebar-cta { font-size:16px; font-weight:600; }

.menu-thumbnail { min-height:190px !important; }


.e-n-menu-item:has(#menu-btn-fundraise),
.e-n-menu-item:has(#menu-btn-donate){ display:none !important; }

@media (prefers-reduced-motion: reduce){
  .menu-link a{ animation:none !important; }
}

/* ============================================================
   DESKTOP ONLY (1076 and up)
   ============================================================ */
@media (min-width:1076px){
  .elementor-widget-n-menu .e-n-menu-dropdown-icon{ display:none !important; }
  .e-n-menu-title-text{ position:relative; }
  .e-n-menu-title-text::after{
    content:"";
    position:absolute; left:0; top:100%; margin-top:4px;
    width:100%; height:2px; background:currentColor;
    transform:scaleX(0); transform-origin:left;
    transition:transform .3s ease; pointer-events:none;
  }
  .e-n-menu-title:hover .e-n-menu-title-text::after,
  .e-n-menu-item[class*="current"] .e-n-menu-title-text::after,
  .e-n-menu-item:has([aria-current]) .e-n-menu-title-text::after{
    transform:scaleX(1);
  }
}

/* ============================================================
   TABLET + MOBILE (1075 and down) — full-screen collapsed menu
   ============================================================ */
@media (max-width:1075px){

  html:has(.e-n-menu-toggle[aria-expanded="true"]){ overflow:hidden !important; }

  .elementor-widget-n-menu{
    order:99 !important;
    flex:0 0 auto !important;
    width:auto !important;
    margin-left:12px !important;
  }
  .elementor-widget-n-menu .e-n-menu{ width:auto !important; }
  .elementor-widget-n-menu .e-n-menu-wrapper{
    position:fixed !important;
    top:var(--menu-top-offset,0px) !important;
    left:0 !important; right:0 !important; bottom:0 !important;
    width:100% !important; height:auto !important; max-height:none !important;
    background:#1D2A57 !important; overflow-y:auto !important;
    padding:24px 16px 16px !important; z-index:9990 !important;
  }
  
  
  .elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"]{
    position:fixed !important;
    top:calc(var(--menu-top-offset,0px) + 43px) !important;
    right:35px !important;
    z-index:10000 !important;
  }

  /* dropdown panel: ignore Elementor's --stretch-width (full viewport),
     fit inside the wrapper's 16px side padding so it's centered */
  .elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content{
    width:100% !important;
    left:auto !important;
    right:auto !important;
  }
  .elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content > .e-con{
    width:100% !important;
    max-width:100% !important;
    margin-inline:0 !important;
  }

  /* let the whole overlay scroll — kill Elementor's max-height + inner scroll on the open dropdown */
  .elementor-widget-n-menu .e-n-menu-content,
  .elementor-widget-n-menu .e-n-menu-content > .e-con{
    max-height:none !important;
    height:auto !important;              /* stop the flex overlay squeezing the panel to screen height */
    min-height:min-content !important;   /* (otherwise content spills over the links below) */
    overflow:visible !important;
  }

  /* nav rows: white, left-aligned, with breathing room */
  .elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title{
    background:transparent !important;
    justify-content:flex-start !important;
    gap:8px;
    padding-top:15px !important;      /* row spacing — tune */
    padding-bottom:15px !important;
  }

  .e-n-menu-heading{ flex-flow:row wrap !important; gap:0 !important; justify-content:flex-start !important; background:transparent !important; }
  .e-n-menu-item{ width:100% !important; background:transparent !important; border-bottom:1px solid rgba(255,255,255,.12); }
  .e-n-menu-title-text{ color:#ffffff !important; font-size:16px !important; font-weight:600 !important; }
  .e-n-menu-dropdown-icon svg{ fill:#ffffff !important; width:16px; height:16px; }
  .menu-dropdown-item{ background-color:#1D2A57 !important; padding:12px !important; }
  .menu-dropdown-item > div{ flex-direction:column !important; }
  .menu-main-column, .menu-sidebar{ width:100% !important; }
  .menu-main-column > div:has(> .menu-column){ flex-direction:column !important; }
  .menu-column{ width:100% !important; padding-bottom:28px !important; }
  .menu-column:last-child{ padding-bottom:0 !important; }
  .menu-thumbnail{ min-height:300px !important; }
}

/* ============================================================
   MOBILE ONLY (767 and down) — Fundraise / Donate buttons
   ============================================================ */
@media (max-width:767px){
  .e-n-menu-item:has(#menu-btn-fundraise),
  .e-n-menu-item:has(#menu-btn-donate){
    display:block !important;
    width:calc(50% - 30px) !important;
    padding:8px 6px !important;
    border-bottom:0 !important;
  }
  #menu-btn-fundraise, #menu-btn-donate{
    justify-content:center !important;
    border-radius:8px !important;
    padding:12px 16px !important;
  }
  #menu-btn-fundraise{ background:transparent !important; border:2px solid #ffffff !important; }
  #menu-btn-donate{ background:#5C7CFA !important; }
  #menu-btn-fundraise .e-n-menu-title-text,
  #menu-btn-donate   .e-n-menu-title-text{ color:#ffffff !important; }
  #menu-btn-fundraise .e-n-menu-dropdown-icon,
  #menu-btn-donate   .e-n-menu-dropdown-icon{ display:none !important; }
  .menu-thumbnail{ min-height:160px !important; }
}




/* 
============================================================
   ICON PADDING BOTTOM
   ========================================================
*/

.icon-padding {
    padding-bottom:15px;
}



/* 
============================================================
   ELEMENTOR CONTAINER PADDING 
   ========================================================
*/

.cta-bar-with-button {
      padding-top: 15px !important;
  padding-right: 15px !important;
  padding-left: 15px !important;
  padding-bottom: 15px !important;
}

.cta-bar-with-button-container {
    width: inherit;
}

.container-pad {
    padding-left: 30px;
    padding-right: 30px;
}


.inside-column-padding {
 padding:30px;   
}

.internal-hero {
  padding-top: 180px !important;
  padding-right: 30px !important;
  padding-left: 30px !important;
  padding-bottom: 65px !important;
  background: radial-gradient(90.43% 87.19% at 50% 110%, #06B0EF 0%, #043F6D 64.62%, #031B45 100%) !important;

}

.site-padding {
  padding-top: 80px !important;
  padding-right: 30px !important;
  padding-left: 30px !important;
  padding-bottom: 80px !important;
}

@media (max-width: 767px) {
  .internal-hero {
    padding-top: 130px !important;
    padding-bottom: 45px !important;
  }
  .site-padding {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}





/* 
============================================================
   Latest News Blog Card Styling 
   ========================================================
*/


/* ===== POST TITLE ===== */
.e-loop-item .elementor-widget-theme-post-title .elementor-heading-title{
  font-size:24px;
  line-height:30px;
  font-weight:400;
}
.e-loop-item .elementor-widget-theme-post-title .elementor-heading-title a{
  text-decoration:none;
  border-bottom:none;
}

/* ===== DESCRIPTION / EXCERPT ===== */
.e-loop-item .elementor-widget-theme-post-excerpt{
  font-size:16px;
  line-height:1.5;
  font-weight:400;
}

/* ===== DATE ===== */
.e-loop-item .elementor-widget-post-info .elementor-post-info__item--type-date{
  font-size:14px;
  font-weight:600;
  line-height:1.6;
}


/* Title underline on card hover */
.e-loop-item .card-inner:hover .elementor-widget-theme-post-title .elementor-heading-title a{
  text-decoration:underline;
}


/* ===== Category pill ===== */
.elementor-kit-7 .elementor-post-info__item--type-terms{
  display:inline-block;
  padding:4px 14px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1.6;
}

/* ===== Card frame + inset colored top stripe ===== */
.elementor-kit-7 .e-loop-item{border:none;}
.elementor-kit-7 .e-loop-item .card-inner{
  border:1px solid #5D5D5D;
  border-radius:12px;
  position:relative;
  overflow:hidden;
}
.elementor-kit-7 .e-loop-item .card-inner::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:7px;
  z-index:2;
}

/* ===== Per-category colors: stripe + pill ===== */
.elementor-kit-7 .e-loop-item.category-research .card-inner::before{background:#2A886B;}
.elementor-kit-7 .e-loop-item.category-research .elementor-post-info__item--type-terms{background:#2A886B;}

.elementor-kit-7 .e-loop-item.category-families .card-inner::before{background:#5C86EE;}
.elementor-kit-7 .e-loop-item.category-families .elementor-post-info__item--type-terms{background:#5C86EE;}

.elementor-kit-7 .e-loop-item.category-industry .card-inner::before{background:#7A4BD9;}
.elementor-kit-7 .e-loop-item.category-industry .elementor-post-info__item--type-terms{background:#7A4BD9;}

.elementor-kit-7 .e-loop-item.category-advocacy .card-inner::before{background:#F6AA40;}
.elementor-kit-7 .e-loop-item.category-advocacy .elementor-post-info__item--type-terms{background:#F6AA40;}

.elementor-kit-7 .e-loop-item.category-about-fast .card-inner::before{background:#20357D;}
.elementor-kit-7 .e-loop-item.category-about-fast .elementor-post-info__item--type-terms{background:#20357D;}

.elementor-kit-7 .e-loop-item.category-fundraising .card-inner::before{background:#D9534F;}
.elementor-kit-7 .e-loop-item.category-fundraising .elementor-post-info__item--type-terms{background:#D9534F;}





/* ==========================================================================
   FAST — Breadcrumb Navigation (Breadcrumb NavXT)
   --------------------------------------------------------------------------
   Styles the breadcrumb trail output by the Breadcrumb NavXT plugin,
   rendered via the [my_breadcrumb] shortcode inside an Elementor
   Shortcode widget (.elementor-shortcode).

   Separator note: the blue "/" divider requires the NavXT separator field
   (Settings → Breadcrumb NavXT → General) to be set to:
       <span class="bcn-sep">/</span>
   Plain "/" text alone cannot be colored via CSS.

   Last updated: 2026-08-06
   ========================================================================== */

/* Crumb text + links — white, no underline */
.elementor-shortcode a,
.elementor-shortcode span[property="name"] {
    color: #ffffff;
    text-decoration: none;
}

/* Link hover — subtle light-blue with underline for affordance */
.elementor-shortcode a:hover {
    color: #cfe0ff;
    text-decoration: underline;
}

/* "/" divider between crumbs — blue, matches brand accent */
.elementor-shortcode .bcn-sep {
    color: #6ea8ff;      /* light blue divider */
    padding: 0 0.4em;    /* breathing room on both sides */
    font-weight: 400;
}

/* ==========================================================================
   FAST — Gradient Hero Background
   ---------------------------------------
   ========================================================================== */

.gradient-hero {
    background: radial-gradient(90.43% 87.19% at 50% 110%, #06B0EF 0%, #043F6D 64.62%, #031B45 100%) !important;
    border-radius: 0px;
}




/* =========================================
   FAST Testimonial Slider (.fast-testimonial)
   ========================================= */

/* Quote */
.elementor-widget.fast-testimonial .elementor-testimonial__text {
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-size: clamp(1.125rem, 1rem + 0.6vw, 1.5rem); /* 18px → 24px */
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  color: #1f2a37;
  margin-bottom: 1.5rem;
}

/* Cite wrapper */
.elementor-widget.fast-testimonial .elementor-testimonial__cite {
  display: block;
  font-style: normal;
}

/* Name */
.elementor-widget.fast-testimonial .elementor-testimonial__name {
  font-family: var(--e-global-typography-primary-font-family), sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.2vw, 1rem); /* 14px → 16px */
  font-weight: 400;
  line-height: 1.2em !important;
  letter-spacing: 0.02em;
  color: #1f2a37;
}

/* Title (if used) */
.elementor-widget.fast-testimonial .elementor-testimonial__title {
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  color: #5b6672;
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-widget.fast-testimonial .elementor-testimonial__text {
    line-height: 1.45;
  }
}

/* Mobile: image stacks on top, full width */
@media (max-width: 767px) {
  .elementor-widget.fast-testimonial .elementor-testimonial {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .elementor-widget.fast-testimonial .elementor-testimonial__footer {
    width: 100%;
    padding: 0;
    margin: 0 0 1.25rem;
  }

  .elementor-widget.fast-testimonial .elementor-testimonial__content {
    padding: 0;
    margin: 0;
  }

  .elementor-widget.fast-testimonial .elementor-testimonial__text {
    margin-bottom: 1rem;
  }

  .elementor-widget.fast-testimonial .elementor-testimonial__image {
    width: 100%;
  }

  .elementor-widget.fast-testimonial .elementor-testimonial__image img {
    width: 100% !important;
    height: auto !important;
    max-width: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0;
  }
}






/* ==========================================================================
   FAST — Gradient Button
   ---------------------------------------
   ========================================================================== */


.btn-gradient-outline .elementor-button,
.btn-gradient-outline a.elementor-button {
    position: relative;
    padding: 14px 22px !important;
    border: 3px solid transparent !important;
    border-radius: 5px !important;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #3B4DD8, #8FA8F0) border-box !important;
    color: #1D2A57 !important;
    background-clip: padding-box, border-box !important;
}

.btn-gradient-outline .elementor-button:hover,
.btn-gradient-outline a.elementor-button:hover {
    background:
        linear-gradient(90deg, #3B4DD8, #8FA8F0) padding-box,
        linear-gradient(90deg, #3B4DD8, #8FA8F0) border-box !important;
    color: #fff !important;
}




/* ============================================
   FAST — Left tabs
   ============================================ */
.fast-left-tabs .e-n-tabs-heading {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 32%;
}
.fast-left-tabs .e-n-tab-title {
    background-color: #F2F2F5 !important;
    color: #8A8A93 !important;
    border-radius: 12px !important;
    padding: 22px 24px !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    border: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease !important;
}
.fast-left-tabs .e-n-tab-title:hover {
    background-color: #E8E8EC !important;
}
.fast-left-tabs .e-n-tab-title[aria-selected="true"] {
    background-color: #5C86EE
 !important;
    color: #FFFFFF !important;
    box-shadow: 0 8px 20px rgba(108, 121, 232, 0.35) !important;
}
.fast-left-tabs .e-n-tab-title[aria-selected="true"]:hover {
    background-color: #5C86EE
 !important;
}


/* ============================================
   FAST — Peek carousel
   ============================================ */
body:not(.elementor-editor-active) .fast-peek-carousel {
    opacity: 0;
    transition: opacity 0.4s ease;
}
body:not(.elementor-editor-active) .fast-peek-carousel.peek-ready {
    opacity: 1;
}
.fast-peek-carousel .swiper-slide,
.fast-peek-carousel .elementor-testimonial {
    opacity: 0.3 !important;
    transition: opacity 0.45s ease !important;
}
.fast-peek-carousel .swiper-slide-active,
.fast-peek-carousel .swiper-slide-active .elementor-testimonial {
    opacity: 1 !important;
}
.fast-peek-carousel .elementor-testimonial {
    padding-left: 30px !important;
    padding-right: 30px !important;
}
.fast-peek-carousel .elementor-swiper-button-prev.swiper-button-disabled,
.fast-peek-carousel .elementor-swiper-button-next.swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}
@media (min-width: 1025px) {
    .fast-peek-carousel .elementor-swiper-button-prev {
        left: 22% !important;
        right: auto !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
    .fast-peek-carousel .elementor-swiper-button-next {
        right: 22% !important;
        left: auto !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}




/* ============================================================
   FAST TIMELINE — Program History page  (/timeline/)
   Fully class-driven: per-element Elementor style settings can be reset.

   KEEP in Elementor (layout, not style):
     - every container: Content Width = Full Width (boxed adds an .e-con-inner wrapper)
     - the icon choice on each Icon widget
     - the text content
   Classes:
     .fast-timeline-label   "Timeline:" heading
     .fast-timeline         container holding all rows   (REQUIRED — sets the shared sizes)
     .timeline-item         each row
     .timeline-rail         left column  (circle + line)
     .timeline-circle       circle container  (icon inside needs no class)
     .timeline-line         empty container = the vertical line
     .timeline-content      right column
     .timeline-year         Heading widget
     .timeline-text         Text Editor widget
   ============================================================ */

.fast-timeline{
  --tl-circle: 46px;
  --tl-gap: 22px;
  --tl-icon-size: 20px;
  --tl-line: #D9D9D9;
  --tl-icon: #5C7CFA;
  --tl-pad-top: 11px;     /* centers the year on the circle */
  --tl-pad-bottom: 28px;  /* space between entries */

  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
}

/* "Timeline:" label */
.fast-timeline-label{ margin: 0 0 18px !important; text-align: left; }
.fast-timeline-label .elementor-heading-title{
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #111111 !important;
}

/* ---- ROW ---- */
.fast-timeline .timeline-item{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: var(--tl-gap) !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.history-column {
    padding-right:50px;
}

/* ---- RAIL (circle + line) ---- */
.fast-timeline .timeline-rail{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 0 0 var(--tl-circle) !important;
  width: var(--tl-circle) !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.fast-timeline .timeline-circle{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: var(--tl-circle) !important;
  height: var(--tl-circle) !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid var(--tl-line) !important;
  border-radius: 50% !important;
}
.fast-timeline .timeline-circle > .elementor-widget{ width: auto !important; margin: 0 !important; }
.fast-timeline .timeline-circle .elementor-icon-wrapper{ line-height: 0 !important; text-align: center !important; }
.fast-timeline .timeline-circle .elementor-icon{
  display: inline-flex !important;
  font-size: var(--tl-icon-size) !important;
  color: var(--tl-icon) !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.fast-timeline .timeline-circle .elementor-icon svg{
  width: var(--tl-icon-size) !important;
  height: var(--tl-icon-size) !important;
  fill: var(--tl-icon) !important;
}
.fast-timeline .timeline-line{
  flex: 1 1 auto !important;
  width: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--tl-line) !important;
}

/* ---- CONTENT ---- */
/* flex 1 1 0 + min-width 0 = fills the rest of the row and can shrink (fixes the overflow) */
.fast-timeline .timeline-content{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  width: auto !important;
  min-width: 0 !important;
  gap: 4px !important;
  padding: var(--tl-pad-top) 0 var(--tl-pad-bottom) !important;
  margin: 0 !important;
}
.fast-timeline .timeline-content > .elementor-widget{ margin: 0 !important; width: 100% !important; }

.fast-timeline .timeline-year .elementor-heading-title{
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #111111 !important;
}
.fast-timeline .timeline-text,
.fast-timeline .timeline-text p{
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #333333 !important;
}
.fast-timeline .timeline-text p{ margin: 0 !important; }
.fast-timeline .timeline-text p + p{ margin-top: .6em !important; }

/* editor only — hide the "+" drop zone inside the empty line container */
.elementor-editor-active .timeline-line .elementor-empty-view{ display: none !important; }

/* ---- MOBILE ---- */
@media (max-width: 767px){
  .fast-timeline{
    --tl-circle: 44px;
    --tl-gap: 16px;
    --tl-icon-size: 18px;
    --tl-pad-top: 10px;
    --tl-pad-bottom: 24px;
  }
  .fast-timeline-label .elementor-heading-title{ font-size: 20px !important; }
  .fast-timeline .timeline-year .elementor-heading-title{ font-size: 18px !important; }
  
  .history-column {
    padding-right:0px;
}
}

/*force blue underline for hyperlinks*/

span[style*="underline"],
u {
  text-decoration-color: #5C86EE !important;
}

/* Sets bolded paragraph text to semibold (600) site-wide */
p strong,
p b {
  font-weight: 600;
}/* End custom CSS */