CINXE.COM
Code for America
<!doctype html> <!--[if lt IE 9]><html class="no-js no-svg ie lt-ie9 lt-ie8 lt-ie7" lang="en-US"> <![endif]--> <!--[if IE 9]><html class="no-js no-svg ie ie9 lt-ie9 lt-ie8" lang="en-US"> <![endif]--> <!--[if gt IE 9]><!--><html class="no-js no-svg" lang="en-US"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <meta name="description" content="Government can and should work well for everyone. We鈥檙e people-centered problem solvers showing that it鈥檚 possible."> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="author" href="https://codeforamerica.org/wp-content/themes/cfa-main/humans.txt" /> <link rel="pingback" href="https://codeforamerica.org/xmlrpc.php" /> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="icon" href="https://codeforamerica.org/wp-content/themes/cfa-main/static/favicon.ico"><!-- 32脳32 --> <link rel="icon" href="https://codeforamerica.org/wp-content/themes/cfa-main/static/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="https://codeforamerica.org/wp-content/themes/cfa-main/static/apple-touch-icon.png"><!-- 180脳180 --> <link rel="manifest" href="https://codeforamerica.org/wp-content/themes/cfa-main/static/manifest.webmanifest"> <style> h1 { overflow-wrap: break-word; } .cfa-page-header__text { text-align: center; } .cfa-page-header__image { box-shadow: var(--regular-shadow); margin-inline: auto; max-width: 100%; width: var(--column-span-4) !important; } #events { background-color: #f4f4fb; } </style> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5W468WQ');</script> <!-- End Google Tag Manager --> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO plugin v24.4 - https://yoast.com/wordpress/plugins/seo/ --> <title>Code for America</title> <meta name="description" content="We鈥檝e been working for more than a decade with governments and communities across the country to break down barriers and find real solutions." /> <link rel="canonical" href="https://codeforamerica.org/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Code for America" /> <meta property="og:description" content="We鈥檝e been working for more than a decade with governments and communities across the country to break down barriers and find real solutions." /> <meta property="og:url" content="https://codeforamerica.org/" /> <meta property="og:site_name" content="Code for America" /> <meta property="article:publisher" content="https://www.facebook.com/codeforamerica" /> <meta property="article:modified_time" content="2024-11-20T19:03:46+00:00" /> <meta property="og:image" content="https://files.codeforamerica.org/2021/05/28124700/code-for-america-share-image.png" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="630" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@codeforamerica" /> <!-- / Yoast SEO plugin. --> <link rel="alternate" type="application/rss+xml" title="Code for America » Feed" href="https://codeforamerica.org/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/codeforamerica.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://codeforamerica.org/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' type='text/css' media='all' /> <style id='cfa-callout-style-inline-css' type='text/css'> /*!***************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! \***************************************************************************************************************************************************************************************************************************************/ </style> <style id='cfa-pullquote-style-inline-css' type='text/css'> /*!***************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! \***************************************************************************************************************************************************************************************************************************************/ </style> <style id='cfa-quote-style-inline-css' type='text/css'> /*!***************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! \***************************************************************************************************************************************************************************************************************************************/ </style> <style id='cfa-stat-style-inline-css' type='text/css'> /*!***************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! \***************************************************************************************************************************************************************************************************************************************/ </style> <style id='cfa-page-header-style-inline-css' type='text/css'> /*!***************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! \***************************************************************************************************************************************************************************************************************************************/ </style> <style id='cfa-resource-header-style-inline-css' type='text/css'> /*!***************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***! \***************************************************************************************************************************************************************************************************************************************/ </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: var(--black);--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: var(--white);--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--gray-80: var(--gray-80);--wp--preset--color--gray-60: var(--gray-60);--wp--preset--color--gray-40: var(--gray-40);--wp--preset--color--gray-20: var(--gray-20);--wp--preset--color--sand-20: var(--sand-20);--wp--preset--color--purple-80: var(--purple-80);--wp--preset--color--purple-60: var(--purple-60);--wp--preset--color--purple-40: var(--purple-40);--wp--preset--color--purple-20: var(--purple-20);--wp--preset--color--purple-10: var(--purple-10);--wp--preset--color--red-80: var(--red-80);--wp--preset--color--red-60: var(--red-60);--wp--preset--color--red-40: var(--red-40);--wp--preset--color--red-20: var(--red-20);--wp--preset--color--blue-80: var(--blue-80);--wp--preset--color--blue-60: var(--blue-60);--wp--preset--color--blue-40: var(--blue-40);--wp--preset--color--blue-20: var(--blue-20);--wp--preset--color--green-80: var(--green-80);--wp--preset--color--green-60: var(--green-60);--wp--preset--color--green-40: var(--green-40);--wp--preset--color--green-20: var(--green-20);--wp--preset--color--yellow-80: var(--yellow-80);--wp--preset--color--yellow-60: var(--yellow-60);--wp--preset--color--yellow-40: var(--yellow-40);--wp--preset--color--yellow-20: var(--yellow-20);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--sm: var(--font-size-sm);--wp--preset--font-size--md: var(--font-size-md);--wp--preset--font-size--lg: var(--font-size-lg);--wp--preset--font-size--xl: var(--font-size-xl);--wp--preset--font-size--xxl: var(--font-size-xxl);--wp--preset--font-size--xxxl: var(--font-size-xxxl);--wp--preset--font-family--serif: var(--font-family-serif);--wp--preset--font-family--sans-serif: var(--font-family-sans-serif);--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:root { --wp--style--global--content-size: var(--column-span-8);--wp--style--global--wide-size: var(--grid-max-width-wp); }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{--wp--style--root--padding-top: 0;--wp--style--root--padding-right: var(--outer-margin);--wp--style--root--padding-bottom: 0;--wp--style--root--padding-left: var(--outer-margin);}a:where(:not(.wp-element-button)){text-decoration: underline;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;line-height: inherit;padding: calc(0.667em + 2px) calc(1.333em + 2px);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-gray-80-color{color: var(--wp--preset--color--gray-80) !important;}.has-gray-60-color{color: var(--wp--preset--color--gray-60) !important;}.has-gray-40-color{color: var(--wp--preset--color--gray-40) !important;}.has-gray-20-color{color: var(--wp--preset--color--gray-20) !important;}.has-sand-20-color{color: var(--wp--preset--color--sand-20) !important;}.has-purple-80-color{color: var(--wp--preset--color--purple-80) !important;}.has-purple-60-color{color: var(--wp--preset--color--purple-60) !important;}.has-purple-40-color{color: var(--wp--preset--color--purple-40) !important;}.has-purple-20-color{color: var(--wp--preset--color--purple-20) !important;}.has-purple-10-color{color: var(--wp--preset--color--purple-10) !important;}.has-red-80-color{color: var(--wp--preset--color--red-80) !important;}.has-red-60-color{color: var(--wp--preset--color--red-60) !important;}.has-red-40-color{color: var(--wp--preset--color--red-40) !important;}.has-red-20-color{color: var(--wp--preset--color--red-20) !important;}.has-blue-80-color{color: var(--wp--preset--color--blue-80) !important;}.has-blue-60-color{color: var(--wp--preset--color--blue-60) !important;}.has-blue-40-color{color: var(--wp--preset--color--blue-40) !important;}.has-blue-20-color{color: var(--wp--preset--color--blue-20) !important;}.has-green-80-color{color: var(--wp--preset--color--green-80) !important;}.has-green-60-color{color: var(--wp--preset--color--green-60) !important;}.has-green-40-color{color: var(--wp--preset--color--green-40) !important;}.has-green-20-color{color: var(--wp--preset--color--green-20) !important;}.has-yellow-80-color{color: var(--wp--preset--color--yellow-80) !important;}.has-yellow-60-color{color: var(--wp--preset--color--yellow-60) !important;}.has-yellow-40-color{color: var(--wp--preset--color--yellow-40) !important;}.has-yellow-20-color{color: var(--wp--preset--color--yellow-20) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-gray-80-background-color{background-color: var(--wp--preset--color--gray-80) !important;}.has-gray-60-background-color{background-color: var(--wp--preset--color--gray-60) !important;}.has-gray-40-background-color{background-color: var(--wp--preset--color--gray-40) !important;}.has-gray-20-background-color{background-color: var(--wp--preset--color--gray-20) !important;}.has-sand-20-background-color{background-color: var(--wp--preset--color--sand-20) !important;}.has-purple-80-background-color{background-color: var(--wp--preset--color--purple-80) !important;}.has-purple-60-background-color{background-color: var(--wp--preset--color--purple-60) !important;}.has-purple-40-background-color{background-color: var(--wp--preset--color--purple-40) !important;}.has-purple-20-background-color{background-color: var(--wp--preset--color--purple-20) !important;}.has-purple-10-background-color{background-color: var(--wp--preset--color--purple-10) !important;}.has-red-80-background-color{background-color: var(--wp--preset--color--red-80) !important;}.has-red-60-background-color{background-color: var(--wp--preset--color--red-60) !important;}.has-red-40-background-color{background-color: var(--wp--preset--color--red-40) !important;}.has-red-20-background-color{background-color: var(--wp--preset--color--red-20) !important;}.has-blue-80-background-color{background-color: var(--wp--preset--color--blue-80) !important;}.has-blue-60-background-color{background-color: var(--wp--preset--color--blue-60) !important;}.has-blue-40-background-color{background-color: var(--wp--preset--color--blue-40) !important;}.has-blue-20-background-color{background-color: var(--wp--preset--color--blue-20) !important;}.has-green-80-background-color{background-color: var(--wp--preset--color--green-80) !important;}.has-green-60-background-color{background-color: var(--wp--preset--color--green-60) !important;}.has-green-40-background-color{background-color: var(--wp--preset--color--green-40) !important;}.has-green-20-background-color{background-color: var(--wp--preset--color--green-20) !important;}.has-yellow-80-background-color{background-color: var(--wp--preset--color--yellow-80) !important;}.has-yellow-60-background-color{background-color: var(--wp--preset--color--yellow-60) !important;}.has-yellow-40-background-color{background-color: var(--wp--preset--color--yellow-40) !important;}.has-yellow-20-background-color{background-color: var(--wp--preset--color--yellow-20) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-gray-80-border-color{border-color: var(--wp--preset--color--gray-80) !important;}.has-gray-60-border-color{border-color: var(--wp--preset--color--gray-60) !important;}.has-gray-40-border-color{border-color: var(--wp--preset--color--gray-40) !important;}.has-gray-20-border-color{border-color: var(--wp--preset--color--gray-20) !important;}.has-sand-20-border-color{border-color: var(--wp--preset--color--sand-20) !important;}.has-purple-80-border-color{border-color: var(--wp--preset--color--purple-80) !important;}.has-purple-60-border-color{border-color: var(--wp--preset--color--purple-60) !important;}.has-purple-40-border-color{border-color: var(--wp--preset--color--purple-40) !important;}.has-purple-20-border-color{border-color: var(--wp--preset--color--purple-20) !important;}.has-purple-10-border-color{border-color: var(--wp--preset--color--purple-10) !important;}.has-red-80-border-color{border-color: var(--wp--preset--color--red-80) !important;}.has-red-60-border-color{border-color: var(--wp--preset--color--red-60) !important;}.has-red-40-border-color{border-color: var(--wp--preset--color--red-40) !important;}.has-red-20-border-color{border-color: var(--wp--preset--color--red-20) !important;}.has-blue-80-border-color{border-color: var(--wp--preset--color--blue-80) !important;}.has-blue-60-border-color{border-color: var(--wp--preset--color--blue-60) !important;}.has-blue-40-border-color{border-color: var(--wp--preset--color--blue-40) !important;}.has-blue-20-border-color{border-color: var(--wp--preset--color--blue-20) !important;}.has-green-80-border-color{border-color: var(--wp--preset--color--green-80) !important;}.has-green-60-border-color{border-color: var(--wp--preset--color--green-60) !important;}.has-green-40-border-color{border-color: var(--wp--preset--color--green-40) !important;}.has-green-20-border-color{border-color: var(--wp--preset--color--green-20) !important;}.has-yellow-80-border-color{border-color: var(--wp--preset--color--yellow-80) !important;}.has-yellow-60-border-color{border-color: var(--wp--preset--color--yellow-60) !important;}.has-yellow-40-border-color{border-color: var(--wp--preset--color--yellow-40) !important;}.has-yellow-20-border-color{border-color: var(--wp--preset--color--yellow-20) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-sm-font-size{font-size: var(--wp--preset--font-size--sm) !important;}.has-md-font-size{font-size: var(--wp--preset--font-size--md) !important;}.has-lg-font-size{font-size: var(--wp--preset--font-size--lg) !important;}.has-xl-font-size{font-size: var(--wp--preset--font-size--xl) !important;}.has-xxl-font-size{font-size: var(--wp--preset--font-size--xxl) !important;}.has-xxxl-font-size{font-size: var(--wp--preset--font-size--xxxl) !important;}.has-serif-font-family{font-family: var(--wp--preset--font-family--serif) !important;}.has-sans-serif-font-family{font-family: var(--wp--preset--font-family--sans-serif) !important;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='pattern-library-style-css' href='https://codeforamerica.org/pattern-library/dist/style.css?ver=1739582367' type='text/css' media='all' /> <link rel='stylesheet' id='main-theme-style-css' href='https://codeforamerica.org/wp-content/themes/cfa-main/dist/style.css?ver=1739582400' type='text/css' media='all' /> <script type="text/javascript"> window._nslDOMReady = function (callback) { if ( document.readyState === "complete" || document.readyState === "interactive" ) { callback(); } else { document.addEventListener( "DOMContentLoaded", callback ); } }; </script><script type="text/javascript" src="https://codeforamerica.org/pattern-library/dist/main.js?ver=1739582367" id="pattern-library-js-js"></script> <script type="text/javascript" src="https://codeforamerica.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://codeforamerica.org/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://codeforamerica.org/wp-content/themes/cfa-main/dist/site.js?ver=1739582400" id="main-theme-js-js"></script> <link rel="https://api.w.org/" href="https://codeforamerica.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://codeforamerica.org/wp-json/wp/v2/pages/1887" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://codeforamerica.org/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <link rel='shortlink' href='https://codeforamerica.org/' /> <style type="text/css">div.nsl-container[data-align="left"] { text-align: left; } div.nsl-container[data-align="center"] { text-align: center; } div.nsl-container[data-align="right"] { text-align: right; } div.nsl-container div.nsl-container-buttons a[data-plugin="nsl"] { text-decoration: none; box-shadow: none; border: 0; } div.nsl-container .nsl-container-buttons { display: flex; padding: 5px 0; } div.nsl-container.nsl-container-block .nsl-container-buttons { display: inline-grid; grid-template-columns: minmax(145px, auto); } div.nsl-container-block-fullwidth .nsl-container-buttons { flex-flow: column; align-items: center; } div.nsl-container-block-fullwidth .nsl-container-buttons a, div.nsl-container-block .nsl-container-buttons a { flex: 1 1 auto; display: block; margin: 5px 0; width: 100%; } div.nsl-container-inline { margin: -5px; text-align: left; } div.nsl-container-inline .nsl-container-buttons { justify-content: center; flex-wrap: wrap; } div.nsl-container-inline .nsl-container-buttons a { margin: 5px; display: inline-block; } div.nsl-container-grid .nsl-container-buttons { flex-flow: row; align-items: center; flex-wrap: wrap; } div.nsl-container-grid .nsl-container-buttons a { flex: 1 1 auto; display: block; margin: 5px; max-width: 280px; width: 100%; } @media only screen and (min-width: 650px) { div.nsl-container-grid .nsl-container-buttons a { width: auto; } } div.nsl-container .nsl-button { cursor: pointer; vertical-align: top; border-radius: 4px; } div.nsl-container .nsl-button-default { color: #fff; display: flex; } div.nsl-container .nsl-button-icon { display: inline-block; } div.nsl-container .nsl-button-svg-container { flex: 0 0 auto; padding: 8px; display: flex; align-items: center; } div.nsl-container svg { height: 24px; width: 24px; vertical-align: top; } div.nsl-container .nsl-button-default div.nsl-button-label-container { margin: 0 24px 0 12px; padding: 10px 0; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px; letter-spacing: .25px; overflow: hidden; text-align: center; text-overflow: clip; white-space: nowrap; flex: 1 1 auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-transform: none; display: inline-block; } div.nsl-container .nsl-button-google[data-skin="dark"] .nsl-button-svg-container { margin: 1px; padding: 7px; border-radius: 3px; background: #fff; } div.nsl-container .nsl-button-google[data-skin="light"] { border-radius: 1px; box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .25); color: RGBA(0, 0, 0, 0.54); } div.nsl-container .nsl-button-apple .nsl-button-svg-container { padding: 0 6px; } div.nsl-container .nsl-button-apple .nsl-button-svg-container svg { height: 40px; width: auto; } div.nsl-container .nsl-button-apple[data-skin="light"] { color: #000; box-shadow: 0 0 0 1px #000; } div.nsl-container .nsl-button-facebook[data-skin="white"] { color: #000; box-shadow: inset 0 0 0 1px #000; } div.nsl-container .nsl-button-facebook[data-skin="light"] { color: #1877F2; box-shadow: inset 0 0 0 1px #1877F2; } div.nsl-container .nsl-button-spotify[data-skin="white"] { color: #191414; box-shadow: inset 0 0 0 1px #191414; } div.nsl-container .nsl-button-apple div.nsl-button-label-container { font-size: 17px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } div.nsl-container .nsl-button-slack div.nsl-button-label-container { font-size: 17px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } div.nsl-container .nsl-button-slack[data-skin="light"] { color: #000000; box-shadow: inset 0 0 0 1px #DDDDDD; } div.nsl-container .nsl-button-tiktok[data-skin="light"] { color: #161823; box-shadow: 0 0 0 1px rgba(22, 24, 35, 0.12); } div.nsl-container .nsl-button-kakao { color: rgba(0, 0, 0, 0.85); } .nsl-clear { clear: both; } .nsl-container { clear: both; } .nsl-disabled-provider .nsl-button { filter: grayscale(1); opacity: 0.8; } /*Button align start*/ div.nsl-container-inline[data-align="left"] .nsl-container-buttons { justify-content: flex-start; } div.nsl-container-inline[data-align="center"] .nsl-container-buttons { justify-content: center; } div.nsl-container-inline[data-align="right"] .nsl-container-buttons { justify-content: flex-end; } div.nsl-container-grid[data-align="left"] .nsl-container-buttons { justify-content: flex-start; } div.nsl-container-grid[data-align="center"] .nsl-container-buttons { justify-content: center; } div.nsl-container-grid[data-align="right"] .nsl-container-buttons { justify-content: flex-end; } div.nsl-container-grid[data-align="space-around"] .nsl-container-buttons { justify-content: space-around; } div.nsl-container-grid[data-align="space-between"] .nsl-container-buttons { justify-content: space-between; } /* Button align end*/ /* Redirect */ #nsl-redirect-overlay { display: flex; flex-direction: column; justify-content: center; align-items: center; position: fixed; z-index: 1000000; left: 0; top: 0; width: 100%; height: 100%; backdrop-filter: blur(1px); background-color: RGBA(0, 0, 0, .32);; } #nsl-redirect-overlay-container { display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: white; padding: 30px; border-radius: 10px; } #nsl-redirect-overlay-spinner { content: ''; display: block; margin: 20px; border: 9px solid RGBA(0, 0, 0, .6); border-top: 9px solid #fff; border-radius: 50%; box-shadow: inset 0 0 0 1px RGBA(0, 0, 0, .6), 0 0 0 1px RGBA(0, 0, 0, .6); width: 40px; height: 40px; animation: nsl-loader-spin 2s linear infinite; } @keyframes nsl-loader-spin { 0% { transform: rotate(0deg) } to { transform: rotate(360deg) } } #nsl-redirect-overlay-title { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 18px; font-weight: bold; color: #3C434A; } #nsl-redirect-overlay-text { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; text-align: center; font-size: 14px; color: #3C434A; } /* Redirect END*/</style><style type="text/css">/* Notice fallback */ #nsl-notices-fallback { position: fixed; right: 10px; top: 10px; z-index: 10000; } .admin-bar #nsl-notices-fallback { top: 42px; } #nsl-notices-fallback > div { position: relative; background: #fff; border-left: 4px solid #fff; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1); margin: 5px 15px 2px; padding: 1px 20px; } #nsl-notices-fallback > div.error { display: block; border-left-color: #dc3232; } #nsl-notices-fallback > div.updated { display: block; border-left-color: #46b450; } #nsl-notices-fallback p { margin: .5em 0; padding: 2px; } #nsl-notices-fallback > div:after { position: absolute; right: 5px; top: 5px; content: '\00d7'; display: block; height: 16px; width: 16px; line-height: 16px; text-align: center; font-size: 20px; cursor: pointer; }</style> </head> <body class=" home page-template-default page page-id-1887 page page--homepage " data-template="base.twig" > <!-- Cookie Notice --> <script data-cookie-notice='{ "messageLocales": { "en": "We use cookies and other tracking technologies to improve your browsing experience and to better understand our website traffic. By browsing our website, you consent to our use of cookies and other tracking technologies." }, "learnMoreLinkEnabled": true, "learnMoreLinkHref": "https://www.codeforamerica.org/privacy", "learnMoreLinkText":{ "en": "Privacy Policy" }, "expiresIn": 30, "fontFamily": "inherit", "fontSize": "16px", "buttonBgColor": "#006152", "buttonTextColor": "#fff", "noticeBgColor": "#000", "noticeTextColor": "#fff", "linkColor": "#fff", "linkTarget": "" }' src="https://unpkg.com/cookie-notice@^1/dist/cookie.notice.min.js" ></script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5W468WQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <a class="skip-link" href="#content">Skip to content</a> <cfa-bar class="small" style="--bg-color: var(--purple-60);""> <div class="strong">Find out about:</div> <a href="https://summit.codeforamerica.org/demo-lab/" target="" > Summit 2025 Demo Lab Submissions </a> <a href="https://codeforamerica.org/news/expanding-the-reach-of-free-easy-tax-e-filing/" target="" > Expanding the Reach of Free, Easy Tax E-Filing </a> <a href="https://codeforamerica.org/resources/benefits-playbook/" target="" > Benefits Playbook for Designing Human-Centered Applications </a> </cfa-bar> <header class="site-header site-header--dark" > <div class="container-fluid wrapper"> <div class="row between-sm middle-sm"> <div class="col-xs-8 col-sm-6 col-md-3"> <div class="site-header__logo"> <a href="/"> <img src="https://files.codeforamerica.org/2021/05/28124702/code-for-america-logo-white.svg" alt="Code for America"> </a> </div> </div> <div class="col-xs-4 col-sm-6 col-md-9"> <nav class="site-header__mobile-menu" role="navigation" aria-expanded="false" aria-controls="mobile-menu-items"> <button class="site-header__mobile-menu-open-button" aria-label="Open Menu"> <cfa-icon>menu</cfa-icon> </button> <div class="site-header__mobile-menu-items white-text stack" id="mobile-menu-items" hidden> <button class="site-header__mobile-menu-close-button" aria-label="Close Menu"> <cfa-icon>close</cfa-icon> </button> <ul class="ul ul--unstyled stack"> <li> <a href="https://codeforamerica.org/partner-with-us/" class="cfa-button small cfa-button cfa-button--sm menu-item menu-item-type-post_type menu-item-object-page menu-item-10921">Partner with us</a> </li> <li> <a href="https://codeforamerica.org/donate/" class="cfa-button small cfa-button cfa-button--primary cfa-button--sm menu-item menu-item-type-post_type menu-item-object-page menu-item-11289">Donate</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1969"> <a href="https://codeforamerica.org/news/">News and Stories</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1970"> <a href="https://codeforamerica.org/events/">Events</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1973"> <a href="https://codeforamerica.org/about-us/">About us</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1974"> <a href="https://codeforamerica.org/ideas/">Ideas</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1975"> <a href="https://codeforamerica.org/programs/">Programs</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11745"> <a href="https://codeforamerica.org/success-stories/">Success Stories</a> </li> </ul> </div> </nav> <div class="site-header__primary-menu"> <cfa-nav fontSize="small"> <ul> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1969 "> <a href="https://codeforamerica.org/news/">News and Stories</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1970 "> <a href="https://codeforamerica.org/events/">Events</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1973 "> <a href="https://codeforamerica.org/about-us/">About us</a> </li> </ul> </cfa-nav> <a href="https://codeforamerica.org/partner-with-us/" class="cfa-button small cfa-button cfa-button--sm menu-item menu-item-type-post_type menu-item-object-page menu-item-10921">Partner with us</a> <a href="https://codeforamerica.org/donate/" class="cfa-button small cfa-button cfa-button--primary cfa-button--sm menu-item menu-item-type-post_type menu-item-object-page menu-item-11289">Donate</a> </div> </div> </div> <div class="row"> <div class="col-xs-12"> <div class="site-header__secondary-menu"> <cfa-nav fontSize="small"> <ul> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1974 "> <a href="https://codeforamerica.org/ideas/">Ideas</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1975 "> <a href="https://codeforamerica.org/programs/">Programs</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11745 "> <a href="https://codeforamerica.org/success-stories/">Success Stories</a> </li> </ul> </cfa-nav> </div> </div> </div> </div> </header> <main id="content" role="main"> <div id="page-1887"> <header class="page-header page-header--dark"> <div class="container-fluid wrapper"> <div class="row"> <div class="col-xs-12 col-md-6 page-header__content text-center"> <div class="page-header__text"> <h2 class="display-2">Automatic Record Clearance 101</h2> <p class="large">Crafting Clean Slate policies with government implementation in mind</p> <p><a class="prominent-link arrow-link" href="https://codeforamerica.org/resources/advocates-guide-to-automatic-record-clearance/">Read the guide</a></p> </div> </div> <a href="https://codeforamerica.org/resources/advocates-guide-to-automatic-record-clearance/" target="" class="col-xs-12 col-md-6 page-header__visual page-header__visual--vertical-flush-bottom "> <div class="page-header__illustration"> <img src="https://codeforamerica.org/wp-content/uploads/2025/01/advocates-guide-hero-october-2024-768x500.png" alt="Cover art of the Advocate's Guide to Automatic Record Clearance"> </div> </a> </div> </div> </header> <section class="section"> <div class="cfa-content-block"> <div class="container-fluid wrapper"> <div class="row center-xs top-md"> <div class="col-xs-12 col-md-8"> <div class="stack"> <p style="text-align: center;"><span class="extra-large">We鈥檝e been working for more than a decade with governments and communities across the country to break down barriers and find real solutions.</span></p> </div> </div> </div> </div> </div> <div class="cfa-tile-block"> <div class="container-fluid wrapper"> <div class="cfa-tile-block__tiles"> <div class="row center-sm stretch-md"> <div class="col-xs-12 col-md"> <cfa-tile title="Ideas" description="How we see change" imageurl="" imagealttext="" linkurl="https://codeforamerica.org/ideas/" linktarget="" actionlabel="Learn more"> </cfa-tile> </div> <div class="col-xs-12 col-md"> <cfa-tile title="Programs" description="Learn about our work" imageurl="" imagealttext="" linkurl="https://codeforamerica.org/programs/" linktarget="" actionlabel="Learn more"> </cfa-tile> </div> <div class="col-xs-12 col-md"> <cfa-tile title="Success Stories" description="Read about our impact" imageurl="" imagealttext="" linkurl="https://codeforamerica.org/success-stories/" linktarget="" actionlabel="Learn more"> </cfa-tile> </div> </div> </div> </div> </div> </section> <section id="latest-news" class=" section section--default text-default " style=" --bg-color: var(--blue-20); " > <div class="section__header"> <div class="container-fluid wrapper"> <div class="row center-xs"> <div class="col-xs-12 col-sm-8 col-md-10 text-center"> <h2 class="eyebrow"> Latest News </h2> </div> </div> </div> </div> <div class="feed-block"> <div class="container-fluid wrapper"> <div class="feed-block__feed"> <div class="story-feed" data-items-per-page="3" data-order-by="date" data-show-controls="false" data-show-pagination="false" data-show-visuals="true" data-tag="" > <div class="cfa-loader"> Loading </div> </div> </div> </div> </div> <div class="cfa-content-block"> <div class="container-fluid wrapper"> <div class="row center-xs top-md"> <div class="col-xs-12 col-md-8"> <div class="stack"> <p style="text-align: center;"><a class="prominent-link arrow-link" href="https://codeforamerica.org/news/">See more stories</a></p> </div> </div> </div> </div> </div> </section> <section id="events" class=" section section--default text-default " style=" " > <div class="section__header"> <div class="container-fluid wrapper"> <div class="row center-xs"> <div class="col-xs-12 col-sm-8 col-md-10 text-center"> <h2 class="eyebrow"> Upcoming Events </h2> </div> </div> </div> </div> <div class="feed-block"> <div class="container-fluid wrapper"> <div class="feed-block__feed"> <div class="event-feed" data-event-status="upcoming" data-items-per-page="3" data-show-controls="false" data-show-pagination="false" > <div class="cfa-loader"> Loading </div> </div> </div> </div> </div> <div class="cfa-content-block"> <div class="container-fluid wrapper"> <div class="row center-xs top-md"> <div class="col-xs-12 col-md-8"> <div class="stack"> <p style="text-align: center;"><a class="prominent-link arrow-link" href="https://codeforamerica.org/events/">See more events</a></p> </div> </div> </div> </div> </div> </section> <section id="" class=" section section--default text-default " style=" --bg-color: var(--white); " > <div class="cfa-content-block"> <div class="container-fluid wrapper"> <div class="row between-xs middle-md"> <div class="col-xs-12 col-md-6"> <div class="stack"> <p class="h2">We鈥檝e been working for more than a decade with governments and communities across the country</p> <p>We work to show that, with the mindful use of technology, we can break down barriers and find real solutions.</p> <p><a class="prominent-link arrow-link" href="https://codeforamerica.org/about-us/">Learn more about us</a></p> </div> </div> <div class="col-xs-12 col-md-5 stack first-md"> <div class="cfa-image"> <div class="cfa-image__canvas"> <cfa-blob color="yellow-20"/></cfa-blob> </div> <picture class=" cfa-image cfa-image--standard cfa-image--blob "> <source media="(max-width: 1024px)" srcset="https://files.codeforamerica.org/2021/05/28124726/standing-paper-reading-1024x723.png" /> <source media="(min-width: 1024px)" srcset="https://files.codeforamerica.org/2021/05/28124726/standing-paper-reading.png" /> <img src="https://files.codeforamerica.org/2021/05/28124726/standing-paper-reading-300x212.png" loading="lazy" alt="" > </picture> </div> </div> </div> </div> </div> </section> <section id="programs" class=" section section--default text-default " style=" --bg-color: var(--blue-20); " > <div class="section__header"> <div class="container-fluid wrapper"> <div class="row center-xs"> <div class="col-xs-12 col-sm-8 col-md-10 text-center"> <h2 class="eyebrow"> Programs </h2> <div class="h2"> Learn more about our work </div> </div> </div> </div> </div> <div class="cfa-card-block cfa-card-block--stack has-fewer-than-four-cards"> <div class="cfa-card-block__inner"> <div class="container-fluid wrapper"> <div class="row stretch-md center-md"> <div class="col-xs-12 col-md-4"> <cfa-card theme="default" linkUrl="https://codeforamerica.org/programs/criminal-justice/" linkTarget="" visualType="image" visualUrl="https://files.codeforamerica.org/2024/12/17094909/parents-with-son-768x432.jpg" visualThumbnailUrl="https://files.codeforamerica.org/2024/12/17094909/parents-with-son-150x150.jpg" visualAltText="Illustration of two older adults with a younger adult, hugging and smiling" eyebrow="Criminal Justice" title="Removing barriers resulting from the criminal legal system" text="" metaText="" actionLabel="Learn more" > </cfa-card> </div> <div class="col-xs-12 col-md-4"> <cfa-card theme="default" linkUrl="https://codeforamerica.org/programs/social-safety-net/" linkTarget="" visualType="image" visualUrl="https://files.codeforamerica.org/2024/12/17094831/mother-children-computer-768x432.jpg" visualThumbnailUrl="https://files.codeforamerica.org/2024/12/17094831/mother-children-computer-150x150.jpg" visualAltText="Illustration of an adult with two children in front of a laptop computer" eyebrow="Social Safety Net" title="Strengthening the social safety net" text="" metaText="" actionLabel="Learn more" > </cfa-card> </div> <div class="col-xs-12 col-md-4"> <cfa-card theme="default" linkUrl="https://codeforamerica.org/programs/tax-benefits/" linkTarget="" visualType="image" visualUrl="https://files.codeforamerica.org/2024/12/17094722/man-sorting-papers-768x432.jpg" visualThumbnailUrl="https://files.codeforamerica.org/2024/12/17094722/man-sorting-papers-150x150.jpg" visualAltText="Illustration of a person at a desk with a laptop computer and sorting through some papers" eyebrow="Tax Benefits" title="Promoting economic opportunity through tax benefits" text="" metaText="" actionLabel="Learn more" > </cfa-card> </div> </div> </div> </div> </div> </section> </div> </main> <footer id="footer" class="site-footer"> <div class="container-fluid wrapper"> <div class="row"> <div class="col-xs-12 col-md-9"> <div class="site-footer__primary-menu"> <ul class="ul ul--inline-with-separators"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3101"> <a href="https://codeforamerica.org/news/">News and Stories</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3102"> <a href="https://codeforamerica.org/events/">Events</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12739"> <a href="https://codeforamerica.org/success-stories/">Success Stories</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3654"> <a href="https://codeforamerica.org/jobs/">Careers</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3104"> <a href="https://codeforamerica.org/about-us/">About us</a> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3129"> <a href="https://codeforamerica.org/contact-us/">Contact us</a> </li> </ul> </div> <div class="site-footer__secondary-menu"> <div class="row"> <div class="col-xs-12 col-sm-6 col-md"> <ul class="ul ul--unstyled"> <li class="strong menu-item menu-item-type-post_type menu-item-object-page menu-item-3105 menu-item-has-children"><a href="https://codeforamerica.org/ideas/">Ideas</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3108"><a href="https://codeforamerica.org/ideas/human-centered-government/"">Human-Centered Government</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-10293"><a href="https://codeforamerica.org/partner-with-us/"">Consulting and Advisory Services</a></li> </ul> </div> <div class="col-xs-12 col-sm-6 col-md"> <ul class="ul ul--unstyled"> <li class="strong menu-item menu-item-type-post_type menu-item-object-page menu-item-3106 menu-item-has-children"><a href="https://codeforamerica.org/programs/">Programs</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-12735"><a href="https://codeforamerica.org/programs/criminal-justice/automatic-record-clearance/"">Criminal Justice</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-12736"><a href="https://codeforamerica.org/programs/social-safety-net/"">Social Safety Net</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-12737"><a href="https://codeforamerica.org/programs/tax-benefits/"">Tax Benefits</a></li> </ul> </div> <div class="col-xs-12 col-sm-6 col-md"> <ul class="ul ul--unstyled"> <li class="strong menu-item menu-item-type-post_type menu-item-object-page menu-item-12244 menu-item-has-children"><a href="https://codeforamerica.org/events/">Events</a></li> <li class="small js-target-blank menu-item menu-item-type-custom menu-item-object-custom menu-item-3855"><a href="https://summit.codeforamerica.org"">Summit</a></li> <li class="small menu-item menu-item-type-custom menu-item-object-custom menu-item-12245"><a href="http://formfest.org"">FormFest</a></li> </ul> </div> <div class="col-xs-12 col-sm-6 col-md"> <ul class="ul ul--unstyled"> <li class="strong menu-item menu-item-type-post_type menu-item-object-page menu-item-3644 menu-item-has-children"><a href="https://codeforamerica.org/about-us/">About Us</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3652"><a href="https://codeforamerica.org/about-us/vision-and-values/"">Vision & Values</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-12738"><a href="https://codeforamerica.org/jobs/"">Careers</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3649"><a href="https://codeforamerica.org/about-us/impact-reports/"">Impact Reports</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3651"><a href="https://codeforamerica.org/about-us/our-team/"">Our Team</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3646"><a href="https://codeforamerica.org/about-us/board-members/"">Our Board</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3650"><a href="https://codeforamerica.org/about-us/our-supporters/"">Our Supporters</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-3648"><a href="https://codeforamerica.org/about-us/financials/"">Financials</a></li> <li class="small menu-item menu-item-type-post_type menu-item-object-page menu-item-12775"><a href="https://codeforamerica.org/media-kit/"">Media Kit</a></li> </ul> </div> </div> </div> </div> <div class="col-xs-12 col-md-3 stack"> <div class="site-footer__actions"> <a href="https://codeforamerica.org/newsletter/" class="cfa-button cfa-button--outline-white"> Join our mailing list </a> <a href="https://codeforamerica.org/partner-with-us/" class="cfa-button cfa-button--outline-white"> Partner with us </a> <a href="https://codeforamerica.org/donate/" class="cfa-button cfa-button--primary"> Donate </a> </div> <div class="site-footer__social"> <ul class="ul ul--inline"> <li> <a href="https://www.linkedin.com/company/code-for-america/" title="LinkedIn" target="_blank" rel="noopener noreferrer" aria-label="Follow us on LinkedIn"> <cfa-social-icon icon="linkedin"> LinkedIn </cfa-social-icon> </a> </li> <li> <a href="https://www.instagram.com/codeforamerica" title="Instagram" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Instagram"> <cfa-social-icon icon="instagram"> Instagram </cfa-social-icon> </a> </li> <li> <a href="https://www.threads.net/@codeforamerica" title="Threads" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Threads"> <cfa-social-icon icon="threads"> Threads </cfa-social-icon> </a> </li> <li> <a href="https://www.youtube.com/user/CodeforAmerica" title="YouTube" target="_blank" rel="noopener noreferrer" aria-label="Follow us on YouTube"> <cfa-social-icon icon="youtube"> YouTube </cfa-social-icon> </a> </li> <li> <a href="https://www.twitter.com/codeforamerica" title="Twitter" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Twitter"> <cfa-social-icon icon="twitter"> Twitter </cfa-social-icon> </a> </li> <li> <a href="https://www.facebook.com/codeforamerica" title="Facebook" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Facebook"> <cfa-social-icon icon="facebook"> Facebook </cfa-social-icon> </a> </li> </ul> </div> <div> <a href="https://www.charitynavigator.org/ein/271067272" target="_blank" rel="noopener noreferrer" > <img src="https://files.codeforamerica.org/2023/12/04140236/charity-navigator_ratings_WHT_4star.svg" alt="Charity Navigator four-star rating badge" style="display: block; margin-inline: auto; width: var(--column-span-2);" > </a> </div> </div> </div> <div class="row"> <div class="col-xs-12"> <div class="site-footer__legal"> <a href="https://codeforamerica.org">Code for America</a> Labs, Inc. is a non-partisan, non-political 501(c)(3) charitable organization. | <a href="/privacy"><b>Privacy Policy</b></a> </div> </div> </div> </div> </footer> <!-- Start of Async HubSpot Analytics Code --> <script type="text/javascript"> (function(d,s,i,r) { if (d.getElementById(i)){return;} var n=d.createElement(s),e=d.getElementsByTagName(s)[0]; n.id=i;n.src='//js.hs-analytics.net/analytics/'+(Math.ceil(new Date()/r)*r)+'/5622333.js'; e.parentNode.insertBefore(n, e); })(document,"script","hs-analytics",300000); </script> <!-- End of Async HubSpot Analytics Code --> <script type="text/javascript">(function (undefined) {let scriptOptions={"_localizedStrings":{"redirect_overlay_title":"Hold On","redirect_overlay_text":"You are being redirected to another page,<br>it may take a few seconds.","webview_notification_text":"The selected provider doesn't support embedded browsers!"},"_targetWindow":"prefer-popup","_redirectOverlay":"overlay-with-spinner-and-message","_unsupportedWebviewBehavior":""}; /** * Used when Cross-Origin-Opener-Policy blocked the access to the opener. We can't have a reference of the opened windows, so we should attempt to refresh only the windows that has opened popups. */ window._nslHasOpenedPopup = false; window._nslWebViewNoticeElement = null; window.NSLPopup = function (url, title, w, h) { /** * Cross-Origin-Opener-Policy blocked the access to the opener */ if (typeof BroadcastChannel === "function") { const _nslLoginBroadCastChannel = new BroadcastChannel('nsl_login_broadcast_channel'); _nslLoginBroadCastChannel.onmessage = (event) => { if (window?._nslHasOpenedPopup && event.data?.action === 'redirect') { window._nslHasOpenedPopup = false; const url = event.data?.href; _nslLoginBroadCastChannel.close(); if (typeof window.nslRedirect === 'function') { window.nslRedirect(url); } else { window.opener.location = url; } } }; } const userAgent = navigator.userAgent, mobile = function () { return /\b(iPhone|iP[ao]d)/.test(userAgent) || /\b(iP[ao]d)/.test(userAgent) || /Android/i.test(userAgent) || /Mobile/i.test(userAgent); }, screenX = window.screenX !== undefined ? window.screenX : window.screenLeft, screenY = window.screenY !== undefined ? window.screenY : window.screenTop, outerWidth = window.outerWidth !== undefined ? window.outerWidth : document.documentElement.clientWidth, outerHeight = window.outerHeight !== undefined ? window.outerHeight : document.documentElement.clientHeight - 22, targetWidth = mobile() ? null : w, targetHeight = mobile() ? null : h, left = parseInt(screenX + (outerWidth - targetWidth) / 2, 10), right = parseInt(screenY + (outerHeight - targetHeight) / 2.5, 10), features = []; if (targetWidth !== null) { features.push('width=' + targetWidth); } if (targetHeight !== null) { features.push('height=' + targetHeight); } features.push('left=' + left); features.push('top=' + right); features.push('scrollbars=1'); const newWindow = window.open(url, title, features.join(',')); if (window.focus) { newWindow.focus(); } window._nslHasOpenedPopup = true; return newWindow; }; let isWebView = null; function checkWebView() { if (isWebView === null) { function _detectOS(ua) { if (/Android/.test(ua)) { return "Android"; } else if (/iPhone|iPad|iPod/.test(ua)) { return "iOS"; } else if (/Windows/.test(ua)) { return "Windows"; } else if (/Mac OS X/.test(ua)) { return "Mac"; } else if (/CrOS/.test(ua)) { return "Chrome OS"; } else if (/Firefox/.test(ua)) { return "Firefox OS"; } return ""; } function _detectBrowser(ua) { let android = /Android/.test(ua); if (/Opera Mini/.test(ua) || / OPR/.test(ua) || / OPT/.test(ua)) { return "Opera"; } else if (/CriOS/.test(ua)) { return "Chrome for iOS"; } else if (/Edge/.test(ua)) { return "Edge"; } else if (android && /Silk\//.test(ua)) { return "Silk"; } else if (/Chrome/.test(ua)) { return "Chrome"; } else if (/Firefox/.test(ua)) { return "Firefox"; } else if (android) { return "AOSP"; } else if (/MSIE|Trident/.test(ua)) { return "IE"; } else if (/Safari\//.test(ua)) { return "Safari"; } else if (/AppleWebKit/.test(ua)) { return "WebKit"; } return ""; } function _detectBrowserVersion(ua, browser) { if (browser === "Opera") { return /Opera Mini/.test(ua) ? _getVersion(ua, "Opera Mini/") : / OPR/.test(ua) ? _getVersion(ua, " OPR/") : _getVersion(ua, " OPT/"); } else if (browser === "Chrome for iOS") { return _getVersion(ua, "CriOS/"); } else if (browser === "Edge") { return _getVersion(ua, "Edge/"); } else if (browser === "Chrome") { return _getVersion(ua, "Chrome/"); } else if (browser === "Firefox") { return _getVersion(ua, "Firefox/"); } else if (browser === "Silk") { return _getVersion(ua, "Silk/"); } else if (browser === "AOSP") { return _getVersion(ua, "Version/"); } else if (browser === "IE") { return /IEMobile/.test(ua) ? _getVersion(ua, "IEMobile/") : /MSIE/.test(ua) ? _getVersion(ua, "MSIE ") : _getVersion(ua, "rv:"); } else if (browser === "Safari") { return _getVersion(ua, "Version/"); } else if (browser === "WebKit") { return _getVersion(ua, "WebKit/"); } return "0.0.0"; } function _getVersion(ua, token) { try { return _normalizeSemverString(ua.split(token)[1].trim().split(/[^\w\.]/)[0]); } catch (o_O) { } return "0.0.0"; } function _normalizeSemverString(version) { const ary = version.split(/[\._]/); return (parseInt(ary[0], 10) || 0) + "." + (parseInt(ary[1], 10) || 0) + "." + (parseInt(ary[2], 10) || 0); } function _isWebView(ua, os, browser, version, options) { switch (os + browser) { case "iOSSafari": return false; case "iOSWebKit": return _isWebView_iOS(options); case "AndroidAOSP": return false; case "AndroidChrome": return parseFloat(version) >= 42 ? /; wv/.test(ua) : /\d{2}\.0\.0/.test(version) ? true : _isWebView_Android(options); } return false; } function _isWebView_iOS(options) { const document = (window["document"] || {}); if ("WEB_VIEW" in options) { return options["WEB_VIEW"]; } return !("fullscreenEnabled" in document || "webkitFullscreenEnabled" in document || false); } function _isWebView_Android(options) { if ("WEB_VIEW" in options) { return options["WEB_VIEW"]; } return !("requestFileSystem" in window || "webkitRequestFileSystem" in window || false); } const options = {}, nav = window.navigator || {}, ua = nav.userAgent || "", os = _detectOS(ua), browser = _detectBrowser(ua), browserVersion = _detectBrowserVersion(ua, browser); isWebView = _isWebView(ua, os, browser, browserVersion, options); } return isWebView; } function isAllowedWebViewForUserAgent(provider) { const facebookAllowedWebViews = [ 'Instagram', 'FBAV', 'FBAN' ]; let whitelist = []; if (provider && provider === 'facebook') { whitelist = facebookAllowedWebViews; } const nav = window.navigator || {}, ua = nav.userAgent || ""; if (whitelist.length && ua.match(new RegExp(whitelist.join('|')))) { return true; } return false; } function disableButtonInWebView(providerButtonElement) { if (providerButtonElement) { providerButtonElement.classList.add('nsl-disabled-provider'); providerButtonElement.setAttribute('href', '#'); providerButtonElement.addEventListener('pointerdown', (e) => { if (!window._nslWebViewNoticeElement) { window._nslWebViewNoticeElement = document.createElement('div'); window._nslWebViewNoticeElement.id = "nsl-notices-fallback"; window._nslWebViewNoticeElement.addEventListener('pointerdown', function (e) { this.parentNode.removeChild(this); window._nslWebViewNoticeElement = null; }); const webviewNoticeHTML = '<div class="error"><p>' + scriptOptions._localizedStrings.webview_notification_text + '</p></div>'; window._nslWebViewNoticeElement.insertAdjacentHTML("afterbegin", webviewNoticeHTML); document.body.appendChild(window._nslWebViewNoticeElement); } }); } } window._nslDOMReady(function () { window.nslRedirect = function (url) { if (scriptOptions._redirectOverlay) { const overlay = document.createElement('div'); overlay.id = "nsl-redirect-overlay"; let overlayHTML = ''; const overlayContainer = "<div id='nsl-redirect-overlay-container'>", overlayContainerClose = "</div>", overlaySpinner = "<div id='nsl-redirect-overlay-spinner'></div>", overlayTitle = "<p id='nsl-redirect-overlay-title'>" + scriptOptions._localizedStrings.redirect_overlay_title + "</p>", overlayText = "<p id='nsl-redirect-overlay-text'>" + scriptOptions._localizedStrings.redirect_overlay_text + "</p>"; switch (scriptOptions._redirectOverlay) { case "overlay-only": break; case "overlay-with-spinner": overlayHTML = overlayContainer + overlaySpinner + overlayContainerClose; break; default: overlayHTML = overlayContainer + overlaySpinner + overlayTitle + overlayText + overlayContainerClose; break; } overlay.insertAdjacentHTML("afterbegin", overlayHTML); document.body.appendChild(overlay); } window.location = url; }; let targetWindow = scriptOptions._targetWindow || 'prefer-popup', lastPopup = false; document.addEventListener('click', function (e) { if (e.target) { const buttonLinkElement = e.target.closest('a[data-plugin="nsl"][data-action="connect"]') || e.target.closest('a[data-plugin="nsl"][data-action="link"]'); if (buttonLinkElement) { if (lastPopup && !lastPopup.closed) { e.preventDefault(); lastPopup.focus(); } else { let href = buttonLinkElement.href, success = false; if (href.indexOf('?') !== -1) { href += '&'; } else { href += '?'; } const redirectTo = buttonLinkElement.dataset.redirect; if (redirectTo === 'current') { href += 'redirect=' + encodeURIComponent(window.location.href) + '&'; } else if (redirectTo && redirectTo !== '') { href += 'redirect=' + encodeURIComponent(redirectTo) + '&'; } if (targetWindow !== 'prefer-same-window' && checkWebView()) { targetWindow = 'prefer-same-window'; } if (targetWindow === 'prefer-popup') { lastPopup = NSLPopup(href + 'display=popup', 'nsl-social-connect', buttonLinkElement.dataset.popupwidth, buttonLinkElement.dataset.popupheight); if (lastPopup) { success = true; e.preventDefault(); } } else if (targetWindow === 'prefer-new-tab') { const newTab = window.open(href + 'display=popup', '_blank'); if (newTab) { if (window.focus) { newTab.focus(); } success = true; window._nslHasOpenedPopup = true; e.preventDefault(); } } if (!success) { window.location = href; e.preventDefault(); } } } } }); let buttonCountChanged = false; const googleLoginButtons = document.querySelectorAll(' a[data-plugin="nsl"][data-provider="google"]'); if (googleLoginButtons.length && checkWebView()) { googleLoginButtons.forEach(function (googleLoginButton) { if (scriptOptions._unsupportedWebviewBehavior === 'disable-button') { disableButtonInWebView(googleLoginButton); } else { googleLoginButton.remove(); buttonCountChanged = true; } }); } const facebookLoginButtons = document.querySelectorAll(' a[data-plugin="nsl"][data-provider="facebook"]'); if (facebookLoginButtons.length && checkWebView() && /Android/.test(window.navigator.userAgent) && !isAllowedWebViewForUserAgent('facebook')) { facebookLoginButtons.forEach(function (facebookLoginButton) { if (scriptOptions._unsupportedWebviewBehavior === 'disable-button') { disableButtonInWebView(facebookLoginButton); } else { facebookLoginButton.remove(); buttonCountChanged = true; } }); } const separators = document.querySelectorAll('div.nsl-separator'); if (buttonCountChanged && separators.length) { separators.forEach(function (separator) { const separatorParentNode = separator.parentNode; if (separatorParentNode) { const separatorButtonContainer = separatorParentNode.querySelector('div.nsl-container-buttons'); if (separatorButtonContainer && !separatorButtonContainer.hasChildNodes()) { separator.remove(); } } }) } });})();</script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght@400" rel="stylesheet" /> </body> </html>