


<!DOCTYPE html>
<html id="html" lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="icon" href="/global/icons/favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="/global/icons/favicon.ico" type="image/vnd.microsoft.icon">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-precomposed.png">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-72x72-precomposed.png" sizes="72x72">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-76x76-precomposed.png" sizes="76x76">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-114x114-precomposed.png" sizes="114x114">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-120x120-precomposed.png" sizes="120x120">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-144x144-precomposed.png" sizes="144x144">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-152x152-precomposed.png" sizes="152x152">
    <link rel="apple-touch-icon-precomposed" href="/global/icons/apple-touch-icon-180x180-precomposed.png" sizes="180x180">
    <link rel="icon" href="/global/icons/touch-icon-192x192.png" sizes="192x192">
    



    <script>
        function getCookie(cName) {
            let name = cName + "=";
            let decodedCookie = decodeURIComponent(document.cookie);
            let ca = decodedCookie.split(';');
            for (const element of ca) {
                let c = element.trim();
                if (c.indexOf(name) === 0) {
                    return c.substring(name.length);
                }
            }
            return "";
        }

        const regionCookieName = "STYXKEY-region";
        const regionCookie = getCookie(regionCookieName) || "nam";

        const registerCookieName = "register-account-session";
        if (document.referrer === '' || document.referrer.indexOf(window.location.host) === -1) {
            document.cookie = registerCookieName + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }
        const registerSession = getCookie(registerCookieName);
        let loggedinStatus = 'guest';
        const profileId = '';
        const role = '';

        if (registerSession) {
            loggedinStatus = 'new-profile';
        }

        window.dataLayer = window.dataLayer || [];
        let userProfile = {
            id: profileId,
            role: role
        };
        window.dataLayer.push({
            site: {
                region: regionCookie,
                pillar: 'NONE',
                page_type: ''
            },
            user: {
                status: loggedinStatus,
                profile: userProfile
            }
        });
    </script>

    <script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied',
  'wait_for_update': 1000
});
</script><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://analytics.sagepub.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5R9QN8');</script><script charset="UTF-8" data-domain-script="01903b90-3e97-7898-87a2-6ece9db5ebc6" src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" type="text/javascript"></script><script type="text/javascript">
function OptanonWrapper() {
    const event = new Event('onetrustloaded');
    document.dispatchEvent(event);
    window.OneTrustLoaded = true;
 }
</script><script>
    !function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="Mi Ri init Vi Gi Rr Wi Ji Bi capture calculateEventProperties tn register register_once register_for_session unregister unregister_for_session an getFeatureFlag getFeatureFlagPayload getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey cancelPendingSurvey canRenderSurvey canRenderSurveyAsync un identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset setIdentity clearIdentity get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException addExceptionStep captureLog startExceptionAutocapture stopExceptionAutocapture loadToolbar get_property getSessionProperty nn Xi createPersonProfile setInternalOrTestUser sn Hi cn opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Ki debug Lr rn getPageViewId captureTraceFeedback captureTraceMetric Di".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
    posthog.init('phc_lRjLLAqY28nfIBUvd29OG31zhVGnTB70hKWzE6uAtDS', {
        api_host: 'https://eu.i.posthog.com',
        defaults: '2026-01-30',
        person_profiles: 'identified_only', // or 'always' to create profiles for anonymous users as well
    })
</script><title>404 - Page Not Found</title><meta property='og:title' content='404 - Page Not Found'><meta property='og:description' content='404 - Page Not Found'><meta name='description' content='404 - Page Not Found'><link rel='canonical' href='https://www.sagepub.com/404' /><meta name="robots" content="noindex" />
    
    
        <link rel="stylesheet" href="/global/styles/main.min.css?v=8yb5ornqfvaBydN8fMG4iATbZzA7PNDLDLVrPsO0eFc" type="text/css">
    
    
    

<meta property="application-name" content="sfSageApp" data-service-path="api/default" />

<script defer type="text/javascript">
    // This script is dynamically injected based on the configuration setting.
</script>
</head>

<body><noscript><iframe src="https://analytics.sagepub.com/ns.html?id=GTM-5R9QN8" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><script id="-1793211159" src="/sfrenderer/scripts/DarkModeToggle/default.min.js?assembly_name=CoreWeb.Sitefinity.Widgets&amp;package_name=Global&amp;version=555345334" type="text/javascript"></script>
    <div id="header" class="sticky-top">


<header>
    <button type="button" class="btn btn-sm btn-skip visually-hidden-focusable" id="skipToMain">Skip to main content</button>
    <div class="header_upper">
        <div class="container">
            <button class="navbar-toggler"
                    type="button"
                    data-bs-toggle="collapse"
                    data-bs-target="#navbarSupportedContent"
                    aria-controls="navbarSupportedContent"
                    aria-expanded="false"
                    aria-label="Toggle navigation">
                <span class="navbar-toggler-icon">
                    <svg xmlns="http://www.w3.org/2000/svg"
                         viewBox="0 0 32 32"
                         fill="none">
                        <path fill-rule="evenodd"
                              clip-rule="evenodd"
                              d="M2.66663 2.66667H29.3333V5.33334H2.66663V2.66667ZM2.66663 14.6667H24V17.3333H2.66663V14.6667ZM18.6666 26.6667H2.66663V29.3333H18.6666V26.6667Z"
                              fill="white"></path>
                    </svg>
                </span>
            </button>
            <div class="logo">

            <a href="/home" class="d-inline-block" >
            <span>
                <img  width=105 height=35 loading="lazy" class="img-fluid" src="/images/default-source/logos/sage-publishing.svg?sfvrsn=a930a4bd_0" alt="Sage Publishing" >
            </span>
            </a>
</div>
            <div class="header_content">
                <div></div>
                <div class="header_buttons"></div>
            </div>
        </div>
    </div>

    <div class="header_lower">
        <nav class="headernav navbar navbar-expand-xl" aria-label="Main">
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
                <div class="navbar-mobile-heading bg-primary d-xl-none">
                    <div class="container d-flex justify-content-between align-items-center">
                        <div class="h-m">Menu</div>
                        <button class="btn close"
                                type="button"
                                data-bs-toggle="collapse"
                                data-bs-target="#navbarSupportedContent"
                                aria-controls="navbarSupportedContent"
                                aria-expanded="false"
                                aria-label="Toggle navigation">
                            <svg width="24"
                                 height="24"
                                 viewBox="0 0 24 24"
                                 fill="none"
                                 xmlns="http://www.w3.org/2000/svg">
                                <path fill-rule="evenodd"
                                      clip-rule="evenodd"
                                      d="M12.0001 13.4143L20.293 21.7072L21.7072 20.293L13.4143 12.0001L21.7072 3.70718L20.293 2.29297L12.0001 10.5859L3.70718 2.29297L2.29297 3.70718L10.5859 12.0001L2.29297 20.293L3.70718 21.7072L12.0001 13.4143Z"
                                      fill="#D9EEFF"></path>
                            </svg>
                        </button>
                    </div>
                </div>

                <div class="container">
                    <div></div>
                    <div class="header_search d-none d-xl-block"></div>
                </div>
            </div>
        </nav>
    </div>
</header></div>
    <main id="main">
<section>
<div >
    <div class="banner banner-error">
        <div class="container" style="background-image: url('/images/default-source/default-album/404.png?sfvrsn=c3b20f02_0');">
            <div class="z-1">
                <h1>Oops...</h1><h2>Error 404 - Page not found</h2><div>This page doesn’t exist or has been removed. Here are some options that might help you get back on track:</div>
                <ul>
                        <li><a href="/home">Return to Sage Homepage</a></li>
                        <li><a href="javascript:history.back();">Return to previous page</a></li>
                </ul>
            </div>
        </div>
    </div>
</div></section></main>
    <div id="footer">

<footer class="d-print-none">
    <div class="container">
        <div class="footer_upper">
            <div></div>
            <div></div>
        </div>
        <div class="footer_main">



    


<div id="dark-mode-toggle-wrapper" class="gbl-dark-mode-toggle d-flex align-items-center">
    <span>Dark mode</span>
    <div class="form-check form-switch">
        <input class="form-check-input" type="checkbox" id="dark-mode-toggle" aria-checked="false">
        <label class="form-check-label" for="dark-mode-toggle">
            <span data-sf-role="sf-dark-mode-off-indicator"><span class="visually-hidden">Dark Mode</span>OFF</span>
            <span data-sf-role="sf-dark-mode-on-indicator" class="d-none"><span class="visually-hidden">Dark Mode</span>ON</span>
        </label>
    </div>
</div></div>
        <div class="footer_lower">


<div  class="d-flex align-items-center text-start">
            <a href="#" data-target="body" class="btn btn-primary btn-sm btn-top" data-smooth-scroll >
                Back to top
            </a>
</div>





    

</div>
    </div>
</footer></div>
    <script src="//www.google.com/books/jsapi.js" type="text/javascript"></script>
    <script src="/global/js/coreweb-design.js?v=u2-_bVlh3glW7GR3BaIQ_HlSlUNp7r5IWvmM0uQ_ymg"></script>
    <script src="/global/js/main.min.js?v=0AkU1zgv41Z2H9zyt4tEvFVdgpAYIT8HmGsofq_yp8A"></script>
    
<script id="vue-hawksearch-sorting" type="text/x-template">
    <div class="hawk-sorting d-flex align-items-center justify-content-end">
        <label for="sorting" class="col-form-label d-none d-md-block me-2 text-nowrap">{{ $t('Sort By') }}</label>
        <select name="sorting" id="sorting" v-on:change="onChange" class="form-select">
            <option v-for="sortingItem in sortingItems" :key="sortingItem.Value" :value="sortingItem.Value" :selected="sortingItem.Selected">
                {{ sortingItem.Label }}
            </option>
        </select>
    </div>

</script>

<script id="vue-hawksearch-tool-row" type="text/x-template">
    <div class="hawk-results__bottom-tool-row">
        <div v-if="searchOutput" class="hawk-tool-row row" v-on:click="onClick">
            <div class="col-md-12 hawk-tool-row__item">
                <pagination />
            </div>
        </div>
    </div>
</script>

<script id="vue-hawksearch-load-more" type="text/x-template">
    <div class="text-center">
        <button class="btn btn-primary" v-if="!noMoreResults" v-on:click="loadMoreResults">Load More</button>
    </div>
</script>

<script id="vue-hawksearch-pagination" type="text/x-template">
    <div class="hawk-pagination">
        <div>
            <items-per-page />
        </div>
        <div>
            <pager />
        </div>
    </div>
</script>

<script id="vue-hawksearch-pager" type="text/x-template">
    <ul class="d-flex pagination">
        <li class="page-item text-center">
            <input type="number" :value="page" v-on:change="onChange"
                   :class="hasError ? 'hawk-pagination__input form-control error' : 'hawk-pagination__input form-control'"
                   min="1"
                   :max="totalPages"
                   :aria-label="`Current page (${page} of ${totalPages})`" />
            <span class="hawk-pagination__total-text"><span class="break"></span> of {{ totalPages }}</span>
        </li>
        <li class="page-item">
            <template v-if="isLink">
                <a class="link-button page-link" :href="previousPageLink" aria-label="Previous">
                    <span aria-hidden="true">&laquo;</span>
                </a>
            </template>
            <template v-else>
                <button class="link-button page-link" v-on:click="goToPreviousPage" aria-label="Previous">
                    <span aria-hidden="true">&laquo;</span>
                </button>
            </template>
        </li>
        <li class="page-item">
            <template v-if="isLink">
                <a class="link-button page-link" :href="nextPageLink" aria-label="Next">
                    <span aria-hidden="true">&raquo;</span>
                </a>
            </template>
            <template v-else>
                <button class="link-button page-link" v-on:click="goToNextPage" aria-label="Next">
                    <span aria-hidden="true">&raquo;</span>
                </button>
            </template>
        </li>
    </ul>
</script>

<script id="vue-hawksearch-items-per-page" type="text/x-template">
    <div class="d-flex hawk-items-per-page">

        <select :value="pagination.MaxPerPage" v-on:change="onChange" class="form-select" aria-label="Items per page">
            <option v-for="paginationItem in paginationItems" :key="paginationItem.PageSize" :value="paginationItem.PageSize">
                {{ paginationItem.Label }}
            </option>
        </select>
    </div>
</script>

<script id="vue-hawksearch-facet-list" type="text/x-template">
    <div v-if="!waitingForInitialSearch">
        <selections />
        <div class="facet-list">
            <template v-if="facets && facets.length">
                <facet v-for="facetData in facets" :key="facetData.FacetId" :facet-data="facetData"></facet>
            </template>
            <template v-else-if="loadingResults">
                <placeholder-facet v-for="index in 4" :key="index"></placeholder-facet>
            </template>
            <template v-else="">
                <div class="hawk-facet-rail_empty"></div>
            </template>
        </div>
    </div>
</script>

<script id="vue-hawksearch-nested-checkbox" type="x-template">
    <template>
        <div class="hawk-facet-rail__facet-values" :data-facettype="facetData.Name" >
            <div class="hawk-facet-rail__facet-values-checkbox">
                <div class="list-group mt-3">
                    <nested-item v-for="item in items" :key="item.Value" :item-data="item" :facet-data="facetData" ></nested-item>
                </div>
            </div>
            <slot></slot>
        </div>
    </template>
</script>

<script id="vue-hawksearch-nested-item" type="x-template">
    <template>
        <div class="list-group-item">
            <div class="d-flex">
                <button class="btn p-0" v-if="itemData.Children && itemData.Children.length"
                    :aria-expanded="isExpanded ? true : false"
                    v-on:click="toggleExpanded">
                        <i v-if="isExpanded" class="bi bi-dash"></i>
                        <i v-if="!isExpanded" class="bi bi-plus"></i>
                </button>
                <label class="d-flex justify-content-between align-items-center w-100">
                    <div class="d-flex align-items-center">
                        <input type="checkbox" :id="itemData.Value" :checked="itemData.Selected" v-on:change="selectFacet(itemData)" :class="itemData.Children.length > 0 ? 'form-check-input me-2' : 'form-check-input me-2 ms-4'">
                        <span>{{ itemData.Label.split("--")[0] }}</span>
                    </div>
                    <span class="ps-2 text-body text-opacity-75">{{ itemData.Count }}</span>
                </label>
            </div>
            <div v-if="isExpanded && itemData.Children" class="ps-4">
                <div class="list-group">
                    <nested-item v-for="item in itemData.Children" :key="item.Value" :item-data="item" :facet-data="facetData" />
                </div>
            </div>
        </div>
    </template>
</script>

<script id="vue-hawksearch-facet" type="text/x-template">
    <div :id="`${facetData.Name.toLowerCase()}-accordion`" class="accordion border-0">
        <div class="accordion-item border-0 mb-1">
            <div class="accordion-header" :id="`${facetData.Name.replaceAll(' ','-').toLowerCase()}-heading`">
                <button class="accordion-button bg-gray-100 p-3 rounded-3" type="button" data-bs-toggle="collapse" :data-bs-target="`#${facetData.Name.replaceAll(' ','-').toLowerCase()}-collapse`" aria-expanded="true" :aria-controls="`${facetData.Name.replaceAll(' ','-').toLowerCase()}-collapse`">
                    {{ sageHw.splitCamelCase(facetData.Name) }}
                </button>
            </div>
            <div :id="`${facetData.Name.replaceAll(' ','-').toLowerCase()}-collapse`" class="accordion-collapse collapse show" :aria-labelledby="`${facetData.Name.replaceAll(' ','-').toLowerCase()}-heading`" :data-bs-parent="`#${facetData.Name.replaceAll(' ','-').toLowerCase()}-accordion`">
                <div class="accordion-body p-0">
                    <div v-if="shouldSearch" class="hawk-facet-rail__facet__quick-lookup d-none">
                        <input v-model="filter" v-on:input="setFilter" type="text" />
                    </div>
                    <template v-if="filteredData">
                        <component :is="componentName" :facet-data="filteredData" :data-name="componentName">
                            <button v-if="truncateVisible" v-on:click="toggleTruncate" class="btn btn-link hawk-facet-rail__show-more-btn">
                                <template v-if="isTruncated">
                                    (+) Show {{ remainingFacets }} More
                                </template>
                                <template v-else>
                                    (-) Show Less
                                </template>
                            </button>
                        </component>
                    </template>
                </div>
            </div>
        </div>
    </div>
</script>

<script id="vue-hawksearch-checkbox" type="text/x-template">
    <div class="card-text">
        <div class="hawk-facet-rail__facet-values-checkbox">
            <div class="list-group my-2">
                <label class="list-group-item d-flex justify-content-between align-items-center w-100" v-for="value in items" :key="value.Value">
                    <div class="d-flex align-items-center">
                        <input type="checkbox" :id="value.Value" :checked="value.Selected" v-on:change="selectFacet(value)" class="form-check-input me-2">
                        <span>{{ value.Label }}</span>
                    </div>
                    <span class="ps-2 text-body text-opacity-75">{{ value.Count }}</span>
                </label>
            </div>
        </div>
        <slot></slot>
    </div>
</script>


<script id="vue-hawksearch-selections" type="text/x-template">
    <div v-if="hasSelections" class="hawk-facet-rail__selections">
        <h4>{{ $t("You've Selected") }}</h4>
        <ul class="hawk-selections">
            <li v-for="(data, field) in selections" :key="field" class="hawk-selections__category">
                <div class="hawk-selections__category-wrapper">
                    <span class="hawk-selections__category-name">{{ data.Label }}:</span>
                    <ul class="hawk-selections__item-list">
                        <li v-for="item in data.Items" :key="item" class="hawk-selections__item">
                            <button v-on:click="clearSelectionItem(field, item)" class="hawk-selections__item-remove">
                                <x-circle-svg></x-circle-svg>
                            </button>
                            <span :class="itemClass(item)">
                                <template v-if="getFacetType(field) == 'range'">
                                    {{ rangeLabel(item.Label) }}
                                </template>
                                <template v-else>
                                    {{ item.Label }}
                                </template>
                            </span>
                        </li>
                    </ul>
                </div>
                <button v-on:click="clearSelectionField(field)" class="hawk-selections__category-remove">
                    <x-circle-svg></x-circle-svg>
                </button>
            </li>
            <li class="hawk-selections__category">
                <button v-on:click="clearAll" class="hawk-btn hawk-btn-primary-outline">
                    {{ $t("Clear All") }}
                </button>
            </li>
        </ul>
        <p class="tab-selection">{{ tabSelection.Label }}</p>
    </div>
</script>


<script id="vue-hawksearch-tabs" type="text/x-template">
    <div v-if="facet" class="results-tabs">
        <ul class="nav nav-tabs">
            <li class="nav-item" v-on:click="sageHw.onTabClick(onClick, tabs)" v-on:keydown="sageHw.onTabKeyDown">
                <button class="nav-link" data-sf-role="hw-all-tab">All content</button>
            </li>
            <li v-for="tab in tabs" :class="tabClasses(tab)" v-on:click="sageHw.onTabClick(onClick, tab)" v-on:keydown="sageHw.onTabKeyDown">
                <button class="nav-link">{{ sageHw.trimLabel(tab.Label) }}</button>
            </li>
        </ul>
    </div>
</script>

<script id="vue-hawksearch-search-suggestions" type="text/x-template">
    <div class="hawk-autosuggest-menu shadow-5 z-3 border-0" id="hawksearch-search-suggestions" role="listbox" aria-label="Search results">
        <template v-if="fieldFocused && (loadingSuggestions || suggestions)">
            <div class="hawk-autosuggest-menu__list hawk-autosuggest-outer-list hawk-dropdown-menu list-unstyled m-0">
                <template v-if="loadingSuggestions">
                    <div class="hawk-autosuggest-menu__item px-2">
                        <span>{{ $t('Loading') }}...</span>
                    </div>
                </template>
                <template v-else-if="suggestions.Products.length">
                    <div>
                        <ul class="hawk-autosuggest-inner-list list list-unstyled m-0">
                            <suggestion-item v-for="item in suggestions.Products" :item="item" :key="item.Results.DocId" v-on:itemselected="onItemSeleted"></suggestion-item>
                        </ul>
                    </div>
                </template>
                <template v-else>
                    <div class="hawk-autosuggest-menu__item px-2">{{ $t('No Results') }}</div>
                </template>
            </div>
        </template>
    </div>
</script>

<script id="vue-hawksearch-suggestion-item" type="text/x-template">
    <li>
        <a :href="getField('pageurl')" class="p-2" data-sf-role="hawksearch-suggestion-item">
            <div class="row">
                <div class="col-3">
                    <img :src="getField('imageurl') ?? getField('thumbnailurl') ?? '/placeholder.svg'"
                         alt=""
                         onload="sageHw.alertResults()"
                         width="61" height="75" class="w-100 h-auto"
                         :data-fallback="getField('thumbnailurl')"
                         data-placeholder="/global/styles/images/placeholders/generic.svg">
                </div>
                <div class="col-9 ps-0">
                    <p class="text-m">
                        <span>{{ getField('metatitle') ?? getField('title') }}</span>
                        <br>
                        <span class="fw-bold">[{{ sageHw.trimLabel(getField('contenttype')) }}]</span>
                    </p>
                </div>
            </div>
        </a>
    </li>
</script>

<script id="vue-hawksearch-search-box" type="text/x-template">
    <div class="hawk__searchBox">
        <form role="search">
            <div class="input-group">
                <input type="text"
                       class="form-control"
                       :placeholder="$root.$el.attributes['data-search-placeholder'].value"
                       aria-label="Global search"
                       v-model="keyword"
                       v-on:input="onInput"
                       v-on:keydown="sageHw.onKeyDownCustom($event, $root)"
                       aria-expanded="false"
                       aria-controls="hawksearch-search-suggestions"
                       aria-autocomplete="list" />
                <button type="button" v-on:click="sageHw.onSearchPress($event, $root)">
                    <svg xmlns="http://www.w3.org/2000/svg"
                         role="button"
                         viewBox="0 0 20 20"
                         fill="none"
                         style="width:19px">
                        <path d="M19 19L13 13"
                              stroke="#333333"
                              stroke-width="2"></path>
                        <circle cx="8"
                                cy="8"
                                r="7"
                                stroke="#333333"
                                stroke-width="2"></circle>
                    </svg>
                    <span class="visually-hidden">Search</span>
                </button>
                <search-suggestions :field-focused="fieldFocused"></search-suggestions>
            </div>
        </form>
    </div>
</script>

<script id="vue-hawksearch-search-results-label" type="text/x-template">
    <div v-if="searchOutput && searchOutput.Pagination && searchOutput.Pagination.NofResults != 0">
        <h2 class="h-m mb-3 mb-md-0">
            <span>
                {{ searchOutput.Pagination.NofResults }}
            </span> {{ $t('Search Results') }}
            <span v-if="keyword"> {{ $t('for') }} {{ keyword }} </span>
        </h2>
        <div role="status" aria-live="polite" aria-atomic="true" class="visually-hidden">
            <span>{{ searchOutput.Pagination.NofResults }} Search results returned</span>
            <span v-if="keyword"> {{ $t('for') }}: {{ keyword }} </span>
        </div>
    </div>
</script>

<script id="vue-hawksearch-results" type="text/x-template">
    <div class="hawk-results" v-on:click="onClick">
        <autocorrect-suggestions />
        <div class="row mb-3">
            <div class="col">
                <template v-if="!waitingForInitialSearch">
                    <tabs></tabs>
                </template>
            </div>
        </div>

        <div class="row mb-3 mb-md-3 align-items-center">
            <div class="col-md-8">
                <search-results-label />
            </div>
            <div class="filters col-md-4">
                <div class="row">
                    <div class="col">
                        <div v-if="searchOutput">
                            <sorting />
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <hr />

        <div class="row">
            <div class="col-md-3">
                <div class="d-flex justify-content-between align-items-center mb-3">
                    <button type="button" class="btn-filters text-start d-none d-md-block" id="btn-hide-filters" v-on:click="sageHw.hideFilters">Hide filters</button>
                    <button type="button" class="btn-filters text-start d-none" id="btn-show-filters" v-on:click="sageHw.showFilters">Show filters</button>
                    <button type="button" class="btn-filters d-md-none" data-bs-toggle="collapse" data-bs-target="#searchFilters" aria-controls="searchFilters" aria-expanded="false" aria-label="Toggle mobile filters">
                        Show Filters
                    </button>
                    <a class="text-m d-none d-md-block" href="#" id="btn-clear-filters" v-on:click="sageHw.resetPageClick">Clear filters</a>
                </div>
            </div>
            <div class="col-md-9 d-none d-md-flex justify-content-md-end align-items-md-center">
                <div class="filter-view">
                    <span>View:</span>
                    <button aria-label="View results as grid" type="button" class="btn" label="Grid" v-on:click="sageHw.swapToGridView" id="btn-change-grid-view" data-view-status="active">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path id="grid-icon" fill-rule="evenodd" clip-rule="evenodd" d="M4 4H9.5V9.5H4V4ZM2 2H4H9.5H11.5V4V9.5V11.5H9.5H4H2V9.5V4V2ZM14.5 4H20V9.5H14.5V4ZM12.5 2H14.5H20H22V4V9.5V11.5H20H14.5H12.5V9.5V4V2ZM9.5 14.5H4V20H9.5V14.5ZM4 12.5H2V14.5V20V22H4H9.5H11.5V20V14.5V12.5H9.5H4ZM14.5 14.5H20V20H14.5V14.5ZM12.5 12.5H14.5H20H22V14.5V20V22H20H14.5H12.5V20V14.5V12.5Z" fill="#001A69"></path>
                        </svg>
                    </button>
                    <span>|</span>
                    <button aria-label="View results as list" type="button" class="btn" label="List" v-on:click="sageHw.swapToListView" id="btn-change-list-view">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path id="list-icon" fill-rule="evenodd" clip-rule="evenodd" d="M20 4H4V6H20V4ZM4 2H2V4V6V8H4H20H22V6V4V2H20H4ZM20 18H4V20H20V18ZM4 16H2V18V20V22H4H20H22V20V18V16H20H4ZM4 11H20V13H4V11ZM2 9H4H20H22V11V13V15H20H4H2V13V11V9Z" fill="#888888"></path>
                        </svg>
                    </button>
                </div>
            </div>
        </div>

        <div class="row">
            <div class="col">
                <banner></banner>
            </div>
        </div>

        <div class="row">
            <div class="col-md-3" id="filters-panel">
                <div class="search-filters">
                    <nav class="navbar navbar-expand-md p-0">
                        <div class="navbar-collapse collapse" id="searchFilters" style="">
                            <div class="d-flex justify-content-between align-items-center p-3 d-md-none">
                                <div class="h-m fw-semibold collapsed" data-bs-toggle="collapse" data-bs-target="#searchFilters" aria-controls="searchFilters" aria-expanded="false" aria-label="Toggle filters">
                                    Hide Filters
                                </div>
                                <button class="btn close collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#searchFilters" aria-controls="searchFilters" aria-expanded="false" aria-label="Toggle filters">
                                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                        <path d="M0.5 0.5L23.3 23.3M23.3 0.5L0.50001 23.3" stroke="#001A69" stroke-linecap="round"></path>
                                    </svg>
                                </button>
                            </div>
                            <hr class="mx-3 my-0 d-md-none">
                            <div class="search-filters-content">
                                <div class="container py-3 p-md-0">
                                    <div class="alert alert-primary bg-primary-100 border-0 shadow-1 p-3 mb-3 d-flex align-items-center">
                                        <span class="bi bi-info-circle-fill bi-md text-primary"></span>
                                        <div class="mx-2 text-md">
                                            Refine your results — the page updates automatically when you apply a filter.
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col">
                                            <div class="d-none d-md-block">
                                                <search-box />
                                            </div>
                                            <div>
                                                <facet-list />
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </nav>
                </div>
            </div>
            <div class="col-md-9" id="results-panel">
                <template v-if="searchError">
                    <span>{{ $t('response_error_generic') }}</span>
                </template>
                <template v-else-if="searchOutput && searchOutput.Results && searchOutput.Results.length == 0">
                    <div class="d-flex align-items-center justify-content-center p-1">
                        <span class="h-s text-body fw-semibold">{{ $t('No Results') }}</span>
                    </div>
                </template>
                <template v-else-if="!waitingForInitialSearch">
                    <result-listing class="row" />
                    <tool-row />
                </template>
            </div>
        </div>
    </div>
</script>

    



    <script src="https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.12.2/lottie.min.js"></script>
<div id="sage-fetch-loader" class="loader-lg">
    <div class="loader-inner"></div>
</div>
<div aria-live="assertive" aria-atomic="true" class="visually-hidden" id="global-bs-modal-announcer"></div>
<div aria-live="assertive" aria-atomic="true" class="visually-hidden" id="global-sr-announcer"></div>
<script id="PersonalizationTracker" type="application/json">{"IsPagePersonalizationTarget":false,"IsUrlPersonalizationTarget":false,"PageId":"b8dfc457-c02b-4fc4-8614-957a33b1e0e6"}</script><script src="/WebResource.axd?d=NjxTqR2bqTw1rewxxlkHPj11z54WYQDTslIsMCe95Z_VLnRfBanMVhetl4clzaW3GIxskyG9nR51oP7TRR1zixdUnCnwb4-efXQQ6pw1lV3xXfowJrG0wiBo7hKO3sefQnR5E6jZgqK398iS0FdmP-rYRzutU4RcRVOHFFb50UptVAlWpzoDJ_9FdutxMrHMfq-vIn4_0BZEkKS82dCDH-ucLILDd1zO59sBjeswa0o1&amp;t=639013907760000000" type="text/javascript"></script><script id="sf-insight-settings" type="application/json">{"apiServerUrl":"https://api.insight.sitefinity.com","apiKey":"5110a03a-a919-9c5f-581d-22586f83b5fd","applicationName":"Website","trackingCookieDomain":".sagepub.com","keepDecTrackingCookieOnTrackingConsentRejection":false,"slidingExpirationForTrackingCookie":false,"maxAgeForTrackingCookieInDays":365,"trackYouTubeVideos":true,"crossDomainTrackingEntries":["checkout-usd.sagepub.com","www.sagepub.com"],"strategy":"Persist|False","docsHrefTestExpressions":[".*\\/docs\\/.+\\.{1}.+((\\?|\\\u0026)sfvrsn=.+){1}$",".+((\\?|\\\u0026)sf_dm_key=.+){1}$"],"sessionLengthInMinutes":30,"trackVimeoVideos":true,"useSecureCookies":true}</script><script id="sf-insight-metadata" type="application/json">{"contentMetadata":"{\"Id\":\"b8dfc457-c02b-4fc4-8614-957a33b1e0e6\",\"ContentType\":\"Page\",\"Title\":\"404 - Page Not Found\",\"CanonicalTitle\":\"404 - Page Not Found\",\"CanonicalUrl\":\"https://www.sagepub.com/404\",\"DefaultLanguage\":\"en\",\"CreatedOn\":\"2024-06-13T19:34:13Z\",\"ModifiedOn\":\"2026-04-01T19:29:33.843Z\",\"SiteId\":\"21692f7c-500c-43a3-b8b8-efa4efeaf6ff\",\"SiteName\":\"Default\",\"PageHierarchies\":[{\"Id\":\"9a5cb7dd-5456-4e4a-8f4e-6e7eb39f5387\",\"Title\":\"NONE\",\"Parent\":{\"Id\":\"1ddf5ecc-37f8-47c2-8fb4-02cd0fff6205\",\"Title\":\"Sage Business Area\"}}],\"PageId\":\"b8dfc457-c02b-4fc4-8614-957a33b1e0e6\"}","videosMetadata":"[]"}</script><script src="/WebResource.axd?d=HtQyXelCu6mzSPcVcvK_Bl3WywIB65351hXFDBfmOR8kk90ePBZJW73D0vEBjH2zPW1qnl8_gIawSb27H8b9HOM5q5X60nn8pmG_eeWNHPqWjpO7UYiLuq3ywEb1DmK47QUrnqeW-HA36UgWp3Q2Oyyq5mJilMHGzy6K1PFxxvQBQ6nF9UVJqqw4_UFvBiHTInztiGzk7YH8W-z2K1NA6iOVp463BvonWfvSAOG2Iik1&amp;t=639013907060000000" type="text/javascript"></script><script async="async" crossorigin="" src="https://cdn.insight.sitefinity.com/sdk/sitefinity-insight-client.min.3.1.44.js" type="text/javascript"></script><script id="1898741384" src="/sfrenderer/scripts/LinkToAnchor/link-to-anchor.min.js?assembly_name=CoreWeb.Sitefinity.Widgets&amp;package_name=Global&amp;version=555345334" type="text/javascript"></script></body>
</html>
