@media screen and (max-width: 1024px) {

	html, body {
	  overflow-x: hidden;
	}

	.mobile-menu-icon {
        display: block;
        float: right;
        position: absolute;
        top: 39px;
        right: 25px;
        font-size: 32px;
        color: #40362f;
    }

    .mobile-menu {
        display: none;
        position: fixed;
        right: -100%;
        top: 100px;
        background: #fff;
        width: 100%;
        max-width: 100%;
        height: calc(100vh - 100px);
        min-height: 400px;
        overflow-y: auto;
        z-index: 30000;
        border: none;
    }

    .mobile-menu ul {
        display: block;
        width: 100%;
        margin: 0;
        padding: 10px 0 20px 0;
        list-style: none;
    }

    .mobile-menu ul li {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #eee;
        list-style: none;
    }

    .mobile-menu ul li:last-child {
        border-bottom: none;
    }

    .mobile-menu ul li a,
    .mobile-menu ul li a:link,
    .mobile-menu ul li a:visited {
        display: block !important;
        width: 100% !important;
        padding: 18px 24px !important;
        background: #fff !important;
        color: #583c3f !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        text-align: left !important;
        text-decoration: none !important;
        letter-spacing: 0.01em;
    }

    .mobile-menu ul li a:hover,
    .mobile-menu ul li a:active,
    .mobile-menu ul li a:focus {
        background: #fff !important;
        color: #40262a !important;
    }

    /* Phone CTA pinned to the bottom of the menu */
    .mobile-menu .mobile-menu-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 20px 24px 24px 24px;
        padding: 18px 20px;
        min-height: 56px;
        background: #583c3f;
        color: #fff !important;
        border-radius: 4px;
        text-align: center;
        font-size: 20px;
        font-weight: 700;
        line-height: 1;
        text-decoration: none !important;
        letter-spacing: 0.02em;
    }

    .mobile-menu .mobile-menu-cta i {
        font-size: 20px;
        line-height: 1;
        display: inline-block;
    }

    .navigation {
	    height: 110px;
	}

	.navigation .logo {
		height: 75px;
	    width: calc(100% - 150px);
	    margin: 0;
	    padding: 0 20px;
	}

	.navigation .logo img {
		margin-top: 17px;
	}

	.header_phone,
	.navigation ul {
		display: none;
	}

	.header.homepage {
		height: auto;
		width: 100%;
		margin-bottom: 20px;
		padding-bottom: 40px;
	    background-image: none !important;
	    background: #40362f !important;
	    text-align: center !important;
	}

	.header.homepage h1 {
	    width: 100% !important;
	    margin: 80px 0 0 0;
	    padding: 0 36px;
	    font-size: 38px;
	    color: #fff;
	    text-align: center !important;
	}

	.header.homepage h4 {
	    width: 100% !important;
	    font-size: 26px;
	    color: #fff;
	    margin: 35px 0 0 0;
	    padding: 0 40px;
	    text-align: center !important;
	}

	.show-quote-row {
		width: 100%;
		float: left;
		clear: both;
		padding: 0 20px;
		text-align: center;
	}

	.container {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		overflow-x: hidden;
	}

	.subheader {
		text-align: center;
	}

	.subheader button.get-quote {
		width: 60%;
	    margin: 20px 0 0 8px;
	}

	.subheader button.plan-ahead {
	    width: 60%;
	    margin: 20px 0 0 8px;
	}

	.homepage-packages {
	    height: auto;
	    width: 100%;
	    padding: 10px 0;
	    background: #fff;
	    overflow: auto;
	}

	.homepage-packages .package {
	    height: auto;
	    min-height: auto;
	    width: calc(100% - 40px);
	    margin: 0 0 20px 20px;
	    border: 0;
	    background: rgb(249,249,249);
    	background: linear-gradient(360deg, rgba(249,249,249,1) 0%, rgba(249,250,252,1) 100%);
	}

	.homepage-packages .package.middle {
	    margin: 20px 0 20px 20px;
	    position: relative;
	}

	.page-row-half,
	.page-row-half.left,
	.page-row-half.right {
		width: 100% !important;
		margin: 0;
		padding: 0 !important;
	}

	.page-row.service-area {
		margin: 0;
		padding: 40px 40px 0 40px;
	}

	.page-row.service-area .page-row-half.left {
		padding: 20px 40px;
		text-align: center;
	}

	.page-row.service-area .page-row-half.left h3 {
		text-align: center;
		font-size: 24px;
	}

	.page-row.service-area .page-row-half.left p {
		width: 100%;
	}

	.page-row.service-area .page-row-half.right {
		display: none;
	}

	body.home .page-row-half .show-quote-form,
	.page-row.our-service-areas .show-quote-form,
	.page-row.why-choose-us .show-quote-form {
	    width: calc(100% - 80px) !important;
	    margin-left: 40px !important;
	}

	.page-row.single-page .service-area-footer .service-area-link {
	   width: 100%;
	   margin-bottom: 15px;
	}

	.page-row.our-company {
		padding: 0 20px;
	}

	.page-row.faq {
		padding: 0 20px;
	}

	.page-row.faq .faq-contact-form,
	.page-row.faq .faq-list {
		width: 100%;
		clear: both;
		margin: 0 0 40px 0;
	}

	.page-row.service-area .page-row-half.left {
		margin-bottom: 40px;
	}

	.page-row.service-area .service-area-footer {
	    display: none;
	}

	.page-row.service-area .service-area-footer .service-area-link {
	 	width: calc(50% - 8px) !important;
	    display: block;
	    clear: none;
	    margin: 0 15px 15px 0;
	}

	.page-row.service-area .service-area-footer .service-area-link:nth-child(even) {
		margin: 0 0 15px 0;
	}

	.page-row.single-page .service-area-footer .service-area-link {
	    width: 100%;
	    margin-bottom: 15px;
	    text-align: center;
	}

	.page-row.our-process {
		background-image: none !important;
		background: #242c35;
		margin-top: 0;
	}

	.page-row.our-process .page-row-half.right h3 {
		margin-top: 30px;
	}

	.process-boxes {
		text-align: center !important;
		padding: 0 !important;
	}

	.process-boxes .process-box {
	    height: auto;
	    width: 100%;
	    padding: 20px;
	    border-right: none;
	    border-bottom: 1px solid #587092;
	}

	.process-boxes .process-box img {
	    max-height: 95px;
	}

	.process-boxes .process-box .label {
		width: 100%;
		font-size: 22px;
		text-align: center;
	}

	.process-boxes .process-box p {
		width: 100%;
		padding: 0 10px;
		font-size: 18px;
	}

	.page-row.how-it-works {
		width: 100%;
		padding: 0 20px !important;
	}

	.page-row.how-it-works .page-row-half.left {
		clear: both; 
		width: 100%;
		margin: 0 0 40px 0;
		padding: 0 20px;
	}

	.page-row.how-it-works .page-row-half.right {
		clear: both; 
		width: 100%;
		margin: 0 0 40px 0;
	}

	.page-row.reviews {
		text-align: center;
	}

	.page-row.reviews h3 {
		width: 100%;
		text-align: center;
		padding: 0 40px 40px 40px
	}

	.reviews .review.promoted .review-content span {
	    width: 75%;
	}

	.reviews .review.promoted .review-content .fa-quote-left {
	    display: block;
	    float: left;
	    clear: none;
	    width: 7%;
	    font-size: 32px;
	    color: #40322f;
	}

	.reviews .review.promoted .review-content .fa-quote-right {
	    display: block;
	    float: left;
	    clear: none;
	    width: 7%;
	    font-size: 36px;
	    color: #40362f;
	}

	.page-row.single-page {
	    margin-top: 100px;
	    padding: 20px;
	}

	.page-row.single-page.our-process {
		margin-top: 130px;
	    padding: 20px;
	}

	.page-row.single-page.landing-page h1 {
		line-height: 40px;
	}

	.page-row.single-page .page-row-half.left {
		padding: 8px 0 30px 0 !important;
	}

	.page-row.single-page .page-row-half.right {
		padding: 20px 0 !important;
	}

	.page-row.single-page .page-row-half.right img {
		max-width: 100%;
	}

	.page-row.single-page.landing-page .page-row-half.left {
		padding: 10px 0 30px 0 !important;
	}

	.page-row.single-page.landing-page .page-row-half.right {
		padding: 20px !important;
	}

	.page-row.single-page.landing-page .page-row-half.left .show-quote-form {
		width: calc(100% - 40px) !important;
		margin-left: 40px !important;
	}

	.page-row.single-page.landing-page .page-row-half.right img {
		max-width: 100%;
	}

	.page-row.faq .faq-list .faq-list-item .faq-question {
		position: relative;
		padding-right: 48px !important;
	}
	.page-row.faq .faq-list .faq-list-item .faq-question i {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 14px;
		color: #583c3f;
	}

	.page-row.pricing .pricing-row {
	    padding: 6px 20px 13px 20px;
	}

	.page-row.pricing .pricing-row.header {
	    padding: 16px 20px 13px 20px;
	}

	.page-row.faq h3 {
		margin-top: 40px;
	}

	.reviews .review {
	    height: auto;
	    width: 100%;
	    margin: 0;
	    border-bottom: 1px solid #e0e0e0;
	}

	.reviews .review.promoted {
	    width: 100%;
	    height: auto;
	    margin-top: 20px;
	}

	.reviews .review.sub-promoted {
	    width: 100%;
	    height: auto;
	    margin-bottom: 0;
	    padding-bottom: 40px !important;
	}


	.reviews .review.promoted .review-content {
	    font-size: 18px;
	}

	.reviews .review.promoted span {
		text-align: center;
		font-size: 19px;
	}

	.reviews .review.promoted span i.fa-star {
		display: inline;
		float: none;
	}

	.reviews .review.promoted .review-content span .review-name {
	    width: 100%;
	    text-align: center;
	    clear: both;
	    font-size: 24px;
	    font-weight: bold;

	}

	.reviews .review.promoted .review-content .fa-quote-left {
	    display: block;
	    float: left;
	    clear: none;
	    width: 13%;
	    font-size: 32px;
	    color: #40362f;
	}

	.reviews .review.promoted .review-content .fa-quote-right {
	    display: block;
	    float: left;
	    clear: none;
	    position: relative;
	    left: 10px;
	    width: 9%;
	    font-size: 32px;
	    color: #40362f;
	}

	.reviews .review.no-margin {
	    margin-right: 0;
	}

	.reviews .review .review-name {
	    font-size: 24px;
	    margin-bottom: 10px;
	}

	.reviews .review .review-date {
	    font-size: 20px;
	}

	.reviews .review .review-stars {
	     text-align: center;
	}

	.reviews .review .review-stars i {
	    font-size: 12px;
	    color: #e86e0c;
	    display: inline;
	    float: none;
	    margin-right: 5px;
	}

	.reviews .review .review-stars i.empty {
	    color: #ddd;
	}

	.reviews .review .review-content {
	    width: 100%;
	    margin-bottom: 10px;
	    font-size: 18px;
	    line-height: 26px;
	}

	.page-row.reasons {
		margin: 0;
		border: 0;
	}

	.page-row.reasons h3 {
		width: 100%;
		margin: 20px 0 0 0;
		padding: 0 50px 30px 50px;
		line-height: 40px;
		text-align: center;
	}

	.page-row.reasons .reason,
	.page-row.reasons .reason.left {
		width: 100%;
		margin: 0;
		padding: 40px;
		border-bottom: 1px solid #e0e0e0;
	}

	.reviews .review .review-type{width:100%;height:25px;margin:20px 0 0 0}.reviews .review .review-type img{height:100%;width:auto}

	.reviews-footer {
	    width: 100%;
	    margin: 0;
	    padding: 25px 75px 75px 75px;
	    font-size: 18px;
	    color: #555;
	    background: #fff;
	    text-align: center;
	}

	.reviews-footer a {
	    color: #006ca8;
	    text-decoration: underline;
	}

	.page-row.footer-row {
		display: none !important;
	}

	.page-row.payment-center {
		padding: 0 20px;
	}

	.page-row.payment-center .page-row-half.left {
		margin-bottom: 40px;
	}

	.woocommerce .shop_table {
		padding: 0 20px !important;
	}

	thead tr.ra-cart-item-row.heading th.product-name,
	thead tr.ra-cart-item-row.heading th.product-price,
	thead tr.ra-cart-item-row.heading th.product-quantity,
	thead tr.ra-cart-item-row.heading th.product-subtotal,
	tbody tr.ra-cart-item-row td.product-name,
	tbody tr.ra-cart-item-row td.product-price,
	tbody tr.ra-cart-item-row td.product-quantity,
	tbody tr.ra-cart-item-row td.product-subtotal {
		width: 100% !important;
		clear: both !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.woocommerce table.shop_table_responsive tr td.product-name,
	.woocommerce-page table.shop_table_responsive tr td.product-name {
		float: left !important;
        text-align: left !important;
        font-weight: bold !important;
        padding-top: 10px !important;
    }
    
    .ra-cart-item-row td.product-name::before {
        display: none !important;
    }

	.included-label,
	.woocommerce-Price-amount {
		width: auto !important;
		float: right;
		text-align: right;
	}

	tr.ra-update-cart-row td.actions button#clear-cart {
		margin: 0;
		width: 100%;
	}

	tr.ra-update-cart-row td.actions button.update-cart {
		margin: 0 0 12px 0;
		width: 100%;
	}

	.cart-collaterals .cart_totals .wc-proceed-to-checkout {
		width: calc(100% - 40px);
		display: block;
		float: left;
		margin: 20px 0 0 20px;
		padding: 0;
	}

	.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        background-color: #fff !important;
    }

    .checkout-customer_details,
    .checkout-review-cart {
    	width: 100% !important;
    	padding: 0 !important;
    }

    .checkout-review-cart {
    	padding: 50px 0 0 0 !important;
    }

    .woocommerce-billing-fields {
    	padding-top: 60px !important;
    }

    .checkout-review-cart h3 {
    	margin-left: 30px !important;
    }

    .woocommerce table.shop_table tfoot th {
    	border: 0 !important;
    }

    .woocommerce-thankyou-order-received {
    	width: 100% !important;
    	height: auto !important;
    	clear: both !important;
    	margin-bottom: 20px !important;
    	padding-top: 60px !important;
    }

    .woocommerce-thankyou-order-details {
    	width: 100% !important;
    	height: auto !important;
    	clear: both !important;
    	margin-bottom: 40px !important;
    	padding: 0 20px !important;
    }

	.woocommerce-customer-details {
		width: 100% !important;
		padding: 0 20px !important;
	}

	.woocommerce-customer-details .woocommerce-column__title {
		margin-left: 13px !important;
	}

	.woocommerce-order-details {
	 	width: 100% !important;
	}

	.woocommerce-order-details .woocommerce-order-details__title {
		width: calc(100% - 30px) !important;
		margin-left: 30px !important;
	}

	.woocommerce-table--order-details tbody tr td.product-total span.amount {
		width: 100% !important;
		float: right !important;
		text-align: right !important;
	}

	.woocommerce-table--order-details tbody tr td.product-total {
		text-align: right !important;
	}

	/* --- Lakepointe mobile cleanup --- */

	/* Process boxes (How It Works dark section) — remove divider lines when stacked */
	.process-boxes .process-box,
	.process-boxes .process-box.arrange,
	.process-boxes .process-box.transport,
	.process-boxes .process-box.process,
	.process-boxes .process-box.cremate,
	.process-boxes .process-box.return {
		border: none !important;
		border-top: none !important;
		border-right: none !important;
		border-bottom: none !important;
		border-left: none !important;
		width: 100% !important;
		height: auto !important;
		padding: 20px 30px !important;
	}


	/* Obituaries — center photo horizontally, fix clipped dates, give search a safe margin */
	.bootstrap-fhws-obituaries-container {
		margin: 100px 0 0 0 !important;
		padding: 0 16px !important;
		box-sizing: border-box !important;
	}
	.bootstrap-fhws-obituaries-container .row.mb-4 {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.bootstrap-fhws-obituaries-container .row.mb-4 .col-md-6 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.bootstrap-fhws-obituaries-container .input-group {
		padding: 0 !important;
	}
	.bootstrap-fhws-obituaries-container .obit_listing {
		text-align: center !important;
		overflow: visible !important;
	}
	.bootstrap-fhws-obituaries-container .obit_listing .order-1 {
		margin: 0 auto !important;
		text-align: center !important;
		width: 100% !important;
		flex: 0 0 auto !important;
	}
	.bootstrap-fhws-obituaries-container .obit_listing .order-1 > a,
	.bootstrap-fhws-obituaries-container .obit_listing .order-1 img {
		display: inline-block !important;
		margin: 0 auto !important;
	}
	.bootstrap-fhws-obituaries-container .obit_listing .d-sm-none {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		padding: 0 10px 10px 10px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		white-space: normal !important;
		overflow: visible !important;
		text-align: center !important;
		font-size: 16px !important;
		line-height: 1.5 !important;
	}
	.bootstrap-fhws-obituaries-container .obit_listing .d-sm-none .obit_name,
	.bootstrap-fhws-obituaries-container .obit_listing .d-sm-none .obit_name a {
		display: block !important;
		width: 100% !important;
		font-size: 22px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		margin: 0 0 6px 0 !important;
		padding: 0 !important;
	}
	/* Both date <p>s on one line */
	.bootstrap-fhws-obituaries-container .obit_listing .d-sm-none p {
		display: inline !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	/* Undo the desktop -23px photo pull-up on mobile — it was sliding the image
	   over the second date line in the block above. */
	.bootstrap-fhws-obituaries-container .obit_listing .order-1,
	.bootstrap-fhws-obituaries-container .obit_listing .order-1.my-3,
	.bootstrap-fhws-obituaries-container .obit_listing .order-1.my-3.my-sm-0 {
		position: static !important;
		top: auto !important;
		font-size: inherit !important;
		line-height: inherit !important;
	}

}