<!doctype html>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
            <link rel='stylesheet' href='https://outdoor.ninja/wp-content/plugins/breakdance/plugin/themeless/normalize.min.css'>
        <title>Outfitters &#8211; Outdoor Ninja</title>
<meta name='robots' content='max-image-preview:large' />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://outdoor.ninja/wp-json/oembed/1.0/embed?url=https%3A%2F%2Foutdoor.ninja%2Foutfitters%2F" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://outdoor.ninja/wp-json/oembed/1.0/embed?url=https%3A%2F%2Foutdoor.ninja%2Foutfitters%2F&#038;format=xml" />
<style id='wp-img-auto-sizes-contain-inline-css' type='text/css'>
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<style id='wp-emoji-styles-inline-css' type='text/css'>

	img.wp-smiley, img.emoji {
		display: inline !important;
		border: none !important;
		box-shadow: none !important;
		height: 1em !important;
		width: 1em !important;
		margin: 0 0.07em !important;
		vertical-align: -0.1em !important;
		background: none !important;
		padding: 0 !important;
	}
/*# sourceURL=wp-emoji-styles-inline-css */
</style>
<style id='wp-block-library-inline-css' type='text/css'>
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
</style>
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */
</style>
<link rel="https://api.w.org/" href="https://outdoor.ninja/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://outdoor.ninja/wp-json/wp/v2/pages/2199" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://outdoor.ninja/xmlrpc.php?rsd" />
<meta name="generator" content="WordPress 6.9.4" />
<link rel="canonical" href="https://outdoor.ninja/outfitters/" />
<link rel='shortlink' href='https://outdoor.ninja/?p=2199' />
<style>
        .breadcrumb-plasoc {
            font-size: 14px;
            margin: 15px 0;
            padding: 10px;
            background-color: #f8f9fa;
            border-radius: 4px;
            color: #666;
        }
        .breadcrumb-plasoc a {
            color: #0073aa;
            text-decoration: none;
        }
        .breadcrumb-plasoc a:hover {
            text-decoration: underline;
            color: #005177;
        }
        .breadcrumb-plasoc i {
            margin: 0 8px;
            color: #999;
            font-size: 12px;
        }
        .breadcrumb-plasoc span {
            color: #333;
            font-weight: 500;
        }
        </style><link rel="icon" href="https://outdoor.ninja/wp-content/uploads/2025/05/Outdoor-Ninja-favicon.png" sizes="32x32" />
<link rel="icon" href="https://outdoor.ninja/wp-content/uploads/2025/05/Outdoor-Ninja-favicon.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://outdoor.ninja/wp-content/uploads/2025/05/Outdoor-Ninja-favicon.png" />
<meta name="msapplication-TileImage" content="https://outdoor.ninja/wp-content/uploads/2025/05/Outdoor-Ninja-favicon.png" />
<!-- [HEADER ASSETS] -->




<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/post-2201-defaults.css?v=98b12d9eacd40c289b6792cdc2ecb4c7" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/post-14-defaults.css?v=98b12d9eacd40c289b6792cdc2ecb4c7" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/post-1255-defaults.css?v=98b12d9eacd40c289b6792cdc2ecb4c7" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/global-settings.css?v=c53fee1045fa1e2ae3fb77285be23e8d" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/presets.css?v=d41d8cd98f00b204e9800998ecf8427e" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/selectors.css?v=d41d8cd98f00b204e9800998ecf8427e" />



<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/post-2201.css?v=428b5adf24e79918ea9178f14161643f" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/post-14.css?v=4fc8ef6c9ecc893da48a356236462b76" />

<link rel="stylesheet" href="https://outdoor.ninja/wp-content/uploads/breakdance/css/post-1255.css?v=cb039eae5adbbd758486b9d62ef45a49" />
<!-- [/EOF HEADER ASSETS] --></head>
<body class="wp-singular page-template-default page page-id-2199 wp-theme-breakdance-zero breakdance">
        <section class="bde-section-14-107 bde-section">
  
  
	



<div class="section-container"><div class="bde-code-block-14-109 bde-code-block">

  


</div><div class="bde-code-block-14-108 bde-code-block">

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">

<header class="site-header">
    <div class="container">
        <!-- Logo (Left-aligned on desktop) -->
        <a href="https://outdoor.ninja" class="logo">
            <img src="https://placesociale.com/_logo/Outdoor-Ninja-logo.png" alt="Outdoor Ninja" />
        </a>

        <!-- Navigation Menu -->
        <nav class="main-nav">
            <ul>
                <li class="menu-item"><a href="activities"><i class="fas fa-hiking animated-icon"></i> Activities</a></li>
                <li class="menu-item">
                    <a href="destinations"><i class="fas fa-globe animated-icon"></i> Destinations</a>
                </li>
                <li class="menu-item"><a href="about"><i class="fas fa-info-circle"></i> Take the Leap</a></li>
            </ul>
        </nav>

        <!-- Authentication Buttons -->
        <div class="auth-buttons">
                            <a href="https://outdoor.ninja/wp-login.php" class="signin-btn">
                    <i class="fas fa-sign-in-alt"></i> Sign In
                </a>
                    </div>

        <!-- Hamburger Menu -->
        <div class="menu-toggle" id="menu-toggle">
            <i class="fas fa-bars"></i>
        </div>
    </div>
</header>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const menuToggle = document.getElementById('menu-toggle');
    const navMenu = document.querySelector('.main-nav ul');

    menuToggle.addEventListener('click', function() {
        navMenu.classList.toggle('show');
        const icon = menuToggle.querySelector('i');
        if (navMenu.classList.contains('show')) {
            icon.classList.remove('fa-bars');
            icon.classList.add('fa-times');
        } else {
            icon.classList.remove('fa-times');
            icon.classList.add('fa-bars');
        }
    });
});
</script>



</div></div>
</section><section class="bde-section-2201-100 bde-section">
  
  
	



<div class="section-container"><div class="bde-code-block-2201-101 bde-code-block">

  {
    "success": true,
    "data": [
        {
            "name": "Argentina",
            "activities": [
                {
                    "name": "Hiking in Ushuaia",
                    "link": "https://outdoor.ninja/hiking-in-ushuaia/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Rafting on the Atuel River",
                    "link": "https://outdoor.ninja/rafting-on-the-atuel-river/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "2553936634",
                            "name": "Aventuras No Convencionales",
                            "url": "https://aventurasnoconvencionales.com/"
                        },
                        {
                            "id": "3181935288",
                            "name": "Kintun Expediciones",
                            "url": "https://www.kintun.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Australia",
            "activities": [
                {
                    "name": "Paragliding over Stanwell Park",
                    "link": "https://outdoor.ninja/paragliding-over-stanwell-park/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5421426709",
                            "name": "Adventure Plus Paragliding",
                            "url": "https://www.adventureplusparagliding.com.au/"
                        },
                        {
                            "id": "3502199977",
                            "name": "Sky Surf Paragliding",
                            "url": "https://www.skysurf.com.au/tandem-experience/"
                        }
                    ]
                },
                {
                    "name": "Surfing in Margaret River",
                    "link": "https://outdoor.ninja/surfing-in-margaret-river/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4668198403",
                            "name": "Margaret River Surfing Academy",
                            "url": "https://www.mrsurf.com.au/"
                        }
                    ]
                },
                {
                    "name": "Windsurfing Narrabeen Lagoon",
                    "link": "https://outdoor.ninja/windsurfing-narrabeen-lagoon/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Austria",
            "activities": [
                {
                    "name": "Skiing in the Austrian Alps",
                    "link": "https://outdoor.ninja/skiing-in-the-austrian-alps/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4684598613",
                            "name": "Skischule Keiler",
                            "url": "https://www.skischule-keiler.at/en/"
                        }
                    ]
                },
                {
                    "name": "Skydiving over the Austrian Alps",
                    "link": "https://outdoor.ninja/skydiving-over-the-austrian-alps/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4060668623",
                            "name": "Alps Free All",
                            "url": "https://www.alpenfreifall.at/en/"
                        },
                        {
                            "id": "2145839950",
                            "name": "Best Skydive St Johann Tirol",
                            "url": "https://www.bestfallschirm.com/en"
                        }
                    ]
                },
                {
                    "name": "Snowshoeing in the Austrian Alps",
                    "link": "https://outdoor.ninja/snowshoeing-in-the-austrian-alps/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Botswana",
            "activities": [
                {
                    "name": "Kayaking in the Okavango Delta",
                    "link": "https://outdoor.ninja/kayaking-in-the-okavango-delta/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5718871940",
                            "name": "The African Wild",
                            "url": "https://www.theafricanwild.com/tours/kayaking-the-okavango-delta-adventure/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Brazil",
            "activities": [
                {
                    "name": "Climbing in Rio de Janeiro",
                    "link": "https://outdoor.ninja/climbing-in-rio-de-janeiro/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5412685149",
                            "name": "Climb in Rio",
                            "url": "https://climbinrio.com/"
                        },
                        {
                            "id": "3905926822",
                            "name": "Escaladas Classicas",
                            "url": "https://www.escaladasclassicas.com/rock-climbing-rio-de-janeiro"
                        }
                    ]
                },
                {
                    "name": "Hang gliding over Rio de Janeiro",
                    "link": "https://outdoor.ninja/hang-gliding-over-rio-de-janeiro/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3913061362",
                            "name": "Renato Janssens Hang Gliding",
                            "url": "https://www.renatojanssens.com/"
                        }
                    ]
                },
                {
                    "name": "Hiking in Saco do Mamanguá",
                    "link": "https://outdoor.ninja/hiking-in-saco-do-mamangua/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Surfing at Ipanema beach",
                    "link": "https://outdoor.ninja/surfing-at-ipanema-beach/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Canada",
            "activities": [
                {
                    "name": "Hiking Moraine Lake Rockpile Trail",
                    "link": "https://outdoor.ninja/hiking-moraine-lake-rockpile-trail/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Mountain Biking in Alberta",
                    "link": "https://outdoor.ninja/mountain-biking-in-alberta/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5713779949",
                            "name": "GearUp Sports",
                            "url": "https://gearupsport.com/"
                        },
                        {
                            "id": "3050239087",
                            "name": "Rundle Bike Rental",
                            "url": "https://rundlebike.ca/rental/"
                        }
                    ]
                },
                {
                    "name": "Skiing in British Columbia",
                    "link": "https://outdoor.ninja/skiing-in-british-columbia/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "4813545612",
                            "name": "Grouse Mountain",
                            "url": "https://www.grousemountain.com/rentals"
                        },
                        {
                            "id": "4207375381",
                            "name": "Revolstoke Mountain Resort",
                            "url": "https://www.revelstokemountainresort.com/"
                        },
                        {
                            "id": "5089738710",
                            "name": "Whistler Blackcomb",
                            "url": "https://www.whistlerblackcomb.com/"
                        }
                    ]
                },
                {
                    "name": "Stand-up Paddleboarding in Alberta",
                    "link": "https://outdoor.ninja/stand-up-paddleboarding-in-alberta/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "2454298435",
                            "name": "Bow Valley Stand Up Paddleboarding",
                            "url": "https://www.bowvalleysup.ca/"
                        },
                        {
                            "id": "5310411361",
                            "name": "The Paddle Station",
                            "url": "https://www.paddlestation.ca/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Chile",
            "activities": [
                {
                    "name": "Hiking in Torres del Paine National Park",
                    "link": "https://outdoor.ninja/hiking-in-torres-del-paine-national-park/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4688055009",
                            "name": "Say Hueque",
                            "url": "https://sayhueque.com/our-trips/torres-del-paine-tours/"
                        }
                    ]
                },
                {
                    "name": "Paragliding over Iquique",
                    "link": "https://outdoor.ninja/paragliding-over-iquique/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5175400353",
                            "name": "Parapente Alto Hospicio",
                            "url": "https://parapente-altohospicio.cl/"
                        }
                    ]
                },
                {
                    "name": "Skydiving over Casablanca",
                    "link": "https://outdoor.ninja/skydiving-over-casablanca/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4807260490",
                            "name": "Skydive Aloha",
                            "url": "https://skydivealoha.cl/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "China",
            "activities": [
                {
                    "name": "Hiking in the Mountains of Tibet",
                    "link": "https://outdoor.ninja/hiking-in-the-mountains-of-tibet/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Jet skiing in Hebei",
                    "link": "https://outdoor.ninja/jet-skiing-in-hebei/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Colombia",
            "activities": [
                {
                    "name": "Paragliding over the Antioquia Region",
                    "link": "https://outdoor.ninja/paragliding-over-the-antioquia-region/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Scuba Diving in San Andrés",
                    "link": "https://outdoor.ninja/scuba-diving-in-san-andres/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4531446409",
                            "name": "Divers Team",
                            "url": "https://www.diversteam.net/"
                        },
                        {
                            "id": "3216971032",
                            "name": "Hans Dives Shop",
                            "url": "https://hansdiveshop.co/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Costa Rica",
            "activities": [
                {
                    "name": "Rafting on the Pacuare River",
                    "link": "https://outdoor.ninja/rafting-on-the-pacuare-river/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5916876534",
                            "name": "Exploradores Outdoors Costa Rica",
                            "url": "https://exploradoresoutdoors.com/rafting/"
                        },
                        {
                            "id": "4308713761",
                            "name": "Traversias Naturales",
                            "url": "https://www.travesiasnaturales.com/"
                        }
                    ]
                },
                {
                    "name": "Surfing at Playa Hermosa",
                    "link": "https://outdoor.ninja/surfing-at-playa-hermosa/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Croatia",
            "activities": [
                {
                    "name": "Hiking in Dubrovnik",
                    "link": "https://outdoor.ninja/hiking-in-dubrovnik/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5498747803",
                            "name": "Hiking Dubrovnik",
                            "url": "https://www.hikingdubrovnik.com/hiking-trips/"
                        }
                    ]
                },
                {
                    "name": "Sailing the Dalmatian coast",
                    "link": "https://outdoor.ninja/sailing-the-dalmatian-coast/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3813613091",
                            "name": "Active Sailing",
                            "url": "https://www.sailing-holidays-in-croatia.com/our-yachts/dufour-41"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Ecuador",
            "activities": [
                {
                    "name": "Bungee Jumping in Baños de Agua Santa",
                    "link": "https://outdoor.ninja/bungee-jumping-in-banos-de-agua-santa/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "1880568242",
                            "name": "Turismo Ecuador 24",
                            "url": "https://www.turismoecuador24.com/tour-ecuador/salto-del-puente--Banos-de-agua-santa-deportes%20extremos-turismo-ecuador-24-activities"
                        }
                    ]
                },
                {
                    "name": "Canyoning in Baños de Agua Santa",
                    "link": "https://outdoor.ninja/canyoning-in-banos-de-agua-santa/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3336831589",
                            "name": "Imagine Ecuador",
                            "url": "https://www.imagineecuador.com/"
                        }
                    ]
                },
                {
                    "name": "Hiking in Cotopaxi National Park",
                    "link": "https://outdoor.ninja/hiking-in-cotopaxi-national-park/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Egypt",
            "activities": [
                {
                    "name": "Hiking in Sinai Canyon",
                    "link": "https://outdoor.ninja/hiking-in-sinai-canyon/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Scuba Diving in the Red Sea",
                    "link": "https://outdoor.ninja/scuba-diving-in-the-red-sea/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "5485929762",
                            "name": "Diamond Red Sea",
                            "url": "https://diamondredsea.com/"
                        },
                        {
                            "id": "2117727057",
                            "name": "Red Sea Diving College",
                            "url": "https://redseacollege.com/"
                        },
                        {
                            "id": "4914650211",
                            "name": "Scuba Diving Hurghada School",
                            "url": "https://www.scubadivinghurghadaa.com/"
                        }
                    ]
                },
                {
                    "name": "Windsurfing on Dahab Lagoon",
                    "link": "https://outdoor.ninja/windsurfing-at-dahab-lagoon/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5499880542",
                            "name": "Harry Nass Windsurfing",
                            "url": "https://www.harry-nass.com/en/windsurfing-egypt/"
                        },
                        {
                            "id": "2265898468",
                            "name": "Vetratoria",
                            "url": "https://vetratoria.com/en"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Fiji",
            "activities": [
                {
                    "name": "Kayaking in the Mamanuca Islands",
                    "link": "https://outdoor.ninja/kayaking-in-the-mamanuca-islands/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Stand Up Paddleboarding in Fiji",
                    "link": "https://outdoor.ninja/stand-up-paddleboarding-in-fiji/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4380938052",
                            "name": "Namotu Island Resort",
                            "url": "https://www.namotuislandfiji.com/experience/sup/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Finland",
            "activities": [
                {
                    "name": "Skiing at Yllästunturi",
                    "link": "https://outdoor.ninja/skiing-at-yllastunturi/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Snowmobiling in Finnish Lapland",
                    "link": "https://outdoor.ninja/snowmobiling-in-finnish-lapland/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "1902520305",
                            "name": "Wild Nordic Finland",
                            "url": "https://wildnordic.fi/destinations/rovaniemi/snowmobile-tours-rovaniemi/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "France",
            "activities": [
                {
                    "name": "Kayaking in the Pyrenees",
                    "link": "https://outdoor.ninja/kayaking-in-the-pyrenees/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Land Sailing in Brittany",
                    "link": "https://outdoor.ninja/land-sailing-in-brittany/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "2930293627",
                            "name": "Avel Char à Voile",
                            "url": "https://www.avelchars-a-voile.com/en/"
                        }
                    ]
                },
                {
                    "name": "Parasailing on the French Riviera",
                    "link": "https://outdoor.ninja/parasailing-on-the-french-riviera/",
                    "outfitters_count": 4,
                    "outfitters": [
                        {
                            "id": "5291132935",
                            "name": "Bandol Sports Nautique",
                            "url": "https://www.bsn83.fr/"
                        },
                        {
                            "id": "3447897075",
                            "name": "Lavandou Watersports",
                            "url": "https://lavandou-watersports.fr/en/"
                        },
                        {
                            "id": "2862463345",
                            "name": "Riviera Sailing Watersports",
                            "url": "https://rivierasailingwatersports.com/"
                        },
                        {
                            "id": "2009806049",
                            "name": "Saint-Cyr Parachute",
                            "url": "https://stcyrparachute.fr/"
                        }
                    ]
                },
                {
                    "name": "Skiing in the Alps",
                    "link": "https://outdoor.ninja/skiing-in-the-alps/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "2430222973",
                            "name": "La Plagne",
                            "url": "https://en.la-plagne.com/"
                        },
                        {
                            "id": "3572625554",
                            "name": "Les 3 Vallées",
                            "url": "https://www.les3vallees.com/en"
                        },
                        {
                            "id": "3100743703",
                            "name": "Savoie Grand Revard",
                            "url": "https://www.savoiegrandrevard.com/english-feclaz-revard.html"
                        }
                    ]
                },
                {
                    "name": "Snowboarding in the Alps",
                    "link": "https://outdoor.ninja/snowboarding-in-the-alps/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5878323311",
                            "name": "Les 2 Alpes",
                            "url": "https://www.les2alpes.com/winter/"
                        }
                    ]
                },
                {
                    "name": "Surfing in Biarritz",
                    "link": "https://outdoor.ninja/surfing-in-biarritz/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Germany",
            "activities": [
                {
                    "name": "Hot Air Ballooning over Bavaria",
                    "link": "https://outdoor.ninja/hot-air-ballooning-over-bavaria/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5694883577",
                            "name": "Chiemsee Ballooning",
                            "url": "https://chiemseeballooning.de/balloon-ride/#"
                        },
                        {
                            "id": "2016726904",
                            "name": "Sky Adventure Ballonfahrten",
                            "url": "https://www.skyadventure.eu/"
                        }
                    ]
                },
                {
                    "name": "Mountain biking in Allgäu",
                    "link": "https://outdoor.ninja/mountain-biking-in-allgau/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3840367160",
                            "name": "E-Rad Verleih",
                            "url": "https://www.der-erad-verleih.de/"
                        },
                        {
                            "id": "2965231232",
                            "name": "NTC Sports Nebelhorn",
                            "url": "https://ntc-oberstdorf.de/en/"
                        }
                    ]
                },
                {
                    "name": "Windsurfing in Sylt",
                    "link": "https://outdoor.ninja/windsurfing-in-sylt/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "2394755351",
                            "name": "Southern Cape Surfing Surf School Sylt",
                            "url": "https://www.suedkap-surfing.de/kursueberblick/windsurfkurse-sylt/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Greece",
            "activities": [
                {
                    "name": "Climbing at Kalymnos island",
                    "link": "https://outdoor.ninja/climbing-at-kalimnos-island/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4124342423",
                            "name": "Kalymnos Climbing Adventure",
                            "url": "https://www.kalymnosclimbingadventure.com/"
                        }
                    ]
                },
                {
                    "name": "Mountain biking in Crete",
                    "link": "https://outdoor.ninja/mountain-biking-in-crete/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5594976952",
                            "name": "Cycling Creta",
                            "url": "https://cyclingcreta.gr/"
                        },
                        {
                            "id": "4681720529",
                            "name": "The Hub",
                            "url": "https://www.mtbhub.gr/en"
                        }
                    ]
                },
                {
                    "name": "Paragliding over Myrtos beach",
                    "link": "https://outdoor.ninja/paragliding-over-myrtos-beach/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Windsurfing in Prasonisi",
                    "link": "https://outdoor.ninja/windsurfing-in-prasonisi/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4455294542",
                            "name": "Prasonisi Center",
                            "url": "https://prasonisicenter.com/"
                        },
                        {
                            "id": "2647888429",
                            "name": "Procenter Prasonisi",
                            "url": "https://www.prasonisi.com/index.php/home.html"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Guatemala",
            "activities": [
                {
                    "name": "Sailing in Livingston",
                    "link": "https://outdoor.ninja/sailing-in-livingston/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4363194774",
                            "name": "Adrenalina Tours",
                            "url": "https://adrenalinatours.com/product-category/rio-dulce/?product_count=36"
                        }
                    ]
                },
                {
                    "name": "Sailing on Lake Atitlán",
                    "link": "https://outdoor.ninja/sailing-on-lake-atitlan/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Iceland",
            "activities": [
                {
                    "name": "Hiking on the Sólheimajökull Glacier",
                    "link": "https://outdoor.ninja/hiking-on-the-solheimajokull-glacier/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4023445256",
                            "name": "Arctic Adventures",
                            "url": "https://adventures.is/"
                        }
                    ]
                },
                {
                    "name": "Kayaking at Heinabergsjökull Glacier",
                    "link": "https://outdoor.ninja/kayaking-at-heinabergsjokull-glacier/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "1746379445738",
                            "name": "IceGuide",
                            "url": "https://iceguide.is"
                        }
                    ]
                }
            ]
        },
        {
            "name": "India",
            "activities": [
                {
                    "name": "Hiking the Himalayas in Ladakh",
                    "link": "https://outdoor.ninja/hiking-the-himalayas-in-ladakh/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Paragliding over Bir Billing",
                    "link": "https://outdoor.ninja/paragliding-over-bir-billing/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3537949001",
                            "name": "HP Adventures",
                            "url": "https://www.hpparagliding.com/"
                        }
                    ]
                },
                {
                    "name": "Rafting on the Ganges river",
                    "link": "https://outdoor.ninja/rafting-on-the-ganges-river/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "2767252134",
                            "name": "Himalaya Expedition",
                            "url": "https://himalaya-expedition-river.localo.site/?utm_source=google_profile&utm_campaign=localo&utm_medium=mainlink"
                        },
                        {
                            "id": "3572518208",
                            "name": "Red Chilli Adventure",
                            "url": "https://www.redchilliadventure.com/"
                        },
                        {
                            "id": "4806310528",
                            "name": "River Rafting Rishikesh",
                            "url": "https://www.rishikeshriverrafting.in/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Indonesia",
            "activities": [
                {
                    "name": "Hiking to Mount Bromo",
                    "link": "https://outdoor.ninja/hiking-to-mount-bromo/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Surfing at Nusa Dua Beach",
                    "link": "https://outdoor.ninja/surfing-at-nusa-dua-beach/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "1986402944",
                            "name": "Raja Surf Lesson",
                            "url": "https://www.rajasurflesson.com/"
                        },
                        {
                            "id": "2542788896",
                            "name": "Surf Paradise Bali",
                            "url": "https://surfparadisebali.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Italy",
            "activities": [
                {
                    "name": "Hiking in the Italian Alps",
                    "link": "https://outdoor.ninja/hiking-in-italian-alps/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Jet skiing on Lake Garda",
                    "link": "https://outdoor.ninja/jet-skiing-on-lake-garda/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Rock Climbing in the Dolomites",
                    "link": "https://outdoor.ninja/rock-climbing-in-the-dolomites/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Sailing in Sardinia",
                    "link": "https://outdoor.ninja/sailing-in-sardinia/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4653993709",
                            "name": "Alma Sailing Charter",
                            "url": "https://www.almasailingcharter.com/en"
                        },
                        {
                            "id": "3053170902",
                            "name": "Sadinia Sailing",
                            "url": "https://www.sardiniasailing.com/"
                        }
                    ]
                },
                {
                    "name": "Via Ferrata in the Dolomites",
                    "link": "https://outdoor.ninja/via-ferrata-in-the-dolomites/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4863750429",
                            "name": "Free Wheeling Dolomites",
                            "url": "https://freedolomites.com/"
                        }
                    ]
                },
                {
                    "name": "Wingsuit flying in the Dolomites",
                    "link": "https://outdoor.ninja/wingsuit-flying-in-the-dolomites/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5158681895",
                            "name": "Brento Base School",
                            "url": "https://www.brentobaseschool.com/dolomites-base-heliboogie"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Jamaica",
            "activities": [
                {
                    "name": "Parasailing in Ocho Rios",
                    "link": "https://outdoor.ninja/parasailing-in-ocho-rios/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "2980551641",
                            "name": "Splash Time",
                            "url": "https://splash876.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Jordan",
            "activities": [
                {
                    "name": "Sandboarding in the Wadi Rum dunes",
                    "link": "https://outdoor.ninja/sandboarding-in-the-wadi-rum-dunes/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4701947755",
                            "name": "Wadi Rum Bedouin Guide",
                            "url": "https://wadirumbedouinguide.com/sand-boarding/"
                        }
                    ]
                },
                {
                    "name": "Scuba Diving in Aqaba",
                    "link": "https://outdoor.ninja/scuba-diving-in-aqaba/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "2468611527",
                            "name": "Deep Blue Dive Center",
                            "url": "https://www.deepbluedivecenter.com/"
                        },
                        {
                            "id": "3929829095",
                            "name": "Sea Wonders Diving Center",
                            "url": "https://www.deepbluedivecenter.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Kazakhstan",
            "activities": [
                {
                    "name": "Hiking in the Tien Shan Moutains",
                    "link": "https://outdoor.ninja/hiking-in-the-tien-shan-moutains/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4122591361",
                            "name": "Trekking Club Kazakhstan",
                            "url": "https://trekking-club.com/category/hiking-i-adventure.html"
                        }
                    ]
                },
                {
                    "name": "Paragliding over Almaty",
                    "link": "https://outdoor.ninja/paragliding-over-almaty/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5973991048",
                            "name": "Kolsai Tour",
                            "url": "https://www.kolsaitour.com/kazakhstan-suv-tours"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Kenya",
            "activities": [
                {
                    "name": "Hiking in the Aberdare Ranges",
                    "link": "https://outdoor.ninja/hiking-in-the-aberdare-ranges/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Hot Air Ballooning over the Masai Mara",
                    "link": "https://outdoor.ninja/hot-air-ballooning-over-the-masai-mara/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4784310754",
                            "name": "African Mecca Safaris",
                            "url": "https://www.africanmeccasafaris.com/travel-guide/kenya/parks-reserves/masai-mara/balloon-safari"
                        },
                        {
                            "id": "3763430825",
                            "name": "Hot Air Safaris",
                            "url": "https://www.maraballooning.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Malaysia",
            "activities": [
                {
                    "name": "Hiking Mount Kinabalu in Sabah",
                    "link": "https://outdoor.ninja/hiking-mount-kinabalu-in-sabah/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Parasailing over the Andaman Sea",
                    "link": "https://outdoor.ninja/parasailing-over-the-andaman-sea/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5729043457",
                            "name": "Jet Ski Langkawi",
                            "url": "https://jetskitourlangkawi.com/"
                        },
                        {
                            "id": "3032149182",
                            "name": "Sea Adventure Langkawi",
                            "url": "https://seaadventurelangkawi.com/our-packages/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Mexico",
            "activities": [
                {
                    "name": "Hiking Around Pico de Orizaba",
                    "link": "https://outdoor.ninja/hiking-around-pico-de-orizaba/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Jet skiing in Cancun",
                    "link": "https://outdoor.ninja/jetskiing-in-cancun/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3989220678",
                            "name": "Jet Ski Cancun",
                            "url": "https://jetskicancun.com/"
                        },
                        {
                            "id": "3529103202",
                            "name": "Jungle Tour Adventure Cancun",
                            "url": "https://jungletourcancun.com/jetski-rentals.html?srsltid=AfmBOopCrDw73oOA5QWEqmJ7FVNBzpiHwHRvRP1_fDKizgFC9RcbluD7"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Mongolia",
            "activities": [
                {
                    "name": "Hiking the Gobi Desert",
                    "link": "https://outdoor.ninja/hiking-the-gobi-desert/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Morocco",
            "activities": [
                {
                    "name": "Hiking in the Atlas Mountains",
                    "link": "https://outdoor.ninja/hiking-in-the-atlas-mountains/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5834706779",
                            "name": "Toubkal Guide",
                            "url": "https://toubkalguide.com/treks-climbs/?srsltid=AfmBOoofiBX9lex594xRNg5je2odQ1amfHla34v7xPvnyuBlbQRucnuk"
                        }
                    ]
                },
                {
                    "name": "Hot Air Ballooning in Marrakech",
                    "link": "https://outdoor.ninja/hot-air-ballooning-in-marrakech/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5165280002",
                            "name": "Ballooning Marrakech",
                            "url": "https://www.ballooning.ma/en"
                        },
                        {
                            "id": "2864090483",
                            "name": "Ciel D\\'Afrique",
                            "url": "https://www.cieldafrique.info/en"
                        }
                    ]
                },
                {
                    "name": "Sandboarding in the Sahara dunes",
                    "link": "https://outdoor.ninja/sandboarding-in-the-sahara-dunes/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Surfing at Sidi Kaouki",
                    "link": "https://outdoor.ninja/surfing-at-sidi-kaouki/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Namibia",
            "activities": [
                {
                    "name": "Hiking in Sossusvlei",
                    "link": "https://outdoor.ninja/hiking-in-sossusvlei/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Sandboarding in Swakopmund",
                    "link": "https://outdoor.ninja/sandboarding-in-swakopmund/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "2520911501",
                            "name": "Alter Action Sandboarding",
                            "url": "https://www.alter-action.info/web/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Nepal",
            "activities": [
                {
                    "name": "Hiking Kanchenjunga",
                    "link": "https://outdoor.ninja/hiking-kanchenjunga/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Ultralight Flying in Pokhara",
                    "link": "https://outdoor.ninja/ultralight-flying-in-pokhara/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3911438981",
                            "name": "Avia Club Nepal",
                            "url": "https://aviaclubnepal.com/"
                        },
                        {
                            "id": "2179900794",
                            "name": "Pokhara Ulitralight",
                            "url": "https://flypokhara.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "New Zealand",
            "activities": [
                {
                    "name": "Hang gliding over the Bay of Plenty",
                    "link": "https://outdoor.ninja/hang-gliding-over-the-bay-of-plenty/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Hiking in Milford Track",
                    "link": "https://outdoor.ninja/hiking-in-milford-track/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Surfing at Papamoa beach",
                    "link": "https://outdoor.ninja/surfing-at-papamoa-beach/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3418273160",
                            "name": "Hakanini Surf School and Rentals",
                            "url": "https://www.hakaninisurf.co.nz/"
                        },
                        {
                            "id": "2088855249",
                            "name": "Hibiscus",
                            "url": "https://surfschool.co.nz/"
                        }
                    ]
                },
                {
                    "name": "Whitewater rafting in Rotorua",
                    "link": "https://outdoor.ninja/whitewater-rafting-in-rotorua/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "2257484716",
                            "name": "Kaitiaki Adventures",
                            "url": "https://kaitiaki.co.nz/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Nicaragua",
            "activities": [
                {
                    "name": "Surfing in Popoyo",
                    "link": "https://outdoor.ninja/surfing-in-popoyo/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "1815803173",
                            "name": "Two Brothers Surf Resort",
                            "url": "https://twobrotherssurf.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Norway",
            "activities": [
                {
                    "name": "Hiking at Preikestolen",
                    "link": "https://outdoor.ninja/hiking-at-preikestolen/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Kayaking in Jotunheimen National Park",
                    "link": "https://outdoor.ninja/kayaking-in-jotunheimen-national-park/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "1746378145723",
                            "name": "Try9876",
                            "url": "https://placesociale.com"
                        }
                    ]
                },
                {
                    "name": "Paragliding over Loen",
                    "link": "https://outdoor.ninja/paragliding-over-loen/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "1746301751986",
                            "name": "Cool48",
                            "url": "https://artists.family"
                        },
                        {
                            "id": "1746305512114",
                            "name": "Cool62",
                            "url": "https://placesociale.com"
                        },
                        {
                            "id": "1746372498014",
                            "name": "Hello1234",
                            "url": "https://mytours.company"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Philippines",
            "activities": [
                {
                    "name": "Kayaking at El Nido",
                    "link": "https://outdoor.ninja/kayaking-at-el-nido/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Stand-Up Paddleboarding in Malay",
                    "link": "https://outdoor.ninja/stand-up-paddleboarding-in-malay/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Poland",
            "activities": [
                {
                    "name": "Hiking in the Tatra Mountains",
                    "link": "https://outdoor.ninja/hiking-in-the-tatra-mountains/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Mountain Biking in the Beskid Mountains",
                    "link": "https://outdoor.ninja/mountain-biking-in-the-beskid-mountains/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5363298581",
                            "name": "E-Bike Istebna",
                            "url": "https://e-bikeistebna.pl/"
                        },
                        {
                            "id": "3799062524",
                            "name": "Rowerowa Osada",
                            "url": "https://www.rowerowaosada.pl/"
                        }
                    ]
                },
                {
                    "name": "Paramotoring in Mazovia",
                    "link": "https://outdoor.ninja/paramotoring-in-mazovia/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Portugal",
            "activities": [
                {
                    "name": "Paragliding over the Azores",
                    "link": "https://outdoor.ninja/paragliding-over-the-azores/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Surfing in Vale Figueiras",
                    "link": "https://outdoor.ninja/surfing-in-vale-figueiras/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4000917963",
                            "name": "Surf Secret Society",
                            "url": "https://surfsecretsociety.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Russia",
            "activities": [
                {
                    "name": "Climbing Mount Elbrus",
                    "link": "https://outdoor.ninja/climbing-mount-elbrus/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4704910864",
                            "name": "Elbrus Guide",
                            "url": "https://elbrus.guide/en/#tours"
                        },
                        {
                            "id": "4217217063",
                            "name": "KavkazSkiTur",
                            "url": "https://kavkazskitur.com/elbrus-summit/"
                        }
                    ]
                },
                {
                    "name": "Skiing in Krasnaya Polyana",
                    "link": "https://outdoor.ninja/skiing-in-krasnaya-polyana/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "5001482260",
                            "name": "Vershina",
                            "url": "https://vershina.rent/"
                        }
                    ]
                },
                {
                    "name": "Snowmobiling in Khabarovsk",
                    "link": "https://outdoor.ninja/snowmobiling-in-khabarovsk/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Stand Up Paddleboarding in Anapa",
                    "link": "https://outdoor.ninja/stand-up-paddleboarding-in-anapa/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Seychelles",
            "activities": [
                {
                    "name": "Hiking in Mahé",
                    "link": "https://outdoor.ninja/hiking-in-mahe/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Scuba Diving in the Seychelles",
                    "link": "https://outdoor.ninja/scuba-diving-in-the-seychelles/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "3352079239",
                            "name": "Atoll Divers",
                            "url": "https://divingseychelles.com/"
                        },
                        {
                            "id": "5119418898",
                            "name": "Blue Sea Divers",
                            "url": "https://blueseadivers.com/"
                        },
                        {
                            "id": "3567012527",
                            "name": "Dive Seychelles Underwater Center",
                            "url": "https://www.diveseychelles.com.sc/index.html"
                        }
                    ]
                }
            ]
        },
        {
            "name": "South Africa",
            "activities": [
                {
                    "name": "Hiking in Golden Gate National Park",
                    "link": "https://outdoor.ninja/hiking-in-golden-gate-national-park/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Paragliding in Cape Town",
                    "link": "https://outdoor.ninja/paragliding-in-cape-town/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3920810519",
                            "name": "Fly Cape Town Paragliding",
                            "url": "https://flycapetown.co.za/?utm_source=GMB&utm_medium=organic&utm_campaign=listing"
                        }
                    ]
                },
                {
                    "name": "Surfing at Muizenberg beach",
                    "link": "https://outdoor.ninja/surfing-at-muizenberg-beach/",
                    "outfitters_count": 3,
                    "outfitters": [
                        {
                            "id": "5576919783",
                            "name": "Gary\\'s Surf School",
                            "url": "https://garysurf.com/"
                        },
                        {
                            "id": "4384521542",
                            "name": "Lifestyle Surfshop",
                            "url": "https://www.lifestylesurfshop.co.za/"
                        },
                        {
                            "id": "1805756346",
                            "name": "Surf Emporium",
                            "url": "https://surfemporium.co.za/"
                        }
                    ]
                },
                {
                    "name": "Windsurfing on Keurbooms Lagoon",
                    "link": "https://outdoor.ninja/windsurfing-on-keurbooms-lagoon/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Spain",
            "activities": [
                {
                    "name": "Hiking in Cantabria",
                    "link": "https://outdoor.ninja/picos-de-europa-hiking-in-cantabria/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        },
        {
            "name": "Switzerland",
            "activities": [
                {
                    "name": "Paragliding at Pizol in the Swiss Alps",
                    "link": "https://outdoor.ninja/paragliding-at-pizol-in-the-swiss-alps/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3002807844",
                            "name": "Flightbase",
                            "url": "https://www.passagierflug.ch/en/paragliding-tandem"
                        }
                    ]
                },
                {
                    "name": "Snowboarding in the Swiss Alps",
                    "link": "https://outdoor.ninja/snowboarding-in-the-swiss-alps/",
                    "outfitters_count": 4,
                    "outfitters": [
                        {
                            "id": "1928843913",
                            "name": "Backdoor Shop",
                            "url": "https://backdoorshop.ch/en/winter-offer/"
                        },
                        {
                            "id": "3221280887",
                            "name": "Bayard Sports",
                            "url": "https://www.bayardsport.ch/en/wintersport-in-zermatt/skiing-snowboarding"
                        },
                        {
                            "id": "2994364724",
                            "name": "Buri Sport",
                            "url": "https://www.burisport.ch/en/"
                        },
                        {
                            "id": "4890407957",
                            "name": "Julen Sports",
                            "url": "https://www.julensport.ch/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Tanzania",
            "activities": [
                {
                    "name": "Climbing Mount Kilimanjaro",
                    "link": "https://outdoor.ninja/climbing-mount-kilimanjaro/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4421877738",
                            "name": "Climbing Kilimanjaro",
                            "url": "https://www.climbing-kilimanjaro.com/"
                        }
                    ]
                },
                {
                    "name": "Scuba Diving in Zanzibar",
                    "link": "https://outdoor.ninja/scuba-diving-in-zanzibar/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "4971993257",
                            "name": "Buccaneer Diving",
                            "url": "https://www.buccaneerdiving.com/"
                        },
                        {
                            "id": "4850110980",
                            "name": "ScubaFish Dive Center",
                            "url": "https://www.scubafishzanzibar.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Thailand",
            "activities": [
                {
                    "name": "Kayaking in Surat Thani",
                    "link": "https://outdoor.ninja/kayaking-in-surat-thani/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Paragliding in Phuket",
                    "link": "https://outdoor.ninja/paragliding-in-phuket/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "3378738402",
                            "name": "Phuket Paragliding",
                            "url": "https://paraglidingphuket.com/"
                        }
                    ]
                },
                {
                    "name": "Scuba Diving in Khao Lak",
                    "link": "https://outdoor.ninja/scuba-diving-in-khao-lak/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3058644965",
                            "name": "Khao Lak Explorer",
                            "url": "https://www.khaolakexplorer.com/"
                        },
                        {
                            "id": "2536184569",
                            "name": "Red Dragon Dive Center",
                            "url": "https://www.seadragondivecenter.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Turkey",
            "activities": [
                {
                    "name": "Highlining in Antalya",
                    "link": "https://outdoor.ninja/highlining-in-antalya/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Hot Air Ballooning over Cappadocia",
                    "link": "https://outdoor.ninja/hot-air-ballooning-over-cappadocia/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3851679884",
                            "name": "Rainbow Balloons",
                            "url": "https://www.rainbowballoons.net/en"
                        },
                        {
                            "id": "1823531560",
                            "name": "Voyager Balloons",
                            "url": "https://voyagerballoons.com/"
                        }
                    ]
                },
                {
                    "name": "Rafting in Antalya",
                    "link": "https://outdoor.ninja/rafting-in-antalya/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "2026975938",
                            "name": "Enjoy Rafting",
                            "url": "https://enjoyrafting.com/"
                        },
                        {
                            "id": "5697251323",
                            "name": "Mavi Raft",
                            "url": "https://www.maviraft.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "United Arab Emirates",
            "activities": [
                {
                    "name": "Hiking in the Abu Dhabi Desert",
                    "link": "https://outdoor.ninja/hiking-in-the-abu-dhabi-desert/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Kitesurfing at Jumeirah Beach",
                    "link": "https://outdoor.ninja/kitesurfing-at-jumeirah-beach/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3796988759",
                            "name": "Kite N Surf Dubai",
                            "url": "https://kitensurf.ae/locations/"
                        },
                        {
                            "id": "3756729969",
                            "name": "Kite Zone Dubai",
                            "url": "https://www.kitezonedubai.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "United States",
            "activities": [
                {
                    "name": "Bouldering in Joshua Tree National Park",
                    "link": "https://outdoor.ninja/bouldering-in-joshua-tree-national-park/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Canyoning in Utah",
                    "link": "https://outdoor.ninja/canyoning-in-utah/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Hiking in Alaska",
                    "link": "https://outdoor.ninja/hiking-in-alaska/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "5884811105",
                            "name": "Expeditions Alaska",
                            "url": "https://www.expeditionsalaska.com/"
                        },
                        {
                            "id": "3240203846",
                            "name": "Tongass Treks",
                            "url": "https://www.tongasstreks.com/"
                        }
                    ]
                },
                {
                    "name": "Hiking in the Sierra Nevada",
                    "link": "https://outdoor.ninja/hiking-in-the-sierra-nevada/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Kitesurfing in Hawaii",
                    "link": "https://outdoor.ninja/kitesurfing-in-hawaii/",
                    "outfitters_count": 1,
                    "outfitters": [
                        {
                            "id": "4982202008",
                            "name": "Kite Hi",
                            "url": "https://kitehi.com/?srsltid=AfmBOop0j2tdhVNZpl5NpKWMudi7s4aimjemNs8dbk2_FRea1zvgi7tC"
                        }
                    ]
                },
                {
                    "name": "Skiing at Keystone in Colorado",
                    "link": "https://outdoor.ninja/skiing-at-keystone-in-colorado/",
                    "outfitters_count": 0,
                    "outfitters": []
                },
                {
                    "name": "Skiing at Lake Tahoe in California",
                    "link": "https://outdoor.ninja/skiing-at-lake-tahoe-in-california/",
                    "outfitters_count": 2,
                    "outfitters": [
                        {
                            "id": "3693993908",
                            "name": "NorthStar California Resort",
                            "url": "https://www.northstarcalifornia.com/"
                        },
                        {
                            "id": "2391404534",
                            "name": "Rock House Discount Ski",
                            "url": "https://tahoediscountskis.com/"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Zambia",
            "activities": [
                {
                    "name": "Hang Gliding over Victoria falls",
                    "link": "https://outdoor.ninja/hang-gliding-over-victoria-falls/",
                    "outfitters_count": 0,
                    "outfitters": []
                }
            ]
        }
    ],
    "meta": {
        "total_destinations": 50,
        "total_activities": 132,
        "total_outfitters": 130,
        "timestamp": "2026-04-22T08:29:20+00:00",
        "entity_type": "Outdoor Ninja"
    }
}


</div></div>
</section><section class="bde-section-1255-100 bde-section">
  
  
	



<div class="section-container"><div class="bde-code-block-1255-102 bde-code-block">

  <script>
(function() {
    // Prevent multiple initializations
    if (window.outdoorNinjaChatbot) return;
    window.outdoorNinjaChatbot = true;

    // Create chatbot HTML with improved styling
    var chatHTML = '<style>' +
        '#chat-popup{position:fixed;bottom:20px;right:20px;width:370px;height:550px;background:#fff;border:1px solid #ddd;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.15);font-family:"Segoe UI",Arial,sans-serif;z-index:9999;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease-in-out}' +
        '#chat-header{background:#005a9c;color:#fff;padding:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #004a80;flex-shrink:0}' +
        '#chat-close{cursor:pointer;font-size:24px;font-weight:300;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}' +
        '#chat-close:hover{background:rgba(255,255,255,.2)}' +
        '#chat-body{flex:1;overflow-y:auto;padding:20px;background:#f9f9f9}' +
        '.msg{margin-bottom:15px;animation:slideIn .3s ease-out}' +
        '@keyframes slideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}' +
        '.msg-user{text-align:right}' +
        '.msg-user .bubble{background:#0078d4;color:#fff;border-radius:18px 18px 4px 18px}' +
        '.msg-bot .bubble{background:#fff;color:#333;border-radius:18px 18px 18px 4px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:5px}' +
        '.bubble p{margin:10px 12px}' +
        '.btn{display:inline-block;padding:8px 16px;margin:4px;border:none;border-radius:20px;text-decoration:none!important;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff!important}' +
        '.btn:hover{text-decoration:none!important;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}' +
        '.btn-activity-destination{background:#8c4d16}.btn-activity-destination:hover{background:#6d3b11}' +
        '.btn-outfitter{background:#5e5e5e}.btn-outfitter:hover{background:#4a4a4a}' +
        '.btn-contact{background:#28a745;font-size:15px;padding:10px 20px}.btn-contact:hover{background:#218838}' +
        '.activity-container{background:#f0f0f0;border-radius:8px;padding:12px;margin:8px}' +
        '.outfitter-details{margin-top:10px}' +
        '.outfitter-summary{list-style:none;cursor:pointer;color:#005a9c;font-weight:600;font-size:13px}' +
        '.outfitter-summary::-webkit-details-marker{display:none}' +
        '.outfitter-summary:focus{outline:none}' +
        '.outfitter-summary .arrow{display:inline-block;transition:transform .2s}' +
        '.outfitter-details[open] .outfitter-summary .arrow{transform:rotate(90deg)}' +
        '.outfitter-list{padding-top:10px;border-top:1px solid #ddd;margin-top:5px}' +
        '#chat-footer{padding:10px;background:#fff;border-top:1px solid #e0e0e0;display:flex;gap:10px;flex-shrink:0}' +
        '#chat-input{flex:1;border:1px solid #ddd;border-radius:20px;padding:10px 15px;font-size:14px;outline:none}' +
        '#chat-input:focus{border-color:#0078d4}' +
        '#chat-send{background:#0078d4;color:#fff;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}' +
        '#chat-send:hover:not(:disabled){background:#005a9c}' +
        '#chat-send:disabled{background:#ccc;cursor:not-allowed}' +
        '.typing-indicator{display:inline-flex;gap:4px;padding:10px 15px}' +
        '.typing-indicator span{width:8px;height:8px;background:#999;border-radius:50%;animation:typing 1.4s infinite}' +
        '.typing-indicator span:nth-child(2){animation-delay:.2s}' +
        '.typing-indicator span:nth-child(3){animation-delay:.4s}' +
        '@keyframes typing{0%,60%,100%{opacity:.3}30%{opacity:1;transform:scale(1.1)}}' +
        '#chat-toggle{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:#0078d4;color:#fff;border:none;font-size:28px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:9998;display:none;align-items:center;justify-content:center;transition:transform .2s}' +
        '#chat-toggle:hover{transform:scale(1.1)}' +
        '.suggestion-intro{font-style:italic;color:#666;margin-bottom:10px}' +
        '</style>' +
        '<div id="chat-popup">' +
            '<div id="chat-header"><span>Outdoor Ninja Assistant</span><span id="chat-close">×</span></div>' +
            '<div id="chat-body"></div>' +
            '<div id="chat-footer"><input type="text" id="chat-input" placeholder="Ask about an adventure..." disabled /><button id="chat-send" disabled>➤</button></div>' +
        '</div>' +
        '<button id="chat-toggle">💬</button>';

    document.body.insertAdjacentHTML('beforeend', chatHTML);

    var chatPopup = document.getElementById('chat-popup');
    var chatToggle = document.getElementById('chat-toggle');
    var chatClose = document.getElementById('chat-close');
    var chatBody = document.getElementById('chat-body');
    var chatInput = document.getElementById('chat-input');
    var chatSend = document.getElementById('chat-send');
    var pageActivities = [], activityOutfitters = {}, chatHistory = [], countriesList = [];
    
    // WARNING: Exposing API keys in client-side code is a security risk
    var OPENAI_API_KEY = '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';

    function toggleChat(show) {
        chatPopup.style.display = show ? 'flex' : 'none';
        chatToggle.style.display = show ? 'none' : 'flex';
        if (show) chatInput.focus();
        localStorage.setItem('outdoorNinjaChatClosed', !show);
    }

    function addMessage(content, isUser, messageId) {
        var msgDiv = document.createElement('div');
        msgDiv.className = 'msg ' + (isUser ? 'msg-user' : 'msg-bot');
        if (messageId) msgDiv.id = messageId;
        var bubble = document.createElement('div');
        bubble.className = 'bubble';
        bubble.innerHTML = content;
        msgDiv.appendChild(bubble);
        chatBody.appendChild(msgDiv);
        chatBody.scrollTop = chatBody.scrollHeight;
        return msgDiv;
    }
    
    function loadActivitiesFromJSON() {
        return fetch('https://outdoor.ninja/outfitters/')
            .then(function(response) { return response.text(); })
            .then(function(html) {
                var parser = new DOMParser();
                var doc = parser.parseFromString(html, 'text/html');
                var jsonText = '';
                var codeBlock = doc.querySelector('.bde-code-block-2201-101.bde-code-block') || doc.querySelector('.bde-code-block') || doc.querySelector('[class*="code-block"]');
                if (!codeBlock) {
                    var preBlocks = doc.querySelectorAll('pre');
                    for (var k = 0; k < preBlocks.length; k++) {
                        var text = preBlocks[k].textContent.trim();
                        if (text.indexOf('"success"') !== -1 && text.indexOf('"data"') !== -1) { codeBlock = preBlocks[k]; break; }
                    }
                }
                if (!codeBlock) {
                    var jsonMatch = html.match(/\{\s*"success"\s*:\s*true\s*,\s*"data"\s*:\s*\[[\s\S]*?\]\s*\}/);
                    if (jsonMatch) { jsonText = jsonMatch[0]; } 
                    else { console.error('Could not find JSON data anywhere in the page'); return false; }
                } else {
                    jsonText = codeBlock.textContent.trim().replace(/&quot;/g, '"').replace(/&amp;/g, '&');
                }
                
                try {
                    var jsonData = JSON.parse(jsonText);
                    if (!jsonData || !jsonData.success || !jsonData.data) { 
                        console.error('Invalid JSON structure.'); 
                        return false; 
                    }
                    
                    var activities = [], seenActivities = {}, seenCountries = {};
                    jsonData.data.forEach(function(country) {
                        if (!seenCountries[country.name]) { 
                            seenCountries[country.name] = true; 
                            countriesList.push(country.name); 
                        }
                        country.activities.forEach(function(activity) {
                            var activityKey = activity.name + '|' + activity.link;
                            if (!seenActivities[activityKey]) {
                                seenActivities[activityKey] = true;
                                var activityData = { 
                                    title: activity.name, 
                                    url: activity.link, 
                                    country: country.name, 
                                    outfitters: activity.outfitters || [] 
                                };
                                activities.push(activityData);
                                activityOutfitters[activity.name] = { 
                                    country: country.name, 
                                    outfitters: activity.outfitters || [], 
                                    count: activity.outfitters_count || 0 
                                };
                            }
                        });
                    });
                    pageActivities = activities;
                    countriesList.sort();
                    return activities.length > 0;
                } catch (e) {
                    console.error('Error parsing JSON:', e);
                    return false;
                }
            })
            .catch(function(error) { 
                console.error('Error loading or processing activities:', error); 
                return false; 
            });
    }

    function callOpenAI(messages) {
        return fetch('https://api.openai.com/v1/chat/completions', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + OPENAI_API_KEY },
            body: JSON.stringify({ model: 'gpt-3.5-turbo', messages: messages, temperature: 0.3, max_tokens: 500 })
        })
        .then(response => response.json())
        .then(data => { if (data.error) throw new Error(data.error.message); return data.choices[0].message.content; })
        .catch(error => { console.error('OpenAI API Error:', error); return 'Sorry, I encountered an error.'; });
    }
    
    function formatResponse(response, isRecommendation) {
        // Handle cases where no activities are found
        if (!response || response.trim().toLowerCase() === 'none') {
            return '<p>Sorry, I couldn\'t find any matching activities. Please try asking in a different way.</p>';
        }

        // Parse the response first to check content
        var lines = response.split('\n').filter(line => line.trim() !== '');
        
        // Check if this is a special response (thank you, listing inquiry, etc.)
        const specialResponseIndicators = [
            "you're welcome", "youre welcome", "happy to help", "my pleasure", 
            "glad i could assist", "glad to help"
        ];
        
        // Check for general conversational/help messages
        const conversationalIndicators = [
            "feel free to ask", "let me know", "i can help", "how can i help",
            "what would you like", "anything else", "need help", "ask me",
            "i'm here to", "here to help", "assist you", "happy to",
            "would you like", "can i help", "do you need", "what information",
            "what details", "tell me about", "provide me with", "share your",
            "let me know your", "what are you looking", "what kind of"
        ];
        
        const lowerResponse = response.toLowerCase();
        const isSpecialResponse = specialResponseIndicators.some(indicator => 
            lowerResponse.includes(indicator)
        );
        
        const isConversationalResponse = conversationalIndicators.some(indicator => 
            lowerResponse.includes(indicator)
        );
        
        // Check if this is a contact form response
        const isContactFormResponse = lowerResponse.includes("contact form") || 
                                     lowerResponse.includes("get listed") || 
                                     lowerResponse.includes("submit a request");
        
        if (isContactFormResponse) {
            return `<p>To get listed on Outdoor Ninja, you can submit a request through our contact form:</p>
                    <a href="https://placesociale.com/world/contact-3/?source=Outdoor%20Ninja" target="_blank" class="btn btn-contact">Submit Request</a>`;
        }
        
        // Check if response might contain activities
        const activityKeywords = ['skydiving', 'bungee', 'paragliding', 'climbing', 'rafting', 'surfing', 'diving', 'hiking', 'biking', 'skiing', 'snowboarding', 'kayaking', 'wingsuit', 'highlining', 'canyoning', 'zip'];
        var mightContainActivities = lines.some(line => {
            const trimmed = line.trim().replace(/^[-•]\s*/, '').replace(/\s*\([^)]*\)\s*$/, '').replace(/\s+in\s+.+$/i, '').toLowerCase();
            
            // Skip lines that are clearly explanatory text
            if (trimmed.length > 50 || 
                trimmed.includes('generally') || 
                trimmed.includes('suitable') || 
                trimmed.includes('recommend') ||
                trimmed.includes('preference') ||
                trimmed.includes('if you') ||
                trimmed.includes('let me know')) {
                return false;
            }
            
            // First check if line contains any activity keywords
            const hasActivityKeyword = activityKeywords.some(keyword => trimmed.includes(keyword));
            if (hasActivityKeyword) {
                // But exclude if it's in an explanatory context
                if (trimmed.includes('activities like') || 
                    trimmed.includes('such as') || 
                    trimmed.includes('more about')) {
                    return false;
                }
                console.log('Line contains activity keyword:', line);
                return true;
            }
            
            // Then check against actual activities
            const found = pageActivities.some(act => {
                const actTitle = act.title.toLowerCase();
                const trimmedLower = trimmed.toLowerCase();
                // Check if the line contains a significant portion of an activity name
                const match = actTitle.includes(trimmedLower.substring(0, 15)) ||
                       trimmedLower.includes(actTitle.substring(0, 15)) ||
                       (trimmedLower.length > 10 && actTitle.includes(trimmedLower)) ||
                       (actTitle.length > 10 && trimmedLower.includes(actTitle));
                if (match) {
                    console.log('Found activity match:', trimmed, 'matches', act.title);
                }
                return match;
            });
            return found;
        });
        
        console.log('mightContainActivities:', mightContainActivities);
        
        // Don't treat as conversational if it contains SUGGESTION or activity names
        const containsSuggestion = response.includes('SUGGESTION:');
        
        console.log('Response analysis:', {
            containsSuggestion: containsSuggestion,
            mightContainActivities: mightContainActivities,
            isSpecialResponse: isSpecialResponse,
            isConversationalResponse: isConversationalResponse
        });
        
        if ((isSpecialResponse || isConversationalResponse) && !containsSuggestion && !mightContainActivities) {
            console.log('Treating as conversational response');
            return `<p>${response}</p>`;
        }

        // Helper function to build the HTML for a single activity component
        function createActivityComponent(activity) {
            let outfitterHtml = '';
            if (activity.outfitters && activity.outfitters.length > 0) {
                const outfitterButtons = activity.outfitters
                    .map(o => `<a href="${o.url}" target="_blank" class="btn btn-outfitter">${o.name}</a>`)
                    .join('');
                outfitterHtml = `<details class="outfitter-details"><summary class="outfitter-summary"><span class="arrow">▶</span> View ${activity.outfitters.length} Outfitter(s)</summary><div class="outfitter-list">${outfitterButtons}</div></details>`;
            }
            return `<div class="activity-container"><a href="${activity.url}" target="_blank" class="btn btn-activity-destination">${activity.title} in ${activity.country}</a>${outfitterHtml}</div>`;
        }
        
        // Parse the response for activities
        let introText = '';
        let activityNames = [];
        let closingText = '';
        
        // Check if this is a suggestion response with activities
        if (response.includes('SUGGESTION:') || mightContainActivities) {
            // Find the SUGGESTION line if it exists
            const suggestionIndex = lines.findIndex(line => line.includes('SUGGESTION:'));
            
            if (suggestionIndex !== -1) {
                // Everything before SUGGESTION is intro
                if (suggestionIndex > 0) {
                    introText = lines.slice(0, suggestionIndex).join(' ');
                }
                
                // The SUGGESTION line itself
                const suggestionLine = lines[suggestionIndex].replace('SUGGESTION:', '').trim();
                if (suggestionLine) {
                    introText = (introText ? introText + ' ' : '') + suggestionLine;
                }
                
                // Find where activities start and end
                let activityStartIndex = suggestionIndex + 1;
                let activityEndIndex = lines.length;
                
                // Look for closing text (lines that don't start with - or aren't activity names)
                for (let i = activityStartIndex; i < lines.length; i++) {
                    const line = lines[i].trim();
                    // Check if this line is likely NOT an activity
                    if (line && !line.startsWith('-') && !line.startsWith('•')) {
                        const cleanLine = line.replace(/^[-•]\s*/, '').replace(/\s*\([^)]*\)\s*$/, '').replace(/\s+in\s+.+$/i, '').trim();
                        const isActivity = pageActivities.some(act => {
                            const actTitle = act.title.toLowerCase();
                            const cleanLower = cleanLine.toLowerCase();
                            return actTitle.includes(cleanLower.substring(0, 10)) ||
                                   cleanLower.includes(actTitle.substring(0, 10));
                        });
                        if (!isActivity) {
                            activityEndIndex = i;
                            break;
                        }
                    }
                }
                
                // Extract activities and closing text
                activityNames = lines.slice(activityStartIndex, activityEndIndex);
                if (activityEndIndex < lines.length) {
                    closingText = lines.slice(activityEndIndex).join(' ');
                }
            } else if (mightContainActivities) {
                // No SUGGESTION line but contains activities
                // Find where activities likely start and end
                let activityStartIndex = 0;
                let activityEndIndex = lines.length;
                
                // Find first activity line
                for (let i = 0; i < lines.length; i++) {
                    const line = lines[i].trim();
                    const cleanLine = line.replace(/^[-•]\s*/, '').replace(/\s*\([^)]*\)\s*$/, '').replace(/\s+in\s+.+$/i, '').trim();
                    const isActivity = pageActivities.some(act => {
                        const actTitle = act.title.toLowerCase();
                        const cleanLower = cleanLine.toLowerCase();
                        return actTitle.includes(cleanLower.substring(0, 15)) ||
                               cleanLower.includes(actTitle.substring(0, 15));
                    });
                    if (isActivity) {
                        activityStartIndex = i;
                        break;
                    }
                }
                
                // Find last activity line
                for (let i = activityStartIndex + 1; i < lines.length; i++) {
                    const line = lines[i].trim();
                    const cleanLine = line.replace(/^[-•]\s*/, '').replace(/\s*\([^)]*\)\s*$/, '').replace(/\s+in\s+.+$/i, '').trim();
                    const isActivity = cleanLine && pageActivities.some(act => {
                        const actTitle = act.title.toLowerCase();
                        const cleanLower = cleanLine.toLowerCase();
                        return actTitle.includes(cleanLower.substring(0, 15)) ||
                               cleanLower.includes(actTitle.substring(0, 15));
                    });
                    if (!isActivity && line.trim() !== '') {
                        activityEndIndex = i;
                        break;
                    }
                }
                
                // Extract parts
                if (activityStartIndex > 0) {
                    introText = lines.slice(0, activityStartIndex).join(' ');
                }
                activityNames = lines.slice(activityStartIndex, activityEndIndex);
                if (activityEndIndex < lines.length) {
                    closingText = lines.slice(activityEndIndex).join(' ');
                }
            }
        } else if (isRecommendation && lines.length > 0 && lines[0].startsWith('SUGGESTION:')) {
            // Original format: SUGGESTION as first line
            introText = lines[0].replace('SUGGESTION:', '').trim();
            activityNames = lines.slice(1);
        } else {
            activityNames = lines;
        }
        
        // If there's only one line and it doesn't look like an activity name, treat it as conversational
        if (activityNames.length === 1) {
            const singleLine = activityNames[0].trim();
            
            // Check if this is clearly explanatory text
            if (singleLine.length > 50 ||
                singleLine.toLowerCase().includes('generally') ||
                singleLine.toLowerCase().includes('suitable') ||
                singleLine.toLowerCase().includes('recommend') ||
                singleLine.toLowerCase().includes('preference') ||
                singleLine.toLowerCase().includes('if you') ||
                singleLine.toLowerCase().includes('let me know') ||
                singleLine.toLowerCase().includes('activities like') ||
                singleLine.toLowerCase().includes('such as')) {
                return `<p>${response}</p>`;
            }
            
            const cleanLine = singleLine.replace(/^[-•]\s*/, '').replace(/\s*\([^)]*\)\s*$/, '').replace(/\s+in\s+.+$/i, '').trim();
            const isActivity = pageActivities.some(act => {
                const actTitle = act.title.toLowerCase();
                const cleanLower = cleanLine.toLowerCase();
                return actTitle.includes(cleanLower.substring(0, 10)) ||
                       cleanLower.includes(actTitle.substring(0, 10));
            });
            if (!isActivity) {
                return `<p>${response}</p>`;
            }
        }
        
        // Debug logging
        console.log('Parsing activities:', activityNames);
        console.log('Available activities sample:', pageActivities.slice(0, 5).map(a => a.title));
        
        // Map each title to its corresponding HTML component
        const activityComponents = activityNames.map((title) => {
            let trimmedTitle = title.trim();
            
            // Remove bullet points and dashes if present
            trimmedTitle = trimmedTitle.replace(/^[-•]\s*/, '');
            
            // Remove country in parentheses if present (e.g., "(Ecuador)")
            const beforeParen = trimmedTitle;
            trimmedTitle = trimmedTitle.replace(/\s*\([^)]*\)\s*$/, '').trim();
            if (beforeParen !== trimmedTitle) {
                console.log('Removed parentheses from:', beforeParen, 'to:', trimmedTitle);
            }
            
            // Remove "in [location]" if present - but only at the end
            const beforeIn = trimmedTitle;
            trimmedTitle = trimmedTitle.replace(/\s+in\s+[^,]+$/i, '').trim();
            if (beforeIn !== trimmedTitle) {
                console.log('Removed trailing "in location" from:', beforeIn, 'to:', trimmedTitle);
            }
            
            console.log('Looking for activity:', trimmedTitle);
            
            // Try exact match first
            let activity = pageActivities.find(act => act.title === trimmedTitle);
            
            // If no exact match, try case-insensitive match
            if (!activity) {
                activity = pageActivities.find(act => 
                    act.title.toLowerCase() === trimmedTitle.toLowerCase()
                );
            }
            
            // If still no match, try to find activities that start with the trimmed title
            if (!activity) {
                activity = pageActivities.find(act => 
                    act.title.toLowerCase().startsWith(trimmedTitle.toLowerCase())
                );
            }
            
            // More sophisticated partial match - look for activities containing the key parts
            if (!activity && trimmedTitle.length > 10) {
                // Extract the main activity and location if possible
                const activityParts = trimmedTitle.match(/^(.*?)\s+(in|at|on|over)\s+(.*)$/i);
                if (activityParts) {
                    const activityType = activityParts[1].toLowerCase();
                    const location = activityParts[3].toLowerCase();
                    
                    // Find activities that match both the type and location
                    activity = pageActivities.find(act => {
                        const actLower = act.title.toLowerCase();
                        return actLower.includes(activityType) && actLower.includes(location);
                    });
                    
                    // If no match, try finding activities with just the location part
                    if (!activity && location.length > 5) {
                        activity = pageActivities.find(act => 
                            act.title.toLowerCase().includes(location)
                        );
                    }
                }
            }
            
            // Try word-based matching as a fallback
            if (!activity) {
                const titleWords = trimmedTitle.toLowerCase().split(/\s+/).filter(word => word.length > 3);
                if (titleWords.length >= 2) {
                    // Look for activities containing the most significant words
                    activity = pageActivities.find(act => {
                        const actLower = act.title.toLowerCase();
                        // Prioritize matches with location-specific words
                        const locationWords = titleWords.filter(word => 
                            !['hiking', 'diving', 'surfing', 'skiing', 'climbing', 'biking', 'rafting', 'sailing'].includes(word)
                        );
                        
                        if (locationWords.length > 0) {
                            // Check if activity contains the location words
                            return locationWords.every(word => actLower.includes(word));
                        } else {
                            // Check if activity contains at least 2 significant words from the title
                            const matchingWords = titleWords.filter(word => actLower.includes(word));
                            return matchingWords.length >= Math.min(2, titleWords.length);
                        }
                    });
                }
            }
            
            // Very last resort - partial match on beginning of string
            if (!activity && trimmedTitle.length > 5) {
                activity = pageActivities.find(act => 
                    act.title.toLowerCase().includes(trimmedTitle.toLowerCase().substring(0, 10))
                );
            }
            
            if (!activity) {
                console.warn('Activity not found:', trimmedTitle);
            } else {
                console.log('Found activity:', activity.title);
            }
            
            return activity ? createActivityComponent(activity) : '';
        }).filter(c => c !== '');

        // Build the final response
        let finalHtml = '';
        if (introText) {
            finalHtml += `<p class="suggestion-intro">${introText}</p>`;
        }
        
        if (activityComponents.length === 0 && activityNames.length > 0) {
            // If we had activity names but couldn't match any, show a helpful message
            finalHtml += '<p>I found some activities but couldn\'t match them exactly. Please try being more specific or use different keywords.</p>';
        } else {
            finalHtml += activityComponents.join('');
        }
        
        if (closingText) {
            finalHtml += `<p>${closingText}</p>`;
        }
        
        return finalHtml;
    }

    function sendMessage() {
        var question = chatInput.value.trim();
        if (!question || pageActivities.length === 0) return;

        chatInput.disabled = true;
        chatSend.disabled = true;
        addMessage(question, true);
        chatInput.value = '';
        var typingId = 'typing-' + Date.now();
        addMessage('<div class="typing-indicator"><span></span><span></span><span></span></div>', false, typingId);

        // Create activity list with location information
        let activityListText = 'Available activities with their locations:\n' + 
            pageActivities.map(act => `${act.title} (${act.country})`).join('\n');
        
        // Check if user is asking for suggestions/recommendations
        const suggestionKeywords = ['suggest', 'recommend', 'ideas', 'inspiration', 'what should', 'help me choose', 'don\'t know', 'surprise me', 'random', 'popular', 'best', 'top'];
        const isAskingForSuggestion = suggestionKeywords.some(keyword => question.toLowerCase().includes(keyword));
        
        // Enhanced system message that handles both queries and suggestions
        var systemMessage = {
            role: 'system',
            content: 'You are a travel assistant. You help users find outdoor activities and make suggestions when asked.\n\n' +
                'AVAILABLE ACTIVITIES:\n' + activityListText + '\n\n' +
                'SPECIAL RESPONSES:\n' +
                '1. When users say "thank you", "thanks", or express gratitude, respond ONLY with a polite message like "You\'re welcome!", "Happy to help!", "My pleasure!", or "Glad I could assist you!" - DO NOT include any activity names.\n' +
                '2. When users ask about getting listed on Outdoor Ninja, being featured, adding their business, or becoming a partner, respond ONLY with: "To get listed on Outdoor Ninja, please use our contact form." - DO NOT include any activity names or URLs.\n' +
                '3. For general greetings, help offers, or conversational messages (like "hello", "hi", "how are you"), respond conversationally without listing activities.\n' +
                '4. For special responses and general conversation, DO NOT format as a list of activities. Just provide the response text.\n' +
                '5. When providing explanations or discussing activities conceptually (not listing specific activities), respond conversationally without the SUGGESTION format.\n\n' +
                'CONTEXT AWARENESS:\n' +
                '- Consider the conversation history to understand ambiguous questions\n' +
                '- "What should I give you?" from a user likely means what information they should provide for recommendations\n' +
                '- "What do you need?" or similar questions are likely asking about what information would help you provide better recommendations\n' +
                '- Only interpret questions as listing inquiries if they explicitly mention "list my business", "become a partner", "add my company", "get featured", etc.\n' +
                '- When in doubt about context, ask for clarification rather than assuming\n' +
                '- Consider the flow of conversation - if discussing recommendations, continue in that context\n' +
                '- PAY ATTENTION TO NEGATIVE CONSTRAINTS: If user says "NOT [country/location]" or "no [country/location]", NEVER include activities from that location\n\n' +
                'INSTRUCTIONS:\n' +
                '1. Detect if the user is asking for suggestions/recommendations using keywords like: suggest, recommend, ideas, inspiration, what should, help me choose, surprise me, random, popular, best, top\n' +
                '2. For SPECIFIC QUERIES (location/activity type):\n' +
                '   - If query mentions a location, only return activities from that location\n' +
                '   - If query mentions an activity type, only return activities of that type\n' +
                '   - If query mentions BOTH, return activities matching BOTH\n' +
                '3. For SUGGESTIONS/RECOMMENDATIONS:\n' +
                '   - If no specific criteria given, suggest 5-7 diverse activities from different countries\n' +
                '   - If user mentions preferences (e.g., "water activities", "Europe", "extreme sports"), filter suggestions accordingly\n' +
                '   - CRITICAL: If user says "NOT [location]" or excludes a location, NEVER include activities from that location\n' +
                '   - Start response with "SUGGESTION: " followed by a brief intro like "Here are some exciting adventures you might enjoy!"\n' +
                '   - Mix different types of activities (water, air, land, etc.) for variety\n' +
                '   - Prioritize activities with multiple outfitters when possible\n' +
                '   - ALWAYS suggest activities from DIFFERENT countries unless specifically asked for one location\n\n' +
                'GEOGRAPHY KNOWLEDGE:\n' +
                '- Asia includes: Japan, China, India, Thailand, Indonesia, Vietnam, Nepal, Sri Lanka, Philippines, Malaysia, Singapore, South Korea, Pakistan, Bangladesh, Myanmar, Cambodia, Laos, Mongolia, and other Asian countries\n' +
                '- Europe includes: France, Germany, Italy, Spain, UK, Switzerland, Norway, Sweden, Denmark, Netherlands, Belgium, Austria, and other European countries\n' +
                '- Africa includes: South Africa, Egypt, Morocco, Kenya, Tanzania, Ethiopia, Ghana, Nigeria, and other African countries\n' +
                '- Americas includes: USA, Canada, Mexico, Brazil, Argentina, Chile, Peru, Colombia, and other American countries\n' +
                '- Activity types: water (diving, surfing, kayaking), air (paragliding, skydiving, ballooning), land (hiking, climbing, biking), snow (skiing, snowboarding), extreme (bungee, zip-line)\n\n' +
                'CRITICAL OUTPUT RULES:\n' +
                '- For activity recommendations/suggestions:\n' +
                '  - You may include introductory text before the SUGGESTION line\n' +
                '  - Include "SUGGESTION:" followed by a brief encouraging message\n' +
                '  - List each activity on its own line\n' +
                '  - You may include closing text after the activity list\n' +
                '  - Example format:\n' +
                '    For adrenaline seekers, here are some options:\n' +
                '    SUGGESTION: Get ready for excitement!\n' +
                '    Skydiving over the Austrian Alps\n' +
                '    Bungee Jumping in Queenstown\n' +
                '    Let me know if you need more info!\n' +
                '- You MUST only suggest activities that EXACTLY exist in the available activities list\n' +
                '- Copy activity names EXACTLY as they appear in the list - do not create or modify activity names\n' +
                '- Before suggesting an activity, verify it exists in the list by checking the full activity name\n' +
                '- DO NOT suggest generic activities like "Hiking in the Himalayas in Ladakh" if the exact activity is "Hiking the Himalayas in Ladakh"\n' +
                '- DO NOT add "in [location]", "(Country)", or any other modifications to the activity names\n' +
                '- DO NOT add bullet points (-, •), dashes, or numbers before activity names\n' +
                '- DO NOT paraphrase or reword activity names\n' +
                '- IMPORTANT: Remove ALL location/country information from activity names:\n' +
                '  - If the activity is "Bungee Jumping in Baños de Agua Santa (Ecuador)" in the list, write only "Bungee Jumping in Baños de Agua Santa"\n' +
                '  - If the activity is "Skydiving over the Austrian Alps (Austria)" in the list, write only "Skydiving over the Austrian Alps"\n' +
                '  - Remove (Country), (City), "in Country", etc. from ALL activity names\n' +
                '- Each activity name on a new line with NO prefixes\n' +
                '- If no matches, return: None'
        };

        // Build messages with recent conversation context
        var messages = [systemMessage];
        
        // Include last 2-3 exchanges for context (max 6 messages)
        if (chatHistory && chatHistory.length > 0) {
            var contextMessages = [];
            var recentHistory = chatHistory.slice(-3); // Get last 3 exchanges
            
            recentHistory.forEach(function(exchange) {
                if (exchange.question && exchange.answer) {
                    contextMessages.push({ role: 'user', content: exchange.question });
                    contextMessages.push({ role: 'assistant', content: exchange.answer });
                }
            });
            
            // Add context messages if any exist
            if (contextMessages.length > 0) {
                messages = messages.concat(contextMessages);
            }
        }
        
        // Add current question
        messages.push({ role: 'user', content: question });

        callOpenAI(messages).then(aiResponse => {
            console.log('AI Response:', aiResponse);
            var typingMsg = document.getElementById(typingId);
            if (typingMsg) typingMsg.remove();
            
            // Store the raw response in chat history for context
            chatHistory.push({ question: question, answer: aiResponse });
            
            // Keep chat history to a reasonable size (last 10 exchanges)
            if (chatHistory.length > 10) {
                chatHistory = chatHistory.slice(-10);
            }

            var formattedResponse = formatResponse(aiResponse, isAskingForSuggestion);
            console.log('Formatted Response:', formattedResponse);
            addMessage(formattedResponse, false);
            
            chatInput.disabled = false;
            chatSend.disabled = false;
            chatInput.focus();
        }).catch(error => {
            console.error('Error in sendMessage:', error);
            var typingMsg = document.getElementById(typingId);
            if (typingMsg) typingMsg.remove();
            addMessage('<p>Sorry, an error occurred. Please try again.</p>', false);
            chatInput.disabled = false;
            chatSend.disabled = false;
        });
    }

    // Event listeners and Initialization
    chatClose.addEventListener('click', () => toggleChat(false));
    chatToggle.addEventListener('click', () => toggleChat(true));
    chatSend.addEventListener('click', sendMessage);
    chatInput.addEventListener('keypress', e => { if (e.key === 'Enter') { e.preventDefault(); sendMessage(); } });

    var wasClosed = localStorage.getItem('outdoorNinjaChatClosed') === 'true';
    toggleChat(!wasClosed);
    addMessage('<div class="msg msg-bot"><div class="bubble"><p>Loading activities...</p></div></div>');

    loadActivitiesFromJSON().then(success => {
        chatBody.innerHTML = '';
        if (success) {
            let totalOutfitters = Object.values(activityOutfitters).reduce((sum, val) => sum + val.count, 0);
            addMessage(`<p>Welcome! I can help you explore <strong>${pageActivities.length}</strong> activities across <strong>${countriesList.length}</strong> destinations.<br><br>You can ask me about specific locations or activities, or I can <strong>suggest some adventures</strong> for you!<br><br>Try asking:<br>• "What air activities are in Asia?"<br>• "Suggest some water adventures"<br>• "Give me some random recommendations"</p>`, false);
            chatInput.disabled = false;
            chatSend.disabled = false;
            if (!wasClosed) chatInput.focus();
        } else {
            addMessage('<p>Sorry, I could not load the activities from the website. Please refresh the page and try again.</p>', false);
        }
    }).catch(error => {
        console.error('Error in initialization:', error);
        chatBody.innerHTML = '';
        addMessage('<p>Sorry, there was an error loading the chatbot. Please refresh the page and try again.</p>', false);
    });

})();
</script>


</div></div>
</section>    <script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/plugins/breakdance/plugin/themeless/themes/breakdance-zero/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<style id='global-styles-inline-css' type='text/css'>
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */
</style>
<script id="wp-emoji-settings" type="application/json">
{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://outdoor.ninja/wp-includes/js/wp-emoji-release.min.js?ver=6.9.4"}}
</script>
<script type="module">
/* <![CDATA[ */
/*! This file is auto-generated */
const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});
//# sourceURL=https://outdoor.ninja/wp-includes/js/wp-emoji-loader.min.js
/* ]]> */
</script>
<script src='https://outdoor.ninja/wp-content/plugins/breakdance/plugin/global-scripts/breakdance-utils.js?bd_ver=2.3.1' defer></script>
<script>document.addEventListener('DOMContentLoaded', function(){     if (!window.BreakdanceFrontend) {
        window.BreakdanceFrontend = {}
    }

    window.BreakdanceFrontend.data = {"homeUrl":"https:\/\/outdoor.ninja","ajaxUrl":"https:\/\/outdoor.ninja\/wp-admin\/admin-ajax.php","elementsPluginUrl":"https:\/\/outdoor.ninja\/wp-content\/plugins\/breakdance\/subplugins\/breakdance-elements\/","BASE_BREAKPOINT_ID":"breakpoint_base","breakpoints":[{"id":"breakpoint_base","label":"Desktop","defaultPreviewWidth":"100%"},{"id":"breakpoint_tablet_landscape","label":"Tablet Landscape","defaultPreviewWidth":1024,"maxWidth":1119},{"id":"breakpoint_tablet_portrait","label":"Tablet Portrait","defaultPreviewWidth":768,"maxWidth":1023},{"id":"breakpoint_phone_landscape","label":"Phone Landscape","defaultPreviewWidth":480,"maxWidth":767},{"id":"breakpoint_phone_portrait","label":"Phone Portrait","defaultPreviewWidth":400,"maxWidth":479}],"subscriptionMode":"pro"} }) </script>
<script>document.addEventListener('DOMContentLoaded', function(){ 

 }) </script>
    </body>
    </html>
    