“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, “%”);
Object.assign(imageEl.style, {
height: ‘100%’,
width: ‘100%’,
objectFit: ‘cover’,
});
};
Resources & Newsletters
The resources on this page are intended to help our members contact their local and national representatives, dig into topics raised by our speaker series in more depth, read past newsletters, and more. If you have a resource you would like to share, you can send it to infodcqc@gmail.com. If you have thoughts and opinions you’d like to share, please consider posting a short article on our Blog page.
U.S. Officials
U.S. Senator (D)
Kyrsten Sinema
Phone: (520) 639-7080
U.S. Senator (D)
Mark Kelley
Phone: (520) 475-5177
U.S. Representative (D)
Ann Kirkpatrick
Phone: (520) 881-3588
State Officials – District 2
Newsletter Archive
Our newsletter comes out twice a month, on or about the 1st and the 15th of each month. You can sign up for the newsletter through the form at the bottom of each website page or by sending an email to infodcqc@gmail.com. If you have already signed up for our newsletters and are not receiving them, please be sure to check your spam folder and mark the email (it will come from Democratic Club of Quail Creek) as “Not Spam”. If you are still having problems receiving the newsletter, you can reach out to us at infodcqc@gmail.com.
Resources Archive
Below are links to some presentations by our speakers or resources we’ve shared previously on other pages of our site. If you don’t find what you are looking for, you can contact us at infodcqc@gmail.org.
Terry Sayles, The Modern Militia Movement, power point slides.
David Domke, Youtube Video Series, How They Beat the Filibuster, video 1, video 2, video 3
Photo credits: Top, Chuck Stack; Bottom, left to right; Chuck Stack, Brett Blum