{"id":3949,"date":"2026-05-25T21:53:56","date_gmt":"2026-05-25T21:53:56","guid":{"rendered":"https:\/\/trghost.com\/trg-handyman.com\/?page_id=3949"},"modified":"2026-05-25T21:57:31","modified_gmt":"2026-05-25T21:57:31","slug":"cleveland","status":"publish","type":"page","link":"https:\/\/trghost.com\/trg-handyman.com\/cleveland\/","title":{"rendered":"Cleveland"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3949\" class=\"elementor elementor-3949\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2ac6fc7c e-con-full e-flex e-con e-parent\" data-id=\"2ac6fc7c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-18a5eed4 elementor-widget elementor-widget-ploming-about\" data-id=\"18a5eed4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ploming-about.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t<!-- About Start -->\r\n\t<section class=\"about-one section-space @@extraClassName\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row gutter-y-60 align-items-center\">\r\n\t\t\t\t<div class=\"col-lg-6 wow fadeInLeft\" data-wow-duration=\"1500ms\" data-wow-delay=\"00ms\">\r\n\t\t\t\t\t<div class=\"about-one__image\">\r\n\t\t\t\t\t\t<div class=\"about-one__image__inner\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/trghost.com\/trg-handyman.com\/wp-content\/uploads\/2024\/04\/about-1-1.jpg\" alt=\"about-1-1\" title=\"about-1-1\" class=\"about-one__image__one\" >\t\t\t\t\t\t\t<div class=\"about-one__experience\">\r\n\t\t\t\t\t\t\t\t<div class=\"about-one__experience__left\">\r\n\t\t\t\t\t\t\t\t\t<h3 class=\"about-one__experience__year\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/h3><!-- \/.about-one__experience__year -->\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"about-one__experience__title\">\r\n\t\t\t\t\t\t\t\t\t\tTRG Plumbing\t\t\t\t\t\t\t\t\t<\/h4>\r\n\t\t\t\t\t\t\t\t\t<!-- \/.about-one__experience__title -->\r\n\t\t\t\t\t\t\t\t<\/div><!-- \/.about-one__experience__left -->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- \/.about-one__experience -->\r\n\t\t\t\t\t\t<\/div><!-- \/.about-one__image__inner -->\r\n\t\t\t\t\t\t<div class=\"about-one__image__two\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/trghost.com\/trg-handyman.com\/wp-content\/uploads\/2024\/04\/about-1-2.jpg\" alt=\"about-1-2\" title=\"about-1-2\" >\t\t\t\t\t\t<\/div><!-- \/.about-one__image__two -->\r\n\t\t\t\t\t<\/div><!-- \/.about-one__image -->\r\n\t\t\t\t<\/div><!-- \/.col-lg-6 -->\r\n\t\t\t\t<div class=\"col-lg-6\">\r\n\t\t\t\t\t<div class=\"about-one__content\">\r\n\t\t\t\t\t\t<div class=\"sec-title @@extraClassName\">\r\n\t\t\t\t\t\t\t<div class=\"sec-title__top\">\r\n\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/trghost.com\/trg-handyman.com\/wp-content\/uploads\/2024\/04\/sec-title-s-1.png\" alt=\"sec-title-s-1\" title=\"sec-title-s-1\" class=\"sec-title__img\" >\t\t\t\t\t\t\t\t<h6 class=\"sec-title__tagline\">Cleveland<\/h6>\t\t\t\t\t\t\t<\/div><!-- \/.sec-title__top -->\r\n\t\t\t\t\t\t\t<h3 class=\"sec-title__title\">Local Plumbing Experts in Greater Cleveland<\/h3>\t\t\t\t\t\t<\/div><!-- \/.sec-title -->\r\n\t\t\t\t\t\t<p class=\"about-one__text wow fadeInUp\" data-wow-duration=\"1500ms\" data-wow-delay=\"00ms\">\r\n\t\t\t\t\t\t\tWhen plumbing emergencies strike, you need a local team that can get to your door fast. We proudly provide full-service commercial and residential plumbing solutions across the entire Cleveland Metropolitan Area\u2014from Downtown, Ohio City, and Tremont to Lakewood, Parma, and the surrounding suburbs. Whether you are dealing with a sudden burst pipe in the middle of the night, a stubborn mainline drain clog, or need a seamless new water heater installation, our licensed Cleveland plumbers are stationed nearby to deliver clean, efficient, and guaranteed craftsmanship when you need it most.<\/p>\r\n\t\t\t\t\t\t<!-- \/.about-one__text -->\r\n\t\t\t\t\t\t<ul class=\"about-one__list wow fadeInUp\" data-wow-duration=\"1500ms\" data-wow-delay=\"50ms\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t<span class=\"about-one__list__icon\">\r\n\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon-check\"><\/i>\t\t\t\t\t\t\t\t\t<\/span><!-- \/.about-one__list__icon -->\r\n\t\t\t\t\t\t\t\t\tEmergency Repairs\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t<span class=\"about-one__list__icon\">\r\n\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon-check\"><\/i>\t\t\t\t\t\t\t\t\t<\/span><!-- \/.about-one__list__icon -->\r\n\t\t\t\t\t\t\t\t\tResidential Plumbing\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t<span class=\"about-one__list__icon\">\r\n\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon-check\"><\/i>\t\t\t\t\t\t\t\t\t<\/span><!-- \/.about-one__list__icon -->\r\n\t\t\t\t\t\t\t\t\tCommercial Plumbing\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t<span class=\"about-one__list__icon\">\r\n\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon-check\"><\/i>\t\t\t\t\t\t\t\t\t<\/span><!-- \/.about-one__list__icon -->\r\n\t\t\t\t\t\t\t\t\tCommercial Plumbing\t\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul><!-- \/.about-one__list -->\r\n\t\t\t\t\t\t<div class=\"about-one__info wow fadeInUp\" data-wow-duration=\"1500ms\" data-wow-delay=\"100ms\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/trghost.com\/trg-handyman.com\/contact\/\" class=\"ploming-btn\">\r\n\t\t\t\t\t\t\t\t\tContact Us\t\t\t\t\t\t\t\t\t<span class=\"ploming-btn__icon\">\r\n\t\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon-double-right-arrow\"><\/i>\t\t\t\t\t\t\t\t\t<\/span><!-- \/.ploming-btn__icon -->\r\n\t\t\t\t\t\t\t\t\t<span class=\"ploming-btn__hover-group\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"ploming-btn__hover ploming-btn__hover--1\"><\/span>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"ploming-btn__hover ploming-btn__hover--2\"><\/span>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"ploming-btn__hover ploming-btn__hover--3\"><\/span>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"ploming-btn__hover ploming-btn__hover--4\"><\/span>\r\n\t\t\t\t\t\t\t\t\t<\/span><!-- \/.ploming-btn__hover-group -->\r\n\t\t\t\t\t\t\t\t<\/a><!-- \/.ploming-btn -->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"about-one__contact\">\r\n\t\t\t\t\t\t\t\t<span class=\"about-one__contact__icon\">\r\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon-call-service\"><\/i>\t\t\t\t\t\t\t\t<\/span><!-- \/.about-one__contact__icon -->\r\n\t\t\t\t\t\t\t\t<div class=\"about-one__contact__inner\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"about-one__contact__title\">\r\n\t\t\t\t\t\t\t\t\t\tCall Us Any Time\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t\t<!-- \/.about-one__contact__title -->\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"about-one__contact__number\"><a href=\"tel:+13463262231\">+1 (346) 326-2231<\/a><\/h4>\t\t\t\t\t\t\t\t<\/div><!-- \/.about-one__contact__inner -->\r\n\t\t\t\t\t\t\t<\/div><!-- \/.about-one__contact -->\r\n\t\t\t\t\t\t<\/div><!-- \/.about-one__info -->\r\n\t\t\t\t\t<\/div><!-- \/.about-one__content -->\r\n\t\t\t\t<\/div><!-- \/.col-lg-6 -->\r\n\t\t\t<\/div><!-- \/.row -->\r\n\t\t<\/div><!-- \/.container -->\r\n\t\t<img decoding=\"async\" src=\"https:\/\/trghost.com\/trg-handyman.com\/wp-content\/uploads\/2024\/04\/about-wrench-1-1.png\" alt=\"about-wrench-1-1\" title=\"about-wrench-1-1\" class=\"about-one__wrench\" >\t<\/section><!-- \/.about-one section-space -->\r\n\t<!-- About End -->\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-78781770 e-con-full e-flex e-con e-parent\" data-id=\"78781770\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c6eae69 elementor-widget elementor-widget-html\" data-id=\"4c6eae69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Service Areas - Cleveland Plumbing<\/title>\r\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\" \/>\r\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\r\n<style>\r\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700&display=swap');\r\n\r\n  * { margin: 0; padding: 0; box-sizing: border-box; }\r\n\r\n  .map-wrapper {\r\n    width: 100%;\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    font-family: 'Poppins', sans-serif;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n    box-shadow: 0 20px 60px rgba(0,0,0,0.15);\r\n    position: relative;\r\n  }\r\n\r\n  .map-header {\r\n    background: linear-gradient(135deg, #004DA1 0%, #01A6E8 100%);\r\n    padding: 24px 32px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 16px;\r\n    position: relative;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .map-header::before {\r\n    content: '';\r\n    position: absolute;\r\n    top: -50%;\r\n    right: -10%;\r\n    width: 300px;\r\n    height: 300px;\r\n    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);\r\n    border-radius: 50%;\r\n  }\r\n\r\n  .header-left {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 16px;\r\n    flex: 1;\r\n  }\r\n\r\n  .map-header h2 {\r\n    color: #fff;\r\n    font-size: 22px;\r\n    font-weight: 700;\r\n    letter-spacing: -0.3px;\r\n  }\r\n\r\n  .map-header p {\r\n    color: rgba(255,255,255,0.85);\r\n    font-size: 13px;\r\n    font-weight: 400;\r\n    margin-top: 2px;\r\n  }\r\n\r\n  .header-dropdown-wrap {\r\n    position: relative;\r\n    z-index: 10;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .header-dropdown-wrap label {\r\n    display: block;\r\n    color: rgba(255,255,255,0.7);\r\n    font-size: 10px;\r\n    font-weight: 600;\r\n    text-transform: uppercase;\r\n    letter-spacing: 1px;\r\n    margin-bottom: 5px;\r\n  }\r\n\r\n  .area-dropdown {\r\n    appearance: none;\r\n    -webkit-appearance: none;\r\n    background: rgba(255,255,255,0.15);\r\n    backdrop-filter: blur(6px);\r\n    border: 1.5px solid rgba(255,255,255,0.35);\r\n    border-radius: 10px;\r\n    color: #fff;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: 13.5px;\r\n    font-weight: 600;\r\n    padding: 10px 42px 10px 16px;\r\n    cursor: pointer;\r\n    min-width: 220px;\r\n    transition: all 0.25s ease;\r\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\r\n    background-repeat: no-repeat;\r\n    background-position: right 14px center;\r\n  }\r\n\r\n  .area-dropdown:hover {\r\n    background-color: rgba(255,255,255,0.25);\r\n    border-color: rgba(255,255,255,0.55);\r\n  }\r\n\r\n  .area-dropdown:focus {\r\n    outline: none;\r\n    background-color: rgba(255,255,255,0.3);\r\n    border-color: #fff;\r\n    box-shadow: 0 0 0 3px rgba(255,255,255,0.15);\r\n  }\r\n\r\n  .area-dropdown option {\r\n    background: #004DA1;\r\n    color: #fff;\r\n    font-weight: 500;\r\n    padding: 8px;\r\n  }\r\n\r\n  .header-icon {\r\n    width: 44px;\r\n    height: 44px;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  #map {\r\n    width: 100%;\r\n    height: 450px;\r\n    background: #e1f5fe;\r\n  }\r\n\r\n  .city-legend {\r\n    background: #fff;\r\n    padding: 16px 24px;\r\n    display: flex;\r\n    justify-content: center;\r\n    gap: 28px;\r\n    flex-wrap: wrap;\r\n    border-top: 2px solid #e1f5fe;\r\n  }\r\n\r\n  .legend-item {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    cursor: pointer;\r\n    padding: 6px 14px;\r\n    border-radius: 20px;\r\n    transition: all 0.25s ease;\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    color: #004DA1;\r\n    border: 1.5px solid transparent;\r\n  }\r\n\r\n  .legend-item:hover {\r\n    background: #e1f5fe;\r\n    border-color: #01A6E8;\r\n  }\r\n\r\n  .legend-item.active {\r\n    background: #01A6E8;\r\n    color: #fff;\r\n  }\r\n\r\n  .legend-dot {\r\n    width: 10px;\r\n    height: 10px;\r\n    border-radius: 50%;\r\n    background: #01A6E8;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .legend-item.active .legend-dot {\r\n    background: #fff;\r\n  }\r\n\r\n  \/* Custom popup styling *\/\r\n  .leaflet-popup-content-wrapper {\r\n    border-radius: 14px !important;\r\n    box-shadow: 0 8px 32px rgba(0,0,0,0.18) !important;\r\n    padding: 0 !important;\r\n    overflow: hidden;\r\n    border: none !important;\r\n  }\r\n\r\n  .leaflet-popup-content {\r\n    margin: 0 !important;\r\n    min-width: 240px;\r\n  }\r\n\r\n  .leaflet-popup-tip {\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;\r\n  }\r\n\r\n  .popup-card {\r\n    font-family: 'Poppins', sans-serif;\r\n  }\r\n\r\n  .popup-banner {\r\n    background: linear-gradient(135deg, #004DA1, #01A6E8);\r\n    padding: 16px 20px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n  }\r\n\r\n  .popup-banner svg {\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .popup-city-name {\r\n    color: #fff;\r\n    font-size: 18px;\r\n    font-weight: 700;\r\n    line-height: 1.2;\r\n  }\r\n\r\n  .popup-body {\r\n    padding: 14px 20px 16px;\r\n    background: #fff;\r\n  }\r\n\r\n  .popup-badge {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 5px;\r\n    background: #e1f5fe;\r\n    color: #004DA1;\r\n    font-size: 11px;\r\n    font-weight: 600;\r\n    padding: 4px 10px;\r\n    border-radius: 12px;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  .popup-badge::before {\r\n    content: '\u2713';\r\n    font-weight: 800;\r\n  }\r\n\r\n  .popup-desc {\r\n    color: #555;\r\n    font-size: 12.5px;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  .popup-cta {\r\n    display: block;\r\n    margin-top: 12px;\r\n    padding: 9px 0;\r\n    background: linear-gradient(135deg, #004DA1, #01A6E8);\r\n    color: #ffffff !important;\r\n    text-align: center;\r\n    border-radius: 8px;\r\n    font-size: 12.5px;\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n    transition: transform 0.2s, box-shadow 0.2s;\r\n    cursor: pointer;\r\n    border: none;\r\n    width: 100%;\r\n    font-family: 'Poppins', sans-serif;\r\n    -webkit-text-fill-color: #ffffff;\r\n  }\r\n\r\n  .popup-cta:hover {\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 4px 12px rgba(1, 166, 232, 0.35);\r\n  }\r\n\r\n  \/* Plumbing marker pulse *\/\r\n  .plumbing-marker {\r\n    position: relative;\r\n    cursor: pointer;\r\n    transition: transform 0.3s ease;\r\n  }\r\n\r\n  .plumbing-marker:hover {\r\n    transform: scale(1.2);\r\n  }\r\n\r\n  .plumbing-pulse {\r\n    position: absolute;\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    width: 50px;\r\n    height: 50px;\r\n    border-radius: 50%;\r\n    background: rgba(1, 166, 232, 0.25);\r\n    animation: pulse 2s ease-out infinite;\r\n    pointer-events: none;\r\n  }\r\n\r\n  @keyframes pulse {\r\n    0% { transform: translate(-50%, -50%) scale(0.8); opacity: 1; }\r\n    100% { transform: translate(-50%, -50%) scale(2.2); opacity: 0; }\r\n  }\r\n\r\n  .leaflet-popup-close-button {\r\n    color: #fff !important;\r\n    font-size: 20px !important;\r\n    top: 6px !important;\r\n    right: 8px !important;\r\n    z-index: 10;\r\n  }\r\n\r\n  \/* Responsive *\/\r\n  @media (max-width: 600px) {\r\n    #map { height: 400px; }\r\n    .map-header { padding: 16px 20px; flex-wrap: wrap; }\r\n    .map-header h2 { font-size: 18px; }\r\n    .header-dropdown-wrap { width: 100%; }\r\n    .area-dropdown { width: 100%; min-width: unset; }\r\n    .city-legend { gap: 8px; padding: 12px 16px; }\r\n    .legend-item { font-size: 11.5px; padding: 5px 10px; }\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"map-wrapper\">\r\n  <div class=\"map-header\">\r\n    <div class=\"header-left\">\r\n      <svg class=\"header-icon\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n        <path d=\"M12 2C12 2 6 8.5 6 12.5C6 15.8137 8.68629 18.5 12 18.5C15.3137 18.5 18 15.8137 18 12.5C18 8.5 12 2 12 2Z\" fill=\"rgba(255,255,255,0.25)\" stroke=\"#fff\" stroke-width=\"1.5\"\/>\r\n        <path d=\"M19 15L22 18L19 21\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n        <path d=\"M5 15L2 18L5 21\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n      <\/svg>\r\n      <div>\r\n        <h2>Our Service Areas<\/h2>\r\n        <p>Professional plumbing services across Cleveland & statewide Ohio<\/p>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"header-dropdown-wrap\">\r\n      <label>Jump to Area<\/label>\r\n      <select class=\"area-dropdown\" id=\"areaDropdown\">\r\n        <option value=\"\">Select Location...<\/option>\r\n        <option value=\"Cleveland\">Cleveland Metro<\/option>\r\n        <option value=\"Ohio\">Ohio (Statewide)<\/option>\r\n      <\/select>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div id=\"map\"><\/div>\r\n\r\n  <div class=\"city-legend\" id=\"legend\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ \u2500\u2500 Core Locations (Only Cleveland and State of Ohio) \u2500\u2500\r\nconst locations = [\r\n  {\r\n    name: \"Cleveland\",\r\n    state: \"OH\",\r\n    lat: 41.4993,\r\n    lng: -81.6944,\r\n    zoom: 11,\r\n    desc: \"24\/7 localized emergency repairs, drain solutions, and installations throughout Greater Cleveland.\",\r\n    boundary: [\r\n      [41.590, -81.890], [41.610, -81.520], [41.470, -81.440],\r\n      [41.360, -81.710], [41.380, -81.930], [41.590, -81.890]\r\n    ]\r\n  },\r\n  {\r\n    name: \"Ohio\",\r\n    state: \"Statewide\",\r\n    lat: 40.4173,\r\n    lng: -82.9071,\r\n    zoom: 7,\r\n    desc: \"Extensive regional plumbing framework serving multi-county operations across Ohio.\",\r\n    boundary: [\r\n      [41.970, -84.810], [41.970, -80.510], [40.600, -80.510],\r\n      [38.400, -82.600], [39.100, -84.810], [41.970, -84.810]\r\n    ]\r\n  }\r\n];\r\n\r\n\/\/ \u2500\u2500 Custom Plumber Marker Droplet Vector Layer \u2500\u2500\r\nfunction createPlumbingSVG(size = 48) {\r\n  return `\r\n    <svg width=\"${size}\" height=\"${size}\" viewBox=\"0 0 80 80\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n      <g filter=\"url(#shadow)\">\r\n        <path d=\"M40 70C56.5685 70 70 56.5685 70 40C70 23.4315 40 10 40 10C40 10 10 23.4315 10 40C10 56.5685 23.4315 70 40 70Z\" fill=\"#004DA1\"\/>\r\n        <path d=\"M40 64C51.0457 64 60 55.0457 60 44C60 32.9543 40 16 40 16C40 16 20 32.9543 20 44C20 55.0457 31.0457 64 40 64Z\" fill=\"#01A6E8\"\/>\r\n        <path d=\"M35 30L37 26L39 30L43 31L39 32L37 36L35 32L31 31L35 30Z\" fill=\"#FFFFFF\"\/>\r\n      <\/g>\r\n      <defs>\r\n        <filter id=\"shadow\" x=\"-4\" y=\"-2\" width=\"88\" height=\"88\" filterUnits=\"userSpaceOnUse\">\r\n          <feDropShadow dx=\"0\" dy=\"2\" stdDeviation=\"3\" flood-opacity=\"0.3\"\/>\r\n        <\/filter>\r\n      <\/defs>\r\n    <\/svg>`;\r\n}\r\n\r\n\/\/ \u2500\u2500 Initialize Map Engine \u2500\u2500\r\nconst map = L.map('map', {\r\n  center: [41.0, -82.5],\r\n  zoom: 7,\r\n  zoomControl: false,\r\n  scrollWheelZoom: false,\r\n  attributionControl: true\r\n});\r\n\r\nL.tileLayer('https:\/\/{s}.basemaps.cartocdn.com\/light_all\/{z}\/{x}\/{y}{r}.png', {\r\n  attribution: '\u00a9 OpenStreetMap \u00a9 CARTO',\r\n  maxZoom: 19\r\n}).addTo(map);\r\n\r\nconst markers = {};\r\nconst polygons = {};\r\nlet activeLoc = null;\r\n\r\n\/\/ \u2500\u2500 Generate Customized Popup Card Markup \u2500\u2500\r\nfunction popupHTML(loc) {\r\n  return `\r\n    <div class=\"popup-card\">\r\n      <div class=\"popup-banner\">\r\n        <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n           <path d=\"M12 2C12 2 6 8.5 6 12.5C6 15.8137 8.68629 18.5 12 18.5C15.3137 18.5 18 15.8137 18 12.5C18 8.5 12 2 12 2Z\" fill=\"#ffffff\"\/>\r\n        <\/svg>\r\n        <div class=\"popup-city-name\">${loc.name}, ${loc.state}<\/div>\r\n      <\/div>\r\n      <div class=\"popup-body\">\r\n        <div class=\"popup-badge\">Verified Local Contractor<\/div>\r\n        <div class=\"popup-desc\">${loc.desc}<\/div>\r\n        <button class=\"popup-cta\" style=\"color:#ffffff !important;\" onclick=\"window.open('https:\/\/trghost.com\/trg-handyman.com\/contact\/','_blank')\">\r\n          Request Plumbing Service \u2192\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>`;\r\n}\r\n\r\n\/\/ \u2500\u2500 Render Functional Interfaces \u2500\u2500\r\nlocations.forEach((loc) => {\r\n\r\n  \/\/ Bounding Highlight Zones\r\n  const polygon = L.polygon(loc.boundary, {\r\n    color: '#004DA1',\r\n    weight: 2.5,\r\n    fillColor: '#01A6E8',\r\n    fillOpacity: 0.0,\r\n    opacity: 0,\r\n    dashArray: '6,4'\r\n  }).addTo(map);\r\n  polygons[loc.name] = polygon;\r\n\r\n  \/\/ Render Marker DOM Element Assemblies\r\n  const plumbingIcon = L.divIcon({\r\n    html: `<div class=\"plumbing-marker\">\r\n             <div class=\"plumbing-pulse\"><\/div>\r\n             ${createPlumbingSVG(44)}\r\n           <\/div>`,\r\n    iconSize: [44, 44],\r\n    iconAnchor: [22, 38],\r\n    popupAnchor: [0, -32],\r\n    className: ''\r\n  });\r\n\r\n  const marker = L.marker([loc.lat, loc.lng], { icon: plumbingIcon }).addTo(map);\r\n  marker.bindPopup(popupHTML(loc), {\r\n    maxWidth: 270,\r\n    closeButton: true,\r\n    autoPan: true,\r\n    keepInView: true\r\n  });\r\n  markers[loc.name] = marker;\r\n\r\n  \/\/ Hover Events\r\n  marker.on('mouseover', function () {\r\n    if (activeLoc !== loc.name) {\r\n      polygon.setStyle({ fillOpacity: 0.15, opacity: 0.5 });\r\n    }\r\n  });\r\n\r\n  marker.on('mouseout', function () {\r\n    if (activeLoc !== loc.name) {\r\n      polygon.setStyle({ fillOpacity: 0.0, opacity: 0 });\r\n    }\r\n  });\r\n\r\n  \/\/ Selection Logic\r\n  marker.on('click', function () {\r\n    if (activeLoc && activeLoc !== loc.name) {\r\n      polygons[activeLoc].setStyle({ fillOpacity: 0.0, opacity: 0 });\r\n      document.querySelectorAll('.legend-item').forEach(el => el.classList.remove('active'));\r\n    }\r\n\r\n    activeLoc = loc.name;\r\n    polygon.setStyle({ fillOpacity: 0.25, opacity: 0.8 });\r\n\r\n    \/\/ Center offset adjustments depending on context zoom levels\r\n    const offsetLat = loc.name === \"Cleveland\" ? loc.lat - 0.02 : loc.lat - 0.4;\r\n    map.flyTo([offsetLat, loc.lng], loc.zoom, { duration: 1.2 });\r\n\r\n    const legendItems = document.querySelectorAll('.legend-item');\r\n    legendItems.forEach(el => {\r\n      el.classList.toggle('active', el.dataset.loc === loc.name);\r\n    });\r\n\r\n    document.getElementById('areaDropdown').value = loc.name;\r\n  });\r\n});\r\n\r\n\/\/ Reset states on dismissals\r\nmap.on('popupclose', function () {\r\n  if (activeLoc) {\r\n    polygons[activeLoc].setStyle({ fillOpacity: 0.0, opacity: 0 });\r\n    document.querySelectorAll('.legend-item').forEach(el => el.classList.remove('active'));\r\n    document.getElementById('areaDropdown').value = '';\r\n    activeLoc = null;\r\n  }\r\n});\r\n\r\n\/\/ \u2500\u2500 Build Legend Components \u2500\u2500\r\nconst legend = document.getElementById('legend');\r\nlocations.forEach(loc => {\r\n  const item = document.createElement('div');\r\n  item.className = 'legend-item';\r\n  item.dataset.loc = loc.name;\r\n  item.innerHTML = `<span class=\"legend-dot\"><\/span>${loc.name === 'Ohio' ? 'Ohio (Statewide)' : 'Cleveland Metro'}`;\r\n  item.addEventListener('click', () => {\r\n    selectLocation(loc.name);\r\n  });\r\n  legend.appendChild(item);\r\n});\r\n\r\n\/\/ Dropdown Sync Control\r\nfunction selectLocation(name) {\r\n  markers[name].fire('click');\r\n  markers[name].openPopup();\r\n  document.getElementById('areaDropdown').value = name;\r\n}\r\n\r\ndocument.getElementById('areaDropdown').addEventListener('change', function () {\r\n  const val = this.value;\r\n  if (val && markers[val]) {\r\n    selectLocation(val);\r\n  }\r\n});\r\n\r\n\/\/ Auto-align focus configuration framing on initialize\r\nconst group = new L.featureGroup(Object.values(markers));\r\nmap.fitBounds(group.getBounds().pad(0.3));\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>TRG Plumbing Cleveland Local Plumbing Experts in Greater Cleveland When plumbing emergencies strike, you need a local team that can get to your door fast. We proudly provide full-service commercial and residential plumbing solutions across the entire Cleveland Metropolitan Area\u2014from Downtown, Ohio City, and Tremont to Lakewood, Parma, and the surrounding suburbs. Whether you are [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-3949","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/pages\/3949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/comments?post=3949"}],"version-history":[{"count":4,"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/pages\/3949\/revisions"}],"predecessor-version":[{"id":3954,"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/pages\/3949\/revisions\/3954"}],"wp:attachment":[{"href":"https:\/\/trghost.com\/trg-handyman.com\/wp-json\/wp\/v2\/media?parent=3949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}