-
10 NYPD cops account for more than $68 Million in misconduct
Over the past decade, just 10 NYPD cops accounted for over $68 million in misconduct payouts. All of them still have jobs.
-
The officer who killed Sean Monterrosa is getting his job back
The officer who killed Sean Monterrosa is getting his job back We are BEYOND upset and you should be too. Jarrett Tonn, the Vallejo PD officer who murdered Sean Monterrosa at a protest three years ago has just gotten his…
-
Be a founding supporter of the Tyre Nichols Skatepark Memorial
We are launching a brand-new push for Tyre Nichols with the goal of building TWO memorial skateparks in Memphis and Sacramento.
“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;
imageEl.style.objectPosition = “”.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.
WORKING TOGETHER FOR REAL 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.
NO ONE SHOULD HAVE
TO FIGHT ALONE
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.