.elementor-5037 .elementor-element.elementor-element-612cb87:not(.elementor-motion-effects-element-type-background), .elementor-5037 .elementor-element.elementor-element-612cb87 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-5037 .elementor-element.elementor-element-612cb87{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:11px 30px 10px 30px;z-index:999;}.elementor-5037 .elementor-element.elementor-element-612cb87 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-5037 .elementor-element.elementor-element-83b1499{text-align:start;}.elementor-5037 .elementor-element.elementor-element-83b1499 img{width:69%;max-width:100%;height:1px;object-fit:scale-down;object-position:center center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5037 .elementor-element.elementor-element-6aa4743{margin:7px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-menu-toggle{margin-left:auto;background-color:#FFFFFF00;}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu .elementor-item{font-family:"Rigid Square", Sans-serif;font-weight:400;text-transform:uppercase;}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown a, .elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-menu-toggle{color:#FFFFFF;fill:#FFFFFF;}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown{background-color:#000000;}.elementor-5037 .elementor-element.elementor-element-6aa4743 div.elementor-menu-toggle{color:#000000;}.elementor-5037 .elementor-element.elementor-element-6aa4743 div.elementor-menu-toggle svg{fill:#000000;}.elementor-5037 .elementor-element.elementor-element-6aa4743 div.elementor-menu-toggle:hover, .elementor-5037 .elementor-element.elementor-element-6aa4743 div.elementor-menu-toggle:focus{color:#E43D30;}.elementor-5037 .elementor-element.elementor-element-6aa4743 div.elementor-menu-toggle:hover svg, .elementor-5037 .elementor-element.elementor-element-6aa4743 div.elementor-menu-toggle:focus svg{fill:#E43D30;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-5037 .elementor-element.elementor-element-e71a3a2{width:14.666%;}.elementor-5037 .elementor-element.elementor-element-4b0b5b7{width:85%;}}@media(max-width:1024px){.elementor-5037 .elementor-element.elementor-element-612cb87{padding:11px 0px 10px 0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-5037 .elementor-element.elementor-element-612cb87{padding:15px 0px 15px 0px;}.elementor-5037 .elementor-element.elementor-element-e71a3a2{width:100%;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5037 .elementor-element.elementor-element-4b0b5b7{width:100%;}.elementor-5037 .elementor-element.elementor-element-4b0b5b7 > .elementor-element-populated{margin:-20px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-5037 .elementor-element.elementor-element-6aa4743{margin:-60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:24px !important;}}/* Start custom CSS for html, class: .elementor-element-e5bf301 */.elementor-5037 .elementor-element.elementor-element-e5bf301 { display:none !important; }/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-6aa4743 */.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item:hover,
.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--main .elementor-item.elementor-item-active {
    font-weight: bold;
}
.elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown {
    padding-top: 20px;
}
.elementor-5037 .elementor-element.elementor-element-6aa4743 {
    text-align: center;
}
.elementor-5037 .elementor-element.elementor-element-6aa4743 .mobile-space {
  display: none;
}
@media (max-width: 767px) {
    .elementor-5037 .elementor-element.elementor-element-6aa4743 {
        text-align: left;
    }
    .elementor-5037 .elementor-element.elementor-element-6aa4743 br {
        display: none;
    }
    .elementor-5037 .elementor-element.elementor-element-6aa4743 .mobile-space {
        display: inline;
    }
    .elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown {
    padding-top: 0px;
    }
  .elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu,
  .elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown .menu-item-has-children > a .sub-arrow {
    display: none !important;
  }

  .elementor-5037 .elementor-element.elementor-element-6aa4743 .elementor-nav-menu--dropdown .menu-item-has-children > a {
    pointer-events: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-612cb87 *//* tff-header-transition */
/* base state first: the compression rules below are equal specificity and must win when active */
@media (min-width:1025px){
  body:not(.home) .elementor-location-header .elementor-top-section {
    height: var(--tff-hdr-h, 121px);
    transition: height .35s ease, background-color .35s ease;
  }
  body:not(.home) .elementor-location-header .elementor-top-section img {
    transition: height .35s ease, margin-top .35s ease;
  }
  body:not(.home) .elementor-location-header .elementor-nav-menu {
    transition: margin-top .35s ease;
  }
}
/* end tff-header-transition */

body {
    overflow-x: hidden;
}
#header img {
    height: 60px;
    width: auto;
    position: relative;
    z-index: 999;
}

body:not(.home) .elementor-sticky--effects:not(.tff-navup) {
    background: #000;
    height: 70px;
}
body:not(.home) .elementor-sticky--effects:not(.tff-navup) img {
    height: 55px !important;
    width: auto;
    margin-top: -10px;
    transition: .3s ease;
}
body:not(.home) .elementor-sticky--effects:not(.tff-navup) .elementor-nav-menu {
    margin-top: -15px;
  transition: .3s ease;
}
body:not(.home) .elementor-sticky--effects:not(.tff-navup) .menu-item-type-post_type {
    display: none !important;
}

@media only screen and (max-width : 775px) {
    #header {
        height: 76px;
    }
    #header img {
        height: 50px;
        width: auto;
        margin-top: -15px;
    }
    body:not(.home) .elementor-sticky--effects:not(.tff-navup) img {
        height: 50px !important;
    }
}

@media only screen and (min-width : 1100px) {
    .elementor-5037 .elementor-element.elementor-element-612cb87 .donate-btn {
        background: #E43D30;
        border-radius: 5px;
        margin-left: 12px;
    }
    .elementor-5037 .elementor-element.elementor-element-612cb87 .donate-btn a {
        color:#fff !important;
    }
    .elementor-5037 .elementor-element.elementor-element-612cb87 .donate-btn a:hover {
        font-weight: bold; !important;
    }
}
/* tff-nav-panels */
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main li.menu-item-has-children { position: relative; }
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main ul.sub-menu {
  background: #FFFFFF; padding: 26px 0 !important; border-radius: 0 0 5px 5px;
  /*box-shadow: 0 12px 30px rgba(0,0,0,0.10);*/
  left: 50% !important; right: auto !important; margin-left: 0 !important;
  transform: translateX(-50%);
}
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main li.menu-item-has-children:not(.nav-panel-1col) ul.sub-menu {
  width: 560px !important; max-width: none !important;
  columns: 2; column-gap: 0; column-rule: 1px solid #000000;
}
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main li.nav-panel-1col ul.sub-menu { width: 310px !important; max-width: none !important; }
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main ul.sub-menu li { break-inside: avoid; }
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main ul.sub-menu a,
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item {
  font-family: 'Rigid Square', sans-serif; font-weight: 400; font-size: 14px;
  line-height: 1.35; color: #000000; padding: 8px 24px 8px 45px;
  background-color: transparent !important; white-space: normal;
  text-align: left; justify-content: flex-start; max-width: none;
}
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main ul.sub-menu a:hover,
.elementor-5037 .elementor-element.elementor-element-612cb87 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover {
  color: #E43D30; background-color: transparent !important;
}
.elementor-5037 .elementor-element.elementor-element-612cb87 .sub-arrow { display: none !important; }
@media (max-width: 1024px) {
  .elementor-5037 .elementor-element.elementor-element-612cb87 ul.sub-menu { columns: 1 !important; width: auto !important; }
}

/* tff-anchor-offset */
.elementor-element[id] { scroll-margin-top: 150px; }
@media (max-width:1024px){ .elementor-element[id] { scroll-margin-top: 120px; } }
@media (max-width:767px){ .elementor-element[id] { scroll-margin-top: 100px; } }
/* tff-nav-spacing */
@media (min-width:1025px){
  .elementor-location-header .elementor-nav-menu > li > a.elementor-item {
    padding-left: clamp(20px, calc(20px + (100vw - 1440px) * 0.035), 48px) !important;
    padding-right: clamp(20px, calc(20px + (100vw - 1440px) * 0.035), 48px) !important;
  }
  .elementor-location-header .elementor-nav-menu { flex-wrap: nowrap !important; }
}
/* tff-row-400-1164 (page 1164 exceeds the REST save ceiling; CSS lives here instead) */
@media (min-width:1025px){
body.page-id-5051 :is(.elementor-element-abd8381, .elementor-element-1eb7df7, .elementor-element-3af930e, .elementor-element-affd4de, .elementor-element-b445783, .elementor-element-3f967f9, .elementor-element-deb8d61, .elementor-element-6d6ce9e, .elementor-element-e4a36a2, .elementor-element-7e33b07, .elementor-element-2613ed0, .elementor-element-d426a67, .elementor-element-5cd4f3c, .elementor-element-bb36a9e, .elementor-element-dc0f3f7, .elementor-element-9c719b6, .elementor-element-1365071, .elementor-element-9eea01d, .elementor-element-369c587) { width:auto !important; flex:0 0 auto !important; }
body.page-id-5051 :is(.elementor-element-abd8381, .elementor-element-1eb7df7, .elementor-element-3af930e, .elementor-element-affd4de, .elementor-element-b445783, .elementor-element-3f967f9, .elementor-element-deb8d61, .elementor-element-6d6ce9e, .elementor-element-e4a36a2, .elementor-element-7e33b07, .elementor-element-2613ed0, .elementor-element-d426a67, .elementor-element-5cd4f3c, .elementor-element-bb36a9e, .elementor-element-dc0f3f7, .elementor-element-9c719b6, .elementor-element-1365071, .elementor-element-9eea01d, .elementor-element-369c587) > .elementor-element-populated { width:400px !important; }
body.page-id-5051 :is(.elementor-element-2bd26d2, .elementor-element-739209b, .elementor-element-a7367d5, .elementor-element-6976d73, .elementor-element-221d1d8, .elementor-element-11ec520, .elementor-element-8e2dd0a, .elementor-element-304aa29, .elementor-element-a01a444, .elementor-element-6597828, .elementor-element-937d695, .elementor-element-2ffa322, .elementor-element-7d4429e, .elementor-element-9f0c9fe, .elementor-element-50430a5, .elementor-element-00ae391, .elementor-element-8b9256a, .elementor-element-99d1305, .elementor-element-e43a00c) { flex:1 1 0 !important; width:auto !important; }
}

/* tff-pp-schools-right: 10,000+ Schools block sits right-flushed, centered under the 525 Communities tile */
@media (min-width:1025px){
body.page-id-5051 .elementor-element.elementor-element-fa7aa26 { width: 45.44% !important; margin-left: auto !important; }
}
body.page-id-5051 .elementor-element.elementor-element-fa7aa26 .elementor-counter,
body.page-id-5051 .elementor-element.elementor-element-fa7aa26 .elementor-counter-title { text-align: center !important; justify-content: center !important; }
body.page-id-5051 .elementor-element.elementor-element-fa7aa26 .elementor-counter-number-wrapper { justify-content: center !important; }
body.page-id-5051 .elementor-element.elementor-element-fa7aa26 .elementor-counter-number-prefix,
body.page-id-5051 .elementor-element.elementor-element-fa7aa26 .elementor-counter-number-suffix { flex-grow: 0 !important; }
/* tff-card-caption-guard */
/* Explore-card captions must survive browsers without :has() support, where the
   card's media-sizing rule is dropped and the caption falls outside overflow:hidden.
   Split media sizing into :has()-free rules and pin the caption to the card bottom. */
body.page-id-5051 :is(.elementor-element-1bb2060, .elementor-element-2a7b3e8) .elementor-widget-video,
body.page-id-5051 :is(.elementor-element-1bb2060, .elementor-element-2a7b3e8) .elementor-widget-image,
body.page-id-5017 :is(.elementor-element-471b01a, .elementor-element-b4c0889) .elementor-widget-image
 { flex: 0 0 calc(100% - 66px) !important; height: calc(100% - 66px) !important; min-height: 0 !important; }
body.page-id-5051 :is(.elementor-element-1bb2060, .elementor-element-2a7b3e8) > .elementor-element-populated > .elementor-widget-heading,
body.page-id-5017 :is(.elementor-element-471b01a, .elementor-element-b4c0889) > .elementor-element-populated > .elementor-widget-heading
 { flex: 0 0 66px !important; height: 66px !important; margin-top: auto !important; position: relative; z-index: 1; }

/* tff-smooth-expand: height-driven expander animation (see html widget script) */
html.tff-smooth .tff-bio-more,
html.tff-smooth .rb-acc-body { max-height:none !important; visibility:visible !important; overflow:hidden; transition:height .38s cubic-bezier(.4,0,.2,1) !important; }
@media (prefers-reduced-motion: reduce){
html.tff-smooth .tff-bio-more,
html.tff-smooth .rb-acc-body { transition:none !important; }
}

/* tff-pp-tile-scrim: photo stat tiles carried a scrim coloured by var(--e-global-color-text),
   which resolves to nothing in older browsers, leaving white text on bare photos.
   Same failure family as the :has() card bug. Explicit colour, no variable, no modern .elementor-5037 .elementor-element.elementor-element-612cb87s. */
body.page-id-5051 .elementor-element.elementor-element-6027746 > .elementor-element-populated > .elementor-background-overlay,
body.page-id-5051 .elementor-element.elementor-element-468b3e6 > .elementor-element-populated > .elementor-background-overlay,
body.page-id-5051 .elementor-element.elementor-element-524e61b > .elementor-element-populated > .elementor-background-overlay,
body.page-id-5051 .elementor-element.elementor-element-bb5fec9 > .elementor-element-populated > .elementor-background-overlay { background-color: #000000 !important; opacity: 0.6 !important; }

/* tff-map-fit: the Canada map SVG carries a hard-coded width=1114/CSS 800px inside a
   551px flex cell, so Atlantic Canada ran past the column and off-screen. It has a
   viewBox, so width:100% + height:auto scales it proportionally to whatever room it has. */
body.page-id-5051 .map-container { flex-wrap: wrap; }
body.page-id-5051 .svg-map { min-width: 0; max-width: 100%; }
body.page-id-5051 .svg-map svg { width: 100% !important; height: auto !important; max-width: 100% !important; display: block; }

/* tff-card-captions: THE actual cause of the missing "Explore What's Next" labels.
   Only two cards site-wide hold a video (RB 272 col 6cd30b1, PP 1164 col 1bb2060) and both
   were missing their label. On those cards the hover-panel html widget sits AFTER the video
   widget and was being given the MEDIA height (flex:0 0 calc(100% - 66px)) as well, so
   video + panel + caption = 730px of children inside a 398px card with overflow:hidden and
   the caption was clipped out of the box entirely. Chromium happened to collapse the panel
   so it never showed here, which is why it only ever reproduced on the client's machine.
   1) zero the panel widget on video cards, 2) pin every card caption to the bottom band
   with plain absolute positioning so no layout quirk can push it out again. */
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .elementor-widget-video + .elementor-widget-html,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .elementor-widget-video + .elementor-widget-html { flex: 0 0 auto !important; height: 0 !important; min-height: 0 !important; }

@media (min-width: 768px) {
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 > .elementor-element-populated,
body.page-id-5001 .elementor-element.elementor-element-f75b160 > .elementor-element-populated,
body.page-id-5017 .elementor-element.elementor-element-471b01a > .elementor-element-populated,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 > .elementor-element-populated,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 > .elementor-element-populated,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf > .elementor-element-populated,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 > .elementor-element-populated,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 > .elementor-element-populated,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 > .elementor-element-populated,
body.page-id-5064 .elementor-element.elementor-element-aa8906e > .elementor-element-populated { position: relative !important; }

body.page-id-5001 .elementor-element.elementor-element-da0ec5a,
body.page-id-5001 .elementor-element.elementor-element-d4da2e4,
body.page-id-5017 .elementor-element.elementor-element-0d71ac9,
body.page-id-5017 .elementor-element.elementor-element-0006049,
body.page-id-5045 .elementor-element.elementor-element-f00b8f6,
body.page-id-5045 .elementor-element.elementor-element-946fc40,
body.page-id-5051 .elementor-element.elementor-element-64b3e8a,
body.page-id-5051 .elementor-element.elementor-element-3e27f72,
body.page-id-5064 .elementor-element.elementor-element-bba2638,
body.page-id-5064 .elementor-element.elementor-element-ddb4907 {
  position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 66px !important; margin: 0 !important; z-index: 1 !important;
  background: #2E2E2E !important; border-radius: 0 0 10px 10px !important;
}
}

body.page-id-5001 .elementor-element.elementor-element-da0ec5a .elementor-heading-title,
body.page-id-5001 .elementor-element.elementor-element-d4da2e4 .elementor-heading-title,
body.page-id-5017 .elementor-element.elementor-element-0d71ac9 .elementor-heading-title,
body.page-id-5017 .elementor-element.elementor-element-0006049 .elementor-heading-title,
body.page-id-5045 .elementor-element.elementor-element-f00b8f6 .elementor-heading-title,
body.page-id-5045 .elementor-element.elementor-element-946fc40 .elementor-heading-title,
body.page-id-5051 .elementor-element.elementor-element-64b3e8a .elementor-heading-title,
body.page-id-5051 .elementor-element.elementor-element-3e27f72 .elementor-heading-title,
body.page-id-5064 .elementor-element.elementor-element-bba2638 .elementor-heading-title,
body.page-id-5064 .elementor-element.elementor-element-ddb4907 .elementor-heading-title {
  display: flex !important; align-items: center !important; justify-content: center !important;
  height: 66px !important; padding: 0 14px !important; box-sizing: border-box !important;
  text-align: center !important; margin: 0 !important; color: #FFFFFF !important;
  visibility: visible !important; opacity: 1 !important;
}

body.page-id-5001 .elementor-element.elementor-element-da0ec5a .elementor-heading-title a,
body.page-id-5001 .elementor-element.elementor-element-d4da2e4 .elementor-heading-title a,
body.page-id-5017 .elementor-element.elementor-element-0d71ac9 .elementor-heading-title a,
body.page-id-5017 .elementor-element.elementor-element-0006049 .elementor-heading-title a,
body.page-id-5045 .elementor-element.elementor-element-f00b8f6 .elementor-heading-title a,
body.page-id-5045 .elementor-element.elementor-element-946fc40 .elementor-heading-title a,
body.page-id-5051 .elementor-element.elementor-element-64b3e8a .elementor-heading-title a,
body.page-id-5051 .elementor-element.elementor-element-3e27f72 .elementor-heading-title a,
body.page-id-5064 .elementor-element.elementor-element-bba2638 .elementor-heading-title a,
body.page-id-5064 .elementor-element.elementor-element-ddb4907 .elementor-heading-title a { color: #FFFFFF !important; text-decoration: none; }

/* tff-sidenav-divider-sticky: the grey side-nav rule rides with the sticky menu instead of being painted on
   the static column. Two traps: (1) the menu widget carries margin-top:-100px on five of the
   six pages (1738 has none), and (2) the nav SECTION has 90-100px of top padding, so neither
   the widget top nor the wrapper top equals the boundary where the dark hero ends. The per-page
   offset below is measured as sectionTop - widgetTop so the line originates exactly at that
   boundary - touching the dark region, never crossing into it - and still travels with the menu.
   Desktop only; below 1025px the side nav is not sticky. */
@media (min-width: 1025px) {
body.page-id-5017 .elementor-element.elementor-element-3db21a9 > .elementor-element-populated::after,
body.page-id-5001 .elementor-element.elementor-element-bfdb2f9 > .elementor-element-populated::after,
body.page-id-5045 .elementor-element.elementor-element-0ae2f08 > .elementor-element-populated::after,
body.page-id-5051 .elementor-element.elementor-element-ae2667c > .elementor-element-populated::after,
body.page-id-5064 .elementor-element.elementor-element-ef482cf > .elementor-element-populated::after,
body.page-id-5073 .elementor-element.elementor-element-2e93748 > .elementor-element-populated::after { content: none !important; }

body.page-id-5064 .elementor-element.elementor-element-69ed9a9::after {
  content: "" !important; position: absolute !important; top: 0 !important; right: 0 !important;
  width: 1px !important; height: 368px !important; background: #C4C4C4 !important;
  pointer-events: none !important;
}

body.page-id-5017 .elementor-element.elementor-element-a5dedd0::after,
body.page-id-5045 .elementor-element.elementor-element-39e4875::after,
body.page-id-5051 .elementor-element.elementor-element-8a6e245::after {
  content: "" !important; position: absolute !important; top: 0px !important; right: 0 !important;
  width: 1px !important; height: 368px !important; background: #C4C4C4 !important;
  pointer-events: none !important;
}

body.page-id-5001 .elementor-element.elementor-element-d0425c3::after,
body.page-id-5073 .elementor-element.elementor-element-164d7f1::after {
  content: "" !important; position: absolute !important; top: 0 !important; right: 0 !important;
  width: 1px !important; height: 368px !important; background: #C4C4C4 !important;
  pointer-events: none !important;
}
}

/* tff-bio-dots: trailing "..." on the collapsed half of any bio with a Read More. */
.tff-bio.tff-bio-has-more > p:last-of-type::after { content: "..."; }
.tff-bio.tff-bio-has-more.is-open > p:last-of-type::after { content: none; }
.tff-bio.is-open .tff-bio-ellipsis { display: none; }

/* tff-card-mobile: hover copy is a pointer affordance - never stack it as static text on
   phones (it was adding 152-176px per card). Also zero the desktop column gutters there and
   hold the video cards to the card ratio so both cards match. */
@media (max-width: 767px) {
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .c45-next-hv,
body.page-id-5001 .elementor-element.elementor-element-f75b160 .c45-next-hv,
body.page-id-5017 .elementor-element.elementor-element-471b01a .c45-next-hv,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 .c45-next-hv,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 .c45-next-hv,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf .c45-next-hv,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .c45-next-hv,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 .c45-next-hv,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 .c45-next-hv,
body.page-id-5064 .elementor-element.elementor-element-aa8906e .c45-next-hv { display: none !important; }

body.page-id-5001 .elementor-element.elementor-element-6cd30b1,
body.page-id-5001 .elementor-element.elementor-element-f75b160,
body.page-id-5017 .elementor-element.elementor-element-471b01a,
body.page-id-5017 .elementor-element.elementor-element-b4c0889,
body.page-id-5045 .elementor-element.elementor-element-7ce4711,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf,
body.page-id-5051 .elementor-element.elementor-element-1bb2060,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8,
body.page-id-5064 .elementor-element.elementor-element-f0d7782,
body.page-id-5064 .elementor-element.elementor-element-aa8906e { margin-left: 0 !important; margin-right: 0 !important; }

body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .elementor-widget-video video,
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .e-hosted-video,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .elementor-widget-video video,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .e-hosted-video { aspect-ratio: 610/400 !important; width: 100% !important; height: auto !important; object-fit: cover !important; }
}

/* tff-mobile-menu-links: the sticky-compression rule
   `body:not(.home) .elementor-sticky--effects:not(.tff-navup) .menu-item-type-post_type {display:none}`
   is meant for the COLLAPSED DESKTOP BAR, but the header also sticks on phones, so once you
   scrolled the burger menu lost all six page links and showed only EN + DONATE. Restore them
   inside the mobile dropdown only; the desktop compression behaviour is untouched. */
@media (max-width: 1024px) {
body .elementor-location-header .elementor-nav-menu--dropdown li.menu-item.menu-item-type-post_type { display: block !important; }
}

/* tff-iid-nav-align: Investing in Discovery was the only page whose side-nav BOX started 100px below the
   section top (no negative margin, sticky top:130px), so its divider could not both start at
   the dark edge and travel with the menu. Match the pattern every other page uses - pull the
   box up 100px and give it 100px of top padding - so the LINKS stay exactly where they are
   while the box (and therefore the line) starts at the section top and pins at 30px. */
body.page-id-5064 .elementor-element.elementor-element-ef482cf > .elementor-element-populated > .elementor-widget-html {
  top: 30px !important; margin-top: -100px !important; padding-top: 100px !important;
  min-height: 368px; box-sizing: border-box;
}

/* tff-card-mobile-ratio: EVERY Explore card now holds a video (several of them shot portrait), so the earlier
   rule - which only covered the two cards that were videos at the time - left the rest at their
   native ratio: 0.82 (portrait) and up to 505px tall against the 302px the card ratio gives.
   Force the card's own 610:400 on ALL card media below 768px, whatever widget type it is. */
@media (max-width: 767px) {
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .elementor-widget-video video,
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .e-hosted-video,
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .elementor-widget-image img,
body.page-id-5001 .elementor-element.elementor-element-6cd30b1 .c45-next-img,
body.page-id-5001 .elementor-element.elementor-element-f75b160 .elementor-widget-video video,
body.page-id-5001 .elementor-element.elementor-element-f75b160 .e-hosted-video,
body.page-id-5001 .elementor-element.elementor-element-f75b160 .elementor-widget-image img,
body.page-id-5001 .elementor-element.elementor-element-f75b160 .c45-next-img,
body.page-id-5017 .elementor-element.elementor-element-471b01a .elementor-widget-video video,
body.page-id-5017 .elementor-element.elementor-element-471b01a .e-hosted-video,
body.page-id-5017 .elementor-element.elementor-element-471b01a .elementor-widget-image img,
body.page-id-5017 .elementor-element.elementor-element-471b01a .c45-next-img,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 .elementor-widget-video video,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 .e-hosted-video,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 .elementor-widget-image img,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 .c45-next-img,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 .elementor-widget-video video,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 .e-hosted-video,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 .elementor-widget-image img,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 .c45-next-img,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf .elementor-widget-video video,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf .e-hosted-video,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf .elementor-widget-image img,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf .c45-next-img,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .elementor-widget-video video,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .e-hosted-video,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .elementor-widget-image img,
body.page-id-5051 .elementor-element.elementor-element-1bb2060 .c45-next-img,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 .elementor-widget-video video,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 .e-hosted-video,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 .elementor-widget-image img,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 .c45-next-img,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 .elementor-widget-video video,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 .e-hosted-video,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 .elementor-widget-image img,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 .c45-next-img,
body.page-id-5064 .elementor-element.elementor-element-aa8906e .elementor-widget-video video,
body.page-id-5064 .elementor-element.elementor-element-aa8906e .e-hosted-video,
body.page-id-5064 .elementor-element.elementor-element-aa8906e .elementor-widget-image img,
body.page-id-5064 .elementor-element.elementor-element-aa8906e .c45-next-img { aspect-ratio: 610/400 !important; width: 100% !important; height: auto !important; object-fit: cover !important; }
}

/* tff-card-dupe-media: a video was added to cards that already had the original background-image span, so
   those cards carry TWO stacked medias. On mobile that rendered them 538px tall against the
   302px of a single-media card. Hide the now-redundant image span on phones; the video is the
   live content. Desktop is unaffected - there the two overlap rather than stack. */
@media (max-width: 767px) {
body.page-id-5001 .elementor-element.elementor-element-f75b160 .c45-next-img,
body.page-id-5017 .elementor-element.elementor-element-471b01a .c45-next-img,
body.page-id-5017 .elementor-element.elementor-element-b4c0889 .c45-next-img,
body.page-id-5045 .elementor-element.elementor-element-7ce4711 .c45-next-img,
body.page-id-5045 .elementor-element.elementor-element-5dabdaf .c45-next-img,
body.page-id-5051 .elementor-element.elementor-element-2a7b3e8 .c45-next-img,
body.page-id-5064 .elementor-element.elementor-element-f0d7782 .c45-next-img,
body.page-id-5064 .elementor-element.elementor-element-aa8906e .c45-next-img { display: none !important; }
}

/* tff-cta-card-mobile: the CTA trio (Support research / Join the Run / Start a team) on Home and Looking
   Ahead is built as a background-image column + 310px spacer + caption, so on phones it came
   out 360x370 (ratio 0.97) against the 360x302 of the video cards elsewhere. Give the spacer
   the card's 610:400 so it measures 236, and fix the caption band at 66px: 236 + 66 = 302,
   identical to the other cards. Desktop untouched (already 400 tall, i.e. >= the 398 there). */
@media (max-width: 767px) {
body.page-id-5080 .elementor-element.elementor-element-6432cc8 .elementor-widget-spacer,
body.page-id-5080 .elementor-element.elementor-element-409601a .elementor-widget-spacer,
body.page-id-5080 .elementor-element.elementor-element-d5a93e5 .elementor-widget-spacer,
body.page-id-5073 .elementor-element.elementor-element-c31b5eb .elementor-widget-spacer,
body.page-id-5073 .elementor-element.elementor-element-e728b45 .elementor-widget-spacer,
body.page-id-5073 .elementor-element.elementor-element-77d3548 .elementor-widget-spacer,
body.page-id-5080 .elementor-element.elementor-element-6432cc8 .elementor-widget-spacer .elementor-spacer-inner,
body.page-id-5080 .elementor-element.elementor-element-409601a .elementor-widget-spacer .elementor-spacer-inner,
body.page-id-5080 .elementor-element.elementor-element-d5a93e5 .elementor-widget-spacer .elementor-spacer-inner,
body.page-id-5073 .elementor-element.elementor-element-c31b5eb .elementor-widget-spacer .elementor-spacer-inner,
body.page-id-5073 .elementor-element.elementor-element-e728b45 .elementor-widget-spacer .elementor-spacer-inner,
body.page-id-5073 .elementor-element.elementor-element-77d3548 .elementor-widget-spacer .elementor-spacer-inner { aspect-ratio: 610/400 !important; height: auto !important; }

body.page-id-5080 .elementor-element.elementor-element-6432cc8 .elementor-widget-heading .elementor-heading-title,
body.page-id-5080 .elementor-element.elementor-element-409601a .elementor-widget-heading .elementor-heading-title,
body.page-id-5080 .elementor-element.elementor-element-d5a93e5 .elementor-widget-heading .elementor-heading-title,
body.page-id-5073 .elementor-element.elementor-element-c31b5eb .elementor-widget-heading .elementor-heading-title,
body.page-id-5073 .elementor-element.elementor-element-e728b45 .elementor-widget-heading .elementor-heading-title,
body.page-id-5073 .elementor-element.elementor-element-77d3548 .elementor-widget-heading .elementor-heading-title { height: 66px !important; min-height: 0 !important; padding: 0 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; }

body.page-id-5080 .elementor-element.elementor-element-6432cc8 .elementor-widget-heading,
body.page-id-5080 .elementor-element.elementor-element-409601a .elementor-widget-heading,
body.page-id-5080 .elementor-element.elementor-element-d5a93e5 .elementor-widget-heading,
body.page-id-5073 .elementor-element.elementor-element-c31b5eb .elementor-widget-heading,
body.page-id-5073 .elementor-element.elementor-element-e728b45 .elementor-widget-heading,
body.page-id-5073 .elementor-element.elementor-element-77d3548 .elementor-widget-heading { padding: 0 !important; margin: 0 !important; }
}/* End custom CSS */