<div class="mobile-fixed-actions" data-mobile-actions>
    <a
        class="mobile-fixed-actions__button mobile-fixed-actions__button--call"
        href="tel:5872105618"
        aria-label="Call TZ Lawyers"
    >
        <svg viewBox="0 0 24 24" aria-hidden="true">
            <path d="M6.62 10.79a15.46 15.46 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2Z"/>
        </svg>

        <span>Call Us</span>
    </a>

    <a
        class="mobile-fixed-actions__button mobile-fixed-actions__button--contact"
        href="https://tzlawyers.ca/contact"
    >
        <span>Contact Us</span>

        <svg viewBox="0 0 24 24" aria-hidden="true">
            <path d="m13.17 5.17 6.83 6.83-6.83 6.83-1.41-1.41L16.17 13H4v-2h12.17l-4.41-4.41 1.41-1.42Z"/>
        </svg>
    </a>
</div>
<style>
.mobile-fixed-actions {
    --actions-bg: #fefefe;
    --actions-dark: #272727;
    --actions-gold: #f7be13;

    position: fixed;
    z-index: 99999;
    left: 0;
    right: 0;
    bottom: 0;

    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 10px;

    padding:
        10px
        12px
        calc(10px + env(safe-area-inset-bottom));

    background: rgba(254, 254, 254, 0.96);
    border-top: 1px solid rgba(39, 39, 39, 0.08);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.08);

    transform: translateY(0);
    opacity: 1;

    transition:
        transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 220ms ease;

    will-change: transform, opacity;
}

.mobile-fixed-actions.is-hidden {
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
}

.mobile-fixed-actions__button {
    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 14px 18px;
text-transform: uppercase;


    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease;
}

.mobile-fixed-actions__button svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    fill: currentColor;
}

.mobile-fixed-actions__button--call {
    color: #fefefe;
    background: #272727;
    box-shadow: 0 6px 18px rgba(39, 39, 39, 0.18);
}

.mobile-fixed-actions__button--contact {
    color: #272727;
    background: #f7be13;
    box-shadow: 0 6px 18px rgba(247, 190, 19, 0.24);
}

@media (hover: hover) {
    .mobile-fixed-actions__button:hover {
        transform: translateY(-2px);
    }

    .mobile-fixed-actions__button--call:hover {
        background: #111111;
    }

    .mobile-fixed-actions__button--contact:hover {
        background: #ffc928;
    }
}

.mobile-fixed-actions__button:active {
    transform: translateY(0) scale(0.98);
}

.mobile-fixed-actions__button:focus-visible {
    outline: 3px solid rgba(247, 190, 19, 0.5);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .mobile-fixed-actions {
        display: grid;
    }

    body {
        padding-bottom: 84px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-fixed-actions,
    .mobile-fixed-actions__button {
        transition: none;
    }
}
</style>
<script>
    (() => {
        const actions = document.querySelector('[data-mobile-actions]');

        if (!actions) return;

        let previousScrollY = window.scrollY;
        let ticking = false;
        const scrollThreshold = 8;
        const revealAtTop = 80;

        const updateActions = () => {
            const currentScrollY = window.scrollY;
            const difference = currentScrollY - previousScrollY;

            if (currentScrollY <= revealAtTop) {
                actions.classList.remove('is-hidden');
            } else if (Math.abs(difference) >= scrollThreshold) {
                if (difference > 0) {
                    actions.classList.add('is-hidden');
                } else {
                    actions.classList.remove('is-hidden');
                }
            }

            previousScrollY = Math.max(currentScrollY, 0);
            ticking = false;
        };

        window.addEventListener(
            'scroll',
            () => {
                if (ticking) return;

                ticking = true;
                requestAnimationFrame(updateActions);
            },
            { passive: true }
        );
    })();
</script><?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//tzlawyers.ca/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://tzlawyers.ca/post-sitemap.xml</loc>
		<lastmod>2025-11-12T16:14:29+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://tzlawyers.ca/page-sitemap.xml</loc>
		<lastmod>2026-09-22T13:36:06+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://tzlawyers.ca/category-sitemap.xml</loc>
		<lastmod>2025-11-12T16:14:29+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://tzlawyers.ca/post_tag-sitemap.xml</loc>
		<lastmod>2025-11-12T16:14:29+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://tzlawyers.ca/ip_lab_city_location-sitemap.xml</loc>
		<lastmod>2026-08-20T01:51:36+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://tzlawyers.ca/author-sitemap.xml</loc>
		<lastmod>2024-11-26T15:23:56+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Yoast SEO -->