Skip to content

“use strict”;

var positionImage = function positionImage(imageEl) {
var imageDimensions = imageEl.dataset.imageDimensions.split(‘x’);
var originalWidth = imageDimensions[0];
var originalHeight = imageDimensions[1];
var focalPoint = imageEl.dataset.imageFocalPoint.split(‘,’);
var focalPointX = focalPoint[0];
var focalPointY = focalPoint[1];
var parentNode = imageEl.parentNode;

var scale = function () {
var imageRatio = originalWidth / originalHeight;
var parentClientSize = {
height: parentNode.clientHeight,
width: parentNode.clientWidth
var parentRatio = parentClientSize.width / parentClientSize.height;

if (imageRatio > parentRatio) {
return parentClientSize.height / originalHeight;

return parentClientSize.width / originalWidth;

var getRelativeOffset = function getRelativeOffset() {
var targetWidth = Math.ceil(originalWidth * scale);
var targetHeight = Math.ceil(originalHeight * scale);
var parentDimensionWidth = parentNode.offsetWidth;
var parentDimensionHeight = parentNode.offsetHeight;
var overflowWidth = targetWidth – parentDimensionWidth;
var overflowHeight = targetHeight – parentDimensionHeight;
var valueX;

if (overflowWidth === 0) {
valueX = focalPointX;
} else {
valueX = Math.max(Math.min(targetWidth * focalPointX – parentDimensionWidth * 0.5, overflowWidth), 0) / overflowWidth;

var valueY;

if (overflowHeight === 0) {
valueY = focalPointY;
} else {
valueY = Math.max(Math.min(targetHeight * focalPointY – parentDimensionHeight * 0.5, overflowHeight), 0) / overflowHeight;

return {
valueX: valueX,
valueY: valueY

var relativeOffset = getRelativeOffset();
var valueX = relativeOffset.valueX;
var valueY = relativeOffset.valueY; = “”.concat(valueX * 100, “% “).concat(valueY * 100, “%”);

real PEOPLE. real JUSTICE.

We combine the best of grassroots organizing with legal expertise to radically transform policing and justice in America—and we want you on our team.



Grassroots Law Project bridges the gap between grassroots organizing and legal expertise in criminal justice reform by bringing millions of us together to address the most pressing and egregious failures of the system, hold powerful actors accountable, and advocate for deep structural change.



With the help of a vast grassroots network, we will provide the necessary organizing and legal support to transform justice in America.

We will create change by confronting key decision makers—elected officials, prosecutors’ offices, police departments, and others—and applying massive public pressure to draw national attention to cases that normally go overlooked by national media.

But it’s not enough to fight injustices one at a time. We will push for bold policy changes to dismantle systems of injustice and replace them with policies, committees, and resources that support healing and community care.

Using grassroots organizing and legal expertise, The Grassroots Law Project will radically reform the American legal system to end abuses of authority used to unjustly injure, arrest, convict, and sentence.


We are the team behind the campaigns to free Rodney Reed, free Michael Thompson, stop the execution of Nate Woods, and get justice for Ahmaud Arbery, Breonna Taylor, and George Floyd.

These cases have taught us that our success depends on high-quality work by legal professionals, and widespread, relentless organizing that draws on the power of motivated volunteers to do meaningful work, whether it’s donating a few dollars or spending hours on the phone calling important decision makers.

We’re building a grassroots movement for change to provide a new resource for those without expertise, finances, or social reach to seek justice with us, together—and we can’t do this without you. Remember, nobody is voiceless. They are just unheard. We exist to amplify their voices and to fight for them every step of the way.

<div class="sqs-block video-block sqs-block-video" data-block-json="{"blockAnimation":"none","layout":"caption-hidden","overlay":false,"description":{"html":""},"customThumb":"5fda8ff7cb072f6a7ce0ebbb","html":"","url":"","width":426,"height":240,"providerName":"Vimeo","thumbnailUrl":"","resolvedBy":"vimeo"}” data-block-type=”32″ id=”block-a2c3938d1cb667bd85a4″>
<div class="sqs-video-wrapper" data-html="” data-provider-name=”Vimeo”>


Every dollar you donate will go towards helping Grassroots Law Project get justice for families and radically reform the American legal system.