1<!DOCTYPE html> 2<html lang="en-US" > 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0"> 6<!-- WP_HEAD() START --> 7<link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900|Montserrat:100,200,300,400,500,600,700,800,900" > 8<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900|Montserrat:100,200,300,400,500,600,700,800,900"> 9<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
10<script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/3f0bbe62bcd7431a664a422ba347f7b4/script.js"></script>
10<script data-cfasync="false" data-cookieconsent="ignore" data-ezscrex="false" data-no-defer="1" data-pagespeed-no-defer> 11var ctPublicFunctions = {"_ajax_nonce":"8e3d616fee","_rest_nonce":"1605aaddb7","_ajax_url":"\/wp-admin\/admin-ajax.php","_rest_url":"https:\/\/jri.org\/wp-json\/","data__cookies_type":"none","data__ajax_type":"rest","bot_detector_enabled":true,"data__frontend_data_log_enabled":1,"data__bot_detector_enabled":1,"cookiePrefix":"","wprocket_detected":false,"host_url":"jri.org","text__ee_click_to_select":"Click to select the whole data","text__ee_original_email":"The complete one is","text__ee_got_it":"Got it","text__ee_blocked":"Blocked","text__ee_cannot_connect":"Cannot connect","text__ee_cannot_decode":"Can not decode email. Unknown reason","text__ee_email_decoder":"CleanTalk email decoder","text__ee_wait_for_decoding":"The magic is on the way!","text__ee_decoding_process":"Please wait a few seconds while we decode the contact data."} 12</script>
vendor: 1 bytes, line 12
12
13<script data-cfasync="false" data-cookieconsent="ignore" data-ezscrex="false" data-no-defer="1" data-pagespeed-no-defer> 14var ctPublic = {"_ajax_nonce":"8e3d616fee","settings__forms__check_internal":"0","settings__forms__check_external":"0","settings__forms__force_protection":"0","settings__forms__search_test":"1","settings__forms__wc_add_to_cart":"0","bot_detector_enabled":true,"settings__sfw__anti_crawler":0,"blog_home":"https:\/\/jri.org\/","pixel__setting":"3","pixel__enabled":false,"pixel__url":null,"data__email_check_before_post":"1","data__email_check_exist_post":"1","data__cookies_type":"none","data__key_is_ok":true,"data__visible_fields_required":true,"wl_brandname":"Anti-Spam by CleanTalk","wl_brandname_short":"CleanTalk","ct_checkjs_key":1313326881,"emailEncoderPassKey":"ee2d751952c79f7ae9d82cd34881a79d","bot_detector_forms_excluded":"W10=","advancedCacheExists":false,"varnishCacheExists":false,"wc_ajax_add_to_cart":false} 15</script>
15 16 17 <!-- This site is optimized with the Yoast SEO plugin v24.7 - https://yoast.com/wordpress/plugins/seo/ --> 18 <title>About JRI - JRI | Justice Resource Institute</title> 19 <meta name="description" content="Explore JRIâs history and mission of social justice. See how we help individuals and families access the support and opportunities they deserve." /> 20 <link rel="canonical" href="https://jri.org/about/" /> 21 <meta property="og:locale" content="en_US" /> 22 <meta property="og:type" content="article" /> 23 <meta property="og:title" content="About JRI - JRI | Justice Resource Institute" /> 24 <meta property="og:description" content="Explore JRIâs history and mission of social justice. See how we help individuals and families access the support and opportunities they deserve." /> 25 <meta property="og:url" content="https://jri.org/about/" /> 26 <meta property="og:site_name" content="JRI | Justice Resource Institute" /> 27 <meta property="article:modified_time" content="2025-10-14T09:07:25+00:00" /> 28 <meta property="og:image" content="https://jri.org/wp-content/uploads/2025/10/JRI-open-graph-image-2.jpg" /> 29 <meta property="og:image:width" content="1200" /> 30 <meta property="og:image:height" content="630" /> 31 <meta property="og:image:type" content="image/jpeg" /> 32 <meta name="twitter:card" content="summary_large_image" /> 33
33<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://jri.org/about/","url":"https://jri.org/about/","name":"About JRI - JRI | Justice Resource Institute","isPartOf":{"@id":"https://jri.org/#website"},"datePublished":"2024-09-25T20:11:35+00:00","dateModified":"2025-10-14T09:07:25+00:00","description":"Explore JRIâs history and mission of social justice. See how we help individuals and families access the support and opportunities they deserve.","breadcrumb":{"@id":"https://jri.org/about/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://jri.org/about/"]}]},{"@type":"BreadcrumbList","@id":"https://jri.org/about/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://jri.org/"},{"@type":"ListItem","position":2,"name":"About JRI"}]},{"@type":"WebSite","@id":"https://jri.org/#website","url":"https://jri.org/","name":"JRI | Justice Resource Institute","description":"Leader in Social Justice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://jri.org/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
33 34 <!-- / Yoast SEO plugin. --> 35 36 37<link rel='dns-prefetch' href='//fd.cleantalk.org' /> 38<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 39<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 40<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://jri.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fjri.org%2Fabout%2F" /> 41<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://jri.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fjri.org%2Fabout%2F&format=xml" /> 42 <style> 43 .lazyload, 44 .lazyloading { 45 max-width: 100%; 46 } 47 </style> 48 <style id="wp-img-auto-sizes-contain-inline-css"> 49img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 50/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 51</style> 52 53 54<link rel='stylesheet' id='cleantalk-public-css-css' href='https://jri.org/wp-content/plugins/cleantalk-spam-protect/css/cleantalk-public.min.css?ver=6.88_1789712728' media='all' /> 55<link rel='stylesheet' id='cleantalk-email-decoder-css-css' href='https://jri.org/wp-content/plugins/cleantalk-spam-protect/css/cleantalk-email-decoder.min.css?ver=6.88_1789712728' media='all' /> 56<link rel='stylesheet' id='oxygen-css' href='https://jri.org/wp-content/plugins/oxygen/component-framework/oxygen.css?ver=4.9.8' media='all' /> 57<link rel='stylesheet' id='wpcp-slick-css' href='https://jri.org/wp-content/plugins/wp-carousel-pro/public/css/slick.min.css?ver=3.1.5' media='all' /> 58<link rel='stylesheet' id='wpcp-bx-slider-css-css' href='https://jri.org/wp-content/plugins/wp-carousel-pro/public/css/jquery.bxslider.min.css?ver=3.1.5' media='all' /> 59<link rel='stylesheet' id='wp-carousel-pro-fontawesome-css' href='https://jri.org/wp-content/plugins/wp-carousel-pro/public/css/font-awesome.min.css?ver=3.1.5' media='all' /> 60<link rel='stylesheet' id='wpcp-magnific-popup-css' href='https://jri.org/wp-content/plugins/wp-carousel-pro/public/css/magnific-popup.min.css?ver=3.1.5' media='all' /> 61<link rel='stylesheet' id='wp-carousel-pro-css' href='https://jri.org/wp-content/plugins/wp-carousel-pro/public/css/wp-carousel-pro-public.min.css?ver=3.1.5' media='all' /> 62<link rel='stylesheet' id='SP_WPCP-google-web-fonts-sp_wpcp_shortcode_options-css' href='//fonts.googleapis.com/css?family=Open+Sans%3A600%7COpen+Sans%3A600%7COpen+Sans%3A400n%7COpen+Sans%3A600%7COpen+Sans%3A400%7COpen+Sans%3A600%7COpen+Sans%3A400%7COpen+Sans%3A600%7COpen+Sans%3A400%7COpen+Sans%3A400%7COpen+Sans%3A700%7COpen+Sans%3A600' media='all' />
63<script id="apbct-public-bundle.min-js-js" src="https://jri.org/wp-content/plugins/cleantalk-spam-protect/js/apbct-public-bundle.min.js?ver=6.88_1789712728"></script>
vendor: 1 bytes, line 63
63
64<script async data-wp-strategy="async" id="ct_bot_detector-js" src="https://fd.cleantalk.org/ct-bot-detector-wrapper.js?ver=6.88"></script>
vendor: 1 bytes, line 64
64
65<script id="jquery-core-js-extra"> 66var my_ajax_obj = {"ajax_url":"https://jri.org/wp-admin/admin-ajax.php","nonce":"6acd1bc734"}; 67//# sourceURL=jquery-core-js-extra 68</script>
vendor: 1 bytes, line 68
68
69<script id="jquery-core-js" src="https://jri.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
69 70 71<!-- Google tag (gtag.js) snippet added by Site Kit --> 72<!-- Google Analytics snippet added by Site Kit --> 73<!-- Google Ads snippet added by Site Kit -->
vendor: 80 bytes, lines 73-74
73 74<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
74GT-K4LJ8ZW
vendor: 18 bytes, line 74
74" async></script>
75<script id="google_gtagjs-js-after"> 76window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 77gtag("set","linker",{"domains":["jri.org"]}); 78gtag("js", new Date()); 79gtag("set", "developer_id.dZTNiMT", true); 80gtag("config", "GT-K4LJ8ZW"); 81gtag("config", "AW-17890915493"); 82 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 83//# sourceURL=google_gtagjs-js-after 84</script>
84 85<link rel="https://api.w.org/" href="https://jri.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://jri.org/wp-json/wp/v2/pages/840" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://jri.org/xmlrpc.php?rsd" /> 86<link rel='shortlink' href='https://jri.org/?p=840' /> 87<!-- start Simple Custom CSS and JS -->
88<script type="text/javascript"> 89document.addEventListener('DOMContentLoaded', function() { 90 // Section element ko select karna 91 var section = document.querySelector('section'); 92 93 // Agar section main single-banner class nahi hai 94 if (!section.classList.contains('single-banner')) { 95 // Header element ko select karna 96 var header = document.querySelector('header'); 97 98 // Header main without class add karna 99 header.classList.add('withoutbanner'); 100 } 101}); 102</script>
102 103<!-- end Simple Custom CSS and JS --> 104<!-- start Simple Custom CSS and JS -->
105<script type="text/javascript"> 106/*$(document).ready(function() { 107 var tabs = $('.oxy-tab'); 108var tabContents = $('.oxy-tab-content'); 109 110// Loop through each tab 111tabs.each(function(index) { 112 $(this).on('click', function() { 113 // Hide all tab contents except the clicked one 114 tabContents.not(tabContents.eq(index)).slideUp(); // Slide up all other contents 115 116 // Slide toggle the relevant tab content 117 tabContents.eq(index).slideToggle(); // Slide toggle the clicked tab's content 118 }); 119}); 120 121// Initially hide all tab contents except the first one 122tabContents.hide().first().show(); 123});*/</script>
123 124<!-- end Simple Custom CSS and JS --> 125<meta name="generator" content="Site Kit by Google 1.187.0" />
125<script> 126 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 127 </script>
127 128 <style> 129 .no-js img.lazyload { 130 display: none; 131 } 132 133 figure.wp-block-image img.lazyloading { 134 min-width: 150px; 135 } 136 137 .lazyload, 138 .lazyloading { 139 --smush-placeholder-width: 100px; 140 --smush-placeholder-aspect-ratio: 1/1; 141 width: var(--smush-image-width, var(--smush-placeholder-width)) !important; 142 aspect-ratio: var(--smush-image-aspect-ratio, var(--smush-placeholder-aspect-ratio)) !important; 143 } 144 145 .lazyload, .lazyloading { 146 opacity: 0; 147 } 148 149 .lazyloaded { 150 opacity: 1; 151 transition: opacity 400ms; 152 transition-delay: 0ms; 153 } 154 155 </style> 156 157 158 159<!-- Google Tag Manager snippet added by Site Kit -->
160<script>
vendor: 420 bytes, lines 160-169
160 161 ( function( w, d, s, l, i ) { 162 w[l] = w[l] || []; 163 w[l].push( {'gtm.start': new Date().getTime(), event: 'gtm.js'} ); 164 var f = d.getElementsByTagName( s )[0], 165 j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; 166 j.async = true; 167 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 168 f.parentNode.insertBefore( j, f ); 169 } )( window, document, 'script', 'dataLayer', '
169GTM-TBCHLR56
vendor: 9 bytes, lines 169-170
169' ); 170
171</script>
171 172 173<!-- End Google Tag Manager snippet added by Site Kit --> 174<link rel="icon" href="https://jri.org/wp-content/uploads/2024/08/favicon-iconn.png" sizes="32x32" /> 175<link rel="icon" href="https://jri.org/wp-content/uploads/2024/08/favicon-iconn.png" sizes="192x192" /> 176<link rel="apple-touch-icon" href="https://jri.org/wp-content/uploads/2024/08/favicon-iconn.png" /> 177<meta name="msapplication-TileImage" content="https://jri.org/wp-content/uploads/2024/08/favicon-iconn.png" /> 178<style id="wp-custom-css"> 179 180div#new_columns-1556-1557 { 181 background-position: 100% !important; 182 background-size: contain !important; 183 background-color: #fff; 184} 185#new_columns-1556-1557.single-page-banner:before { 186 left: 0px; 187 opacity: 0; 188} 189.page-id-3806 .ct-inner-content { 190 padding-top: 100px; 191} 192.page-id-3806 header#_header-2-225 { 193 background: #043659; 194} 195span.date.caf-pl-0 { 196 text-align: end; 197} 198.page-id-1688 div#new_columns-1177-895 { 199 background-position: 200px 0% !important; 200} 201#new_columns-642-840 { 202 background-position: 110px 50% !important; 203} 204.tab-right iframe { 205 height: 300px!important; 206} 207section#section-11-303 h1#headline-15-303 { 208 font-size: 30px; 209 line-height: normal; 210} 211.postid-1781 span#span-300-1723 a:hover,.postid-1779 span#span-300-1723 a:hover { 212 color: #f2d25c; 213} 214.postid-1781 span#span-300-1723 a,.postid-1779 span#span-300-1723 a { 215 color: #006cb3; 216} 217section#section-1254-1723 a:hover { 218 color: #fff; 219 text-decoration: underline; 220} 221body.postid-1779 div#div_block-1230-1723, 222body.postid-1779 div#div_block-1235-1723 { 223 display: none; 224} 225body.postid-1779 div#div_block-1225-1723{ 226 border-left:1.5px solid #006CB3; 227} 228div#_rich_text-1227-1604 a:hover { 229 color: #fff; 230} 231div#div_block-1215-895 a:hover { 232 color: #fff; 233} 234section#section-688-1723 div { 235 padding: 0px !important; 236} 237 238@media screen and (max-width: 992px) { 239#_rich_text-2244-1596 ul li { 240 list-style: disc !important; 241 text-align: left; 242} 243} 244.feeding-research .left-feedring g > path:nth-child(1), 245.supporting-training .left-supporting g > path:nth-child(1), 246.serving-the-people .left-people g > path:nth-child(1), 247.rebuilding-foundations .left-rebuilding g > path:nth-child(1), 248.collecting-data .left-collecting svg g > path:nth-child(1) { 249 fill: #043659!important; 250} 251 252.feeding-research .left-feedring .ct-text-block, 253.supporting-training .left-supporting .ct-text-block, 254.serving-the-people .left-people .ct-text-block, 255.rebuilding-foundations .left-rebuilding .ct-text-block, 256.collecting-data .left-collecting .ct-text-block { 257 color: #043659!important; 258 text-decoration: underline!important; 259} 260.our-team-boxes .program-box > .ct-div-block img { 261 border: 1px solid #006cb3 !important; 262 height: 100%; 263 border-radius: 25px; 264} 265div#text_block-299-1723 strong, div#text_block-299-1723 b { 266 font-size: 24px; 267 display: block; 268 margin-bottom: 30px; 269 font-weight: inherit; 270 line-height: normal; 271} 272 273body .postid-1737 img, 274body .postid-1741 img, 275body .postid-1747 img, 276body .postid-1809 img, 277body .postid-1847 img, 278body .postid-2223 img, 279body .postid-2224 img, 280body .postid-1874 img, 281body .postid-1883 img, 282body .postid-1824 img { 283 object-fit: cover!important; 284} 285.faq-section .oxel_accordion__content a { 286 color: #f2d25c; 287} 288span#span-300-1723 a { 289 font-weight: bold; 290} 291div#text_block-575-1723 ul li a { 292 color: #67bae6; 293 font-weight: 600; 294 text-decoration: underline; 295} 296span#span-605-1723 a { 297 color: #006cb3; 298} 299section#section-1299-1723 a { 300 color: #043659; 301} 302.custom-tabs li:not(.active) a { 303 color: #fff !important; 304} 305body .popup-form.active-form { 306 opacity: 1 !important; 307 z-index: 9999 !important; 308} 309.close-popup-button { 310 position: absolute; 311 right: 20px; 312 background: #f2d25c; 313 width: 35px; 314 height: 35px; 315 border-radius: 50%; 316 cursor: pointer; 317 font-size: 30px; 318 line-height: 30px; 319 text-align: center; 320} 321.postid-1781 span#span-605-1723 p:last-child { 322 /* display: none;*/ 323} 324body .single-banner img#image-1183-1723 { 325 object-fit: contain!important; 326 object-position: left; 327} 328.postid-1747 img#image-291-1723 { 329 object-fit: contain !important; 330} 331.postid-1872 div#div_block-1225-1723 { 332 display: none; 333} 334 335#programs-results .program-featured-image img { 336 height: fit-content!important; 337 object-fit: contain!important; 338} 339.postid-1872 section#section-1447-1723 { 340 display: none; 341}
342.postid-1872 div#new_columns-1224-1723 { 343 display: none; 344} 345.postid-1824 .program-video-section,.postid-1724 .program-video-section ,.postid-1727 .program-video-section ,.postid-1728 .program-video-section ,.postid-1733 .program-video-section { 346 display: naone; 347} 348div#new_columns-4-2111 { 349 background-position: 100px 50% !important; 350} 351.left-side-field.referral-field { 352 display: none; 353} 354page-id-1688 #new_columns-1177-895 { 355 background-position: 200px 50% !important; 356} 357div#code_block-1324-1723 .tab-inner a, .tab-inner a * { 358 color: #006cb3 !important; 359 font-weight: 800 !important; 360 transition: all ease-in-out .3s; 361} 362div#code_block-1324-1723 .tab-inner a:hover, .tab-inner a:hover * { 363 color: #043659 !important; 364} 365section#section-1254-1723 section#section-1254-1723 { 366 background: none !important; 367} 368.postid-1806 div#tab2 img { 369 width: 300px; 370 float: right; 371} 372.download-button img{ 373 height:auto!important; 374} 375@media screen and (max-width: 767px) { 376 section#section-15-28 { 377 margin-top: 0px!important; 378 } 379 html body div#inner_content-3-228 .single-page-banner { 380 background-position: center !important; 381 background-size: cover !important; 382 } 383 .ct-section { 384 overflow: hidden; 385} 386 .icon-section-banner-overlay { 387 margin-top: 0!important; 388} 389 div#_rich_text-1267-1613 a, 390div#_rich_text-1459-1613 a { 391 color: #006cb3; 392 font-weight: 700; 393} 394 div#_rich_text-1811-1613 h3 { 395 font-size: 30px; 396} 397 .glance-section-main div#new_columns-308-1723 > div { 398 border-left: 0 !important; 399 border-right: 0 !important; 400} 401 a#div_block-317-1723 { 402 width: 100%; 403} 404 .custom-tabs .tab-content .tab h4 { 405 font-size: 20px; 406} 407 .get-heading-text { 408 text-align: center !important; 409 margin-bottom: 0 !important; 410} 411 .single-banner h1, .single-banner div { 412 text-shadow: 0px 0px 10px #ffffff66; 413} 414 .single-page-banner:after { 415 background: #ffffffb3; 416 position: absolute; 417 width: 100%; 418 height: 100%; 419 content: ""; 420 top: 0; 421 left: 0; 422} 423 424} 425 426section#section-125-2101 a:hover { 427 color: #016cb3; 428} 429 430section#section-228-28:before { 431 z-index: -2!important; 432} 433@media screen and (max-width: 992px) { 434 section#section-233-28{ 435 overflow:visible!important; 436 } 437.latest-design-accordion .oxel_accordion__content { 438 position: relative!important; 439 top: 0px!important; 440 } 441} 442.page-id-2128 [data-form-id="69735297-0549-4646-94c1-9ec7f24f0c9d"] { 443display:none!important; 444} 445</style> 446<link rel='stylesheet' id='oxygen-cache-13-css' href='//jri.org/wp-content/uploads/oxygen/css/13.css?cache=1783009820&ver=7.0.5' media='all' /> 447<link rel='stylesheet' id='oxygen-cache-840-css' href='//jri.org/wp-content/uploads/oxygen/css/840.css?cache=1781192535&ver=7.0.5' media='all' /> 448<link rel='stylesheet' id='oxygen-universal-styles-css' href='//jri.org/wp-content/uploads/oxygen/css/universal.css?cache=1790178378&ver=7.0.5' media='all' /> 449<!-- END OF WP_HEAD() --> 450</head> 451<body class="wp-singular page-template-default page page-id-840 wp-theme-oxygen-is-not-a-theme wp-embed-responsive oxygen-body" > 452 453 <!-- Google Tag Manager (noscript) snippet added by Site Kit --> 454 <noscript> 455 <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TBCHLR56" height="0" width="0" style="display:none;visibility:hidden" loading="lazy"></iframe> 456 </noscript> 457 <!-- End Google Tag Manager (noscript) snippet added by Site Kit --> 458 459 460 461 <header id="_header-2-225" class="oxy-header-wrapper oxy-overlay-header oxy-header" ><div id="_header_row-10-225" class="oxy-header-row" ><div class="oxy-header-container"><div id="_header_left-11-225" class="oxy-header-left" ><a id="link-12-225" class="ct-link " href="/" target="_self" ><img id="image-13-225" alt="JRI Logo" src="https://jri.org/wp-content/uploads/2024/10/JRI-Logo_SVG.svg" class="ct-image" srcset="" sizes="(max-width: 256px) 100v
461w, 256px" alt="JRI Logo"/></a></div><div id="_header_center-14-225" class="oxy-header-center" ></div><div id="_header_right-15-225" class="oxy-header-right" ><div id="div_block-16-225" class="ct-div-block" ><img id="image-173-13" alt="" src="https://jri.org/wp-content/uploads/2024/08/search-icon.png" class="ct-image click-search-iccon" srcset="" sizes="(max-width: 30px) 100vw, 30px" /><div id="div_block-292-13" class="ct-div-block" ><div id="div_block-301-13" class="ct-div-block" ><div id="fancy_icon-221-13" class="ct-fancy-icon" ><svg id="svg-fancy_icon-221-13"><use xlink:href="#Lineariconsicon-magnifier"></use></svg></div><a id="link_text-106-13" class="ct-link-text atomic-primary-button" href="https://jri.org/get-involved/" >GET INVOLVED</a><a id="link_text-110-13" class="ct-link-text atomic-primary-button" href="https://jri.org/give/" target="_self" >GIVE</a><a id="link_text-111-13" class="ct-link-text atomic-primary-button" href="https://jri.org/browse-our-programs/" >BROWSE OUR PROGRAMS</a></div><div id="div_block-302-13" class="ct-div-block" ><div id="div_block-190-13" class="ct-div-block" ><div id="shortcode-187-13" class="ct-shortcode" ><div class="gtranslate_wrapper" id="gt-wrapper-16968943"></div></div><div id="code_block-189-13" class="ct-code-block" ><div id="language-switcher"> 462 <button id="prev-language">Prev</button> 463 <div class="gt_switcher notranslate"> 464 <!-- GTranslate Plugin's HTML Structure Here --> 465 </div> 466 <button id="next-language">Next</button> 467</div> 468</div></div></div></div> 469 <div id="_search_form-171-13" class="oxy-search-form search-bar" > 470 <form apbct-form-sign="native_search" role="search" method="get" id="searchform" class="searchform" action="https://jri.org/"> 471 <div> 472 <label class="screen-reader-text" for="s">Search for:</label> 473 <input type="text" value="" name="s" id="s" /> 474 <input type="submit" id="searchsubmit" value="Search" /> 475 </div> 476 <input 477 class="apbct_special_field apbct_email_id__search_form" 478 name="apbct__email_id__search_form" 479 aria-label="apbct__label_id__search_form" 480 type="text" size="30" maxlength="200" autocomplete="off" 481 value="" 482 /><input 483 id="apbct_submit_id__search_form" 484 class="apbct_special_field apbct__email_id__search_form" 485 name="apbct__label_id__search_form" 486 aria-label="apbct_submit_name__search_form" 487 type="submit" 488 size="30" 489 maxlength="200" 490 value="48251" 491 /></form> </div> 492 493 <nav id="_nav_menu-17-225" class="oxy-nav-menu oxy-nav-menu-dropdowns" ><div class='oxy-menu-toggle'><div class='oxy-nav-menu-hamburger-wrap'><div class='oxy-nav-menu-hamburger'><div class='oxy-nav-menu-hamburger-line'></div><div class='oxy-nav-menu-hamburger-line'></div><div class='oxy-nav-menu-hamburger-line'></div></div></div></div><div class="menu-header-menu-container"><ul id="menu-header-menu" class="oxy-nav-menu-list"><li id="menu-item-50" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-50"><a href="#">Who We Are</a> 494<ul class="sub-menu"> 495 <li id="menu-item-1678" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-840 current_page_item menu-item-1678"><a href="https://jri.org/about/" aria-current="page">About JRI</a></li> 496 <li id="menu-item-1681" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1681"><a href="https://jri.org/our-team/">Our Team</a></li> 497 <li id="menu-item-1680" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1680"><a href="https://jri.org/our-culture/">Our Culture</a></li> 498 <li id="menu-item-1679" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1679"><a href="https://jri.org/annual-reports/">Annual Reports</a></li> 499</ul> 500</li> 501<li id="menu-item-51" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-51"><a href="#">What We Do</a> 502<ul class="sub-menu"> 503 <li id="menu-item-2229" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2229"><a href="https://jri.org/programs/">Programs</a></li> 504 <li id="menu-item-2170" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2170"><a href="https://jri.org/advocacy/">Advocacy</a></li> 505 <li id="menu-item-2171" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2171"><a href="https://jri.org/analytics/">Analytics</a></li> 506 <li id="menu-item-2169" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2169"><a href="https://jri.org/research/">Research</a></li> 507 <li id="menu-item-2168" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2168"><a href="https://jri.org/training/">Training</a></li> 508</ul> 509</li>
510<li id="menu-item-52" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-52"><a href="#">Services</a> 511<ul class="sub-menu"> 512 <li id="menu-item-1663" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1663"><a href="https://jri.org/for-families/">For Families</a></li> 513 <li id="menu-item-1662" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1662"><a href="https://jri.org/for-professionals/">For Professionals</a></li> 514 <li id="menu-item-1661" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1661"><a href="https://jri.org/for-educators/">For Educators</a></li> 515 <li id="menu-item-1660" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1660"><a href="https://jri.org/for-state-agencies/">For State Agencies</a></li> 516 <li id="menu-item-1687" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1687"><a href="https://jri.org/helpful-links/">Helpful Links</a></li> 517</ul> 518</li> 519<li id="menu-item-53" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-53"><a href="#">Join Our Team</a> 520<ul class="sub-menu"> 521 <li id="menu-item-1667" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1667"><a href="https://jri.org/internships/">Internships</a></li> 522 <li id="menu-item-1666" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1666"><a href="https://jri.org/growth-opportunities/">Growth Opportunities</a></li> 523 <li id="menu-item-1665" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1665"><a href="https://jri.org/careers/">Careers</a></li> 524</ul> 525</li> 526<li id="menu-item-54" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-54"><a href="#">Media Library</a> 527<ul class="sub-menu"> 528 <li id="menu-item-1682" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1682"><a href="https://jri.org/podcast/">Podcast</a></li> 529 <li id="menu-item-814" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-814"><a href="https://jri.org/events/">Events</a></li> 530 <li id="menu-item-815" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-815"><a href="https://jri.org/jri-news/">News</a></li> 531 <li id="menu-item-2664" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2664"><a href="https://jri.org/jri-foster-care/">Foster Care Blog</a></li> 532 <li id="menu-item-2665" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2665"><a href="https://jri.org/jri-first-connection/">First Connections Blog</a></li> 533 <li id="menu-item-876" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-876"><a href="https://jri.org/jri-program-videos/">Videos</a></li> 534 <li id="menu-item-818" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-818"><a href="https://jri.org/publications/">Publications</a></li> 535</ul> 536</li> 537<li id="menu-item-55" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-55"><a href="#">Get Answers</a> 538<ul class="sub-menu"> 539 <li id="menu-item-1668" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1668"><a href="https://jri.org/faq/">FAQ</a></li> 540 <li id="menu-item-1707" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1707"><a href="https://jri.org/complaints/">Complaints</a></li> 541 <li id="menu-item-4151" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4151"><a href="https://jri.org/record-request/">Record Request</a></li> 542 <li id="menu-item-1708" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1708"><a href="https://jri.org/contact-us/">Contact Us</a></li> 543</ul> 544</li> 545</ul></div></nav></div></div></div></div></header> 546 <div id='inner_content-3-228' class='ct-inner-content'><section id="section-641-840" class=" ct-section single-banner new-pages-desgin" ><div class="ct-section-inner-wrap"><div id="new_columns-642-840" class="ct-new-columns single-page-banner" ><div id="div_block-643-840" class="ct-div-block" ><div id="div_block-644-840" class="ct-div-block" ><h1 id="headline-645-840" class="ct-headline"><b></b>About <b>JRI</b></h1><div id="text_block-646-840" class="ct-text-block" >Justice Resource Institute (JRI) is a recognized leader in social justice initiatives and one of New England's largest human services providers.</div></div></div><div id="div_block-647-840" class="ct-div-block" ></div></div></div></section><section id="section-650-840" class=" ct-section " ><div class="ct-section-inner-wrap"><h3 id="headline-651-840" class="ct-headline light-blue-bold">The work of social justice<br><b>is never done.</b></h3><div id="text_block-652-840" class="ct-text-block" >For over 50 years, JRI has been dedicated to nurturing and empowering underserved children, individuals, families, and communities across Massachusetts, Rh
546ode Island, and Connecticut. We recognize the profound need for compassionate human services programs and the importance of continually innovating how we deliver this vital care. </div><h6 id="headline-653-840" class="ct-headline">We strive to create a world where every person, regardless of their circumstances, has access to the support and resources they need to thrive.</h6><a id="link_text-654-840" class="ct-link-text atomic-primary-button" href="https://jri.org/browse-our-programs/" >BROWSE OUR PROGRAMS</a></div></section><section id="section-655-840" class=" ct-section" ><div class="ct-section-inner-wrap"><h3 id="headline-1080-840" class="ct-headline light-blue-bold">What does <b>JRI </b>do?</h3><div id="new_columns-661-840" class="ct-new-columns" ><div id="div_block-710-840" class="ct-div-block" ><div id="div_block-726-840" class="ct-div-block" ><img id="image-725-840" alt="Group of diverse people smiling, gathered outdoors around a table." src="https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-scaled.jpg" class="ct-image" srcset="https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-scaled.jpg 2560w, https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-300x225.jpg 300w, https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-1024x768.jpg 1024w, https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-768x576.jpg 768w, https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-1536x1152.jpg 1536w, https://jri.org/wp-content/uploads/2025/01/Inclusive-Strategies-3-2048x1536.jpg 2048w" sizes="(max-width: 2560px) 100v
546w, 2560px" /></div></div><div id="div_block-662-840" class="ct-div-block" ><div id="text_block-729-840" class="ct-text-block" >With a network of more than 100 human services programs, 2,500 employees, and a wide range of research and training programs serving JRI employees and other organizations, it can be hard to describe JRI in simple terms, but at the heart of all we do are two essential functions.</div><div id="div_block-664-840" class="ct-div-block" ><div id="div_block-665-840" class="ct-div-block check-icon" ><img id="image-666-840" alt="" src="https://jri.org/wp-content/uploads/2024/08/check-icon.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-667-840" class="ct-text-block" ><b>We provide trauma informed care</b> for children, families, and individuals in need.</div></div><div id="div_block-668-840" class="ct-div-block check-icon" ><img id="image-669-840" alt="" src="https://jri.org/wp-content/uploads/2024/08/check-icon.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-670-840" class="ct-text-block" ><b>We challenge the status quo</b> in how those services are provided through rigorous research and training initiatives.</div></div></div><div id="text_block-731-840" class="ct-text-block light-blue-bold" >At the same time, JRI is deeply committed to <b>innovation and growth in culture and social impact</b>, and we share what we learn in this effort with others.</div></div></div></div></section><section id="section-751-840" class=" ct-section" ><div class="ct-section-inner-wrap"><div id="div_block-887-840" class="ct-div-block" ><h3 id="headline-752-840" class="ct-headline light-blue-bold yellow"><b>Who does</b> JRI serve?<b></b></h3><div id="new_columns-753-840" class="ct-new-columns" ><div id="div_block-757-840" class="ct-div-block" ><div id="text_block-758-840" class="ct-text-block" ><b>Our human services</b> programs serve a wide range of needs through residential, outpatient, and community-based services, including:</div><div id="div_block-1086-840" class="ct-div-block" ><div id="div_block-1090-840" class="ct-div-block" ><div id="div_block-1091-840" class="ct-div-block check-icon" ><img id="image-1092-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-1093-840" class="ct-text-block" ><b></b>Children, adolescents and their families who have experienced trauma.</div></div></div></div><div id="div_block-759-840" class="ct-div-block" ><div id="div_block-760-840" class="ct-div-block check-icon" ><img id="image-761-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-762-840" class="ct-text-block" ><b></b>Youth of all identities.</div></div></div><div id="div_block-769-840" class="ct-div-block" ><div id="div_block-770-840" class="ct-div-block check-icon" ><img id="image-771-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-772-840" class="ct-text-block" ><b></b>Individuals with developmental delays who are living with mental illness or behavioral challenges.</div></div></div><div id="div_block-773-840" class="ct-div-block" ><div id="div_block-774-840" class="ct-div-block check-icon" ><img id="image-775-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-776-840" class="ct-text-block" ><b></b>Children, adolescents and adults who have a mental illness or are behaviorally challenged.</div></div></div><div id="div_block-777-840" class="ct-div-block" ><div id="div_block-778-840" class="ct-div-block check-icon" ><img id="image-779-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-780-840" class="ct-text-block" ><b></b>Court-involved children and adolescents.</div></div></div><div id="div_block-781-840" class="ct-div-block" ><div id="div_block-782-840" class="ct-div-block check-icon" ><img id="image-783-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100v
546w, 36px" /><div id="text_block-784-840" class="ct-text-block" ><b></b>People living with HIV/AIDS or are at risk for infection.</div></div></div><div id="div_block-789-840" class="ct-div-block" ><div id="div_block-790-840" class="ct-div-block check-icon" ><img id="image-791-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-792-840" class="ct-text-block" ><b></b>Those with severe developmental differences who require significant medical involvement.</div></div></div></div><div id="div_block-754-840" class="ct-div-block" ><div id="div_block-755-840" class="ct-div-block" ><img id="image-756-840" alt="Two adults and a child playing in a sandbox outside." src="https://jri.org/wp-content/uploads/2025/01/file-scaled.jpg" class="ct-image" srcset="https://jri.org/wp-content/uploads/2025/01/file-scaled.jpg 2560w, https://jri.org/wp-content/uploads/2025/01/file-300x192.jpg 300w, https://jri.org/wp-content/uploads/2025/01/file-1024x655.jpg 1024w, https://jri.org/wp-content/uploads/2025/01/file-768x491.jpg 768w, https://jri.org/wp-content/uploads/2025/01/file-1536x982.jpg 1536w, https://jri.org/wp-content/uploads/2025/01/file-2048x1310.jpg 2048w" sizes="(max-width: 2560px) 100v
546w, 2560px" /></div></div></div><div id="new_columns-835-840" class="ct-new-columns" ><div id="div_block-866-840" class="ct-div-block" ><div id="div_block-867-840" class="ct-div-block" ><img id="image-868-840" alt="Woman smiling and raising hand during conversation with another person." src="https://jri.org/wp-content/uploads/2025/01/SS1_4696-scaled.jpg" class="ct-image" srcset="https://jri.org/wp-content/uploads/2025/01/SS1_4696-scaled.jpg 2560w, https://jri.org/wp-content/uploads/2025/01/SS1_4696-300x200.jpg 300w, https://jri.org/wp-content/uploads/2025/01/SS1_4696-1024x681.jpg 1024w, https://jri.org/wp-content/uploads/2025/01/SS1_4696-768x511.jpg 768w, https://jri.org/wp-content/uploads/2025/01/SS1_4696-1536x1022.jpg 1536w, https://jri.org/wp-content/uploads/2025/01/SS1_4696-2048x1363.jpg 2048w" sizes="(max-width: 2560px) 100vw, 2560px" /></div></div><div id="div_block-836-840" class="ct-div-block" ><div id="text_block-837-840" class="ct-text-block" ><b>Our research and training programs </b>are designed to serve human services leaders and organizations from every background.</div><div id="div_block-838-840" class="ct-div-block" ><div id="div_block-839-840" class="ct-div-block check-icon" ><img id="image-840-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-841-840" class="ct-text-block" ><b></b>Professionals including healthcare students, professors, social workers, researchers, and others engaged in human services.</div></div></div><div id="div_block-842-840" class="ct-div-block" ><div id="div_block-843-840" class="ct-div-block check-icon" ><img id="image-844-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-845-840" class="ct-text-block" ><b></b>State Agencies and their employees involved in policy-making, program administration, and social services.</div></div></div><div id="div_block-846-840" class="ct-div-block" ><div id="div_block-847-840" class="ct-div-block check-icon" ><img id="image-848-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-849-840" class="ct-text-block" ><b></b>Educators including teachers, school administrators, and educational staff.</div></div></div><div id="div_block-850-840" class="ct-div-block" ><div id="div_block-851-840" class="ct-div-block check-icon" ><img id="image-852-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/white-check.png" class="ct-image" srcset="" sizes="(max-width: 36px) 100vw, 36px" /><div id="text_block-853-840" class="ct-text-block" ><b></b>Recent graduates and job seekers who are looking to develop their careers.</div></div></div></div></div><a id="link_text-871-840" class="ct-link-text atomic-primary-button" href="https://jri.org/browse-our-programs/" >BROWSE OUR PROGRAMS</a></div><div id="div_block-886-840" class="ct-div-block" ></div></div></section><section id="section-872-840" class=" ct-section" ><div class="ct-section-inner-wrap"><div id="div_block-874-840" class="ct-div-block" ><img id="image-873-840" alt="Three people in formal attire standing indoors, holding papers." src="https://jri.org/wp-content/uploads/2025/06/susanandysteve.jpg" class="ct-image" srcset="https://jri.org/wp-content/uploads/2025/06/susanandysteve.jpg 783w, https://jri.org/wp-content/uploads/2025/06/susanandysteve-246x300.jpg 246w, https://jri.org/wp-content/uploads/2025/06/susanandysteve-768x936.jpg 768w" sizes="(max-width: 783px) 100vw, 783px" /></div><h3 id="headline-876-840" class="ct-headline light-blue-bold">A History of <b>JRI</b><b></b></h3><div id="text_block-878-840" class="ct-text-block" >JRI was founded in 1973 in response to massive, systemic problems created by the deinstitutionalization movement in Massachusetts. The young leaders who founded our organizations took risks in partnering with government agencies to address the most confou
546nding issues facing rapidly-changing justice and human services systems.<br><br>Over time, as JRI developed its network of more than 100 human services programs, we developed innovative research programs that would identify ways to improve human service delivery models and public policy across the country. </div><a id="link_text-880-840" class="ct-link-text atomic-primary-button" href="https://jri.org/browse-our-programs/" >BROWSE OUR PROGRAMS</a></div></section><section id="section-981-840" class=" ct-section" ><div class="ct-section-inner-wrap"><div id="new_columns-983-840" class="ct-new-columns" ><div id="div_block-984-840" class="ct-div-block" ><div id="div_block-985-840" class="ct-div-block" ><img id="image-986-840" alt="Mental Health Awareness Training Team with green ribbons on their shirts, smiling and hugging each other." src="https://jri.org/wp-content/uploads/2025/06/Mental-Health-Awareness-Training-Team.jpg" class="ct-image" srcset="https://jri.org/wp-content/uploads/2025/06/Mental-Health-Awareness-Training-Team.jpg 922w, https://jri.org/wp-content/uploads/2025/06/Mental-Health-Awareness-Training-Team-216x300.jpg 216w, https://jri.org/wp-content/uploads/2025/06/Mental-Health-Awareness-Training-Team-738x1024.jpg 738w, https://jri.org/wp-content/uploads/2025/06/Mental-Health-Awareness-Training-Team-768x1066.jpg 768w" sizes="(max-width: 922px) 100vw, 922px" /></div></div><div id="div_block-987-840" class="ct-div-block" ><h3 id="headline-998-840" class="ct-headline light-blue-bold">How Does JRI <br><b>Approach Its Work?</b><b></b></h3><div id="text_block-996-840" class="ct-text-block light-blue-bold" >Our goal is never growth for growthâs sake. Rather than serially developing similar programs, we strive to operate innovative, leading programs within each model of service.<br><br>We donât follow trends. We develop models that set trends and reshape social justice systems by example, and we pursue this constant quest for innovation and improvement through a process we refer to as <b>the JRI Circle.</b></div></div></div></div></section><section id="section-889-840" class=" ct-section" ><div class="ct-section-inner-wrap"><h3 id="headline-890-840" class="ct-headline light-blue-bold">The <b>JRI Circle</b><b></b></h3><div id="new_columns-892-840" class="ct-new-columns services-circle-section" ><div id="div_block-893-840" class="ct-div-block" ><div id="text_block-895-840" class="ct-text-block" >The JRI circle is a process that holds us accountable to constant growth and evolution in how our human services programs deliver their services. The discoveries we make are shared with other human services agencies and professionals. </div><div id="div_block-943-840" class="ct-div-block" ><div id="div_block-944-840" class="ct-div-block check-icon left-collecting" ><div id="code_block-951-840" class="ct-code-block" ><svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 547<mask id="mask0_30_2890" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="36" height="36"> 548<path fill-rule="evenodd" clip-rule="evenodd" d="M36 0V36H0V0H36Z" fill="white"/> 549</mask> 550<g mask="url(#mask0_30_2890)"> 551<path fill-rule="evenodd" clip-rule="evenodd" d="M18.1777 36.3554C8.13838 36.3554 0 28.2169 0 18.1777C0 8.13848 8.13838 0 18.1777 0C28.2169 0 36.3554 8.13848 36.3554 18.1777C36.3554 28.2169 28.2169 36.3554 18.1777 36.3554Z" fill="#67BAE6"/> 552<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4823 24.8283L8.57212 18.918C7.91475 18.2607 7.91475 17.195 8.57212 16.5378C9.22935 15.8806 10.295 15.8806 10.9523 16.5378L15.6725 21.2578L25.4033 11.5271C26.0606 10.8699 27.1262 10.8699 27.7835 11.5271C28.4409 12.1845 28.4409 13.2501 27.7835 13.9073L16.8626 24.8283C16.534 25.1569 16.1032 25.3213 15.6725 25.3213C15.2417 25.3213 14.811 25.1569 14.4823 24.8283Z" fill="white"/> 553</g> 554</svg></div><div id="text_block-946-840" class="ct-text-block" ><b>Collecting Data: </b>We gather data on the effectiveness of the services we provide to those in our care.</div></div><div id="div_block-953-840" class="ct-div-block check-icon left-feedring" ><div id="code_block-954-840" class="ct-code-block" ><svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 555<mask id="mask0_30_2890" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="36" height="36"> 556<path fill-rule="evenodd" clip-rule="evenodd" d="M36 0V36H0V0H36Z" fill="white"/> 557</mask> 558<g mask="url(#mask0_30_2890)"> 559<path fill-rule="evenodd" clip-rule="evenodd" d="M18.1777 36.3554C8.13838 36.3554 0 28.2169 0 18.1777C0 8.13848 8.13838 0 18.1777 0C28.2169 0 36.3554 8.13848 36.3554 18.1777C36.3554 28.2169 28.2169 36.3554 18.1777 36.3554Z" fill="#67BAE6"/> 560<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4823 24.8283L8.57212 18.918C7.91475 18.2607 7.91475 17.195 8.572
56012 16.5378C9.22935 15.8806 10.295 15.8806 10.9523 16.5378L15.6725 21.2578L25.4033 11.5271C26.0606 10.8699 27.1262 10.8699 27.7835 11.5271C28.4409 12.1845 28.4409 13.2501 27.7835 13.9073L16.8626 24.8283C16.534 25.1569 16.1032 25.3213 15.6725 25.3213C15.2417 25.3213 14.811 25.1569 14.4823 24.8283Z" fill="white"/> 561</g> 562</svg></div><div id="text_block-955-840" class="ct-text-block" ><b>Feeding Research: </b>Our Research Team uses this data in research projects to identify gaps in social justice.</div></div><div id="div_block-956-840" class="ct-div-block check-icon left-supporting" ><div id="code_block-957-840" class="ct-code-block" ><svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 563<mask id="mask0_30_2890" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="36" height="36"> 564<path fill-rule="evenodd" clip-rule="evenodd" d="M36 0V36H0V0H36Z" fill="white"/> 565</mask> 566<g mask="url(#mask0_30_2890)"> 567<path fill-rule="evenodd" clip-rule="evenodd" d="M18.1777 36.3554C8.13838 36.3554 0 28.2169 0 18.1777C0 8.13848 8.13838 0 18.1777 0C28.2169 0 36.3554 8.13848 36.3554 18.1777C36.3554 28.2169 28.2169 36.3554 18.1777 36.3554Z" fill="#67BAE6"/> 568<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4823 24.8283L8.57212 18.918C7.91475 18.2607 7.91475 17.195 8.57212 16.5378C9.22935 15.8806 10.295 15.8806 10.9523 16.5378L15.6725 21.2578L25.4033 11.5271C26.0606 10.8699 27.1262 10.8699 27.7835 11.5271C28.4409 12.1845 28.4409 13.2501 27.7835 13.9073L16.8626 24.8283C16.534 25.1569 16.1032 25.3213 15.6725 25.3213C15.2417 25.3213 14.811 25.1569 14.4823 24.8283Z" fill="white"/> 569</g> 570</svg></div><div id="text_block-958-840" class="ct-text-block" ><b>Supporting Training: </b>The insights gained from our research are used to develop innovative training initiatives that improve our services.</div></div><div id="div_block-959-840" class="ct-div-block check-icon left-people" ><div id="code_block-960-840" class="ct-code-block" ><svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 571<mask id="mask0_30_2890" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="36" height="36"> 572<path fill-rule="evenodd" clip-rule="evenodd" d="M36 0V36H0V0H36Z" fill="white"/> 573</mask> 574<g mask="url(#mask0_30_2890)"> 575<path fill-rule="evenodd" clip-rule="evenodd" d="M18.1777 36.3554C8.13838 36.3554 0 28.2169 0 18.1777C0 8.13848 8.13838 0 18.1777 0C28.2169 0 36.3554 8.13848 36.3554 18.1777C36.3554 28.2169 28.2169 36.3554 18.1777 36.3554Z" fill="#67BAE6"/> 576<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4823 24.8283L8.57212 18.918C7.91475 18.2607 7.91475 17.195 8.57212 16.5378C9.22935 15.8806 10.295 15.8806 10.9523 16.5378L15.6725 21.2578L25.4033 11.5271C26.0606 10.8699 27.1262 10.8699 27.7835 11.5271C28.4409 12.1845 28.4409 13.2501 27.7835 13.9073L16.8626 24.8283C16.534 25.1569 16.1032 25.3213 15.6725 25.3213C15.2417 25.3213 14.811 25.1569 14.4823 24.8283Z" fill="white"/> 577</g> 578</svg></div><div id="text_block-961-840" class="ct-text-block" ><b>Serving the People:</b> New and innovative ways of caring for the people we serve are implemented. In doing so, we generate new data for study, and the cycle begins again.</div></div><div id="div_block-962-840" class="ct-div-block check-icon left-rebuilding" ><div id="code_block-963-840" class="ct-code-block" ><svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"> 579<mask id="mask0_30_2890" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="36" height="36"> 580<path fill-rule="evenodd" clip-rule="evenodd" d="M36 0V36H0V0H36Z" fill="white"/> 581</mask> 582<g mask="url(#mask0_30_2890)"> 583<path fill-rule="evenodd" clip-rule="evenodd" d="M18.1777 36.3554C8.13838 36.3554 0 28.2169 0 18.1777C0 8.13848 8.13838 0 18.1777 0C28.2169 0 36.3554 8.13848 36.3554 18.1777C36.3554 28.2169 28.2169 36.3554 18.1777 36.3554Z" fill="#67BAE6"/> 584<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4823 24.8283L8.57212 18.918C7.91475 18.2607 7.91475 17.195 8.57212 16.5378C9.22935 15.8806 10.295 15.8806 10.9523 16.5378L15.6725 21.2578L25.4033 11.5271C26.0606 10.8699 27.1262 10.8699 27.7835 11.5271C28.4409 12.1845 28.4409 13.2501 27.7835 13.9073L16.8626 24.8283C16.534 25.1569 16.1032 25.3213 15.6725 25.3213C15.2417 25.3213 14.811 25.1569 14.4823 24.8283Z" fill="white"/> 585</g> 586</svg></div><div id="text_block-964-840" class="ct-text-block" ><b>Rebuilding Foundations:</b> The training we provide changes the delivery models of our programs at a foundational level.</div></div></div></div><div id="div_block-894-840" class="ct-div-block" ><div id="div_block-898-840" class="ct-div-block circle-section" ><div id="div_block-899-840" class="ct-div-block circle-gray-box feeding-research-box" ><div id="div_block-900-840" class="ct-div-block" ><img id="image-902-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/searching.png" class="ct-image" srcset="" sizes="(max-width: 32px) 100vw, 32px" /></div><div id="div_block-901-840" class="ct-div-block" ><h6 id="headline-903-840" class="ct-headline">Feeding<br>Research</h6></div></div><div id="div_block-904-840" class="ct-div-block circle-gray-box supporting-training-box" ><div id="div_block-905-840" class="ct-div-block" ><img id="image-906-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/trainign.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" /></div><div id="div_block-907-840" class="ct-div-block" ><h6 id="headline-908-840" class="ct-headline">Supporting<br> Training</h6></div></div><div id="div_block-909-840" class="ct-div-block circle-gray-box serving-people-box" ><div id="div_block-910-840" class="ct-div-block" ><img id="image-911-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/services.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" /></div><div id="div_block-912-840" class="ct-div-block" ><h6 id="headline-913-840" class="ct-headline">Serving<br>
586the People</h6></div></div><div id="div_block-914-840" class="ct-div-block circle-gray-box rebuilding-box" ><div id="div_block-915-840" class="ct-div-block" ><img id="image-916-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/rebuilding.png" class="ct-image" srcset="" sizes="(max-width: 34px) 100vw, 34px" /></div><div id="div_block-917-840" class="ct-div-block" ><h6 id="headline-918-840" class="ct-headline rebuilding-foundations">Rebuilding<br>Foundations</h6></div></div><div id="div_block-919-840" class="ct-div-block circle-gray-box Collecting-Data-box" ><div id="div_block-920-840" class="ct-div-block" ><img id="image-921-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/Collections.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" /></div><div id="div_block-922-840" class="ct-div-block" ><h6 id="headline-923-840" class="ct-headline rebuilding-foundations">Collecting<br>Data</h6></div></div><div id="div_block-924-840" class="ct-div-block center-gray-circle" ><div id="div_block-926-840" class="ct-div-block small-gray-circle" ></div><div id="div_block-927-840" class="ct-div-block polygon-icon" ><img id="image-925-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/Polygon-2.png" class="ct-image without-hover" srcset="" sizes="(max-width: 44px) 100vw, 44px" /><img id="image-929-840" alt="" src="https://jri.org/wp-content/uploads/2024/09/Polygon-hover.png" class="ct-image with-color-hover" srcset="" sizes="(max-width: 44px) 100vw, 44px" /></div></div></div></div></div><div id="video-1074-840" class="ct-video" alt="About JRI"> 587 <div class="oxygen-vsb-responsive-video-wrapper"><iframe src="https://jri.org//wp-content/uploads/2025/03/jris_approach_to_data-driven_trauma-informed_care-360p.mp4" frameborder="0" referrerpolicy="strict-origin-when-cross-origin" webkitallowfullscreen mozallowfullscreen allowfullscreen loading="lazy"></iframe></div> 588 </div></div></section><section id="section-1002-840" class=" ct-section" ><div class="ct-section-inner-wrap"><div id="div_block-1003-840" class="ct-div-block" ><h3 id="headline-1004-840" class="ct-headline light-blue-bold yellow"><b></b>Our <b>Mission</b><b></b></h3><h6 id="headline-1064-840" class="ct-headline">Justice Resource Institute works in partnership with individuals, families, communities, and government to pursue the social justice inherent in opening doors to opportunity and independence.</h6></div></div></section><section id="section-1065-840" class=" ct-section" ><div class="ct-section-inner-wrap"><h3 id="headline-1066-840" class="ct-headline light-blue-bold">JRI Board <b>of Trustees</b><b></b></h3><div id="text_block-1070-840" class="ct-text-block" >Fran Rosenberg, M.Ed - Board Chairperson<br>Judith Tsipis, PhD - Vice Chairperson<br>Mark S. Cuddy, CPCU, CIC - Treasurer<br>Mia DeMarco, MPA - Clerk<br>Pratiti Bandopadhayay, MBBS, PhD<br>Douglas M. Brooks, MSW<br>Jim Cunha<br>Joel Kershner<br>Danielle Murstein, MD<br>Caro Ruiz<br>Jacquelyn Wayne, JD</div><h3 id="headline-1071-840" class="ct-headline light-blue-bold">Other <b>Officers</b><b></b></h3><div id="text_block-1073-840" class="ct-text-block" >Meredith Rapoza, LMHC - Assistant Clerk<br>Kari Beserra, LMHC - Assistant Clerk<br>Bisser Dokov, MBA - Assistant Treasurer</div></div></section></div><section id="section-20-225" class=" ct-section" ><div class="ct-section-inner-wrap"><div id="new_columns-21-225" class="ct-new-columns" ><div id="div_block-22-225" class="ct-div-block" ><img id="image-60-13" alt="" src="https://jri.org/wp-content/uploads/2024/10/JRI-Logo_SVG.svg" class="ct-image" srcset="" sizes="(max-width: 256px) 100v
588w, 256px" /></div><div id="div_block-26-225" class="ct-div-block" ><h4 id="headline-27-225" class="ct-headline atomic-footer-7-title">WHO WE ARE</h4><a id="link_text-28-225" class="ct-link-text atomic-footer-7-link" href="https://jri.org/about/" >About JRI</a><a id="link_text-29-225" class="ct-link-text atomic-footer-7-link" href="/our-team/" target="_self" >Our Team</a><a id="link_text-31-225" class="ct-link-text atomic-footer-7-link" href="https://jri.org/our-culture/" >Our Culture</a><a id="link_text-30-225" class="ct-link-text atomic-footer-7-link" href="/annual-reports/" target="_self" >Annual Reports</a></div><div id="div_block-33-225" class="ct-div-block" ><h4 id="headline-34-225" class="ct-headline atomic-footer-7-title">WHAT WE DO</h4><a id="link_text-35-225" class="ct-link-text atomic-footer-7-link" href="https://jri.org/programs/" >Programs</a><a id="link_text-196-13" class="ct-link-text atomic-footer-7-link" href="https://jri.org/advocacy/" >Advocacy</a><a id="link_text-36-225" class="ct-link-text atomic-footer-7-link" href="/analytics/" target="_self" >Analytics</a><a id="link_text-37-225" class="ct-link-text atomic-footer-7-link" href="/research/" target="_self" >Research</a><a id="link_text-38-225" class="ct-link-text atomic-footer-7-link" href="/training/" target="_self" >Training</a></div><div id="div_block-40-225" class="ct-div-block" ><h4 id="headline-41-225" class="ct-headline atomic-footer-7-title">SERVICES</h4><a id="link_text-42-225" class="ct-link-text atomic-footer-7-link" href="/for-families/" >For Families</a><a id="link_text-43-225" class="ct-link-text atomic-footer-7-link" href="/for-professionals/" target="_self" >For Professionals</a><a id="link_text-44-225" class="ct-link-text atomic-footer-7-link" href="/for-state-agencies/" target="_self" >For State Agencies</a><a id="link_text-45-225" class="ct-link-text atomic-footer-7-link" href="/for-educators/" target="_self" >For Educators</a><a id="link_text-46-225" class="ct-link-text atomic-footer-7-link" href="/helpful-links/" target="_self" >Helpful Links</a></div><div id="div_block-67-13" class="ct-div-block" ><h4 id="headline-68-13" class="ct-headline atomic-footer-7-title">JOIN OUR TEAM</h4><a id="link_text-71-13" class="ct-link-text atomic-footer-7-link" href="/internships/" target="_self" >Internships</a><a id="link_text-72-13" class="ct-link-text atomic-footer-7-link" href="/growth-opportunities/" target="_self" >Growth Opportunities</a><a id="link_text-69-13" class="ct-link-text atomic-footer-7-link" href="/careers/" target="_self" >Careers</a></div><div id="div_block-74-13" class="ct-div-block" ><h4 id="headline-75-13" class="ct-headline atomic-footer-7-title">MEDIA LIBRARY</h4><a id="link_text-76-13" class="ct-link-text atomic-footer-7-link" href="/podcast/" target="_self" >Podcast</a><a id="link_text-77-13" class="ct-link-text atomic-footer-7-link" href="/jri-news/" target="_self" >News</a><a id="link_text-78-13" class="ct-link-text atomic-footer-7-link" href="/events/" target="_self" >Events</a><a id="link_text-79-13" class="ct-link-text atomic-footer-7-link" href="/jri-first-connection/" target="_self" >First Connections Blog</a><a id="link_text-218-13" class="ct-link-text atomic-footer-7-link" href="/jri-foster-care/" target="_self" >Foster Care Blog</a><a id="link_text-175-13" class="ct-link-text atomic-footer-7-link" href="/jri-program-videos/" target="_self" >Videos</a><a id="link_text-176-13" class="ct-link-text atomic-footer-7-link" href="/publications/" target="_self" >Publications</a></div><div id="div_block-81-13" class="ct-div-block" ><h4 id="headline-82-13" class="ct-headline atomic-footer-7-title">GET ANSWERS</h4><a id="link_text-83-13" class="ct-link-text atomic-footer-7-link" href="/faq/" target="_self" >FAQ</a><a id="link_text-84-13" class="ct-link-text atomic-footer-7-link" href="/complaints/" target="_self" >Complaints</a><a id="link_text-303-13" class="ct-link-text atomic-footer-7-link" href="https://jri.org/record-request/" target="_self" >Record Request</a><a id="link_text-87-13" class="ct-link-text atomic-footer-7-link" href="/contact-us/" target="_self" >Contact Us</a></div></div><div id="div_block-47-225" class="ct-div-block" ><div id="new_columns-112-13" class="ct-new-columns" ><div id="div_block-123-13" class="ct-div-block" ><div id="new_columns-215-13" class="ct-new-columns" ><div id="div_block-216-13" class="ct-div-block" ><img id="image-213-13" alt="CARF accreditation badge" src="https://jri.org/wp-content/uploads/2024/10/CARF-1.png" class="ct-image" srcset="" sizes="(max-width: 142px) 100vw, 142px" /></div><div id="div_block-217-13" class="ct-div-block" ><img id="image-211-13" alt="Joint Commission International Quality Approval gold seal." src="https://jri.org/wp-content/uploads/2024/10/pngegg-1.png" class="ct-image" srcset="" sizes="(max-width: 149px) 100vw, 149px" /></div></div><div id="text_block-209-13" class="ct-text-block" >JRI's intensive residential treatment programs, clinics, and community-based services are accredited by the Joint Commission. JRI's residential schools, group homes, day habilitation and Huntington at Symphony are accredited by CARF.</div></div><div id="div_block-203-13" class="ct-div-block" ><div id="div_block-204-13" class="ct-div-block header-buttons" ><a id="link_text-219-13" class="ct-link-text atomic-primary-button" href="/browse-our-programs/" >Browse Our Programs</a><a id="link_text-205-13" class="ct-link-text atomic-primary-button" href="https://jri.org/get-involved/" >GET INVOLVED</a><a id="link_text-206-13" class="ct-link-text atomic-primary-button" href="https://jri.org/give/" >GIVE</a><a id="link_text-207-13" class="ct-link-text atomic-primary-button" href="https://gabraintree.sharepoint.com/SitePages/Home.aspx" target="_blank" >EMPLOYEE PORTAL</a><a id="link_text-208-13" class="ct-link-text atomic-primary-button" href="https://board.jri.org/" target="_blank" >BOARD PORTAL</a></div></div><div id="div_block-130-13" class="ct-div-block" ><div id="div_block-186-13" class="ct-div-block" ><a id="link-179-13" class="ct-link" href="https://www.instagram.com/justice_resource_institute/?hl=en" ><img id="image-178-13" alt="Instagram" src="https://jri.org/wp-content/uploads/2024/08/instagram.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" alt="Instagram"/></a><a id="link-180-13" class="ct-link" href="https://www.facebook.com/JusticeResourceInstitute/" ><img id="image-181-13" alt="facebook" src="https://jri.org/wp-content/uploads/2024/08/facebook.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" alt="facebook"/></a><a id="link-182-13" class="ct-link" href="https://www.linkedin.com/company/justice-resource-institute/" ><img id="image-183-13" alt="linkedin" src="https://jri.org/wp-content/uploads/2024/08/linkdin.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" alt="linkedin"/></a><a id="link-184-13" class="ct-link" href="https://www.tiktok.com/@jrisocialjustice" ><img id="image-185-13" alt="tiktok" src="https://jri.org/wp-content/uploads/2024/08/tiktok.png" class="ct-image" srcset="" sizes="(max-width: 33px) 100vw, 33px" alt="tiktok"/></a></div></div></div></div></div></section> <div tabindex="-1" class="oxy-modal-backdrop " 589 style="background-color: rgba(0,0,0,0.5);" 590 data-trigger="user_clicks_element" data-trigger-selector="#fancy_icon-221-13" data-trigger-time="5" data-trigger-time-unit="seconds" data-close-automatically="no" data-close-after-time="10" data-close-after-time-unit="seconds" data-trigger_scroll_amount="50" data-trigger_scroll_direction="down" data-scroll_to_selector="" data-time_inactive="60" data-time-inactive-unit="seconds" data-number_of_clicks="3" data-close_on_esc="on" data-number_of_page_views="3" data-close-after-form-submit="no" data-open-again="always_show" data-open-again-after-days="3" > 591 592 <div id="modal-225-13" class="ct-modal" > 593 <div id="_search_form-227-13" class="oxy-search-form" > 594 <form apbct-form-sign="native_search" role="search" method="get" id="searchform" class="searchform" action="https://jri.org/"> 595 <div> 596 <label class="screen-reader-text" for="s">Search for:</label> 597 <input type="text" value="" name="s" id="s" /> 598 <input type="submit" id="searchsubmit" value="Search" /> 599 </div> 600 <input
601 class="apbct_special_field apbct_email_id__search_form" 602 name="apbct__email_id__search_form" 603 aria-label="apbct__label_id__search_form" 604 type="text" size="30" maxlength="200" autocomplete="off" 605 value="" 606 /><input 607 id="apbct_submit_id__search_form" 608 class="apbct_special_field apbct__email_id__search_form" 609 name="apbct__label_id__search_form" 610 aria-label="apbct_submit_name__search_form" 611 type="submit" 612 size="30" 613 maxlength="200" 614 value="15416" 615 /></form> </div> 616 617 </div> 618 </div> 619 <section id="section-101-13" class=" ct-section" ><div class="ct-section-inner-wrap"><div id="div_block-52-225" class="ct-div-block" ><div id="div_block-55-225" class="ct-div-block" ><div id="_rich_text-197-13" class="oxy-rich-text" ><p>Copyright ⸠2026 JRI. All rights reserved. <span style="text-decoration: underline;"><a href="https://jri.org/privacy-policy/">Privacy Policy</a></span>. <a href="https://jri.org/wp-content/uploads/2025/08/LanguageAccessibility_Notice_9.16.19.pdf">Language Accessibility Notice</a>. <a href="https://www.bluebenefitma.com/employer-resources/">Machine Readable File Links</a>.</p></div></div></div></div></section><div id="div_block-192-13" class="ct-div-block" ></div><div id="functions" class="ct-code-block" ></div><div id="code_block-228-13" class="ct-code-block" ><!-- External Link Modal --> 620<div id="externalModal" class="modal"> 621 <div class="modal-content"> 622 <span class="modal-close">×</span> 623 <div class="modal-body"> 624 <div class="modal-icon">!</div> 625 <h2>You are Now Leaving JRI's Website</h2> 626 <p> 627 You are about to be redirected to a third-party website. Please note 628 that JRI is not responsible for the content, security, or privacy 629 practices of external sites. 630 </p> 631 <p> 632 If you wish to continue, click <strong>Proceed</strong>. If not, you may 633 click <strong>Cancel</strong> to remain on the JRI website. 634 </p> 635 <div class="modal-actions"> 636 <button id="proceedBtn" class="btn btn-green">Proceed</button> 637 <button id="cancelBtn" class="btn btn-gray">Cancel</button> 638 </div> 639 </div> 640 </div> 641</div> 642</div> <!-- WP_FOOTER -->
643<script type="speculationrules"> 644{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/jri/*","/wp-content/themes/oxygen-is-not-a-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 645</script>
vendor: 1 bytes, line 645
645
646<script>(function(){var s=document.createElement('script');var e = !document.body ? document.querySelector('head'):document.body;s.src='https://acsbapp.com/apps/app/dist/js/app.js';s.setAttribute('data-source', 'WordPress');s.setAttribute('data-plugin-version', '2.13');s.defer=true;s.onload=function(){acsbJS.init({ 647 statementLink : '', 648 footerHtml : '', 649 hideMobile : false, 650 hideTrigger : false, 651 language : 'en', 652 position : 'left', 653 leadColor : '#146ff8', 654 triggerColor : '#146ff8', 655 triggerRadius : '50%', 656 triggerPositionX : 'right', 657 triggerPositionY : 'bottom', 658 triggerIcon : 'people', 659 triggerSize : 'medium', 660 triggerOffsetX : 20, 661 triggerOffsetY : 20, 662 mobile : { 663 triggerSize : 'small', 664 triggerPositionX : 'right', 665 triggerPositionY : 'bottom', 666 triggerOffsetX : 10, 667 triggerOffsetY : 10, 668 triggerRadius : '50%' 669 } 670 }); 671 }; 672 e.appendChild(s);}());</script>
672<script type="text/javascript" id="ct_custom_js_100016">jQuery(document).ready(function( $ ){ 673 $("header nav ul li").on("click",function(i){ 674$(this).toggleClass('open').children("ul").toggle(), 675$(this).siblings("li").removeClass('open').find("ul").hide(),i.stopPropagation(), 676$(this).siblings().find('li').removeClass('open'); 677 678 }); 679 680 681}); 682 683// Search icon click event 684document.querySelector('.click-search-iccon').addEventListener('click', function(event) { 685 event.stopPropagation(); 686 document.querySelector('.search-bar').classList.add('show'); 687}); 688 689// Outside click event 690document.addEventListener('click', function(event) { 691 const searchBar = document.querySelector('.search-bar'); 692 if (searchBar.classList.contains('show') && !searchBar.contains(event.target)) { 693 searchBar.classList.remove('show'); 694 } 695}); 696 697 698 699 700 701 702</script>
702
703<script type="text/javascript" id="ct_custom_js_100292">document.querySelector('.gt_selected').addEventListener('mouseenter', function() { 704 this.classList.add('hover-none'); 705});</script>
705
706<script type="text/javascript" id="ct_custom_js_100192">var tabOrder = 0; 707 var tabs = document.querySelectorAll('.oxy-tab'); 708 var tabContents = document.querySelectorAll('.oxy-tab-content'); 709 710 711 // loop through each tab 712 tabs.forEach(tab => { 713 714 // get tab parent 715 var parent = tab.parentNode; 716 717 // get index (order number) of each tab 718 let index = Array.prototype.indexOf.call(parent.children, tab); 719 720 721 722 if (index == 0){ 723 724 tabOrder = index; 725 726 } else { 727 tabOrder = index * 2; 728 729 } 730 731 tab.style.order = tabOrder; 732 733 734 }) 735 736 737 738 739 // loop through each tab content 740 tabContents.forEach(tabContent => { 741 742 // get tab parent 743 var parent = tabContent.parentNode; 744 745 // get index (order number) of each tab 746 let index = Array.prototype.indexOf.call(parent.children, tabContent); 747 748 749 750 if (index == 0){ 751 752 tabOrder = index + 1; 753 754 } else { 755 tabOrder = (index * 2) + 1; 756 757 758 } 759 760 761 tabContent.style.order = tabOrder; 762 763 }) 764 765 </script>
765
766<script type="text/javascript" id="ct_custom_js_892">// Function to add class to services-circle-section based on hovered div's ct-headline text 767 const servicesSection = document.querySelector('.services-circle-section'); 768 769 document.querySelectorAll('.circle-gray-box').forEach(function(box) { 770 box.addEventListener('mouseenter', function() { 771 const headline = this.querySelector('.ct-headline'); 772 const textContent = headline.innerText.trim().replace(/\s+/g, '-').toLowerCase(); // convert text to class-friendly format 773 servicesSection.classList.add(textContent); // Add class to services-circle-section 774 }); 775 776 box.addEventListener('mouseleave', function() { 777 const headline = this.querySelector('.ct-headline'); 778 const textContent = headline.innerText.trim().replace(/\s+/g, '-').toLowerCase(); 779 servicesSection.classList.remove(textContent); // Remove class from services-circle-section 780 }); 781 });</script>
781 782<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1"><defs><symbol id="Lineariconsicon-magnifier" viewBox="0 0 20 20"><title>magnifier</title><path class="path1" d="M18.869 19.162l-5.943-6.484c1.339-1.401 2.075-3.233 2.075-5.178 0-2.003-0.78-3.887-2.197-5.303s-3.3-2.197-5.303-2.197-3.887 0.78-5.303 2.197-2.197 3.3-2.197 5.303 0.78 3.887 2.197 5.303 3.3 2.197 5.303 2.197c1.726 0 3.362-0.579 4.688-1.645l5.943 6.483c0.099 0.108 0.233 0.162 0.369 0.162 0.121 0 0.242-0.043 0.338-0.131 0.204-0.187 0.217-0.503 0.031-0.706zM1 7.5c0-3.584 2.916-6.5 6.5-6.5s6.5 2.916 6.5 6.5-2.916 6.5-6.5 6.5-6.5-2.916-6.5-6.5z"/></symbol></defs></svg>
782<script type="text/javascript" id="ct_custom_js_100002">document.querySelector('.ct-shortcode').addEventListener('mouseenter', function() { 783 this.classList.add('hover-none'); 784}); 785 786</script>
786
787<script type="text/javascript" id="ct_custom_js_100010">document.addEventListener('DOMContentLoaded', function() { 788 const languageSwitcher = document.querySelector('.gt_switcher .gt_option'); 789 const languageOptions = languageSwitcher.querySelectorAll('a'); 790 const selectedLanguage = document.querySelector('.gt_selected a'); 791 let currentIndex = Array.from(languageOptions).findIndex(option => option.classList.contains('gt_current')); 792 793 function updateLanguageDisplay(index) { 794 // Ensure current language is highlighted 795 languageOptions.forEach((option, idx) => { 796 if (idx === index) { 797 option.classList.add('gt_current'); 798 selectedLanguage.innerHTML = option.innerHTML; 799 } else { 800 option.classList.remove('gt_current'); 801 } 802 }); 803 804 // Trigger the language change by simulating a click 805 languageOptions[index].click(); 806 807 // Manually trigger the language change using GTranslate's function 808 const lang = languageOptions[index].getAttribute('data-gt-lang'); 809 if (typeof doGTranslate === 'function') { 810 doGTranslate('en|' + lang); 811 } 812 } 813 814 // Next and Prev button event listeners 815 document.getElementById('prev-language').addEventListener('click', function() { 816 currentIndex = (currentIndex === 0) ? languageOptions.length - 1 : currentIndex - 1; 817 updateLanguageDisplay(currentIndex); 818 }); 819 820 document.getElementById('next-language').addEventListener('click', function() { 821 currentIndex = (currentIndex === languageOptions.length - 1) ? 0 : currentIndex + 1; 822 updateLanguageDisplay(currentIndex); 823 }); 824 825 // Initialize with the current language 826 updateLanguageDisplay(currentIndex); 827}); 828</script>
828 829
829<script type="text/javascript"> 830 jQuery(document).ready(function($) { 831 $('.click-function-popup').on('click', function() { 832 var $this = $(this); // Get the clicked element 833 var $videoBlock = $this.children('.ct-div-block.video'); // Get the video block 834 835 // Check if the '.ct-div-block.video' already has 'popup_active' class 836 if ($videoBlock.hasClass('popup_active')) { 837 // If it does, remove the class and exit 838 console.log("Removing 'popup_active' class."); 839 $videoBlock.removeClass('popup_active'); 840 return; // Exit the function, counting will not happen 841 } else { 842 // If it doesn't, add the 'popup_active' class after a delay 843 console.log("Adding 'popup_active' class."); 844 $('.ct-div-block.video').removeClass('popup_active'); // Remove class from all video blocks 845 setTimeout(function() { 846 $videoBlock.addClass('popup_active'); 847 }, 500); // Add class after 2 seconds 848 } 849 850 var postId = $this.find('.video_post_id').text().trim(); // Get post ID from the child div 851 console.log("Post ID:", postId); // Log the post ID for debugging 852 853 $.ajax({ 854 type: "POST", 855 url: my_ajax_obj.ajax_url, 856 data: { 857 action: 'increment_views', 858 post_id: postId, 859 nonce: my_ajax_obj.nonce // Include the nonce for security 860 }, 861 success: function(response) { 862 if (response.success) { 863 console.log("Updated views:", response.data); // Log the updated views 864 $this.find('.views-count').text(response.data); // Update the views count on the clicked element 865 } else { 866 console.log("Failed to update views:", response.data); 867 } 868 }, 869 error: function(xhr, status, error) { 870 console.log("AJAX error:", error); 871 } 872 }); 873 }); 874 }); 875</script>
875 876 877 <!-- YouTube Feeds JS -->
878<script type="text/javascript"> 879 880</script>
880 881 882
883<script> 884 jQuery(document).ready(function($) { 885 // Open popup 886 $('.popup-button').on('click', function(e) { 887 e.preventDefault(); // prevent default action (e.g., link) 888 $('.popup-form').addClass('active-form'); 889 }); 890 891 // Close popup 892 $('.close-popup-button').on('click', function(e) { 893 e.preventDefault(); // prevent default action (e.g., link or button submit) 894 $('.popup-form').removeClass('active-form'); 895 }); 896 }); 897 898 899 900</script>
900 901 902 903 904 905 906 907
907<script type="text/javascript"> 908 jQuery(document).ready(function() { 909 jQuery('body').on('click', '.oxy-menu-toggle', function() { 910 jQuery(this).parent('.oxy-nav-menu').toggleClass('oxy-nav-menu-open'); 911 jQuery('body').toggleClass('oxy-nav-menu-prevent-overflow'); 912 jQuery('html').toggleClass('oxy-nav-menu-prevent-overflow'); 913 }); 914 var selector = '.oxy-nav-menu-open .menu-item a[href*="#"]'; 915 jQuery('body').on('click', selector, function(){ 916 jQuery('.oxy-nav-menu-open').removeClass('oxy-nav-menu-open'); 917 jQuery('body').removeClass('oxy-nav-menu-prevent-overflow'); 918 jQuery('html').removeClass('oxy-nav-menu-prevent-overflow'); 919 jQuery(this).click(); 920 }); 921 }); 922 </script>
922 923 924 925
925<script type="text/javascript"> 926 927 // Initialize Oxygen Modals 928 jQuery(document).ready(function() { 929 930 function showModal( modal ) { 931 var $modal = jQuery( modal ); 932 $modal.addClass("live"); 933 var modalId = $modal[0].querySelector('.ct-modal').id; 934 935 var focusable = modal.querySelector('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'); 936 937 if(focusable) { 938 setTimeout(() => { 939 focusable.focus(); 940 }, 500); 941 } else { 942 setTimeout(() => { 943 $modal.focus(); 944 }, 500) 945 } 946 947 // Check if this modal can be shown according to settings and last shown time 948 // Current and last time in milliseconds 949 var currentTime = new Date().getTime(); 950 var lastShownTime = localStorage && localStorage['oxy-' + modalId + '-last-shown-time'] ? JSON.parse( localStorage['oxy-' + modalId + '-last-shown-time'] ) : false; 951 // manual triggers aren't affected by last shown time 952 if( $modal.data( 'trigger' ) != 'user_clicks_element' ) { 953 switch( $modal.data( 'open-again' ) ) { 954 case 'never_show_again': 955 // if it was shown at least once, don't show it again 956 if( lastShownTime !== false ) return; 957 break; 958 case 'show_again_after': 959 var settingDays = parseInt( $modal.data( 'open-again-after-days' ) ); 960 var actualDays = ( currentTime - lastShownTime ) / ( 60*60*24*1000 ); 961 if( actualDays < settingDays ) return; 962 break; 963 default: 964 //always show 965 break; 966 } 967 } 968 969 // Body manipulation to prevent scrolling while modal is active, and maintain scroll position. 970 document.querySelector('body').style.top = `-${window.scrollY}px`; 971 document.querySelector('body').classList.add('oxy-modal-active'); 972 973 // save current time as last shown time 974 if( localStorage ) localStorage['oxy-' + modalId + '-last-shown-time'] = JSON.stringify( currentTime ); 975 976 // trick to make jQuery fadeIn with flex 977 $modal.css("display", "flex"); 978 $modal.hide(); 979 // trick to force AOS trigger on elements inside the modal 980 $modal.find(".aos-animate").removeClass("aos-animate").addClass("aos-animate-disabled"); 981 982 // show the modal 983 $modal.fadeIn(250, function(){ 984 // trick to force AOS trigger on elements inside the modal 985 $modal.find(".aos-animate-disabled").removeClass("aos-animate-disabled").addClass("aos-animate"); 986 }); 987 988 989 if( $modal.data( 'close-automatically' ) == 'yes' ) { 990 var time = parseInt( $modal.data( 'close-after-time' ) ); 991 if( $modal.data( 'close-after-time-unit' ) == 'seconds' ) { 992 time = parseInt( parseFloat( $modal.data( 'close-after-time' ) ) * 1000 ); 993 } 994 setTimeout( function(){ 995 hideModal(modal); 996 }, time ); 997 } 998 999 // close modal automatically after form submit (Non-AJAX) 1000 if( $modal.data( 'close-after-form-submit' ) == 'yes' && $modal.data("trigger") == "after_specified_time" ) { 1001 1002 // WPForms 1003 // WPForms replaces the form with a confirmation message on page refresh 1004 if( $modal.find(".wpforms-confirmation-container-full").length > 0 ) { 1005 setTimeout(function () { 1006 hideModal(modal); 1007 }, 3000); 1008 } 1009 1010 // Formidable Forms 1011 // Formidable Forms replaces the form with a confirmation message on page refresh 1012 if( $modal.find(".frm_message").length > 0 ) { 1013 setTimeout(function () { 1014 hideModal(modal); 1015 }, 3000); 1016 } 1017 1018 // Caldera Forms 1019 // Caldera Forms replaces the form with a confirmation message on page refresh 1020 if( $modal.find(".caldera-grid .alert-success").length > 0 ) { 1021 setTimeout(function () { 1022 hideModal(modal); 1023 }, 3000); 1024 } 1025 1026 } 1027 } 1028 1029 window.oxyShowModal = showModal; 1030 1031 var hideModal = function ( modal ) { 1032 1033 // Body manipulation for scroll prevention and maintaining scroll position 1034 var scrollY = document.querySelector('body').style.top; 1035 document.querySelector('body').classList.remove('oxy-modal-active'); 1036 document.querySelector('body').style.top = ''; 1037 window.scrollTo(0, parseInt(scrollY || '0') * -1); 1038 1039 // The function may be called by third party code, without argument, so we must close the first visible modal 1040 if( typeof modal === 'undefined' ) { 1041 var openModals = jQuery(".oxy-modal-backdrop.live"); 1042 if( openModals.length == 0 ) return; 1043 modal = openModals[0]; 1044 } 1045 1046 var $modal = jQuery( modal ); 1047 // refresh any iframe so media embedded this way is stopped
1048 $modal.find( 'iframe').each(function(index){ 1049 this.src = this.src; 1050 }); 1051 // HTML5 videos can be stopped easily 1052 $modal.find( 'video' ).each(function(index){ 1053 this.pause(); 1054 }); 1055 // If there are any forms in the modal, reset them 1056 $modal.find("form").each(function(index){ 1057 this.reset(); 1058 }); 1059 1060 $modal.find(".aos-animate").removeClass("aos-animate").addClass("aos-animate-disabled"); 1061 1062 $modal.fadeOut(400, function(){ 1063 $modal.removeClass("live"); 1064 $modal.find(".aos-animate-disabled").removeClass("aos-animate-disabled").addClass("aos-animate"); 1065 }); 1066 }; 1067 1068 window.oxyCloseModal = hideModal; 1069 1070 jQuery( ".oxy-modal-backdrop" ).each(function( index ) { 1071 1072 var modal = this; 1073 1074 (function( modal ){ 1075 var $modal = jQuery( modal ); 1076 1077 var exitIntentFunction = function( e ){ 1078 if( e.target.tagName == 'SELECT' ) { return; } 1079 if( e.clientY <= 0 ) { 1080 showModal( modal ); 1081 document.removeEventListener( "mouseleave", exitIntentFunction ); 1082 document.removeEventListener( "mouseout", exitIntentFunction ); 1083 } 1084 } 1085 1086 switch ( jQuery( modal ).data("trigger") ) { 1087 1088 case "on_exit_intent": 1089 document.addEventListener( "mouseleave", exitIntentFunction, false); 1090 document.addEventListener( "mouseout", exitIntentFunction, false); 1091 break; 1092 1093 case "user_clicks_element": 1094 jQuery( jQuery( modal ).data( 'trigger-selector' ) ).click( function( event ) { 1095 showModal( modal ); 1096 event.preventDefault(); 1097 } ); 1098 break; 1099 1100 case "after_specified_time": 1101 var time = parseInt( jQuery( modal ).data( 'trigger-time' ) ); 1102 if( jQuery( modal ).data( 'trigger-time-unit' ) == 'seconds' ) { 1103 time = parseInt( parseFloat( jQuery( modal ).data( 'trigger-time' ) ) * 1000 ); 1104 } 1105 setTimeout( function(){ 1106 showModal( modal ); 1107 }, time ); 1108 break; 1109 1110 case "after_scrolled_amount": 1111 window.addEventListener("scroll", function scrollDetection(){ 1112 var winheight= window.innerHeight || (document.documentElement || document.body).clientHeight; 1113 var docheight = jQuery(document).height(); 1114 var scrollTop = window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop; 1115 var isScrollUp = false; 1116 var oxyPreviousScrollTop = parseInt( jQuery( modal ).data( 'previous_scroll_top' ) ); 1117 if( !isNaN( oxyPreviousScrollTop ) ) { 1118 if( oxyPreviousScrollTop > scrollTop) isScrollUp = true; 1119 } 1120 jQuery( modal ).data( 'previous_scroll_top', scrollTop ); 1121 var trackLength = docheight - winheight; 1122 var pctScrolled = Math.floor(scrollTop/trackLength * 100); 1123 if( isNaN( pctScrolled ) ) pctScrolled = 0; 1124 1125 if( 1126 ( isScrollUp && jQuery( modal ).data( 'trigger_scroll_direction' ) == 'up' ) || 1127 ( !isScrollUp && jQuery( modal ).data( 'trigger_scroll_direction' ) == 'down' && pctScrolled >= parseInt( jQuery( modal ).data( 'trigger_scroll_amount' ) ) ) 1128 ) { 1129 showModal( modal ); 1130 window.removeEventListener( "scroll", scrollDetection ); 1131 } 1132 }, false); 1133 break; 1134 case "on_scroll_to_element": 1135 window.addEventListener("scroll", function scrollDetection(){ 1136 var $element = jQuery( jQuery( modal ).data( 'scroll_to_selector' ) ); 1137 if( $element.length == 0 ) { 1138 window.removeEventListener( "scroll", scrollDetection ); 1139 return; 1140 } 1141 1142 var top_of_element = $element.offset().top; 1143 var bottom_of_element = $element.offset().top + $element.outerHeight(); 1144 var bottom_of_screen = jQuery(window).scrollTop() + jQuery(window).innerHeight(); 1145 var top_of_screen = jQuery(window).scrollTop(); 1146 1147 if ((bottom_of_screen > bottom_of_element - $element.outerHeight() /2 ) && (top_of_screen < top_of_element + $element.outerHeight() /2 )){ 1148 showModal( modal ); 1149 window.removeEventListener( "scroll", scrollDetection ); 1150 } 1151 }, false); 1152 break; 1153 case "after_number_of_clicks": 1154 document.addEventListener("click", function clickDetection(){ 1155 var number_of_clicks = parseInt( jQuery( modal ).data( 'number_of_clicks' ) ); 1156 1157 var clicks_performed = isNaN( parseInt( jQuery( modal ).data( 'clicks_performed' ) ) ) ? 1 : parseInt( jQuery( modal ).data( 'clicks_performed' ) ) + 1; 1158 1159 jQuery( modal ).data( 'clicks_performed', clicks_performed ); 1160 1161 if ( clicks_performed == number_of_clicks ){ 1162 showModal( modal ); 1163 document.removeEventListener( "click", clickDetection ); 1164 } 1165 }, false); 1166 break; 1167 case "after_time_inactive": 1168 var time = parseInt( jQuery( modal ).data( 'time_inactive' ) ); 1169 if( jQuery( modal ).data( 'time-inactive-unit' ) == 'seconds' ) { 1170 time = parseInt( parseFloat( jQuery( modal ).data( 'time_inactive' ) ) * 1000 ); 1171 } 1172 var activityDetected = function(){ 1173 jQuery( modal ).data( 'millis_idle', 0 ); 1174 }; 1175 document.addEventListener( "click", activityDetected); 1176 document.addEventListener( "mousemove", activityDetected); 1177 document.addEventListener( "keypress", activityDetected); 1178 document.addEventListener( "scroll", activityDetected); 1179 1180 var idleInterval = setInterval(function(){ 1181 var millis_idle = isNaN( parseInt( jQuery( modal ).data( 'millis_idle' ) ) ) ? 100 : parseInt( jQuery( modal ).data( 'millis_idle' ) ) + 100; 1182 jQuery( modal ).data( 'millis_idle', millis_idle ); 1183 if( millis_idle > time ){ 1184 clearInterval( idleInterval ); 1185 document.removeEventListener( "click", activityDetected ); 1186 document.removeEventListener( "mousemove", activityDetected ); 1187 document.removeEventListener( "keypress", activityDetected ); 1188 document.removeEventListener( "scroll", activityDetected ); 1189 showModal( modal ); 1190 } 1191 }, 100); 1192 break; 1193 1194 case "after_number_of_page_views": 1195 var modalId = modal.querySelector('.ct-modal').id; 1196 var pageViews = localStorage && localStorage['oxy-' + modalId + '-page-views'] ? parseInt( localStorage['oxy-' + modalId + '-page-views'] ) : 0; 1197 pageViews++; 1198 if( localStorage ) localStorage['oxy-' + modalId + '-page-views'] = pageViews; 1199 if( parseInt( jQuery( modal ).data( 'number_of_page_views' ) ) == pageViews ) { 1200 if( localStorage ) localStorage['oxy-' + modalId + '-page-views'] = 0; 1201 showModal( modal ); 1202 } 1203 break; 1204 1205 } 1206 1207 // add event handler to close modal automatically after AJAX form submit 1208 if( $modal.data( 'close-after-form-submit' ) == 'yes' ) { 1209 1210 // Contact Form 7 1211 if (typeof wpcf7 !== 'undefined') { 1212 $modal.find('div.wpcf7').each(function () { 1213 var $form = jQuery(this).find('form'); 1214 this.addEventListener('wpcf7submit', function (event) { 1215 if (event.detail.contactFormId == $form.attr("id")) { 1216 setTimeout(function () { 1217 hideModal(modal); 1218 }, 3000); 1219 } 1220 }, false); 1221 }); 1222 } 1223 1224 // Caldera Forms 1225 document.addEventListener( "cf.submission", function(event){ 1226 // Pending, Caldera AJAX form submissions aren't working since Oxygen 2.2, see: https://github.com/soflyy/oxygen/issues/1638 1227 }); 1228 1229 // Ninja Forms 1230 jQuery(document).on("nfFormSubmitResponse", function(event, response){ 1231 // Only close the modal if the event was triggered from a Ninja Form inside the modal 1232 if( $modal.find("#nf-form-" + response.id + "-cont").length > 0 ) { 1233 setTimeout(function () { 1234 hideModal(modal); 1235 }, 3000); 1236 } 1237 }); 1238 1239 } 1240 1241 })( modal ); 1242 1243 }); 1244 1245 // handle clicks on modal backdrop and on .oxy-close-modal 1246 jQuery("body").on('click touchend', '.oxy-modal-backdrop, .oxy-close-modal', function( event ) { 1247 1248 var $this = jQuery( this ); 1249 var $target = jQuery( event.target ); 1250 1251 // Click event in the modal div and it's children is propagated to the backdrop 1252 if( !$target.hasClass( 'oxy-modal-backdrop' ) && !$this.hasClass( 'oxy-close-modal' ) ) { 1253 //event.stopPropagation(); 1254 return; 1255 } 1256 1257 if( $target.hasClass( 'oxy-modal-backdrop' ) && $this.hasClass( 'oxy-not-closable' ) ) { 1258 return; 1259 } 1260 1261 if( $this.hasClass( 'oxy-close-modal' ) ) event.preventDefault(); 1262 1263 var $modal = $this.hasClass( 'oxy-close-modal' ) ? $this.closest('.oxy-modal-backdrop') : $this; 1264 hideModal( $modal[0] ); 1265 }); 1266 1267 jQuery(document).keyup( function(e){ 1268 if( e.key == 'Escape' ){ 1269 jQuery(".oxy-modal-backdrop:visible").each(function(index){ 1270 if( jQuery(this).data("close_on_esc") == 'on' ) hideModal(this); 1271 }); 1272 } 1273 } ); 1274 1275 }); 1276 1277 </script>
1277 1278 1279
1279<script id="programs-filter-js-js-extra"> 1280var programs_ajax = {"ajax_url":"https://jri.org/wp-admin/admin-ajax.php"}; 1281//# sourceURL=programs-filter-js-js-extra 1282</script>
vendor: 1 bytes, line 1282
1282
1283<script id="programs-filter-js-js" src="https://jri.org/wp-content/plugins/programs-cpt/programs-filter.js"></script>
vendor: 1 bytes, line 1283
1283
1284<script id="googlesitekit-events-provider-content-events-js-before"> 1285window._googlesitekit = window._googlesitekit || {}; 1286window._googlesitekit.contentEvents = {"postID":840,"isSinglePost":false,"hasVimeoEmbed":false}; 1287//# sourceURL=googlesitekit-events-provider-content-events-js-before 1288</script>
vendor: 1 bytes, line 1288
1288
1289<script id="googlesitekit-events-provider-content-events-js" src="https://jri.org/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-bb83c1a0aedefa5d25d1.js" defer></script>
vendor: 1 bytes, line 1289
1289
1290<script id="gt_widget_script_16968943-js-before"> 1291window.gtranslateSettings = /* document.write */ window.gtranslateSettings || {};window.gtranslateSettings['16968943'] = {"default_language":"en","languages":["en","ht","pt","es","vi"],"url_structure":"none","flag_style":"2d","flag_size":24,"wrapper_selector":"#gt-wrapper-16968943","alt_flags":[],"switcher_open_direction":"top","switcher_horizontal_position":"inline","switcher_text_color":"#666","switcher_arrow_color":"#666","switcher_border_color":"#ccc","switcher_background_color":"#fff","switcher_background_shadow_color":"#efefef","switcher_background_hover_color":"#fff","dropdown_text_color":"#000","dropdown_hover_color":"#fff","dropdown_background_color":"#eee","flags_location":"\/wp-content\/plugins\/gtranslate\/flags\/"}; 1292//# sourceURL=gt_widget_script_16968943-js-before 1293</script>
1293<script src="https://jri.org/wp-content/plugins/gtranslate/js/dwf.js?ver=5.0.1" data-no-optimize="1" data-no-minify="1" data-gt-orig-url="/about/" data-gt-orig-domain="jri.org" data-gt-widget-id="16968943" defer></script>
1293<script type="text/javascript" id="ct-footer-js"></script>
1293<script src="https://widget.botco.ai/prod/latest/widget.js"></script>
1293 1294
1295<script> 1296document.addEventListener("DOMContentLoaded", function () { 1297setTimeout(function() { 1298 const botcoWidget = document.querySelector('[data-testid="botco-ai-widget"]'); 1299 1300 if (botcoWidget) { 1301 botcoWidget.setAttribute('data-hj-suppress', ''); 1302 console.log('Added data-hj-suppress'); 1303 } 1304}, 1000); 1305 // Wait until BotcoWebchat exists 1306 function waitForBotco(callback) { 1307 if (window.BotcoWebchat && typeof BotcoWebchat.mount === "function") { 1308 callback(); 1309 } else { 1310 setTimeout(function () { 1311 waitForBotco(callback); 1312 }, 100); 1313 } 1314 } 1315 1316 waitForBotco(function () { 1317 1318 // Mount only once 1319 if (!window.__botcoMounted) { 1320 BotcoWebchat.mount({ 1321 apiKey: "botco_api__Uzv6kM-PFKPSzxkYsm6r_29887" 1322 }); 1323 window.__botcoMounted = true; 1324 } 1325 1326 // Attach click handler 1327 document.querySelectorAll(".chat-now").forEach(function (button) { 1328 button.addEventListener("click", function (e) { 1329 e.preventDefault(); 1330 BotcoWebchat.open(); 1331 }); 1332 }); 1333 1334 }); 1335 1336}); 1337</script>
1337 1338<!-- start Simple Custom CSS and JS -->
1339<script type="text/javascript"> 1340document.addEventListener('DOMContentLoaded', function () { 1341 // Get the hash from the URL (e.g., "#mental-health") 1342 const hash = window.location.hash; 1343 1344 if (hash) { 1345 // Option 1: Attempt to prevent default behavior and then scroll. 1346 // This is often challenging because the browser's default behavior 1347 // for hashes happens very early. 1348 1349 // Store the original hash 1350 const originalHash = hash; 1351 1352 // Temporarily clear the hash from the URL to prevent default browser scroll 1353 // This is a common but sometimes 'hacky' way to prevent initial jump. 1354 // window.history.replaceState(null, null, ' '); // Replace hash with empty string 1355 1356 // Use a slight delay to ensure other scripts or browser default has finished 1357 setTimeout(() => { 1358 const target = document.querySelector(originalHash); 1359 1360 if (target && target.classList.contains('bluerowclick')) { 1361 // Simulate a click on that element to trigger popup logic 1362 target.click(); // This might also cause a scroll, be aware 1363 1364 // Scroll the specific div_block-22-2128 to the top smoothly 1365 const sectionToScroll = document.getElementById('div_block-22-2128'); // Assuming it has this ID 1366 if (sectionToScroll) { 1367 sectionToScroll.scrollIntoView({ behavior: 'smooth', block: 'start' }); 1368 } 1369 } 1370 1371 // Optional: Restore the hash in the URL after scrolling 1372 // window.history.replaceState(null, null, originalHash); 1373 1374 }, 100); // A small delay (e.g., 100 milliseconds) 1375 } 1376});</script>
1376 1377<!-- end Simple Custom CSS and JS --> 1378<style type="text/css" id="ct_code_block_css_100189">.gt_switcher { 1379 width: 170px !important; 1380 background-color: #f2d25c !important; 1381 border-radius: 10px; 1382 overflow: hidden !important; 1383}</style> 1384<style type="text/css" id="ct_code_block_css_100195">input#s { 1385 width: 100%; 1386 padding: 20px; 1387 border-radius: 10px ; 1388 border: 1px solid #67bae6; 1389} 1390div#modal-225-13 { 1391 background: transparent; 1392} 1393form#searchform { 1394 position: relative; 1395} 1396input#searchsubmit { 1397 position: absolute; 1398 width: 100%; 1399 z-index: 9999999; 1400 height: 100%; 1401 max-width: 150px; 1402 right: 0; 1403 background: #67bae6; 1404 text-transform: uppercase; 1405 color: #000; 1406 font-size: 13px; 1407 border-radius: 0 10px 10px 0; 1408}</style>
1409<script type="text/javascript" id="ct_code_block_js_100228">document.addEventListener("DOMContentLoaded", function () { 1410 const siteDomain = window.location.hostname; 1411 const modal = document.getElementById("externalModal"); 1412 if (!modal) return; 1413 1414 const closeBtn = document.querySelector(".modal-close"); 1415 const proceedBtn = document.getElementById("proceedBtn"); 1416 const cancelBtn = document.getElementById("cancelBtn"); 1417 1418 const excludedDomains = [ 1419 "facebook.com", 1420 "instagram.com", 1421 "tiktok.com", 1422 "linkedin.com" 1423 ]; 1424 1425 let targetUrl = ""; 1426 1427 document.querySelectorAll("a[href]").forEach(link => { 1428 const href = link.getAttribute("href"); 1429 if (!href) return; 1430 1431 if ( 1432 href.startsWith("mailto:") || 1433 href.startsWith("#") || 1434 href.startsWith("javascript:") 1435 ) return; 1436 1437 let url; 1438 try { 1439 url = new URL(href, window.location.origin); 1440 } catch (e) { 1441 return; 1442 } 1443 1444 const isExternal = url.hostname !== siteDomain; 1445 const isExcluded = excludedDomains.some(domain => 1446 url.hostname.includes(domain) 1447 ); 1448 1449 if (isExternal && !isExcluded) { 1450 link.addEventListener("click", function (e) { 1451 e.preventDefault(); 1452 targetUrl = link.href; 1453 modal.style.display = "block"; 1454 }); 1455 } 1456 }); 1457 1458 if (closeBtn) closeBtn.onclick = () => modal.style.display = "none"; 1459 if (cancelBtn) cancelBtn.onclick = () => modal.style.display = "none"; 1460 1461 window.onclick = e => { 1462 if (e.target === modal) modal.style.display = "none"; 1463 }; 1464 1465 if (proceedBtn) { 1466 proceedBtn.onclick = () => { 1467 modal.style.display = "none"; 1468 window.open(targetUrl, "_blank"); 1469 }; 1470 } 1471});</script>
1471 1472<style type="text/css" id="ct_code_block_css_100228">/* Modal overlay */ 1473.modal { 1474 display: none; 1475 position: fixed; 1476 z-index: 9999; 1477 left: 0; 1478 top: 0; 1479 width: 100%; 1480 height: 100%; 1481 background-color: rgba(0,0,0,0.6); 1482} 1483 1484/* Modal box */ 1485.modal-content { 1486 background: #fff; 1487 max-width: 500px; 1488 margin: 10% auto; 1489 padding: 2rem; 1490 border-radius: 8px; 1491 text-align: center; 1492 position: relative; 1493 box-shadow: 0 5px 15px rgba(0,0,0,0.3); 1494} 1495 1496/* Close button */ 1497.modal-close { 1498 position: absolute; 1499 right: 15px; 1500 top: 10px; 1501 font-size: 24px; 1502 cursor: pointer; 1503 color: #666; 1504} 1505 1506/* Icon */ 1507.modal-icon { 1508 font-size: 40px; 1509 color: #e67e22; 1510 border: 2px solid #e67e22; 1511 border-radius: 50%; 1512 width: 60px; 1513 height: 60px; 1514 margin: 0 auto 15px; 1515 display: flex; 1516 align-items: center; 1517 justify-content: center; 1518} 1519 1520/* Buttons */ 1521.modal-actions { 1522 margin-top: 20px; 1523 display: flex; 1524 justify-content: center; 1525 gap: 10px; 1526} 1527.btn { 1528 padding: 10px 20px; 1529 border: none; 1530 cursor: pointer; 1531 font-weight: bold; 1532 border-radius: 4px; 1533} 1534.btn-green { 1535 background: #4CAF50; 1536 color: white; 1537} 1538.btn-gray { 1539 background: #666; 1540 color: white; 1541} 1542.btn:hover { 1543 opacity: 0.9; 1544} 1545</style> 1546<!-- /WP_FOOTER --> 1547</body> 1548</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.