/* General Styling */ .image-container { text-align: center; /* Center-aligns text and images within the container */ margin: 20px 0; /* Creates vertical spacing between image sections */ padding: 10px; /* Adds padding inside the container for a cleaner look */ border: 1px solid #ccc; /* Optional: Adds a border for visual separation */ border-radius: 8px; /* Optional: Adds rounded corners to the container */ background-color: #f9f9f9; /* Optional: Adds a light background color for emphasis */ } .image-container img { display: block; /* Ensures the image is treated as a block element */ margin: 0 auto; /* Centers the image horizontally */ max-width: 100%; /* Ensures images are responsive and don't exceed container width */ height: auto; /* Maintains aspect ratio for images */ } .image-container p { margin-top: 10px; /* Adds space between the image and its description */ font-size: 16px; /* Sets font size for the description */ line-height: 1.6; /* Improves readability by increasing line spacing */ color: #333; /* Uses a dark gray color for text */ } .image-container h2 { font-size: 24px; /* Sets font size for headings */ font-weight: bold; /* Ensures headings stand out */ margin-top: 10px; /* Adds space above the heading */ color: #222; /* Uses a slightly darker shade for headings */ } .product-info { font-size: 16px; line-height: 1.6; text-align: center; /* Ensures all text in the product info is centered */ } a.link-faded[href="/collections/vendors?q=Groomers%20Helper%C2%AE"] { color: #FF0000; /* Red color */ } The Loop Adjuster The Loop Adjuster adjusts to different sizes to accommodate different size dogs, without having to raise or lower your grooming arm. The Loop Adjusters below are all the same size, but are "adjusted" to different lengths. Adjustable Lengths Example of three Groomers Helper® Loop Adjusters showing different loop lengths. The Groomers Helper® Loop Adjuster allows you to keep your grooming arm at one height and all you do is adjust the loop to the size of each dog you are grooming. Designed to work with the Loops you are using now! It is just that simple lightbox.option({ 'disableScrolling': true, /* Prevents scrolling while the lightbox is open */ 'alwaysShowNavOnTouchDevices': true, /* Ensures navigation is always visible on touch devices */ 'fadeDuration': 200, /* Sets the fade-in/out animation duration */ 'resizeDuration': 200, /* Sets the resize animation duration */ 'wrapAround': true /* Enables looping through images in the gallery */ 'onOpen': function() { document.addEventListener('click', handleClick); document.addEventListener('touchstart', handleTouchStart); document.addEventListener('touchmove', handleTouchMove); }, 'onClose': function() { document.removeEventListener('click', handleClick); document.removeEventListener('touchstart', handleTouchStart); document.removeEventListener('touchmove', handleTouchMove); } }); function handleClick(event) { if (event.button === 0) { // Left mouse button history.back(); } } let xDown = null; let yDown = null; function handleTouchStart(event) { const firstTouch = (event.touches || event.originalEvent.touches)[0]; xDown = firstTouch.clientX; yDown = firstTouch.clientY; } function handleTouchMove(event) { if (!xDown || !yDown) { return; } let xUp = event.touches[0].clientX; let yUp = event.touches[0].clientY; let xDiff = xDown - xUp; let yDiff = yDown - yUp; if (Math.abs(xDiff) > Math.abs(yDiff)) { // Left or right swipe if (xDiff > 0) { // Left swipe history.back(); } else { // Right swipe history.back(); } } else { // Up or down swipe if (yDiff > 0) { // Up swipe history.back(); } else { // Down swipe history.back(); } } xDown = null; yDown = null; } });