---
title: "Mobile Claw Trimming"
description: "Mobile cat nail trimming in Portland. In-home claw care for seniors, anxious cats, and mobility-limited cats. Gentle, feline-only handling."
featured_image: "https://catsinthecity.com/wp-content/uploads/2026/02/feline-claw-trim-at-cats-in-the-city-in-portland.webp"
url: "https://catsinthecity.com/mobile-claw-trimming/"
date_modified: "2026-09-27T11:22:58-07:00"
---

Cats in the City · Portland metro

# Mobile cat claw trimming, without the car ride.

Professional, feline-only claw care brought to your home for cats who benefit from fewer transitions and a familiar environment.

[Estimate your rate ↓](#citc-mobile-claw-rate-estimator) [Request a mobile visit →](https://catsinthecity.com/mobile-trimming-booking/#citc-mobile-claw-form)

Feline-only care Bonded & insured TANDEM Cat® support Home or approved access

![Cats in the City team providing a feline claw trim in Portland](https://catsinthecity.com/wp-content/uploads/2026/02/feline-claw-trim-at-cats-in-the-city-in-portland.png) Routine claw care in a small, quiet room can reduce travel and environmental transitions.

✓

## Routine claw care at home

Choose mobile care for routine front-and-rear trimming, long or snagging claws, fast-growing dewclaws, or optional Soft Paws.

[Start the mobile request →](https://catsinthecity.com/mobile-trimming-booking/#citc-mobile-claw-form)

!

## Injured or embedded claw?

Bleeding, swelling, discharge, odor, limping, severe pain, or a claw touching the paw pad may require prompt veterinary or clinic care.

[Review ingrown-claw guidance →](https://catsinthecity.com/ingrown-cat-claws/)

Why mobile claw care

## Less travel. A familiar room. A cat-specific plan.

Mobile care replaces the carrier-to-car-to-clinic sequence with a prepared space at home. The team reviews your cat’s handling history and environment before confirming the visit.

01

### No carrier ride across town

Your cat stays in a familiar environment without a waiting room or extra travel transition.

02

### Feline-only handling

The visit is planned around paw-handling history, mobility, behavior, and what helps your cat feel safer.

03

### A controlled service space

A bathroom, laundry room, mudroom, or similarly enclosed room creates a clearer care environment.

04

### Flexible home access

You may be home, or the team can review an approved secure-access plan before the visit is confirmed.

How it works

## A request review comes before route confirmation.

The booking page is a service request—not an instant appointment. This lets the team confirm fit, route capacity, staffing, rate, and preparation.

1. 01**Estimate**Check driving distance, cat count, and optional Soft Paws below.
2. 02**Request**Share your address, cat details, handling history, room plan, and preferred dates.
3. 03**Review & confirm**The team confirms routine-care fit, route, staffing, agreement, deposit, and arrival plan.
4. 04**Prepare & visit**Have each first-time cat secured in a carrier in the designated room unless another plan is approved.

Transparent route-based pricing

## Estimate your mobile claw-trimming rate.

Choose the starting clinic and enter the service address. The estimator uses driving distance, the number of cats, and selected Soft Paws add-ons.

### Base mobile rates

Standard routine front-and-rear claw trimming. Final pricing and route availability are confirmed after request review.

- 0–4 driving miles**$179**
- 5–6 driving miles**$195**
- 7–8 driving miles**$210**
- 9–10 driving miles**$225**
- 11–12 driving miles**$240**
- 13–15 driving miles**$255**
- 16–18 driving miles**$270**

![Cat relaxing in a Cats in the City catio](https://catsinthecity.com/wp-content/uploads/2023/11/Untitled-design-45-1024x684.png) Route-based pricing keeps the travel component visible before you submit a request.

What changes the total

## Simple add-ons, clearly separated.

The base rate covers the first cat’s standard mobile front-and-rear claw trim. Add-ons are calculated separately.

Additional cats**+$50 each**

For each additional cat receiving service at the same address.

Soft Paws · front**+$30**

Optional nail-cap application when the claws and paws are suitable.

Soft Paws · rear**+$25**

Optional rear-paw nail-cap application when appropriate.

Two-person support**Included**

 :root{ --citc-rate-blue:#204e89; --citc-rate-blue-dark:#173b68; --citc-rate-light-blue:#edf4fb; --citc-rate-text:#2f3a44; --citc-rate-muted:#5f6b76; --citc-rate-border:#d9e2ec; --citc-rate-warm-bg:#fffaf3; --citc-rate-warm-border:rgba(242,150,36,.22); --citc-rate-success-bg:rgba(31,143,85,.05); --citc-rate-success-border:rgba(31,143,85,.20); --citc-rate-success:#1f8f55; --citc-rate-shadow:0 12px 30px rgba(32,78,137,.08); } .elementor-shortcode>#citc-mobile-claw-rate-estimator, #citc-mobile-claw-rate-estimator{ min-width:0; width:100%; max-width:100%; } .citc-rate,.citc-rate *{box-sizing:border-box} .citc-rate[hidden],.citc-rate [hidden]{display:none!important} .citc-rate{ max-width:860px; margin:0 auto; color:var(--citc-rate-text); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.55; overflow-wrap:anywhere; } .citc-rate button,.citc-rate input,.citc-rate select{font:inherit} .citc-rate button,.citc-rate label{-webkit-tap-highlight-color:transparent} .citc-rate__shell{ overflow:hidden; border:1px solid var(--citc-rate-border); border-radius:28px; background:linear-gradient(180deg,#fff 0%,#f8fbfe 100%); box-shadow:var(--citc-rate-shadow); } .citc-rate__head{ padding:30px 24px 22px; border-bottom:1px solid var(--citc-rate-border); background:linear-gradient(180deg,var(--citc-rate-light-blue) 0%,#f8fbfe 100%); text-align:center; } .citc-rate__eyebrow{ display:inline-block; margin-bottom:10px; padding:8px 12px; border:1px solid #cfe0f6; border-radius:999px; background:#fff; color:var(--citc-rate-blue); font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; } .citc-rate__head h2{ margin:0 0 10px; color:var(--citc-rate-blue); font-size:clamp(1.8rem,3vw,2.2rem); font-weight:650; line-height:1.15; letter-spacing:-.03em; } .citc-rate__head p{ max-width:760px; margin:0 auto; color:var(--citc-rate-muted); font-size:1.02rem; line-height:1.75; } .citc-rate__body{padding:24px} .citc-rate__help{ margin-bottom:20px; padding:16px; border:1px solid var(--citc-rate-warm-border); border-radius:18px; background:var(--citc-rate-warm-bg); color:var(--citc-rate-text); font-size:.96rem; line-height:1.7; } .citc-rate__help strong{color:var(--citc-rate-blue-dark)} .citc-rate__route-note{ display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:center; margin-bottom:20px; padding:14px 16px; border:1px solid #cfe0f6; border-radius:16px; background:#f2f7fc; } .citc-rate__route-note b{ display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:var(--citc-rate-blue); color:#fff; font-size:18px; } .citc-rate__route-note strong,.citc-rate__route-note span{display:block} .citc-rate__route-note strong{color:var(--citc-rate-blue-dark)} .citc-rate__route-note span{margin-top:2px;color:var(--citc-rate-muted);font-size:13px} .citc-rate__grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; } .citc-rate__field{ display:flex; flex-direction:column; gap:8px; min-width:0; } .citc-rate__field--full{grid-column:1/-1} .citc-rate__label{color:var(--citc-rate-blue);font-size:15px;font-weight:800} .citc-rate__input,.citc-rate__select{ width:100%; max-width:100%; min-height:54px; border:1px solid var(--citc-rate-border); border-radius:16px; padding:12px 14px; background:#fff; color:var(--citc-rate-text); font-size:16px; outline:none; transition:border-color .2s ease,box-shadow .2s ease; } .citc-rate__input:focus,.citc-rate__select:focus{ border-color:#9fc0e6; box-shadow:0 0 0 4px rgba(32,78,137,.10); } .citc-rate__checks{display:grid;gap:10px;padding-top:4px} .citc-rate__check{ display:flex!important; gap:10px; align-items:flex-start; margin:0!important; color:var(--citc-rate-text); font-size:15px; line-height:1.5; cursor:pointer; } .citc-rate__check input{width:19px;height:19px;flex:0 0 19px;margin-top:2px;accent-color:var(--citc-rate-blue)} .citc-rate__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; } .citc-rate__button{ display:inline-flex; align-items:center; justify-content:center; min-height:52px; border:0; border-radius:18px; padding:14px 18px; cursor:pointer; font-size:16px; font-weight:800; text-decoration:none!important; transition:transform .15s ease,background .15s ease,filter .15s ease; } .citc-rate__button:hover{transform:translateY(-1px);filter:brightness(1.02)} .citc-rate__button:focus-visible{outline:3px solid rgba(32,78,137,.22);outline-offset:3px} .citc-rate__button:disabled{cursor:not-allowed;opacity:.62;transform:none} .citc-rate__button--primary{background:var(--citc-rate-blue);color:#fff!important} .citc-rate__button--primary:hover{background:var(--citc-rate-blue-dark)} .citc-rate__button--secondary{border:1px solid #cfe0f6;background:var(--citc-rate-light-blue);color:var(--citc-rate-blue)!important} .citc-rate__button--booking{border:2px solid #cfe0f6;background:#fff;color:var(--citc-rate-blue)!important} .citc-rate__status{ min-height:0; margin-top:14px; color:var(--citc-rate-muted); font-size:13px; } .citc-rate__error,.citc-rate__result{ display:none; margin-top:20px; border-radius:20px; padding:18px; } .citc-rate__error.is-visible,.citc-rate__result.is-visible{display:block} .citc-rate__error{ border:1px solid var(--citc-rate-warm-border); background:var(--citc-rate-warm-bg); color:var(--citc-rate-text); font-size:.95rem; line-height:1.65; } .citc-rate__result{ border:1px solid var(--citc-rate-success-border); background:var(--citc-rate-success-bg); } .citc-rate__result h3{margin:0 0 12px;color:var(--citc-rate-success);font-size:1.2rem;line-height:1.2} .citc-rate__row{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid rgba(32,78,137,.08); color:var(--citc-rate-text); font-size:15px; line-height:1.5; } .citc-rate__row:last-child{border-bottom:0} .citc-rate__row span:first-child{font-weight:650} .citc-rate__row strong{color:var(--citc-rate-blue);text-align:right;white-space:nowrap} .citc-rate__total{ display:flex; justify-content:space-between; gap:12px; margin-top:14px; padding-top:14px; border-top:2px solid rgba(32,78,137,.10); color:var(--citc-rate-blue); font-size:20px; font-weight:800; } .citc-rate__note{margin-top:14px;color:var(--citc-rate-muted);font-size:14px;line-height:1.65} .citc-rate__result-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px} .citc-rate__persistent-cta{margin-top:22px;padding-top:20px;border-top:1px solid var(--citc-rate-border);text-align:center} .citc-rate__persistent-cta p{margin:0 0 12px;color:var(--citc-rate-muted);font-size:.98rem;line-height:1.7} .citc-rate__noscript{margin:18px 0;padding:18px;border-radius:14px;background:#fff1db;color:#674300} @media(max-width:760px){ .citc-rate{width:100%;max-width:100%;overflow-x:hidden} .citc-rate__head{padding:24px 17px 20px} .citc-rate__body{padding:17px} .citc-rate__grid{grid-template-columns:1fr} .citc-rate__field--full{grid-column:auto} .citc-rate__route-note{grid-template-columns:1fr} .citc-rate__actions,.citc-rate__result-cta{flex-direction:column} .citc-rate__button{width:100%} .citc-rate__row,.citc-rate__total{flex-direction:column} .citc-rate__row strong,.citc-rate__total strong{text-align:left;white-space:normal} } @media(prefers-reduced-motion:reduce){.citc-rate *{scroll-behavior:auto!important;transition:none!important}} Mobile Claw Trimming Rate Estimator Estimate Your Mobile Claw Trimming Rate Enter the service address once. The secure server-side estimator compares both Cats in the City routes and prices the visit from the closer location. Please note: This tool estimates standard mobile claw trimming visits. Embedded, bleeding, swollen, split, or infected claws require another care pathway and may need veterinary attention. ↔ Powell and Beaverton are compared automatically. The estimator uses the same protected Google Routes key, clinic addresses, distance bands, and add-on pricing as the Mobile Claw Care booking application. Service address Number of cats 1 cat 2 cats 3 cats 4 cats 5 cats Optional Soft Paws Soft Paws on front claws (+$30) Soft Paws on rear claws (+$25) Calculate Estimate Reset Preparing secure route calculation… Your Estimated Total This is an estimate based on the address entered. Final route availability and pricing are confirmed with the booking request. Request Mobile Claw Trimming Ready to request a visit? The booking application uses this same server-side routing and pricing system. Go to Mobile Claw Trimming Booking JavaScript is required for the route estimate. Please call 503-214-2003 for assistance. window.CITCMobileClawRateEstimatorV221 = {"version":"2.2.2","build":"20260815-elementor-mobile-bootstrap-02","bootstrapEndpoint":"https:\/\/catsinthecity.com\/wp-json\/citc-mobile-claw-care\/v3\/bootstrap","estimateEndpoint":"https:\/\/catsinthecity.com\/wp-json\/citc-mobile-claw-care\/v3\/rate-estimate","bookingUrl":"https:\/\/catsinthecity.com\/mobile-trimming-booking\/","phone":"503-214-2003"}; (function () { 'use strict'; function escapeHtml(value) { return String(value == null ? '' : value) .replace(/&/g, '&') .replace(/ /g, '>') .replace(/"/g, '"') .replace(/'/g, '''); } function money(value) { var number = Number(value || 0); return '$' + number.toFixed(2).replace('.00', ''); } function RateEstimator(root, config) { this.config = config; this.root = root; this.address = root.querySelector('[data-rate-address]'); this.catCount = root.querySelector('[data-rate-cat-count]'); this.softFront = root.querySelector('[data-rate-soft-front]'); this.softRear = root.querySelector('[data-rate-soft-rear]'); this.calculateButton = root.querySelector('[data-rate-calculate]'); this.resetButton = root.querySelector('[data-rate-reset]'); this.error = root.querySelector('[data-rate-error]'); this.result = root.querySelector('[data-rate-result]'); this.summary = root.querySelector('[data-rate-summary]'); this.total = root.querySelector('[data-rate-total]'); this.status = root.querySelector('[data-rate-status]'); this.runtimeToken = ''; this.busy = false; this.bind(); this.setStatus('Preparing secure route calculation…'); this.calculateButton.disabled = true; this.bootstrap(false) .then(this.ready.bind(this)) .catch(this.startupFailed.bind(this)); } RateEstimator.prototype.bind = function () { var self = this; this.calculateButton.addEventListener('click', function () { self.calculate(); }); this.resetButton.addEventListener('click', function () { self.reset(); }); this.address.addEventListener('keydown', function (event) { if (event.key === 'Enter') { event.preventDefault(); self.calculate(); } }); }; RateEstimator.prototype.ready = function () { this.calculateButton.disabled = false; this.setStatus('Secure server-side estimator ready. Powell and Beaverton will be compared automatically.'); this.root.setAttribute('data-runtime-ready', 'true'); }; RateEstimator.prototype.startupFailed = function () { this.calculateButton.disabled = false; this.setStatus('The secure estimator connection did not finish loading. Select Calculate to retry.'); this.root.setAttribute('data-runtime-ready', 'failed'); }; RateEstimator.prototype.setStatus = function (message) { this.status.textContent = message || ''; }; RateEstimator.prototype.clearMessages = function () { this.error.classList.remove('is-visible'); this.result.classList.remove('is-visible'); this.error.textContent = ''; this.summary.innerHTML = ''; this.total.innerHTML = ''; }; RateEstimator.prototype.showError = function (message) { this.error.textContent = message || 'The estimate could not be calculated.'; this.error.classList.add('is-visible'); this.error.setAttribute('tabindex', '-1'); this.error.focus({ preventScroll: true }); this.error.scrollIntoView({ behavior: 'smooth', block: 'center' }); }; RateEstimator.prototype.bootstrap = function (force) { var self = this; if (this.runtimeToken && !force) { return Promise.resolve(this.runtimeToken); } var separator = this.config.bootstrapEndpoint.indexOf('?') === -1 ? '?' : '&'; var url = this.config.bootstrapEndpoint + separator + 'build=' + encodeURIComponent(this.config.build || '') + '&_=' + Date.now(); return window.fetch(url, { method: 'GET', credentials: 'same-origin', cache: 'no-store', headers: { 'Cache-Control': 'no-cache' } }).then(function (response) { return response.json().catch(function () { return {}; }).then(function (data) { if (!response.ok || !data.runtime_token) { throw new Error(data.message || 'Secure estimator startup failed.'); } self.runtimeToken = data.runtime_token; if (!data.routes_ready) { throw new Error('The Google Routes key has not been configured under Settings → Mobile Claw Care.'); } return self.runtimeToken; }); }); }; RateEstimator.prototype.requestEstimate = function (retry) { var self = this; return this.bootstrap(false).then(function () { return window.fetch(self.config.estimateEndpoint, { method: 'POST', credentials: 'same-origin', cache: 'no-store', headers: { 'Content-Type': 'application/json', 'Cache-Control': 'no-cache', 'X-CITC-MCC-Token': self.runtimeToken }, body: JSON.stringify({ address: self.address.value.trim(), cat_count: parseInt(self.catCount.value, 10) || 1, soft_front: self.softFront.checked, soft_rear: self.softRear.checked }) }); }).then(function (response) { return response.json().catch(function () { return {}; }).then(function (data) { if (response.status === 401 && retry !== false) { self.runtimeToken = ''; return self.bootstrap(true).then(function () { return self.requestEstimate(false); }); } if (!response.ok || data.success === false || !data.estimate) { throw new Error(data.message || 'The route could not be calculated. Check the address and try again.'); } return data.estimate; }); }); }; RateEstimator.prototype.calculate = function () { var self = this; if (this.busy) return; this.clearMessages(); if (!this.address.value.trim()) { this.showError('Please enter a complete service address.'); return; } this.busy = true; this.calculateButton.disabled = true; this.calculateButton.textContent = 'Calculating…'; this.setStatus('Comparing Powell and Beaverton driving routes…'); this.requestEstimate(true) .then(function (estimate) { self.renderResult(estimate); self.setStatus('Estimate calculated with the shared server-side Mobile Claw Care routing engine.'); }) .catch(function (error) { self.showError(error && error.message ? error.message : 'The estimate could not be calculated.'); self.setStatus('The route was not calculated. Check the address or contact the team for manual review.'); }) .then(function () { self.busy = false; self.calculateButton.disabled = false; self.calculateButton.textContent = 'Calculate Estimate'; }); }; RateEstimator.prototype.renderResult = function (estimate) { var rows = []; var origin = estimate.origin || {}; var routes = Array.isArray(estimate.routes_checked) ? estimate.routes_checked : []; if (estimate.manual_review) { rows.push(this.row('Route result', estimate.reason || 'Manual team review is required.')); if (origin.label) rows.push(this.row('Closest route checked', origin.label + ' — ' + Number(estimate.distance_miles || 0).toFixed(1) + ' miles')); } else { rows.push(this.row('Closer clinic route', (origin.label || 'Calculated route') + ' — ' + (origin.address || ''))); rows.push(this.row('Driving distance', Number(estimate.distance_miles || 0).toFixed(1) + ' miles')); if (estimate.distance_band) rows.push(this.row('Pricing band', estimate.distance_band)); rows.push(this.row('Base mobile claw trimming rate', money(estimate.base_price))); } rows.push(this.row('Number of cats', String(estimate.cat_count || parseInt(this.catCount.value, 10) || 1))); if (Number(estimate.additional_cats || 0) > 0) rows.push(this.row('Additional cats', money(estimate.additional_cats))); if (Number(estimate.soft_front || 0) > 0) rows.push(this.row('Soft Paws front claws', money(estimate.soft_front))); if (Number(estimate.soft_rear || 0) > 0) rows.push(this.row('Soft Paws rear claws', money(estimate.soft_rear))); if (!Number(estimate.soft_front || 0) && !Number(estimate.soft_rear || 0)) rows.push(this.row('Soft Paws add-ons', 'None selected')); if (routes.length === 2) { rows.push(this.row('Routes compared', routes.map(function (route) { return route.label + ' ' + Number(route.distance_miles || 0).toFixed(1) + ' mi'; }).join(' · '))); } this.summary.innerHTML = rows.join(''); if (estimate.manual_review || estimate.total == null) { this.total.innerHTML = ' Estimated total Manual review '; } else { this.total.innerHTML = ' Estimated total ' + escapeHtml(money(estimate.total)) + ' '; } this.result.classList.add('is-visible'); this.result.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }; RateEstimator.prototype.row = function (label, value) { return ' ' + escapeHtml(label) + ' ' + escapeHtml(value) + ' '; }; RateEstimator.prototype.reset = function () { this.address.value = ''; this.catCount.value = '1'; this.softFront.checked = false; this.softRear.checked = false; this.clearMessages(); this.setStatus('Secure server-side estimator ready. Powell and Beaverton will be compared automatically.'); this.address.focus(); }; var retryTimer = 0; var observer = null; function init() { var config = window.CITCMobileClawRateEstimatorV221 || {}; if (!config.bootstrapEndpoint || !config.estimateEndpoint) return false; var roots = document.querySelectorAll('[data-citc-rate-estimator]'); if (!roots.length) return false; var initialized = false; Array.prototype.forEach.call(roots, function (root) { if (root.getAttribute('data-citc-initialized') === 'true' || root.getAttribute('data-citc-initialized') === 'booting') { initialized = true; return; } root.setAttribute('data-citc-initialized', 'booting'); try { new RateEstimator(root, config); root.setAttribute('data-citc-initialized', 'true'); initialized = true; } catch (error) { root.setAttribute('data-citc-initialized', 'failed'); var status = root.querySelector('[data-rate-status]'); if (status) status.textContent = 'The estimator did not finish loading. Refresh once or call 503-214-2003.'; if (window.console && window.console.error) window.console.error('Mobile Claw Rate Estimator initialization failed', error); } }); return initialized; } function cleanup() { if (retryTimer) { window.clearInterval(retryTimer); retryTimer = 0; } if (observer) { observer.disconnect(); observer = null; } } function start() { if (init()) { cleanup(); return; } if (!retryTimer) { var attempts = 0; retryTimer = window.setInterval(function () { attempts += 1; if (init() || attempts >= 80) cleanup(); }, 250); } if (!observer && window.MutationObserver && document.documentElement) { observer = new MutationObserver(function () { if (init()) cleanup(); }); observer.observe(document.documentElement, { childList: true, subtree: true }); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start, { once: true }); } else { start(); } window.addEventListener('load', start, { once: true }); })();

---

Cats in the City • Grooming Knowledge Hub

### This page is one part of a larger grooming system

Severe matting, deshedding, claw overgrowth, mobility limitations, and medical-sensitive grooming are all connected. If you want the full framework behind how we approach feline grooming and coat health, return to the [ **Cat Grooming Guide & Coat Care Resource Center** ](https://catsinthecity.com/cat-grooming-guide/).

The guide connects coat care, matting prevention, claw safety, and behavior-first grooming into a single structured pathway.

[ Return to the Grooming Guide → ](https://catsinthecity.com/cat-grooming-guide/)

---

## Contact

---

---

---

## Caring for Cats in the Portland Metro Area

We measure our love of cats by how much we are loved by them.

Have questions or need to arrange care for your feline friend? We’re here to help! Reach out to us for any inquiries or to schedule our services.

For more immediate assistance, feel free to call us. We look forward to hearing from you and providing the best care for your cat!

**CONTACT INFO**

**Phone:** 503-214-2003

**Email:**  admin@catsinthecity.com

## NE Tabor

## Powell

## Sellwood

## Beaverton

[Map: cats in the city beaverton](https://maps.google.com/maps?q=cats%20in%20the%20city%20beaverton)<!-- This website is optimized. Template: 6a85d725a01328b4e00db11d. Config Timestamp: 2026-08-19 16:17:39 UTC, Cached Timestamp: 2026-10-10 18:58:47 UTC, Optimization Time: 8.77ms -->